KR101074125B1 - Apparatus for transmitting executable file and sensor node - Google Patents

Apparatus for transmitting executable file and sensor node Download PDF

Info

Publication number
KR101074125B1
KR101074125B1 KR1020080125945A KR20080125945A KR101074125B1 KR 101074125 B1 KR101074125 B1 KR 101074125B1 KR 1020080125945 A KR1020080125945 A KR 1020080125945A KR 20080125945 A KR20080125945 A KR 20080125945A KR 101074125 B1 KR101074125 B1 KR 101074125B1
Authority
KR
South Korea
Prior art keywords
file
calculation
executable
generated
executable file
Prior art date
Application number
KR1020080125945A
Other languages
Korean (ko)
Other versions
KR20100067396A (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 KR1020080125945A priority Critical patent/KR101074125B1/en
Publication of KR20100067396A publication Critical patent/KR20100067396A/en
Application granted granted Critical
Publication of KR101074125B1 publication Critical patent/KR101074125B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

실행파일 송신장치 및 센서노드가 개시된다. 본 발명의 일 실시예에 따른 실행파일 송신장치는 프로그램 변경에 따라, 실행파일을 포함하는 산출파일을 생성하고, 생성된 산출파일을 프로그램 변경 이전에 저장된 실행파일을 포함하는 산출파일과 비교하고, 변경된 부분에 해당되는 데이터 파일을 생성하여 생성된 데이터 파일을 센서노드로 전송한다. 이에 의해 프로그램 변경에 따른 실행파일 전송시 불필요한 전력 소모를 줄이며, 센서노드의 수명을 연장하여 무선센서 네트워크의 가동 시간을 연장할 수 있다.An executable file transmitter and a sensor node are disclosed. The executable file transmission apparatus according to an embodiment of the present invention generates a calculated file including the executable file according to a program change, and compares the generated calculated file with a calculated file including the executable file stored before the program change, Creates a data file corresponding to the changed part and sends the generated data file to the sensor node. As a result, unnecessary power consumption may be reduced during transmission of an executable file according to a program change, and the operating time of the wireless sensor network may be extended by extending the life of the sensor node.

무선센서 네트워크, 센서노드, 실행파일, 부분 다운로드 Wireless sensor network, sensor node, executable file, partial download

Description

실행파일 송신장치 및 센서노드 {Apparatus for transmitting executable file and sensor node}Apparatus for transmitting executable file and sensor node}

본 발명의 일 양상은 무선센서 네트워크에 관한 것으로, 보다 상세하게는 무선센서 네트워크의 데이터 송수신 기술에 관한 것이다.One aspect of the present invention relates to a wireless sensor network, and more particularly, to a data transmission and reception technique of a wireless sensor network.

본 연구는 지식경제부 및 정보통신연구진흥원의 IT원천기술개발 사업의 일환으로 수행한 연구로부터 도출된 것이다. [과제관리번호 : 2008-F-053-01, 과제명 : QoS 및 확장성지원(S-MoRe) 센서네트워크 고도화 기술개발 (표준화연계)]This study is derived from the research conducted as part of the IT source technology development project of the Ministry of Knowledge Economy and ICT. [Task Management No.: 2008-F-053-01, Task Name: QoS and Scalability Support (S-MoRe) Sensor Network Advanced Technology Development (Standardization)]

무선센서 네트워크(Wireless Sensor Network)는 센서를 통해 사물에 대한 인식정보 또는 주변의 환경정보를 감지하고 이를 외부와 연결하여 정보를 처리하고 관리하는 네트워크이다. 기존의 네트워크와 다르게 의사소통의 수단이 아니라 자동화된 원격정보 수집을 기본 목적으로 한다.A wireless sensor network is a network that senses recognition information about an object or surrounding environment information through a sensor and connects it to the outside to process and manage the information. Unlike conventional networks, the basic purpose is to collect information remotely, not as a means of communication.

이러한 무선센서 네트워크에 있어서 프로그램 변경에 따라 재프로그래밍을 하게 되는 경우, 재프로그래밍을 위한 파일이 무선센서 네트워크 내의 센서노드들에게 전송되어 재프로그래밍된다. 그런데, 재프로그래밍을 위해서 파일 전체가 센서노드들에 전송됨에 따라 전력이 낭비될 수 있으며, 센서노드의 수명이 단축되어 전체 무선센서 네트워크의 가동시간이 줄어들 수 있다.When reprogramming in accordance with a program change in such a wireless sensor network, a file for reprogramming is transmitted to sensor nodes in the wireless sensor network and reprogrammed. However, as the entire file is transmitted to the sensor nodes for reprogramming, power may be wasted, and the lifetime of the sensor node may be shortened, thereby reducing the operating time of the entire wireless sensor network.

일 양상에 따라, 불필요한 전력 소모를 줄일 수 있는 실행파일 송신장치 및 센서노드를 제안한다.According to one aspect, an executable file transmission apparatus and a sensor node that can reduce unnecessary power consumption are proposed.

일 양상에 따른 실행파일 송신장치는, 프로그램 변경에 따라 실행파일을 포함하는 산출파일을 생성하는 산출파일 생성부, 생성된 산출파일을 프로그램 변경 이전에 저장된 실행파일을 포함하는 산출파일과 비교하는 산출파일 비교부 및 비교결과를 기초로 하여 변경된 부분에 해당되는 데이터 파일을 생성하고 생성된 데이터 파일을 센서노드로 전송하는 데이터파일 전송부를 포함한다.According to an aspect, an apparatus for transmitting an executable file may include: an output file generation unit configured to generate an output file including an executable file according to a program change, and an output to compare the generated output file with a output file including an executable file stored before the program change A file comparator and a data file transmitter for generating a data file corresponding to the changed part based on the comparison result and transmitting the generated data file to the sensor node.

한편 다른 양상에 따른 센서노드는, 프로그램 변경에 따라 실행파일을 송신하는 실행파일 송신장치가 실행파일을 포함하는 산출파일을 프로그램 변경 이전에 저장된 실행파일을 포함하는 산출파일과 비교하여 변경된 부분에 해당되는 데이터 파일을 생성하면, 실행파일 송신장치로부터 생성된 데이터 파일을 수신하는 무선통신부 및 수신된 데이터 파일을 이용해 실행파일 송신장치를 통해 생성된 실행파일에 대응되는 새로운 실행파일을 생성하는 제어부를 포함한다.Meanwhile, a sensor node according to another aspect corresponds to a portion changed by an executable file transmitting apparatus that transmits an executable file according to a program change by comparing the output file including the executable file with the output file including the executable file stored before the program change. When generating a data file to be generated, the wireless communication unit for receiving the data file generated from the executable file transmission apparatus and a control unit for generating a new executable file corresponding to the executable file generated by the executable file transmission apparatus using the received data file do.

전술한 바와 같이 본 발명의 일 실시예에 따르면, 프로그램 변경에 따른 실행파일 전송시 변경된 부분에 해당되는 실행파일을 전송함에 따라 불필요한 전력 소모를 절감할 수 있다. 나아가 전력 소모가 절감됨에 따라 센서노드의 수명이 연 장되고 무선센서 네트워크의 가동시간이 연장될 수 있다. 나아가 변경된 부분에 해당되는 실행파일을 전송하므로, 전송시간 및 재프로그래밍 시간이 단축됨에 따라 재프로그래밍시 센싱작업 등의 다른 작업을 하지 못하게 되는 시간낭비를 줄일 수 있다. 나아가, 실행파일 송신 및 수신 과정에서 실행파일을 다양한 저장공간에 저장함으로써 저장공간을 효율적으로 활용할 수 있다.As described above, according to an exemplary embodiment of the present invention, unnecessary power consumption may be reduced by transmitting an executable file corresponding to a changed part when transmitting an executable file according to a program change. Furthermore, reduced power consumption can extend the life of sensor nodes and extend the uptime of wireless sensor networks. Furthermore, since the executable file corresponding to the changed part is transmitted, the transmission time and the reprogramming time can be shortened, thereby reducing the time waste that prevents other operations such as sensing from reprogramming. Furthermore, by storing the executable file in various storage spaces in the process of transmitting and receiving the executable file, the storage space can be efficiently utilized.

이하에서는 첨부한 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, with reference to the accompanying drawings will be described embodiments of the present invention; In the following description of the present invention, if it is determined that detailed descriptions of related well-known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to intention or custom of a user or an operator. Therefore, the definition should be based on the contents throughout this specification.

도 1은 본 발명의 일 실시예에 따른 무선센서 네트워크(1)의 구성을 나타내는 블록도이다. 도 1을 참조하면, 일 실시예에 따른 무선센서 네트워크(1)는 실행파일 송신장치(10) 및 센서노드(20)를 포함하며, 싱크노드(30)를 더 포함할 수 있다. 센서노드(20)는 복수 개일 수 있다.1 is a block diagram showing the configuration of a wireless sensor network 1 according to an embodiment of the present invention. Referring to FIG. 1, the wireless sensor network 1 according to an embodiment may include an execution file transmitter 10 and a sensor node 20, and may further include a sink node 30. There may be a plurality of sensor nodes 20.

무선센서 네트워크(1)의 센서노드(20)는 자신의 메모리에 실행하여야 할 프로그램의 내용을 저장하여 해당되는 프로그램을 수행한다. 무선센서 네트워크에서 실행하여야 할 프로그램의 내용이 변경되면 실행파일 송신장치(10)에서 변경된 내용이 반영된 실행파일을 생성하고, 실행파일 송신장치(10)가 메모리 쓰기 도 구(Memory writing tool)을 이용하여 센서노드(20)와 연결되어 새롭게 생성된 실행파일을 센서노드(20)의 메모리에 직접 쓸 수 있다. 또한 실행파일 송신장치(10)에 싱크노드(Sink node)(30)를 유선으로 연결하여 신규 실행파일을 싱크노드(30)에 전송하고, 싱크노드(30)로부터 무선을 통해 센서노드(20)에 신규 실행파일을 전송할 수 있다.The sensor node 20 of the wireless sensor network 1 stores the contents of a program to be executed in its memory and executes the corresponding program. When the contents of a program to be executed in the wireless sensor network are changed, an executable file reflecting the changed contents is generated by the executable file transmitter 10, and the executable file transmitter 10 uses a memory writing tool. By connecting to the sensor node 20, the newly created executable file can be directly written to the memory of the sensor node 20. In addition, by connecting the sink node (30) by wire to the execution file transmission apparatus 10, and transmits a new executable file to the sink node 30, the sensor node 20 through the wireless from the sink node (30) You can send a new executable to.

실행파일 송신장치(10)가 싱크노드(30)를 경유하여 신규 실행파일을 센서노드(20)에 송신하는 경우, 싱크노드(30)에서 멀리 떨어진 센서노드에 대하여서도 신규 실행파일을 송신할 수 있다. 예를 들면, 싱크노드(30)에 가까운 센서노드가 먼저 무선을 통해 신규 실행파일을 수신하여 이를 저장하고, 저장한 신규 실행파일을 다음 센서노드에 전달하는 릴레이 방식을 이용하여 싱크노드(30)에서 멀리 배치된 센서노드에게도 신규 실행파일을 송신할 수 있다.When the executable file transmitting apparatus 10 transmits a new executable file to the sensor node 20 via the sink node 30, the new executable file may be transmitted to the sensor node far from the sink node 30. have. For example, the sensor node closer to the sink node 30 first receives the new executable file through the wireless network, stores the new executable file, and transfers the stored new executable file to the next sensor node. New executables can also be sent to sensor nodes placed remotely from.

본 발명의 일 실시예에 따른 실행파일 송신장치(10)는 프로그램 변경에 따라 변경된 부분에 해당되는 실행파일을 센서노드(20) 또는 싱크노드(30)에 전송한다. 즉, 새로 생성된 실행파일의 전체를 전송하는 것이 아니라 변경된 부분에 대하여서만 파일을 송신함으로써 전력 낭비를 줄일 수 있다. 또한 센서노드(20)의 수명이 연장되어 전체 무선센서 네트워크(1)의 가동 기간이 연장될 수 있다.Execution file transmission apparatus 10 according to an embodiment of the present invention transmits the execution file corresponding to the changed portion in accordance with the program change to the sensor node 20 or the sink node (30). In other words, it is possible to reduce power waste by transmitting a file only for the changed part instead of transmitting the entire newly created executable file. In addition, the lifespan of the sensor node 20 can be extended to extend the operation period of the entire wireless sensor network 1.

도 2는 본 발명의 일 실시예에 따른 실행파일 송신장치(10)의 구성을 나타내는 블록도이다. 도 2를 참조하면, 일 실시예에 따른 실행파일 송신장치(10)는 산출파일 생성부(100), 산출파일 비교부(110), 데이터파일 전송부(120) 및 산출파일 저장부(130)를 포함한다.2 is a block diagram showing the configuration of an executable file transmission apparatus 10 according to an embodiment of the present invention. 2, the execution file transmitting apparatus 10 according to an embodiment may include a calculation file generator 100, a calculation file comparison unit 110, a data file transmission unit 120, and a calculation file storage unit 130. It includes.

산출파일 생성부(100)는 프로그램 변경에 따라, 컴파일을 수행하여 실행파일을 포함하는 산출파일을 생성한다. 여기서, 프로그램 변경에 따라 새로운(新) 실행파일과 부가정보파일들이 생성될 때, 이전(舊) 실행파일과 부가정보파일들은 제거되지 않는다. 일반적으로 프로그램 컴파일 환경에서는 변경 이전 파일들은 자동적으로 제거하나, 본 발명의 일 실시예에 따른 산출파일 생성부(100)는 변경 이전의 파일들을 제거하지 않고 재활용한다. 그러므로 실행파일 송신장치(10)에는 변경 이전의 실행파일과 부가정보파일들 및 변경 이후의 새로운 실행파일과 부가정보파일들이 함께 존재한다.The calculation file generator 100 generates a calculation file including an execution file by compiling according to a program change. Here, when a new executable file and additional information files are generated according to a program change, the previous executable file and additional information files are not removed. In general, in a program compilation environment, files before modification are automatically removed, but the output file generator 100 according to an embodiment of the present invention is recycled without removing the files before modification. Therefore, the executable file transmitting apparatus 10 includes the executable file and the additional information files before the change and the new executable file and the additional information file after the change.

한편, 산출파일 비교부(110)는 산출파일 생성부(100)를 통해 생성된 산출파일을, 프로그램 변경 이전에 산출파일 저장부(130)에 저장된 실행파일을 포함하는 산출파일과 비교한다. 구체적으로, 산출파일 비교부(110)는 산출파일 생성부(100)를 통해 생성된 산출파일에 포함된 부가정보파일에 해당되는 함수이름, 시작 및 종료 주소 및 크기정보와, 산출파일 저장부(130)에 저장된 변경 이전의 산출파일에 포함된 부가정보파일에 해당되는 함수이름, 시작 및 종료주소 및 크기정보를 분석할 수 있다. 그리고, 분석결과를 이용하여 산출파일 생성부(100)를 통해 생성된 산출파일의 부가정보파일에 해당되는 함수내용과 산출파일 저장부(130)에 저장된 산출파일의 부가정보파일에 해당되는 함수내용을 비교할 수 있다.On the other hand, the calculation file comparison unit 110 compares the calculation file generated by the calculation file generation unit 100 with a calculation file including the executable file stored in the calculation file storage unit 130 before the program change. In detail, the calculation file comparison unit 110 may include a function name, a start and end address, and size information corresponding to the additional information file included in the calculation file generated by the calculation file generator 100, and a calculation file storage unit ( The function name, start and end addresses, and size information corresponding to the additional information file included in the calculation file before the change stored in 130 may be analyzed. The function content corresponding to the additional information file of the calculation file generated by the calculation file generating unit 100 and the function information corresponding to the additional information file of the calculation file stored in the calculation file storage unit 130 using the analysis result. Can be compared.

데이터파일 전송부(120)는 산출파일 비교부(110)를 통한 비교결과를 기초로 하여 변경된 부분에 해당되는 데이터 파일을 생성하고, 생성된 데이터 파일을 센서노드로 전송한다. 여기서 생성된 데이터 파일은, 생성된 산출파일 중 저장된 산출 파일과 다른 부분에 해당되는 변경 산출파일 및 생성된 산출파일과 저장된 산출파일이 동일한 부분에 대해 변경없음을 알리는 메시지를 포함할 수 있다. 변경 산출파일은, 생성된 산출파일의 갱신되거나 새로 삽입된 함수 또는 변수값에 해당되는 실행파일일 수 있다.The data file transmitter 120 generates a data file corresponding to the changed part based on the comparison result through the calculation file comparator 110 and transmits the generated data file to the sensor node. The generated data file may include a change calculation file corresponding to a different part from the generated calculation file among the generated calculation files, and a message indicating that there is no change for the same part of the generated calculation file and the stored calculation file. The change calculation file may be an executable file corresponding to an updated or newly inserted function or variable value of the generated calculation file.

요약하면, 일 실시예에 따른 실행파일 송신장치(10)는 프로그램 변경에 따른 실행파일 전송시 변경된 부분에 해당되는 실행파일을 전송함에 따라 불필요한 전력 소모를 절감할 수 있다. 나아가 전력 소모가 절감됨에 따라 센서노드의 수명이 연장되고 무선센서 네트워크의 가동시간이 연장될 수 있다. 나아가 변경된 부분에 해당되는 실행파일을 전송하므로, 전송시간 및 재프로그래밍 시간이 단축됨에 따라 재프로그래밍시 센싱작업 등의 다른 작업을 하지 못하게 되는 시간낭비를 줄일 수 있다.In summary, the execution file transmission apparatus 10 according to an embodiment may reduce unnecessary power consumption by transmitting an execution file corresponding to a changed portion during transmission of an execution file according to a program change. Further, as the power consumption is reduced, the life of the sensor node can be extended and the uptime of the wireless sensor network can be extended. Furthermore, since the executable file corresponding to the changed part is transmitted, the transmission time and the reprogramming time can be shortened, thereby reducing the time waste that prevents other operations such as sensing from reprogramming.

도 3은 본 발명의 일 실시예에 따른 센서노드(20)의 구성을 나타내는 블록도이다. 도 3을 참조하면, 일 실시예에 따른 센서노드(20)는 제어부(210) 및 무선 통신부(200)를 포함하며, 플래시 메모리(220), 에스램(SRAM)(230) 및 이피롬(EPROM)(240)을 포함하는 저장공간을 더 포함할 수 있다.3 is a block diagram showing the configuration of the sensor node 20 according to an embodiment of the present invention. Referring to FIG. 3, the sensor node 20 according to an embodiment includes a controller 210 and a wireless communication unit 200, and includes a flash memory 220, an SRAM 230, and an EPROM. ) May further include a storage space including 240.

무선 통신부(200)는 프로그램 변경에 따라, 실행파일을 송신하는 실행파일 송신장치로부터 생성된 데이터 파일을 수신한다. 이때 수신된 데이터 파일은, 실행파일 송신장치가 프로그램 변경에 따라 생성된 실행파일을 포함하는 산출파일을 프로그램 변경 이전에 저장된 실행파일을 포함하는 산출파일과 비교했을 때 변경된 부분에 해당되는 실행파일이다.The wireless communication unit 200 receives a data file generated from an executable file transmitter for transmitting an executable file according to a program change. In this case, the received data file is an executable file corresponding to the changed part when the executable file transmitting apparatus compares the output file including the executable file generated according to the program change with the output file including the executable file stored before the program change. .

한편, 제어부(210)는 무선 통신부(200)를 통해 수신된 데이터 파일을 이용해 실행파일 송신장치로부터 생성된 실행파일에 대응되는 새로운 실행파일을 생성한다. 여기서, 제어부(210)는 수신된 데이터 파일 및 프로그램 변경 이전에 저장된 실행파일을 비교하여, 비교 결과 변경된 부분에 해당되는 데이터 파일 및 변경되지 않은 부분에 해당되는 저장된 실행파일을 조합하여 새로운 실행파일을 생성할 수 있다.Meanwhile, the controller 210 generates a new executable file corresponding to the executable file generated from the executable file transmitter by using the data file received through the wireless communication unit 200. Here, the control unit 210 compares the received data file and the executable file stored before the program change, and combines the data file corresponding to the changed part and the stored executable file corresponding to the unchanged part to create a new executable file. Can be generated.

한편, 일 실시예에 따라 실행파일 송신장치로부터 수신된 실행파일을 다양한 저장공간에 저장함으로써 저장공간을 효율적으로 활용할 수 있다. 즉, 수신된 데이터 파일은 에스램(SRAM)(230) 또는 플래시 메모리(220)의 부트로더(224)에 저장되고, 프로그램 변경 이전의 실행파일은 플래시 메모리(220)의 프로그램 영역(222)에 저장될 수 있다. 이에 따라, 제어부(210)는 에스램(230) 또는 플래시 메모리(220)의 부트로더(234)에 저장된 데이터 파일 및 플래시 메모리(220)의 프로그램 영역(222)에 저장된 프로그램 변경 이전의 실행파일을 부트로더(224)를 통해 비교하고, 비교결과를 기초로 조합된 새로운 실행파일을 플래시 메모리(220)의 프로그램 영역(222)에 저장할 수 있다.Meanwhile, according to an exemplary embodiment, the storage space may be efficiently utilized by storing the execution file received from the execution file transmission apparatus in various storage spaces. That is, the received data file is stored in the boot loader 224 of the SRAM 230 or the flash memory 220, and the executable file before the program change is stored in the program area 222 of the flash memory 220. Can be stored. Accordingly, the controller 210 stores the data file stored in the bootloader 234 of the SRAM 230 or the flash memory 220 and the executable file before the program change stored in the program area 222 of the flash memory 220. The boot loader 224 compares the new executable files based on the comparison result and stores the new executable files in the program area 222 of the flash memory 220.

나아가, 일 실시예에 따른 센서노드(20)는 실행파일 송신장치로부터 수신된 데이터 파일을 다른 센서노드로 릴레이 전송하는 데이터파일 릴레이전송부(미도시)를 더 포함할 수 있다.Furthermore, the sensor node 20 according to an embodiment may further include a data file relay transmission unit (not shown) for relaying the data file received from the execution file transmitter to another sensor node.

도 4는 본 발명의 일 실시예에 따른 실행파일 송신장치의 데이터 파일 생성과정을 설명하기 위한 참조도이다.4 is a reference diagram for explaining a process of generating a data file of an execution file transmitting apparatus according to an embodiment of the present invention.

도 4를 참조하면, 일 실시예에 따른 실행파일 송신장치는 프로그램 변경에 따라 소스 파일에 대해 컴파일을 수행하여 실행파일을 생성한다. 예를 들면, GCC(GNU Compiler Collection) 환경하에서는 소스 파일에 대하여 컴파일을 수행하면 미리 정한 실행파일 이름에 다음과 같은 접미사들이 붙은 파일들이 생성된다.Referring to FIG. 4, an executable file transmitting apparatus according to an embodiment generates a executable file by compiling a source file according to a program change. For example, under the GCC (GNU Compiler Collection) environment, when compiling a source file, files with the following suffixes are created in a predetermined executable file name.

(1) elf: ELF(Executable and Linkable Format) file(1) elf: Executable and Linkable Format (ELF) file

(2) lst: Listing file(2) lst: Listing file

(3) lss: Extended listing file(3) lss: Extended listing file

(4) sym: Symbols file(4) sym: Symbols file

(5) hex: Hexadecimal file(5) hex: Hexadecimal file

여기서, elf 접미사를 가진 파일은 이 파일을 센서노드로 송신하여 센서노드에서 수행되는 실행파일이며 가시성(可視性)이 없다. lss 접미사를 가진 파일은 소스 파일 내의 function 이름, 시작 주소, function 내용에 대한 어셈블리 코드 등 해당 정보가 들어 있으며 가시성이 있다. 또한 hex 접미사를 가진 파일은 ELF 파일에서 function 내용과 주소 및 데이터 부분에 대한 내용을 16진법(Hexadecimal)으로 나타낸 가시성을 가진 파일이다. 그러나, GCC 환경이 아닌 다른 컴파일 환경에서도 소스 코드의 디버깅을 위하여 이와 유사하거나 동등한 기능들을 제공한다. 본 발명에서는 GCC 환경하에서 생성된 파일명을 기준으로 기술하나 다른 컴파일 환경에서도 본 발명을 유사한 방법으로 적용할 수 있다.Here, the file with the elf suffix is an executable file executed by the sensor node by sending this file to the sensor node and has no visibility. The file with the lss suffix contains the relevant information, including the name of the function in the source file, the start address, and the assembly code for the function's contents and is visible. Also, the file with the hex suffix is a file with hexadecimal visibility of the function contents, addresses, and data parts of the ELF file. However, compiling environments other than GCC provide similar or equivalent functions for debugging source code. In the present invention, the file name generated in the GCC environment is described as a reference, but the present invention can be applied in a similar manner to other compilation environments.

도 4를 참조하면, 실행파일 송신장치가 프로그램 변경에 따라 프로그램의 컴파일을 수행하면 실행파일(elf)(410)과 부가정보파일들(lss,hex)(420,430)을 포함 한 산출파일(400)이 산출된다. 이때 실행파일 송신장치는 프로그램 변경 이전에 생성되어 저장된 실행파일(elf)(510) 및 부가정보파일(lss,hex)(520,530)들을 포함하는 산출파일(500)을, 새로 생성된 실행파일(elf)(410)과 부가정보파일들(lss,hex)(420, 430)을 포함하는 산출파일(400)과 비교하여 변경된 부분을 추출하고 이를 데이터 파일(delta)(600)로 구성한다.Referring to FIG. 4, when the execution file transmitting apparatus compiles a program according to a program change, the calculation file 400 including an execution file elf 410 and additional information files lss and hex 420 and 430. Is calculated. At this time, the executable file transmitting apparatus includes a newly generated executable file elf including an executable file (elf) 510 and additional information files (lss, hex) 520 and 530, which are generated and stored before the program change. 410 and the output file 400 including the additional information files (lss, hex) 420 and 430 are extracted, and the changed portion is extracted and configured as a data file (delta) 600.

구체적으로, 프로그램 변경 이전에 산출되어 저장된 산출파일(500)에 포함되는 부가정보파일(lss)(520)에는 각 프로그램의 함수(function) 이름, 시작 및 종료 주소 및 크기가 정보가 들어 있다. 또한 프로그램 변경 이후에 산출된 산출파일(400)에 포함되는 부가정보파일(lss)(420)에도 동일한 부가정보인 각 프로그램의 함수 이름, 시작 및 종료 주소 및 크기가 정보가 들어 있다. 이때 실행파일 송신장치는 변경 이전 부가정보파일(lss)(520)에서 각 함수 이름, 시작 및 종료 주소, 크기를 조사하고, 변경 이후 부가정보파일(lss)(420)에서 각 함수 이름, 시작 및 종료 주소, 크기를 조사한다. Specifically, the additional information file (lss) 520 included in the calculation file 500 calculated and stored before the program change includes information on a function name, a start and end address, and a size of each program. In addition, the additional information file (lss) 420 included in the calculation file 400 calculated after the program change includes information on a function name, a start and end address, and a size of each program, which are the same additional information. At this time, the execution file transmitter checks each function name, start and end address, and size in the additional information file (lss) 520 before the change, and each function name, start, and start in the additional information file (lss) 420 after the change. Check the ending address and size.

이어서, 변경 이전 부가정보파일(lss)(520)에서 조사된 함수 이름, 시작/종료 주소 및 크기 정보를 가지고 변경 이전 부가정보파일(hex)(530)에서 각 함수의 내용을 가져온다. 마찬가지로 변경 이후 생성된 부가정보파일(lss)(420)에서 조사된 함수 이름, 시작/종료 주소 및 크기 정보를 가지고 변경 이전 부가정보파일(hex)(430)에서 각 함수의 내용을 가져온다. 이때 변경 이전의 실제 함수 내용과 변경 이후의 실제 함수 내용을 비교하면 변경 차이점을 알 수 있다. 이를 세부적으로 기술하면 변경된 함수, 신규 삽입 함수, 변경 없는 함수 및 변수 값 변경 부분을 분석할 수 있다.Subsequently, the contents of each function are retrieved from the previous change information file (hex) 530 with the function name, start / end address, and size information examined in the previous change information file (lss) 520. Similarly, the function name, start / end address, and size information examined in the additional information file (lss) 420 generated after the change are taken and the contents of each function are obtained from the previous information file (hex) 430 before the change. At this time, if you compare the actual function contents before the change with the actual function contents after the change, you can see the difference. If you describe it in detail, you can analyze the changed functions, new insert functions, unchanged functions, and variable value changes.

이어서, 전술한 과정에서 도출된 차이점과 변경 이전 실행파일(500)을 기초로 센서노드로 송신할 데이터 파일(delta)(600)을 구성한다. 도출된 차이점을 기초로, 변경 이전 실행파일(elf)(510)에서 변경된 부분, 즉 신규로 삽입된 함수와 변수값은 신규 실행파일(elf)(410)에서 해당 부분을 가져와 데이터 파일(delta)(600)을 구성할 수 있다. 또한 변경이 없는 함수는 변경 없음을 알리는 단순 메시지로 데이터 파일(delta)(600)에 추가하여 구성할 수 있다. 이에 따라 실행파일 송신장치에서 싱크노드를 거쳐 센서노드로 송신할 데이터 파일(delta)(600)이 구성될 수 있다.Subsequently, a data file (delta) 600 to be transmitted to the sensor node is configured based on the difference derived from the above-described process and the previous execution file 500. Based on the derived differences, the changed part in the previous executable elf 510, that is, the newly inserted functions and variable values, is taken from the new executable elf 410 and the corresponding data part is taken from the data file delta. 600 can be configured. Also, a function without change may be configured by adding to the data file delta 600 as a simple message indicating that there is no change. Accordingly, a data file (delta) 600 to be transmitted to the sensor node through the sink node in the execution file transmitter may be configured.

도 5는 본 발명의 일 실시예에 따른 센서노드의 실행파일 생성 과정을 설명하기 위한 참조도이다.5 is a reference diagram for explaining a process of generating an executable file of a sensor node according to an embodiment of the present invention.

도 5를 참조하면, 센서노드의 신규 실행파일(800)은 실행파일 송신장치로부터 수신한 데이터 파일(600)의 변경 또는 신규로 삽입된 실행파일(610)과, 미리 저장된 변경이전 실행파일(700) 중 변경이 없는 실행파일(720)이 조합된 형태일 수 있다. Referring to FIG. 5, the new executable file 800 of the sensor node includes a modified or newly inserted executable file 610 of the data file 600 received from the executable file transmitting apparatus, and a previously stored executable file 700. ) May be a combination of executable files 720 without change.

즉, 센서노드에서 수신한 데이터 파일(600)과 미리 저장된 변경 이전 실행파일(700)을 분석하여, 변경 또는 신규로 삽입된 부분은 데이터 파일(600)의 변경 또는 신규로 삽입된 부분과 매칭되는 부분(610)으로 신규 실행파일(800)을 구성할 수 있다. 또한 변경이 없음을 나타내는 단순 메시지(620)의 경우에는 변경 이전 실행파일(700)에서 단순 메시지(620)와 매칭되는 부분에 해당되는 내용(720)을 가져와 신규 실행파일(800)을 구성할 수 있다. 이때 구성된 신규 실행파일을 플래시 메모리의 프로그램 영역에 저장할 수 있다.That is, by analyzing the data file 600 received from the sensor node and the pre-stored executable file 700 before the change, the changed or newly inserted part is matched with the changed or newly inserted part of the data file 600. The portion 610 may constitute a new executable file 800. In addition, in the case of the simple message 620 indicating that there is no change, a new executable file 800 may be configured by importing a content 720 corresponding to a portion of the previous executable file 700 that matches the simple message 620. have. In this case, the configured new executable file can be stored in the program area of the flash memory.

도 6은 본 발명의 일 실시예에 따른 실행파일 송신방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of transmitting an executable file according to an embodiment of the present invention.

도 6을 참조하면, 일 실시예에 따른 실행파일 송신장치는, 프로그램 변경에 따라 실행파일을 포함하는 산출파일을 생성한다(S900). 그리고, 생성된 산출파일을, 프로그램 변경 이전에 저장된 실행파일을 포함하는 산출파일과 비교한다(S910). 이어서 비교결과를 기초로 하여 변경된 부분에 해당되는 데이터 파일을 생성한다(S920). 그리고, 생성된 데이터 파일을 센서노드로 전송한다(S930). 나아가 생성된 데이터 파일을 다른 센서노드에 릴레이 전송될 수 있다.Referring to FIG. 6, the apparatus for transmitting an executable file according to an embodiment generates a calculated file including the executable file according to a program change (S900). Then, the generated output file is compared with the calculated file including the executable file stored before the program change (S910). Subsequently, a data file corresponding to the changed part is generated based on the comparison result (S920). The generated data file is transmitted to the sensor node (S930). Furthermore, the generated data file may be relayed to another sensor node.

요약하면, 일 실시예에 따른 실행파일 송신장치에서 실행파일의 변경된 부분을 반영하는 데이터 파일이 구성되고, 이 데이터 파일이 싱크노드를 거쳐 센서노드로 무선송신되는 과정과, 센서노드에서 다른 센서노드로 릴레이 과정을 거쳐 송신되는 과정에서 신규 실행파일 전체가 아닌 변경된 부분을 반영하는 데이터 파일을 전송할 수 있다. 이에 따라 센서노드의 전력 사용이 감소하게 되어 센서노드의 수명이 연장되며, 결과적으로 무선센서 네트워크의 수명이 연장되고 안정적으로 동작될 수 있다.In summary, the data file reflecting the changed part of the executable file is configured in the executable file transmitting apparatus according to an embodiment, and the data file is wirelessly transmitted to the sensor node through the sync node, and the other sensor node from the sensor node. In the process of transmitting through a relay process, a data file reflecting the changed part may be transmitted instead of the entire new executable file. Accordingly, the power usage of the sensor node is reduced, thereby extending the life of the sensor node. As a result, the life of the wireless sensor network can be extended and operated stably.

이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것 이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The embodiments of the present invention have been described above. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

도 1은 본 발명의 일 실시예에 따른 무선센서 네트워크의 구성을 나타내는 블록도,1 is a block diagram showing the configuration of a wireless sensor network according to an embodiment of the present invention;

도 2는 본 발명의 일 실시예에 따른 실행파일 송신장치의 구성을 나타내는 블록도,2 is a block diagram showing the configuration of an execution file transmitting apparatus according to an embodiment of the present invention;

도 3은 본 발명의 일 실시예에 따른 센서노드의 구성을 나타내는 블록도,3 is a block diagram showing a configuration of a sensor node according to an embodiment of the present invention;

도 4는 본 발명의 일 실시예에 따른 실행파일 송신장치의 데이터 파일 생성과정을 설명하기 위한 참조도,4 is a reference diagram for explaining a data file generation process of an execution file transmitting apparatus according to an embodiment of the present invention;

도 5는 본 발명의 일 실시예에 따른 센서노드의 실행파일 생성 과정을 설명하기 위한 참조도,5 is a reference diagram for explaining a process of generating an executable file of a sensor node according to an embodiment of the present invention;

도 6은 본 발명의 일 실시예에 따른 실행파일 송신방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of transmitting an executable file according to an embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

1 : 무선센서 네트워크 10 : 실행파일 송신장치1: Wireless sensor network 10: Executable file transmitter

20 : 센서노드 30 : 싱크노드20: sensor node 30: sink node

100 : 산출파일 생성부 110 : 산출파일 비교부100: calculation file generation unit 110: calculation file comparison unit

120 : 데이터파일 전송부 130 : 산출파일 저장부120: data file transmission unit 130: calculation file storage unit

200 : 무선 통신부 210 : 제어부200: wireless communication unit 210: control unit

Claims (10)

프로그램 변경에 따라, 실행파일을 포함하는 산출파일을 생성하는 산출파일 생성부;According to a program change, a calculation file generation unit for generating a calculation file including an executable file; 상기 생성된 산출파일을, 상기 프로그램 변경 이전에 저장된 실행파일을 포함하는 산출파일과 비교하는 산출파일 비교부; 및A calculation file comparing unit comparing the generated calculation file with a calculation file including an execution file stored before the program change; And 상기 비교결과를 기초로 하여 변경된 부분에 해당되는 데이터 파일을 생성하고 상기 생성된 데이터 파일을 센서노드로 전송하는 데이터파일 전송부를 포함하는 것을 특징으로 하는 실행파일 송신장치.And a data file transmitter configured to generate a data file corresponding to the changed part based on the comparison result and to transmit the generated data file to the sensor node. 제 1 항에 있어서,The method of claim 1, 상기 생성된 데이터 파일은, 상기 생성된 산출파일 중 상기 저장된 산출파일과 다른 부분에 해당되는 변경 산출파일 및 상기 생성된 산출파일과 상기 저장된 산출파일이 동일한 부분에 대해 변경없음을 알리는 메시지를 포함하는 것을 특징으로 하는 실행파일 송신장치.The generated data file includes a change calculation file corresponding to a part different from the stored calculation file among the generated calculation files, and a message indicating that there is no change for the same part of the generated calculation file and the stored calculation file. Execution file transmission device, characterized in that. 제 2 항에 있어서,The method of claim 2, 상기 변경 산출파일은, 상기 생성된 산출파일의 갱신되거나 새로 삽입된 함수 또는 변수값에 해당되는 실행파일인 것을 특징으로 하는 실행파일 송신장치.And the change calculation file is an execution file corresponding to an updated or newly inserted function or variable value of the generated calculation file. 제 1 항에 있어서, 상기 산출파일 비교부는,The method of claim 1, wherein the calculation file comparison unit, 상기 생성된 산출파일에 포함된 부가정보파일에 해당되는 함수이름, 시작 및 종료 주소 및 크기정보와 상기 저장된 산출파일에 포함된 부가정보파일에 해당되는 함수이름, 시작 및 종료주소 및 크기정보를 분석하고, 상기 분석결과를 이용하여 상기 생성된 산출파일의 부가정보파일에 해당되는 함수내용과 상기 저장된 산출파일의 부가정보파일에 해당되는 함수내용을 비교하는 것을 특징으로 하는 실행파일 송신장치.The function name, start and end address and size information corresponding to the additional information file included in the generated calculation file and the function name, start and end address and size information corresponding to the additional information file included in the stored calculation file are analyzed. And comparing the function content corresponding to the generated additional information file with the function content corresponding to the stored additional information file using the analysis result. 제 1 항에 있어서, 상기 데이터파일 전송부는,The method of claim 1, wherein the data file transmission unit, 상기 생성된 데이터 파일을 상기 센서노드로 전송시에 싱크노드를 경유하는 것을 특징으로 하는 실행파일 송신장치.And transmitting the generated data file to the sensor node via a sink node. 프로그램 변경에 따라, 실행파일을 송신하는 실행파일 송신장치가 실행파일을 포함하는 산출파일을 상기 프로그램 변경 이전에 저장된 실행파일을 포함하는 산출파일과 비교하여 변경된 부분에 해당되는 데이터 파일을 생성하면, 상기 실행파일 송신장치로부터 상기 생성된 데이터 파일을 수신하는 무선 통신부; 및According to the program change, if the executable file transmitting apparatus which transmits the executable file generates a data file corresponding to the changed part by comparing the calculated file including the executable file with the calculated file including the executable file stored before the program change, A wireless communication unit which receives the generated data file from the execution file transmitter; And 상기 수신된 데이터 파일을 이용해 상기 실행파일 송신장치를 통해 생성된 실행파일에 대응되는 새로운 실행파일을 생성하는 제어부를 포함하는 것을 특징으로 하는 센서노드.And a controller configured to generate a new executable file corresponding to the executable file generated by the executable file transmitter using the received data file. 제 6 항에 있어서, 상기 제어부는,The method of claim 6, wherein the control unit, 상기 수신된 데이터 파일 및 상기 프로그램 변경 이전에 저장된 실행파일을 비교하여, 비교 결과 변경된 부분에 해당되는 데이터 파일 및 변경되지 않은 부분에 해당되는 저장된 실행파일을 조합하여 상기 새로운 실행파일을 생성하는 것을 특징으로 하는 센서노드.Comparing the received data file with the executable file stored before the program change, and combining the data file corresponding to the changed part and the stored executable file corresponding to the unchanged part to generate the new executable file. Sensor node. 제 7 항에 있어서, The method of claim 7, wherein 상기 수신된 데이터 파일은 에스램 또는 플래시 메모리의 부트로더에 저장되고, 상기 프로그램 변경 이전의 실행파일은 플래시 메모리의 프로그램 영역에 저장되는 것을 특징으로 하는 센서노드.The received data file is stored in the boot loader of the SRAM or flash memory, and the execution file before the program change is stored in the program area of the flash memory. 제 8 항에 있어서, 상기 제어부는,The method of claim 8, wherein the control unit, 상기 에스램 또는 플래시 메모리의 부트로더에 저장된 데이터 파일 및 상기 플래시 메모리의 프로그램 영역에 저장된 프로그램 변경 이전의 실행파일을 상기 부트로더를 통해 비교하여, 상기 비교결과 생성된 상기 새로운 실행파일을 상기 플래시 메모리의 프로그램 영역에 저장하는 것을 특징으로 하는 센서노드.The data file stored in the boot loader of the SRAM or flash memory and the executable file before the program change stored in the program area of the flash memory are compared through the boot loader, and the new executable file generated as a result of the comparison is compared with the flash memory. Sensor node, characterized in that for storing in the program area of the. 제 7 항에 있어서,The method of claim 7, wherein 상기 실행파일 송신장치로부터 수신된 데이터 파일을 다른 센서노드로 릴레이 전송하는 데이터파일 릴레이전송부를 더 포함하는 것을 특징으로 하는 센서노 드.And a data file relay transmitter for relaying the data file received from the execution file transmitter to another sensor node.
KR1020080125945A 2008-12-11 2008-12-11 Apparatus for transmitting executable file and sensor node KR101074125B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080125945A KR101074125B1 (en) 2008-12-11 2008-12-11 Apparatus for transmitting executable file and sensor node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080125945A KR101074125B1 (en) 2008-12-11 2008-12-11 Apparatus for transmitting executable file and sensor node

Publications (2)

Publication Number Publication Date
KR20100067396A KR20100067396A (en) 2010-06-21
KR101074125B1 true KR101074125B1 (en) 2011-10-17

Family

ID=42366082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080125945A KR101074125B1 (en) 2008-12-11 2008-12-11 Apparatus for transmitting executable file and sensor node

Country Status (1)

Country Link
KR (1) KR101074125B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100937872B1 (en) 2007-12-17 2010-01-21 한국전자통신연구원 Method and Apparatus for dynamic management of sensor module on sensor node in wireless sensor network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100937872B1 (en) 2007-12-17 2010-01-21 한국전자통신연구원 Method and Apparatus for dynamic management of sensor module on sensor node in wireless sensor network

Also Published As

Publication number Publication date
KR20100067396A (en) 2010-06-21

Similar Documents

Publication Publication Date Title
CN103279372B (en) Method for updating set-top box software and set top box
US20040015572A1 (en) Gateway and remote server for automatically configuring a device, and method therefor
US6467084B1 (en) Systems and methods for reprogramming an embedded device with program code using relocatable program code
Alessandrelli et al. T-res: Enabling reconfigurable in-network processing in iot-based wsns
JP5886099B2 (en) Electronic control unit for automobile
Dong et al. Elon: enabling efficient and long-term reprogramming for wireless sensor networks
US20110107301A1 (en) Selective delta validation of a shared artifact
US8392905B2 (en) Compiling apparatus
CN109324799A (en) A kind of code compiling method, computer installation and computer readable storage medium
JP2009536395A5 (en)
JP2015058896A (en) Re-writing detection system, re-writing detection device, and information processing device
CN109918076B (en) Code file processing method, system, computer device and readable storage medium
JP3824580B2 (en) Mobile communication portable terminal and download program file management program
CN105468427A (en) Implementation method and system of automatic compilation and release
KR20130043453A (en) Lin network multi-channel bootloader apparatus and loading method thereof
KR20210041972A (en) Apparatus for updating vehicle ECU software
US20130117739A1 (en) Electronic Tool for Automatically Programming a Plurality of Control Modules in a Vehicle On-Board Computer System
KR101074125B1 (en) Apparatus for transmitting executable file and sensor node
KR101126797B1 (en) Update server and sensor node for updating of senser node, Method for updating of sensor node
KR100322006B1 (en) Program upgrading apparatus and method for a firmware board
JP7170945B2 (en) Communication permission list generation device, communication permission list generation method, and program
JP2008511898A (en) Network management system configuration
JP2007199869A (en) Automatic decentralization program and apparatus of device cooperation mechanism, and device cooperation mechanism
US11073439B2 (en) Cross-platform universal tire pressure monitoring sensor
US10073675B2 (en) Control unit for a motor vehicle, programming unit, and programming system

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
LAPS Lapse due to unpaid annual fee