KR100987394B1 - 센서 노드의 클러스터링 방법 및 장치 - Google Patents

센서 노드의 클러스터링 방법 및 장치 Download PDF

Info

Publication number
KR100987394B1
KR100987394B1 KR1020090126055A KR20090126055A KR100987394B1 KR 100987394 B1 KR100987394 B1 KR 100987394B1 KR 1020090126055 A KR1020090126055 A KR 1020090126055A KR 20090126055 A KR20090126055 A KR 20090126055A KR 100987394 B1 KR100987394 B1 KR 100987394B1
Authority
KR
South Korea
Prior art keywords
vector
sensor
clustering
sensor node
sensing data
Prior art date
Application number
KR1020090126055A
Other languages
English (en)
Inventor
이용규
Original Assignee
동국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Priority to KR1020090126055A priority Critical patent/KR100987394B1/ko
Application granted granted Critical
Publication of KR100987394B1 publication Critical patent/KR100987394B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

센서 노드의 클러스터링 방법 및 장치가 개시된다. 상기 센서 노드의 클러스터링 방법은, 각 센서 노드의 센싱 데이터의 정규화된 거리를 계산하는 단계, 각 센서 노드의 정규화된 평균 거리를 계산하는 단계, 각 센서 노드에 대응되는 벡터를 생성하고 랭킹을 부여하는 단계, 상기 벡터를 랭킹 순으로 복수 개의 그룹으로 나누고, 각 그룹별 초기 중심벡터를 선정하는 단계 및 상기 초기 중심벡터와 상기 각 센서 노드들과의 유사도에 따라 상기 각 벡터를 클러스터링하는 단계를 포함한다.

Description

센서 노드의 클러스터링 방법 및 장치{Method and apparatus for clustering sensor nodes}
본 발명의 실시예들은 센서 네트워크 및 이를 이용한 데이터 센싱 기술과 관련된다.
센서 네트워크는 각종 센서에서 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크로써, 외부 환경의 감시나 제어 기능을 수행하는 지능형 교통 시스템, 생산 공정 자동 제어, 환자의 상태 원격 감지, 지능형 빌딩 내의 환경 제어 등에 광범위하게 사용되고 있다. 예를 들어, 센서 네트워크는 사람이 접근하기 힘든 지역에 많은 수의 센서들을 설치한 후, 각 센서들로부터 센싱 정보를 수집함으로써 해당 지역의 환경 정보를 감지한다.
이와 같은 센서 네트워크의 경우 센서 노드들이 동적으로 네트워크로 연결되거나 상기 네트워크에서 이탈하는 상황이 자주 발생하며, 각 센서 노드들은 제한된 에너지원만을 가진 경우가 많으므로, 작동 불능이 된 센서 노드를 대체할 노드를 신속히 선정하거나, 특정 센서 노드와 센싱 데이터가 유사한 센서 노드를 검색하거나, 또는 집계 연산 등에 있어 센서 네트워크의 전체 에너지를 효율적으로 사용하 기 위하여 각 센서 네트워크에 속한 노드들을 효과적으로 클러스터링하기 위한 연구가 필요하게 되었다.
본 발명의 실시예들은 센서 네트워크에 속한 각 센서 노드들을 센싱 데이터에 따라 유사한 센서들끼리 클러스터링함으로써 센서 노드의 검색, 집계 연산 및 센싱 주기 조절 등에 유용하게 활용할 수 있는 방법을 제공하고자 한다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 센서 노드의 클러스터링 방법은, 상기 센서 노드의 클러스터링 장치에서, 상기 각 센서 노드의 센싱 데이터의 정규화된 거리를 계산하는 단계; 상기 센서 노드의 클러스터링 장치에서, 상기 각 센서 노드의 정규화된 평균 거리를 계산하는 단계; 상기 센서 노드의 클러스터링 장치에서, 상기 각 센서 노드의 각 센싱 데이터의 정규화된 거리를 이용하여 각 센서 노드에 대응되는 벡터를 생성하는 단계; 상기 센서 노드의 클러스터링 장치에서, 상기 각 센서 노드의 정규화된 평균 거리를 이용하여 생성된 상기 벡터에 랭킹을 부여하는 단계; 상기 센서 노드의 클러스터링 장치에서, 랭킹이 부여된 상기 벡터들을 랭킹 순으로 복수 개의 그룹으로 나누고, 각 그룹별 초기 중심벡터를 선정하는 단계; 및 상기 센서 노드의 클러스터링 장치에서, 선정된 상기 초기 중심벡터와 상기 백터들과의 유사도에 따라 상기 벡터들을 클러스터링하는 단계;를 포함한다.
한편, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 센서 노드의 클러스터링 장치는, 센서 네트워크를 구성하는 각 센서 노드들의 센싱 데이터가 저 장되는 데이터베이스; 상기 데이터베이스에 저장된 상기 센싱 데이터를 이용하여, 상기 각 센서 노드의 센싱 데이터의 정규화된 거리를 계산하는 거리 계산부; 상기 계산된 정규화된 거리를 이용하여 상기 각 센서 노드의 정규화된 평균 거리를 계산하는 평균 거리 계산부; 상기 각 센서 노드의 각 센싱 데이터의 정규화된 거리를 이용하여 각 센서 노드에 대응되는 벡터를 생성하는 벡터 생성부; 및 상기 각 센서 노드의 정규화된 평균 거리를 이용하여 생성된 상기 벡터에 랭킹을 부여하고, 랭킹이 부여된 상기 벡터들을 랭킹 순으로 복수 개의 그룹으로 나누고, 각 그룹별 초기 중심벡터를 선정하며, 선정된 상기 중심벡터와 상기 벡터들과의 유사도에 따라 상기 벡터들을 클러스터링하는 벡터 클러스터링부;를 포함한다.
전술한 것 외의 다른 측면, 특징 및 이점은 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예들은 센서 네트워크에 속한 각 센서 노드들을 센싱 데이터에 따라 클러스터링함으로써, 작동 불능이거나 대체가 필요하거나 또는 검색이 필요한 센서 노드와 가장 유사한 센서 노드를 용이하게 탐색할 수 있으며, 집계 연산 또는 각 센서 노드의 센싱 주기 조절에도 유용하게 활용될 수 있다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설 명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 실시예에 따른 센서 네트워크의 구성을 나타낸 도면이다. 상기 도 1에서는 뿌리(Root)에 해당되는 루트 노드를 최상단에 두고 아래쪽으로 경로를 구성하는 다이어그램을 도시하였다.
도 1을 참조하면, 센서 네트워크(100)에서 간선(edge)으로 직접 연결된 두 개의 노드들 중에서 루트 노드로부터 먼 노드는 자식 노드(Child Node), 루트 노드로부터 가까운 노드는 부모 노드(Parent Node)가 된다. 예를 들어, 도 1에서 식별번호 101에 해당하는 노드의 경우, 부모 노드는 식별번호 104에 해당하는 노드가 되고, 자식 노드는 식별번호 106에 해당하는 노드가 된다. 또한, 자식 노드가 없는 노드는 리프(leaf) 노드이다.
또한, 특정 노드의 부모 노드로부터 루트 노드까지의 상향 경로에 존재하는 모든 노드들은 해당 노드의 조상(Ancestor), 특정 노드의 자식 노드들로부터 리프 노드까지의 모든 하향 경로에 존재하는 모든 노드들은 자손(Descendent)이 되며, 부모가 같은 복수 개의 노드들은 서로 형제(Sibling) 관계에 있게 된다. 예를 들어 노드(101), 노드(102), 및 노드(103)는 서로 형제관계이다.
상기 센서 네트워크(100)의 최상단에는 루트 노드(108)가 존재한다. 루트 노드(108)는 부모 노드가 없는 노드이다. 상기 루트 노드(108)는 베이스 스테이션(미도시)이 루트 노드의 역할을 수행하거나 또는 베이스 스테이션과 연결되며, 센서 네트워크(100)로의 질의는 상기 베이스 스테이션을 통하여 루트 노드(108) 및 그 자손들에게 전파되고, 상기 질의에 대응하여 각 센서 노드들로부터 센싱된 정보 또한 상기 베이스 스테이션을 통하여 센서 네트워크(100)의 외부로 전송된다.
도 2는 본 발명의 일 실시예에 따른 센서 노드의 클러스터링 방법(200)을 나타낸 순서도이다.
상기 센서 노드의 클러스터링 방법(200)을 수행하기에 앞서, 센서 네트워크를 구성하는 각 센서 노드들은 과거의 일정 기간 동안 센싱 데이터를 수집하였다고 가정한다. 이때 상기 센서 노드의 개수를 m개, 각 센서 노드 별로 센싱한 센싱 데이터의 개수를 n개라 하기로 한다. 즉, 각 시점 별로 m개씩 센싱된 데이터가 n번 수집되므로 합계 m*n개의 센싱 데이터가 존재하게 된다.
도시된 바와 같이, 본 발명의 일 실시예에 따른 센서 노드의 클러스터링 방법(200)은, 센서 노드의 각 센싱 데이터의 정규화된 거리 계산 단계(202), 상기 각 센서 노드의 정규화된 평균 거리 계산 단계(204), 상기 각 센서 노드의 각 센싱 데 이터의 정규화된 거리를 이용하여 각 센서 노드 별 벡터를 생성하는 단계(206), 상기 각 센서 노드의 정규화된 평균 거리를 이용하여 생성된 벡터에 랭킹을 부여하는 단계(208), 랭킹이 부여된 벡터들을 랭킹 순으로 그룹화하고 초기 중심벡터를 선정하는 단계(210), 선정된 상기 중심벡터를 이용하여 클러스터링을 수행하는 단계(212), 생성된 클러스터의 중심 벡터를 재계산하는 단계(214), 및 생성된 클러스터들이 클러스터링 조건을 만족하는지의 여부를 판단하여 필요한 경우 클러스터를 조정하는 단계(216, 118)를 포함한다.
이하에서는 상기 각 단계별로 본 발명의 일 실시예에 따른 센서 노드의 클러스터링 방법(200)을 상세히 설명한다.
센서 노드의 각 센싱 데이터의 정규화된 거리 계산(202)
본 발명의 실시예에서, 정규화된 평균 거리는 "과거 일정 기간 동안 각 센서 노드에서 센싱한 데이터와 그로부터 계산된 집계 연산 결과값에 대한 정규화된 평균 거리"를 의미한다. 즉, 각 센서 노드에서 센싱한 데이터의 값이 실제 계산된 집계 연산 결과값과 가까울수록 그 센서 노드의 정규화된 평균 거리는 작게 나타난다. 상기 집계 연산은, 예를 들어 센싱 데이터 값에 대한 최대값, 최소값, 평균값, 중앙값 등을 구하기 위한 연산일 수 있다.
정규화된 평균 거리 계산에서 사용되는 데이터는 과거 일정 기간 동안 센서 네트워크를 구성하는 각 센서 노드들이 수집한 센싱 데이터이며, 이는 데이터베이 스에 저장된다. 즉, 정규화된 평균 거리 계산을 위해 상기 데이터베이스에 저장된 각 센서 노드의 센싱 데이터를 활용한다.
상기 정규화된 평균 거리는 다음과 같이 계산될 수 있다.
먼저, 전술한 바와 같이 센서 네트워크에 노드 1부터 m까지 m개의 센서 노드가 존재하고, 각 센서 노드로부터 센싱된 n개의 센싱 데이터가 상기 데이터베이스에 저장되어 있다고 가정하자. xkj를 노드 k (1≤k≤m) 의 j 번째 (1≤j≤n) 센싱 데이터,
Figure 112009078102270-pat00001
를 모든 센서 노드들의 j 번째 센싱 데이터의 집계 연산 결과 값이라 하면, xkj의 상기 집계 연산 결과 값에 대한 정규화된 거리(e(xkj))는 다음의 수학식 1과 같다.
Figure 112009078102270-pat00002
이때,
Figure 112009078102270-pat00003
(
Figure 112009078102270-pat00004
≠ 0)는 각 노드(i)의 j 번째 센싱 데이터와 모든 센서 노드들의 j 번째 센싱 데이터의 집계 연산 결과 값과의 차이 중 가장 큰 값을 의미한다. 만일
Figure 112009078102270-pat00005
의 값이 0인 경우에는 e(xkj)의 값을 0으로 한다. 상기 수학식 1에 의한 정규화된 거리는 0에 가까울수록 집계 연산의 결과 값에 가까운 것을 나타낸다.
한편, 상기 수학식 1에서 분모를 모든 노드들의 j (1≤j≤n) 번째 센싱 데이터 (즉, j번째 센싱된 m개의 데이터로, 이를 xj(1≤j≤n)라 하자)의 분산으로 할 때의 정규화된 거리(e(xkj))는 다음의 수학식 2와 같다.
Figure 112009078102270-pat00006
수학식 2에서 만일 xj의 분산의 값이 0인 경우에는 e(xkj)의 값을 0으로 한다. 상기 수학식 2에 의한 정규화된 거리는 0에 가까울수록 집계 연산의 결과 값에 가까운 것을 나타낸다.
한편, 상기 수학식 1에서 분모를 모든 노드들의 j (1≤j≤n) 번째 센싱 데이터 (즉, j번째 센싱된 m개의 데이터로, 이를 xj(1≤j≤n)라 하자)의 표준편차로 할 때의 정규화된 거리(e(xkj))는 다음의 수학식 3과 같다.
Figure 112009078102270-pat00007
수학식 3에서 만일 xj의 표준편차의 값이 0인 경우에는 e(xkj)의 값을 0으로 한다. 상기 수학식 3에 의한 정규화된 거리는 0에 가까울수록 집계 연산의 결과 값에 가까운 것을 나타낸다.
각 센서 노드의 정규화된 평균 거리 계산(204)
상기와 같이 각 센서 노드의 각 센싱 데이터의 정규화된 거리가 계산되면 다음으로 각 센서 노드의 정규화된 평균 거리를 계산할 수 있다.
상기 수학식 1, 2 또는 3을 이용하여, 노드 k (1≤k≤m) 의 정규화된 평균 거리(E(nk))를 계산하면 다음의 수학식 4와 같다.
Figure 112009078102270-pat00008
상기 수학식은 노드 k (1 ≤ k ≤ m)의 n 개의 센싱 데이터에 의한 정규화된 평균 거리를 나타낸다. 상기 정규화된 평균 거리는 0에 가까울수록 평균적으로 해당 센서 노드의 센싱 데이터 값이 집계 연산의 결과 값에 가까운 것을 나타낸다.
각 센서 노드 별 벡터 생성 및 랭킹 부여(206, 208)
상기와 같이 각 센서 노드의 각 센싱 데이터의 정규화된 거리가 계산되면 다음으로 각 센서 노드에 대응되는 벡터를 생성할 수 있다. 상기 벡터는 1부터 n까지 n개의 원소를 가지며, 각 원소의 값은 해당 센서 노드의 각 센싱 데이터의 정규화된 거리가 된다. 즉, 상기 노드 k에 대응되는 벡터의 j 번째 원소의 값은 e(xkj)가 된다. 즉, 노드 k의 벡터를 표시하면 다음과 같다.
[e(xk1), e(xk2), ..., e(xkn)]
한편 단순한 방법으로 상기 노드 k에 대응되는 벡터의 j 번째 원소의 값을 xkj로 정할 수도 있다. 즉, 이 경우의 노드 k의 벡터를 표시하면 다음과 같다.
(xk1 , xk2 , ..., xkn)
각 센서 노드에 대응되는 벡터가 생성되면, 다음으로 상기 생성된 벡터들에 랭킹을 부여한다. 상기 랭킹은 1부터 m까지 부여되며, 각 벡터에 대응되는 센서 노드의 정규화된 평균 거리의 오름차순으로 부여될 수 있다.
벡터의 그룹화 및 초기 중심벡터 선정(210)
각 벡터에 랭킹이 부여되면 다음으로 상기 생성된 벡터들을 랭킹 순으로 그룹화하고, 각 그룹별 초기 중심벡터를 선정한다.
만약 상기 m개의 벡터들을 K개의 그룹으로 그룹화할 경우, 각 그룹에 속하는 벡터의 개수는 다음의 수학식 5와 같다. 여기서 K는 사전에 설정된 값이거나 또는 외부에서 입력 받을 수도 있다.
Figure 112009078102270-pat00009
생성된 j 번째 (1≤j≤K) 그룹에 속하는 벡터들의 랭킹의 시작은
Figure 112009078102270-pat00010
이며, 랭킹의 끝은
Figure 112009078102270-pat00011
이다. 그리고 마지막 K번째 그룹에 속하는 벡터들의 렝킹의 끝은 m이다. 따라서, 생성된 j 번째 (1≤j≤K) 그룹에서의 초기 중심벡터의 랭킹은 다음의 수학식 6에 의하여 계산할 수 있다.
Figure 112009078102270-pat00012
수학식 6에서 round는 반올림에 의해 실수를 정수로 변환하는 함수이다. 여기서 반올림 대신에 올림이나 절사 등의 방법에 의해 정수로 변환할 수도 있다.
상기 수학식 6은 j 번째 (1≤j≤K) 그룹의 중간 랭킹의 벡터를 구하여 j 번째 중심 벡터로 선택한다. 이와 같이 구한 각 그룹의 중심 벡터를 이용하여 벡터의 클러스터링을 수행하게 되면 빠르게 클러스터링을 완료할 수 있게 된다. 그 이유는 클러스터링에서 초기 중심 벡터의 선정이 최종적인 클러스터의 중심 벡터와 가까울수록 빠르게 클러스터링을 완료할 수 있으며, 본 발명에서는 센서들의 정규화된 평균 거리를 이용하여 벡터들을 그룹으로 구분하고 각 그룹의 중간 랭킹의 벡터를 초기 중심 벡터로 선정하기 때문이다. 또한 정규화된 평균 거리에 의해 구분된 각 그룹에 속하는 벡터들은 정규화된 평균 거리 측면에서 유사성을 갖게 되어, 이후의 클러스터링 과정에서의 유사도 측정에서도 유사할 가능성이 크므로, 동일 클러스터에 포함될 가능성이 많게 된다.
벡터의 클러스터링(212)
이와 같이 K 개의 초기 중심벡터(제1 중심 벡터부터 제 K 중심 벡터까지)가 선정되면, 다음으로 상기 206 단계에서 생성된 각 벡터를 상기 초기 중심벡터들과 비교하고, 각 벡터와 가장 유사한 초기 중심벡터를 선택하는 방식으로 벡터들을 클러스터링한다. 클러스터링 결과로 각각의 중심 벡터에 해당되는 K개의 클러스터(제1 클러스터부터 제K 클러스터까지)를 구하게 된다.
상기 각 벡터와 각 초기 중심벡터들과의 유사도는 코사인 유사도에 의한 각 벡터 간의 유사도 또는 유클리디언 거리(Euclidean distance) 기반 유사도에 의한 각 벡터 간의 유사도로 계산될 수 있다.
먼저, 상기 코사인 유사도에 의한 벡터 Q(q1, q2, ..., qn)와 D(d1, d2, ..., dn) 간의 유사도는 다음의 수학식 7을 이용하여 계산될 수 있다.
Figure 112009078102270-pat00013
수학식 7에 의한 코사인 유사도는 0에서 1까지의 값을 갖게 되며, 두 벡터간의 공간상의 각도가 작을수록 코사인 유사도가 1에 가깝게 되어 두 벡터간의 유사도가 높게 된다.
다음으로, 상기 유클리디언 거리 기반 유사도에 의한 벡터 Q(q1, q2, ..., qn)와 D(d1, d2, ..., dn) 간의 유사도는 다음의 수학식 8을 이용하여 계산될 수 있다.
Figure 112009078102270-pat00014
수학식 8에 의한 유클리디언 거리 기반 유사도는 0에서 1까지의 값을 갖게 되며, 두 벡터간의 공간상의 거리가 가까울수록 유사도가 1에 가깝게 되어 두 벡터간의 유사도가 높게 된다.
물론 본 발명에 있어서 상기 코사인 유사도 및 유클리디언 거리 기반 유사도에 의한 벡터 간의 유사도 계산은 예시일 뿐이며, 이 밖에 코사인 유사도 및 유클리디언 거리 기반 유사도를 변형한 방법들을 비롯하여 벡터 간의 유사도를 계산하기 위한 다양한 방법들이 존재한다. 따라서 본 발명은 이와 같은 방법 들 중 하나를 선택하여 상기 벡터 간의 유사도 계산에 사용할 수 있으며, 특정한 유사도 계산 방식에 본 발명의 권리범위가 제한되는 것은 아님에 유의하여야 한다.
생성된 클러스터의 중심 벡터 재계산(214)
상기와 같이 벡터들을 가장 유사한 초기 중심벡터와 묶어 클러스터링하게 되 면 K개의 클러스터가 생성된다. 상기 초기 중심벡터는 단순히 벡터들의 랭킹에 따라 정해진 것이므로, 본 단계에서는 생성된 클러스터 각각에 대하여 중심 벡터를 재계산한다.
상기 각 클러스터의 중심 벡터는 전술한 유사도 계산식을 이용하여 클러스터에 속한 각 벡터와 클러스터 내의 다른 벡터들과의 유사도를 계산하고, 상기 클러스터에 속한 벡터들 중 다른 벡터들과의 유사도가 가장 높은 벡터를 해당 클러스터의 중심 벡터로 선정하는 방식으로 계산될 수 있다. 즉, 클러스터 내의 다른 벡터들과의 평균 유클리디언 거리 기반 유사도가 1에 가장 가까운 벡터 또는 코사인 유사도가 1에 가장 가까운 벡터를 중심 벡터로 선택할 수 있다.
클러스터 조정(216, 218)
이와 같이 각 클러스터의 중심 벡터가 재계산되고 나면, 다음으로 생성된 각각의 클러스터가 기 설정된 클러스터링 조건을 만족하는지의 여부를 판단한다.
상기 클러스터링 조건은, 예를 들어 각 클러스터의 최대/최소 벡터 수, 및/또는 클러스터에 속한 벡터들의 중심 벡터와의 최소 허용 유사도 등으로 정할 수 있다. 예를 들어, 각 클러스터의 최대/최소 벡터 수가 80개/40개로 정해진 경우, 클러스터에 속한 벡터의 수가 39개 이하 또는 81개 이상인 클러스터가 존재하거나, 또는 코사인 공식에 의한 중심 벡터와의 최소 허용 유사도가 코사인 값 0.7일 경우, 클러스터 내에 중심 벡터와의 유사도가 코사인 값 0.6인 벡터가 존재하게 되면 해당 클러스터는 상기 클러스터링 조건을 만족하지 못하게 된다.
이와 같이 클러스터링 조건을 만족하지 못하는 클러스터가 존재할 경우에는 해당 클러스터에 포함된 문서 중 일부를 다른 클러스터로 이동하는 방식으로 각 클러스터를 조정할 수 있다. 예를 들어, 중심 벡터와의 유사도가 최소 허용 유사도(D) 보다 작은 벡터가 존재하는 클러스터가 있을 경우, 상기 클러스터에 속한 벡터 중 중심 벡터로부터의 유사도가 D 보다 작은 벡터를 다른 클러스터로 이동시킬 수 있다. 다만 이 경우에는 벡터의 이동 후 이동한 클러스터의 클러스터링 조건을 만족하여야 한다. 이와 같은 클러스터의 조정이 있은 경우에는 각 클러스터에 속한 벡터가 달라지게 되므로 각 클러스터의 중심 벡터를 재계산한다(214).
만약 어떠한 경우에도 상기 클러스터링 조건을 만족하지 못할 경우에는 클러스터링은 실패로 처리하며, 이 때에는 상기 클러스터링 조건들을 재조정하여 다시 클러스터링을 수행할 수 있다.
전술한 방법에 의하여 각 센서들이 클러스터링 되면, 생성된 클러스터는 다음과 같이 활용될 수 있다.
(1) 센서 노드의 검색
상기 생성된 클러스터들을 이용하여 작동 불능 등의 이유로 대체가 필요한 센서 노드의 대체 센서 노드를 검색할 수 있다. 즉, 상기 클러스터를 이용하면 특 정 센서와 가장 유사한 센싱 데이터를 가지는 센서 노드를 쉽게 찾을 수 있으므로, 대체가 필요한 센서 노드와 가장 유사한 특성을 가지는 센서 노드를 찾아 상기 대체가 필요한 센서 노드의 대체 센서 노드로 선정할 수 있다. 또한 생성된 클러스터들은 특정 센서 노드의 검색에도 활용할 수 있다. 예를 들면, 에너지가 많이 소모된 특정 센서 노드의 대체 센서 노드를 검색하든가, 또는 특정 센서 노드와 센싱 데이터가 유사한 다른 센서 노드를 검색할 수 있다.
도 3은 본 발명의 일 실시예에 따른 센서 노드의 검색 방법(300)을 나타낸 순서도이다. 전술한 바와 같이, 상기 센서 노드의 검색 방법(300)은 센서 네트워크에 속한 소정의 센서 노드와 센싱 데이터가 유사한 센서 노드를 검색하기 위하여 사용된다.
먼저, 센서 네트워크 내의 특정 센서 노드(이를 질의 노드라 하자)의 과거 일정 기간 동안의 센싱 데이터를 이용하여 질의 벡터를 생성한다(302). 상기 질의 노드는, 예를 들어 고장 등으로 작동 불능인 센서 노드이거나 또는 에너지가 많이 소모된 센서 노드일 수 있다. 또한, 상기 기간은 클러스터에 포함된 센서 노드들의 센싱 기간과 동일한 기간일 수 있다. 상기 질의 벡터의 생성은 전술한 202 내지 206 단계와 동일한 방법으로 이루어질 수 있다. 다음으로, 상기 생성된 질의 벡터와 상기 각 클러스터의 중심 벡터와의 유사도를 비교하여 상기 질의 벡터와 가장 유사한 클러스터를 선택한다(304). 상기 질의 벡터와 중심 벡터와의 유사도는 클러스터의 구성 과정에서 사용된 유사도와 동일한 방식으로 전술한 코사인 유사도 또는 유클리디언 거리(Euclidean distance) 기반 유사도에 의하여 계산될 수 있다.
상기 질의 벡터와 가장 유사한 클러스터가 선택되면, 다음으로 상기 선택된 클러스터 내의 각 벡터와 상기 질의 벡터와의 유사도를 계산하여 상기 질의 벡터와 가장 유사한 소정 개수(예를 들면 j개, j≥1)의 벡터를 선택하고(306), 선택된 벡터에 대응되는 소정 개수의 센서 노드를 질의 노드와 센싱 데이터가 유사한 센서 노드로 선정한다(308). 유사한 센서 노드는 경우에 따라 가장 유사한 1개의 센서 노드를 선정할 수도 있고, 복수개를 선정할 수도 있다. 이와 같이 검색하고자 하는 센서 노드와 유사한 센서 노드가 선정되고 나면, 필요에 따라 상기 선정된 센서 노드를 상기 질의 노드의 대체 노드로 지정하여 상기 대체 노드로부터 얻은 센싱 값으로 상기 질의 노드의 센싱 값을 대체하여 활용할 수 있다. 즉, 선정된 센서 노드가 1개라면 해당 센서 노드의 센싱 값을 활용할 수 있으며, 선정된 센서 노드가 복수개라면 그 중의 하나의 센싱 값을 활용하거나, 해당 센서 노드들의 센싱 값들로 집계 연산한 결과(예를 들면, 평균값)를 활용할 수도 있다.
(2) 집계 연산에의 활용
집계 연산이란 전술한 바와 같이, 예를 들어 센싱 데이터 값에 대한 최대값, 최소값, 평균값, 중앙값 등을 구하기 위한 연산을 의미한다. 일반적으로 집계 연산을 위해서는 센서 네트워크를 구성하는 전체 센서들로부터 센싱 데이터를 전송받아야 하며, 이를 위하여 막대한 에너지가 소모된다.
그러나 상기와 같이 각 센서 노드들을 센싱 데이터의 유사도에 따라 클러스 터링하게 되면, 각 클러스터 별로 일부의 센서들만을 샘플로 선택하여 집계 연산을 수행하더라도 전체 센서들로부터 센싱 데이터를 전송 받을 때와 비교하여 정확도에서 큰 차이를 보이지 않으면서도 집계 연산에 소모되는 에너지량을 최소화할 수 있다.
집계 연산에 필요한 센서 노드들은 집계 연산의 종류에 따라 다르게 선정할 수 있다. 예를 들어, 집계 연산이 평균값을 구하는 것이라면, 집계 연산에 필요한 센서 노드의 선정은, 각 클러스터로부터 동일한 개수의 센서 노드를 선택하는 방식으로 이루어질 수 있다. 예를 들어 클러스터의 개수를 K, 선택하려는 센서 노드의 개수를 x개(x≥K)라 하면, 각 클러스터로부터
Figure 112009078102270-pat00015
개씩의 센서 노드를 선택하고, 선택된 센서 노드를 이용하여 집계 연산을 수행할 수 있다. 이때 각 클러스터 내에서의 센서 노드의 선택은 각 클러스터 별 중심 벡터와 가장 유사도가 높은 벡터부터 유사도 순으로 이루어질 수 있다.
다른 예로, 집계 연산의 특성에 따라 클러스터별로 동일한 개수의 센서 노드를 선택하는 것이 아니라, 집계 연산을 수행할 클러스터를 선정하고, 선정된 클러스터에 속한 센서 노드 중 일부의 센서 노드를 선택하여 집계 연산을 수행할 수 있다. 예를 들어, 집계 연산이 최대값 또는 최소값을 구하는 것이라면 K개의 클러스터들 중 제1 클러스터에서 집계 연산을 위한 센서 노드들을 선정할 수 있다. 제1 클러스터는 정규화된 평균 거리가 가장 작은 센서 노드들을 포함하게 되므로 제1 클러스터에서 대상 센서 노드들을 선정하는 것이 적은 수의 센서 노드들로도 실제 집계 연산의 결과와 가까운 결과를 얻을 수 있게 된다. 따라서 제1 클러스터에서 정규화된 평균 거리가 작은 순서로 일정 개수의 센서 노드들을 선정할 수 있다.
또 다른 예로, 집계 연산이 중간값을 구하는 것이라면, 중간에 해당되는(예를 들면, round(K/2)번째) 클러스터를 선택하여 집계 연산을 위한 센서 노드들을 선정할 수 있다(round는 반올림에 의해 정수로 변환하는 함수임). 따라서 해당 클러스터에서 정규화된 평균 거리가 중간 순위인 일정 개수의 센서 노드들을 선정할 수 있다.
(3) 센싱 주기 조절
상기 집계 연산과 마찬가지로, 데이터의 센싱에 있어서도 센싱 주기마다 모든 센서 노드들이 센싱을 수행하는 것이 아니라 각 클러스터 별로 일부의 센서 노드만이 센싱을 수행하도록 각 센서 노드의 센싱 주기를 조절함으로써 센서 네트워크의 에너지를 절약할 수 있다.
즉, 한 주기에 센싱을 수행하는 센서 노드의 개수를 y개라 하면, 각 클러스터별로
Figure 112009078102270-pat00016
개의 센서 노드를 선택하여 데이터의 센싱을 수행할 수 있다.
이때, 각 클러스터 내에서는
Figure 112009078102270-pat00017
개의 센서씩 라운드-로빈(round-robin) 방식으로 돌아가면서 센싱할 수 있다. 이 경우 클러스터 내의 중심 벡터와의 유사도를 이용하여 유사도가 균등하게 선택되도록 할 수 있다. 즉, 센싱 주기 별로 중 심 벡터와 유사한 센서들만 선택되거나 유사하지 않은 센서들만 선택되는 것이 아니라, 각 센싱 주기 별로 각 클러스터에서 선택된 센서 노드들과 해당 클러스터의 중심 벡터와의 평균 유사도가 최대한 동일하도록(예를 들면, 평균 유사도가 일정 범위 이내를 만족하도록) 선택될 수 있다. 예를 들어, 클러스터에 속한 각 센서 노드들을 중심 벡터와의 유사도 랭킹 순으로
Figure 112009078102270-pat00018
개의 그룹으로 나누고, 각 그룹에서 라운드-로빈 방식으로 1개씩의 센서 노드가 돌아가면서 선택되도록 할 수 있다.
한편, 본 발명의 실시 예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 센서 노드 클러스터링 장치(400)을 나타낸 순서도이다.
도시된 바와 같이, 본 발명의 일 실시예에 따른 센서 노드 클러스터링 장치(400)는, 데이터베이스(402), 거리 계산부(404), 평균 거리 계산부(406), 벡터 생성부(408) 및 벡터 클러스터링부(410)를 포함한다
데이터베이스(402)는 센서 네트워크를 구성하는 각 센서 노드들이 과거의 일정 기간 동안 센싱한 센싱 데이터가 저장된다.
정규화된 거리 계산부(404)는 데이터베이스(402)에 저장된 상기 센싱 데이터 및 전술한 센싱 데이터의 정규화된 거리 계산식을 이용하여 각 센서 노드의 센싱 데이터의 정규화된 거리를 계산한다.
정규화된 평균 거리 계산부(406)는 정규화된 거리 계산부(404)에서 계산된 각 센서 노드의 정규화된 거리를 이용하여 각 센서 노드의 정규화된 평균 거리를 계산한다.
벡터 생성부(408)는 정규화된 거리 계산부(404)에서 계산된 각 센서 노드의 정규화된 거리를 이용하여 각 센서 노드에 대응되는 벡터를 생성한다. 상기 벡터 생성 방법에 대해서는 전술하였다.
벡터 클러스터링부(410)는 벡터 생성부(408)에서 생성된 벡터를 유사도에 따라 클러스터링한다. 즉, 벡터 클러스터링부(410)는 상기 정규화된 평균 거리에 따라 상기 벡터들을 그룹화하여 각 그룹의 초기 중심벡터를 선정하며, 상기 초기 중 심벡터와 각 벡터와의 유사도를 비교하여 상기 벡터들을 군집화하여 복수 개의 클러스터를 생성한다. 또한, 벡터 클러스터링부(410)는 필요한 경우 생성된 클러스터들에 속한 벡터들을 조정할 수 있으며, 클러스터링 또는 클러스터의 조정이 수행되고 나면 각 클러스터의 중심 벡터를 재계산한다.
한편, 상기 센서 노드 클러스터링 장치(400)는 필요에 따라 센서 노드 검색부(412), 집계 연산부(414) 및 센싱 주기 조절부(416) 중 하나 이상을 더 포함할 수 있다.
센서 노드 검색부 (412)는 특정 센서 노드와 가장 유사한 소정 개수의 센서 노드의 검색이 필요한 경우 상기 생성된 클러스터들을 이용하여 상기 특정 센서 노드와 가장 유사한 순서로 소정 개수의 센서 노드를 검색한다. 상기 검색 방법에 대해서는 전술하였다.
집계 연산부(414)는 전술한 집계 연산 방법을 이용하여 상기 각 클러스터로부터 집계 연산을 위한 샘플 노드들을 선택하고, 상기 샘플 노드들로부터 센싱 데이터값을 전송받아 집계 연산을 수행한다.
센싱 주기 조절부(416)는 전술한 센싱 주기 조절 방법을 이용하여 각 센서 노드의 센싱 주기를 조절하여 각 센싱 주기 마다 최소한으로 필요한 노드만이 데이터의 센싱에 참여할 수 있도록 한다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대 하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시 예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시예에 따른 센서 네트워크의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 센서 노드의 클러스터링 방법(200)을 나타낸 순서도이다.
도 3은 본 발명의 일 실시예에 따른 센서 노드의 검색 방법(300)을 나타낸 순서도이다.
도 4는 본 발명의 일 실시예에 따른 센서 노드 클러스터링 장치(400)을 나타낸 도면이다.

Claims (23)

  1. 센서 노드의 클러스터링 장치에서, 센서 네트워크를 구성하는 복수 개의 센서 노드를 클러스터링하는 방법으로서,
    상기 센서 노드의 클러스터링 장치에서, 상기 각 센서 노드의 센싱 데이터의 정규화된 거리를 계산하는 단계;
    상기 센서 노드의 클러스터링 장치에서, 상기 각 센서 노드의 정규화된 평균 거리를 계산하는 단계;
    상기 센서 노드의 클러스터링 장치에서, 상기 각 센서 노드의 각 센싱 데이터의 정규화된 거리를 이용하여 각 센서 노드에 대응되는 벡터를 생성하는 단계;
    상기 센서 노드의 클러스터링 장치에서, 상기 각 센서 노드의 정규화된 평균 거리를 이용하여 생성된 상기 벡터에 랭킹을 부여하는 단계;
    상기 센서 노드의 클러스터링 장치에서, 랭킹이 부여된 상기 벡터들을 랭킹 순으로 복수 개의 그룹으로 나누고, 각 그룹별 중간 랭킹에 해당하는 벡터를 초기 중심벡터로 선정하는 단계; 및
    상기 센서 노드의 클러스터링 장치에서, 선정된 상기 초기 중심벡터와 상기 벡터들과의 유사도에 따라 상기 벡터들을 클러스터링하는 단계;
    를 포함하는 센서 노드의 클러스터링 방법.
  2. 제1항에 있어서,
    상기 각 센서 노드의 센싱 데이터의 정규화된 거리는, 다음의 수학식
    Figure 112010035184297-pat00019
    (이때, e(xkj)는 xkj의 정규화된 거리, xkj는 k(1≤k≤m)번째 센서 노드의 j 번째 센싱 데이터, n은 센싱 데이터의 개수,
    Figure 112010035184297-pat00020
    는 노드들의 j 번째 센싱 데이터의 집계 연산 결과,
    Figure 112010035184297-pat00021
    는 각 노드(i)의 j 번째 센싱 데이터와 노드들의 j 번째 센싱 데이터의 집계 연산 결과 값과의 차이 중 가장 큰 값)
    에 의하여 계산되는, 센서 노드의 클러스터링 방법.
  3. 제2항에 있어서,
    Figure 112009078102270-pat00022
    값이 0인 경우, 상기 e(xkj) 값은 0으로 설정되는, 센서 노드의 클러스터링 방법.
  4. 제1항에 있어서,
    상기 각 센서 노드의 센싱 데이터의 정규화된 거리는, 다음의 수학식
    Figure 112009078102270-pat00023
    (이때, e(xkj)는 xkj의 정규화된 거리, xkj는 k(1≤k≤m)번째 센서 노드의 j 번째 센싱 데이터, n은 센싱 데이터의 개수,
    Figure 112009078102270-pat00024
    는 노드들의 j 번째 센싱 데이터의 집계 연산 결과, xj(1≤j≤n)는 센서 노드들에서 j번째 센싱된 데이터)
    에 의하여 계산되는, 센서 노드의 클러스터링 방법.
  5. 제4항에 있어서,
    상기 xj의 분산이 0인 경우, 상기 e(xkj) 값은 0으로 설정되는, 센서 노드의 클러스터링 방법.
  6. 제1항에 있어서,
    상기 각 센서 노드의 센싱 데이터의 정규화된 거리는, 다음의 수학식
    Figure 112009078102270-pat00025
    (이때, e(xkj)는 xkj의 정규화된 거리, xkj는 k(1≤k≤m)번째 센서 노드의 j 번째 센싱 데이터, n은 센싱 데이터의 개수,
    Figure 112009078102270-pat00026
    는 노드들의 j 번째 센싱 데이터의 집계 연산 결과, xj(1≤j≤n)는 센서 노드들에서 j번째 센싱된 데이터)
    에 의하여 계산되는, 센서 노드의 클러스터링 방법.
  7. 제6항에 있어서,
    상기 xj의 표준편차가 0인 경우, 상기 e(xkj) 값은 0으로 설정되는, 센서 노드의 클러스터링 방법.
  8. 제1항에 있어서,
    상기 각 센서 노드의 정규화된 평균 거리는, 다음의 수학식
    Figure 112010035184297-pat00027
    (이때, E(nk)는 k 번째 센서 노드(1≤k≤m)의 정규화된 평균 거리, e(xkj)는 xkj의 집계 연산 결과 값에 대한 정규화된 거리, xkj는 k 번째 센서 노드의 j 번째 센싱 데이터, n은 센싱 데이터의 개수)
    에 의하여 계산되는, 센서 노드의 클러스터링 방법.
  9. 제1항에 있어서,
    상기 벡터의 각 원소의 값은 상기 벡터와 대응되는 센서 노드의 각 센싱 데이터의 정규화된 거리인, 센서 노드의 클러스터링 방법.
  10. 제1항에 있어서,
    상기 초기 중심벡터는, 다음의 수학식
    Figure 112009078102270-pat00028
    (이때, K는 상기 그룹의 개수, j는 초기 중심벡터가 속하는 그룹으로서 1≤j≤K, round(X)는 반올림에 의해 X를 정수로 변환하는 함수)
    에 의하여 계산된 랭킹을 가지는 벡터인, 센서 노드의 클러스터링 방법.
  11. 제1항에 있어서,
    상기 벡터 클러스터링 단계는,
    상기 생성된 벡터들와 상기 초기 중심벡터와의 유사도를 비교하여 가장 유사한 초기 중심벡터를 선택하는 단계;
    상기 생성된 벡터들을 가장 유사한 초기 중심벡터가 동일한 벡터끼리 그룹화하여 복수 개의 클러스터를 생성하는 단계;
    생성된 클러스터의 중심 벡터를 재계산하는 단계;
    상기 생성된 클러스터들이 기 설정된 클러스터링 조건을 만족하는지의 여부를 판단하여, 만족하지 못하는 경우 상기 클러스터링 조건을 만족하도록 각각의 클러스터에 속한 벡터의 일부를 다른 클러스터로 이동하고, 벡터의 일부가 이동한 클러스터의 중심 벡터를 재계산하는 단계;
    를 더 포함하는, 센서 노드의 클러스터링 방법.
  12. 제11항에 있어서,
    상기 생성된 벡터와 상기 초기 중심벡터와의 유사도는 코사인 유사도에 의한 각 벡터 간의 유사도 또는 유클리디언 거리(Euclidean distance) 기반 유사도에 의 한 각 벡터 간의 유사도에 의하여 계산되는, 센서 노드의 클러스터링 방법.
  13. 제12항에 있어서,
    상기 코사인 유사도에 의한 각 벡터 간의 유사도는, 다음의 수학식
    Figure 112009078102270-pat00029
    (이때, Q, D는 유사도 비교하기 위한 벡터, qt, dt 는 상기 벡터 Q, D를 구성하는 각 원소, n은 각 벡터의 원소의 개수)
    에 의하여 계산되는, 센서 노드의 클러스터링 방법.
  14. 제12항에 있어서,
    상기 유클리디언 거리 기반 유사도에 의한 각 벡터 간의 유사도는, 다음의 수학식
    Figure 112009078102270-pat00030
    (이때, Q, D는 유사도를 비교하려는 벡터, qt, dt 는 상기 벡터 Q, D를 구성하는 각 원소, n은 각 벡터의 원소의 개수)
    에 의하여 계산되는, 센서 노드의 클러스터링 방법.
  15. 제1항에 있어서,
    상기 클러스터링 단계의 수행 이후, 상기 센서 노드의 클러스터링 장치에서, 센싱 데이터가 유사한 센서 노드를 검색하고자 하는 질의 노드의 과거 일정 기간 동안의 센싱 데이터를 이용하여 질의 벡터를 생성하는 단계;
    상기 센서 노드의 클러스터링 장치에서, 상기 생성된 질의 벡터와 상기 각 클러스터의 중심 벡터와의 유사도를 비교하여 상기 질의 벡터와 가장 유사한 클러스터를 선택하는 단계;
    상기 센서 노드의 클러스터링 장치에서, 상기 선택된 클러스터 내의 각 벡터와 상기 질의 벡터와의 유사도를 계산하여 상기 질의 벡터와 가장 유사한 소정 개수의 벡터를 선택하는 단계; 및
    상기 센서 노드의 클러스터링 장치에서, 상기 선택된 벡터에 대응되는 소정 개수의 센서 노드를 상기 질의 노드와 센싱 데이터가 가장 유사한 센서 노드로 선정하는 단계;를 더 포함하는, 센서 노드의 클러스터링 방법.
  16. 제1항에 있어서,
    상기 클러스터링 단계의 수행 이후,
    상기 센서 노드의 클러스터링 장치에서, 각 클러스터별로 집계 연산을 수행할 소정 개수의 센서 노드를 선정하는 단계; 및
    상기 센서 노드의 클러스터링 장치에서, 상기 선정된 센서 노드로부터 센싱 데이터를 전송받아 집계 연산값을 추정하는 단계;
    를 더 포함하는, 센서 노드의 클러스터링 방법.
  17. 제16항에 있어서,
    상기 센서 노드 선정 단계는,
    상기 각 클러스터에 속한 센서 노드를 각 클러스터의 중심 벡터와의 유사도에 따라 랭킹을 부여하고, 부여된 랭킹이 높은 순서로 소정 개수의 센서 노드를 선정하는, 센서 노드의 클러스터링 방법.
  18. 제1항에 있어서,
    상기 클러스터링 단계의 수행 이후,
    상기 센서 노드의 클러스터링 장치에서, 집계 연산을 수행할 클러스터를 선택하는 단계;
    상기 센서 노드의 클러스터링 장치에서, 상기 선택된 클러스터에 포함된 센서 노드 중 소정 개수의 센서 노드를 선정하는 단계; 및
    상기 센서 노드의 클러스터링 장치에서, 상기 선정된 센서 노드로부터 센싱 데이터를 전송받아 집계 연산값을 추정하는 단계;
    를 더 포함하는, 센서 노드의 클러스터링 방법.
  19. 제1항에 있어서,
    상기 클러스터링 단계의 수행 이후,
    상기 센서 노드의 클러스터링 장치에서, 센싱 주기 별로 각 클러스터 내에서 센싱을 수행할 소정 개수의 센서 노드를 선택하는 단계; 및
    상기 센서 노드의 클러스터링 장치에서, 상기 선택된 센서 노드로부터 센싱된 데이터를 전송받는 단계;
    를 더 포함하는, 센서 노드의 클러스터링 방법.
  20. 제19항에 있어서,
    상기 센서 노드의 선택은 각 센싱 주기 별로 선택된 센서 노드의 중심 벡터와의 평균 유사도가 기 설정된 소정 범위 이내를 만족하도록 이루어지는, 센서 노드의 클러스터링 방법.
  21. 제1항 내지 제20항 중 어느 한 항에 기재된 방법을 컴퓨터상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  22. 센서 네트워크를 구성하는 각 센서 노드들의 센싱 데이터가 저장되는 데이터베이스;
    상기 데이터베이스에 저장된 상기 센싱 데이터를 이용하여, 상기 각 센서 노드의 센싱 데이터의 정규화된 거리를 계산하는 거리 계산부;
    상기 계산된 정규화된 거리를 이용하여 상기 각 센서 노드의 정규화된 평균 거리를 계산하는 평균 거리 계산부;
    상기 각 센서 노드의 각 센싱 데이터의 정규화된 거리를 이용하여 각 센서 노드에 대응되는 벡터를 생성하는 벡터 생성부; 및
    상기 각 센서 노드의 정규화된 평균 거리를 이용하여 생성된 상기 벡터에 랭킹을 부여하고, 랭킹이 부여된 상기 벡터들을 랭킹 순으로 복수 개의 그룹으로 나누고, 각 그룹별 중간 랭킹에 해당하는 벡터를 초기 중심벡터로 선정하며, 선정된 상기 중심벡터와 상기 벡터들과의 유사도에 따라 상기 벡터들을 클러스터링하여 하나 이상의 클러스터를 생성하는 벡터 클러스터링부;
    를 포함하는 센서 노드의 클러스터링 장치.
  23. 제22항에 있어서,
    상기 생성된 클러스터들을 이용하여 상기 센서 네트워크에 포함된 특정 센서 노드와 가장 유사한 소정 개수의 센서 노드를 검색하는 센서 노드 검색부;
    상기 각 클러스터에 포함된 센서 노드 중 집계 연산을 수행할 샘플 노드들을 선택하고, 선택된 샘플 노드들로부터 센싱 데이터값을 전송받아 집계 연산을 수행하는 집계 연산부; 및
    상기 각 클러스터에 포함된 센서 노드들 중 각 센싱 주기마다 데이터를 센싱할 센서 노드를 선택하는 센싱 주기 조절부;
    중 하나 이상을 더 포함하는, 센서 노드의 클러스터링 장치.
KR1020090126055A 2009-12-17 2009-12-17 센서 노드의 클러스터링 방법 및 장치 KR100987394B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090126055A KR100987394B1 (ko) 2009-12-17 2009-12-17 센서 노드의 클러스터링 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090126055A KR100987394B1 (ko) 2009-12-17 2009-12-17 센서 노드의 클러스터링 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100987394B1 true KR100987394B1 (ko) 2010-10-12

Family

ID=43135391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090126055A KR100987394B1 (ko) 2009-12-17 2009-12-17 센서 노드의 클러스터링 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100987394B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150088141A (ko) * 2014-01-23 2015-07-31 한국전자통신연구원 센서 네트워크 시스템 및 센서 데이터를 처리하는 방법
KR20160084585A (ko) * 2015-01-06 2016-07-14 삼성전자주식회사 센서 정보 처리 방법 및 장치
CN110874385A (zh) * 2018-08-10 2020-03-10 阿里巴巴集团控股有限公司 数据处理方法、装置和系统
KR102165862B1 (ko) * 2019-07-23 2020-10-14 성균관대학교산학협력단 무선 센서 네트워크에서 노드 데이터 집합 방법 및 장치
KR102370790B1 (ko) * 2020-09-16 2022-03-07 주식회사 세수 환경 센서의 측정값 예측 방법
US11816149B2 (en) 2020-02-11 2023-11-14 Samsung Electronics Co., Ltd. Electronic device and control method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100785794B1 (ko) 2006-09-18 2007-12-13 한국전자통신연구원 위치 인식을 위한 노드, 이를 이용한 클러스터 형성 방법및 위치 인식 방법
KR20080044468A (ko) * 2006-11-16 2008-05-21 주식회사 케이티 무선 센서 네트워크에서의 클러스터링 방법과 그 기록매체
KR20090065233A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 무선 센서 네트워크에서 클러스터링 기반의 위치 인식 방법
KR20090090767A (ko) * 2008-02-22 2009-08-26 성균관대학교산학협력단 무선 센서네트워크의 에너지와 거리 기반 클러스터링라우팅 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100785794B1 (ko) 2006-09-18 2007-12-13 한국전자통신연구원 위치 인식을 위한 노드, 이를 이용한 클러스터 형성 방법및 위치 인식 방법
KR20080044468A (ko) * 2006-11-16 2008-05-21 주식회사 케이티 무선 센서 네트워크에서의 클러스터링 방법과 그 기록매체
KR20090065233A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 무선 센서 네트워크에서 클러스터링 기반의 위치 인식 방법
KR20090090767A (ko) * 2008-02-22 2009-08-26 성균관대학교산학협력단 무선 센서네트워크의 에너지와 거리 기반 클러스터링라우팅 방법 및 장치

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150088141A (ko) * 2014-01-23 2015-07-31 한국전자통신연구원 센서 네트워크 시스템 및 센서 데이터를 처리하는 방법
KR102191427B1 (ko) 2014-01-23 2020-12-15 한국전자통신연구원 센서 네트워크 시스템 및 센서 데이터를 처리하는 방법
KR20160084585A (ko) * 2015-01-06 2016-07-14 삼성전자주식회사 센서 정보 처리 방법 및 장치
KR102252168B1 (ko) * 2015-01-06 2021-05-14 삼성전자 주식회사 센서 정보 처리 방법 및 장치
US11019147B2 (en) 2015-01-06 2021-05-25 Samsung Electronic Co., Ltd Method and apparatus for processing sensor information
CN110874385A (zh) * 2018-08-10 2020-03-10 阿里巴巴集团控股有限公司 数据处理方法、装置和系统
CN110874385B (zh) * 2018-08-10 2023-11-14 阿里巴巴集团控股有限公司 数据处理方法、装置和系统
KR102165862B1 (ko) * 2019-07-23 2020-10-14 성균관대학교산학협력단 무선 센서 네트워크에서 노드 데이터 집합 방법 및 장치
US11816149B2 (en) 2020-02-11 2023-11-14 Samsung Electronics Co., Ltd. Electronic device and control method thereof
KR102370790B1 (ko) * 2020-09-16 2022-03-07 주식회사 세수 환경 센서의 측정값 예측 방법

Similar Documents

Publication Publication Date Title
KR100987394B1 (ko) 센서 노드의 클러스터링 방법 및 장치
Puschmann et al. Adaptive clustering for dynamic IoT data streams
CN106202431B (zh) 一种基于机器学习的Hadoop参数自动调优方法及系统
Rokach et al. Clustering methods
KR101560274B1 (ko) 데이터 분석 장치 및 방법
Huang et al. In-route skyline querying for location-based services
US11138266B2 (en) Leveraging query executions to improve index recommendations
KR101965277B1 (ko) 하이퍼그래프 데이터 분석 시스템 및 방법과, 이를 위한 컴퓨터 프로그램
CN102915347A (zh) 一种分布式数据流聚类方法及系统
Thushara et al. A model for auto-tagging of research papers based on keyphrase extraction methods
Yu et al. Automatically determining the number of clusters using decision-theoretic rough set
Tu et al. A theoretical investigation of several model selection criteria for dimensionality reduction
Džeroski et al. Analysis of time series data with predictive clustering trees
JPWO2012111235A1 (ja) 情報処理装置、情報処理方法及び記憶媒体
US20100198758A1 (en) Data classification method for unknown classes
CN104809210B (zh) 一种基于分布式计算框架下海量数据加权top‑k查询方法
Dai et al. PARP: A parallel traffic condition driven route planning model on dynamic road networks
Praus High-ranked citations percentage as an indicator of publications quality
Şerban et al. Hierarchical adaptive clustering
Kranen et al. BT*–An Advanced Algorithm for Anytime Classification
Cai et al. Rough Fuzzy C-means and Particle Swarm Optimization Hybridized Method for Information Clustering Problem.
Yang et al. Collaborative filtering recommendation model based on fuzzy clustering algorithm
CN110097126A (zh) 基于dbscan聚类算法的核查重点人员、房屋漏登记的方法
Puschmann Extracting information from heterogeneous internet of things data streams
Abuzaid et al. Simdex: Exploiting model similarity in exact matrix factorization recommendations

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20131014

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141002

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151002

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 9