KR102390060B1 - Method and apparatus for providing lightweight blockchain for urgent data transmission - Google Patents

Method and apparatus for providing lightweight blockchain for urgent data transmission Download PDF

Info

Publication number
KR102390060B1
KR102390060B1 KR1020200179709A KR20200179709A KR102390060B1 KR 102390060 B1 KR102390060 B1 KR 102390060B1 KR 1020200179709 A KR1020200179709 A KR 1020200179709A KR 20200179709 A KR20200179709 A KR 20200179709A KR 102390060 B1 KR102390060 B1 KR 102390060B1
Authority
KR
South Korea
Prior art keywords
sensing information
ledger
data transmission
received
rdd
Prior art date
Application number
KR1020200179709A
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 KR1020200179709A priority Critical patent/KR102390060B1/en
Application granted granted Critical
Publication of KR102390060B1 publication Critical patent/KR102390060B1/en

Links

Images

Classifications

    • H04L67/2828
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1089Hierarchical topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching
    • H04L67/325

Abstract

A lightweight blockchain providing method for urgent data transmission and a device thereof are disclosed. A data transmission method performed by a first relay dust device (RDD) of a smart dust system comprises the following steps of: identifying whether delay of received sensing information is permitted when the sensing information is received from a smart dust device (SDD) due to generation of a transaction; and transmitting the sensing information to a server through different block chains according to the identified result about whether the delay of the sensing information is permitted.

Description

긴급한 데이터 전송을 위한 경량화 블록체인 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING LIGHTWEIGHT BLOCKCHAIN FOR URGENT DATA TRANSMISSION}Method and device for providing a lightweight blockchain for urgent data transmission

본 발명은 긴급한 데이터 전송을 위한 경량화 블록체인 제공 방법 및 장치에 관한 것으로, 보다 구체적으로는 트랜잭션을 지연을 다소 허용하는 트랜잭션과 지연을 허용하지 않는 트랜잭션으로 구분하여 서로 다른 블록체인을 통해 전송하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a lightweight block chain for urgent data transmission, and more specifically, a method for dividing a transaction into a transaction that allows some delay and a transaction that does not allow a delay, and transmits it through different block chains and devices.

블록체인은 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술과 P2P(Peer-to-Peer 기반 소규모 데이터들이 체인 형태로 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상 데이터를 저장함으로써 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있게끔 만드는 기술이다. Blockchain is a distributed computing technology-based data forgery prevention technology and P2P (Peer-to-Peer-based small-scale data chain) By storing managed data in a distributed data storage environment called a 'block', no one can arbitrarily modify it. It is a technology that makes the results of changes accessible to anyone.

블록체인은 데이터 위변조를 효과적으로 막을 수 있지만 유효성 검증에 참여하는 노드의 수가 증가할수록 선형적인 검증 절차로 인해 처리 속도가 크게 감소한다. 노드 수가 아주 많은 환경에서 긴급한 데이터 전송이 필요한 경우, 블록체인의 트랜잭션은 많은 시간(e.g. 비트코인의 경우 약 1시간에 3 트랜잭션 처리)을 대기해야 한다. 이는 긴급한 전송이 필요한 데이터의 무결성을 검증하기 힘들도록 하는 요인이 되며, 심각한 문제를 야기할 수 있다. 예를 들어 개인건강기기의 산소포화도가 제때 검증될 수 없다면 환자의 생명은 크게 위협받을 수 있다.Blockchain can effectively prevent data forgery, but as the number of nodes participating in validation increases, the processing speed decreases significantly due to the linear validation procedure. When urgent data transmission is required in an environment with a very large number of nodes, transactions on the blockchain have to wait a lot of time (e.g. 3 transactions in 1 hour for Bitcoin). This makes it difficult to verify the integrity of data requiring urgent transmission, and may cause serious problems. For example, if the oxygen saturation level of the personal health device cannot be verified in a timely manner, the patient's life can be seriously threatened.

따라서, 블록체인에서 이와 같은 긴급한 전송이 필요한 데이터를 처리할 수 있는 방법이 요구되고 있다.Therefore, there is a need for a method that can process data that requires such urgent transmission in the block chain.

본 발명은 두 종류의 트랜잭션을 처리할 수 있는 서로 다른 두 블록체인을 구성하고, 지연을 다소 허용하는 트랜잭션을 저장 후 통합하여 전송함으로써 긴급한 데이터의 전송을 원활히 하는 방법 및 장치를 제공할 수 있다.The present invention can provide a method and apparatus for facilitating urgent data transmission by constructing two different block chains capable of processing two types of transactions, storing and then integrating and transmitting transactions that allow some delay.

본 발명의 일실시예에 따른 스마트 더스트(Smart Dust) 시스템의 제1 중계 더스트 장치(Relay Dust Device, RDD)가 수행하는 데이터 전송 방법은 트랜잭션이 발생하여 스마트 더스트 장치(Smart Dust Device, SDD)로부터 센싱 정보가 수신된 경우, 수신된 센싱 정보의 지연 허용 여부를 식별하는 단계; 및 상기 식별된 센싱 정보의 지연 허용 여부에 따라 서로 다른 블록체인을 통해 서버로 센싱 정보를 전송하는 단계를 포함할 수 있다.In the data transmission method performed by the first relay dust device (RDD) of the smart dust system according to an embodiment of the present invention, a transaction occurs and the data is transmitted from the smart dust device (SDD). when sensing information is received, identifying whether to allow delay of the received sensing information; and transmitting the sensing information to the server through different block chains according to whether delay of the identified sensing information is allowed.

상기 전송하는 단계는 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 경량화 블록체인을 통해 센싱 정보를 블록 단위로 저장하고, 임계치 이상의 신규 블록들이 누적되면 일정 기준을 만족하는 센싱 정보만 포함하는 신규 블록들을 추출하여 상기 서버로 전송할 수 있다.In the transmitting step, when the sensing information received through the transaction is identified as allowing delay, the sensing information is stored in block units through a lightweight block chain, and when new blocks greater than a threshold are accumulated, sensing that satisfies a certain criterion New blocks including only information may be extracted and transmitted to the server.

상기 전송하는 단계는 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하지 않는 것으로 식별된 경우, 일반 블록체인을 통해 센싱 정보를 즉시 상기 서버로 전송할 수 있다.In the transmitting step, when it is identified that the sensing information received through the transaction does not allow delay, the sensing information may be immediately transmitted to the server through a general block chain.

상기 전송하는 단계는 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 경량화 블록체인을 통해 신규 블록을 생성한 후 센싱 정보를 기록하는 단계; 상기 신규 블록을 다른 제2 RDD들과 동기화하여 관리하기 위해 타임 노드에 커밋 타임(Commit time)을 요청하여 기록하는 단계; 상기 신규 블록을 다른 제2 RDD들로 전송한 후 대기 원장에 기록하였다가 상기 커밋 타임에 다른 RDD들과 동시에 상기 신규 블록을 커밋 원장에 기록하는 단계; 및 상기 커밋 원장에 임계치 이상의 신규 블록들이 누적되면 일정 기준을 만족하는 센싱 정보만 포함하는 신규 블록들을 추출하여 상기 서버로 전송하는 단계를 포함할 수 있다.The transmitting may include: if the sensing information received through the transaction is identified as allowing delay, creating a new block through a lightweight blockchain and then recording the sensing information; requesting and recording a commit time from a time node to synchronize and manage the new block with other second RDDs; transmitting the new block to other second RDDs, writing the new block to the standby ledger, and simultaneously writing the new block to the commit ledger at the commit time along with other RDDs; and when new blocks greater than or equal to a threshold are accumulated in the commit ledger, extracting new blocks including only sensing information satisfying a predetermined criterion and transmitting the new blocks to the server.

상기 다른 제2 RDD들은 상기 제1 RDD로부터 수신된 신규 블록을 대기 원장에 기록하였다가 상기 신규 블록에 기록된 커밋 타임에 상기 신규 블록을 커밋 원장에 기록할 수 있다.The other second RDDs may write the new block received from the first RDD to the standby ledger, and then write the new block to the commit ledger at a commit time recorded in the new block.

상기 전송하는 단계는 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하지 않는 것으로 식별된 경우, 상기 수신된 센싱 정보를 즉시 상기 서버로 전송하는 단계; 상기 일반 블록체인을 통해 신규 블록을 생성한 후 센싱 정보를 기록하는 단계; 상기 센싱 정보가 기록된 신규 블록을 하위 RDD로 전송하는 단계; 및 상기 신규 블록을 커밋 원장에 기록하는 단계를 포함할 수 있다.The transmitting may include: immediately transmitting the received sensing information to the server when it is identified that the sensing information received through the transaction does not allow delay; recording sensing information after creating a new block through the general block chain; transmitting the new block in which the sensing information is recorded to a lower RDD; and writing the new block to a commit ledger.

상기 수신된 센싱 정보를 즉시 상기 서버로 전송하는 단계는 상기 수신된 센싱 정보에 대응하는 트랜잭션을 식별하기 위한 고유 정보를 부가할 수 있다.In the step of immediately transmitting the received sensing information to the server, unique information for identifying a transaction corresponding to the received sensing information may be added.

상기 SDD에서 수집된 센싱 정보를 상기 서버로 전송하기 위하여 하위 노드에 대응하는 제2 RDD들에 원장 검증을 요청하는 단계를 더 포함할 수 있다.The method may further include requesting ledger verification to second RDDs corresponding to lower nodes in order to transmit the sensing information collected in the SDD to the server.

상기 원장 검증은 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 상기 제1 RDD 및 제2 RDD들이 바이너리 트리 구조의 형태로 검증이 수행될 수 있다.In the ledger verification, when the sensing information received through the transaction is identified as allowing delay, verification of the first RDD and the second RDD may be performed in the form of a binary tree structure.

상기 원장 검증은 원장 검증을 요청한 제1 RDD의 바이너리 트리 구조 최하위 노드에 루트(Root) RDD로의 오버레이 패스(Overlay path)를 임시로 연결할 수 있다.The ledger verification may temporarily connect an overlay path to the root RDD to the lowest node of the binary tree structure of the first RDD that has requested the ledger verification.

본 발명의 일실시예에 따른 스마트 더스트(Smart Dust) 시스템의 제1 중계 더스트 장치(Relay Dust Device, RDD)에 대응하는 데이터 전송 장치는 프로세서를 포함하고, 상기 프로세서는 트랜잭션이 발생하여 스마트 더스트 장치(Smart Dust Device, SDD)로부터 센싱 정보가 수신된 경우, 수신된 센싱 정보의 지연 허용 여부를 식별하고, 상기 식별된 센싱 정보의 지연 허용 여부에 따라 서로 다른 블록체인을 통해 서버로 센싱 정보를 전송할 수 있다.A data transmission device corresponding to a first relay dust device (RDD) of a smart dust system according to an embodiment of the present invention includes a processor, wherein the processor generates a transaction to generate a smart dust device When sensing information is received from (Smart Dust Device, SDD), it is identified whether the received sensing information is delayed or not, and the sensing information is transmitted to the server through different blockchains according to whether the identified sensing information is delayed or not. can

상기 프로세서는 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 경량화 블록체인을 통해 센싱 정보를 블록 단위로 저장하고, 임계치 이상의 신규 블록들이 누적되면 일정 기준을 만족하는 센싱 정보만 포함하는 신규 블록들을 추출하여 상기 서버로 전송할 수 있다.When it is identified that the sensing information received through the transaction allows delay, the processor stores the sensing information in block units through the lightweight block chain, and when new blocks above a threshold are accumulated, only sensing information that meets a certain criterion The new blocks included may be extracted and transmitted to the server.

상기 프로세서는 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하지 않는 것으로 식별된 경우, 일반 블록체인을 통해 센싱 정보를 즉시 상기 서버로 전송할 수 있다.When it is identified that the sensing information received through the transaction does not allow delay, the processor may immediately transmit the sensing information to the server through a general block chain.

상기 프로세서는 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 경량화 블록체인을 통해 신규 블록을 생성한 후 센싱 정보를 기록하고, 상기 신규 블록을 다른 제2 RDD들과 동기화하여 관리하기 위해 타임 노드에 커밋 타임(Commit time)을 요청하여 기록하며, 상기 신규 블록을 다른 제2 RDD들로 전송한 후 대기 원장에 기록하였다가 상기 커밋 타임에 다른 RDD들과 동시에 상기 신규 블록을 커밋 원장에 기록하고, 상기 커밋 원장에 임계치 이상의 신규 블록들이 누적되면 일정 기준을 만족하는 센싱 정보만 포함하는 신규 블록들을 추출하여 상기 서버로 전송할 수 있다.When it is identified that the sensing information received through the transaction allows delay, the processor creates a new block through the lightweight blockchain, records the sensing information, and synchronizes the new block with other second RDDs. In order to manage, the time node requests and records a commit time, and after transmitting the new block to other second RDDs, it is recorded in the standby ledger, and the new block is simultaneously written with other RDDs at the commit time. It is recorded in the commit ledger, and when new blocks greater than a threshold are accumulated in the commit ledger, new blocks including only sensing information satisfying a predetermined criterion may be extracted and transmitted to the server.

상기 다른 제2 RDD들은 상기 제1 RDD로부터 수신된 신규 블록을 대기 원장에 기록하였다가 상기 신규 블록에 기록된 커밋 타임에 상기 신규 블록을 커밋 원장에 기록할 수 있다.The other second RDDs may write the new block received from the first RDD to the standby ledger, and then write the new block to the commit ledger at a commit time recorded in the new block.

상기 전송하는 단계는 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하지 않는 것으로 식별된 경우, 상기 수신된 센싱 정보를 즉시 상기 서버로 전송하고, 상기 일반 블록체인을 통해 신규 블록을 생성한 후 센싱 정보를 기록하며, 상기 센싱 정보가 기록된 신규 블록을 하위 RDD로 전송하고, 상기 신규 블록을 커밋 원장에 기록할 수 있다.In the transmitting step, when it is identified that the sensing information received through the transaction does not allow delay, the received sensing information is immediately transmitted to the server, a new block is generated through the general block chain, and then sensing Information is recorded, the new block in which the sensing information is recorded may be transmitted to a lower RDD, and the new block may be recorded in the commit ledger.

상기 프로세서는 상기 수신된 센싱 정보에 대응하는 트랜잭션을 식별하기 위한 고유 정보를 부가하여 상기 수신된 센싱 정보를 즉시 상기 서버로 전송할 수 있다.The processor may immediately transmit the received sensing information to the server by adding unique information for identifying a transaction corresponding to the received sensing information.

상기 프로세서는 상기 SDD에서 수집된 센싱 정보를 상기 서버로 전송하기 위하여 하위 노드에 대응하는 제2 RDD들에 원장 검증을 요청할 수 있다.The processor may request ledger verification from second RDDs corresponding to lower nodes in order to transmit the sensing information collected in the SDD to the server.

상기 원장 검증은 상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 상기 제1 RDD 및 제2 RDD들이 바이너리 트리 구조의 형태로 검증이 수행될 수 있다.In the ledger verification, when the sensing information received through the transaction is identified as allowing delay, verification of the first RDD and the second RDD may be performed in the form of a binary tree structure.

상기 프로세서는 원장 검증을 요청한 제1 RDD의 바이너리 트리 구조 최하위 노드에 루트(Root) RDD로의 오버레이 패스(Overlay path)를 임시로 연결할 수 있다.The processor may temporarily connect an overlay path to the root RDD to the lowest node of the binary tree structure of the first RDD that has requested ledger verification.

본 발명은 두 종류의 트랜잭션을 처리할 수 있는 서로 다른 두 블록체인을 구성하고, 지연을 다소 허용하는 트랜잭션을 저장 후 통합하여 전송함으로써 긴급한 데이터의 전송을 원활히 할 수 있다.The present invention can facilitate the transmission of urgent data by configuring two different blockchains that can process two types of transactions, and by storing and then integrating and transmitting transactions that allow some delay.

도 1은 본 발명의 일실시예에 따른 경량 블록체인을 사용하는 스마트 더스트 IoT 환경의 물리적 장치의 구성을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 지연을 허용하는 일반 센싱 데이터를 처리하기 위한 경량화 블록체인의 처리 절차를 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 스마트 더스트 IoT 시스템에서 제공하는 경량화 블록체인의 블록 예를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 지연을 허용하지 않는 긴급 센싱 데이터를 처리하기 위한 일반 블록체인의 처리 절차를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 스마트 더스트 IoT 시스템에서 제공하는 일반 블록체인의 블록 예를 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 스마트 더스트 IoT 시스템을 구성하는 장치들의 소프트웨어 모듈 구성을 나타낸 도면이다.
1 is a diagram showing the configuration of a physical device in a smart dust IoT environment using a lightweight block chain according to an embodiment of the present invention.
2 is a diagram illustrating a processing procedure of a lightweight block chain for processing general sensing data allowing delay according to an embodiment of the present invention.
3 is a diagram illustrating a block example of a lightweight block chain provided by a smart dust IoT system according to an embodiment of the present invention.
4 is a diagram illustrating a processing procedure of a general block chain for processing urgent sensing data that does not allow delay according to an embodiment of the present invention.
5 is a diagram illustrating a block example of a general block chain provided by the smart dust IoT system according to an embodiment of the present invention.
6 is a diagram illustrating a software module configuration of devices constituting a smart dust IoT system according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 경량 블록체인을 사용하는 스마트 더스트 IoT 환경의 물리적 장치의 구성을 나타낸 도면이다.1 is a diagram showing the configuration of a physical device in a smart dust IoT environment using a lightweight block chain according to an embodiment of the present invention.

도 1을 참고하면, 스마트 더스트 IoT 시스템(100)은 다층 형태로 구성될 수 있다. 도 1의 SDD는 데이터를 수집하는 센싱 디바이스인 스마트 더스트 장치를 의미하며, 앞서 설명한 스마트 더스트 장치의 모든 특징을 가질 수 있다. RDD는 SDD를 통해 수집된 데이터를 릴레이 하고, 블록체인을 구성하는 중계 더스트 장치를 의미하며, 병목현상을 제거하기 위해 데이터를 통합하거나 변환, 압축하는 역할 혹은 버퍼의 역할을 수행함으로써 방대한 수의 SDDs/RDDs로부터 발생하는 부하를 분산하는 역할을 수행할 수 있다. Auth Node는 인증을 수행하는 인증 노드를 의미하고, Time Node는 RDD들의 동기화를 위한 커밋 타임(commit time)을 지정하는 타임 노드를 미할 수 있다. 그리고, 스마트 더스트 IoT 서버의 Processing Node는 수집된 데이터를 처리하는 노드로써 일반적인 IoT의 시각에서 어플리케이션 엔티티(Application Entities)에 매핑될 수 있으며, PC Node는 Processing Node를 관리하는 노드로서 동적 분할 알고리즘에 따라 처리 부하를 여러 Processing Node에 효율적으로 분해하는 노드이다.Referring to FIG. 1 , the smart dust IoT system 100 may be configured in a multi-layered form. The SDD of FIG. 1 refers to a smart dust device that is a sensing device for collecting data, and may have all the features of the smart dust device described above. RDD relays data collected through SDD and refers to a relay dust device that composes the block chain, and performs the role of integrating, transforming, compressing, or buffering data to remove bottlenecks, resulting in a large number of SDDs /RDDs can play a role in balancing the load. The Auth Node may refer to an authentication node that performs authentication, and the Time Node may refer to a time node that designates a commit time for synchronization of RDDs. In addition, the Processing Node of the Smart Dust IoT Server is a node that processes the collected data and can be mapped to Application Entities from a general IoT perspective, and the PC Node is a node that manages the Processing Node and is It is a node that efficiently decomposes the processing load to multiple Processing Nodes.

스마트 더스트 IoT 시스템(100)에서 인증 정보와 센싱 데이터의 전송은 모두 트랜잭션으로 처리될 수 있다. 스마트 더스트 IoT 시스템(100)은 스마트 더스트 IoT 환경에서 발생하는 방대한 양의 데이터를 줄이기 위해 원장 기반 데이터 전송 방식을 적용할 수 있다. 즉, 각 RDD에서 수집된 모든 센싱 데이터를 스마트 더스트 IoT 서버로 전송하는 대신 선택된 특정 RDD만이 모든 RDD에서 전파되는 모든 원장 정보를 파싱하여 스마트 더스트 IoT 서버를 전송할 수 있다.Transmission of authentication information and sensing data in the smart dust IoT system 100 may be processed as a transaction. The smart dust IoT system 100 may apply a ledger-based data transmission method to reduce a vast amount of data generated in a smart dust IoT environment. That is, instead of transmitting all the sensing data collected from each RDD to the smart dust IoT server, only a selected specific RDD can parse all the ledger information propagated from all RDDs to transmit the smart dust IoT server.

스마트 더스트 IoT 시스템(100)에 블록 체인을 적용하여 원장을 처리할 때 원장에서 지연을 허용하지 않는 긴급 센싱 데이터를 처리하는 동안 약간의 지연이 발생할 수 있다. 이러한 문제를 해결하기 위해 스마트 더스트 IoT 시스템(100)은 두 가지 종류의 데이터(긴급 센싱 데이터와 일반 센싱 데이터)를 관리하는 두 가지 종류의 원장을 만들어 별도로 처리할 수 있다. 즉, 스마트 더스트 IoT 시스템(100)은 두 개의 블록 체인, 즉, 일반 센싱 데이터를 처리하기 위한 경량화 블록 체인과 긴급 센싱 데이터를 처리하기 위한 일반 블록 체인이 사용될 수 있다. When processing the ledger by applying the blockchain to the smart dust IoT system 100, a slight delay may occur while processing urgent sensing data that does not allow delay in the ledger. In order to solve this problem, the smart dust IoT system 100 may create two types of ledgers for managing two types of data (emergency sensing data and general sensing data) and process them separately. That is, the smart dust IoT system 100 may use two block chains, that is, a lightweight block chain for processing general sensing data and a general block chain for processing emergency sensing data.

도 2는 본 발명의 일실시예에 따른 지연을 허용하는 일반 센싱 데이터를 처리하기 위한 경량화 블록체인의 처리 절차를 나타낸 도면이다.2 is a diagram illustrating a processing procedure of a lightweight block chain for processing general sensing data allowing delay according to an embodiment of the present invention.

일반 센싱 데이터는 긴급하게 전송이 필요하지 않으므로 네트워크 대역폭이 충분하지 않은 경우 즉각적인 전송이 필요하지 않을 수 있다. 따라서, RDD는 일반 센싱 데이터를 수집하여 트랜잭션이 발생하는 경우, 이를 일반 데이터 원장에 기록하였다가 추후 통합하여 전송할 수 있다. Normal sensing data does not need to be transmitted urgently, so immediate transmission may not be necessary if network bandwidth is not sufficient. Therefore, RDD collects general sensing data and, when a transaction occurs, records it in the general data ledger, then integrates and transmits it.

기존 블록 체인의 트랜잭션은 트랜잭션의 발생 순서에 관계없이 트랜잭션의 해시, mempool 등과 같은 정보로 고유하게 식별할 수 있다. 그러나 스마트 더스트 IoT 기기에서 기존 블록 체인을 유지하는 것은 기기의 컴퓨팅 성능 및 리소스가 매우 제한되어 있기 때문에 매우 어려울 수 있다. 스마트 더스트 IoT 시스템(100)을 위해 제안된 경량화 블록 체인은 트랜잭션을 고유하게 식별할 수 없으므로 트랜잭션 순서를 트랜잭션의 고유 식별 도구로 사용할 수 있다. 따라서, 스마트 더스트 IoT 시스템(100)은 경량화 블록체인을 통한 트랜잭션 순서를 보장하기 위해 대기 원장, 커밋 타임(commit time) 및 타임 노드의 개념을 제공할 수 있다.Transactions in the existing blockchain can be uniquely identified by information such as the hash of the transaction, mempool, etc. regardless of the order in which the transactions occur. However, maintaining the existing blockchain in smart dust IoT devices can be very difficult as the computing power and resources of the devices are very limited. Since the proposed lightweight block chain for the smart dust IoT system 100 cannot uniquely identify a transaction, the transaction order can be used as a unique identification tool of the transaction. Accordingly, the smart dust IoT system 100 may provide the concepts of a standby ledger, a commit time, and a time node to ensure a transaction order through a lightweight blockchain.

대기 원장은 모든 RDD들의 동기화된 일반 데이터 원장인 커밋 원장에 등록되지 않은 신규 블록들을 기록하는 임시 원장일 수 있다. 이와 같이 임시 원장에 기록된 신규 블록들은 커밋 타임에 커밋 원장으로 병합될 수 있다. 타임 노드는 이러한 커밋 타임을 결정하기 위해 스케줄링 테이블을 사용하여 스케줄링을 수행할 수 있다. 스케줄링 테이블은 대기 원장을 커밋 원장에 병합하기에 충분한 시간 간격으로 나눈 매우 간단한 테이블이다. The standby ledger may be a temporary ledger that records new blocks not registered in the commit ledger, which is a synchronized general data ledger of all RDDs. As such, new blocks recorded in the temporary ledger may be merged into the commit ledger at commit time. The time node may perform scheduling using a scheduling table to determine the commit time. The scheduling table is a very simple table divided by enough time intervals to merge the standby ledger into the commit ledger.

먼저, 스마트 더스트 IoT 시스템(100)을 구성하는 RDD A는 단계(202)에서, SDD로부터 일반 센싱 데이터를 수신하고, 단계(204)에서, 수신된 일반 센싱 데이터에 기초하여 신규 블록 및 트랜잭션을 생성할 수 있다. First, RDD A constituting the smart dust IoT system 100 receives general sensing data from SDD in step 202, and generates a new block and transaction based on the received general sensing data in step 204 can do.

이후 단계(206)에서, RDD A는 생성된 신규 블록에 정보 입력을 시작할 수 있다. 보다 구체적으로 RDD A는 RDD A의 기기 정보를 도 3과 같은 신규 블록의 'to' 필드에 기록하고, 데이터를 수집한 SDD의 기기 정보를 신규 블록의 'from' 필드에 기록하며, SDD에서 수신된 정보를 신규 블록의 'data' 필드에 기록할 수 있다. 그리고, RDD A는 SDD의 기기 정보를 신규 블록의 'Device's Information' 필드에 기록하고, 이전 블록의 해시를 'Hash of previous block'에 기록할 수 있다.Thereafter, in step 206 , the RDD A may start inputting information into the generated new block. More specifically, RDD A records the device information of RDD A in the 'to' field of the new block as shown in FIG. 3, records the device information of the SDD from which data is collected in the 'from' field of the new block, and receives information can be recorded in the 'data' field of the new block. In addition, RDD A may record device information of the SDD in the 'Device's Information' field of the new block, and record the hash of the previous block in the 'Hash of previous block'.

이후 단계(208)에서, RDD A는 타임 노드에 커밋 타임을 요청하고, 단계(210)에서, 타임 노드는 RDD A의 요청에 기초하여 스케줄링 테이블에서 가장 빠른 시간을 커밋 타임으로 선택하여 스케줄링 테이블에 기록할 수 있다.Then, in step 208, RDD A requests a commit time from the time node, and in step 210, the time node selects the earliest time in the scheduling table as a commit time based on the request of RDD A and adds it to the scheduling table. can be recorded

단계(212)에서, RDD A는 타임 노드로부터 커밋 타임을 회신 받아 단계(214)에서, 신규 블록의 'Sync Time' 필드에 기록한 후 현재의 신규 블록에 해시 알고리즘을 적용하여 도출된 해시값을 'Hash' 필드에 기록함으로써 신규 블록에 정보 입력을 완료할 수 있다.In step 212, the RDD A receives the commit time from the time node, records it in the 'Sync Time' field of the new block in step 214, and applies a hash algorithm to the current new block to ' By writing in the 'Hash' field, you can complete the input of information in a new block.

단계(216)에서, RDD A가 정보 입력이 완료된 신규 블록을 다른 RDD들로 전파하면, 이를 수신한 다른 RDD들은 자신의 커밋 원장에 신규 블록을 기록하는 것이 아니라, 대기 원장에 신규 블록을 기록할 수 있다. 이때 대기 원장은 인증은 수행됐지만 인증 여부에 대한 동기화가 이루어지기 전의 신규 블록들이 기록된 원장을 의미하고, 커밋 원장은 모든 RDD들에 동기화된 블록들이 기록된 원장을 의미할 수 있다. 그리고, 신규 블록을 전파한 RDD A 역시 자신의 대기 원장에 신규 블록을 기록할 수 있다.In step 216, when RDD A propagates a new block for which information input has been completed to other RDDs, other RDDs that have received it will not write the new block to their commit ledger, but write the new block to the standby ledger. can In this case, the standby ledger may mean a ledger in which new blocks are recorded, although authentication has been performed but before synchronization of authentication is made, and the commit ledger may mean a ledger in which blocks synchronized to all RDDs are recorded. In addition, RDD A, which has propagated the new block, may also record the new block in its standby ledger.

이후 commit time T가 되면 단계(218)에서, Time Node는 스마트 더스트 IoT 시스템(100)의 모든 RDD들로 commit time T가 되었음을 통지하며, 이를 수신한 RDD들은 단계(220)에서, 대기 원장에 기록된 신규 블록을 자신의 커밋 원장에 기록함으로써 커밋 원장을 업데이트할 수 있다.Thereafter, when the commit time T is reached, in step 218, the Time Node notifies all RDDs of the smart dust IoT system 100 that the commit time T is reached, and the RDDs that have been received are recorded in the standby ledger in step 220 You can update the commit ledger by writing new blocks to your commit ledger.

이후 복수의 RDD들 중 선택된 어느 하나의 RDD, 일례로 RDD B는 단계(222)에서, 2단계 데이터 축소 방식을 이용하여 스마트 더스트 IoT 시스템(100)의 전송 효율을 증가시킬 수 있다. 보다 구체적으로 RDD B는 커밋 원장에 대한 구문 분석을 수행하여 이전 일반 센싱 데이터 대비 임계 값을 초과하는 일반 센싱 데이터를 추출(1단계)하고, 추출된 일반 센싱 데이터들에서 중복되는 정보(e.g. SDD의 ID, 통신 프로토콜의 헤더 등)를 통합(2단계)할 수 있다.Thereafter, one RDD selected from among the plurality of RDDs, for example RDD B, may increase the transmission efficiency of the smart dust IoT system 100 by using a two-step data reduction method in step 222 . More specifically, RDD B extracts general sensing data that exceeds the threshold compared to previous general sensing data by parsing the commit ledger (step 1), and overlapping information (e.g. SDD of the general sensing data) ID, header of communication protocol, etc.) can be integrated (step 2).

이와 같이 RDD B는 추출 및 통합 과정을 통해 크기가 감소된 일반 센싱 데이터를 단계(224)와 같이 서버로 전송함으로써 스마트 더스트 IoT 시스템(100)의 전송 효율을 증가시킬 수 있다. In this way, RDD B can increase the transmission efficiency of the smart dust IoT system 100 by transmitting the general sensing data, which is reduced in size through the extraction and integration process, to the server as in step 224 .

도 4는 본 발명의 일실시예에 따른 지연을 허용하지 않는 긴급 센싱 데이터를 처리하기 위한 일반 블록체인의 처리 절차를 나타낸 도면이다.4 is a diagram illustrating a processing procedure of a general block chain for processing urgent sensing data that does not allow delay according to an embodiment of the present invention.

지연을 허용하는 일반 센싱 데이터는 지연 전송이 가능하지만 지연을 허용하지 않는 긴급 센싱 데이터는 그렇지 않아 긴급 센싱 데이터를 전송하기 위한 일반 블록 체인에는 대기 원장, 커밋 타임, 타임 노드 및 2 단계 데이터 축소 방식을 적용할 수 없다. 따라서 긴급 데이터 원장을 통해 긴급 센싱 데이터를 전송하기 위한 일반 블록체인을 관리할 수 있다.Delayed transmission of general sensing data that allows delay is possible, but urgent sensing data that does not tolerate delay does not. Therefore, a general blockchain for transmitting urgent sensing data has a standby ledger, commit time, time node, and two-step data reduction method. Not applicable. Therefore, it is possible to manage a general blockchain for transmitting urgent sensing data through the emergency data ledger.

스마트 더스트 IoT 시스템(100)을 구성하는 RDD A는 먼저 단계(402)에서, SDD로부터 긴급 센싱 데이터를 수신할 수 있다. 이때 RDD A는 SDD로부터 수신된 긴급 센싱 데이터의 헤더를 확인함으로써 해당 데이터가 긴급하게 전송이 필요한 데이터인지의 여부를 식별할 수 있다. RDD A constituting the smart dust IoT system 100 may first receive emergency sensing data from the SDD in step 402 . In this case, the RDD A may identify whether the data urgently needs to be transmitted by checking the header of the urgent sensing data received from the SDD.

긴급 센싱 데이터는 지연이 허용되지 않으므로 단계(404)에서, RDD A는 수신된 긴급 센싱 데이터를 즉시 스마트 더스트 IoT 서버로 전송한 후 단계(406)에서, 전송된 긴급 센싱 데이터에 기초하여 신규 블록 및 트랜잭션을 생성할 수 있다. Since the urgent sensing data is not allowed to delay, in step 404, the RDD A immediately transmits the received urgent sensing data to the smart dust IoT server, and then in step 406, based on the transmitted urgent sensing data, a new block and You can create a transaction.

단계(408)에서, RDD A는 생성된 신규 블록에 대한 정보 입력을 수행할 수 있는데 이러한 정보 입력의 과정은 일반 센싱 데이터의 신규 블록 생성 과정과 유사할 수 있다. 다만, 유일한 차이점은 RDD가 신규 블록의 'Transaction' 필드에 트랜잭션을 모두 기록한 후 도 5와 같이 'Transaction' 필드에 기록된 트랜잭션에 해시 알고리즘을 적용하여 도출된 해시값을 'Hash of previous transaction' 필드에 기록한다는 점이다. 이와 같이 스마트 더스트 IoT 시스템(100)은 긴급 센싱 데이터에 대한 트랜잭션이 순서에 상관없이 혼합된 상태에서도 'Hash of previous transaction' 필드에 기록된 해시값을 통해 각각의 트랜잭션을 구별할 수 있다. In step 408, the RDD A may input information on the generated new block, and a process of inputting such information may be similar to a process of generating a new block of general sensing data. However, the only difference is that after RDD records all transactions in the 'Transaction' field of the new block, the hash value derived by applying the hash algorithm to the transaction recorded in the 'Transaction' field as shown in FIG. 5 is stored in the 'Hash of previous transaction' field that it is recorded in As such, the smart dust IoT system 100 can distinguish each transaction through the hash value recorded in the 'Hash of previous transaction' field even in a mixed state regardless of the order of the transactions for the urgent sensing data.

단계(410)에서, RDD는 정보 입력이 완료된 신규 블록을 하위 RDD들로 전파할 수 있으며, 단계(412)에서, 하위 RDD들은 전파된 신규 블록을 수신하면, 데이터 무결성을 위해 긴급 센싱 데이터에 대응하는 신규 블록들을 순차적으로 자신의 커밋 원장에 업데이트할 수 있다. In step 410, the RDD may propagate the new block for which information input has been completed to the lower RDDs, and in step 412, the lower RDDs, when receiving the propagated new block, respond to urgent sensing data for data integrity You can update new blocks to your own commit ledger sequentially.

도 6은 본 발명의 일실시예에 따른 스마트 더스트 IoT 시스템을 구성하는 장치들의 소프트웨어 모듈 구성을 나타낸 도면이다.6 is a diagram illustrating a software module configuration of devices constituting a smart dust IoT system according to an embodiment of the present invention.

본 발명에서 제공하는 스마트 더스트 IoT 시스템(100)은 SDD, RDD, Time Node 및 Server Node 등과 같이 크게 4개의 물리적 장치로 구분될 수 있다. 이와 같은 4가지 물리적 장치의 소프트웨어 중 공통적으로 탑재되는 모듈은 Init Module, Session Module, Sending Module 및 Receiving Module이다. 먼저, Init Module은 각 장치의 역할에 맞는 초기화를 수행하는 모듈이고, Session Module은 자신과 연결된 장치에 대한 연결을 유지하고 관리하는 모듈이며, Sending Module은 장치로부터 발생되거나 가공한 데이터를 다른 장치로 송신하는 모듈이고, Receiving Module은 다른 장치로부터 데이터를 수신하는 모듈이다.The smart dust IoT system 100 provided by the present invention can be largely divided into four physical devices such as SDD, RDD, Time Node, and Server Node. Among the software of these four physical devices, the modules commonly loaded are Init Module, Session Module, Sending Module, and Receiving Module. First, the Init Module is a module that performs initialization suitable for the role of each device, the Session Module is a module that maintains and manages the connection to the device connected to itself, and the Sending Module sends data generated or processed from the device to another device. The sending module is the receiving module, and the receiving module is the module receiving data from other devices.

이에 더불어 SDD는 Sensing Module을 더 포함할 수 있으며, 이때, Sensing Module은 외부로부터 데이터를 감지 및 수집하는 모듈이다.In addition to this, the SDD may further include a Sensing Module, wherein the Sensing Module is a module that detects and collects data from the outside.

그리고, RDD는 BlockMng Module, TransMng Module 및 Broadcast Module을 더 포함할 수 있으며, 이때, BlockMng Module은 블록을 생성, 관리하는 모듈이고, TransMng Module은 인증, 데이터 수집 등의 트랜잭션을 블록에 기록하는 모듈이며, Broadcast Module은 블록을 다른 RDD로 전파하는 모듈이다.In addition, the RDD may further include a BlockMng Module, a TransMng Module, and a Broadcast Module, where the BlockMng Module is a module that creates and manages blocks, and the TransMng Module is a module that records transactions such as authentication and data collection in blocks. , the Broadcast Module is a module that propagates a block to other RDDs.

마지막으로 Time Node는 TaskRegister Module, TimeCheck Module 및 Notification Module을 더 포함할 수 있으며, 이때, TaskRegister Module은 작업을 스케줄에 등록하는 모듈이고, TimeCheck Module은 동기화를 위한 작업 시간을 결정하는 모듈이며, Notification Module은 작업 시간에 도달했을 때, 동기화를 통지하는 모듈이다.Finally, the Time Node may further include a TaskRegister Module, a TimeCheck Module, and a Notification Module, where the TaskRegister Module is a module that registers a task in a schedule, the TimeCheck Module is a module that determines the task time for synchronization, and the Notification Module is a module that notifies synchronization when the working time is reached.

한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.Meanwhile, the method according to the present invention is written as a program that can be executed on a computer and can be implemented in various recording media such as magnetic storage media, optical reading media, and digital storage media.

본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be implemented for processing by, or controlling the operation of, a data processing device, eg, a programmable processor, computer, or number of computers, a computer program product, ie an information carrier, eg, a machine readable storage It may be embodied as a computer program tangibly embodied in an apparatus (computer readable medium) or a radio signal. A computer program, such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, as a standalone program or in a module, component, subroutine, or computing environment. It can be deployed in any form, including as other units suitable for use in A computer program may be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communications network.

컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. In general, a processor will receive instructions and data from either read-only memory or random access memory or both. Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. In general, a computer may include, receive data from, transmit data to, or both, one or more mass storage devices for storing data, for example magnetic, magneto-optical disks, or optical disks. may be combined to become Information carriers suitable for embodying computer program instructions and data are, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, Compact Disk Read Only Memory (CD-ROM). ), optical recording media such as DVD (Digital Video Disk), magneto-optical media such as optical disk, ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. Processors and memories may be supplemented by, or included in, special purpose logic circuitry.

또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.In addition, the computer-readable medium may be any available medium that can be accessed by a computer, and may include both computer storage media and transmission media.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While this specification contains numerous specific implementation details, they should not be construed as limitations on the scope of any invention or claim, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. should be understood Certain features that are described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although features operate in a particular combination and may be initially depicted as claimed as such, one or more features from a claimed combination may in some cases be excluded from the combination, the claimed combination being a sub-combination. or a variant of a sub-combination.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although acts are depicted in the drawings in a particular order, it should not be construed that all acts shown must be performed or that such acts must be performed in the specific order or sequential order shown to obtain desirable results. In certain cases, multitasking and parallel processing may be advantageous. Further, the separation of the various device components of the above-described embodiments should not be construed as requiring such separation in all embodiments, and the program components and devices described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.

한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the embodiments of the present invention disclosed in the present specification and drawings are merely presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. It will be apparent to those of ordinary skill in the art to which the present invention pertains that other modifications based on the technical spirit of the present invention can be implemented in addition to the embodiments disclosed herein.

100 : 스마트 더스트 IoT 시스템100: Smart Dust IoT System

Claims (20)

스마트 더스트(Smart Dust) 시스템의 제1 중계 더스트 장치(Relay Dust Device, RDD)가 수행하는 데이터 전송 방법에 있어서,
트랜잭션이 발생하여 스마트 더스트 장치(Smart Dust Device, SDD)로부터 센싱 정보가 수신된 경우, 수신된 센싱 정보의 지연 허용 여부를 식별하는 단계; 및
상기 식별된 센싱 정보의 지연 허용 여부에 따라 서로 다른 블록체인을 통해 서버로 센싱 정보를 전송하는 단계
를 포함하는 데이터 전송 방법.
In a data transmission method performed by a first relay dust device (RDD) of a smart dust system,
When sensing information is received from a smart dust device (SDD) due to a transaction occurring, identifying whether to allow delay of the received sensing information; and
Transmitting sensing information to a server through different block chains according to whether delay of the identified sensing information is permitted
A data transmission method comprising a.
제1항에 있어서,
상기 전송하는 단계는,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 경량화 블록체인을 통해 센싱 정보를 블록 단위로 저장하고, 임계치 이상의 신규 블록들이 누적되면 일정 기준을 만족하는 센싱 정보만 포함하는 신규 블록들을 추출하여 상기 서버로 전송하는 데이터 전송 방법.
According to claim 1,
The transmitting step is
When the sensing information received through the transaction is identified as allowing delay, the sensing information is stored in block units through the lightweight block chain, and when new blocks greater than a threshold are accumulated, only sensing information that satisfies a certain criterion is included. A data transmission method for extracting blocks and transmitting them to the server.
제1항에 있어서,
상기 전송하는 단계는,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하지 않는 것으로 식별된 경우, 일반 블록체인을 통해 센싱 정보를 즉시 상기 서버로 전송하는 데이터 전송 방법.
According to claim 1,
The transmitting step is
When it is identified that the sensing information received through the transaction does not allow delay, the data transmission method for immediately transmitting the sensing information to the server through a general block chain.
제1항에 있어서,
상기 전송하는 단계는,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 경량화 블록체인을 통해 신규 블록을 생성한 후 센싱 정보를 기록하는 단계;
상기 신규 블록을 다른 제2 RDD들과 동기화하여 관리하기 위해 타임 노드에 커밋 타임(Commit time)을 요청하여 기록하는 단계;
상기 신규 블록을 다른 제2 RDD들로 전송한 후 대기 원장에 기록하였다가 상기 커밋 타임에 다른 RDD들과 동시에 상기 신규 블록을 커밋 원장에 기록하는 단계; 및
상기 커밋 원장에 임계치 이상의 신규 블록들이 누적되면 일정 기준을 만족하는 센싱 정보만 포함하는 신규 블록들을 추출하여 상기 서버로 전송하는 단계
를 포함하는 데이터 전송 방법.
According to claim 1,
The transmitting step is
When the sensing information received through the transaction is identified as allowing delay, creating a new block through a lightweight blockchain and then recording the sensing information;
requesting and recording a commit time from a time node to synchronize and manage the new block with other second RDDs;
transmitting the new block to other second RDDs, writing the new block to the standby ledger, and simultaneously writing the new block to the commit ledger at the commit time along with other RDDs; and
When new blocks greater than a threshold are accumulated in the commit ledger, extracting new blocks including only sensing information satisfying a predetermined criterion and transmitting the new blocks to the server
A data transmission method comprising a.
제4항에 있어서,
상기 다른 제2 RDD들은,
상기 제1 RDD로부터 수신된 신규 블록을 대기 원장에 기록하였다가 상기 신규 블록에 기록된 커밋 타임에 상기 신규 블록을 커밋 원장에 기록하는 데이터 전송 방법.
5. The method of claim 4,
The other second RDDs are
A data transmission method of writing the new block received from the first RDD to a standby ledger and writing the new block to the commit ledger at a commit time recorded in the new block.
제1항에 있어서,
상기 전송하는 단계는,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하지 않는 것으로 식별된 경우, 상기 수신된 센싱 정보를 즉시 상기 서버로 전송하는 단계;
일반 블록체인을 통해 신규 블록을 생성한 후 센싱 정보를 기록하는 단계;
상기 센싱 정보가 기록된 신규 블록을 하위 RDD로 전송하는 단계; 및
상기 신규 블록을 커밋 원장에 기록하는 단계
를 포함하는 데이터 전송 방법.
According to claim 1,
The transmitting step is
immediately transmitting the received sensing information to the server when it is identified that the sensing information received through the transaction does not allow delay;
Recording sensing information after creating a new block through a general block chain;
transmitting the new block in which the sensing information is recorded to a lower RDD; and
writing the new block to the commit ledger
A data transmission method comprising a.
제6항에 있어서,
상기 수신된 센싱 정보를 즉시 상기 서버로 전송하는 단계는,
상기 수신된 센싱 정보에 대응하는 트랜잭션을 식별하기 위한 고유 정보를 부가하는 데이터 전송 방법.
7. The method of claim 6,
The step of immediately transmitting the received sensing information to the server,
A data transmission method for adding unique information for identifying a transaction corresponding to the received sensing information.
제1항에 있어서,
상기 SDD에서 수집된 센싱 정보를 상기 서버로 전송하기 위하여 하위 노드에 대응하는 제2 RDD들에 원장 검증을 요청하는 단계
를 더 포함하는 데이터 전송 방법.
According to claim 1,
requesting ledger verification to second RDDs corresponding to lower nodes in order to transmit the sensing information collected in the SDD to the server
A data transmission method further comprising a.
제8항에 있어서,
상기 원장 검증은,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 상기 제1 RDD 및 제2 RDD들이 바이너리 트리 구조의 형태로 검증이 수행되는 데이터 전송 방법.
9. The method of claim 8,
The ledger verification is
When the sensing information received through the transaction is identified as allowing delay, the first RDD and the second RDD are verified in the form of a binary tree structure.
제9항에 있어서,
상기 원장 검증은,
원장 검증을 요청한 제1 RDD의 바이너리 트리 구조 최하위 노드에 루트(Root) RDD로의 오버레이 패스(Overlay path)를 임시로 연결하는 데이터 전송 방법.
10. The method of claim 9,
The ledger verification is
A data transmission method of temporarily connecting an overlay path to the root RDD to the lowest node of the binary tree structure of the first RDD that has requested ledger verification.
스마트 더스트(Smart Dust) 시스템의 제1 중계 더스트 장치(Relay Dust Device, RDD)에 대응하는 데이터 전송 장치에 있어서,
프로세서를 포함하고,
상기 프로세서는,
트랜잭션이 발생하여 스마트 더스트 장치(Smart Dust Device, SDD)로부터 센싱 정보가 수신된 경우, 수신된 센싱 정보의 지연 허용 여부를 식별하고, 상기 식별된 센싱 정보의 지연 허용 여부에 따라 서로 다른 블록체인을 통해 서버로 센싱 정보를 전송하는 데이터 전송 장치.
A data transmission device corresponding to a first relay dust device (RDD) of a smart dust system, the data transmission device comprising:
including a processor;
The processor is
When a transaction occurs and sensing information is received from a smart dust device (SDD), it is identified whether delay of the received sensing information is allowed, and different block chains are created according to whether the delay of the identified sensing information is allowed. A data transmission device that transmits sensing information to a server through
제11항에 있어서,
상기 프로세서는,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 경량화 블록체인을 통해 센싱 정보를 블록 단위로 저장하고, 임계치 이상의 신규 블록들이 누적되면 일정 기준을 만족하는 센싱 정보만 포함하는 신규 블록들을 추출하여 상기 서버로 전송하는 데이터 전송 장치.
12. The method of claim 11,
The processor is
When the sensing information received through the transaction is identified as allowing delay, the sensing information is stored in block units through the lightweight block chain, and when new blocks greater than a threshold are accumulated, only sensing information that satisfies a certain criterion is included. A data transmission device for extracting blocks and transmitting them to the server.
제11항에 있어서,
상기 프로세서는,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하지 않는 것으로 식별된 경우, 일반 블록체인을 통해 센싱 정보를 즉시 상기 서버로 전송하는 데이터 전송 장치.
12. The method of claim 11,
The processor is
When it is identified that the sensing information received through the transaction does not allow delay, the data transmission device immediately transmits the sensing information to the server through a general block chain.
제11항에 있어서,
상기 프로세서는,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 경량화 블록체인을 통해 신규 블록을 생성한 후 센싱 정보를 기록하고, 상기 신규 블록을 다른 제2 RDD들과 동기화하여 관리하기 위해 타임 노드에 커밋 타임(Commit time)을 요청하여 기록하며, 상기 신규 블록을 다른 제2 RDD들로 전송한 후 대기 원장에 기록하였다가 상기 커밋 타임에 다른 RDD들과 동시에 상기 신규 블록을 커밋 원장에 기록하고, 상기 커밋 원장에 임계치 이상의 신규 블록들이 누적되면 일정 기준을 만족하는 센싱 정보만 포함하는 신규 블록들을 추출하여 상기 서버로 전송하는 데이터 전송 장치.
12. The method of claim 11,
The processor is
When it is identified that the sensing information received through the transaction allows delay, a new block is created through the lightweight blockchain, the sensing information is recorded, and the new block is synchronized with other second RDDs to manage it The time node requests and records a commit time, and after transmitting the new block to other second RDDs, it is recorded in the standby ledger. At the commit time, the new block is simultaneously written to the commit ledger with other RDDs. A data transmission apparatus for recording, and for extracting new blocks including only sensing information satisfying a predetermined criterion when new blocks greater than a threshold are accumulated in the commit ledger and transmitting the new blocks to the server.
제14항에 있어서,
상기 다른 제2 RDD들은,
상기 제1 RDD로부터 수신된 신규 블록을 대기 원장에 기록하였다가 상기 신규 블록에 기록된 커밋 타임에 상기 신규 블록을 커밋 원장에 기록하는 데이터 전송 장치.
15. The method of claim 14,
The other second RDDs are
A data transmission apparatus for writing the new block received from the first RDD in a standby ledger and writing the new block to the commit ledger at a commit time recorded in the new block.
제11항에 있어서,
상기 전송하는 단계는,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하지 않는 것으로 식별된 경우, 상기 수신된 센싱 정보를 즉시 상기 서버로 전송하고, 일반 블록체인을 통해 신규 블록을 생성한 후 센싱 정보를 기록하며, 상기 센싱 정보가 기록된 신규 블록을 하위 RDD로 전송하고, 상기 신규 블록을 커밋 원장에 기록하는 데이터 전송 장치.
12. The method of claim 11,
The transmitting step is
If it is identified that the sensing information received through the transaction does not allow delay, the received sensing information is immediately transmitted to the server, a new block is created through a general block chain, and then the sensing information is recorded, and the A data transmission device that transmits a new block in which sensing information is recorded to a lower RDD, and records the new block in a commit ledger.
제16항에 있어서,
상기 프로세서는,
상기 수신된 센싱 정보에 대응하는 트랜잭션을 식별하기 위한 고유 정보를 부가하여 상기 수신된 센싱 정보를 즉시 상기 서버로 전송하는 데이터 전송 장치.
17. The method of claim 16,
The processor is
A data transmission apparatus for immediately transmitting the received sensing information to the server by adding unique information for identifying a transaction corresponding to the received sensing information.
제11항에 있어서,
상기 프로세서는,
상기 SDD에서 수집된 센싱 정보를 상기 서버로 전송하기 위하여 하위 노드에 대응하는 제2 RDD들에 원장 검증을 요청하는 데이터 전송 장치.
12. The method of claim 11,
The processor is
A data transmission device for requesting ledger verification to second RDDs corresponding to lower nodes in order to transmit the sensing information collected in the SDD to the server.
제18항에 있어서,
상기 원장 검증은,
상기 트랜잭션을 통해 수신된 센싱 정보가 지연을 허용하는 것으로 식별된 경우, 상기 제1 RDD 및 제2 RDD들이 바이너리 트리 구조의 형태로 검증이 수행되는 데이터 전송 장치.
19. The method of claim 18,
The ledger verification is
When the sensing information received through the transaction is identified as allowing delay, the first RDD and the second RDD are verified in the form of a binary tree structure.
제19항에 있어서,
상기 프로세서는,
원장 검증을 요청한 제1 RDD의 바이너리 트리 구조 최하위 노드에 루트(Root) RDD로의 오버레이 패스(Overlay path)를 임시로 연결하는 데이터 전송 장치.
20. The method of claim 19,
The processor is
A data transmission device that temporarily connects an overlay path to the root RDD to the lowest node in the binary tree structure of the first RDD that has requested ledger verification.
KR1020200179709A 2020-12-21 2020-12-21 Method and apparatus for providing lightweight blockchain for urgent data transmission KR102390060B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200179709A KR102390060B1 (en) 2020-12-21 2020-12-21 Method and apparatus for providing lightweight blockchain for urgent data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200179709A KR102390060B1 (en) 2020-12-21 2020-12-21 Method and apparatus for providing lightweight blockchain for urgent data transmission

Publications (1)

Publication Number Publication Date
KR102390060B1 true KR102390060B1 (en) 2022-04-22

Family

ID=81452287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200179709A KR102390060B1 (en) 2020-12-21 2020-12-21 Method and apparatus for providing lightweight blockchain for urgent data transmission

Country Status (1)

Country Link
KR (1) KR102390060B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102150210B1 (en) * 2019-09-16 2020-09-01 (주) 모로보기 Blockchain network
KR102152537B1 (en) * 2019-10-10 2020-09-07 (주) 모로보기 Blockchain network for internet of things device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102150210B1 (en) * 2019-09-16 2020-09-01 (주) 모로보기 Blockchain network
KR102152537B1 (en) * 2019-10-10 2020-09-07 (주) 모로보기 Blockchain network for internet of things device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Joonsuu Park et al., A Lightweight Blockchain Scheme for a Seucre Samrt Dust IoT Environment, www.mdpi.com/journal/applsci, applied sciences 2020.12.14* *
Joonsuu Park et al., A Two-Class Data Transmission Method Using a Lightweight Blockchain Structure for Secure Smart Dust IoT Environments, www.mdpi.com/journal/sensors, Sensors 2020.10.26* *

Similar Documents

Publication Publication Date Title
US10949447B2 (en) Blockchain-based data synchronizing and data block parsing method and device
EP3754514A1 (en) Distributed database cluster system, data synchronization method and storage medium
CN105187464B (en) Method of data synchronization, apparatus and system in a kind of distributed memory system
CN102867035B (en) A kind of distributed file system cluster high availability method and device
US9934242B2 (en) Replication of data between mirrored data sites
CN101808127B (en) Data backup method, system and server
CN109508246A (en) Log recording method, system and computer readable storage medium
CN104391930A (en) Distributed file storage device and method
CN103440244A (en) Large-data storage and optimization method
US11068499B2 (en) Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching
CN105824846B (en) Data migration method and device
CN108228397A (en) The method and apparatus that a kind of cluster span computer room synchronizes
CN106873902B (en) File storage system, data scheduling method and data node
CN103414762A (en) Cloud backup method and cloud backup device
CN115114370B (en) Master-slave database synchronization method and device, electronic equipment and storage medium
CN113806301A (en) Data synchronization method, device, server and storage medium
KR102390060B1 (en) Method and apparatus for providing lightweight blockchain for urgent data transmission
CN112087497B (en) Data synchronization method and device, electronic equipment and readable storage medium
CN106383861A (en) Data synchronization method and apparatus used for databases
CN115238006A (en) Retrieval data synchronization method, device, equipment and computer storage medium
CN111654393B (en) Block chain networking method and system
US20160366225A1 (en) Shuffle embedded distributed storage system supporting virtual merge and method thereof
CN111241044A (en) Method, device and equipment for building heterogeneous database and readable storage medium
KR102392980B1 (en) Blockchain Distributed System and Method for Processing Blockchain Transaction
CN113051152B (en) Task data generation method and device and processing equipment

Legal Events

Date Code Title Description
GRNT Written decision to grant