The Virtual Select and Range Join Operations for Wireless Sensor Networks
센서네트워크를 위한 가상선택연산과 범위조인연산
- 발행기관 Kangnung National University Graduate School
- 발행년도 2007
- 학위수여년월 2007. 8
- 학위명 박사
- 학과 및 전공 Department of Computer Science and Engineering
- 원문페이지 xii, 129 p.
- 본문언어 영어
초록/요약
센서네트워크는 주로 방대한 지역에서 많은 데이터를 수집하는데 사용된다. 이러한 방대한 데이터를 취급하기 위하여 센서네트워크 자체를 하나의 데이터베이스로 간주하여 관계형 데이터베이스 개념을 센서네트워크에 도입 하려는 연구가 활발히 진행되고 있다. 그 이유는 센서노드로부터 정보를 수집하고 수집된 정보를 분석함에 있어 단순한 질의 언어를 이용하여 응용프로그램을 보다 쉽고 간단하게 작성할 수 있기 때문이다. 하지만 기존 관계형 데이터베이스 개념을 그대로 센서네트워크에 적용하기에는 몇 가지 문제가 발생한다. 그 중 하나는 데이터베이스의 모든 연산은 실제로 릴레이션 내에 존재하는 튜플만을 대상으로 한다는 것이다. 기존 관계형 데이터베이스에서는 이러한 특징이 당연한 것이었지만 센서네트워크에서는 실제로 존재하지 않는 튜플을 대상으로 데이터베이스 연산이 이루어져야 하는 경우가 발생하기 때문이다. 예를 들어 온도 센서네트워크를 가정해 보자. 이 경우 센서네트워크 영역내에서 22℃인 지점을 알고 싶을 때 어떤 질의를 작성하면 원하는 결과를 얻을 수 있을까? 이 경우 센서노드의 위치에서 정확히 22℃를 감지한 센서노드들만 응답을 할 것이다. 하지만 정확히 22℃인곳에 배치된 센서노드는 없거나 매우 극소수일 것이다. 따라서 결과는 공집합이거나 극소수의 튜플이 될 것이다. 또한 실제로 22℃인 곳이 센서네트워크 영역 안에 존재하더라도 해당 위치에 센서노드가 배치되어 있지 않다면 그 곳에 대한 결과를 얻을 수 없다. 또 다른 예로 두 종류의 센서노드로 구성되어 있는 센서네트워크를 가정해 보자. 만약 각각의 노드가 독립적으로 배치된다면 서로 다른 종류의 센서노드가 동일한 위치에 배치될 확률은 매우 적다. 이 경우 위치를 기준으로 하여 두 종류의 센서노드가 수집한 값들의 상관관계를 알고자 할 때 어떤 질의를 작성할 수 있을까? 기존의 데이터베이스에서는 조인연산을 이용해서 이러한 문제를 해결하였지만 센서네트워크에서는 이 문제에 대한 해결방법이 될 수 없다. 그 이유는 조인연산은 조인속성값이 정확하게 일치하는 튜플들만 조인연산의 결과로 출력하기 때문이다. 하지만 센서네트워크에서는 정확하게 일치하는 장소에 두 센서노드가 배치되기 어렵기 때문에 대부분의 결과는 공집합이 되어 사용자가 원하는 결과를 얻을 수 없다. 본 논문에서는 이러한 문제를 해결하기 위하여 센서네트워크를 위한 새로운 연산자 두 가지를 제안한다. 그 중 하나는 가상선택연산이고 다른 하나는 범위조인연산이다. 가상선택연산은 술어조건을 만족하는 튜플이 릴레이션에 존재하지 않으면 술어조건과 유사한 튜플들을 이용하여 술어조건을 만족하는 튜플을 생성하는 연산이다. 범위조인연산은 조인연산시 정확히 조인속성값이 같은 튜플들만 선택하는 것이 아니라 일정 범위 내에서 조인속성값이 비슷한 튜플도 선택하여 결과로 출력한다. 또한 이러한 연산을 효율적으로 수행하기 위해서는 정확하게 키 값이 일치하는 튜플을 찾는 검색 알고리즘이 아니라 주어진 키 값과 유사한 튜플을 찾는 검색 알고리즘이 필요하다. 본 논문에서는 새로이 제안된 연산을 효율적으로 수행될 수 있도록 주어진 키 값과 유사한 튜플을 검색할 수 있는 알고리즘도 함께 제안한다. 본 논문에서 제안된 가상선택연산 및 범위조인연산과 검색 알고리즘을 센서네트워크에 도입하면 좀 더 효율적인 데이터 관리가 가능하며 사용자 및 응용프로그램에 표준화된 인터페이스도 제공할 수 있다. 게다가 센서네트워크의 가장 중요한 연구 분야 중 하나인 통신 에너지 절약 측면에서도 큰 효과를 볼 수 있으며 응용프로그램의 코드를 단순화 하여 센서네트워크 시스템의 강건성도 증진시킬 수 있다.
more초록/요약
Most sensor networks are currently used to gather sensed data from a broad range of environments in which it is very difficult to deploy the existing networks (e.g., internet). Recently, research has been done on relational database approaches for sensor networks have been performed, because they make it easier to write application codes using a simple query language representation mechanism without representing a detailed code to gather and analyze data from sensor network nodes. In these approaches a sensor network is regarded as a database. Some problems occur, however, in directly applying traditional relational database concepts into a sensor network in that all database operations in the traditional database are performed only on real existing data which are tuples in database relations or real data extracted from the existing tuples of base relations (e.g., in the case of views in the relational database). The reason is because from the viewpoint of a sensor network, situations under which some operations should be performed on non-existing data may occur frequently. For instance, consider the following examples: How can we write a query to get the locations at which the temperature is 22℃, given a sensor network area in which there are some spots at exactly 22℃ but there is no sensor node to announce exactly 22℃?Can we write a query to get the temperature of a spot with no sensor node? In addition, let us assume a sensor network in which two different types of nodes are scattered in the same area. Each node might have only one sensor or two different sensors. In this situation, if one poses a query to know the relationship between two different types of sensed values according to the locations, he or she cannot get the desired results because the location where two different sensors exist together is rare or does not exist. In order to solve the above described problems, we propose the two new database operations for sensor networks and show how the above queries’ results could be obtained using those new operations. One is a 'virtual select operation' which allows the creation of appropriate tuples with existing tuples which have similar attribute values if there is no tuple which satisfies the predicate. The other is a 'range join operation' which permits not only exactly matching key value join but also similar key value join within a given range. From a tuple searching point of view, these new operations need a searching algorithm which has the ability to find not only a tuple by one searching key set but also tuples by a range searching key set. Therefore, to enhance the performance of the operations, new searching algorithms for the new operations are also proposed in this paper. As a result, these new database operations with new searching algorithms can provide more effective data management and standard interfaces to application programs for sensor networks. Furthermore, it is also helpful to save a node's energy by reducing the number of communications for processing a query and enhances the robustness of a sensor network system.
more목차
1.Introduction = 1
2. Related Works on Sensor Network Datavases = 7
3. Background and Challenges = 12
3.1. The Select Operation and Virtual Select Operation = 13
3.2. The Join Operation and Range Join Operation = 19
4. Notations and Terminology Definitions = 23
4.1. Notations = 24
4.2. Terminology Definitions = 24
5. The Virtual Select Database Operation = 27
5.1. The Virtual Relation = 28
5.2. The virtual Select Operation = 32
5.2.1. The Virtual Select Operation Having One Basis Attribute = 34
5.2.2. The General Virtual Select Operation = 46
5.2.3. Some Examples for the Virtual Select Operation = 57
5.3. The NP-r Searching Algorithm with k-d Tree = 65
5.3.1. Overview of the NP-r Searching Algorithm = 65
5.3.2. Pseudo-code of the NP-r Searching Algorithm = 66
5.4. Implementing the Virtual Select Operation on sensor Nwtworks = 70
5.4.1. Generating Virtual Tuples at a Base Station = 71
5.4.2. Gnerating Virtual Tuples at Sensor Nodes = 72
5.4.3. Generating Virtual Tuples at Sensor Nodes with Geometrical Basis Attributes = 75
6. The Range Join Database Operation = 78
6.1. The Balanced Range Join Operation = 79
6.1.1. The Balanced Range Join for Two Relations = 80
6.1.2. The Balanced Range Join for Over Three Relations = 84
6.2. The Imbalanced Range Join Operation = 89
6.2.1. The Imbalanced Range Join for Two Relations = 89
6.2.2. The Imbalaned Range Join for Over Three Relations = 93
6.3. The Radius-r Searching Algorithm with k-d Tree = 97
6.3.1. Overview of the Radius-r Serching Algorithm = 98
6.3.2. Pseudo-code of the Radius-r Searching Algorithm = 101
6.4. Imlpmenting the Range Join Operation on Sensor Networks = 104
6.4.1. The Range Join at a Base Station = 105
6.4.2. The Range Join at Sensor Nodes = 105
7. Performance Analysis = 107
7.1. Performance Analysis for the Virtual Select Operation = 108
7.2. Performance Analysis for the Range Join Operation = 116
8. Conclusion = 124
References = 127

