KR100911058B1 - Method of finding metadata server - Google Patents

Method of finding metadata server Download PDF

Info

Publication number
KR100911058B1
KR100911058B1 KR1020070119824A KR20070119824A KR100911058B1 KR 100911058 B1 KR100911058 B1 KR 100911058B1 KR 1020070119824 A KR1020070119824 A KR 1020070119824A KR 20070119824 A KR20070119824 A KR 20070119824A KR 100911058 B1 KR100911058 B1 KR 100911058B1
Authority
KR
South Korea
Prior art keywords
server
metadata
location
location server
resource
Prior art date
Application number
KR1020070119824A
Other languages
Korean (ko)
Other versions
KR20090053146A (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 KR1020070119824A priority Critical patent/KR100911058B1/en
Priority to US12/176,721 priority patent/US20090138444A1/en
Publication of KR20090053146A publication Critical patent/KR20090053146A/en
Application granted granted Critical
Publication of KR100911058B1 publication Critical patent/KR100911058B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Abstract

본 발명은 분산 환경(Distributed Environment)에서 USN(Ubiquitous Sensor Network) 메타데이터 서버를 검색하는 메타데이터 서버 검색 방법에 관한 것이다.The present invention relates to a metadata server search method for searching a Ubiquitous Sensor Network (USN) metadata server in a distributed environment.

본 발명은 분산 환경에서 위치 서버 클러스터를 이용하여 메타데이터 서버의 위치 정보를 저장하고, 클라이언트의 메타데이터 검색 요청 시에, 특정 자원의 메타데이터가 저장된 메타데이터 서버의 위치를 검색하는 것을 특징으로 한다.The present invention is characterized in that for storing the location information of the metadata server using a location server cluster in a distributed environment, and when the client metadata search request, the location of the metadata server in which the metadata of a specific resource is stored .

이에, 본 발명은 메타데이터 서버를 사용하는 클라이언트에게 메타데이터 서버 측면에서 단순하고 일관된 인터페이스를 제공할 수 있으며, 또한 서비스 개발의 투명성을 높이고 개발에 소요되는 전체 비용 및 유지 보수비용을 절감시킬 수 있다.Thus, the present invention can provide a simple and consistent interface to the client using the metadata server in terms of the metadata server, and also increase the transparency of service development and reduce the overall cost and maintenance cost required for the development. .

USN, 센서, 센서 네트워크, 메타데이터, 디렉토리, 위치서버, 단대단구조, 계층구조 USN, Sensor, Sensor Network, Metadata, Directory, Location Server, End-to-End, Hierarchy

Description

메타데이터 서버 검색 방법{METHOD OF FINDING METADATA SERVER}How to Retrieve Metadata Servers {METHOD OF FINDING METADATA SERVER}

본 발명은 메타데이터 서버(Meta-data Server)의 검색 방법에 관한 것으로, 특히 분산 환경(Distributed Environment)에서 USN(Ubiquitous Sensor Network) 메타데이터 서버를 검색하는 메타데이터 서버 검색 방법에 관한 것이다.The present invention relates to a metadata server search method, and more particularly, to a metadata server search method for searching a Ubiquitous Sensor Network (USN) metadata server in a distributed environment.

본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-022-02, 과제명: USN 미들웨어 플랫폼 기술개발].The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development (Task Management Number: 2006-S-022-02, Task name: USN middleware platform technology development).

USN은 'Ubiquitous Sensor Network'의 약자로, 인간의 생활공간, 생활기기, 기계 등의 모든 사물에 센싱 기능, 컴퓨팅 기능, 네트워크 기능을 부여하여, 환경과 상황의 자동인지를 통해 인간에게 최적의 기능을 제공함으로써, 인간 생활의 편리성과 안전성을 고도화하도록 하는 네트워크를 말한다. 이러한 USN은 다양한 분야에 대해 자동화가 가능하게 하며, 이러한 기술을 통해 텔레매틱스, 홈네트워크, 재고관리, 환자관리, 동물관리, 자연재해관리, ITS 시스템 등과 같이 인간에게 편리한 다양한 서비스를 제공할 수 있다.USN stands for 'Ubiquitous Sensor Network', which provides sensing functions, computing functions, and network functions to all objects such as human living spaces, living devices, and machines. By providing a network, it refers to a network that allows to enhance the convenience and safety of human life. The USN enables automation in various fields, and through this technology, it is possible to provide various services convenient to humans such as telematics, home network, inventory management, patient management, animal management, natural disaster management, and ITS system.

유비쿼터스 환경의 실현을 위한 센서 네트워크는 주로 무선 센서 노드들로 이루어지고 통신기능을 탑재한 네트워크를 의미한다. 이러한 센서 네트워크는 일반적으로 센서 노드들이 조밀하게 분포되어 센싱 및 데이터 전달의 실패를 보정하고 있으며, 브로드캐스트 방식의 통신을 기반으로 데이터를 전송하고 있다. 또한, 무선의 소형 센서 노드를 사용하여 제한된 전력, 메모리, 연산 능력을 가지는 것이 센서 네트워크의 특징이다.The sensor network for realizing a ubiquitous environment refers to a network mainly composed of wireless sensor nodes and equipped with a communication function. Such sensor networks generally have densely distributed sensor nodes to compensate for failures in sensing and data delivery, and transmit data based on broadcast communications. It is also a feature of sensor networks to have limited power, memory, and computing power using wireless, small sensor nodes.

센서 네트워크를 이용하여 시스템을 구축할 때에는 하부 기술을 모두 이해하고 사용하기 어렵기 때문에, USN 미들웨어와 센서 노드 미들웨어가 개발되어 센서 네트워크 기반의 시스템 구축이 점점 더 용이해 지고 있다.When building a system using a sensor network, it is difficult to understand and use all the underlying technologies. Therefore, USN middleware and sensor node middleware have been developed to make it easier to build a system based on a sensor network.

이때, USN 미들웨어는 이기종 센서 네트워크로부터 수집한 센싱 데이터를 필터링, 통합, 분석하여 의미 있는 상황정보를 추출, 저장, 관리, 검색하고, 응용서비스로 전달하거나 서비스간의 연계 및 통합하는 역할을 담당한다.At this time, USN middleware is responsible for filtering, integrating, and analyzing sensing data collected from heterogeneous sensor networks to extract, store, manage, and search for meaningful context information, and transfer it to application services or to link and integrate services.

센서 노드 미들웨어는 다양한 센서 응용 소프트웨어와 운영체제 및 네트워크 기능 사이에 존재하며, 유지보수, 설치/배포, 응용 수행에 필요한 제반 사항을 지원하며, 센서 노드 및 싱크노드에 탑재되어 센서 네트워크의 프로그램 갱신, 응용 변화에 따른 프로그래밍 조정의 기능을 수행한다. 또한, 센서 노드 미들웨어는 센서 노드 및 싱크노드에서 측정되는 센싱 데이터에 대한 데이터베이스, 데이터 보관 관리, 다양한 응용에 적합한 데이터 운용 및 처리기능 데이터 융합 기능을 담당한다.Sensor node middleware exists between various sensor application softwares, operating systems and network functions, and supports various requirements for maintenance, installation / deployment, and application execution.It is installed on sensor nodes and sink nodes to update and apply the sensor network program. Perform the function of programming adjustment according to the change. In addition, the sensor node middleware is responsible for the database, data storage management, and data management and processing function data fusion functions suitable for various applications.

일반적으로, USN 기반의 시스템을 구축할 때에 구축한 시스템 내부에 센서 네트워크의 메타데이터를 관리하는 시스템을 포함하여 구축한다. 현재 시스템에 어 떤 종류의 센서 네트워크가 연결되어 있는지, 센서 네트워크의 위치, 기능, 접속방법, 운영방법 등에 대한 정보와, 센서 네트워크가 포함하고 있는 센서 노드 및 각 센서 노드의 센싱 종류, 센싱 데이터, 센서의 위치 등에 대한 정보를 관리하는 메타데이터 관리 시스템을 구축하여, 미들웨어 또는 응용프로그램에서 센서 네트워크에 대한 정보를 활용할 수 있도록 한다.In general, when constructing a USN-based system, the system includes a system for managing metadata of a sensor network in the system. Information about what kind of sensor network is connected to the system, sensor network location, function, connection method, operation method, sensor node included in sensor network, sensing type of each sensor node, sensing data, By establishing a metadata management system that manages information about the location of sensors, middleware or application programs can utilize information about sensor networks.

이러한 메타데이터 관리 시스템은 별도의 시스템으로 구성되기도 하고 단순히 데이터베이스 형태로 존재하여 관련된 시스템이 접근하여 필요한 메타데이터를 등록, 조회, 수정 등의 작업을 수행한다.Such a metadata management system may be configured as a separate system or simply exist in the form of a database so that related systems can access and register, inquire and modify necessary metadata.

하지만 이러한 시스템에서의 메타데이터 관리는 모두 좁은 지역에서 적은 수의 센서를 이용해서 사용하는데 적합하도록 한 대의 시스템에서 이루어지고 있다. 향후 센서가 넓은 지역에 많이 설치되어 이기종의 광역/분산 센서 네트워크 환경에서 센서 네트워크의 메타데이터를 관리하고 제공할 수 없는 형태이다.However, metadata management in these systems is all done in one system, making it suitable for use with a small number of sensors in a small area. In the future, many sensors will be installed in a large area, so that metadata of sensor networks cannot be managed and provided in heterogeneous wide area / distributed sensor network environments.

본 발명이 이루고자 하는 기술적 과제는, 전술한 바와 같은 문제점을 해결하기 위한 것으로, 분산 환경에서 USN 메타데이터 서버를 검색하는 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-described problems, and provides a method for searching a USN metadata server in a distributed environment.

그리고 본 발명은 많은 센서들이 존재하는 광역의 분산 환경에서 센서와 센서 네트워크의 메타데이터를 관리하는 시스템이 다수 존재할 때, 특정 센서의 메타데이터를 검색하기 위해 해당 센서의 메타데이터를 관리하는 메타데이터 관리 서버의 위치를 검색하는 것을 목적으로 한다.In the present invention, when there are a plurality of systems for managing metadata of a sensor and a sensor network in a wide-area distributed environment in which many sensors exist, metadata management for managing metadata of a corresponding sensor to retrieve metadata of a specific sensor It aims to retrieve the server's location.

이러한 과제를 해결하기 위해, 본 발명에 따르면, 센서 또는 센서 네트워크를 사용하는 시스템에서 센서를 이용하기 위해 센서와 해당 센서로 이루어진 센서 네트워크에 대한 정보가 필요하므로, 많은 센서가 넓게 퍼져 있고 여러 대의 메타데이터 관리 서버가 각각의 센서 네트워크에 대한 메타데이터를 관리하는 광역 및 분산 환경에서 특정 센서 네트워크 자원의 메타데이터를 관리하는 메타데이터 관리 서버를 찾는 방법을 구현한다.In order to solve this problem, according to the present invention, in order to use a sensor in a system using a sensor or a sensor network, information about a sensor and a sensor network including the sensor is required, so that many sensors are widely spread and multiple meta Implement a method of finding a metadata management server that manages metadata of specific sensor network resources in a wide area and distributed environment where the data management server manages metadata for each sensor network.

본 발명의 한 특징에 따르면, 분산 환경에서 메타데이터 서버를 검색하는 방법에 있어서, 위치 서버 클러스터를 이용하여 메타데이터 서버의 위치 정보를 저장하는 단계, 그리고 클라이언트의 메타데이터 검색 요청 시에, 특정 자원의 메타데이터가 저장된 메타데이터 서버의 위치를 검색하는 단계를 포함하는 메타데이터 서 버 검색 방법을 제공한다.According to an aspect of the present invention, there is provided a method for searching a metadata server in a distributed environment, the method comprising: storing location information of a metadata server using a location server cluster, and upon requesting a metadata search of a client, a specific resource It provides a metadata server search method comprising the step of searching for the location of the metadata server is stored metadata.

여기서, 상기 위치 정보는, 상기 메타데이터가 설명하는 자원의 ID와 상기 메타데이터가 저장된 메타데이터 관리 서버의 접속 정보의 쌍을 의미한다. 또한, 상기 위치 서버 클러스터는, 하나 또는 복수 개의 메타데이터 위치 서버를 사용한다.Here, the location information refers to a pair of ID of a resource described by the metadata and connection information of a metadata management server in which the metadata is stored. The location server cluster also uses one or a plurality of metadata location servers.

그리고 이러한 메타데이터 서버 검색 방법은, 상기 메타데이터 위치 서버들 간에 유기적으로 정보를 교환하여 상기 메타데이터를 관리하는 메타데이터 서버의 주소를 제공할 수 있는 서버들의 집합인 메타데이터 위치 서버군을 구성하여 운영하는 단계를 더 포함한다.The metadata server search method comprises a metadata location server group, which is a set of servers capable of providing an address of a metadata server managing the metadata by organically exchanging information between the metadata location servers. It further comprises the step of operating.

이때, 상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는, 계층구조를 이용하여 상기 메타데이터 위치 서버군을 구성하여 운영한다. 다르게는, 상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는, 단대단 구조를 이용하여 상기 메타데이터 위치 서버군을 구성하여 운영한다. 또한 다르게는, 상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는, 계층구조, 단대단 구조를 조합하여 상기 메타데이터 위치 서버군을 구성하여 운영한다.In this case, configuring and operating the metadata location server group may be performed by configuring the metadata location server group using a hierarchical structure. Alternatively, the configuring and operating the metadata location server group may be performed by configuring the metadata location server group using an end-to-end structure. Alternatively, the configuring and operating the metadata location server group may be performed by configuring the metadata location server group by combining a hierarchical structure and an end-to-end structure.

그리고 이러한 메타데이터 서버 검색 방법은, 상기 메타데이터 위치 서버가 상기 메타데이터 서버로부터 메타데이터 서버 검색 요청을 수신받는 단계, 상기 메타데이터 서버로부터 받은 자원 ID가 로컬에 저장되어 있는지를 확인하는 단계, 그리고 상기 자원 ID가 로컬에 존재하면 이에 상응하는 메타데이터 서버의 위치 정보를 상기 메타데이터 서버로 돌려주는 단계를 더 포함한다.The metadata server search method may include: receiving, by the metadata location server, a metadata server search request from the metadata server, checking whether a resource ID received from the metadata server is stored locally, and If the resource ID exists locally, returning location information of the corresponding metadata server to the metadata server.

또한, 그리고 이러한 메타데이터 서버 검색 방법은, 상기 자원 ID가 로컬에 존재하지 않으면, 상기 메타데이터 위치 서버군의 다른 메타데이터 위치 서버에게 상기 자원 ID를 전달하면서 그에 상응하는 메타데이터 서버의 검색을 요청하는 단계를 더 포함한다.In addition, and the metadata server search method, if the resource ID does not exist locally, it transmits the resource ID to the other metadata location server of the metadata location server group and requests the search of the corresponding metadata server It further comprises the step.

본 발명의 다른 특징에 따르면, 분산 환경에서 메타데이터 서버를 검색하는 방법에 있어서, 클라이언트의 메타데이터 검색 및 제공 요청 시에, 해당 요청에 상응하는 메타데이터를 관리하고 있는지를 확인하는 단계, 상기 메타데이터를 관리하고 있지 않은 경우에, 위치 서버를 이용하여 상기 메타데이터를 관리하는 메타데이터 서버의 위치 정보를 검색하도록 하는 단계, 그리고 상기 검색된 위치 정보를 이용하여 상기 메타데이터 서버에 접속하여 상기 요청을 전달한 후에 이에 대한 응답을 받아 상기 클라이언트로 전송하는 단계를 포함하는 메타데이터 서버 검색 방법을 제공한다.According to another aspect of the present invention, in a method for searching a metadata server in a distributed environment, when the client's request to search and provide metadata, confirming whether to manage the metadata corresponding to the request, the metadata If the data is not being managed, using the location server to retrieve location information of the metadata server managing the metadata, and accessing the metadata server using the retrieved location information to perform the request. It provides a metadata server search method comprising the step of transmitting to the client after receiving the response.

그리고 이러한 메타데이터 서버 검색 방법은, 계층 구조의 메타데이터 위치 서버군에서 로컬 위치 서버가 상기 메타데이터 서버를 통해 메타데이터 서버 검색 요청과 함께 자원의 ID를 수신받는 단계, 상기 로컬 위치 서버는 상기 자원 ID가 자신의 담당 영역에 속하는지를 판단하는 단계, 상기 자원 ID가 자신의 담당 영역에 속하지 않으면, 상기 로컬 위치 서버는 차기 위치 등록 서버로 자신의 부모 위치 서버를 지정하는 단계, 상기 로컬 위치 서버는 상기 차기 위치 등록 서버에 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계, 상기 차기 위치 등록 서버가 상기 로컬 위치 서버로부터 상기 자원 ID를 전송받아 자신의 담당 영 역에 속하는지를 판단하는 단계, 상기 전송받은 자원 ID가 자신의 담당 영역에 속하면, 상기 차기 위치 등록 서버는 자신이 ID-IP 쌍을 저장하고 있는 종단 위치 등록 서버인지를 판단하는 단계, 그리고 상기 종단 위치 등록 서버라면, 상기 자원 ID에 대한 메타데이터를 관리하는 메타데이터 서버의 IP 주소를 상기 로컬 위치 서버로 돌려주는 단계를 더 포함한다.In the metadata server search method, a local location server in a hierarchy of metadata location servers receives an ID of a resource together with a metadata server search request through the metadata server. Determining whether the ID belongs to its own area, and if the resource ID does not belong to its own area, the local location server designates its parent location server as a next location registration server; Transmitting the resource ID to the next location registration server together with a metadata server search request, determining whether the next location registration server receives the resource ID from the local location server and belongs to its own area; If the received resource ID belongs to its own area, the next location registration server Determining whether the server is an end location registration server that stores an ID-IP pair; and, if the end location registration server is configured, converting an IP address of a metadata server managing metadata for the resource ID to the local location server. The method further includes returning to.

또한, 이러한 메타데이터 서버 검색 방법은, 상기 종단 위치 등록 서버가 아닌 경우, 상기 자원 ID에 해당하는 하위 계층의 위치 등록 서버를 찾아내어 그 자식 위치 서버의 IP 주소를 상기 로컬 위치 서버에게 돌려주는 단계, 그리고 상기 로컬 위치 서버는 상기 IP 주소를 차기 위치 등록 서버로 하고, 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 해당 차기 위치 등록 서버에 전송하는 단계를 더 포함한다.In addition, if the metadata server search method is not the end location registration server, finding a location registration server of a lower layer corresponding to the resource ID and returning the IP address of the child location server to the local location server. And the local location server further comprises the step of sending the IP address to the next location registration server, and transmitting the resource ID with the metadata server search request to the next location registration server.

다르게는, 이러한 메타데이터 서버 검색 방법은, 단대단 구조의 메타데이터 위치 서버군에서 로컬 위치 서버 자신이 자원의 ID를 담당하는지를 확인하는 단계, 상기 자원 ID를 담당하지 않으면, 상기 로컬 위치 서버 자신을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계, 상기 차기 위치 서버는 상기 자원 ID를 수신받아 해당 수신받은 자원 ID가 자신이 담당하는지를 확인하는 단계, 상기 수신받은 자원 ID를 담당하지 않으면, 상기 차기 위치 서버는 자신의 핑거 테이블에서 상기 자원 ID가 존재하는 영역에 해당하는 값을 찾는 단계, 상기 차기 위치 서버는 상기 찾은 값에 해당하는 노드의 IP 주소를 상기 로컬 위치 서버에 돌려주는 단계, 상기 로컬 위치 서버는 상기 IP 주소를 수신받아 이것을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계를 더 포함한다.Alternatively, the metadata server searching method may include checking whether the local location server itself is responsible for the resource ID in the end-to-end structure of the metadata location server group. Transmitting the resource ID with the metadata server search request to the next location server, and the next location server receives the resource ID and checks whether the received resource ID is in charge of the next location server. If not, the next location server finds a value corresponding to an area in which the resource ID exists in its finger table, and the next location server sets the IP of the node corresponding to the found value. Returning the address to the local location server, the local location server receives the IP address and A further comprises the step of transmitting with the resource ID and meta data server search request to the next location server, the next location server, and to.

또한, 이러한 메타데이터 서버 검색 방법은, 상기 수신받은 자원 ID를 상기 차기 위치 서버 자신이 담당하면, 상기 차기 위치 서버는 자신의 IP 주소를 상기 로컬 위치 서버에 돌려주는 단계를 더 포함한다.In addition, the metadata server search method further includes the step of returning its own IP address to the local location server if the next location server itself is responsible for the received resource ID.

그리고 이러한 메타데이터 서버 검색 방법은, 상기 위치 서버군에서 새로운 위치 서버가 추가되면, 새로운 위치 서버는 상기 위치 서버군에 존재하는 하나의 위치 서버에 대한 정보를 얻는 단계, 상기 새로운 위치 서버는 상기 얻은 위치 서버에게 자신의 ID를 전송하여 이 ID를 포함하는 영역을 담당하는 메타데이터 서버의 검색을 요청하는 단계, 상기 얻은 위치 서버는 자신이 상기 ID를 담당하는지를 확인하는 단계, 상기 얻은 위치 서버 자신이 상기 ID를 담당하지 않으면, 상기 얻은 위치 서버는 자신의 핑거 테이블에서 상기 ID가 존재하는 영역에 해당하는 값을 찾는 단계, 상기 얻은 위치 서버는 상기 찾은 값에 해당하는 노드의 IP 주소를 상기 새로운 위치 서버에 돌려주는 단계, 상기 새로운 위치 서버는 상기 IP 주소를 수신받아 이것을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계, 상기 차기 위치 서버는 상기 ID를 수신받아 해당 수신받은 ID가 자신이 담당하는지를 확인하는 단계, 상기 수신받은 ID를 상기 차기 위치 서버 자신이 담당하면, 상기 차기 위치 서버는 자신의 IP 주소를 상기 새로운 위치 서버에 돌려주는 단계, 상기 새로운 위치 서버는 상기 차기 위치 서버에게 영역 분할을 요청하는 단계, 상기 차기 위치 서버는 자신의 영역을 반으로 분할하여, 한쪽을 상기 새로운 위치 서버에게 양도하고 다른 쪽을 담당하는 단계, 상기 차기 위치 서버는 자신의 모든 핑거 테이블 정보를 상기 새로운 위치 서버에게 제공하고, 자신의 이전 노드 포인터를 상기 새로운 위치 서버로 수정하는 단계, 상기 새로운 위치 서버는 상기 차기 위치 서버의 이전 노드 포인터에 접속하여 이 노드의 다음 노드 포인터를 상기 새로운 위치 서버로 변경할 것을 요청하는 단계, 상기 새로운 위치 서버는 자신의 이전 노드 포인터를 상기 차기 위치 서버의 이전 노드 포인터로 하고, 다음 노드 포인터를 상기 차기 위치 서버로 하는 단계, 그리고 상기 새로운 위치 서버는 상기 핑거 테이블 정보를 바탕으로 자신의 핑거 테이블을 수정하는 단계를 더 포함한다.The metadata server search method may further include: when a new location server is added to the location server group, the new location server obtains information about one location server existing in the location server group, and the new location server obtains the obtained location server. Requesting the location server to search for the metadata server in charge of the area containing the ID, and the obtained location server confirms whether it is responsible for the ID, and the obtained location server itself If the ID is not in charge, the obtained location server finds a value corresponding to the area where the ID exists in its finger table, and the obtained location server uses the IP address of the node corresponding to the found value as the new location. Returning to the server, the new location server receives the IP address and stores it as the next location And transmitting the ID to the next location server together with the metadata server search request, wherein the next location server receives the ID and checks whether the received ID is in charge of the received location server. If the next location server itself is responsible, the next location server returns its IP address to the new location server, the new location server requests the next location server to divide the area, and the next location server Dividing its area in half, handing one side to the new location server and in charge of the other, the next location server provides all of its finger table information to the new location server, and its previous node pointer Modifying the new location server to the new location server; Requesting to change the next node pointer of this node to the new location server by connecting to the previous node pointer of the new location server, the new location server making its previous node pointer the previous node pointer of the next location server, and the next node pointer. Making the next location server, and the new location server further includes modifying its own finger table based on the finger table information.

여기서, 이러한 메타데이터 서버 검색 방법은, 주기적으로 자신의 핑거 테이블의 엔트리의 노드를 새로 찾아서 핑거 테이블을 수정하는 단계를 더 포함한다. 또한, 이러한 메타데이터 서버 검색 방법은, 검색 시 평균 노드 방문 횟수가 일정 값 이상인 경우에 자신의 핑거 테이블의 엔트리의 노드를 새로 찾아서 핑거 테이블을 수정하는 단계를 더 포함한다. 또한, 이러한 메타데이터 서버 검색 방법은, 매번 검색 시 중간에 리턴되는 IP 주소와 더불어 그 위치 서버의 담당 영역을 같이 돌려주게 하여 이 내용을 바탕으로 자신의 핑거 테이블을 수정하는 단계를 더 포함한다.Here, the metadata server search method further includes periodically finding a node of an entry of its finger table and modifying the finger table. The metadata server search method may further include modifying the finger table by finding a node of an entry of its own finger table when the average node visit count is a predetermined value or more during the search. In addition, the metadata server search method further includes the step of modifying its finger table based on the contents by returning the area of responsibility of the location server together with the IP address returned in the middle of each search.

이와 같이 본 발명에 의하면, 메타데이터 관리 서버를 사용하는 클라이언트에게 메타데이터 서버 측면에서 단순하고 일관된 인터페이스를 제공할 수 있으며, 또한 개발자 및 클라이언트 프로그램이 분산된 광역의 센서 네트워크 환경에서 USN 시스템의 개발을 용이하도록 하며, 이에 궁극적으로는 서비스 개발의 투명성을 높이고 개발에 소요되는 전체 비용 및 유지 보수비용을 절감시킬 수 있다.As described above, according to the present invention, it is possible to provide a client using the metadata management server with a simple and consistent interface in terms of metadata server, and also to develop the USN system in a wide sensor network environment in which developers and client programs are distributed. This will increase the transparency of service development and ultimately reduce the overall and maintenance costs of development.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “… module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. Can be.

많은 센서들이 존재하고 많은 센서들을 사용하는 시스템은, 센서들에서 읽어오는 센싱 값 외에도 센서 및 센서 네트워크에 대한 메타데이터를 알고 있어야만 시스템이 원하는 센서에서 원하는 정보를 읽어오고 제어를 수행할 수 있다. 또한, 하나의 메타데이터 관리 서버에서 모든 메타데이터를 관리할 수 없는 광역의 센서 네트워크 및 분산 환경에서는, 여러 대의 메타데이터 관리 서버가 존재하고 특정 센서에 해당하는 메타데이터가 어느 메타데이터 관리 서버에 의해서 관리되는지를 알아내는 것이 필수적이라고 할 수 있다.In a system with many sensors and using many sensors, in addition to the sensing values read from the sensors, the system and the sensor network must know the metadata so that the system can read and control the desired information from the desired sensor. In addition, in a wide sensor network and distributed environment in which all metadata cannot be managed by one metadata management server, multiple metadata management servers exist, and metadata corresponding to a specific sensor is stored by a metadata management server. Finding out if it's managed is essential.

이에, 본 발명은 많은 센서들이 존재하는 광역의 분산 환경에서 센서와 센서 네트워크의 메타데이터를 관리하는 시스템이 다수 존재할 때, 특정 센서의 메타데이터를 검색하기 위해 해당 센서의 메타데이터를 관리하는 메타데이터 관리 서버의 위치를 검색하는 방법을 구현하도록 한다. 이때, 본 발명은 복수 개의 센서 네트워크 메타데이터 관리 서버들 간의 연동을 통한 센서 네트워크 메타데이터 공유를 위해 이용된다.Accordingly, in the present invention, when there are a plurality of systems for managing metadata of a sensor and a sensor network in a wide-area distributed environment in which many sensors exist, metadata for managing metadata of a corresponding sensor to retrieve metadata of a specific sensor is present. Implement a way to retrieve the location of the management server. In this case, the present invention is used for sensor network metadata sharing through interworking among a plurality of sensor network metadata management servers.

본 발명은 센서 네트워크 자원(즉, 센서 네트워크, 센서 노드, 센서, 액츄에이터, 센싱타입 등)의 ID를 입력으로 받아 해당 자원의 메타데이터를 관리하는 메타데이터 관리 서버의 주소를 찾는다. 이때, 본 발명은 3가지 모델(즉, 중앙 집중형, 트리형, 단대단형)을 제시하고 그 모델을 조합해서 사용하며, 단말 노드에만 검색 대상의 값들이 존재한다. 이에 따라, 본 발명은 분산 환경에서 광역의 센서 네트워크를 대상으로 로컬에서 관리하지 않는 메타데이터를 로컬에서 관리하는 메타데이터처럼 제공할 수 있다.The present invention receives an ID of a sensor network resource (ie, a sensor network, a sensor node, a sensor, an actuator, a sensing type, etc.) as an input, and finds an address of a metadata management server managing metadata of the corresponding resource. In this case, the present invention proposes three models (ie, centralized, tree, and end-to-end) and uses a combination of the models, and only the terminal nodes have search target values. Accordingly, the present invention can provide metadata, which is not locally managed, for a sensor network of a wide area in a distributed environment as metadata that is locally managed.

그리고 본 발명은 분산 환경에서 여러 메타데이터 서버가 존재하고 메타데이터의 위치정보를 갖고 있는 위치서버가 다수 존재할 때, 특정 메타데이터를 관리하는 메타데이터 서버를 찾도록 한다. 이때, 본 발명은 중앙집중식, 계층적 구조, 단대단 구조, 조합형 구조 등과 같은 자원의 ID를 이용해서 메타데이터를 관리하는 서버를 검색한다. 이에 따라, 본 발명은 클라이언트가 메타데이터 관리 서버를 이용할 때 그 메타데이터 관리 서버에서 모든 메타데이터가 관리되는 것처럼 보이도록 해 준다.In the present invention, when multiple metadata servers exist in a distributed environment and a plurality of location servers having location information of metadata exist, the present invention searches for a metadata server managing specific metadata. In this case, the present invention searches for a server that manages metadata using IDs of resources such as centralized, hierarchical, end-to-end, and combined structures. Accordingly, the present invention makes it appear as if all metadata is managed at the metadata management server when the client uses the metadata management server.

그리고 본 발명은 어느 디렉토리 서버를 활용해야 하는지, 디렉토리 서버를 찾는 것이다. 이때, 본 발명은 메타데이터 관리 서버가 여러 개인 경우에 메타데이터 관리 서버를 검색하는데, 센서 네트워크의 자원들에 대한 메타데이터가 분산 환경에서 여러 시스템에 의해 관리될 때에 메타데이터 관리 서버를 찾도록 한다.The present invention is to find a directory server which directory server to use. In this case, the present invention searches for a metadata management server when there are several metadata management servers. When metadata of resources of a sensor network are managed by various systems in a distributed environment, the metadata management server is searched for. .

그리고 본 발명은 여러 가지 형태의 분산 룩업 시스템(Lookup System)을 이용하여 분산 디렉토리 서버를 구성하도록 한다. 이때, 본 발명은 다양한 룩업 기법(3가지)을 활용하여 분산 메타데이터를 검색한다.In addition, the present invention configures a distributed directory server using various types of distributed lookup systems. In this case, the present invention searches distributed metadata using various lookup techniques (3 types).

이제 본 발명의 실시 예에 따른 메타데이터 서버 검색 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.A metadata server search method according to an embodiment of the present invention will now be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 메타데이터 서버 검색 방법을 나타낸 흐름도이다.1 is a flowchart illustrating a metadata server search method according to an embodiment of the present invention.

본 발명의 실시 예에 따른 메타데이터 서버 검색 방법을 도 1을 참조하여 간단하게 설명하면 다음과 같다.A metadata server search method according to an embodiment of the present invention will be described briefly with reference to FIG. 1 as follows.

분산 환경에서 메타데이터 서버 검색 방법에 있어서, 위치 서버 클러스터를 이용하여 USN 메타데이터 서버의 위치 정보를 저장하고, 특정 자원의 메타데이터가 저장된 USN 메타데이터 서버의 위치를 검색하도록 한다. 여기서, 해당 위치 서버 클러스터는 하나 또는 복수 개의 메타데이터 위치 서버(103)를 사용하는 경우를 의 미한다.In a distributed metadata server search method, a location server cluster may be used to store location information of a USN metadata server and retrieve a location of a USN metadata server where metadata of a specific resource is stored. Here, the location server cluster refers to a case where one or more metadata location servers 103 are used.

즉, 분산 환경에서 센서 및 센서 네트워크에 대한 메타데이터를 필요로 하는 USN 클라이언트(101)(즉, 단말)가 메타데이터 관리 서버(102-1)에 접속하여 메타데이터 검색 및 제공을 요청할 때, 메타데이터 관리 서버(102-1)가 USN 클라이언트(101)의 메타데이터 검색 및 제공 요청에 상응하는 메타데이터를 관리하는지를 확인한다. 이때, USN 클라이언트(101)의 메타데이터 검색 및 제공 요청에 상응하는 메타데이터를 관리하지 않을 경우에, 메타데이터 관리 서버(102-1)는 메타데이터 위치 서버(103)에 접속하여 단말(101)의 메타데이터 검색 및 제공 요청에 상응하는 메타데이터를 관리하는 메타데이터 관리 서버(102-n)의 위치를 검색하도록 한다. 여기서, 위치 정보는 메타데이터가 설명하는 자원의 ID와 메타데이터가 저장된 메타데이터 관리 서버(102-n)의 접속 정보의 쌍을 의미한다.That is, when a USN client 101 (that is, a terminal) that requires metadata for a sensor and a sensor network in a distributed environment accesses the metadata management server 102-1 and requests metadata search and provision, the meta Confirm that the data management server 102-1 manages metadata corresponding to the metadata search and provision request of the USN client 101. In this case, when the metadata corresponding to the metadata search and provision request of the USN client 101 is not managed, the metadata management server 102-1 accesses the metadata location server 103 to the terminal 101. Search the location of the metadata management server 102-n that manages metadata corresponding to the metadata search and provision request of the server. Here, the location information means a pair of the ID of the resource described by the metadata and the connection information of the metadata management server 102-n in which the metadata is stored.

그런 후에, 메타데이터 관리 서버(102-1)는 검색 결과(즉, 메타데이터 관리 서버(102-n)의 주소정보)로 받은 메타데이터 관리 서버(102-n)에 접속하여 USN 클라이언트(101)의 메타데이터 검색 및 제공 요청을 전달한다. 그리고 메타데이터 관리 서버(102-1)는 USN 클라이언트(101)의 메타데이터 검색 및 제공 요청에 상응하는 응답을 받아, 검색 및 제공 요청에 상응하는 응답을 USN 클라이언트(101)로 전송하도록 한다.Thereafter, the metadata management server 102-1 accesses the metadata management server 102-n received as a search result (that is, address information of the metadata management server 102-n) and connects the USN client 101 to the metadata management server 102-1. Forwards metadata search and provisioning requests The metadata management server 102-1 receives a response corresponding to the metadata search and provision request of the USN client 101, and transmits a response corresponding to the search and provision request to the USN client 101.

여기서, 메타데이터 위치 서버(103)가 특정 메타데이터를 관리하는 메타데이터 관리 서버(102-1, 102-n)를 관리 및 검색하기 위해서, 메타데이터 위치 서버군을 구성하여 운영한다. 이때, 메타데이터 위치 서버군을 구성하는데 있어서 계층구 조를 이용하여 메타데이터 위치 서버군을 구성하여 운영한다. 또한, 계층구조를 이용한 메타데이터 위치 서버군에 있어서, 메타데이터 관리 서버(102-1, 102-n)의 물리적인 위치 정보를 이용하여 메타데이터 위치 서버군을 구성하여 운영한다.Here, the metadata location server 103 configures and operates the metadata location server group in order to manage and search the metadata management servers 102-1 and 102-n managing specific metadata. At this time, in configuring the metadata location server group, the metadata location server group is configured and operated using a hierarchical structure. In the metadata location server group using a hierarchical structure, the metadata location server group is configured and operated using the physical location information of the metadata management servers 102-1 and 102-n.

다르게는, 메타데이터 위치 서버군을 구성하는데 있어서 단대단 구조를 이용하여 메타데이터 위치 서버군을 구성하여 운영한다.Alternatively, in configuring the metadata location server group, the metadata location server group is configured and operated using an end-to-end structure.

또한 다르게는, 메타데이터 위치 서버군을 구성하는데 있어서 계층적 구조, 단대단 구조를 조합하여 메타데이터 위치 서버군을 구성하여 운영한다.Alternatively, in configuring the metadata location server group, the metadata location server group is configured and operated by combining a hierarchical structure and an end-to-end structure.

더욱이 다르게는, 메타데이터 위치 서버군을 구성하는데 있어서 중앙집중식 구조, 계층적 구조, 단대단 구조를 조합하여 메타데이터 위치 서버군을 구성하여 운영한다. 즉, 복수 개의 메타데이터 위치 서버(103)를 사용하는 경우, 메타데이터 위치 서버군은 계층적 구조와 단대단 구조, 또는 둘 이상의 구조를 조합한 구성을 모두 포괄한다.Furthermore, in configuring the metadata location server group, the metadata location server group is configured and operated by combining a centralized structure, a hierarchical structure, and an end-to-end structure. That is, when using a plurality of metadata location server 103, the metadata location server group includes both a hierarchical structure, an end-to-end structure, or a combination of two or more structures.

본 발명의 실시 예에 따른 메타데이터 서버 검색 방법을 다시 설명하면 다음과 같다.Referring to the metadata server search method according to an embodiment of the present invention again as follows.

USN 메타데이터를 요청하는 클라이언트(101)가 특정 메타데이터 관리 서버(102-1)에 접속하여 메타데이터를 요청한다. 메타데이터 관리 서버(102-1)가 USN 클라이언트(101)의 메타데이터 검색 및 제공 요청에 상응하는 메타데이터를 직접 관리하지 않을 경우, 메타데이터 위치 서버(103)를 이용해서 해당 메타데이터를 관리하는 메타데이터 관리 서버(102-n)의 주소를 받는다.A client 101 requesting USN metadata connects to a specific metadata management server 102-1 and requests metadata. If the metadata management server 102-1 does not directly manage metadata corresponding to the metadata search and provision request of the USN client 101, the metadata management server 102-1 manages the metadata using the metadata location server 103. It receives the address of the metadata management server 102-n.

메타데이터 관리 서버(102-1)는 그 주소정보를 이용하여 메타데이터 관리 서 버(102-n)에 접속하고, USN 클라이언트(101)로부터 받은 메타데이터 요청을 대신하여 해당 요청의 결과를 USN 클라이언트(101)에게 전달한다.The metadata management server 102-1 uses the address information to connect to the metadata management server 102-n and replace the metadata request received from the USN client 101 with the result of the request. Forward to 101.

이에, USN 클라이언트(101)는 필요로 하는 메타데이터가 어느 메타데이터 관리 서버(102-1, 102-n)에서 관리되는지, 어떻게 메타데이터 관리 서버(102-1, 102-n)를 찾는지, 그리고 다른 메타데이터 관리 서버(102-1, 102-n)에게 다시 동일한 메타데이터를 요청하는 등의 작업 수행을 불필요하게 한다.Accordingly, the USN client 101 determines which metadata management server 102-1, 102-n the metadata required is, how to find the metadata management server 102-1, 102-n, In addition, it is unnecessary to perform tasks such as requesting the same metadata again from the other metadata management servers 102-1 and 102-n.

이에 따라, 본 발명은 메타데이터 관리 서버(102-1, 102-n)를 사용하는 USN 클라이언트(101)에게 메타데이터 관리 서버(102-1, 102-n) 측면에서 단순하고 일관된 인터페이스를 제공할 수 있다. 또한, 본 발명은 USN 클라이언트(101)가 접속하는 메타데이터 관리 서버(102-1, 102-n)가 수없이 많은 센서 및 센서 네트워크의 메타데이터를 모두 관리하는 것처럼 보이도록 함으로써, 개발자 및 클라이언트 프로그램이 분산된 광역의 센서 네트워크 환경에서 USN 시스템의 개발을 용이하도록 한다. 이에, 궁극적으로는 서비스 개발의 투명성을 높이고 개발에 소요되는 전체 비용 및 유지 보수비용을 절감시킬 수 있다.Accordingly, the present invention provides a simple and consistent interface to the USN client 101 using the metadata management server 102-1, 102-n in terms of the metadata management server 102-1, 102-n. Can be. In addition, the present invention makes it possible for the metadata management servers 102-1 and 102-n to which the USN client 101 connects to manage all of the metadata of countless sensors and sensor networks, thereby making it possible for developers and client programs. It facilitates the development of USN system in this distributed wide area sensor network environment. As a result, it is possible to increase the transparency of service development and reduce the overall cost and maintenance cost required for development.

본 발명이 적용되는 USN 메타데이터 서버 검색 시스템을 이용하는 메타데이터 검색 시스템은, 도 1에 도시된 바와 같이, USN 클라이언트(101), 다수 개의 메타데이터 관리 서버(102-1, 102-n), 메타데이터 위치 서버(103)를 포함한다. 또한, 본 발명의 실시 예에 따른 메타데이터 검색 시스템은, USN 메타데이터를 필요로 하는 USN 시스템의 내부 시스템(설명의 편의상으로 도면에는 도시하지 않음)을 더 포함한다.Metadata retrieval system using the USN metadata server retrieval system to which the present invention is applied, as shown in Figure 1, USN client 101, a plurality of metadata management server (102-1, 102-n), meta Data location server 103. In addition, the metadata retrieval system according to an embodiment of the present invention further includes an internal system (not shown in the drawings for convenience of description) of the USN system that requires USN metadata.

USN 클라이언트(101)는 USN 미들웨어 또는 USN 응용프로그램이 될 수 있으며, 센서 네트워크 자원의 ID를 이용하여 해당 자원에 대한 메타데이터의 검색을 메타데이터 관리 서버(102-1, 102-n)에게 요청하여, 메타데이터 관리 서버(102-1, 102-n)로부터 메타데이터를 제공받는다.The USN client 101 may be a USN middleware or a USN application. The USN client 101 may request metadata management servers 102-1 and 102-n to retrieve metadata about a corresponding resource using an ID of a sensor network resource. The metadata is provided from the metadata management servers 102-1 and 102-n.

메타데이터 관리 서버(102-1, 102-n)는 특정 센서 및 센서 네트워크에 대한 메타데이터를 관리하고, USN 클라이언트(101)의 메타데이터 검색 및 제공 요청을 받아 해당하는 메타데이터를 제공한다. 여기서, 메타데이터 관리 서버(102-1, 102-n)는 분산 환경에서 광역 센서 네트워크의 메타데이터를 관리하는 메타데이터 관리 서버로서, 특정 센서 네트워크의 메타데이터만 관리하므로 여러 대의 메타데이터 관리 서버가 존재한다. 메타데이터 관리 서버(102-1, 102-n)는 원격에서 메타데이터의 검색 및 제공을 요청할 수 있는 표준화된 인터페이스를 제공한다.The metadata management servers 102-1 and 102-n manage metadata for specific sensors and sensor networks, and receive corresponding metadata search and provision requests from the USN client 101 to provide corresponding metadata. Here, the metadata management servers 102-1 and 102-n are metadata management servers that manage metadata of a wide area sensor network in a distributed environment. Since only metadata of a specific sensor network is managed, multiple metadata management servers are provided. exist. Metadata management servers 102-1 and 102-n provide a standardized interface for requesting retrieval and provision of metadata remotely.

메타데이터 위치 서버(103)는 특정 센서 네트워크 자원의 ID와 해당 자원의 메타데이터를 관리하는 메타데이터 관리 서버(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)의 주소를 제공할 수 있는 서버들의 집합인 메타데이터 위치 서버군을 구성한다.The metadata location server 103 manages the ID of a specific sensor network resource and the addresses of metadata management servers 102-1 and 102-n managing the metadata of the resource in pairs, and manages the metadata management server 102. -1, 102-n receives the ID of the sensor network resource as an input and provides the addresses of the metadata management servers 102-1 and 102-n managing the metadata of the corresponding resource. Here, the metadata location server 103 manages IDs of specific sensor network resources and addresses of the metadata management servers 102-1 and 102-n in pairs. In order to manage the metadata management servers 102-1 and 102-n of the wide area sensor network in a distributed environment, there is one or several metadata location servers 103. The metadata location servers 103 are a group of metadata location servers that are a set of servers that can organically exchange information and provide addresses of metadata management servers 102-1 and 102-n for managing specific metadata. Configure

이때, 메타데이터 위치 서버군은 중앙 집중식 구조, 계층적 구조, 단대단 구조의 3가지 모델 중의 한 형태로 구성될 수 있으며, 또는 3가지 모델을 조합하여 구성될 수 있다.In this case, the metadata location server group may be configured in one of three models, a centralized structure, a hierarchical structure, and an end-to-end structure, or a combination of the three models.

중앙 집중식 구조에 의하면 메타데이터 위치 서버(103)가 한 대 존재하며, 모든 자원의 ID와 그에 상응하는 메타데이터 관리 서버(102-1, 102-n)의 주소를 관리한다.According to the centralized structure, there is one metadata location server 103 and manages IDs of all resources and addresses of metadata management servers 102-1 and 102-n corresponding thereto.

계층적 구조의 메타데이터 위치 서버군에서는 여러 대의 메타데이터 위치 서버들(103)이 존재한다. 각 메타데이터 위치 서버들(103)은 관리하는 자원의 ID를 기준으로 계층적인 관계를 형성하여 메타데이터 위치 서버군 전체가 하나의 트리구조를 구성한다. 여기서, 계층적 구조를 구성하는 방법으로는 자원의 ID 자체를 단순한 비트의 연속으로 보고 비트 단위로 나누어서 계층적 구조를 구성할 수 있다. 또한, 자원의 ID에 포함되어 있는 메타데이터 관리 서버(102-1, 102-n)의 위치 정보를 이용하여 계층적 구조를 구성할 수도 있다.In the hierarchical structure of metadata location servers, there are several metadata location servers 103. Each metadata location server 103 forms a hierarchical relationship based on the ID of the resource to be managed so that the entire metadata location server group forms a tree structure. Here, as a method of constructing a hierarchical structure, the hierarchical structure may be formed by looking at the resource ID itself as a sequential bit and dividing it into bit units. In addition, the hierarchical structure may be configured by using the location information of the metadata management servers 102-1 and 102-n included in the resource ID.

이하, 본 발명의 실시 예에 따른 USN 메타데이터 서버 검색 시스템을 이용하는 메타데이터 검색 시스템의 동작에 대해 도 1을 참고하여 살펴보기로 한다.Hereinafter, an operation of a metadata search system using a USN metadata server search system according to an embodiment of the present invention will be described with reference to FIG. 1.

먼저, USN 클라이언트(101)는 센서 네트워크 자원의 ID를 이용하여 해당 자원에 대한 메타데이터의 검색을 제1 메타데이터 관리 서버(102-1)에게 요청한다.First, the USN client 101 requests the first metadata management server 102-1 to retrieve metadata about a corresponding resource using the ID of the sensor network resource.

이에, 제1 메타데이터 관리 서버(102-1)는 USN 클라이언트(101)로부터 메타 데이터 검색 요청을 수신받아 로컬에서 관리하는 메타데이터를 검색하여 USN 클라이언트(101)의 메타데이터 검색 요청에 상응하는 메타데이터가 있는지를 확인한다. 이때, 메타데이터가 존재하면, 제1 메타데이터 관리 서버(102-1)는 검색의 결과로서 메타데이터를 USN 클라이언트(101)에게 제공한다.Accordingly, the first metadata management server 102-1 receives a metadata search request from the USN client 101, retrieves locally managed metadata, and searches for metadata corresponding to the metadata search request of the USN client 101. Check for the presence of data. At this time, if metadata exists, the first metadata management server 102-1 provides the metadata to the USN client 101 as a result of the search.

반면에, 제1 메타데이터 관리 서버(102-1)의 로컬에서 USN 클라이언트(101)의 메타데이터 검색 요청에 상응하는 메타데이터가 존재하지 않으면, 제1 메타데이터 관리 서버(102-1)는 센서 네트워크 자원의 ID를 이용하여 해당 자원의 메타데이터를 관리하는 메타데이터 관리 서버(102-2 ~ 102-n)를 찾아줄 것을 메타데이터 위치 서버(103)에게 요청한다.On the other hand, if there is no metadata corresponding to the metadata search request of the USN client 101 locally of the first metadata management server 102-1, the first metadata management server 102-1 is a sensor. The metadata location server 103 is requested to find the metadata management servers 102-2 to 102-n managing the metadata of the corresponding resource using the ID of the network resource.

이에 따라, 메타데이터 위치 서버(103)는 제1 메타데이터 관리 서버(102-1)로부터 메타데이터 관리 서버 검색 요청을 수신받아 제1 메타데이터 관리 서버(102-1)로부터 받은 자원 ID가 로컬에 저장되어 있는지를 확인한다. 이때, 메타데이터 위치 서버(103)는 자원 ID가 로컬에 존재하면 이에 상응하는 메타데이터 서버 주소를 제1 메타데이터 관리 서버(102-1)로 돌려준다.Accordingly, the metadata location server 103 receives the metadata management server search request from the first metadata management server 102-1, and the resource ID received from the first metadata management server 102-1 is locally located. Check if it is saved. In this case, if the resource ID exists locally, the metadata location server 103 returns the corresponding metadata server address to the first metadata management server 102-1.

그러나 자원 ID가 로컬에 존재하지 않으면, 메타데이터 위치 서버(103)는 메타데이터 위치 서버군의 다른 메타데이터 위치 서버(설명의 편의상으로 도면에는 도시하지 않음)에게 상기 자원 ID를 전달하면서 그에 상응하는 메타데이터 관리 서버(102-2 ~ 102-n)의 검색을 요청한다.However, if the resource ID does not exist locally, the metadata location server 103 passes the resource ID to another metadata location server (not shown in the drawing for convenience of description) corresponding to the group of metadata location servers. Request the search of the metadata management servers 102-2 to 102-n.

이때, 메타데이터 위치 서버군 내에서 자원 ID에 상응하는 메타데이터 관리 서버(102-2 ~ 102-n)를 찾기 위해 반복해서 다른 메타데이터 위치 서버에게 자원 ID를 전달한다. 이에, 해당 자원 ID와 그에 상응하는 메타데이터 관리 서버(102-2 ~ 102-n)의 주소를 관리하는 메타데이터 위치 서버까지 요청이 도달하면, 예를 들어 제n 메타데이터 관리 서버(102-n)의 주소를 상술한 내용에서 반복적으로 요청된 순서의 역순으로 메타데이터 위치 서버를 거쳐서 처음 메타데이터 위치 서버(103)에게 요청한 제1 메타데이터 관리서버(102-1)로 돌려준다.At this time, the resource ID is repeatedly transmitted to other metadata location servers in order to find the metadata management servers 102-2 to 102-n corresponding to the resource ID in the metadata location server group. Accordingly, when a request arrives to the metadata location server managing the resource ID and the corresponding addresses of the metadata management servers 102-2 to 102-n, for example, the nth metadata management server 102-n ) Is returned to the first metadata management server 102-1 which initially requested the metadata location server 103 via the metadata location server in the reverse order of the requested order.

그러면, 자원 ID를 관리하는 제n 메타데이터 관리 서버(102-n)의 주소를 받은 제1 메타데이터 관리 서버(102-1)는 그 주소를 이용하여 제n 메타데이터 관리 서버(102-n)에 접속하고 자원 ID를 이용하여 메타데이터 검색을 요청한다.Then, the first metadata management server 102-1 receiving the address of the n-th metadata management server 102-n managing the resource ID uses the address to control the n-th metadata management server 102-n. Request a metadata search using the resource ID.

이에, 제n 메타데이터 관리 서버(102-n)는 자원 ID에 상응하는 메타데이터를 제1 메타데이터 관리 서버(102-1)에게 제공한다.Accordingly, the n-th metadata management server 102-n provides metadata corresponding to the resource ID to the first metadata management server 102-1.

이에 따라, 제1 메타데이터 관리 서버(102-1)는 제n 메타데이터 관리 서버(102-n)로부터 받은 메타데이터를 USN 클라이언트(103)에게 제공한다.Accordingly, the first metadata management server 102-1 provides the USN client 103 with metadata received from the n-th metadata management server 102-n.

도 2는 본 발명의 실시 예에 따른 계층적 구조를 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.2 is a diagram illustrating a metadata location server group in a hierarchical structure according to an exemplary embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 실시 예에 따른 계층적 구조를 구성한 메타데이터 위치 서버군(200)은, ID를 유일(Unique)한 비트 스트링(Bit String)으로 간주하여 해당 비트 스트링의 범위를 계층별로 분할하여 위치 등록 서버들(LS: Location Server)간의 부하(Load)를 분산한다.As shown in FIG. 2, the metadata location server group 200 having a hierarchical structure according to an embodiment of the present invention regards an ID as a unique bit string and regards a corresponding bit string. The scope is divided by layers to distribute the load between location servers (LS).

위치 등록 서버들(LS)간의 부하 분산을 위해서, 위치 등록 서버(LS)를 이용하여 케이-어리(k-ary) 탐색 트리(Search Tree)를 구성한다. 이때, 해당 탐색 트리 구조의 높이(Height)와 등급(Degree)은 각 위치 등록 서버(LS)의 처리 능력과 전체 부하에 의해 결정된다.In order to load balance between the location registration servers LS, a k-ary search tree is constructed using the location registration server LS. At this time, the height (Height) and the degree (Degree) of the corresponding search tree structure are determined by the processing capacity and overall load of each location registration server LS.

위치 등록 서버(LS)를 노드로 볼 때, 각 노드는 자신의 부모 노드(Parent Node)의 주소를 저장한다. 자식 노드(Root Node)는 부모 노드를 저장할 필요가 없다.When viewing the location registration server LS as a node, each node stores its parent node's address. The child node does not need to store the parent node.

각 노드는 자신을 자식으로 하는 서브-트리(Sub-tree)가 담당하는 ID 스페이스(Space)의 프리픽스(Prefix)와 해당 프리픽스의 길이를 기억한다. 예를 들어, '010xxxxxx'에 해당하는 ID 스페이스인 경우는 '010'과 '3'을 기억한다.Each node stores a prefix of an ID space that is owned by a sub-tree whose child is a child, and the length of the prefix. For example, in the case of an ID space corresponding to '010xxxxxx', '010' and '3' are stored.

그리고 각 노드는 자신의 자식 노드들이 저장하는 ID 스페이스의 프리픽스와 그 길이 및 그 자식 노드의 IP 주소를 저장한다. 이때, 자식 노드가 저장하는 프리픽스는 그 길이가 동일하지 않을 수도 있다. 예를 들어, 자신의 프리픽스는 '010xxxx'이고, 3개의 자식 노드가 존재하는데 그 프리픽스들은 '0100xxx', '01010xx', '01011xx'가 될 수도 있다.Each node stores the prefix of the ID space stored by its child nodes, its length, and its IP address. At this time, the prefix stored by the child node may not be the same length. For example, its prefix is '010xxxx', and there are three child nodes, which may be '0100xxx', '01010xx', or '01011xx'.

자식 노드의 모든 프리픽스의 합은 자신의 프리픽스와 동일해야 한다. 즉, 빈 공간이 존재해서는 안 된다. 예를 들면, 자신의 프리픽스는 '010xxxx'인데, 2개의 자식 노드가 존재하고 그 프리픽스가 '0100xxx', '01011xx'라면 빈 공간이 존재하게 된다. 종단 노드(Leaf Node)는 자식 노드 대신에 자신이 저장하는 ID 스페이스에 해당하는 실제 ID-IP 쌍을 저장한다.The sum of all the prefixes of the child nodes must be equal to their prefixes. That is, no empty space should exist. For example, if its prefix is '010xxxx', and there are two child nodes and the prefix is '0100xxx' and '01011xx', there is an empty space. The leaf node stores the actual ID-IP pair corresponding to the ID space that it stores instead of the child node.

계층적 구조의 메타데이터 위치 서버군(200)의 구성은 우선 위치 등록 서버(LS)의 수를 정하고, 위치 서버 관리자가 상술한 트리 구성 방식을 바탕으로 위 치 등록 서버(LS)를 구성한다.The configuration of the metadata location server group 200 in a hierarchical structure first determines the number of location registration servers LS, and configures the location registration server LS based on the tree configuration method described above by the location server administrator.

여기서, 각 메타데이터 관리 서버는 메타데이터 위치 서버군(200)에서 종단의 위치 등록 서버 하나를 자신의 로컬 위치 서버로 정의한다.Here, each metadata management server defines one end location registration server as its own local location server in the metadata location server group 200.

각 위치 등록 서버를 모두 독립된 장비에서 수행할 필요는 없고, 여러 개의 위치 등록 서버가 저장할 정보를 하나의 통합된 위치 서버가 저장할 수 도 있다. 예를 들면, 도 2의 왼쪽 서브-트리의 3개의 위치 등록 서버는 모두 모아서 한 개의 위치 등록 서버에 저장할 수도 있다.Each location registration server does not have to be run on a separate device, but a single location server may store information that will be stored by multiple location registration servers. For example, all three location registration servers in the left sub-tree of FIG. 2 may be aggregated and stored in one location registration server.

계층적 구조의 메타데이터 위치 서버군(200)의 동작은 DNS 룩업(Lookup)과 동일하게 진행된다. 우선, 메타데이터 관리 서버가 자원의 ID를 이용하여 메타데이터를 검색하는 사용자의 요청을 받으면, 메타데이터 관리 서버는 자신의 로컬 위치 서버에 접속하여 해당 자원의 ID를 해당 로컬 위치 서버에게 알려준다.The operation of the metadata location server group 200 in a hierarchical structure is performed in the same manner as the DNS lookup. First, when the metadata management server receives a user's request for retrieving metadata using the resource ID, the metadata management server connects to its local location server and informs the local location server of the resource ID.

이에, 메타데이터 관리 서버는 로컬 위치 서버를 기준으로 반복적인 검색을 수행하게 된다. 즉, 로컬 위치 서버는 우선 자신의 담당 영역에 그 ID가 속하는지를 판단하고, 그 ID가 자신의 담당 영역에 속하면 해당 IP를 메타데이터 관리 서버에게 돌려준다.Accordingly, the metadata management server performs a repetitive search based on the local location server. That is, the local location server first determines whether the ID belongs to its own area, and returns the IP to the metadata management server if the ID belongs to its own area.

반면에, 그 ID가 자신의 담당 영역에 속하지 않으면, 차기(Next) 위치 등록 서버로 자신의 부모 위치 서버를 지정한다. 또한, 차기 위치 등록 서버에 그 ID를 전송한다.On the other hand, if the ID does not belong to its own area, it designates its parent location server as the next location registration server. The ID is also sent to the next location registration server.

이에 따라, 로컬 위치 서버로부터 ID를 전송받은 차기 위치 등록 서버는, 자신이 담당하는 ID 영역에 요청받은 ID가 속하는지를 판단한다. 이때, 요청받은 ID 가 자신이 담당하는 ID 영역에 속하지 않으면, 그 자신의 부모 위치 서버의 IP를 로컬 위치 서버에게 돌려준다. 여기서, 해당 IP가 차기 위치 등록 서버가 된다.Accordingly, the next location registration server, which has received the ID from the local location server, determines whether the requested ID belongs to the ID area in charge thereof. At this time, if the requested ID does not belong to the ID area in charge of its own, the IP of its own parent location server is returned to the local location server. Here, the corresponding IP becomes the next location registration server.

그리고 해당 ID가 자신의 영역에 속하면, 자신이 그 ID-IP 쌍을 저장하고 있는 종단 위치 등록 서버인지를 판단하고, 이때 자신이 그 ID-IP 쌍을 저장하고 있는 종단 위치 등록 서버라면, 그 ID에 상응하는 IP, 즉 그 ID의 자원에 대한 메타데이터를 관리하는 메타데이터 관리 서버의 IP를 로컬 위치 서버에게 돌려준다.If the ID belongs to its own area, it is determined whether it is an end point registration server storing the ID-IP pair, and if it is an end point registration server storing the ID-IP pair, Return the IP corresponding to the ID, that is, the IP of the metadata management server that manages metadata about the resource of the ID, to the local location server.

그러면, 로컬 위치 서버는 이를 처음 요청한 메타데이터 관리 서버에게 돌려줌으로써 메타데이터 관리 서버를 찾는 과정을 마친다.The local location server then completes the process of finding the metadata management server by returning it to the first requested metadata management server.

반면에, 해당 ID가 자신의 영역에 속하고 종단 위치 등록 서버가 아닌 경우, 그 ID에 해당하는 하위 계층의 위치 등록 서버를 찾아내어 그 자식 위치 서버의 IP를 로컬 위치 서버에게 돌려준다. 여기서, 해당 IP가 차기 위치 등록 서버가 된다. 그런 후에, 상술한 바와 같이, 그 ID를 차기 위치 등록 서버에 전송한 다음부터 반복하도록 한다.On the other hand, if the ID belongs to its own area and is not an end location registration server, the location registration server of the lower layer corresponding to the ID is found and the IP of the child location server is returned to the local location server. Here, the corresponding IP becomes the next location registration server. Then, as described above, the ID is repeated after the ID is transmitted to the next position registration server.

도 3은 본 발명의 실시 예에 따른 메타데이터 관리 서버의 위치정보를 이용하여 계층구조를 구성한 메타데이터 위치 서버군을 일예로 나타낸 구성도이다.3 is a diagram illustrating an example of a metadata location server group having a hierarchical structure using location information of a metadata management server according to an exemplary embodiment of the present invention.

본 발명의 실시 예에 따른 메타데이터 관리 서버의 위치정보를 이용하여 계층적 구조를 구성한 메타데이터 위치 서버군(300)은, 도 3에 도시된 바와 같이, 계층 구조를 구성할 때에 메타데이터 관리 서버의 지리적인 위치를 이용하여 구성하면 메시지의 요청에 대한 응답시간 등이 최적화되도록 할 수 있다.As shown in FIG. 3, the metadata location server group 300 that forms a hierarchical structure using location information of the metadata management server according to an embodiment of the present invention is configured as a metadata management server. By configuring using the geographical location of the user, it is possible to optimize the response time for the request of the message.

우선, 전체 영역을 '사각형'이라고 가정하고 이를 4등분으로 분할한다. 다시 해당 각각의 영역을 또 다시 4등분하여 분할한다. 원하는 높이의 계층 구조가 만들어질 때까지 이를 반복한다.First, the entire area is assumed to be a 'rectangle' and divided into quarters. Again, divide each area into four equal parts. Repeat this until you have a hierarchy of the desired height.

도 3은 높이가 '3'인 영역으로 분할한 예이다. 각 영역별로 메타데이터 관리 서버가 존재하는 영역을 표시하였다. 각 영역별로 위치 서버를 하나씩 두고 상위 영역을 담당하는 서버가 하위 영역을 담당하는 4개의 서버의 부모 노드가 되는 것이다. 종단 노드(Leaf Node)에 해당하는 서버들은 실제 ID-IP 쌍을 저장하게 된다.3 is an example of dividing into an area having a height of '3'. The area where the metadata management server exists for each area is displayed. With one location server in each zone, the server in charge of the upper zone becomes the parent node of the four servers in charge of the lower zone. Servers corresponding to the end nodes store the actual ID-IP pairs.

도 3은 이러한 위치 서버들 간의 계층 구조를 보여준다. 실제로 메타데이터 관리 서버가 존재하지 않는 영역에 대해서는 위치 서버가 존재할 필요가 없다.3 shows a hierarchical structure between these location servers. In fact, the location server does not need to exist for the area where the metadata management server does not exist.

이렇게 하게 되면 좋은 점은, 지리적으로 가까운 노드에 대한 정보가 같은 종단 노드에 저장되어, 연관된 센서 네트워크나 센서 노드에 대한 정보를 더 빨리 얻을 수 있게 된다. 이런 구조를 형성하게 되면 필요한 위치 서버의 수가 증가하게 되는데, 각 메타데이터 관리 서버 내에 위치 서버가 수행되면 실제로 큰 부담이 없다.The nice thing about doing this is that information about geographically close nodes is stored on the same end node, so that information about the associated sensor network or sensor node can be obtained faster. Forming such a structure increases the number of location servers required. In fact, if a location server is executed in each metadata management server, there is no real burden.

각 메타데이터 관리 서버의 위치정보를 이용하여 계층적 구조를 구성한 메타데이터 위치 서버군(300)에서 각 노드는 다음과 같은 정보를 가진다.In the metadata location server group 300 having a hierarchical structure using location information of each metadata management server, each node has the following information.

각 메타데이터 관리 서버는 자신의 위치 정보를 저장한다. 센서 네트워크의 경우와 마찬가지로 42비트로 표현한다. 경도 21비트, 위도 21비트로 분리된다. 경도와 위도의 각 첫 번째 비트의 조합으로, 전체 영역은 네 개의 영역으로 분리된다. 즉, '0-0-', '0-1-', '1-0-', '1-1-'이다.Each metadata management server stores its own location information. As in the case of the sensor network, it is represented by 42 bits. It is divided into 21 bits of longitude and 21 bits of latitude. With the combination of each first bit of longitude and latitude, the whole area is divided into four areas. That is, '0-0-', '0-1-', '1-0-' and '1-1-'.

각 영역은 다시 4개의 영역으로 분리되고, 이 과정이 반복된다. 각 노드는 자신의 부모 노드의 주소를 저장한다. 자식 노드는 부모 노드를 저장할 필요가 없다.Each region is divided into four regions again, and this process is repeated. Each node stores the address of its parent node. Child nodes do not need to store parent nodes.

각 노드는 자신을 자식으로 하는 서브-트리(Sub-tree)가 담당하는 영역을 기억한다. 각 노드는 자신의 자식 노드들이 담당하는 영역 및 그 자식 노드의 IP 주소를 저장한다.Each node stores an area in which a sub-tree whose child is a child is in charge. Each node stores the area that its child nodes are in charge of and their IP addresses.

자식 노드의 모든 영역의 합은 자신의 영역과 동일해야 한다. 메타데이터 관리 서버가 존재하지 않는 자식 영역은 위치 서버를 둘 필요가 없다. 종단 노드는 자식 노드 대신 자신이 저장하는 ID 영역에 해당하는 실제 ID-IP 쌍을 저장한다.The sum of all areas of the child node must be equal to its area. Child zones that do not have a metadata management server need not have a location server. The end node stores the actual ID-IP pair corresponding to the ID area it stores instead of the child node.

메타데이터 관리 서버의 위치정보를 이용하여 계층적 구조를 구성한 메타데이터 위치 서버군(300)에서 메타데이터 관리 서버를 검색하는 동작은, 위치정보를 이용하지 않고 ID를 비트 단위로 구분하여 계층적 구조를 구성한 메타데이터 위치 서버군에서의 검색 동작과 동일하다.The searching of the metadata management server in the metadata location server group 300 having a hierarchical structure using location information of the metadata management server may be performed by dividing the ID into bits without using the location information. This is the same as the search operation in the metadata location server group that configures.

도 4는 본 발명의 실시 예에 따른 단대단 구조를 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.4 is a diagram illustrating a metadata location server group constituting an end-to-end structure according to an exemplary embodiment of the present invention.

본 발명의 실시 예에 따른 단대단 구조를 구성한 메타데이터 위치 서버군(400)은, 도 4에 도시된 바와 같이, 각 메타데이터 관리 서버가 위치 서버(LS)의 역할을 동시에 수행하도록 한다.As shown in FIG. 4, the metadata location server group 400 constituting the end-to-end structure according to an embodiment of the present invention allows each metadata management server to simultaneously perform the role of the location server LS.

물론 메타데이터 관리 서버 내부에서 수행하는 것은 아니고, 메타데이터 관리 서버가 수행되는 머신(Machine)에 위치 서버(LS)가 하나씩 수행되도록 한다. 다양한 P2P 시스템들이 제시되고 있지만 대부분 질의 처리 시까지의 메시지 수와 같 은 성능은 비슷한 편이기 때문에, 본 발명에서는 가장 대표적인 P2P 시스템인 코드 시스템(Chord System)을 바탕으로 P2P 구조를 형성하도록 한다. 코드 시스템에서는 ID가 메타데이터 관리 서버의 정보를 저장하는 경우와 저장하지 않는 경우 모두에 대해서 동일하게 작동한다.Of course, the location server LS is executed one by one on the machine where the metadata management server is executed. Various P2P systems have been proposed, but since most of the performances such as the number of messages until query processing are similar, in the present invention, a P2P structure is formed based on a chord system, which is the most representative P2P system. In a code system, the ID works the same for both storing and not storing metadata management server information.

단대단 구조의 메타데이터 위치 서버군(400)에 있어서 각 노드에서 저장하는 정보는 다음과 같다.In the end-to-end structure of the metadata location server group 400, the information stored in each node is as follows.

각 위치 서버(LS)는 자신의 고유한 ID를 가진다. 쉽게 이 메타데이터 관리 서버가 담당하는 1개의 센서 네트워크의 ID로 한다. 해당 ID는 모듈러 오퍼레이션(Modulo Operation)에 의해 원 위의 한 점으로 간주하면 된다. 해당 정의에 의해 각 위치 서버(LS)는 원 위의 한 점으로 대응된다.Each location server LS has its own unique ID. It is easily set to the ID of one sensor network that this metadata management server is in charge of. The ID can be regarded as one point in the distance by the Modulo Operation. By this definition, each location server LS corresponds to a point on the circle.

그리고 자신이 담당하는 ID 영역(Interval)을 가진다. 이 원 위에서 해당 노드가 어느 영역을 담당하는지를 저장한다. 기본적으로 자신의 ID를 포함하고 자신의 바로 전 노드의 ID 이후의 영역을 담당한다.It has its own ID interval. On this circle we store which area the node is responsible for. Basically, it contains its own ID and takes care of the area after the ID of the node just before it.

그리고 ID-IP 쌍을 가지는데, 자신이 담당하는 ID 영역에 속하는 ID-IP 쌍을 저장한다. 또한, 다음 노드 포인터(succ)인 자신의 바로 다음 노드의 IP 주소와 ID를 저장한다.It has an ID-IP pair, and stores an ID-IP pair belonging to its own ID area. It also stores the IP address and ID of the next node that is its next node pointer (succ).

끝으로, 이전 노드 포인터(pred)인 자신의 바로 이전 노드의 IP 주소와 ID를 저장한다.Finally, it stores the IP address and ID of the node just before it, which is the previous node pointer (pred).

상술한 바와 같은 내용이 있으면, 일단 모든 노드는 다음 노드 포인터와 이전 노드 포인터를 바탕으로 원형의 토폴로지(Topology)를 구성하게 된다. 센서 네 트워크 자원의 ID가 주어지면, 다음 노드 포인터와 이전 노드 포인터를 바탕으로 해당 ID-IP 쌍을 저장하는 위치 서버(LS)를 찾아갈 수 있다.With the foregoing, once all nodes have a circular topology based on the next and previous node pointers. Given the ID of the sensor network resource, it can go to the location server (LS) that stores the ID-IP pair based on the next node pointer and the previous node pointer.

하지만 이 경우 최악의 경우에 모든 노드(즉, 위치 서버(LS))를 방문해야 할 가능성이 생긴다. 이것은 본 발명이 바라는 바가 아니므로, 검색의 속도를 높이기 위해 위치 서버(LS)의 포인터 정보를 테이블 형태로 관리하는 핑거 테이블(Finger Table)을 더 저장한다.However, in this case, there is a possibility that all nodes (ie, location servers) should be visited in the worst case. Since this is not desired by the present invention, in order to speed up the retrieval, a finger table for managing pointer information of the location server LS in a table form is further stored.

핑거 테이블은 다음과 같이 구성한다. 총 노드의 개수가 n개이고 어느 한 노드에 있어서 자신의 ID를 'x'라고 하면, 이 노드는 다음과 같은 노드의 포인터를 저장한다.The finger table is configured as follows. If the total number of nodes is n and one node has its ID 'x', this node stores a pointer to the following node.

우선 ID의 길이를 '128'로 고정했기 때문에 128개의 포인터를 가진다. 이 포인터에 포함되는 노드들은 다음과 같다. ID 'x+1'을 포함하는 영역을 가지는 노드의 IP 주소와 ID, 그리고 ID 'x+2'를 포함하는 영역을 가지는 노드의 IP 주소와 ID, 그리고 ID 'x+4'를 포함하는 영역을 가지는 노드의 IP 주소와 ID, 일반적으로 ID 'x+2k'를 포함하는 영역을 가지는 노드의 IP 주소와 ID이다. 이때, k 값은 '0'에서 '127'까지이다.First, because the ID is fixed at 128, it has 128 pointers. The nodes included in this pointer are: IP address and ID of the node having an area containing ID 'x + 1', and IP address and ID of the node having an area containing ID 'x + 2' and area containing ID 'x + 4' The IP address and ID of a node that has an area, including the ID 'x + 2 k '. At this time, the k value is from '0' to '127'.

단대단 구조를 구성한 메타데이터 위치 서버군(400)에서의 검색 방법은, 하나의 로컬 위치 서버에서 시작하여 특정 ID를 담당하는 위치 서버를 찾는 과정으로 다음과 같다.The searching method in the metadata location server group 400 having an end-to-end structure is a process of searching for a location server in charge of a specific ID starting from one local location server.

우선, 로컬 위치 서버 자신이 이 ID를 담당하는지를 확인하고, 이때 ID를 담 당하고 있으면 검색은 종료된다.First, check whether the local location server itself is responsible for this ID, and if it is in charge of this ID, the search ends.

그러나 자신이 ID를 담당하고 있지 않으면, 일단 자신을 차기 위치 서버(Next Location Server)라고 한다.But if you're not in charge of the ID, you'll call yourself Next Location Server.

그런 후에, 차기 위치 서버에 ID를 전송하여 검색을 의뢰한다. 이에, 차기 위치 서버는 이 ID가 자신이 담당하는 영역에 속하는지를 확인하고, 이때 ID가 자신이 담당하는 영역에 속한다면 자신의 IP를 로컬 위치 서버에 돌려주고 검색이 종료된다.Then, the ID is sent to the next location server to request a search. Therefore, the next location server checks whether this ID belongs to the area in charge of itself, and if the ID belongs to the area in charge of it, returns its IP to the local location server and the search is terminated.

반면에, 차기 위치 서버가 그 ID를 담당하지 않으면, 자신의 핑거 테이블에서 해당 ID 가 존재하는 영역에 해당하는 'k' 값을 찾는다. 즉, ID가 (x+2k-1, x+2k)에 속하는 'k' 값을 찾는다. 해당 찾은 'k' 값에 해당하는 노드의 IP 주소를 로컬 위치 서버에 돌려준다.On the other hand, if the next location server does not take care of the ID, it finds a 'k' value corresponding to the area where the corresponding ID exists in its finger table. That is, find the value of 'k' whose ID belongs to (x + 2k-1, x + 2k). Returns the IP address of the node corresponding to the found 'k' value to the local location server.

이에 따라, 로컬 위치 서버는 차기 위치 서버로부터 받은 IP를 차기 위치 서버로 하고, 차기 위치 서버에 ID를 전송하여 검색을 의뢰하는 동작부터 다시 반복하도록 한다.Accordingly, the local location server uses the IP received from the next location server as the next location server, and transmits an ID to the next location server to repeat the operation of requesting a search.

한편, 단대단 구조를 구성한 메타데이터 위치 서버군(400)에서 새로운 노드가 추가되면, 이 노드가 저장해야 할 모든 정보를 새로 구성해야 한다. 또한, 일부 다른 노드들이 가지고 있는 정보도 수정해야 한다. 그 동작은 다음과 같다.On the other hand, when a new node is added in the metadata location server group 400 that constitutes the end-to-end structure, all information to be stored by this node must be newly configured. You also need to modify the information that some other nodes have. The operation is as follows.

새로운 위치 서버 'N'은 기존 P2P 위치 서버군(400)에 존재하는 하나의 위치 서버 'E'에 대한 정보를 관리자로부터 얻는다.The new location server 'N' obtains information about one location server 'E' existing in the existing P2P location server group 400 from an administrator.

그리고 새로운 위치 서버 'N'은 위치 서버 'E'에게 자신의 ID를 전송하여 이 ID를 포함하는 영역을 담당하는 노드를 찾으라는 요청을 수행한다.The new location server 'N' sends its ID to the location server 'E' and requests to find the node in charge of the area containing this ID.

이에, 위치 서버 'E'는 상술한 바와 같은 단대단 구조를 구성한 메타데이터 위치 서버군(400)에서의 검색 과정을 거쳐 새로운 위치 서버 'N'의 ID를 포함하는 영역을 담당하는 위치 서버 'T'의 IP를 찾아 새로운 위치 서버 'N'에게 돌려준다.Accordingly, the location server 'E' is a location server 'T in charge of an area including the ID of the new location server' N 'through a search process in the metadata location server group 400 having the end-to-end structure as described above. Finds its IP and returns it to the new location server 'N'.

다시 말해서, 위치 서버 'E'는 새로운 위치 서버 'N'으로부터 수신받은 ID를 자신이 담당하는지를 확인한다. 이때, 위치 서버 'E' 자신이 새로운 위치 서버 'N'의 ID를 담당하지 않으면, 자신의 핑거 테이블에서 새로운 위치 서버 'N'의 ID 가 존재하는 영역에 해당하는 'k' 값을 찾는다. 그리고 위치 서버 'E'는 해당 찾은 'k' 값에 해당하는 위치 서버 'T'의 IP 주소를 새로운 위치 서버 'N'에게 돌려준다.In other words, the location server 'E' checks whether it is responsible for the ID received from the new location server 'N'. At this time, if the location server 'E' itself is not responsible for the ID of the new location server 'N', the 'k' value corresponding to the area where the ID of the new location server 'N' exists in its finger table is found. The location server 'E' returns the IP address of the location server 'T' corresponding to the found 'k' value to the new location server 'N'.

이에, 새로운 위치 서버 'N'은 위치 서버 'E'로부터 받은 IP 주소를 차기 위치 서버로 하고, 차기 위치 서버(즉, 위치 서버 'T')에 자신의 ID를 전송하여 검색을 의뢰한다. 이에 따라, 위치 서버 'T'는 새로운 위치 서버 'N'으로부터 수신받은 ID를 자신이 담당하는지를 확인하고, 해당 수신받은 ID를 자신이 담당하면 자신의 IP 주소를 새로운 위치 서버 'N'에게 돌려준다.Accordingly, the new location server 'N' uses the IP address received from the location server 'E' as the next location server, and transmits its ID to the next location server (that is, location server 'T') to request a search. Accordingly, the location server 'T' checks whether it is in charge of the ID received from the new location server 'N', and returns its IP address to the new location server 'N' if it is in charge of the received ID. .

이에 따라, 새로운 위치 서버 'N'은 위치 서버 'T'에게 영역 분할을 요청한다.Accordingly, the new location server 'N' requests the location server 'T' to divide the area.

그러면, 위치 서버 'T'는 자신의 영역을 반으로 분할하여 앞쪽 영역은 새로운 위치 서버 'N'에게 양도하고, 자신의 뒤쪽 반을 담당하게 된다. 이때, 위치 서버 'T'는 자신의 모든 핑거 테이블 정보를 새로운 위치 서버 'N'에게 제공한다. 또 한, 위치 서버 'T'는 자신의 이전 노드 포인터를 새로운 위치 서버 'N'으로 수정한다.Then, the location server 'T' divides its own area in half, transfers the front area to the new location server 'N', and takes care of its back half. At this time, the location server 'T' provides all of its finger table information to the new location server 'N'. In addition, the location server 'T' modifies its old node pointer to the new location server 'N'.

그리고 새로운 위치 서버 'N'은 위치 서버 'T'의 이전 노드 포인터에 접속하여 이 노드의 다음 노드 포인터를 새로운 위치 서버 'N'으로 변경할 것을 요청한다. 또한, 새로운 위치 서버 'N'은 자신의 이전 노드 포인터는 위치 서버 'T'의 이전 노드 포인터로 하고, 다음 노드 포인터는 위치 서버 'T'로 한다.The new location server 'N' accesses the previous node pointer of the location server 'T' and requests that the next node pointer of this node be changed to the new location server 'N'. Also, the new location server 'N' sets its previous node pointer to the previous node pointer of the location server 'T' and the next node pointer to the location server 'T'.

그리고 새로운 위치 서버 'N'은 위치 서버 'T'로부터 제공받은 핑거 테이블 정보를 바탕으로 자신의 핑거 테이블을 수정한다. 이 수정을 위해서는 각 'k' 별로 상술한 바와 같은 단대단 구조를 구성한 메타데이터 위치 서버군(400)에서의 검색 과정의 조회 동작을 반복한다. 실제적으로는 모든 'k'에 대해서 조회 동작을 수행할 필요는 없다.The new location server 'N' modifies its own finger table based on the finger table information provided from the location server 'T'. For this modification, the search operation of the searching process in the metadata location server group 400 having the end-to-end structure as described above for each 'k' is repeated. In practice, it is not necessary to perform the search operation on all 'k's.

또한, 실제적으로 이전 노드 포인터와 다음 노드 포인터만 정확하게 저장되어 있으면 핑거 테이블의 정보는 약간 틀리더라도 검색에 크게 지장이 없다. 하지만 정확한 정보를 위해 안정화(Stabilization) 과정을 수행한다.In addition, if only the previous node pointer and the next node pointer are actually stored correctly, the information of the finger table is slightly different, but there is no problem in the search. However, stabilization is carried out for accurate information.

안정화 과정은 다음과 같은 3가지 방식이 존재한다. 첫 번째, 주기적으로 자신의 핑거 테이블의 엔트리(Entry)의 노드를 새로 찾아서 수정한다. 두 번째, 주기적으로 하는 대신에 검색 시 평균 노드 방문 횟수가 일정 값 이상인 경우에 수행할 수도 있다. 세 번째, 매번 검색 시 중간에 리턴(Return)되는 IP 주소와 더불어 그 위치 서버의 담당 영역을 같이 돌려주게 하여 이 내용을 바탕으로 자신의 핑거 테이블을 수정한다.There are three ways of stabilization. First, periodically find and modify a new node of an entry of its finger table. Second, instead of periodically, it may be performed when the average number of node visits is greater than or equal to a certain value. Third, the user's finger table is modified based on this information by returning the location server's area of responsibility along with the IP address returned in the middle of each search.

이하, 도 5를 참조하여 단대단 구조 및 계층적 구조를 조합하여 구성한 메타데이터 위치 서버군의 구성에 대해 살펴보기로 한다.Hereinafter, referring to FIG. 5, the configuration of the metadata location server group configured by combining the end-to-end structure and the hierarchical structure will be described.

도 5는 본 발명의 실시 예에 따른 단대단 구조 및 계층구조를 조합하여 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.5 is a diagram illustrating a metadata location server group configured by combining an end-to-end structure and a hierarchical structure according to an exemplary embodiment of the present invention.

본 발명의 실시 예에 따른 단대단 구조 및 계층적 구조를 조합하여 구성한 메타데이터 위치 서버군(500)은, 도 5에 도시된 바와 같이, 전체 메타데이터 관리 서버들을 여러 그룹(510, 520)으로 분할한다.As shown in FIG. 5, the metadata location server group 500 configured by combining an end-to-end structure and a hierarchical structure according to an embodiment of the present invention includes all metadata management servers in various groups 510 and 520. Divide.

각 그룹(510, 520) 내의 메타데이터 관리 서버들을 하나의 계층 구조로 형성한다. 해당 계층 구조의 자식 노드들이 모여 단대단 구조를 형성한다. 자식 노드는 계층 구조의 자식 역할과 단대단 구조의 한 노드의 역할을 동시에 수행한다.The metadata management servers in each group 510 and 520 are formed in one hierarchical structure. Child nodes of the hierarchy are gathered to form an end-to-end structure. The child node simultaneously plays the role of a child in the hierarchy and the role of a node in the end-to-end structure.

단대단 구조 및 계층적 구조를 조합하여 구성한 메타데이터 위치 서버군(500)의 검색 동작은, 먼저 계층 구조의 검색 과정과 동일하게 수행하고 만약에 자식 노드에서 패턴이 매칭되지 않으면 단대단 구조를 이용하여 다른 계층 구조에서 검색을 수행하도록 한다.The search operation of the metadata location server group 500 configured by combining the end-to-end structure and the hierarchical structure is performed in the same manner as the search process of the hierarchical structure first. If the pattern is not matched in the child nodes, the end-to-end structure is used. To search in a different hierarchy.

이상, 본 발명의 실시 예는 분산 환경에서 센서와 센서 네트워크의 메타데이터를 관리하는 시스템이 다수 존재할 때, 특정 센서의 메타데이터를 검색하기 위해 해당 센서의 메타데이터를 관리하는 메타데이터 관리 서버의 위치를 검색하는 방법에 대해서 설명하였다.As described above, when a plurality of systems for managing metadata of a sensor and a sensor network exist in a distributed environment, a location of a metadata management server that manages metadata of a corresponding sensor to retrieve metadata of a specific sensor is present. It was described how to search.

이때, 본 발명의 실시 예에 따르면, USN 메타데이터를 요청하는 클라이언트(즉, 단말)가 특정 메타데이터 관리 서버에 접속하여 메타데이터를 요청하고, 메타 데이터 관리 서버가 해당 메타데이터를 직접 관리하지 않을 경우에 메타데이터 위치 서버를 이용해서 해당 메타데이터를 관리하는 메타데이터 관리 서버의 주소를 받아서, 그 주소정보를 이용하여 메타데이터 관리 서버에 접속하고, 클라이언트로부터 받은 메타데이터를 대신 요청하여 해당 요청의 결과를 클라이언트에게 전달하도록 한다. 이에, 클라이언트는 필요로 하는 메타데이터가 어느 메타데이터 서버에서 관리되는지, 어떻게 메타데이터 서버를 찾는지, 그리고 다른 메타데이터 서버에게 다시 동일한 메타데이터를 요청하는 작업의 수행을 불필요하게 함으로써, 메타데이터 관리 서버를 사용하는 클라이언트에게 메타데이터 서버 측면에서 단순하고 일관된 인터페이스를 제공할 수 있다. 또한, 클라이언트가 접속하는 메타데이터 관리 서버가 수없이 많은 센서 및 센서 네트워크의 메타데이터를 모두 관리하는 것처럼 보이도록 함으로써, 개발자 및 클라이언트 프로그램이 분산된 광역의 센서 네트워크 환경에서 USN 시스템의 개발을 용이하도록 한다. 이에 따라, 궁극적으로는 서비스 개발의 투명성을 높이고 개발에 소요되는 전체 비용 및 유지 보수비용을 절감시킬 수 있다.At this time, according to an embodiment of the present invention, a client (ie, a terminal) requesting USN metadata accesses a specific metadata management server to request metadata, and the metadata management server does not directly manage the metadata. In this case, the metadata location server receives the address of the metadata management server managing the metadata, accesses the metadata management server using the address information, and requests the metadata received from the client instead. Have the result delivered to the client. The client thus manages metadata by eliminating the need to manage which metadata server the metadata it needs, how to find the metadata server, and to request the same metadata from another metadata server again. You can provide clients using the server with a simple and consistent interface in terms of metadata servers. In addition, the metadata management server to which the client connects appears to manage all of the metadata of a large number of sensors and sensor networks, thereby facilitating the development of USN systems in a distributed wide-area sensor network environment. do. This can ultimately increase the transparency of service development and reduce the overall cost of maintenance and maintenance.

그리고 본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등) 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다.In addition, the embodiment of the present invention is not implemented only through the above-described apparatus and / or method, but a program for realizing a function corresponding to the configuration of the embodiment of the present invention, and a recording medium (CD-ROM, RAM) on which the program is recorded. , ROM, floppy disk, hard disk, magneto-optical disk, etc.), such implementations can be easily implemented by those skilled in the art to which the present invention pertains from the description of the above-described embodiments.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

도 1은 본 발명의 실시 예에 따른 메타데이터 서버 검색 방법을 나타낸 흐름도이다.1 is a flowchart illustrating a metadata server search method according to an embodiment of the present invention.

도 2는 본 발명의 실시 예에 따른 계층적 구조를 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.2 is a diagram illustrating a metadata location server group in a hierarchical structure according to an exemplary embodiment of the present invention.

도 3은 본 발명의 실시 예에 따른 계층적 구조를 구성한 메타데이터 위치 서버군을 일예로 나타낸 구성도이다.3 is a diagram illustrating an example of a metadata location server group in a hierarchical structure according to an exemplary embodiment of the present invention.

도 4는 본 발명의 실시 예에 따른 단대단 구조를 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.4 is a diagram illustrating a metadata location server group constituting an end-to-end structure according to an exemplary embodiment of the present invention.

도 5는 본 발명의 실시 예에 따른 단대단 구조 및 계층구조를 조합하여 구성한 메타데이터 위치 서버군을 나타낸 구성도이다.5 is a diagram illustrating a metadata location server group configured by combining an end-to-end structure and a hierarchical structure according to an exemplary embodiment of the present invention.

Claims (18)

다수의 메타 데이터 서버가 분포되어 있는 분산 환경에서 메타데이터 서버를 검색하는 방법에 있어서, In a method for searching a metadata server in a distributed environment in which a plurality of metadata servers are distributed, 클라이언트로부터 찾고자 하는 자원의 ID를 포함하는 메타 데이터 검색 요청을 수신받는 단계; Receiving a metadata search request including an ID of a resource to be found from the client; 상기 클라이언트로부터 제공받은 자원의 ID를 위치 서버 클러스터로 제공하면서 메타 데이터 서버 검색을 요청하며, 상기 위치 서버 클러스터는 메타데이터 서버들의 위치 정보--상기 위치 정보는 해당 메타 데이터 서버의 접속 정보와, 상기 메타 데이터 서버가 포함하고 있는 메타데이터가 설명하는 자원의 ID를 포함함--를 관리하는 단계; 그리고 Requesting a metadata server search while providing an ID of a resource provided from the client to a location server cluster, wherein the location server cluster includes location information of metadata servers--the location information is connection information of a corresponding metadata server and the Managing the metadata contained in the metadata server includes an ID of a resource described by the metadata server; And 상기 위치 서버 클러스터로부터 상기 자원의 ID에 관련된 메타 데이터를 포함하는 메타 데이터 서버의 위치 정보를 제공받는 단계Receiving location information of a metadata server including metadata associated with an ID of the resource from the location server cluster; 를 포함하는 메타데이터 서버 검색 방법.Metadata server search method comprising a. 삭제delete 제1항에 있어서,The method of claim 1, 상기 위치 서버 클러스터는,The location server cluster, 하나 또는 복수 개의 메타데이터 위치 서버를 사용하는 메타데이터 서버 검색 방법.A metadata server search method that uses one or more metadata location servers. 제3항에 있어서,The method of claim 3, 상기 메타데이터 위치 서버들 간에 유기적으로 정보를 교환하여 상기 메타데이터를 관리하는 메타데이터 서버의 주소를 제공할 수 있는 서버들의 집합인 메타데이터 위치 서버군을 구성하여 운영하는 단계를 더 포함하는 메타데이터 서버 검색 방법.And configuring and operating a metadata location server group, which is a set of servers capable of providing an address of a metadata server managing the metadata by organically exchanging information between the metadata location servers. Server discovery method. 제4항에 있어서,The method of claim 4, wherein 상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는,Configuring and operating the metadata location server group, 계층구조를 이용하여 상기 메타데이터 위치 서버군을 구성하여 운영하는 메타데이터 서버 검색 방법.A metadata server search method for configuring and operating the metadata location server group using a hierarchical structure. 제4항에 있어서,The method of claim 4, wherein 상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는,Configuring and operating the metadata location server group, 단대단 구조를 이용하여 상기 메타데이터 위치 서버군을 구성하여 운영하는 메타데이터 서버 검색 방법.A metadata server retrieval method for configuring and operating the metadata location server group using an end-to-end structure. 제4항에 있어서,The method of claim 4, wherein 상기 메타데이터 위치 서버군을 구성하여 운영하는 단계는,Configuring and operating the metadata location server group, 계층구조, 단대단 구조를 조합하여 상기 메타데이터 위치 서버군을 구성하여 운영하는 메타데이터 서버 검색 방법.A metadata server retrieval method comprising combining the hierarchical structure and the end-to-end structure to configure the metadata location server group. 제4항에 있어서,The method of claim 4, wherein 상기 메타데이터 위치 서버가 제1 메타데이터 서버로부터 제2 메타데이터 서버 검색 요청을 수신받는 단계,Receiving, by the metadata location server, a second metadata server search request from a first metadata server, 상기 제1 메타데이터 서버로부터 받은 자원 ID가 로컬에 저장되어 있는지를 확인하는 단계, 그리고Confirming whether the resource ID received from the first metadata server is stored locally; and 상기 자원 ID가 로컬에 존재하면 이에 상응하는 제2 메타데이터 서버의 위치 정보를 상기 제1 메타데이터 서버로 돌려주는 단계Returning location information of a corresponding second metadata server to the first metadata server if the resource ID exists locally; 를 더 포함하는 메타데이터 서버 검색 방법.Metadata server search method further comprising. 제8항에 있어서,The method of claim 8, 상기 자원 ID가 로컬에 존재하지 않으면, 상기 메타데이터 위치 서버는 메타 데이터 위치 서버군의 다른 메타데이터 위치 서버에게 상기 자원 ID를 전달하면서 그에 상응하는 메타데이터 서버의 검색을 요청하는 단계를 더 포함하는 메타데이터 서버 검색 방법.If the resource ID does not exist locally, the metadata location server further includes requesting a search for a corresponding metadata server while delivering the resource ID to other metadata location servers in a group of metadata location servers. How to search metadata server. 다수의 메타 데이터 서버가 분포되어 있는 분산 환경에서 메타데이터 서버를 검색하는 방법에 있어서, In a method for searching a metadata server in a distributed environment in which a plurality of metadata servers are distributed, 클라이언트로부터 찾고자 하는 자원의 ID를 포함하는 메타 데이터 검색 요청을 수신받고, 상기 요청에 상응하는 메타데이터를 관리하고 있는지를 확인하는 단계; Receiving a metadata search request including an ID of a resource to be searched for from a client and confirming whether the metadata corresponding to the request is managed; 상기 메타데이터를 관리하고 있지 않은 경우에, 상기 클라이언트로부터 제공받은 자원의 ID를 위치 서버로 제공하면서 메타 데이터 서버 검색을 요청하며, 상기 위치 서버는 메타데이터 서버들의 위치 정보--상기 위치 정보는 해당 메타 데이터 서버의 접속 정보와, 상기 메타 데이터 서버가 포함하고 있는 메타데이터가 설명하는 자원의 ID를 포함함--를 관리하는, 단계; If the metadata is not managed, the server requests a metadata server search while providing an ID of a resource provided from the client to a location server, and the location server requests location information of metadata servers--the location information corresponds to the location server. Managing access information of a metadata server and an ID of a resource described by metadata included in the metadata server; 상기 위치 서버로부터 상기 자원의 ID에 관련된 메타 데이터를 포함하는 메타 데이터 서버의 위치 정보를 제공받는 단계; Receiving location information of a metadata server including metadata associated with an ID of the resource from the location server; 상기 제공받은 위치 정보를 이용하여 해당 메타데이터 서버에 접속하여 상기 클라이언트의 요청을 전달하는 단계; 및 Transmitting the request of the client by accessing the corresponding metadata server using the provided location information; And 상기 메타 데이터 서버로부터 상기 요청에 대한 응답을 받아 상기 클라이언트로 전송하는 단계Receiving a response to the request from the metadata server and transmitting the response to the client 를 포함하는 메타데이터 서버 검색 방법.Metadata server search method comprising a. 제10항에 있어서,The method of claim 10, 계층 구조의 메타데이터 위치 서버군에 포함되는 로컬 위치 서버가 제1 메타데이터 서버로부터 상기 클라이언트가 요청한 메타데이터 서버 검색 요청과 함께 자원의 ID를 수신받는 단계,Receiving, by a local location server included in a group of metadata location servers in a hierarchical structure, an ID of a resource together with a metadata server search request requested by the client from a first metadata server; 상기 로컬 위치 서버는 상기 자원 ID가 자신의 담당 영역에 속하는지를 판단하는 단계,Determining, by the local location server, whether the resource ID belongs to its own area; 상기 자원 ID가 자신의 담당 영역에 속하지 않으면, 상기 로컬 위치 서버는 차기 위치 등록 서버로 자신의 부모 위치 서버를 지정하는 단계,If the resource ID does not belong to its own area, the local location server designates its parent location server as a next location registration server; 상기 로컬 위치 서버는 상기 차기 위치 등록 서버에 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계,The local location server transmitting the resource ID with a metadata server search request to the next location registration server; 상기 차기 위치 등록 서버가 상기 로컬 위치 서버로부터 상기 자원 ID를 전송받아 자신의 담당 영역에 속하는지를 판단하는 단계,Receiving, by the next location registration server, the resource ID from the local location server and determining whether it belongs to its own area; 상기 전송받은 자원 ID가 자신의 담당 영역에 속하면, 상기 차기 위치 등록 서버는 자신이 ID-IP 쌍을 저장하고 있는 종단 위치 등록 서버인지를 판단하는 단계, If the received resource ID belongs to its own area, the next location registration server determines whether it is an end location registration server storing an ID-IP pair; 상기 종단 위치 등록 서버라면, 상기 자원 ID에 대한 메타데이터를 관리하는 제2 메타데이터 서버의 IP 주소를 상기 로컬 위치 서버로 돌려주는 단계, 그리고Returning, to the local location server, an IP address of a second metadata server managing metadata for the resource ID, if the endpoint location registration server; 상기 로컬 위치 서버가 상기 제2 메타데이터 서버의 IP 주소를 상기 제1 메타 데이터 서버로 전달하는 단계The local location server forwarding the IP address of the second metadata server to the first metadata server 를 더 포함하는 메타데이터 서버 검색 방법.Metadata server search method further comprising. 제11항에 있어서,The method of claim 11, 상기 종단 위치 등록 서버가 아닌 경우, 상기 자원 ID에 해당하는 하위 계층의 위치 등록 서버를 찾아내어 그 자식 위치 서버의 IP 주소를 상기 로컬 위치 서버에게 돌려주는 단계, 그리고If it is not the end location registration server, finding a location registration server of a lower layer corresponding to the resource ID and returning the IP address of its child location server to the local location server; and 상기 로컬 위치 서버는 상기 IP 주소를 차기 위치 등록 서버로 하고, 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 해당 차기 위치 등록 서버에 전송하는 단계The local location server using the IP address as a next location registration server, and transmitting the resource ID together with the metadata server search request to the next location registration server; 를 더 포함하는 메타데이터 서버 검색 방법.Metadata server search method further comprising. 제10항에 있어서,The method of claim 10, 단대단 구조의 메타데이터 위치 서버군에서 로컬 위치 서버 자신이 자원의 ID를 담당하는지를 확인하는 단계,Checking whether the local location server itself is responsible for the resource ID in the end-to-end structure of metadata location servers, 상기 자원 ID를 담당하지 않으면, 상기 로컬 위치 서버 자신을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계,If the resource ID is not in charge, making the local location server itself as a next location server, and transmitting the resource ID with a metadata server search request to the next location server; 상기 차기 위치 서버는 상기 자원 ID를 수신받아 해당 수신받은 자원 ID가 자신이 담당하는지를 확인하는 단계,Receiving, by the next location server, the resource ID and confirming whether the corresponding received resource ID is in charge of it; 상기 수신받은 자원 ID를 담당하지 않으면, 상기 차기 위치 서버는 자신의 핑거 테이블에서 상기 자원 ID가 존재하는 영역에 해당하는 값을 찾는 단계,If not in charge of the received resource ID, the next location server finding a value corresponding to an area where the resource ID exists in its finger table, 상기 차기 위치 서버는 상기 찾은 값에 해당하는 노드의 IP 주소를 상기 로컬 위치 서버에 돌려주는 단계,The next location server returns the IP address of the node corresponding to the found value to the local location server; 상기 로컬 위치 서버는 상기 IP 주소를 수신받아 이것을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 자원 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계Receiving, by the local location server, the IP address as a next location server, and transmitting the resource ID with the metadata server search request to the next location server. 를 더 포함하는 메타데이터 서버 검색 방법.Metadata server search method further comprising. 제13항에 있어서,The method of claim 13, 상기 수신받은 자원 ID를 상기 차기 위치 서버 자신이 담당하면, 상기 차기 위치 서버는 자신의 IP 주소를 상기 로컬 위치 서버에 돌려주는 단계를 더 포함하는 메타데이터 서버 검색 방법.If the next location server itself is responsible for the received resource ID, the next location server further comprises the step of returning its own IP address to the local location server. 제13항에 있어서,The method of claim 13, 상기 위치 서버군에서 새로운 위치 서버가 추가되면, 새로운 위치 서버는 상기 위치 서버군에 존재하는 하나의 위치 서버에 대한 정보를 얻는 단계,When a new location server is added in the location server group, the new location server obtains information about one location server existing in the location server group, 상기 새로운 위치 서버는 상기 얻은 위치 서버에게 자신의 ID를 전송하여 이 ID를 포함하는 영역을 담당하는 메타데이터 서버의 검색을 요청하는 단계,Sending a new location server to the obtained location server and requesting a search for a metadata server in charge of an area including the ID; 상기 얻은 위치 서버는 자신이 상기 ID를 담당하는지를 확인하는 단계,Confirming whether the obtained location server is responsible for the ID; 상기 얻은 위치 서버 자신이 상기 ID를 담당하지 않으면, 상기 얻은 위치 서 버는 자신의 핑거 테이블에서 상기 ID가 존재하는 영역에 해당하는 값을 찾는 단계,If the obtained location server itself is not responsible for the ID, the obtained location server finds a value corresponding to an area where the ID exists in its finger table, 상기 얻은 위치 서버는 상기 찾은 값에 해당하는 노드의 IP 주소를 상기 새로운 위치 서버에 돌려주는 단계,The obtained location server returns the IP address of the node corresponding to the found value to the new location server; 상기 새로운 위치 서버는 상기 IP 주소를 수신받아 이것을 차기 위치 서버로 하고, 해당 차기 위치 서버로 상기 ID를 메타데이터 서버 검색 요청과 함께 전송하는 단계,Receiving, by the new location server, the IP address as a next location server, and transmitting the ID along with a metadata server search request to the next location server; 상기 차기 위치 서버는 상기 ID를 수신받아 해당 수신받은 ID가 자신이 담당하는지를 확인하는 단계,The next location server receives the ID and checks whether the received ID is in charge of it; 상기 수신받은 ID를 상기 차기 위치 서버 자신이 담당하면, 상기 차기 위치 서버는 자신의 IP 주소를 상기 새로운 위치 서버에 돌려주는 단계,If the next location server itself is responsible for the received ID, the next location server returns its IP address to the new location server, 상기 새로운 위치 서버는 상기 차기 위치 서버에게 영역 분할을 요청하는 단계,The new location server requesting the next location server to divide a region; 상기 차기 위치 서버는 자신의 영역을 반으로 분할하여, 한쪽을 상기 새로운 위치 서버에게 양도하고 다른 쪽을 담당하는 단계,The next location server divides its area in half, transfers one side to the new location server, and takes charge of the other; 상기 차기 위치 서버는 자신의 모든 핑거 테이블 정보를 상기 새로운 위치 서버에게 제공하고, 자신의 이전 노드 포인터를 상기 새로운 위치 서버로 수정하는 단계,The next location server provides all of its finger table information to the new location server and modifies its previous node pointer to the new location server; 상기 새로운 위치 서버는 상기 차기 위치 서버의 이전 노드 포인터에 접속하여 이 노드의 다음 노드 포인터를 상기 새로운 위치 서버로 변경할 것을 요청하는 단계,The new location server accessing a previous node pointer of the next location server and requesting to change the next node pointer of this node to the new location server, 상기 새로운 위치 서버는 자신의 이전 노드 포인터를 상기 차기 위치 서버의 이전 노드 포인터로 하고, 다음 노드 포인터를 상기 차기 위치 서버로 하는 단계, 그리고The new location server making its previous node pointer the previous node pointer of the next location server, and the next node pointer the next location server, and 상기 새로운 위치 서버는 상기 핑거 테이블 정보를 바탕으로 자신의 핑거 테이블을 수정하는 단계The new location server modifying its own finger table based on the finger table information 를 더 포함하는 메타데이터 서버 검색 방법.Metadata server search method further comprising. 제15항에 있어서,The method of claim 15, 주기적으로 자신의 핑거 테이블의 엔트리의 노드를 새로 찾아서 핑거 테이블을 수정하는 단계를 더 포함하는 메타데이터 서버 검색 방법.And periodically finding a node of an entry in its finger table to modify the finger table. 제15항에 있어서,The method of claim 15, 검색 시 평균 노드 방문 횟수가 일정 값 이상인 경우에 자신의 핑거 테이블의 엔트리의 노드를 새로 찾아서 핑거 테이블을 수정하는 단계를 더 포함하는 메타데이터 서버 검색 방법.And searching for a node of an entry of an own finger table and modifying the finger table when the average node visit count is a predetermined value or more during the search. 제15항에 있어서,The method of claim 15, 매번 검색 시 중간에 리턴되는 IP 주소와 더불어 그 위치 서버의 담당 영역을 같이 돌려주게 하여 이 내용을 바탕으로 자신의 핑거 테이블을 수정하는 단계를 더 포함하는 메타데이터 서버 검색 방법.And returning the corresponding area of the location server together with the IP address returned in the middle of each search, and modifying his finger table based on the contents.
KR1020070119824A 2007-11-22 2007-11-22 Method of finding metadata server KR100911058B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070119824A KR100911058B1 (en) 2007-11-22 2007-11-22 Method of finding metadata server
US12/176,721 US20090138444A1 (en) 2007-11-22 2008-07-21 Method of searching metadata servers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070119824A KR100911058B1 (en) 2007-11-22 2007-11-22 Method of finding metadata server

Publications (2)

Publication Number Publication Date
KR20090053146A KR20090053146A (en) 2009-05-27
KR100911058B1 true KR100911058B1 (en) 2009-08-06

Family

ID=40670603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070119824A KR100911058B1 (en) 2007-11-22 2007-11-22 Method of finding metadata server

Country Status (2)

Country Link
US (1) US20090138444A1 (en)
KR (1) KR100911058B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929354B2 (en) 2017-05-02 2021-02-23 Electronics And Telecommunications Research Institute Metadata server and method for distributing metadata in directories using the same

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9462056B1 (en) * 2007-10-31 2016-10-04 Emc Corporation Policy-based meta-data driven co-location of computation and datasets in the cloud
CN101577735B (en) * 2009-06-24 2012-04-25 成都市华为赛门铁克科技有限公司 Method, device and system for taking over fault metadata server
US9092478B2 (en) * 2011-12-27 2015-07-28 Sap Se Managing business objects data sources
US20130226876A1 (en) * 2012-02-29 2013-08-29 Construcs, Inc. Synchronizing local clients with a cloud-based data storage system
US10135902B2 (en) * 2013-03-15 2018-11-20 Cox Communications, Inc. Exchange of content consumption-related information between networked devices
US10135901B2 (en) * 2013-03-15 2018-11-20 Cox Communications, Inc. Exchange of content consumption-related information between networked devices
US9584482B2 (en) 2014-03-03 2017-02-28 Qualcomm Connected Experiences, Inc. Access control lists for private networks of system agnostic connected devices
JP6493945B2 (en) * 2015-08-12 2019-04-03 シグニファイ ホールディング ビー ヴィ Green Power for high-density, large-scale networks (proxy table scaling)
KR102038527B1 (en) * 2018-03-28 2019-11-26 주식회사 리얼타임테크 Distributed cluster management system and method for thereof
US10831521B2 (en) 2018-04-27 2020-11-10 Nutanix, Inc. Efficient metadata management
US10839093B2 (en) 2018-04-27 2020-11-17 Nutanix, Inc. Low latency access to physical storage locations by implementing multiple levels of metadata
JP6573044B1 (en) * 2019-03-22 2019-09-11 富士ゼロックス株式会社 Data management system
CN117493641B (en) * 2024-01-02 2024-03-22 中国电子科技集团公司第二十八研究所 Secondary fuzzy search method based on semantic metadata

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213014A (en) 1997-11-19 1999-08-06 Nippon Steel Corp Data base system, data base retrieving method and recording medium
JP2005196540A (en) 2004-01-08 2005-07-21 Sony Corp Metadata relevant information management system, method, management server, metadata reference terminal, and computer program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681227B1 (en) * 1997-11-19 2004-01-20 Ns Solutions Corporation Database system and a method of data retrieval from the system
JP2005148868A (en) * 2003-11-12 2005-06-09 Hitachi Ltd Data prefetch in storage device
JP4885463B2 (en) * 2005-03-03 2012-02-29 株式会社日立製作所 Sensor network system, sensor data processing method and program
EP2312470B1 (en) * 2005-12-21 2018-09-12 Digimarc Corporation Rules driven pan ID metadata routing system and network
JP2007179145A (en) * 2005-12-27 2007-07-12 Brother Ind Ltd Address information search system and address information search program
US9536215B2 (en) * 2007-03-13 2017-01-03 Oracle International Corporation Real-time and offline location tracking using passive RFID technologies

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213014A (en) 1997-11-19 1999-08-06 Nippon Steel Corp Data base system, data base retrieving method and recording medium
JP2005196540A (en) 2004-01-08 2005-07-21 Sony Corp Metadata relevant information management system, method, management server, metadata reference terminal, and computer program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929354B2 (en) 2017-05-02 2021-02-23 Electronics And Telecommunications Research Institute Metadata server and method for distributing metadata in directories using the same

Also Published As

Publication number Publication date
US20090138444A1 (en) 2009-05-28
KR20090053146A (en) 2009-05-27

Similar Documents

Publication Publication Date Title
KR100911058B1 (en) Method of finding metadata server
JP5043937B2 (en) Method and computer program for federated resource discovery in distributed systems
JP5090450B2 (en) Method, program, and computer-readable medium for updating replicated data stored in a plurality of nodes organized in a hierarchy and linked via a network
US7010622B1 (en) Scalable communication within a distributed system using dynamic communication trees
CN109417684A (en) Distributed data collection in wireless sensor network, wherein first node can will be issued own as collector or sensing data to other nodes
CN101351992B (en) Method and system for automatically cloning IT resource structures
CN109873860B (en) Satellite network resource information storage method, discovery method and system
CN103401897A (en) Method for constructing distributed service registration center
CN102316154B (en) Optimize the access to the resource based on federation infrastructure
CN112463755B (en) System and method for storing and reading big data of heterogeneous Internet of things based on HDFS
Roxin et al. Digital building twins-contributions of the ANR McBIM project
Ebadi et al. A new distributed and hierarchical mechanism for service discovery in a grid environment
Jin et al. IoT device management architecture based on proxy
CN101584192A (en) Node registering method
Heil et al. The internet of things-context-based device federations
KR100789919B1 (en) Apparatus for providing usn directory service based on herterogeneous sensor networks and its method
Namatame et al. A distributed resource management architecture for interconnecting web-of-things using uBox
Amundson et al. OASiS: a service-oriented middleware for pervasive ambient-aware sensor networks
Trifa et al. Leveraging the web for a distributed location-aware infrastructure for the real world
van Renesse et al. Autonomic computing: A system-wide perspective
JP2003271440A (en) Contents delivery management system
JP2001318942A (en) Information providing system and mediator
Jiang et al. Meteor: a middleware infrastructure for content‐based decoupled interactions in pervasive grid environments
Arcieri et al. Distributed territorial data management and exchange for public organizations
Ahulló et al. Supporting geographical queries onto DHTs

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140711

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150603

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160705

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170710

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee