이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예에 의해 제한되거나 한정되는 것은 아니다.
도 1은 본 발명의 일실시예에 따른 센서 네트워크를 이용한 자산 추적 시스템의 구성을 도시한 블록도이다.
본 발명은 무선 센서 네트워크 기반의 자산 추적 시스템에서 노드의 오동작 및 획득한 수신 신호 세기(RSSI: Received Signal Strength Indication)의 오차에 의해 발생할 수 있는 자산의 위치 정보의 모호성을 보완할 수 있는 방법을 제시하고 있으며, 상기 방법에 따라 본 발명의 자산 추적 시스템을 순차적으로 설명하도록 한다.
먼저, 다수의 이동 노드(400)는 각 이동 노드(400)가 위치한 장소에 대응하는 위치 정보를 센싱한다.
이동 노드(400)는 하나일 수도 있으나, 일반적으로 하나 이상의 이동 노드가 서로 연결되어 있으며, 이동 노드는 다시 고정 노드와 연결되어 각 노드 간의 위치 정보 및 노드와 연계된 정보를 센싱할 수 있는 센서 네트워크(Sensor Network) 체제를 구성한다.
다음으로, 게이트웨이(300)는 이동 노드(400) 중 특정 이동 노드로부터 데이터를 수집하여 미들웨어(200)에 전송한다.
게이트웨이(300)는 이동 노드(400)와 미들웨어(200) 위치하여 이동 노드(400)내의 센서 노드들로부터 센싱한 데이터를 수집하여 외부에 위치한 미들웨어(200)에게 제공하는 역할을 수행한다.
다음으로, 미들웨어(200)는 상기 특정 이동 노드의 최신 위치 정보와 상기 특정 이동 노드의 최근 과거 위치 정보로부터 결정된 현재 위치 정보를 비교하고, 상기 결과에 따라 해당 위치 정보를 응용 수단(100)으로 전송한다.
미들웨어(200)는 응용 수단(100)과 게이트웨이(300) 사이에 위치하여 네트워크의 연결성과 고수준의 시스템 추상화 인터페이스를 제공함으로써, 이 기종의 이동 노드 기반의 다양한 응용의 개발을 지원한다.
다음으로, 응용 수단(100)은 상기 하나 이상의 특정 이동 노드의 위치 정보를 미들웨어(200)로부터 획득하여 자산 추적을 수행한다.
상기와 같이, 본 발명은 이동 노드(400)가 현재 위치에서 이동하게 되면 응용 수단(100)의 별도의 위치 정보 질의가 없이도 해당 이동 노드는 게이트웨이(300)에게 자동으로 자신의 위치를 보고하고 게이트웨이(300)는 이를 미들웨어(200)에게 전달함으로써, 미들웨어(200)는 자산 추적 시스템을 구성하는 이동 노드들의 위치 정보를 누적하여 저장할 수 있다.
본 발명의 시스템은 각 구성 요소가 모두 주요 기능을 수행하고 있으나, 발명의 내용 설명을 용이하게 하기 위하여 미들웨어(200) 관점에서 다음과 같이 보다 상세하게 설명하고자 한다.
도 2는 본 발명의 일실시예에 따른 센서 네트워크를 이용한 자산 추적 시스템에서 자산 위치 정보의 모호성 보완 장치의 구성을 도시한 블록도이다.
먼저, 질의 신호 수신부(210)는 응용 수단(100)으로부터 특정 이동 노드(400)의 위치 정보에 대한 질의 신호를 수신한다.
이때, 응용 수단(100)은 이동 노드(400) 중 특정 이동 노드에 대한 위치 정보를 획득하기 위한 질의 신호를 미들웨어(200)로 전송하고, 미들웨어(200)는 질의 신호 수신부(210)를 통하여 상기 질의 신호를 수신한다.
다음으로, 질의 신호 전송부(220)는 상기 특정 이동 노드의 위치 정보에 대한 질의 신호를 게이트웨이(300)를 통하여 특정 이동 노드(400)로 전송한다.
즉, 미들웨어(200)는 질의 신호 전송부(220)를 이용하여 상기 특정 이동 노드의 위치 정보에 대한 질의 신호를 게이트웨이(300)로 전송하고, 게이트웨이(300)는 다시 상기 질의 신호를 특정 이동 노드(400)로 전송하여 특정 이동 노드(400)가 해당 위치 정보를 센싱하도록 요청한다.
다음으로, 최신 위치 정보 수신부(230)는 특정 이동 노드(400)로부터 게이트웨이(300)를 통하여 특정 이동 노드(400)의 위치 정보에 대응하는 특정 이동 노드(400)의 최신 위치 정보를 수신한다.
이때, 특정 이동 노드(400)는, 특정 이동 노드(400)에 연계된 하나 이상의 고정 노드의 수신 신호 세기(RSSI: Received Signal Strength Indication) 값을 수집(센싱)하여 게이트웨이(300)로 전송한다.
또한, 게이트웨이(300)는 상기 수신된 특정 이동 노드의 하나 이상의 RSSI 값을 이용하여 게이트웨이(300)에 기 설정된 위치 좌표 계산 알고리즘으로 상기 특정 이동 노드의 최신 위치 정보를 산출한다.
상기와 같이 게이트웨이(300)에서 산출된 상기 특정 이동 노드의 최신 위치 정보는 최신 위치 정보 수신부(230)를 통하여 미들웨어(200)로 전송된다.
또한, 본 발명은 상기 특정 이동 노드에 대한 최신 위치 정보를 수신하는 경우, 동시에 데이터 추출부(250)는 특정 이동 노드(400)의 최근 과거 위치 정보도 데이터베이스(240)로부터 추출한다.
즉, 데이터베이스(240)는 상기 하나 이상의 이동 노드에 대한 위치 정보 및 해당 노드의 다양한 정보를 저장하고 있으며, 데이터 추출부(250)의 요청에 따라 상기 특정 이동 노드의 가장 최근에 저장된 과거 위치 정보를 제공할 수 있다.
다음으로, 연산부(260)는 특정 이동 노드(400)의 최근 과거 위치 정보를 이용하여 특정 이동 노드(400)의 현재 위치 정보를 연산한다.
즉, 연산부(260)는 상기 특정 이동 노드의 평균 이동 속도를 기반으로 상기 특정 이동 노드의 최근 과거 위치 정보로부터 상기 특정 이동 노드의 현재 위치 정보를 연산하여 결과 값을 산출할 수 있다.
다음으로, 판단부(270)는 상기 연산된 특정 이동 노드의 현재 위치 정보와 상기 수신된 최신 위치 정보를 비교하여 기 설정된 임계치를 초과하는지 여부를 판 단한다.
이때, 위치 정보 전송부(280)는 상기 수신된 최신 위치 정보와 상기 연산된 특정 이동 노드의 현재 위치 정보를 비교한 결과가 상기 기 설정된 임계치를 초과하는 경우, 특정 이동 노드(400)의 최근 과거 위치 정보를 응용 수단(100)에 전송한다.
그러나, 판단부(270)의 판단 결과, 상기 수신된 최신 위치 정보와 상기 연산된 특정 이동 노드의 현재 위치 정보를 비교한 결과가 상기 기 설정된 임계치를 초과하지 않는 경우, 상기 특정 이동 노드로부터 수신된 상기 최신 위치 정보를 위치 정보 전송부(280)를 이용하여 응용 수단(100)으로 전송한다.
즉, 본 발명은 특정 이동 노드의 최신 위치 정보와 현재 위치 정보를 비교한 결과가 기 설정된 임계치를 초과하는지 여부를 판단하여, 가장 신뢰성 있는 정보를 응용 수단(100)측으로 제공할 수 있다.
또한, 본 발명은 무선 센서 네트워크로부터 특정 이동 노드의 위치 정보가 어느 순간 전송되지 않으면, 문제 발생의 원인이 해당 이동 노드의 일시적인 오동작 때문인지, 배터리의 방전과 같은 영구적인 문제가 발생하였는지 여부를 판단하여, 상황에 맞는 조치를 취할 수도 있다.
즉, 판단부(270)는 게이트웨이(300)를 통하여 상기 특정 이동 노드로부터 상기 질의 신호에 대응하는 위치 정보가 수신되는지 여부를 판단하고, 상기 질의 신호에 대응하는 상기 특정 이동 노드의 위치 정보가 수신되지 않을 경우, 상기 특정 이동 노드의 오류 여부를 재판단한다.
본 발명에서 상기 특정 이동 노드의 오류 여부를 판단하는 기준은 게이트웨이(300)를 통하여 상기 특정 이동 노드로 소정의 주기 마다 응답 요청 신호(alive 메시지)를 전송하고, 상기 특정 이동 노드로부터 상기 응답 요청 신호에 대한 응답 신호가 수신되는지 여부를 판단하여 상기 특정 이동 노드로부터 상기 응답 요청 신호에 대한 응답 신호가 수신되지 않는 경우, 상기 특정 이동 노드가 오류가 난 것으로 판단한다.
이때, 판단부(270)의 판단 결과 상기 특정 이동 노드가 오류로 판단될 경우, 미들웨어(200)는 오류 정보 전송부(290)을 통하여 응용 수단(100)으로 영구적 오류 정보를 전송함으로써, 특정 이동 노드의 오류 여부를 응용 수단(100)에 알려 줄 수 있다.
그러나, 판단부(270)의 판단 결과 상기 특정 이동 노드가 오류로 판단되지 않는 경우, 미들웨어(200)는 데이터 추출부(250)를 이용하여 상기 특정 이동 노드의 최근 과거 위치 정보를 데이터베이스(240)로부터 추출하고, 위치 정보 전송부(280)을 통하여 상기 추출된 특정 이동 노드의 최근 과거 위치 정보를 응용 수단(100)으로 전송한다.
또한, 본 발명은 센서 네트워크를 이용한 자산 추적 시스템에서 자산 위치 정보의 모호성 보완 장치(200)를 이용하여 특정 이동 노드의 가장 신뢰성 있는 위치 정보를 제공하는 방법을 제시하고 있으며, 상기 방법을 센서 네트워크를 이용한 자산 추적 시스템에서 자산 위치 정보의 모호성 보완 장치(200)의 구성의 기능적 측면을 고려하여 순차적으로 설명하도록 한다.
도 3은 본 발명의 일실시예에 따른 센서 네트워크를 이용한 자산 추적 시스템에서 자산 위치 정보의 모호성 보완 방법을 도시한 흐름도이다.
이때, 상기 방법은 센서 네트워크를 이용한 자산 추적 시스템에서 자산 위치 정보의 모호성 보완 장치(200)를 이용하는 방법에 준하는 내용이므로, 상기 장치의 기능적 요소를 모두 포함하고 있기 때문에 그에 따른 상세한 설명은 생략하여 간략히 설명하기로 한다.
먼저, 질의 신호 수신부(210)는 응용 수단(100)으로부터 특정 이동 노드의 위치 정보에 대한 질의 신호를 수신한다(S310).
다음으로, 질의 신호 전송부(220)는 상기 특정 이동 노드의 위치 정보에 대한 질의 신호를 게이트웨이(300)를 통하여 상기 특정 이동 노드로 전송한다(S320).
다음으로, 최신 위치 정보 수신부(230)는 상기 특정 이동 노드로부터 상기 게이트웨이를 통하여 상기 특정 이동 노드의 위치 정보에 대응하는 상기 특정 이동 노드의 최신 위치 정보를 수신한다(S330).
이때, 상기 최신 위치 정보와 비교하기 위한 특정 이동 노드의 현재 위치 정보연산을 위하여 데이터추출부(250)는 상기 특정 이동 노드의 최근 과거 위치 정보를 데이터베이스(240)로부터 추출한다(S340).
그리고, 연산부(260)는 상기 특정 이동 노드의 최근 과거 위치 정보를 이용하여 상기 특정 이동 노드의 현재 위치 정보를 연산한다(S350).
다음으로, 판단부(270)는 상기 연산된 특정 이동 노드의 현재 위치 정보와 상기 수신된 최신 위치 정보를 비교하여 기 설정된 임계치를 초과하는지 여부를 판 단한다(S360).
이때, 위치 정보 전송부(280)는 상기 수신된 최신 위치 정보와 상기 연산된 특정 이동 노드의 현재 위치 정보를 비교한 결과가 상기 기 설정된 임계치를 초과하는 경우, 상기 특정 이동 노드의 최근 과거 위치 정보를 응용 수단(100)에 전송한다(S370).
하지만, 상기 판단 결과 상기 수신된 최신 위치 정보와 상기 연산된 특정 이동 노드의 현재 위치 정보를 비교한 결과가 상기 기 설정된 임계치를 초과하지 않는 경우, 위치 정보 전송부(280)는 상기 특정 이동 노드로부터 수신된 상기 최신 위치 정보를 응용 수단(100)에 전송한다(S380).
또한, 본 발명은 무선 센서 네트워크로부터 특정 이동 노드의 위치 정보가 어느 순간 전송되지 않으면, 문제 발생의 원인이 해당 이동 노드의 일시적인 오동작 때문인지, 배터리의 방전과 같은 영구적인 문제가 발생하였는지 여부를 판단하여, 상황에 맞는 조치를 취할 수 있는 방법도 제시한다.
도 4는 본 발명의 다른 실시예에 따른 센서 네트워크를 이용한 자산 추적 시스템에서 자산 위치 정보의 모호성 보완 방법을 도시한 흐름도이다.
먼저, 질의 신호 수신부(210)는 응용 수단(100)으로부터 특정 이동 노드의 위치 정보에 대한 질의 신호를 수신한다(S410).
다음으로, 상기 특정 이동 노드의 위치 정보에 대한 질의 신호를 게이트웨이(300)를 통하여 상기 특정 이동 노드로 전송한다(S420).
다음으로, 판단부(270)는 게이트웨이(300)를 통하여 상기 특정 이동 노드로 부터 상기 질의 신호에 대응하는 위치 정보가 수신되는지 여부를 판단한다(S430).
이때, 판단부(270)는 상기 질의 신호에 대응하는 상기 특정 이동 노드의 위치 정보가 수신되지 않을 경우, 상기 특정 이동 노드의 오류 여부를 다시 판단한다(S440).
상기 판단 결과 상기 특정 이동 노드가 오류로 판단될 경우, 오류 정보 전송부(290)는 응용 수단(100)으로 영구적 오류 정보를 전송한다(S450).
그러나, 상기 판단 결과 상기 특정 이동 노드가 오류로 판단되지 않는 경우, 데이터 추출부(250)는 상기 특정 이동 노드의 최근 과거 위치 정보를 데이터베이스(240)로부터 추출하고(S460), 위치 정보 전송부(280)는 상기 추출된 특정 이동 노드의 최근 과거 위치 정보를 응용 수단(100)으로 전송한다(S470).
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된 다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.