KR100929797B1 - 무선센서네트워크상에서 소프트웨어 업데이트방법 - Google Patents

무선센서네트워크상에서 소프트웨어 업데이트방법 Download PDF

Info

Publication number
KR100929797B1
KR100929797B1 KR20070135645A KR20070135645A KR100929797B1 KR 100929797 B1 KR100929797 B1 KR 100929797B1 KR 20070135645 A KR20070135645 A KR 20070135645A KR 20070135645 A KR20070135645 A KR 20070135645A KR 100929797 B1 KR100929797 B1 KR 100929797B1
Authority
KR
South Korea
Prior art keywords
image
node
page
pages
software
Prior art date
Application number
KR20070135645A
Other languages
English (en)
Other versions
KR20090067848A (ko
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 KR20070135645A priority Critical patent/KR100929797B1/ko
Publication of KR20090067848A publication Critical patent/KR20090067848A/ko
Application granted granted Critical
Publication of KR100929797B1 publication Critical patent/KR100929797B1/ko

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 무선네트워크상에서의 소프트웨어 업데이트방법에 관한 것으로, 무선센서네트워크상에서 소프트웨어 업데이트의 방법은 싱크노드의 데이터보급프로토콜을 통해 복수개의 센서노드의 소프트웨어를 업데이트하는 베이스스테이션으로 이루어지는 무선센서네트워크상에서의 소프트웨어 업데이트시스템을 이용하며, 네트워크 내의 전체 노드를 업데이트 할 것인지 일부만 업데이트 할 것인지 업데이트에 대상이 되는 노드를 선택하는 제 1 단계, 대상이 되는 모든 노드에 탑재되어 있는 기존 이미지와 업데이트 할 새로운 이미지를 일정한 크기의 페이지 단위로 나누는 제2 단계, 페이지 단위로 나누어진 현재 노드의 기존 이미지와 업데이트 하고자 하는 새로운 이미지를 비교하는 제3 단계, 및 상기 비교결과 내용에 차이가 있는 페이지들만 모아서 전송을 하는 제4 단계를 포함하여 이루어진 것을 특징으로 하여 센서 네트워크 내의 다수의 센서 노드 장치에 동작하는 서로 다른 소프트웨어들을 호스트 시스템으로부터 효율적으로 업데이트 할 수 있다. 이로써 네트워크의 전송량과 에너지 소비량을 감소시킬 수 있다.
멀티-홉 무선 센서 네트워크, 다중 버전 소프트웨어, 이종 소프트웨어

Description

무선센서네트워크상에서 소프트웨어 업데이트방법{Multiple Version Software Update Method for Wireless Sensor Networks}
본 발명은 무선센서 네트워크상에서 효율적인 다중버전 소프트웨어 업데이트방법에 관한 것으로, 더욱 상세하게는, 운영체제(TinyOS) 기반의 센서 네트워크에 대한 업데이트 알고리즘으로서 업데이트 대상 노드들에 대한 새로운 버전의 소프트웨어를 빠르고 효과적으로 전달하기 위하여 업데이트 프로그램 이미지를 효과적으로 재구성하여 패킷의 수와 소요시간을 단축시킬 수 있는 무선센서네트워크상에서 소프트웨어의 업데이트방법에 관한 것이다.
본 발명에서는 인코딩(Encoding)과 디코딩(Decoding) 과정을 위한 이미지 구성 방법을 새롭게 제안하였으며, 또한 멀티 홉 형태의 네트워크에서 동작 가능한 방법을 제안하였다.
무선 센서 네트워크는 주로 환경 모니터링이나 위치 추적 등 사람이 장시간 동안 직접 수집하기 힘든 곳의 정보를 수집하기 위하여 사용된다. 센서 노드는 한번 배치되어지면 사람의 간섭 없이 오랜 기간 동안 동작될 수 있지만 수집되는 정보를 변경하거나 외부 환경의 영향으로 버그나 시스템 장애가 발생하였을 때 센서 노드의 프로그램을 수정하거나 바꿔야 할 경우가 있다. 이때 무선 센서 네트워크를 통해 센서 노드의 소프트웨어를 변경하는 방법을 무선 센서 네트워크의 소프트웨어 업데이트라 한다. 소프트웨어 업데이트에 관한 현존하는 대표적인 방법으로는 XNP(Crossbow Technology, Inc., "Mote In-Network Programming User Reference" and "Mica2 Wireless Measurement System Datasheet", 2003), Deluge(J. W. Hui and D. Culler. "The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale", Proc. ACM SenSys, pp. 8194, 2004)와 같은 전체 이미지를 한 번에 업데이트 하는 기법과 Incremental(N. Reijers and K. Langendoen, "Efficient Code Distribution in Wireless Sensor Networks", Proc. 2nd ACM Int’l. Conf. Wireless Sensor Networks and Apps., pp. 6067, 2003, J. Jeong and D. Culler, "Incremental Network Programming for Wireless Sensors", Proc. 1st Annual IEEE ComSoc. Conf. Sensor and Ad Hoc Commun. and Networks (SECON), pp. 25-33, 2004)과 같은 점전적 블록단위 소프트웨어 업데이트 기법, Chih-Chieh와 Dunkels와 같은 모듈 및 컴포넌트 갱신기법, 그리고 점진적 블록단위 갱신 기법인 Rdigers approach, Koshy and Pandey 함수 단위 갱신 기법 그리고 Mate(Philip Levis and David Culler, “Mate: A Tiny Virtual Machine for Sensor Networks”, ACM ASPLOS, pp.85-95, Oct. 2002)와 같은 가상 머신을 사용한 접근 방식 등이 있으며 Dissemination에 관한 기법은 Trickle, Sprinkler, Infuse, MNP, Aqueduct 등이 있다.
그러나 일반적으로 무선 센서 네트워크에 배치된 센서 노드 장치에는 동일하 지 않은 소프트웨어 이미지가 설치되어 동작한다. 하지만 기존의 기술들은 센서네트워크의 모든 노드들이 단일 소프트웨어 이미지를 전송하여 업데이트를 수행하는 방법에 대하여서만 초점을 두었다. 이것은 소프트웨어 업데이트 과정에서 많은 오버헤드를 발생시키는 문제점이 있었으며, 이 오버헤드에 의한 에너지 소모가 크게되는 문제점이 있었다. 따라서, 센서 노드의 어플리케이션 프로그램을 업데이트 할 때 발생하는 오버헤드를 줄이기 위한 방법이 필요한 실정이다.
본 발명은 무선센서네트워크의 소프트웨어 업데이트에서 다중 버전, 이종(heterogeneous)의 소프트웨어들을 업데이트 할 새로운 이미지와 기존의 각 노드들의 어플리케이션 프로그램 이미지를 비교하여 유사성을 측정하고 그 결과에 따라 업데이트 이미지를 효과적으로 재구성함으로서 특정한 모듈 내부의 기능 변경이나, 새로운 모듈의 탑재, 함수 인자 전달 값이나 초기 설정 값의 변경 등 소프트웨어 이미지의 일부만 업데이트 하고자 할 때 업데이트 이미지의 패킷 수를 감소시켜 업데이트에 소모되는 시간과 에너지 효율을 높이도록 하기 위한 무선센서네트워크상에서 소프트웨어의 업데이트방법을 제공하는 데 목적이 있다.
이와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시예에 따르면, 무선센서네트워크상에서 다중버전소프트웨어의 업데이트방법은 업데이트 할 이미지와 각 노드들의 어플리케이션 프로그램 이미지를 비교하고 유사성을 측정하기 위해서 diff 알고리즘을 이용한다. 이 알고리즘에 따라서 각 노드들의 페이지 별 패치(Patch)로 전송 이미지를 구성할 것인지, 각 노드들을 업데이트 하기위한 페이지 전체(Whole)를 전송이미지로 구성할 것인지를 결정하고 데이터 보급 프로토콜(Data dissemination protocol)을 이용하여 각 노드에 전송한다.
본 발명의 일실시예에 따른 무선네트워크상에서의 소프트웨어 업데이트방법은 싱크노드의 데이터보급프로토콜을 통해 복수개의 센서노드의 소프트웨어를 업데이트하는 베이스스테이션으로 이루어지는 무선네트워크상에서의 소프트웨어 업데이트 업데이트방법에 있어서, 네트워크 내의 전체 노드를 업데이트 할 것인지 일부만 업데이트 할 것인지 업데이트에 대상이 되는 노드를 선택하는 제 1 단계, 대상이 되는 모든 노드에 탑재되어 있는 기존 이미지와 업데이트 할 새로운 이미지를 일정한 크기의 페이지 단위로 나누는 제2 단계, 페이지 단위로 나누어진 현재 노드의 기존 이미지와 업데이트 하고자 하는 새로운 이미지를 비교하는 제3 단계, 및 상기 비교결과 내용에 차이가 있는 페이지들만 모아서 전송을 하는 제4 단계를 포함하여 이루어진 것을 특징으로 한다.
상기 설명한 바와 같이 본 발명에 따른 무선센서네트워크상에서 다중버전소프트웨어의 업데이트방법에 의하면, 각 노드의 응용 프로그램들의 코드와 업데이트 프로그램 코드를 비교하여 코드의 유사성에 따라서 업데이트 이미지를 재구성하여 전송하되, 각 노드의 이미지의 유사도가 크면 각 페이지에 대한 패치(Patch)를 이용하여 전송 이미지를 구성하고, 이미지들의 유사도가 적다면 각 페이지 전체(Whole)를 하나의 이미지로 구성하여 전송함으로써 모든 내용을 새롭게 구성하는 경우를 제외한 특정 모듈 내부의 기능 변경이나 새로운 모듈 탑재, 함수의 인자 전달 값 또는 초기설정 값의 변경 시에 다음과 같은 여러가지 효과가 있다.
첫째, 업데이트를 위한 전송에서 패킷의 수를 감소시킴으로써 네트워크 내의 전송량을 감소시킨다.
둘째, 업데이트에 필요한 내용만 업데이트함으로써 업데이트를 하는데 걸리는 시간을 단축시킬 수 있다.
셋째, 업데이트 상황에 따른 효율적인 업데이트 이미지를 재구성함으로써 업데이트에 소모되는 에너지를 줄일 수 있다.
도 1은 무선 센서 네트워크상에서 소프트웨어 업데이트를 위해 일반적으로 사용되는 구조(Framework)이다.
도 1을 참조하면, 베이스 스테이션(M1)은 PC(M2)와 싱크 노드(M3)로 구성되며, 센서 노드(M8)의 업데이트 데이터 작성을 위한 관리 인터페이스(M4), 소프트웨어의 버전을 관리하는 데이터베이스(M5), 통신량을 최소화하기 위하여 업데이트 이미지를 최적화하는 엔코딩 모듈(Encoding Module)(M6)로 구성된다. 상기 엔코딩 모듈(M6)은 프로그램 이미지를 효과적으로 무선 링크를 통해 전송할 수 있도록 패킷 포맷으로 만든다. 업데이트 이미지의 전송은 데이터보급프로토콜(Data Dissemination Protocol)(M7)을 이용한다.
센서 노드(M8)는 동적인 소프트웨어 업데이트를 가능하게 하는 실행 환경과 디코딩모듈(Decoding Module)(M9)로 구성되는데, 상기 센서노드(M8)에서는 수신한 프로그램을 외부 플래시 메모리(EEPROM)에 저장한 후 상기 디코딩모듈(Decoding Module)(M9)에서 수신한 프로그램을 검사한다. 그 다음으로 부트 로더(M11)를 호출해 내부 프로그램 플래시 메모리로 리프로그래밍(Reprogramming)한 후 센서노드(M8)를 리셋(Reset)시켜서 바뀐 프로그램으로 동작하게 한다(Qiang Wang, Yaoyao Zhu, Liang Cheng, "Reprogramming wireless sensor networks: challenges and approaches", IEEE Network, Vol. 20, No. 3, pp. 48-55, May/June 2006).
도 2는 무선 센서 네트워크상에서 소프트웨어 업데이트를 위해 사용되는 본 발명에 따른 업데이터 시스템구조(Framework)이다.
도 2를 참조하면, 기본적으로 도 1의 구성과 거의 동일하며, 다만 차이점은 센서노드(M8)는 상기 싱크노드(M3)의 엔코딩모듈(M6)에서 데이터보급프로토콜(M7)을 통해 전송되는 최적화된 업그레이드 소프트웨어를 디코딩하는 디코딩모듈(M9)과, 상기 센서노드(M8)의 플래시메모리(EEPROM)에 저장되며, 상기 센서노드(M8)의 디코딩모듈(M9)로부터의 전송되어온 업그레이드 소프트웨어와 기존소프트웨어의 차이점을 비교하는 diff알고리즘(22)을 포함함과 동시에, 하나의 바이너리이미지로 센서운영체제, 드라이버 및 응용프로그램모두가 기록된 타이니운영체제(TinyOS:Operating System)(20)를 포함하여 이루어지는 것을 특징으로 한다.
도 3은 본 발명에 따른 무선센서네트워크상에서 소프트웨어 업데이트방법의 구현을 위한 이미지 구성의 일예를 나타낸 도면이다.
도 3에서 S0W2는 노드(S0)에 대한 업데이트 이미지의 페이지를 나타내고, S1W2는 노드(S1)에 대한 업데이트 이미지의 페이지를 나타내며, SnW3는 노드(Sn)에 대한 업데이트 이미지의 페이지를 나타낸다.
도 3을 참조하면, 업데이트 하고자 하는 노드들의 새로운 응용프로그램 이미지를 M바이트의 일정한 크기의 페이지 단위로 나눈다. 각 노드들의 응용 소프트웨어 이미지를 페이지 단위로 분할한 후 기존의 이미지와 새롭게 업데이트 하고자 하는 이미지 사이 또는 새롭게 업데이트 하고자 하는 이미지들 사이에 각 페이지별로 diff 알고리즘(22)으로 차이점을 비교하여 차이가 있는 페이지에 대하여 새롭게 이미지를 재구성하여 전송을 한다. 이것은 먼저 새롭게 작성된 이미지와 기존에 센서노드에 탑재시켰던 이미지를 페이지 단위로 나누어 각 페이지별 차이를 diff 알고리즘(22)을 이용하여 분석한다. 이때 대부분의 페이지가 기존에 탑재되었던 이미지와 같고 특정 페이지에서만 차이가 있을 경우에는 차이가 있는 모든 노드들의 페이지 부분을 모아서 하나의 이미지로 재구성하여 전송한다. 이것은 기존 노드의 이미지에서 특정 인자 값만 수정하는 경우가 이에 해당된다.
도 4는 본 발명에 따른 무선센서네트워크상에서 소프트웨어 업데이트방법의 구현을 위한 이미지 구성의 다른 예를 나타낸 도면이다.
도 4에서 S1D0는 노드(S1)의 0번 페이지에 대한 델타이미지(Delta Image)를 나타내고, S2D0는 노드(S2)의 0번 페이지에 대한 델타이미지(Delta Image)를 나타내며, SnD0는 노드(Sn)의 0번 페이지에 대한 델타이미지(Delta Image)를 나타낸다.
또한 S1W3는 노드(S1)의 3번 페이지를 나타내고, S2W3는 노드(S2)의 3번 페이지를 나타내며, SnW3는 노드(Sn)의 3번 페이지를 나타낸다.
도 4를 참조하면, 기존에 센서노드에 탑재한 이미지와 새롭게 업데이트 하고자 하는 소프트웨어의 이미지 차이가 큰 경우에는 새롭게 업데이트 할 바이너리 이미지 사이에 비교를 수행한 후, 두 가지 방법으로 나누어서 페이지별로 이미지를 재구성하여 전송한다. 이렇게 함으로써 파이프라이닝 형태로 이미지를 전송하는 것이 가능하다. 업데이트 하고자 하는 센서 네트워크의 새로운 응용프로그램에 대한 바이너리 이미지를 일정한 크기로 똑같이 나눈다. 각 노드의 이미지들 중에서 베이스 이미지를 선택한다. 베이스 이미지와 각 노드의 업데이트 이미지를 각 페이지별로 순서대로 diff 알고리즘을 이용하여 비교한 후 차이가 있는 페이지를 찾는다. 이때 차이가 있는 각각의 페이지는 일부 특정한 값만 다른 경우와 내용의 상당한 부분이 다른 경우가 있다.
각 노드들 사이의 비교에서 각각의 페이지의 일부 특정한 값만 다른 경우는 페이지 사이의 유사도가 높은 경우로서 베이스 이미지의 각 페이지를 기준으로 각각 노드의 페이지에 대한 패치(Patch)를 이용하여 페이지별로 도 4와 같이 이미지를 구성하여 각각 전송한다. 그런데 패치를 이용한 경우는 각 페이지의 패치에 따른 오버헤드가 발생된다. 따라서 이를 고려하여 이미지를 구성해야 한다. 베이스 이미지와 각 노드의 페이지 사이에 상당 부분이 서로 다른 경우에는 각 노드의 차이가 있는 페이지 전체를 모아서 새롭게 페이지별 이미지를 구성한다. 각 페이지의 패치(Patch)를 이용하여 이미지를 구성할것인가 아니며 베이스 이미지와 차이가 있는 페이지 전체(Whole)로서 이미지를 구성할 것인가는 두 이미지 사이의 전송량을 비교하여 선택한다.
도 5는 도 3의 무선센서네트워크상에서 소프트웨어 업데이트방법을 수행하기 위한 흐름도이다.
도 5를 참조하면, 여기서 기존 이미지는 현재 센서 노드에서 실행 중인 어플리케이션 프로그램 이미지이고, 새로운 이미지는 업데이트할 내용으로 구성된 새로운 어플리케이션 프로그램 이미지, 그리고 베이스 이미지는 전체 노드 중에서 데이터보급(data dissemination)이 유리한 위치에 있는 노드의 업데이트 이미지이며, 일반적으로 베이스 스테이션과 가까운 노드의 업데이트 이미지를 선택하게 된다. 그리고 이미지의 비교를 위하여 diff 알고리즘(22)을 사용한다. 도 5에서, 먼저, 네트워크 내의 전체 노드를 업데이트 할 것인지 일부만 업데이트 할 것인지 업데이트에 대상이 되는 노드를 선택하고(S2), 대상이 되는 모든 노드에 탑재되어 있는 기존 이미지와 업데이트 할 새로운 이미지를 일정한 크기의 페이지 단위로 나눈다(S4). 페이지 단위로 나누어진 현재 노드의 기존 이미지와 업데이트 하고자 하는 새로운 이미지를 비교하여(S6) 내용에 차이가 있는 페이지들만 모아서 전송을 한다(S8).
도 6은 도 4의 무선센서네트워크상에서 소프트웨어 업데이트방법을 수행하기 위한 흐름도이다.
도 6을 참조하면, 상기 단계 S6에서, 이미지의 각 페이지들의 비교에서 2페이지 이상 다른지를 판단하고(S12), 2페이지 이상 다르지 않은 경우에는 상기 도 5의 단계 S8로 진행된다. 상기 단계 S12에서 차이가 큰 경우에는, 즉, 이미지의 각 페이지들 중 2페이지 이상 다를 경우는 센서 네트워크의 토폴로지 및 센서의 구성형태를 파악하여(S13), 베이스 이미지(Base Image)를 선택(S14), 선택된 베이스 이미지의 각 페이지와 대상 노드들에 탑재된 기존 이미지의 각 페이지를 비교하여 차이가 나는 페이지가 2페이지 미만인지를 판단한다(S16). 그리하여 유사성이 높은 페이지들 즉, 다른 페이지가 2페이지 미만인 경우에는 베이스 이미지의 페이지 내용에 대해 차이가 나는 코드들로만 이루어진 패치로 이미지를 재구성하고(S18), 각 페이지의 차이가 많은 경우 즉, 2페이 이상 다른 경우에는 각 페이지의 전체 이미지들로 이미지를 재구성한다(S20). 이렇게 재구성된 이미지들을 전송량의 비교를 통하여 전송량이 작은 이미지를 선택, 전송을 하게 된다(S22).
상기 단계에서 단계 S12의 판단기준은 기본적으로 도 5와 같은 상황(즉, 도 3과 같이 다른 페이지가 2페이지 미만인 경우에는 차이가 크지 않다고 판단한다)은 차이가 크지 않다고 판단한다. 그러나 판단방법은 이에 제한되지 않으며 적절하게 변형가능할 것이다.
각 페이지별로 새롭게 구성된 이미지는 네트워크를 통해 전송이 된다. 이때 센서 네트워크의 데이터 전송에 사용되는 데이터 전송 프로토콜은 멀티 홉을 지원하는 Deluge의 전송 방법인 Advertisement-Request-Data의 3-way protocol을 기반으로 한다.
본 발명에 따른 방법에 대하여 도 7과 같이 네트워크가 구성되어 있다고 가정하고 간단한 시뮬레이션을 통해 평가하였다.
도 7은 노드별 이미지를 나타낸 것으로서, P0는 0 페이지의 해당 노드 이미지를 나타내고, P1은 1페이지의 해당 노드 이미지를 나타내며, Pn은 n페이지의 해당 노드 이미지를 나타낸다.
각 노드의 페이지에 대한 diff-메시지의 크기가 6KB, 오버헤드가 2KB, 베이스 이미지와 같은 페이지가 각 노드별로 3개 있다고 가정하고 시뮬레이션 했다. 도 8은 Deluge와 제안된 방법을 비교한 결과를 보여준다. Deluge는 이미지의 유사성에 관계없이 노드의 수가 증가할수록 전송량이 비례해서 증가하는데 본 발명에서 제안한 방법은 이미지가 유사도가 높을수록 전송량이 감소하는 것을 볼 수 있다.
도 1은 종래기술에 따른 무선센서네트워크상에서 소프트웨어 업데이트를 위한 시스템 블럭구성도이다.
도 2는 본 발명에 따른 무선센서네트워크상에서 소프트웨어 업데이트를 위한 시스템 블럭구성도이다.
도 3은 본 발명에 따른 무선센서네트워크상에서 소프트웨어 업데이트방법의 구현을 위한 이미지 구성의 일예를 나타낸 도면이다.
도 4는 본 발명에 따른 무선센서네트워크상에서 소프트웨어 업데이트방법의 구현을 위한 이미지 구성의 다른 예를 나타낸 도면이다.
도 5는 도 3의 무선센서네트워크상에서 소프트웨어 업데이트방법을 수행하기 위한 흐름도이다.
도 6은 도 4의 무선센서네트워크상에서 소프트웨어 업데이트방법을 수행하기 위한 흐름도이다.
도 7은 본 발명에 따른 무선센서네트워크상에서 소프트웨어 업데이트방법의 성능평가하기 위한 네트워크 구성의 예를 나타낸 도면이다.
도 8은 본 발명에 따른 무선센서네트워크상에서 소프트웨어 업데이트방법과 Deluge에 의해 제안된 방법의 전송량 비교 그래프이다.
* 도면의 주요부분에 대한 부호의 설명 *
20: 타이니운영체제(TynyOS)
22: diff 알고리즘

Claims (3)

  1. 싱크노드의 데이터보급프로토콜을 통해 복수개의 센서노드의 소프트웨어를 업그레이드하는 베이스스테이션으로 이루어지는 무선네트워크상에서의 소프트웨어 업데이트방법에 있어서,
    네트워크 내의 전체 노드를 업데이트 할 것인지 일부만 업데이트 할 것인지 업데이트에 대상이 되는 노드를 선택하는 제 1 단계,
    대상이 되는 모든 노드에 탑재되어 있는 기존 이미지와 업데이트 할 새로운 이미지를 일정한 크기의 페이지 단위로 나누는 제2 단계,
    페이지 단위로 나누어진 현재 노드의 기존 이미지와 업데이트 하고자 하는 새로운 이미지를 비교하는 제3 단계, 및
    상기 비교결과 내용에 차이가 있는 페이지들만 모아서 전송을 하는 제4 단계를 포함하여 이루어진 것을 특징으로 하는 무선네트워크상에서의 소프트웨어 업데이트방법.
  2. 제 1 항에 있어서,
    상기 제 3 단계에서, 이미지의 각 페이지들 중 2 페이지 이상 다른지를 판단하는 제 5 단계,
    상기 제 5단계 판단에서 2 페이지 이상 다른 경우에는 센서 네트워크의 토폴로지 및 센서의 구성형태를 파악하고, 베이스 이미지(Base Image)를 선택하는 제 6 단계,
    선택된 베이스 이미지의 각 페이지와 대상 노드들에 탑재된 기존 이미지의 각 페이지를 비교하는 제7 단계,
    상기 비교결과 다른 페이지가 2 페이지 미만인 경우 베이스 이미지의 페이지 내용에 대해 차이가 나는 코드들로만 이루어진 패치로 이미지를 재구성하고, 상기 비교결과 다른 페이지가 2 페이지 이상인 경우 각 페이지의 전체 이미지들로 이미지를 재구성하는 제 8 단계, 및
    재구성 된 이미지들을 전송량의 비교를 통하여 전송량이 작은 이미지를 선택하여 전송을 하는 제 9단계를 포함하여 이루어진 것을 특징으로 하는 무선네트워크상에서의 소프트웨어 업데이트방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 센서노드는 상기 싱크노드의 엔코딩모듈에서 데이터보급프로토콜을 통해 전송되는 업그레이드 소프트웨어를 디코딩하는 디코딩모듈과,
    상기 센서노드의 플래시메모리에 저장되며, 상기 센서노드의 디코딩모듈로부터의 전송되어온 업그레이드 소프트웨어와 기존소프트웨어의 차이점을 비교하는 diff알고리즘을 포함함과 동시에, 하나의 바이너리이미지로 센서운영체제,드라이버 및 응용프로그램모두가 기록된 타이니운영체제(TinyOS:Operating System)를 포함하여 이루어지는 것을 특징으로 하는 무선네트워크상에서의 소프트웨어 업데이트방법.
KR20070135645A 2007-12-21 2007-12-21 무선센서네트워크상에서 소프트웨어 업데이트방법 KR100929797B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20070135645A KR100929797B1 (ko) 2007-12-21 2007-12-21 무선센서네트워크상에서 소프트웨어 업데이트방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20070135645A KR100929797B1 (ko) 2007-12-21 2007-12-21 무선센서네트워크상에서 소프트웨어 업데이트방법

Publications (2)

Publication Number Publication Date
KR20090067848A KR20090067848A (ko) 2009-06-25
KR100929797B1 true KR100929797B1 (ko) 2009-12-07

Family

ID=40995517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070135645A KR100929797B1 (ko) 2007-12-21 2007-12-21 무선센서네트워크상에서 소프트웨어 업데이트방법

Country Status (1)

Country Link
KR (1) KR100929797B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102129245B1 (ko) * 2018-07-05 2020-07-02 주식회사 코아칩스 센서 프로토콜을 업데이트하기 위한 방법 및 시스템
KR102159875B1 (ko) * 2019-01-09 2020-09-24 주식회사 코아칩스 통합 센서 프로토콜 업데이트 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050076175A (ko) * 2004-01-19 2005-07-26 삼성전자주식회사 바이너리 위치정보를 이용한 임베디드 소프트웨어 원격다운로드방법 및 시스템
KR20060070165A (ko) * 2004-12-20 2006-06-23 한국전자통신연구원 무선 센서 네트워크에서 센서 노드 동적 재구성을 위한무선 송/수신 방법
KR20070061112A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 무선 센서 네트워크 시스템 및 무선 센서 네트워킹 방법
KR20080051033A (ko) * 2006-12-04 2008-06-10 한국전자통신연구원 원격으로 노드의 소프트웨어를 관리하기 위한 유비쿼터스센서 네트워크 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050076175A (ko) * 2004-01-19 2005-07-26 삼성전자주식회사 바이너리 위치정보를 이용한 임베디드 소프트웨어 원격다운로드방법 및 시스템
KR20060070165A (ko) * 2004-12-20 2006-06-23 한국전자통신연구원 무선 센서 네트워크에서 센서 노드 동적 재구성을 위한무선 송/수신 방법
KR20070061112A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 무선 센서 네트워크 시스템 및 무선 센서 네트워킹 방법
KR20080051033A (ko) * 2006-12-04 2008-06-10 한국전자통신연구원 원격으로 노드의 소프트웨어를 관리하기 위한 유비쿼터스센서 네트워크 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20090067848A (ko) 2009-06-25

Similar Documents

Publication Publication Date Title
Panta et al. Zephyr: Efficient incremental reprogramming of sensor nodes using function call indirections and difference computation
Arakadakis et al. Firmware over-the-air programming techniques for IoT networks-A survey
US8819653B2 (en) Automated improvement of executable applications based on evaluating independent execution heuristics
Han et al. Sensor network software update management: a survey
Marrón et al. FlexCup: A flexible and efficient code update mechanism for sensor networks
Koshy et al. Remote incremental linking for energy-efficient reprogramming of sensor networks
Dong et al. Elon: enabling efficient and long-term reprogramming for wireless sensor networks
Panta et al. Hermes: Fast and energy efficient incremental code updates for wireless sensor networks
Dong et al. R2: Incremental reprogramming using relocatable code in networked embedded systems
CN109558160A (zh) 升级方法、嵌入式系统
CN111090444A (zh) 版本升级方法、装置、存储介质及电子设备
CN110543327B (zh) 业务组件复用方法、装置、计算机设备及存储介质
CN103309683A (zh) 硬件设备的软件补丁嵌入方法及装置
Shafi et al. No-reboot and zero-flash over-the-air programming for wireless sensor networks
Stolikj et al. Efficient reprogramming of wireless sensor networks using incremental updates
CN110768807A (zh) 虚拟资源方法及装置、虚拟资源处理网元及存储介质
Dong et al. Optimizing relocatable code for efficient software update in networked embedded systems
KR100929797B1 (ko) 무선센서네트워크상에서 소프트웨어 업데이트방법
EP2428891A1 (en) Techniques for resolving read-after-write (RAW) conflicts using backup area
CN104199661A (zh) 一种面向mc1321x的无线传感器网络wsn重编程方法
Quadri et al. An Introduction to Over-the-Air Programming in Wireless Sensor Networks
Pule et al. Firmware updates over the air mechanisms for low power wide area networks: A review
Panta et al. Efficient wireless reprogramming through reduced bandwidth usage and opportunistic sleeping
Chiang et al. Two-stage diff: An efficient dynamic software update mechanism for wireless sensor networks
Sun OS-based reprogramming techniques in wireless sensor networks: A survey

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131126

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151125

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171120

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181126

Year of fee payment: 10