KR20100078972A - A highspeed code radio wave protocal for updating a software on wireless sensor networks - Google Patents

A highspeed code radio wave protocal for updating a software on wireless sensor networks Download PDF

Info

Publication number
KR20100078972A
KR20100078972A KR1020080137366A KR20080137366A KR20100078972A KR 20100078972 A KR20100078972 A KR 20100078972A KR 1020080137366 A KR1020080137366 A KR 1020080137366A KR 20080137366 A KR20080137366 A KR 20080137366A KR 20100078972 A KR20100078972 A KR 20100078972A
Authority
KR
South Korea
Prior art keywords
node
data
message
code
sent
Prior art date
Application number
KR1020080137366A
Other languages
Korean (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 KR1020080137366A priority Critical patent/KR20100078972A/en
Publication of KR20100078972A publication Critical patent/KR20100078972A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update

Abstract

PURPOSE: A high speed code propagating protocol for updating software of a wireless sensor network is provided to apply network coding to a pipelining code propagation scheme, thereby realizing more efficient code propagation. CONSTITUTION: Node A transmits an advertisement to node B. Node B transmits an advertisement to node C. Node A decodes XOR data of node B by an advertisement message. Node A extracts an ack signal by decoding a data message from a message of node B. Node C extracts a data message by decoding an ack message pre-defined in the message of node B.

Description

무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜{A highspeed code radio wave protocal for updating a software on wireless sensor networks}A highspeed code radio wave protocal for updating a software on wireless sensor networks}

본 발명은 고속 코드 전파 프로토콜에 관한 것으로서, 더욱 상세하게는 속도, 에너지, 네트워크 혼잡도 측면에서 효율적인 소프트웨어 업데이트를 수행할 수 있을 뿐만 아니라 네트워크 코딩의 overhearing 문제점인 원본 데이터의 분실이나 데이터의 미수신시 발생하는 디코딩 문제를 미리 정의된 메시지를 이용, 방지함으로써 신뢰성 있는 데이터 전송을 가능하게 하는 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜에 관한 것이다.The present invention relates to a high speed code propagation protocol. More particularly, the present invention relates to an efficient software update in terms of speed, energy, and network congestion. A high speed code propagation protocol for software update on wireless sensor networks that enables reliable data transmission by avoiding decoding problems using predefined messages.

무선 센서 네트워크는 제한적인 하드웨어를 가진 수많은 센서 노드들이 특정한 환경에 배치되어 네트워크를 구성한 후 다양한 정보 제공 매체로 활용된다.A wireless sensor network is used as a variety of information providing media after a large number of sensor nodes with limited hardware are arranged in a specific environment.

센서 노드는 한번 배치되면 사람의 간섭 없이 오랜 기간 동안 동작하지만 수행 중에 오작동이나 성능 개선이 필요한 경우 인위적인 소프트웨어 업데이트가 필요하다.Once deployed, sensor nodes operate for long periods of time without human intervention, but require artificial software updates if they require malfunctions or performance improvements.

센서 노드를 프로그래밍하기 위한 방법으로 노드에 직접 연결해서 프로그램 을 다운로드하는 ISP(In- System Programming)방식이 있으나 센서 노드가 광범위 하고, 접근이 어려운 곳에 배치될 수 있기 때문에 무선 통신을 이용한 코드 전파 기법이 요구된다.In order to program a sensor node, there is an ISP (In-System Programming) method that downloads a program by connecting directly to the node. Required.

센서 네트워크에서 코드전파 방법에 관한 대표적인 연구결과로는 XNP, MOAP, Deluge, MNP 등이 있다. XNP는 싱글 홉(hop) 내에서 센서 노드의 TinyOS 커널과 응용 코드를 업데이트 하기 위해 개발되었으며, Code capsules로 전체 파일을 전송한다.Representative results of the code propagation method in the sensor network include XNP, MOAP, Deluge, and MNP. XNP was developed to update the sensor node's TinyOS kernel and application code within a single hop, sending the entire file to Code capsules.

MOAP는 리플 전달 프토토콜을 사용하여 멀티 홉으로 코드 업데이트 데이터를 전달하는 기법이다. 데이터 전달에 있어서 플로딩(flooding)보다 향상된 기능을 제공하고 XNP의 1홉의 제한적인 전달 방식을 보완하였다.MOAP is a technique for delivering code update data in multiple hops using the ripple propagation protocol. It provides improved functionality over data transfer and complements the one-hop limited transfer scheme of XNP.

Deluge는 멀티홉을 지원하고, 효율적인 데이터 전송을 위해 고정 크기의 페이지 단위 파이프라이닝 방식과 3단계 handshaking 프로토콜 사용한다.Deluge supports multihop and uses fixed-size, page-by-page pipelining and a three-stage handshaking protocol for efficient data transfer.

MNP는 멀티 홉을 지원하고 데이터는 고정 크기 페이지 단위의 spatial multiplexing을 이용하여 전송한다. 또한 3단계의 handshaking 프로토콜을 사용하고 전송자를 선택할 수 있는 알고리즘을 사용함으로써 코드 전파의 불필요한 부분을 제거하였다.MNP supports multi-hop and data is transmitted using spatial multiplexing of fixed size page unit. In addition, by using a three-step handshaking protocol and an algorithm to select the sender, unnecessary parts of the code propagation are eliminated.

센서 네트워크에서 코드 전파 기법으로는 리플 전달 프로토콜과 파이프라이닝 방식이 있다.Code propagation techniques in sensor networks include ripple forwarding protocols and pipelining.

리플 전달 프로토콜은 소스 노드에서 전송된 프로그램 코드를 통일한 홉의 노드가 전체 코드를 수신하면 수신한 코드를 다음 홉으로 전송하는 방식이다.The ripple transfer protocol transmits the received code to the next hop when the node of the same hop receives the entire code from the program code transmitted from the source node.

파이프라인 방식은 소스 노드에서 프로그램 코드의 페이지 하나를 전송하면 동일한 홉의 노드가 페이지를 수신하자마자 다음 홉으로 수신한 페이지를 전송한다. 이러한 동작을 반복적으로 함으로써 프로그램 코드 전파를 완료한다.The pipeline method sends a page of program code from a source node and sends the received page to the next hop as soon as nodes of the same hop receive the page. By repeating this operation, program code propagation is completed.

무선 통신을 이용한 소프트웨어의 업데이트시 필요한 구성요소는 1) Preparation Mechanism(패킷의 길이보다 데이터가 큰 경우 네트워크 진입 전 데이터를 분산시킴), 2) Dissemination Mechanism, 3) 손실된 패킷과 데이터의 모든 부분을 받기 위한 Reliability Mechanism(업데이트는 데이터가 완전하게 받지 않은 경우에는 사용할 수가 없으므로 손실된 패킷과 완전한 데이터를 받기 위함)이 있다.The necessary components for updating the software using wireless communication are 1) Preparation Mechanism (distributing data before entering the network if the data is larger than the packet length), 2) Dissemination Mechanism, and 3) all parts of lost packets and data. There is a Reliability Mechanism for Receiving (updates are not available if the data is not received completely, to receive lost packets and complete data).

또한 설계목적에 따라 Message Suppression(다양한 프로토콜의 불필요한 메시지를 제어), Sender Selection(이웃노드들간의 활성화된 sender들의 숫자를 제한), 전달방식 등이 추가될 수 있다.Depending on the design purpose, Message Suppression (control unnecessary messages of various protocols), Sender Selection (limit the number of active senders between neighbor nodes), and delivery methods can be added.

Dissemination protocol은 도 1과 같이 무선통신을 이용해서 기존에 배치된 무선 센서 노드의 소프트웨어 업데이트를 위한 코드 전파 프로토콜이다.Dissemination protocol is a code propagation protocol for software update of a conventionally deployed wireless sensor node using wireless communication as shown in FIG.

효율적인 코드 전파를 위해 다양한 조건을 고려해야 하며, 대표적인 고려사항으로는 신뢰성(Reliability, 센서노드는 프로그램 이미지 수신이 완전할 때 사용이 가능), 일치성(Consistency, 네트워크 내의 모든 노드가 전체 프로그램 이미지를 수신하고 동일한 버전으로 업데이트가 되어야 함), 작은 메모리(Small Memory, 업데이트 프로토콜은 작은 메모리 footprint를 가져야함), 에너지 효율성(Energy Efficient, 업데이트 프로토콜은 에너지 사용을 최소화), 혼란 최소화(Minimize Disruptions, 업데이트 프로토콜은 주된 어플리케이션이 아니기 때문에 주된 어플리케이션의 기능에 영향을 주면 안됨), 결함 허용(Fault Tolerance, 노드가 고장 나거나 추가되는 것을 허용)등이 있다.Various conditions should be considered for efficient code propagation. Typical considerations include reliability (Reliability, sensor node can be used when the program image reception is complete), consistency, and all nodes in the network receive the entire program image. And update to the same version), small memory (Small Memory, update protocol should have a small memory footprint), energy efficiency (Energy Efficient, update protocol minimize energy usage), minimize disruption (update protocol) Because is not the main application, it should not affect the functionality of the main application), fault tolerance (allowing a node to fail or add).

일반적인 Dissemination 프로토콜은 도 2와 같이 새로운 코드의 advertisem ent, 소스 노드 선택, 대상 노드로의 데이터 전송과 같이 3단계로 이루어진다.The general dissemination protocol is composed of three steps, such as advertisement of a new code, selection of a source node, and data transmission to a target node as shown in FIG.

코드를 전파하는 방식에 따라 리플 방식과 파이프라인 방식으로 구분이 된다.Depending on how the code is propagated, it is divided into a ripple method and a pipeline method.

도 3과 같이 리플 방식은 소스 노드에서 전송된 프로그램 코드를 동일한 홉의 노드가 전체 코드를 수신하면 수신한 코드를 다음 홉으로 전송(Neighbor-to-Neighbor)하는 방식이다.As shown in FIG. 3, when a node having the same hop receives the entire code, the received code is transmitted to the next hop (Neighbor-to-Neighbor).

도 4와 같이 파이프라인 방식은 소스 노드에서 프로그램 코드의 페이지 하나를 전송하면 동일한 홉의 노드가 페이지를 수신하자마자 다음 홉으로 수신한 페이지를 전송한다. 이러한 동작을 반복적으로 수행해서 프로그램 코드 전파를 완료한다.As shown in FIG. 4, the pipeline method transmits one page of program code from a source node to the next hop as soon as a node of the same hop receives the page. Perform this operation repeatedly to complete program code propagation.

XNP는 싱글 홉(hop) 내에서 센서노드의 TinyOS 커널과 응용 프로그램을 업데이트 하기 위해 개발되었다. 전송 데이터 코드의 양을 줄이기 위해 코드를 캡슐형태로 분할하여 전체 파일을 전송한다. 전체적으로는 네트워크 프로그래밍 모듈과 부트로더로 구성되어 있으며, 동작순서는 코드 전송 준비, 코드 전송, 검증, Re- programming 과정으로 이루어진다.XNP was developed to update the Sensor node's TinyOS kernel and application within a single hop. In order to reduce the amount of data to be transmitted, the code is divided into capsules to transfer the entire file. It is composed of network programming module and boot loader as a whole. Operation sequence consists of preparation of code transmission, code transmission, verification and re-programming.

MOAP는 리플 전달 프토토콜을 사용하여 멀티 홉으로 업데이트 코드를 전달하는 기법이다. 데이터를 전달하는 데 있어 플로딩방식 보다 네트워크 부하 및 중복 된 데이터 전송을 줄인다. 또한 싱글 홉에 제한적인 XNP의 단점을 보완하였으며, 업데이트가 완료되기 전까지 업데이트할 코드는 안정된 저장공간에 보관된다. 슬라이딩 윈도우(Sliding Window) 방식에 기반한 손실된 패킷의 재전송 기법을 사용함으로써 전송시 발생하는 데이터의 손실을 보증한다. 동작 순서로는 코드 전송 준비, 코드 전송 및 Re-programming, 복구과정으로 이루어진다.MOAP is a technique for delivering update code over multiple hops using the ripple propagation protocol. It reduces network load and duplicate data transmission than data transfer method for data transfer. It also compensates for the limitation of XNP, which is limited to single hop, and the code to be updated is kept in stable storage until the update is completed. By using the retransmission scheme of lost packets based on the sliding window scheme, data loss occurs during transmission. The sequence of operations consists of code transfer preparation, code transfer, re-programming, and recovery.

그러나 이 기법은 업데이트 코드 데이터 전송이 이루어지는 동안 싱글 홉 내 다른 모든 노드들은 수신 대기(idle listening) 상태에 있다. 따라서 업데이트에 관여하지 않는 모든 노드들은 불필요한 에너지를 소비하게 되는 문제점이 있게 된다.However, this technique ensures that all other nodes within a single hop are in idle listening while the update code data transfer is taking place. Therefore, all nodes not involved in the update have a problem of consuming unnecessary energy.

Deluge는 멀티홉을 지원하고, 효율적인 데이터 전송을 위해 고정 크기의 페이지 단위 파이프라이닝 방식과 3단계 handshaking 프로토콜 사용한다. 도 5와 같이 Deluge의 데이터 표현방식으로는 프로그램 이미지를 고정된 크기의 페이지로 나눈다. 이 표현방식의 장점으로는 데이터를 수신하는 동안 유지해야하는 상태의 양을 제한하게 되고 이전 버전으로부터의 효율적인 incremental 업데이트 활성화와 Spatial multiplexing을 허용하게 된다.Deluge supports multihop and uses fixed-size, page-by-page pipelining and a three-stage handshaking protocol for efficient data transfer. As shown in Fig. 5, the data representation of Deluge divides the program image into pages of fixed size. The advantage of this representation is that it limits the amount of state that must be maintained while receiving data, allowing efficient incremental update activation and spatial multiplexing from previous versions.

도 6은 Deluge의 기본적인 동작과정을 나타내며, 세부적인 절차는 다음과 같다. (a) 소스노드(A)가 새로운 버전 2인 프로그램의 advertisement를 브로드캐스트하면 이를 수신한 노드들은 노드(A)에게 0번째 페이지를 요청하고 (b) 노드(A)는 수신자가 요청한 페이지를 패킷단위로 전송(노드(C, D)는 새로운 코드 수신완료), (c) 노드(B)는 손실된 코드의 재전송 요청, (c) 노드(C, D)는 전송자 노드가 되어 서 advertisement 브로드캐스트를 수행한다.6 shows the basic operation of the Deluge, the detailed procedure is as follows. (a) When source node (A) broadcasts an advertisement of a new version 2 program, the nodes that receive it request node 0 for page 0, and (b) node (A) packet the page requested by the receiver. (C) Node (B) requests retransmission of the lost code, (c) Node (C, D) becomes the sender node and broadcasts the advertisement. Perform

MNP는 멀티 홉을 지원하고 데이터는 고정 크기 페이지 단위의 spatial multiplexing을 이용하여 전송한다. 또한 3단계의 handshaking 프로토콜을 사용하고 전송자를 선택할 수 있는 알고리즘을 사용함으로써 코드 전파의 불필요한 부분을 제거하였다. 손실된 코드를 복구하기 위해 비트 벡터 테이블을 사용하며, 도 7과 같이 5개의 기본적인 기능 상태(IDLE, DOWNLOAD, ADVERTISE, FORWARD, SLEEP)로 구성된 상태 머신을 통하여 코드전파와 신뢰성 메커니즘을 제공한다.MNP supports multi-hop and data is transmitted using spatial multiplexing of fixed size page unit. In addition, by using a three-stage handshaking protocol and an algorithm to select the sender, unnecessary parts of the code propagation are eliminated. A bit vector table is used to recover the lost code, and a code propagation and reliability mechanism is provided through a state machine composed of five basic functional states (IDLE, DOWNLOAD, ADVERTISE, FORWARD, SLEEP) as shown in FIG.

Infuse는 다른 코드전파 기법과 다르게 TDMA(Time Division Multiple Access)방식을 사용한 프로토콜이다. Implicit acknowledgement와 back pressure 메커니즘을 사용함으로써 전송의 신뢰성을 제공한다. 즉, 실패된 센서노드를 처리하기 위해, 센서노드가 정해진 딜레이 후에 implicit acknowledgement를 얻지 못하면 센서노드는 재전송을 한다. 또한 에너지 절약을 위해 TDMA방식의 Listenning 기법을 사용하고 있다.Infuse is a protocol that uses Time Division Multiple Access (TDMA), unlike other code propagation techniques. By using implicit acknowledgment and back pressure mechanisms, transmission reliability is provided. That is, to handle a failed sensor node, if the sensor node does not get an implicit acknowledgment after a predetermined delay, the sensor node retransmits. Also, TDMA Listening technique is used to save energy.

Sprinkler는 Deluge, Infuse, MNP, PSFQ에 비해 에너지 소비를 줄였다. 낮은 복잡성의 CDS 알고리즘을 제공하고 있으며, Infuse와 같이 TDMA방식을 이용하여 데이터를 전송한다.Sprinkler has reduced energy consumption compared to Deluge, Infuse, MNP and PSFQ. It provides low complexity CDS algorithm and transmits data using TDMA method like Infuse.

네트워크 코딩이란 네트워크 계층에서 이루어지는 코딩 기법으로써 통신 자원을 효율적으로 사용하여 통신 네트워크의 전송 속도를 향상시키기 위해 개발되었다. 네트워크 코딩의 주된 목적은 정보의 압축이며, 디코딩 절차는 통신 네트워크의 여러 경로로부터 수신된 데이터의 정보를 이용한다. 네트워크 코딩은 최초 유선 상에서 효율적인 멀티캐스트를 위해 안출되었으나, 최근 무선 상황에서도 구현의 가능성이 증명되었다. Network coding is a coding scheme that is performed at the network layer and was developed to improve the transmission speed of a communication network by efficiently using communication resources. The main purpose of network coding is the compression of information, and the decoding procedure uses the information of data received from various paths of the communication network. Network coding was originally conceived for efficient multicast over the wire, but the feasibility of implementation has been demonstrated in recent wireless situations.

상기 안출된 네트워크 코딩의 기본적인 절차는 도 8, 9와 같다. 도 8, 9에 기술된 바와 같이 두 개의 소스노드(A, B)가 각각 a, b 정보를 노드(C, D)에 전달하기 위해 노드(C, D)는 a, b 모두 전달받아야 한다. 도 4를 보면 기존의 네트워크에서는 a와 b를 받은 노드(E)에서 a를 전송 후 b를 전송해야 한다. 그러나 도 9를 보면 노드(E)에서 a와 b를 XOR해서 전송함으로써 두 번 전송해야 할 것을 한 번의 전송으로 해결한다. 또한 도 9의 노드(F)에서도 노드(C, D)에 데이터 a, b를 전송한다면 a, b 결과를 보냄으로써 코드 전송 횟수를 단축할 수 있다. 노드(C, D)는 첫 번째 슬롯에서 전송된 a와 b를 보관하고 있다가, 노드(F)에 의해서 전달된 a, b에 각각 a와 b를 XOR함으로써 보관하고 있지 않았던 새로운 정보 b와 a를 각각 얻게 된다.The basic procedure of the proposed network coding is shown in FIGS. 8 and 9. As illustrated in FIGS. 8 and 9, the nodes C and D must receive both a and b in order for the two source nodes A and B to transmit a and b information to the nodes C and D, respectively. 4, in the existing network, node a receiving the a and b should transmit b after transmitting a. However, referring to FIG. 9, the node E solves the need to be transmitted twice by transmitting Xs a and b by one transmission. Also, in the node F of FIG. 9, if the data a and b are transmitted to the nodes C and D, the number of codes can be reduced by sending the a and b results. Nodes C and D store a and b transmitted in the first slot, and then new information b and a that were not stored by XORing a and b to a and b delivered by node F, respectively. You get each of them.

이는 멀티캐스트 네트워크에서 선형 코드를 기반으로 한 네트워크 코딩을 적용하면, 이론적으로 최적의 네트워크 효율을 얻을 수 있다는 결과를 보여주고 있다.This shows that theoretically optimal network efficiency can be achieved by applying network coding based on linear code in multicast network.

네트워크 코딩은 수신 노드에서, 전달받은 코딩된 정보를 얼마나 성공적으로 디코딩할 수 있는지 여부에 따라 그 효율성이 좌우된다. 성공적인 디코딩을 위해서는 각 노드마다 디코딩을 위한 정보를 필수적으로 사전에 가지고 있어야 가능하다. Network coding depends on the efficiency of the receiving node on how successfully it can decode the received coded information. For successful decoding, each node must have information for decoding in advance.

본 발명은 상기한 실정을 감안하여 발명한 것으로서, 그 목적은 파이프라이닝 코드 전파 기법에 네트워크 코딩을 적용하여 보다 효율적인 코드 전파를 달성할 수 있는 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜을 제공함에 있다.The present invention has been invented in view of the above-described circumstances, and an object thereof is to provide a high speed code propagation protocol for software update on a wireless sensor network that can achieve more efficient code propagation by applying network coding to a pipelining code propagation technique. Is in.

본 발명의 다른 목적은 파이프라이닝 코드 전파 기법에 네트워크 코딩을 적용하여 기존의 파이프라이닝 방식에 비해 데이터 송수신 횟수에 있어 네트워크 환경에 따라 약 20 ∼ 25%의 성능 향상을 나타내는 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜을 제공하는 데 있다.Another object of the present invention is to apply a network coding to the pipelining code propagation technique to update the software on the wireless sensor network, which shows a performance improvement of about 20 to 25% depending on the network environment in the number of data transmission and reception compared to the conventional pipelining method. To provide a high speed code propagation protocol.

본 발명의 또 다른 목적은 파이프라이닝 코드 전파 기법에 네트워크 코딩을 적용하여 속도, 에너지, 네트워크 혼잡도 측면에서 효율적인 소프트웨어 업데이트를 수행할 수 있을 뿐만 아니라 네트워크 코딩의 overhearing 문제점인 원본 데이터의 분실이나 데이터의 미수신시 발생하는 디코딩 문제를 미리 정의된 메시지를 이용, 방지함으로써 신뢰성 있는 데이터 전송을 가능하게 하는 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜을 제공하는 데 있다.Another object of the present invention is to apply network coding to a pipelining code propagation technique to perform efficient software update in terms of speed, energy, and network congestion, as well as loss of original data or unreceived data, which is an overhearing problem of network coding. The present invention provides a high-speed code propagation protocol for software update on a wireless sensor network that enables reliable data transmission by using a predefined message to prevent a decoding problem occurring at the time.

상기한 목적을 달성하기위한 본 발명 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜은 노드(A)에서 Advertisement를 보내면 노드(B)에서 수신하는 단계와; 노드(B)는 노드(A)에게 보낼 Request와 노드(C)에게 보낼 Advertisement를 XOR을 해서 broadcast를 하는 단계와; 상기 노드(B)에서 보낸 메시지가 노드(A), 노드(C)에서 받게 되고 노드(A)에서는 노드(B)에서 보낸 XOR데이터를 자신이 가지고 있는 Advertisement 메시지를 이용하여 디코딩한다. 그러면 Request메시지가 남게 되어 노드(B)가 자신에게 Advertisement를 보냈다는 것을 알게 되는 단계와; 상기 노드( B)에서는 노드(A)에서 보낸 데이터와 노드(C)에서 보낸 Request메시지를 받는 단계와; 상기 노드(B)에서 노드(A)에게 보낼 ack신호와 노드(C)에서 보낼 Data를 XOR해서 보내는 단계 및; 상기 노드(A)는 노드(B)에서 보낸 메시지에서 Data메시지를 디코딩하여 ack신호를 추출하고, 노드(C)는 노드(B)에서 보낸 메시지에서 미리 정의된 Ack메시지를 디코딩하여 Data메시지를 추출하는 단계로 이루어진 것을 특징으로 한다.A high speed code propagation protocol for software update on the wireless sensor network of the present invention for achieving the above object comprises the steps of: receiving at the node (B) if an advertisement is sent at the node (A); Node B broadcasts a request to send to node A and an advertisement to send to node C by XOR; The message sent from the node B is received by the node A and the node C, and the node A decodes the XOR data sent by the node B using its own Advertisement message. The request message is then left and node B knows that it has sent an Advertisement to it; Receiving, at node B, data sent from node A and a request message sent from node C; XORing an ack signal to be sent from node B to node A and data to be sent from node C; The node A decodes the data message from the message sent from the node B to extract the ack signal, and the node C decodes the predefined Ack message from the message sent from the node B to extract the data message. Characterized in that consisting of steps.

본 발명은 파이프라이닝 코드 전파 기법에 네트워크 코딩을 적용하여 보다 효율적인 코드 전파를 달성할 수 있고, 파이프라이닝 코드 전파 기법에 네트워크 코딩을 적용하여 기존의 파이프라이닝 방식에 비해 데이터 송수신 횟수에 있어 네트워크 환경에 따라 약 20 ∼ 25%의 성능 향상을 나타내며, 파이프라이닝 코드 전파 기법에 네트워크 코딩을 적용하여 속도, 에너지, 네트워크 혼잡도 측면에서 효율적인 소프트웨어 업데이트를 수행할 수 있을 뿐만 아니라 네트워크 코딩의 overhearing 문제점인 원본 데이터의 분실이나 데이터의 미수신시 발생하는 디코딩 문제를 미리 정의된 메시지를 이용, 방지함으로써 신뢰성 있는 데이터 전송할 수 있는 각별한 장점이 있다.The present invention can achieve more efficient code propagation by applying network coding to the pipelining code propagation method, and by applying network coding to the pipelining code propagation method, the network environment is improved in the frequency of data transmission / reception compared to the conventional pipelining method. In addition, the network coding is applied to the pipelining code propagation technique, which enables efficient software update in terms of speed, energy, and network congestion, as well as the overhearing problem of network coding. There is a particular advantage that reliable data can be transmitted by using a predefined message to prevent the decoding problem caused by loss or non-receipt of data.

이하, 첨부 도면에 따라서 본 발명 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜의 바람직한 실시의 형태에 대하여 상세하게 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, preferred embodiment of the high speed code propagation protocol for software update on a wireless sensor network of this invention is described in detail according to an accompanying drawing.

도 11은 본 발명 네트워크 코딩을 적용한 파이프라인 방식을 나타낸 도면, 도 12는 본 발명에 따른 양방향 선형 네트워크를 보여주는 도면, 도 13은 본 발명에 따른 메시지의 대한 정의를 나타낸 도면, 도 14는 본 발명에 따른 Packet Format의 디코딩과정을 나타낸 도면, 도 15a는 홉수에 따른 데이터량 비교 그래프, 도 15b는 홉수에 따른 데이터 재전송 비교 그래프, 도 15c는 메시지 전송 시 파이프라인 효과의 비교도로서, 본 발명 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜은 노드(A)에서 Advertisement를 보내면 노드(B)에서 수신하는 단계와; 노드(B)는 노드(A)에게 보낼 Request와 노드(C)에게 보낼 Advertisement를 XOR을 해서 broadcast를 하는 단계와; 상기 노드(B)에서 보낸 메시지가 노드(A), 노드(C)에서 받게 되고 노드(A)에서는 노드(B)에서 보낸 XOR데이터를 자신이 가지고 있는 Advertisement 메시지를 이용하여 디코딩한다. 그러면 Request메시지가 남게 되어 노드(B)가 자신에게 Advertisement를 보냈다는 것을 알게 되는 단계와; 상기 노드( B)에서는 노드(A)에서 보낸 데이터와 노드(C)에서 보낸 Request메시지를 받는 단계와; 상기 노드(B)에서 노드(A)에게 보낼 ack신호와 노드(C)에서 보낼 Data를 XOR해서 보내는 단계 및; 상기 노드(A)는 노드(B)에서 보낸 메시지에서 Data메시지를 디코딩하여 ack신호를 추출하고, 노드(C)는 노드(B)에 서 보낸 메시지에서 미리 정의된 Ack메시지를 디코딩하여 Data메시지를 추출하는 단계로 이루어져 있다.11 is a diagram illustrating a pipelined scheme to which the present invention network coding is applied, FIG. 12 is a diagram illustrating a bidirectional linear network according to the present invention, FIG. 13 is a diagram showing a definition of a message according to the present invention, and FIG. 15A is a graph comparing the amount of data according to the number of hops, FIG. 15B is a comparison graph of data retransmission according to the number of hops, and FIG. 15C is a comparison diagram of the pipeline effect when transmitting a message. A high speed code propagation protocol for software update on a sensor network comprises the steps of: receiving an advertisement at node A and transmitting at node B; Node B broadcasts a request to send to node A and an advertisement to send to node C by XOR; The message sent from the node B is received by the node A and the node C, and the node A decodes the XOR data sent by the node B using its own Advertisement message. The request message is then left and node B knows that it has sent an Advertisement to it; Receiving, at node B, data sent from node A and a request message sent from node C; XORing an ack signal to be sent from node B to node A and data to be sent from node C; The node A decodes the data message from the message sent from the node B to extract the ack signal, and the node C decodes the predefined Ack message from the message sent from the node B to the data message. It consists of extraction steps.

이와 같은 구성의 본 발명 프로토콜은 도 12와 같이 선형으로 구성된 네트워크에서 양쪽 끝에 존재하는 두 개의 노드가 상호 정보 교환을 중간의 중계 노드를 활용하여 한다면, 네트워크 코딩의 적용이 비교적 용이하게 이루어질 수 있다. 이 경우에는 일종의 overhearing 문제는 존재하지 않게 된다.According to the present invention having the configuration as shown in FIG. 12, if two nodes existing at both ends of the linearly configured network exchange information with each other by using an intermediate relay node, application of network coding may be relatively easy. In this case, there is no kind of overhearing problem.

업데이트 코드의 데이터 전달방식에는 크게 리플 전달 방식과 파이프라인 전달 기법이 있는바, 파이프라인 전달 기법을 채용하는 본 발명은 리플 전달 방식에 비해 코드 전파 시간이 단축되며 Idle listennig 시간을 줄임으로써 에너지를 절약할 수 있다.The data transmission method of the update code includes a ripple delivery method and a pipeline delivery method. The present invention employing the pipeline delivery method reduces the code propagation time and saves energy by reducing the idle listennig time, compared to the ripple delivery method. can do.

도 10은 기존 Deluge의 파이프라인 전달 방식을 도식화 하였다. 파이프라인 전달 방식은 소스 노드에서 프로그램 코드의 페이지 하나를 전송하면 동일한 홉의 노드가 페이지를 수신하자마자 다음 홉으로 수신한 페이지를 전송한다. 이러한 동작을 반복적으로 수행함으로써 프로그램 코드 전파를 완료하게 된다.10 is a schematic diagram of a pipeline delivery method of the existing Deluge. In pipeline delivery, the source node sends one page of program code, and as soon as the node of the same hop receives the page, it sends the received page to the next hop. By repeatedly performing this operation, program code propagation is completed.

리플 전달 프로토콜 방식보다 효율적이지만 한 페이지를 송신하기 위해서는 노드사이에 4번의 통신이 필요하다. 따라서 노드수의 수가 증가하면 할수록 에너지 소모량은 기하급수적으로 늘어나게 된다. Although more efficient than the ripple forwarding protocol, four communications are required between nodes in order to send one page. Therefore, as the number of nodes increases, the energy consumption increases exponentially.

전술한 바와 같이 네트워크 코딩은 한 번의 전송으로 2개의 정보를 보낼 수 있는 기법이다. 즉, 기존의 파이프라인 전달 방식에 동시에 보낼 수 있는 정보를 보냄으로써 노드수가 증가함에 따라 전송에 필요한 정보는 감소하게 된다. 따라서 에너지뿐만 아니라 전송속도, 네트워크 혼잡을 줄일 수 있다.As described above, network coding is a technique capable of sending two pieces of information in one transmission. In other words, by sending information that can be sent simultaneously to the existing pipeline delivery method, the information required for transmission decreases as the number of nodes increases. Therefore, not only energy but also transmission speed and network congestion can be reduced.

도 13과 같이 네트워크 전송과정에서 Adv와 Ack, Req는 디코딩이 가능하도록 미리 정의를 하였다. 미리 정의된 Adv와 Req, Data와 Ack의 Packet 길이를 같게 해줌으로써 디코딩 사이에서 발생하는 문제를 해결할 수 있다.As shown in FIG. 13, Adv, Ack, and Req were previously defined to be able to decode during network transmission. The problem that occurs between decoding can be solved by equalizing the packet length of predefined Adv, Req, Data and Ack.

도 10에서 ① 노드(A)에서 노드(B)로 전송하기 위해 Advertisement를 보낸다. ② 노드(B)에서 Request를 보내게 되고 ③ 노드(A)에서 Data를 보낸다. ④ ㄴ노드(B)가 데이터를 에러 없이 수신하게 되면 ack신호를 보내주게 되고 데이터를 완전히 받은 노드(B)는 Source노드가 되어 노드(C)로 동일한 순서로 데이터를 보내게 된다.In FIG. 10, 1) Advertisement is sent for transmission from node A to node B. FIG. ② Node (B) sends request and ③ Node (A) sends data. ④ If node B receives data without error, it sends ack signal and node B, which has received data completely, becomes source node and sends data to node C in the same order.

도 10의 ①에서 노드(A)에서 노드(D)까지 데이터를 전송하기 위해서는 12번의 데이터 송수신이 필요한 것에 반해 본 발명의 도 11에서는 노드(A)에서 노드(D)까지 데이터를 전송하기 위해서는 8번의 데이터 송수신이 필요하다. 지금까지 설명한 바와 같이 네트워크 코딩 기법을 업데이트 코드 전파에 적용하면 노드수가 증가 할수록 데이터 송수신 빈도는 감소하게 된다.In (1) of FIG. 10, 12 data transmission / reception are required to transmit data from node A to node D, whereas in FIG. 11 of the present invention, 8 is required to transmit data from node A to node D. FIG. Need to send and receive data. As described above, when the network coding technique is applied to the update code propagation, the frequency of data transmission and reception decreases as the number of nodes increases.

다음에는 본 발명 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜을 채용한 방식과 기존의 파이프라인 전송 방식인 Deluge와 네트워크코딩기법을 적용한 파이프라인 전송방식을 성능 비교 분석하여 그 결과를 도 15a 내지 도 15c에 나타냈다.Next, a performance comparison between a scheme employing a high-speed code propagation protocol for software update on a wireless sensor network and a pipeline transmission scheme using Deluge, which is a conventional pipeline transmission scheme, and a network coding technique, is performed. It is shown in FIG. 15C.

도 15a로부터 기존의 방식은 홉수 증가 시 전송량이 기하급수적으로 증가되는 반면, 본 발명은 홉수가 증가하더라도 전송량 측면에서 안정된 증가율을 나타냄 을 알 수 있다.It can be seen from FIG. 15A that the conventional scheme increases the transmission rate exponentially when the number of hops increases, whereas the present invention shows a stable increase rate in terms of the transmission amount even if the number of hops increases.

따라서, 도 15b와 같이 전송을 위한 데이터량이 감소함에 따라 네트워크 혼잡도 역시 낮아진다. 따라서 홉수가 증가하더라도 데이터의 재전송횟수가 기존의 방식보다 본 발명이 낮아짐을 알 수 있다.Accordingly, as the amount of data for transmission decreases as shown in FIG. 15B, network congestion also decreases. Therefore, even if the number of hops increases, the number of retransmissions of data is lower than that of the conventional method.

도 15c는 기존의 Deluge의 파이프라인 방식과 본 발명에서 제시한 파이프라인방식의 효율을 비교한 그래프이다. 도 15c에 나타나듯이 메시지 전송 시 홉수에 따라 약간의 차이는 보이지만 약 20 ∼ 25%의 성능 개선을 나타냈다.Figure 15c is a graph comparing the efficiency of the pipeline method of the existing Deluge pipeline method and the present invention. As shown in FIG. 15C, a slight difference was observed depending on the number of hops during message transmission, but the performance was improved by about 20 to 25%.

이상에서 설명한 바와 같이 본 발명에서 제안한 코드 업데이트 기법을 사용할 경우 속도, 에너지, 네트워크 혼잡도 측면에서 효율적인 소프트웨어 업데이트를 수행할 수 있다. 뿐만 아니라 미리 정의된 메시지를 이용함으로써 네트워크 코딩의 문제점인 overhearing 문제에 따른 원본 데이터의 분실이나 데이터의 미 수신에 따른 디코딩문제를 방지함으로써 무선 네트워크상에서 신뢰성있는 데이터 전송이 가능하다.As described above, when the code update scheme proposed by the present invention is used, an efficient software update can be performed in terms of speed, energy, and network congestion. In addition, by using a predefined message, it is possible to reliably transmit data in a wireless network by preventing the loss of original data or the decoding problem due to unreceived data due to the overhearing problem, which is a problem of network coding.

지금까지 본 발명을 바람직한 실시예로서 설명하였으나, 본 발명은 이에 한정되지 않고 발명의 요지를 이탈하지 않는 범위 내에서 다양하게 변형하여 실시할 수 있음은 물론이다.While the present invention has been described as a preferred embodiment, the present invention is not limited thereto, and various modifications can be made without departing from the gist of the invention.

도 1은 종래 배치된 무선 센서 노드의 소프트웨어 업데이트를 위한 코드 전파 프로토콜을 나타낸 도면,1 is a diagram illustrating a code propagation protocol for software update of a conventionally deployed wireless sensor node;

도 2는 종래 Dissemination Protocol의 전파 단계를 나타낸 도면,2 is a diagram illustrating a propagation step of a conventional dissemination protocol;

도 3은 종래 무선 센서 노드의 소프트웨어 업데이트를 위한 리플 방식을 나타낸 도면,3 is a view showing a ripple scheme for software update of a conventional wireless sensor node;

도 4는 종래 무선 센서 노드의 소프트웨어 업데이트를 위한 파이프라인 방식을 나타낸 도면,4 is a diagram illustrating a pipeline scheme for software update of a conventional wireless sensor node;

도 5는 종래 Deluge의 데이터 표현방식을 보여주는 도면,5 is a view showing a data representation of the conventional Deluge,

도 6은 종래 Deluge의 기본적인 동작과정을 나타낸 도면,6 is a view showing the basic operation of the conventional Deluge,

도 7은 종래 상태 머신의 기본적인 기능 상태를 나타낸 도면,7 is a view showing a basic functional state of a conventional state machine;

도 8은 종래 기존의 butterfly 네트워크의 구성도,8 is a block diagram of a conventional butterfly network,

도 9는 종래 네트워크 코딩을 적용한 butterfly 네트워크의 구성도,9 is a configuration diagram of a butterfly network to which conventional network coding is applied;

도 10은 종래 네트워크 코딩을 적용한 파이프라인 방식을 나타낸 도면,10 is a view showing a pipelined scheme to which conventional network coding is applied;

도 11은 본 발명 네트워크 코딩을 적용한 파이프라인 방식을 나타낸 도면,11 is a view showing a pipeline scheme to which the present invention network coding is applied.

도 12는 본 발명에 따른 양방향 선형 네트워크를 보여주는 도면,12 shows a bidirectional linear network in accordance with the present invention;

도 13은 본 발명에 따른 메시지의 대한 정의를 나타낸 도면,13 is a view showing a definition of a message according to the present invention;

도 14는 본 발명에 따른 Packet Format의 디코딩과정을 나타낸 도면,14 is a diagram illustrating a decoding process of a packet format according to the present invention;

도 15a는 홉수에 따른 데이터량 비교 그래프,15A is a graph comparing data amounts according to hop counts;

도 15b는 홉수에 따른 데이터 재전송 비교 그래프,15b is a data retransmission comparison graph according to hop number,

도 15c는 메시지 전송 시 파이프라인 효과의 비교도 이다.15c shows a comparison of pipeline effects in message transmission.

Claims (1)

노드(A)에서 Advertisement를 보내면 노드(B)에서 수신하는 단계와; 노드(B)는 노드(A)에게 보낼 Request와 노드(C)에게 보낼 Advertisement를 XOR을 해서 broadcast를 하는 단계와; 상기 노드(B)에서 보낸 메시지가 노드(A), 노드(C)에서 받게 되고 노드(A)에서는 노드(B)에서 보낸 XOR데이터를 자신이 가지고 있는 Advertisement 메시지를 이용하여 디코딩한다. 그러면 Request메시지가 남게 되어 노드(B)가 자신에게 Advertisement를 보냈다는 것을 알게 되는 단계와; 상기 노드( B)에서는 노드(A)에서 보낸 데이터와 노드(C)에서 보낸 Request메시지를 받는 단계와; 상기 노드(B)에서 노드(A)에게 보낼 ack신호와 노드(C)에서 보낼 Data를 XOR해서 보내는 단계 및; 상기 노드(A)는 노드(B)에서 보낸 메시지에서 Data메시지를 디코딩하여 ack신호를 추출하고, 노드(C)는 노드(B)에서 보낸 메시지에서 미리 정의된 Ack메시지를 디코딩하여 Data메시지를 추출하는 단계로 이루어진 것을 특징으로 하는 무선 센서 네트워크상의 소프트웨어 업데이트를 위한 고속 코드 전파 프로토콜.Receiving at node B when Advertisement is sent at node A; Node B broadcasts a request to send to node A and an advertisement to send to node C by XOR; The message sent from the node B is received by the node A and the node C, and the node A decodes the XOR data sent by the node B using its own Advertisement message. The request message is then left and node B knows that it has sent an Advertisement to it; Receiving, at node B, data sent from node A and a request message sent from node C; XORing an ack signal to be sent from node B to node A and data to be sent from node C; The node A decodes the data message from the message sent from the node B to extract the ack signal, and the node C decodes the predefined Ack message from the message sent from the node B to extract the data message. A high speed code propagation protocol for software update on a wireless sensor network, characterized in that the step consisting of.
KR1020080137366A 2008-12-30 2008-12-30 A highspeed code radio wave protocal for updating a software on wireless sensor networks KR20100078972A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080137366A KR20100078972A (en) 2008-12-30 2008-12-30 A highspeed code radio wave protocal for updating a software on wireless sensor networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080137366A KR20100078972A (en) 2008-12-30 2008-12-30 A highspeed code radio wave protocal for updating a software on wireless sensor networks

Publications (1)

Publication Number Publication Date
KR20100078972A true KR20100078972A (en) 2010-07-08

Family

ID=42640132

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080137366A KR20100078972A (en) 2008-12-30 2008-12-30 A highspeed code radio wave protocal for updating a software on wireless sensor networks

Country Status (1)

Country Link
KR (1) KR20100078972A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101219611B1 (en) * 2010-12-27 2013-01-21 대구대학교 산학협력단 An efficient dissemination protocol for remote update in 6LoWPAN sensor network
CN107592185A (en) * 2017-07-19 2018-01-16 西南交通大学 A kind of forward direction repeating method suitable for network code transmission control protocol

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101219611B1 (en) * 2010-12-27 2013-01-21 대구대학교 산학협력단 An efficient dissemination protocol for remote update in 6LoWPAN sensor network
CN107592185A (en) * 2017-07-19 2018-01-16 西南交通大学 A kind of forward direction repeating method suitable for network code transmission control protocol
CN107592185B (en) * 2017-07-19 2020-03-20 西南交通大学 Forward retransmission method suitable for network coding transmission control protocol

Similar Documents

Publication Publication Date Title
Rossi et al. Synapse: A network reprogramming protocol for wireless sensor networks using fountain codes
US9479292B2 (en) System and method for terminal-group based HARQ for cellular integrated D2D communications
KR101366332B1 (en) A method of automatic repeat request(ARQ) in communication system
Hagedorn et al. Rateless deluge: Over-the-air programming of wireless sensor networks using random linear codes
CN100359839C (en) Method for minimizing feedback responses in ARQ protocols
JP4834081B2 (en) Multi-carrier scheduling
CN109714130B (en) Fountain code-based file transmission method
CN104243096A (en) Deep space multi-file transmission method based on fountain codes
CN100583776C (en) Network device internal node reliable multicast method, system and device
US9654255B2 (en) Data transmission method and device
AU2017392542A1 (en) Data packet transmission method and device
KR102002939B1 (en) On-demand file recovery methods and systems
CN104836642A (en) LTP (Licklider Transmission Protocol) optimized design method based on erase code
KR20110097917A (en) Error control on-demand
KR20100078972A (en) A highspeed code radio wave protocal for updating a software on wireless sensor networks
EP2015472B1 (en) Methods of data transmission by relay nodes in a synchronous communications network, corresponding reception method, computer program product, storage means and nodes.
KR101316622B1 (en) Wireless communication network system and method of transmitting multicast packet over the wireless communication network
CN101872296B (en) Device and method for realizing high-capacity mass texting
JP5032678B2 (en) Multi-carrier scheduling
CN104834540A (en) Software upgrade method based on flooding mechanism
CN103354490A (en) Coding packet adaptive retransmission mechanism combining compensation and foresight
CN110034854B (en) Reliable data transmission method based on interleaving and random linear network coding
KR101219611B1 (en) An efficient dissemination protocol for remote update in 6LoWPAN sensor network
CN104780582A (en) Multi-package flooding method using network coding and link correlation
Donckers et al. Enhancing energy efficient tcp by partial reliability

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application