KR102289835B1 - Virtual storage system transmitting and receiving stored data in block unit and operating method of the same - Google Patents

Virtual storage system transmitting and receiving stored data in block unit and operating method of the same Download PDF

Info

Publication number
KR102289835B1
KR102289835B1 KR1020200029694A KR20200029694A KR102289835B1 KR 102289835 B1 KR102289835 B1 KR 102289835B1 KR 1020200029694 A KR1020200029694 A KR 1020200029694A KR 20200029694 A KR20200029694 A KR 20200029694A KR 102289835 B1 KR102289835 B1 KR 102289835B1
Authority
KR
South Korea
Prior art keywords
information
storage
data
block
sensor device
Prior art date
Application number
KR1020200029694A
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 KR1020200029694A priority Critical patent/KR102289835B1/en
Application granted granted Critical
Publication of KR102289835B1 publication Critical patent/KR102289835B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

Abstract

A virtual storage system for transmitting and receiving stored data in a block unit, according to the present invention, comprises: a plurality of sensor devices each including a storage space to which a data volume is allocated; and a gateway device communicating with the plurality of sensor devices. The gateway device divides storage data to be stored into a plurality of block data, and includes the block data in a message and transmits the message to a storage sensor device selected from among the plurality of sensor devices to store one or more block data in the data volume. When non-received block order information indicating block order information of block data not received by the storage sensor device is included in a response message and received from the storage sensor device, the gateway device can include the block data corresponding to the non-received block order information in the message and retransmit the message to the storage sensor device. The present invention can prevent the phenomenon of increasing overhead.

Description

블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법{Virtual storage system transmitting and receiving stored data in block unit and operating method of the same}Virtual storage system transmitting and receiving stored data in block unit and operating method of the same

본 발명은 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법에 관한 것으로, 더욱 상세하게는 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보에 기초하여 블록 데이터를 재송신하는 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법에 관한 것이다.The present invention relates to a virtual storage system that transmits and receives stored data in block units and an operating method thereof, and more particularly, block data based on non-received block order information indicating block order information of block data not received in a storage sensor device. A virtual storage system that transmits and receives stored data in units of retransmission blocks, and a method of operating the same.

인터넷 SCSI(Internet Small Computer System Interface : iSCSI)를 지원하는 네트워크 저장 장치가 점점 시장에서 사용자에게 인식되고 있다. 저급에서 중급 거래에서, 보통 물리적 저장 매체와 함께 제공되는 네트워크 저장 장치는 기능과 저장 매체가 결합된 장치이다. 이와 같은 네트워크 저장 장치는 일반적으로 약 10 테라 바이트(Tera-Byte) 이하의 용량을 갖는다. 사용자의 요구가 증가함에 따라 이러한 네트워크 저장 장치 복수 개가 좀더 큰 저장 공간을 위해 필요하게 된다.Network storage devices supporting Internet SCSI (Internet Small Computer System Interface: iSCSI) are increasingly recognized by users in the market. In low- to mid-range transactions, network storage devices, usually provided with physical storage media, are devices that combine functionality and storage media. Such a network storage device generally has a capacity of about 10 terabytes or less. As user demand increases, a plurality of such network storage devices are required for a larger storage space.

이에 대응하여 기술개발된 저장 가상화 기술(Storage Virtualization Technology)은 물리적 저장소로부터 논리적 저장소의 분리를 가능케 한다. 저장 가상화를 이용하는 하나의 예시적 경우는 가상 장치에서이다. 가상화 소프트웨어 층(전형적으로 하이퍼바이저(Hypervisor) 또는 가상 장치 모니터로 지칭됨)이 컴퓨터 시스템 상에 설치되어 가상 장치가 물리적 하드웨어와 상호작용하는 방식을 제어한다. 전형적으로 게스트 운영 시스템이 물리적 하드웨어에 대한 독점적인 제어를 행사하도록 코딩되기 때문에, 가상화 소프트웨어는 물리적 하드웨어의 리소스를 세분하고 가상 장치 내에 물리적 하드웨어의 존재를 모방하도록 구성될 수 있다. 저장 가상화를 이용하는 다른 경우는 저장 어레이를 구현하도록 구성된 컴퓨터 시스템 내에서이다. 이러한 경우, 물리적 컴퓨터 시스템 또는 가상 장치는 iSCSI 프로토콜 등을 이용하는 저장 어레이에 접속될 수 있다.Storage virtualization technology developed in response to this enables separation of logical storage from physical storage. One exemplary case of using storage virtualization is in a virtual device. A virtualization software layer (typically referred to as a hypervisor or virtual device monitor) is installed on the computer system to control how the virtual device interacts with the physical hardware. Because guest operating systems are typically coded to exercise exclusive control over physical hardware, virtualization software can be configured to subdivide the resources of the physical hardware and mimic the presence of the physical hardware within a virtual device. Another use of storage virtualization is within a computer system configured to implement a storage array. In this case, the physical computer system or virtual device may be connected to the storage array using the iSCSI protocol or the like.

저장 조절 모듈(Storage Handling Module)은 가상 또는 물리적 장치에 대한 저장을 모방하는 데에 사용될 수 있다. 예를 들어, 저장 조절 모듈은 가상 디스크의 익스텐트(Extent), 즉 블록과 같은 저장소의 인접한 영역을 기술, 즉 저장하는 데에 사용될 수 있는 하나 이상의 가상 디스크 파일을 판독 및 기록함으로써 가상 또는 물리적 장치에 의해 발행되는 저장 IO 작업(IO Job)을 조절할 수 있다. 유사하게, 저장 조절 프로그램은 블록 데이터를 저장소에 기록함으로써 기록 요청에 응답할 수 있고, 하나 이상의 저장소 내에 저장된 블록 데이터를 판독함으로써 판독 요청에 응답할 수 있다.A Storage Handling Module can be used to mimic storage for virtual or physical devices. For example, the storage throttling module can write to a virtual or physical device by reading and writing one or more virtual disk files that can be used to describe, i.e. store, an extent of a virtual disk, i.e. a contiguous area of storage such as a block. You can control the storage IO job (IO Job) issued by Similarly, a storage control program may respond to a write request by writing block data to storage, and may respond to a read request by reading block data stored in one or more storage.

하지만, 여러 수로 분할된 블록 데이터를 송수신하는 과정에서 송수신되는 블록 데이터 수만큼의 응답 메시지를 송수신하여 블록 데이터의 송수신이 완료되었는지 여부를 판단함으로써 오버헤드가 증가하는 문제점이 있다.However, in the process of transmitting and receiving block data divided into several numbers, there is a problem in that the overhead increases by transmitting and receiving response messages corresponding to the number of transmitted and received block data to determine whether the transmission and reception of block data has been completed.

본 발명은 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보를 응답 메시지에 포함시켜 송수신하고, 미수신 블록 순서 정보에 기초하여 블록 데이터를 재송신할 수 있는 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법을 제공할 수 있다. The present invention transmits/receives non-received block order information indicating block order information of block data that has not been received to the storage sensor device by including it in a response message, and stores data in block units capable of retransmitting block data based on the non-received block order information. A virtual storage system that transmits/receives and a method of operating the same may be provided.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention not mentioned may be understood by the following description, and will be more clearly understood by the examples of the present invention. Moreover, it will be readily apparent that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

본 발명에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템은 데이터 볼륨이 할당된 저장 공간을 각각 포함하는 복수의 센서 장치; 및 상기 복수의 센서 장치와 통신하는 게이트웨이 장치;를 포함하고, 상기 게이트웨이 장치는 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하고, 상기 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 상기 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하고, 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송할 수 있다.A virtual storage system for transmitting and receiving stored data in block units according to the present invention includes: a plurality of sensor devices each including a storage space to which a data volume is allocated; and a gateway device communicating with the plurality of sensor devices, wherein the gateway device divides the requested storage data into a plurality of block data, and stores one or more block data among the plurality of sensor devices in the data volume When the block data is included in the message and transmitted to the storage sensor device selected as to be received from the storage sensor device, the non-received block order information indicating the block order information of the block data not received by the storage sensor device is included in the response message, Block data corresponding to the non-received block order information may be included in a message and retransmitted to the storage sensor device.

바람직하게, 상기 게이트웨이 장치는 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신할 수 있다.Preferably, the gateway device includes information on the number of the block data to be transmitted to the storage sensor device based on volume capacity information of a data volume allocated to a storage space of the storage sensor device and preset third size information of the block data. may be calculated, the number of block data corresponding to the number information may be included in each of the number of messages corresponding to the number information, and the messages may be sequentially transmitted to the storage sensor device.

바람직하게, 상기 게이트웨이 장치는 상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신할 수 있다.Preferably, the gateway device may transmit the message as a response request message or a non-response request message based on the maximum number of consecutive transmissions indicating the maximum number of consecutive transmissions of the message to the storage sensor device.

바람직하게, 상기 저장 센서 장치는 상기 수신된 메시지가 상기 응답 요청 메시지이면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신할 수 있다.Preferably, when the received message is the response request message, the storage sensor device estimates block order information included in block option information of an unreceived message among messages transmitted from the gateway device to generate the unreceived block order information. and including the non-received block order information in the response message to transmit to the gateway device.

바람직하게, 상기 게이트웨이 장치는 후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보를 블록 옵션 정보에 더 포함시켜 상기 메시지를 송신할 수 있다.Preferably, the gateway device may transmit the message by further including subsequent block data information indicating whether block data to be transmitted subsequently exists in the block option information.

바람직하게, 상기 저장 센서 장치는 상기 메시지에 포함된 상기 블록 옵션 정보의 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신할 수 있다.Preferably, if the storage sensor device indicates that there is no subsequent block data information of the block option information included in the message, the block option of the message not received from among the messages transmitted from the gateway device The block order information included in the information may be estimated and generated as the non-received block order information, and the non-received block order information may be included in the response message and transmitted to the gateway device.

본 발명에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법은 게이트웨이 장치가 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하는 단계; 상기 게이트웨이 장치가 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계; 및 상기 게이트웨이 장치가 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 상기 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 단계;를 포함할 수 있다.According to an exemplary embodiment of the present invention, there is provided a method of operating a virtual storage system for transmitting and receiving stored data in block units, the method comprising: dividing, by a gateway device, stored data requested to be stored into a plurality of block data; transmitting, by the gateway device, including the block data in a message to a storage sensor device selected to store one or more block data among a plurality of sensor devices in a data volume; and when the gateway device includes received block order information indicating block order information of block data not received by the storage sensor device in a response message and is received from the storage sensor device, the storage sensor device corresponds to the unreceived block order information and retransmitting the block data to be included in the message.

바람직하게, 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계는 상기 게이트웨이 장치가 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신하는 단계;를 포함할 수 있다.Preferably, the step of transmitting the block data in the message includes the gateway device based on volume capacity information of a data volume allocated to a storage space of the storage sensor device and preset third size information of the block data. Calculate information on the number of the block data to be transmitted to the storage sensor device, include the number of block data corresponding to the number information in each of the number of messages corresponding to the number information, and send the message to the storage sensor device sequentially transmitting; may include.

바람직하게, 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계는 상기 게이트웨이 장치가 상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신하는 단계;를 더 포함할 수 있다.Preferably, in the step of transmitting the block data by including the block data in the message, the gateway device transmits the message to the storage sensor device as a response request message or response based on the maximum number of consecutive transmission information indicating the maximum number of consecutive transmissions possible. It may further include; transmitting the unsolicited message.

바람직하게, 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 단계는 상기 저장 센서 장치가 상기 수신된 메시지가 상기 응답 요청 메시지이면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 단계;를 포함할 수 있다.Preferably, in the step of retransmitting the block data corresponding to the non-received block order information in the message, if the received message is the response request message by the storage sensor device, and estimating the block order information included in the block option information, generating the non-received block order information, and transmitting the non-received block order information to the gateway device by including the non-received block order information in the response message.

바람직하게, 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계는 상기 게이트웨이 장치가 후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보를 블록 옵션 정보에 더 포함시켜 상기 메시지를 송신하는 단계;를 더 포함할 수 있다.Preferably, the step of transmitting the block data by including the block data in the message comprises: transmitting the message by further including subsequent block data information indicating whether block data to be transmitted subsequently exists in the block option information by the gateway device; may include more.

바람직하게, 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 단계는 상기 저장 센서 장치가 상기 메시지에 포함된 상기 블록 옵션 정보의 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 단계;를 더 포함할 수 있다.Preferably, in the step of retransmitting the block data corresponding to the non-received block order information in the message, the storage sensor device includes block data transmitted following block data information of the block option information included in the message. If not indicated, the block order information included in the block option information of the non-received message among the messages transmitted from the gateway device is estimated to be generated as the non-received block order information, and the non-received block order information is included in the response message. It may further include; transmitting to the gateway device.

본 발명에 따른 컴퓨터 프로그램은 하드웨어인 컴퓨터와 결합되어, 상기 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장될 수 있다.The computer program according to the present invention may be stored in a computer-readable recording medium so as to perform a method of operating a virtual storage system that transmits and receives stored data in units of blocks by being combined with a computer that is hardware.

본 발명에 따르면, 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보를 응답 메시지에 포함시켜 송수신함으로써, 오버헤드가 증가하는 현상을 방지할 수 있다.According to the present invention, by transmitting and receiving non-received block order information indicating block order information of block data that has not been received by the storage sensor device in a response message, it is possible to prevent an increase in overhead.

도 1은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템에 포함된 복수의 센서 장치 각각의 저장 공간과 가상 스토리지의 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템에서 이용되는 블록 데이터 테이블을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템이 블록 데이터를 송수신하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 다른 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템에서 이용되는 가상 스토리지 테이블을 도시한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법의 순서를 나타내는 순서도이다.
1 is a diagram illustrating a configuration of a virtual storage system for transmitting and receiving stored data in block units according to an embodiment of the present invention.
2 is a diagram illustrating a configuration of a storage space and virtual storage of each of a plurality of sensor devices included in a virtual storage system that transmits and receives stored data in block units according to an embodiment of the present invention.
3 is a diagram illustrating a block data table used in a virtual storage system that transmits and receives stored data in block units according to an embodiment of the present invention.
4 is a diagram for describing a process in which a virtual storage system that transmits and receives storage data in block units according to an embodiment of the present invention transmits/receives block data.
5 is a diagram illustrating a virtual storage table used in a virtual storage system that transmits and receives stored data in block units according to another embodiment of the present invention.
6 is a flowchart illustrating a method of operating a virtual storage system for transmitting and receiving stored data in block units according to an embodiment of the present invention.

이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형 태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/ 또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대 해서는 유사한 참조 부호가 사용될 수 있다. Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. However, this is not intended to limit the present invention to specific embodiments, and it should be understood that various modifications, equivalents, and/or alternatives of the embodiments of the present invention are included. In connection with the description of the drawings, like reference numerals may be used for like elements.

본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. In this document, expressions such as "have", "may have", "includes", or "may include" refer to the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.

본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현 은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는(3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다. In this document, expressions such as “A or B”, “at least one of A or/and B”, or “one or more of A or/and B” may include all possible combinations of the items listed together. . For example, "A or B", "at least one of A and B", or "at least one of A or B" means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.

본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중 요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.Expressions such as "first", "second", "first", or "second" used in this document may modify various elements, regardless of order and/or importance, and may modify one element. It is used only to distinguish it from other components, and does not limit the components. For example, the first user equipment and the second user equipment may represent different user equipment regardless of order or importance. For example, without departing from the scope of the rights described in this document, a first component may be referred to as a second component, and similarly, the second component may also be renamed as a first component.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성 요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다. A component (eg, a first component) is "coupled with/to (operatively or communicatively)" to another component (eg, a second component) When referring to "connected to", it will be understood that the certain element may be directly connected to the other element or may be connected through another element (eg, a third element). On the other hand, when it is said that a component (eg, a first component) is "directly connected" or "directly connected" to another component (eg, a second component), the component and the It may be understood that other components (eg, a third component) do not exist between other components.

본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합 한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성 (또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서, MCU), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU, AP)를 의미할 수 있다. The expression “configured to (or configured to)” as used in this document, depending on the context, for example, “suitable for”, “having the capacity to )", "designed to", "adapted to", "made to", or "capable of" . The term “configured (or set up to)” may not necessarily mean only “specifically designed to” hardware. Instead, in some contexts, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts. For example, the phrase "a processor configured (or configured to perform) A, B, and C" refers to a dedicated processor (eg, an embedded processor, MCU), or one or more software programs stored in memory, for performing the corresponding operations. By executing, it may mean a generic-purpose processor (eg, CPU, AP) capable of performing corresponding operations.

본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한 정하려는 의도가 아닐 수 있다. 단수의 표현은 컨텍스트 상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 컨텍스트 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다. Terms used in this document are only used to describe specific embodiments, and may not be intended to limit the scope of other embodiments. The singular expression may include the plural expression unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meanings as commonly understood by one of ordinary skill in the art described in this document. Among the terms used in this document, terms defined in general dictionary may be interpreted with the same or similar meaning to the meaning in the context of the related art, and unless explicitly defined in this document, have an ideal or excessively formal meaning. not interpreted In some cases, even terms defined in this document cannot be construed to exclude embodiments of this document.

도 1은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10) 의 구성을 도시한 도면이고, 도 2는 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10)에 포함된 복수의 센서 장치(100_1, …, 100_n) 각각의 저장 공간(110_1, …, 110_n)과 가상 스토리지(VS)의 구성을 도시한 도면이고, 도 3은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10)에서 이용되는 블록 데이터 테이블을 도시한 도면이고, 도 4는 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10)이 블록 데이터를 송수신하는 과정을 설명하기 위한 도면이다.1 is a diagram illustrating the configuration of a virtual storage system 10 for transmitting and receiving stored data in block units according to an embodiment of the present invention, and FIG. 2 is a block diagram showing stored data in blocks according to an embodiment of the present invention. It is a view showing the configuration of the storage spaces 110_1, …, 110_n of each of the plurality of sensor devices 100_1, …, 100_n included in the virtual storage system 10 for transmitting and receiving and the virtual storage VS, FIG. 3 is It is a diagram illustrating a block data table used in the virtual storage system 10 for transmitting and receiving stored data in block units according to an embodiment of the present invention. A diagram for explaining a process in which the virtual storage system 10 that transmits and receives block data transmits/receives block data.

도 1 내지 도 4를 참조하면, 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(이하 '가상 스토리지 시스템'이라 함, 10)은 복수의 센서 장치(100_1, …, 100_n) 및 게이트웨이 장치(200)를 포함할 수 있다.1 to 4 , a virtual storage system (hereinafter referred to as a 'virtual storage system', 10) that transmits and receives stored data in block units includes a plurality of sensor devices 100_1, ..., 100_n and a gateway device 200. may include.

복수의 센서 장치(100_1, …, 100_n) 및 게이트웨이 장치(200)는 사물 인터넷(Internet of Things; IoT) 서비스를 제공하는 네트워크를 형성할 수 있다. 또한, 복수의 센서 장치(100_1, …, 100_n) 및 게이트웨이 장치(200)는 특정 사용자에 의해 전용으로 사용되고, 근거리 통신망으로 연결되는 로컬 네트워크를 형성할 수 있다.The plurality of sensor devices 100_1 , ..., 100_n and the gateway device 200 may form a network providing an Internet of Things (IoT) service. In addition, the plurality of sensor devices 100_1 , ..., 100_n and the gateway device 200 may be used exclusively by a specific user and form a local network connected to a local area network.

복수의 센서 장치(100_1, …, 100_n)는 주변 환경을 센싱한 센싱 데이터를 게이트웨이 장치(200)로 송신하고, 센싱 데이터를 상호 송수신하는 임베디드 센서 장치일 수 있다.The plurality of sensor devices 100_1, ..., 100_n may be embedded sensor devices that transmit sensing data sensing the surrounding environment to the gateway device 200 and mutually transmit/receive sensing data.

이러한, 복수의 센서 장치(100_1, …, 100_n)는 IoT 서비스를 제공하기 위해 IoT 애플리케이션이 구동되고, IoT 애플리케이션의 구동을 위해 저장 공간(110_1, …, 110_n)을 각각 포함할 수 있다.The plurality of sensor devices 100_1 , ..., 100_n may run an IoT application to provide an IoT service, and may include storage spaces 110_1 , ..., 110_n for driving the IoT application, respectively.

이때, 저장 공간(110_1, …, 110_n)은 온보드 메모리 모듈 또는 외부 메모리 모듈로 구현될 수 있다.In this case, the storage spaces 110_1, ..., 110_n may be implemented as an onboard memory module or an external memory module.

저장 공간(110_1, …, 110_n)은 복수의 센서 장치(100_1, …, 100_n)가 태스크를 처리하고 운영 체제 및 응용 프로그램을 구동하기 위해 필요한 시스템 볼륨(SV_1, …, SV_n)과 가상 스토리지(VS)를 구축하는데 필요한 데이터 볼륨(DV_1, …, DV_n)으로 분할될 수 있다.The storage spaces 110_1, …, 110_n include system volumes (SV_1, …, SV_n) and virtual storage (VS) required for the plurality of sensor devices 100_1, …, 100_n to process tasks and drive operating systems and applications. ) can be divided into data volumes (DV_1, ..., DV_n) required to build it.

이때, 데이터 볼륨(DV_1, …, DV_n)은 게이트웨이 장치(200)에 의해 복수의 센서 장치(100_1, …, 100_n) 마다 할당될 수 있다.In this case, the data volumes DV_1 , ..., DV_n may be allocated to each of the plurality of sensor devices 100_1 , ..., 100_n by the gateway device 200 .

데이터 볼륨(DV_1, …, DV_n)은 게이트웨이 장치(200)에 의해 통합되어 가상 스토리지(VS)로 구축되고, 데이터 볼륨(DV_1, …, DV_n) 중 하나 이상에는 사용자 장치(UD)에 의해 저장 요청된 저장 데이터가 블록 데이터로 분할되어 저장될 수 있다.The data volumes DV_1, ..., DV_n are integrated by the gateway device 200 and built into the virtual storage VS, and at least one of the data volumes DV_1, ..., DV_n is requested to be stored by the user device UD. The stored data may be divided into block data and stored.

복수의 센서 장치(100_1, …, 100_n) 각각은 배터리부의 잔여 에너지 정보를 게이트웨이 장치(200)로 송신할 수 있다. 여기서, 잔여 에너지 정보는 배터리부의 충전 전력량을 의미할 수 있다.Each of the plurality of sensor devices 100_1 , ..., 100_n may transmit the remaining energy information of the battery unit to the gateway device 200 . Here, the residual energy information may mean the amount of charging power of the battery unit.

한편, 복수의 센서 장치(100_1, …, 100_n)는 내부 구성요소의 작동을 제어하여 작동을 수행하도록 구성된 프로세서, 구동 에너지를 공급하는 배터리부 및 통신을 수행하는 통신부를 각각 포함할 수 있다.Meanwhile, the plurality of sensor devices 100_1 , ..., 100_n may each include a processor configured to perform an operation by controlling the operation of an internal component, a battery unit supplying driving energy, and a communication unit performing communication.

통신부는 근거리 무선 통신을 이용하여 다른 센서 장치 또는 게이트웨이 장치와 통신을 수행할 수 있다. 이를 위해, 통신부는 근거리 무선 통신을 수행하는 근거리 무선 통신 모듈을 구비할 수 있다. 여기서, 근거리 무선 통신은 근거리에서 통신을 수행하는 한 통신 방식이 제한되지 않음을 유의한다. 예를 들어, 근거리 무선 통신은 와이파이(Wireless Fidelity), 블루투스(Bluetooth), NFC(Near Field Communication) 및 적외선 통신 중 하나 이상을 이용할 수 있다. 이때, 근거리 무선 통신 모듈은 사물 인터넷 응용 프로토콜(예를 들어, Constrained Application Protocol(CoAP))을 이용할 수 있다.The communication unit may communicate with another sensor device or a gateway device using short-range wireless communication. To this end, the communication unit may include a short-range wireless communication module for performing short-range wireless communication. Here, it is noted that the short-range wireless communication is not limited to a communication method as long as the communication is performed in a short-range. For example, short-range wireless communication may use one or more of Wi-Fi (Wireless Fidelity), Bluetooth (Bluetooth), Near Field Communication (NFC), and infrared communication. In this case, the short-range wireless communication module may use an IoT application protocol (eg, Constrained Application Protocol (CoAP)).

게이트웨이 장치(200)는 IoT 서비스를 제공하기 위해 복수의 센서 장치(100_1, …, 100_n) 간에 센서 데이터를 전달하거나 복수의 센서 장치(100_1, …, 100_n)로부터 수신된 센서 데이터를 사용자 장치(UD)로 송신할 수 있다.The gateway device 200 transmits sensor data between the plurality of sensor devices 100_1, …, 100_n or transmits sensor data received from the plurality of sensor devices 100_1, …, 100_n to the user device (UD) to provide an IoT service. ) can be sent.

또한, 게이트웨이 장치(200)는 사용자 장치(UD)에 의해 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할할 수 있다.Also, the gateway device 200 may divide the storage data requested to be stored by the user device UD into a plurality of block data.

이때, 게이트웨이 장치(200)는 미리 설정된 제3 크기 정보에 대응하여 저장 데이터를 복수의 블록 데이터로 분할할 수 있다. 예를 들어, 게이트웨이 장치(200)는 미리 설정된 제3 크기 정보가 1024B인 경우, 하나의 블록 데이터의 크기가 1024B가 되도록 저장 데이터를 복수의 블록 데이터로 분할할 수 있다.In this case, the gateway device 200 may divide the stored data into a plurality of block data in response to preset third size information. For example, when the preset third size information is 1024B, the gateway device 200 may divide the stored data into a plurality of block data so that the size of one block data is 1024B.

게이트웨이 장치(200)는 저장 데이터를 복수의 블록 데이터로 분할한 이후, 복수의 블록 데이터 마다에 블록 데이터 식별 정보를 할당하고, 블록 데이터 식별 정보 마다에 블록 순서 정보, 미리 설정된 제3 크기 정보 및 해당 블록 데이터를 수신하는 저장 센서 장치의 센서 장치 식별 정보를 매칭시켜 블록 데이터 테이블을 생성할 수 있다.After dividing the storage data into a plurality of block data, the gateway device 200 allocates block data identification information to each of the plurality of block data, and blocks order information, preset third size information, and the corresponding block data identification information for each block data identification information. A block data table may be generated by matching sensor device identification information of a storage sensor device that receives block data.

여기서, 블록 순서 정보는 블록 데이터가 저장 센서 장치로 송신되는 순서를 나타내는 정보일 수 있으며, 연속되는 자연수 일 수 있다.Here, the block order information may be information indicating an order in which block data is transmitted to the storage sensor device, and may be a continuous natural number.

이후, 게이트웨이 장치(200)는 복수의 센서 장치(100_1, …, 100_n) 중에서 하나 이상의 블록 데이터를 데이터 볼륨(DV_1, …, DV_n)에 저장하는 것으로 선택된 저장 센서 장치로 블록 데이터를 메시지에 포함시켜 송신할 수 있다.Thereafter, the gateway device 200 is a storage sensor device selected to store one or more block data among the plurality of sensor devices 100_1, …, 100_n in the data volume DV_1, …, DV_n. By including the block data in the message can send

이를 위해, 게이트웨이 장치(200)는 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 저장 센서 장치에 송신될 블록 데이터의 개수 정보를 산출하고, 개수 정보에 대응되는 개수의 블록 데이터를 개수 정보에 대응되는 개수의 메시지 각각에 포함시키고, 메시지를 저장 센서 장치로 순차적으로 송신할 수 있다.To this end, the gateway device 200 calculates information on the number of block data to be transmitted to the storage sensor device based on the volume capacity information of the data volume allocated to the storage space of the storage sensor device and the third preset size information of the block data. and the number of block data corresponding to the number information may be included in each of the number of messages corresponding to the number information, and the messages may be sequentially transmitted to the storage sensor device.

이때, 게이트웨이 장치(200)는 볼륨 용량 정보를 미리 설정된 제3 크기 정보로 나눈 몫의 버림 연산 값을 개수 정보로 산출할 수 있다.In this case, the gateway device 200 may calculate the value of the quotient of dividing the volume capacity information by the preset third size information as the number information.

한편, 게이트웨이 장치(200)는 저장 센서 장치로 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 메시지를 응답 요청 메시지(CON) 또는 응답 미요청 메시지(NON)로 송신할 수 있다.On the other hand, the gateway device 200 may transmit a message as a response request message (CON) or a non-response request message (NON) based on the maximum number of consecutive transmissions indicating the maximum number of consecutive transmissions of the message to the storage sensor device. .

예를 들어, 연속 송신 가능한 최다 횟수가 “4”이면, 게이트웨이 장치(200)는 저장 센서 장치로 메시지를 연속 4회까지만 전송 가능할 수 있다.For example, if the maximum number of consecutive transmissions is “4”, the gateway device 200 may transmit a message to the storage sensor device up to 4 consecutive times.

게이트웨이 장치(200)는 저장 센서 장치로 메시지를 송신하는 경우, 이전에 메시지의 연속 송신된 횟수에서 1회 가산된 횟수를 확인하고, 확인된 횟수가 최다 연속 송신 횟수 정보 보다 적으면 메시지를 응답 미요청 메시지(NON)로 송신할 수 있다.When sending a message to the storage sensor device, the gateway device 200 checks the number of times added once from the number of consecutive transmissions of the message before, and if the number of confirmations is less than the information on the maximum number of consecutive transmissions, the message is not answered. It can be transmitted as a request message (NON).

반대로, 게이트웨이 장치(200)는 확인된 횟수가 최다 연속 송신 횟수 정보와 동일하면 메시지를 응답 요청 메시지(CON)로 송신할 수 있다.Conversely, the gateway device 200 may transmit the message as a response request message CON if the checked number is the same as the information on the maximum number of consecutive transmissions.

여기서, 메시지를 응답 요청 메시지(CON)는 메시지 수신의 응답을 나타내는 응답 메시지(ACK)를 요청하는 메시지이고, 메시지를 응답 미요청 메시지(CON)는 메시지 수신의 응답을 나타내는 응답 메시지(ACK)를 미요청하는 메시지일 수 있다.Here, the message response request message (CON) is a message requesting a response message (ACK) indicating a response to message reception, and the message not responding message (CON) is a response message (ACK) indicating a response to message reception. It may be an unsolicited message.

한편, 게이트웨이 장치(200)는 메시지 식별 정보(MID), 토큰 정보(T) 및 블록 옵션 정보(S)를 블록 데이터와 함께 메시지에 포함시켜 저장 센서 장치로 송신할 수 있다.Meanwhile, the gateway device 200 may include the message identification information (MID), the token information (T), and the block option information (S) together with the block data in the message to transmit the message to the storage sensor device.

구체적으로, 게이트웨이 장치(200)는 블록 순서 정보, 후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보, 블록 데이터의 미리 설정된 제3 크기 정보 및 최다 연속 송신 횟수 정보를 블록 옵션 정보(S)에 포함시킬 수 있다.Specifically, the gateway device 200 converts block order information, subsequent block data information indicating the existence of subsequently transmitted block data, preset third size information of block data, and the maximum number of consecutive transmissions to block option information (S). ) can be included.

복수의 센서 장치(100_1, …, 100_n) 중에서 블록 데이터를 수신하는 것으로 선택된 저장 센서 장치는 게이트웨이 장치(200)로부터 수신된 메시지가 응답 요청 메시지이면, 게이트웨이 장치(200)에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보(S)에 포함된 블록 순서 정보를 추정하여 미수신 블록 순서 정보(Lost)로 생성하고, 미수신 블록 순서 정보(Lost)를 응답 메시지에 포함시켜 게이트웨이 장치(200)로 송신할 수 있다.When the message received from the gateway device 200 is a response request message, the storage sensor device selected to receive block data from among the plurality of sensor devices 100_1 , ..., 100_n is a non-received message among the messages transmitted from the gateway device 200 . By estimating the block order information included in the block option information (S) of the message, it is generated as non-received block order information (Lost), and the non-received block order information (Lost) is included in the response message to be transmitted to the gateway device 200 there is.

이를 위해, 저장 센서 장치는 게이트웨이 장치(200)로부터 메시지가 수신되면, 메시지에 포함된 블록 옵션 정보(S)의 블록 순서 정보를 확인하고, 확인된 블록 순서 정보 중에서 연속되지 않고 누락된 블록 순서 정보를 미수신된 메시지의 블록 옵션 정보(S)에 포함된 블록 순서 정보로 추정할 수 있다.To this end, when a message is received from the gateway device 200 , the storage sensor device checks block order information of the block option information (S) included in the message, and blocks sequence information that is not continuous and is missing from among the checked block order information can be estimated as block order information included in the block option information (S) of the not-received message.

또한, 저장 센서 장치는 메시지에 포함된 블록 옵션 정보에 포함된 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 게이트웨이 장치(200)에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 미수신 블록 순서 정보로 생성하고, 미수신 블록 순서 정보를 응답 메시지에 포함시켜 게이트웨이 장치(200)로 송신할 수 있다.In addition, if the storage sensor device indicates that there is no block data to be transmitted following the subsequent block data information included in the block option information included in the message, the block option of the message not received from among the messages transmitted from the gateway device 200 . The block order information included in the information may be estimated and generated as non-received block order information, and the non-received block order information may be included in the response message and transmitted to the gateway device 200 .

이를 통해, 저장 센서 장치는 별도의 메시지를 송신하지 않고도 응답 메시지를 통해 게이트웨이 장치(200)로 미수신 블록 순서 정보를 송신함으로써, 가상 스토리지 시스템(10)의 오버헤드를 감소시킬 수 있다.Through this, the storage sensor device transmits unreceived block order information to the gateway device 200 through a response message without transmitting a separate message, thereby reducing the overhead of the virtual storage system 10 .

이후, 게이트웨이 장치(200)는 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 저장 센서 장치로부터 수신되면, 저장 센서 장치로 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송할 수 있다.Thereafter, when the non-received block order information indicating block order information of block data not received by the storage sensor device is received from the storage sensor device by being included in the response message, the gateway device 200 responds to the storage sensor device corresponding to the non-received block order information. Block data can be included in the message and retransmitted.

이때, 게이트웨이 장치(200)는 블록 데이터를 재전송하는 경우, 응답 미요청 메시지에 블록 데이터를 포함시켜 재전송할 수 있다.In this case, when retransmitting the block data, the gateway device 200 may retransmit the block data by including the block data in the non-response message.

한편, 게이트웨이 장치(200)는 내부 구성요소의 작동을 제어하여 작동을 수행하도록 구성된 프로세서 및 통신을 수행하는 통신부를 포함할 수 있다.Meanwhile, the gateway device 200 may include a processor configured to perform an operation by controlling the operation of an internal component and a communication unit configured to perform communication.

통신부는 근거리 무선 통신을 이용하여 복수의 센서 장치(100_1, …, 100_n) 및 사용자 장치(UD)와 통신을 수행할 수 있다. 이를 위해, 통신부는 근거리 무선 통신을 수행하는 근거리 무선 통신 모듈을 구비할 수 있다. 여기서, 근거리 무선 통신은 근거리에서 통신을 수행하는 한 통신 방식이 제한되지 않음을 유의한다. 예를 들어, 근거리 무선 통신은 와이파이(Wireless Fidelity), 블루투스(Bluetooth), NFC(Near Field Communication) 및 적외선 통신 중 하나 이상을 이용할 수 있다. 이때, 근거리 무선 통신 모듈은 사물 인터넷 응용 프로토콜(예를 들어, Constrained Application Protocol(CoAP))을 이용할 수 있다.The communication unit may communicate with the plurality of sensor devices 100_1 , ..., 100_n and the user device UD using short-range wireless communication. To this end, the communication unit may include a short-range wireless communication module for performing short-range wireless communication. Here, it is noted that the short-range wireless communication is not limited to a communication method as long as the communication is performed in a short-range. For example, short-range wireless communication may use one or more of Wi-Fi (Wireless Fidelity), Bluetooth (Bluetooth), Near Field Communication (NFC), and infrared communication. In this case, the short-range wireless communication module may use an IoT application protocol (eg, Constrained Application Protocol (CoAP)).

도 5는 본 발명의 다른 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10)에서 이용되는 가상 스토리지 테이블을 도시한 도면이다.5 is a diagram illustrating a virtual storage table used in the virtual storage system 10 for transmitting and receiving stored data in block units according to another embodiment of the present invention.

본 발명의 다른 실시 예에 따른 가상 스토리지 시스템(10)은 본 발명의 일 실시 예에 따른 가상 스토리지 시스템(10) 대비 구성요소와 구성요소 내 세부구성요소는 동일하나 수행하는 역할이 상이하므로, 반복되는 설명은 생략하도록 한다.In the virtual storage system 10 according to another embodiment of the present invention, compared to the virtual storage system 10 according to an embodiment of the present invention, components and detailed components within the components are the same, but the roles performed are different. The description will be omitted.

도 5를 더 참조하면, 본 발명의 다른 실시 예에 따른 가상 스토리지 시스템(10)은 복수의 센서 장치(100_1, …, 100_n)와 게이트웨이 장치(200)를 포함할 수 있다.5 , the virtual storage system 10 according to another embodiment of the present invention may include a plurality of sensor devices 100_1 , ..., 100_n and a gateway device 200 .

게이트웨이 장치(200)는 복수의 센서 장치(100_1, …, 100_n)의 저장 공간(110_1, …, 110_n) 각각에 데이터 볼륨(DV_1, …, DV_n)을 할당하고, 데이터 볼륨(DV_1, …, DV_n)을 통합하여 가상 스토리지(VS)를 구축할 수 있다.The gateway device 200 allocates data volumes DV_1, ..., DV_n to each of the storage spaces 110_1, ..., 110_n of the plurality of sensor devices 100_1, ..., 100_n, and the data volumes DV_1, ..., DV_n ) to build a virtual storage (VS).

구체적으로, 게이트웨이 장치(200)는 저장 공간(110_1, …, 110_n)의 제1 용량 정보, 저장 공간(110_1, …, 110_n) 중에서 센서 장치(100_1, …, 100_n)에 의해 생성되는 시스템 데이터가 저장되기 위해 필요한 시스템 데이터 저장 공간의 제2 용량 정보 및 저장 공간(110_1, …, 110_n) 중에서 센서 장치(100_1, …, 100_n)에 의해 생성되는 태스크 데이터가 저장되기 위해 필요한 태스크 데이터 저장 공간의 제3 용량 공간 정보 중 하나 이상에 기초하여 데이터 볼륨(DV_1, …, DV_n)의 볼륨 용량 정보를 산출하고, 산출된 볼륨 용량 정보에 기초하여 데이터 볼륨(DV_1, …, DV_n)을 할당할 수 있다.Specifically, the gateway device 200 includes the first capacity information of the storage spaces 110_1, …, 110_n, and the system data generated by the sensor devices 100_1, …, 100_n among the storage spaces 110_1, …, 110_n. The second capacity information of the system data storage space required to be stored and the task data storage space required to store the task data generated by the sensor devices 100_1, …, 100_n among the storage spaces 110_1, …, 110_n Volume capacity information of the data volumes DV_1, ..., DV_n may be calculated based on one or more of the three capacity space information, and data volumes DV_1, ..., DV_n may be allocated based on the calculated volume capacity information.

여기서, 시스템 데이터 저장 공간은 센서 장치가 태스크를 수행하지 않는 상태에서 시스템 데이터를 저장하는데 필요한 저장 공간을 의미할 수 있고, 태스크 데이터 저장 공간은 센서 장치가 태스크를 수행하는 경우, 태스크를 수행하지 않는 경우 대비 추가로 필요한 저장 공간을 의미할 수 있다.Here, the system data storage space may mean a storage space required to store system data in a state in which the sensor device does not perform a task, and the task data storage space is a storage space that does not perform a task when the sensor device performs a task. It may mean additional storage space required in case of case.

이때, 게이트웨이 장치(200)는 태스크 데이터의 제1 크기 정보, 태스크 데이터의 생성 주기 정보 및 태스크 데이터의 삭제 주기 정보에 기초하여 제3 용량 공간 정보를 산출할 수 있다.In this case, the gateway device 200 may calculate the third capacity space information based on the first size information of the task data, the generation period information of the task data, and the deletion period information of the task data.

여기서, 삭제 주기 정보는 생성되어 축적된 태스크 데이터 모두가 삭제되는 주기를 나타내는 정보일 수 있다.Here, the deletion period information may be information indicating a period in which all generated and accumulated task data are deleted.

게이트웨이 장치(200)는 하기의 수학식 1을 이용하여, 볼륨 용량 정보를 산출할 수 있다.The gateway device 200 may calculate volume capacity information using Equation 1 below.

<수학식 1><Equation 1>

Figure 112020025380105-pat00001
Figure 112020025380105-pat00001

여기서, DVi는 인덱스가 i인 센서 장치의 데이터 볼륨의 볼륨 용량 정보이고, Ti는 인덱스가 i인 센서 장치의 저장 공간의 제1 용량 정보이고, Sysi는 인덱스가 i인 센서 장치의 시스템 데이터 저장 공간의 제2 용량 정보이고, Taski는 인덱스가 i인 센서 장치의 태스크 데이터 저장 공간의 제3 용량 정보이고, SizeTaski는 인덱스가 i인 센서 장치의 태스크 데이터의 제1 크기 정보이고, GenTaski는 인덱스가 i인 센서 장치의 태스크 데이터의 생성 주기 정보이고, RemTaski는 인덱스가 i인 센서 장치의 태스크 데이터의 삭제 주기 정보일 수 있고, i는 1 내지 n 사이의 자연수일 수 있다.Here, DV i is the volume capacity information of the data volume of the sensor device the index i, T i is a first capacity of the storage space of the sensor unit the index i, Sys i is the system of the sensor device the index i The second capacity information of the data storage space, Task i is the third capacity information of the task data storage space of the sensor device having the index i , and SizeTask i is the first size information of the task data of the sensor device having the index i, GenTask i may be information on a generation period of task data of a sensor device having an index of i, RemTask i may be information on a deletion period of task data of a sensor device having an index of i, and i may be a natural number between 1 and n.

한편, 게이트웨이 장치(200)는 복수의 센서 장치(100_1, …, 100_n) 각각으로부터 잔여 에너지 정보를 수신하고, 복수의 센서 장치(100_1, …, 100_n) 각각의 센서 장치 식별 정보 마다에 제1 용량 정보, 볼륨 용량 정보 및 잔여 에너지 정보를 매핑시켜 가상 스토리지 테이블을 생성할 수 있다.On the other hand, the gateway device 200 receives the residual energy information from each of the plurality of sensor devices (100_1, ..., 100_n), the first capacity for each sensor device identification information of the plurality of sensor devices (100_1, ..., 100_n) A virtual storage table can be created by mapping information, volume capacity information, and residual energy information.

이후, 게이트웨이 장치(200)는 저장 요청된 저장 데이터로부터 분할되는 복수의 블록 데이터 중 하나 이상의 블록 데이터를 데이터 볼륨(DV_1, …, DV_n)에 저장할 하나 이상의 센서 장치를 복수의 센서 장치(100_1, …, 100_n) 중에서 저장 센서 장치로 선택할 수 있다.Thereafter, the gateway device 200 stores one or more sensor devices to store one or more block data among a plurality of block data divided from the storage-requested storage data in the data volumes DV_1, ..., DV_n, the plurality of sensor devices 100_1, ... , 100_n) can be selected as a storage sensor device.

구체적으로, 게이트웨이 장치(200)는 가상 스토리지 테이블을 참조하여 복수의 센서 장치(100_1, …, 100_n) 중에서 잔여 에너지 정보가 최대인 센서 장치를 저장 센서 장치로 선택할 수 있다.Specifically, the gateway device 200 may select a sensor device having the maximum residual energy information from among the plurality of sensor devices 100_1 , ..., 100_n as the storage sensor device with reference to the virtual storage table.

이를 위해, 게이트웨이 장치(200)는 가상 스토리지 테이블의 잔여 에너지 정보 중 최대값을 찾고, 최대값의 잔여 에너지 정보와 매핑된 센서 장치 식별 정보를 확인하며, 확인된 센서 장치 식별 정보에 대응되는 센서 장치를 저장 센서 장치로 선택할 수 있다.To this end, the gateway device 200 finds a maximum value among residual energy information of the virtual storage table, checks sensor device identification information mapped with residual energy information of the maximum value, and a sensor device corresponding to the checked sensor device identification information. can be selected as the storage sensor device.

이후, 게이트웨이 장치(200)는 선택된 저장 센서 장치의 잔여 에너지 정보를 가상 스토리지 테이블에서 제외시킬 수 있다.Thereafter, the gateway device 200 may exclude the residual energy information of the selected storage sensor device from the virtual storage table.

게이트웨이 장치(200)는 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보를 합산하여 총 볼륨 용량 정보로 산출하고, 총 볼륨 용량 정보와 저장 데이터의 제2 크기 정보 간의 대소를 비교하고, 대소 비교 결과에 기초하여 저장 센서 장치로 선택되지 않은 센서 장치 중에서 저장 센서 장치를 더 선택할 수 있다.The gateway device 200 sums up the volume capacity information of the data volume allocated to the storage space of the storage sensor device to calculate the total volume capacity information, compares the magnitude between the total volume capacity information and the second size information of the stored data, A storage sensor device may be further selected from among the sensor devices not selected as the storage sensor device based on the comparison result.

구체적으로, 게이트웨이 장치(200)는 총 볼륨 용량 정보가 저장 데이터의 제2 크기 정보 보다 작으면 저장 센서 장치를 더 선택할 수 있다.Specifically, when the total volume capacity information is smaller than the second size information of the storage data, the gateway device 200 may further select the storage sensor device.

반대로, 게이트웨이 장치(200)는 총 볼륨 용량 정보가 저장 데이터의 제2 크기 정보 보다 크거나 같으면 저장 센서 장치를 더 선택하지 않을 수 있다.Conversely, if the total volume capacity information is greater than or equal to the second size information of the storage data, the gateway device 200 may not further select the storage sensor device.

즉, 게이트웨이 장치(200)는 저장 센서 장치의 데이터 볼륨들이 저장 데이터를 분할하여 저장할 수 있는 용량이 되도록 저장 센서 장치를 선택할 수 있다.That is, the gateway device 200 may select the storage sensor device so that the data volumes of the storage sensor device have a capacity to divide and store the stored data.

한편, 또 다른 실시예에 따른 가상 스토리지 시스템(10)의 게이트웨이 장치(200)는 저장 데이터를 가상 스토리지(VS)에 저장한 이후, 복수의 센서 장치(100_1, …, 100_n) 각각의 잔여 에너지 정보에 기초하여 복수의 센서 장치(100_1, …, 100_n) 간의 에너지 균형 지수를 산출할 수 있다.Meanwhile, after the gateway device 200 of the virtual storage system 10 according to another embodiment stores the stored data in the virtual storage VS, the residual energy information of each of the plurality of sensor devices 100_1 , ..., 100_n An energy balance index among the plurality of sensor devices 100_1 , ..., 100_n may be calculated based on .

이때, 게이트웨이 장치(200)는 하기의 수학식 2를 이용하여 에너지 균형 지수를 산출할 수 있다.In this case, the gateway device 200 may calculate the energy balance index using Equation 2 below.

<수학식 2><Equation 2>

Figure 112020025380105-pat00002
Figure 112020025380105-pat00002

여기서, F는 에너지 균형 지수이고, ei는 저장 데이터를 가상 스토리지(Vs)에 저장한 이후 인덱스가 i인 센서 장치의 잔여 에너지 정보이고, n은 복수의 센서 장치(100_1, …, 100_n)의 총 수일 수 있다.Here, F is the energy balance index, e i is the residual energy information of the sensor device having the index i after storing the stored data in the virtual storage Vs, and n is the plurality of sensor devices 100_1, …, 100_n. It can be a total number.

게이트웨이 장치(200)는 에너지 균형 지수가 기준 지수 미만이면, 복수의 센서 장치(100_1, …, 100_n) 중에서 데이터 전송 소비 전력이 기준 전력 이상인 센서 장치를 저장 센서 장치로 선택하지 않을 수 있다.If the energy balance index is less than the reference index, the gateway device 200 may not select a sensor device having data transmission power consumption equal to or greater than the reference power among the plurality of sensor devices 100_1 , ..., 100_n as the storage sensor device.

이를 통해, 게이트웨이 장치(200)는 저장 데이터를 저장하는 과정에서 전력 소비가 많은 센서 장치에는 저장 데이터를 저장하지 않음으로써, 복수의 센서 장치(100_1, …, 100_n) 간에 잔여 에너지의 불균형이 가속화되는 현상을 방지할 수 있다.Through this, the gateway device 200 does not store the stored data in the sensor device that consumes a lot of power in the process of storing the stored data, thereby accelerating the imbalance of residual energy between the plurality of sensor devices 100_1, ..., 100_n. phenomenon can be prevented.

도 6은 본 발명의 일 실시 예에 따른 가상 스토리지 시스템의 작동 방법의 순서를 나타내는 순서도이다.6 is a flowchart illustrating a method of operating a virtual storage system according to an embodiment of the present invention.

도 6을 참조하면, 본 발명에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법은 게이트웨이 장치가 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하는 S1 단계, 상기 게이트웨이 장치가 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하는 S2 단계 및 상기 게이트웨이 장치가 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 상기 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 S3 단계를 포함할 수 있다.Referring to FIG. 6 , in the method of operating a virtual storage system for transmitting and receiving stored data in block units according to the present invention, the gateway device divides the stored data requested to be stored into a plurality of block data in step S1, wherein the gateway device divides the storage data into a plurality of block data. Step S2 of transmitting the block data to a storage sensor device selected to store one or more block data in a data volume from among the sensor devices, and the gateway device sending block order information of block data that has not been received to the storage sensor device When the received block order information is included in the response message and received from the storage sensor device, it may include a step S3 of retransmitting the block data corresponding to the non-received block order information in the message to the storage sensor device.

S1 단계는 상기 게이트웨이 장치가 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신하는 단계를 포함할 수 있다.In step S1, the gateway device determines the number of block data to be transmitted to the storage sensor device based on volume capacity information of the data volume allocated to the storage space of the storage sensor device and preset third size information of the block data. , including the number of block data corresponding to the number information in each of the number of messages corresponding to the number information, and sequentially transmitting the messages to the storage sensor device.

또한, S1 단계는 상기 게이트웨이 장치가 상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신하는 단계;를 더 포함할 수 있다.In addition, step S1 includes the steps of, by the gateway device, transmitting the message as a response request message or a non-response request message based on the maximum number of consecutive transmission information indicating the maximum number of consecutive transmissions of the message to the storage sensor device; may include

한편, S3 단계는 상기 저장 센서 장치가 상기 수신된 메시지가 상기 응답 요청 메시지이면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 단계를 포함할 수 있다.Meanwhile, in step S3, if the received message is the response request message, the storage sensor device estimates block order information included in the block option information of the non-received message among the messages transmitted from the gateway device to determine the non-received block order information and transmitting the non-received block order information to the gateway device by including the non-received block order information in the response message.

이어서, S1 단계는 상기 게이트웨이 장치가 후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보를 블록 옵션 정보에 더 포함시켜 상기 메시지를 송신하는 단계를 더 포함할 수 있다.Subsequently, step S1 may further include transmitting the message by further including subsequent block data information indicating whether block data to be subsequently transmitted exists in the block option information by the gateway device.

S3 단계는 상기 저장 센서 장치가 상기 메시지에 포함된 상기 블록 옵션 정보의 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 단계를 더 포함할 수 있다.In step S3, if the storage sensor device indicates that there is no block data transmitted following the block data information of the block option information included in the message, the block option of the message not received from among the messages transmitted from the gateway device The method may further include generating the non-received block order information by estimating the block order information included in the information, and transmitting the non-received block order information to the gateway device by including the non-received block order information in the response message.

한편, 본 발명의 일 실시 예에 따른 컴퓨터 프로그램은 하드웨어인 컴퓨터와 결합되어, 본 발명의 일 실시 예에 따른 가상 스토리지 시스템의 작동 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장될 수 있다. On the other hand, the computer program according to an embodiment of the present invention may be stored in a computer-readable recording medium so as to be combined with a computer, which is hardware, to perform the method of operating a virtual storage system according to an embodiment of the present invention. .

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야 에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in relation to an embodiment of the present invention may be implemented directly in hardware, as a software module executed by hardware, or by a combination thereof. A software module may contain random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.

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

이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.As described above, although the present invention has been described with reference to limited embodiments and drawings, the present invention is not limited thereto, and the technical idea of the present invention and the following by those of ordinary skill in the art to which the present invention pertains. Of course, various modifications and variations are possible within the scope of equivalents of the claims to be described.

10: 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템
100: 복수의 센서 장치
200: 게이트웨이 장치
10: Virtual storage system that transmits and receives stored data in block units
100: a plurality of sensor devices
200: gateway device

Claims (9)

데이터 볼륨이 할당된 저장 공간을 각각 포함하는 복수의 센서 장치; 및
상기 복수의 센서 장치와 통신하는 게이트웨이 장치;를 포함하고,
상기 게이트웨이 장치는
저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하고, 상기 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 상기 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하고, 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하고,
상기 게이트웨이 장치는
상기 복수의 센서 장치 각각의 식별 정보 마다에 잔여 에너지 정보를 매핑시켜 가상 스토리지 테이블을 생성하고, 상기 가상 스토리지 테이블의 잔여 에너지 정보 중에서 최대값을 찾고 최대값의 잔여 에너지 정보와 매핑된 센서 장치 식별 정보를 확인하며, 확인된 센서 장치 식별 정보에 대응되며 상기 복수의 센서 장치 중에서 잔여 에너지 정보가 최대인 센서 장치를 상기 저장 센서 장치로 선택하고,
상기 게이트웨이 장치는
상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보를 합산하여 총 볼륨 용량 정보로 산출하고, 상기 총 볼륨 용량 정보와 상기 저장 데이터의 제2 크기 정보 간의 대소를 비교하고, 상기 대소를 비교한 결과에 기초하여 상기 저장 센서 장치로 선택되지 않은 센서 장치 중에서 상기 저장 센서 장치를 더 선택하고,
상기 게이트웨이 장치는
상기 데이터 볼륨이 통합되어 구축된 가상 스토리지에 상기 저장 데이터를 저장한 이후, 상기 복수의 센서 장치 각각의 잔여 에너지 정보에 기초하여 상기 복수의 센서 장치 간의 에너지 균형 지수를 산출하고,
상기 게이트웨이 장치는
상기 에너지 균형 지수가 기준 지수 미만이면, 복수의 센서 장치 중에서 데이터 전송 소비 전력이 기준 전력 이상인 센서 장치를 저장 센서 장치로 선택하지 않고,
상기 게이트웨이 장치는
하기의 수학식을 이용하여 상기 복수의 센서 장치 간의 에너지 균형 지수를 산출하는 것을 특징으로 하는
블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.

<수학식>
Figure 112021041654232-pat00009

여기서, F는 에너지 균형 지수이고, ei는 저장 데이터를 가상 스토리지에 저장한 이후 인덱스가 i인 센서 장치의 잔여 에너지 정보이고, n은 복수의 센서 장치의 총 수이다.
a plurality of sensor devices each including a storage space to which a data volume is allocated; and
and a gateway device communicating with the plurality of sensor devices.
the gateway device
The stored data requested to be stored is divided into a plurality of block data, and the block data is included in a message and transmitted to a storage sensor device selected to store one or more block data among the plurality of sensor devices in the data volume, and the storage When non-received block order information indicating block order information of block data not received by the sensor device is received from the storage sensor device by being included in the response message, block data corresponding to the non-received block order information is included in the message by the storage sensor device retransmit,
the gateway device
A virtual storage table is created by mapping residual energy information to each identification information of the plurality of sensor devices, a maximum value is found among residual energy information of the virtual storage table, and sensor device identification information mapped with the residual energy information of the maximum value and selecting a sensor device corresponding to the identified sensor device identification information and having a maximum residual energy information among the plurality of sensor devices as the storage sensor device,
the gateway device
The volume capacity information of the data volume allocated to the storage space of the storage sensor device is summed to be calculated as total volume capacity information, the magnitude of the total volume capacity information and the second size information of the storage data are compared, and the magnitude is determined further selecting the storage sensor device from among the sensor devices not selected as the storage sensor device based on the comparison result,
the gateway device
After storing the stored data in the virtual storage constructed by integrating the data volume, an energy balance index between the plurality of sensor devices is calculated based on the residual energy information of each of the plurality of sensor devices,
the gateway device
If the energy balance index is less than the reference index, a sensor device having data transmission power consumption greater than or equal to the reference power among a plurality of sensor devices is not selected as the storage sensor device,
the gateway device
characterized in that the energy balance index between the plurality of sensor devices is calculated using the following equation
A virtual storage system that transmits and receives stored data in block units.

<Equation>
Figure 112021041654232-pat00009

Here, F is the energy balance index, e i is the residual energy information of the sensor device having the index i after storing the stored data in the virtual storage, and n is the total number of the plurality of sensor devices.
제1항에 있어서,
상기 게이트웨이 장치는
상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신하는 것을 특징으로 하는
블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
According to claim 1,
the gateway device
Calculate the number information of the block data to be transmitted to the storage sensor device based on the volume capacity information of the data volume allocated to the storage space of the storage sensor device and preset third size information of the block data, and the number information A number of block data corresponding to the number of blocks are included in each of the number of messages corresponding to the number information, and the messages are sequentially transmitted to the storage sensor device.
A virtual storage system that transmits and receives stored data in block units.
제1항에 있어서,
상기 게이트웨이 장치는
상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신하는 것을 특징으로 하는
블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
According to claim 1,
the gateway device
Transmitting the message as a response request message or a non-response message based on the maximum number of consecutive transmissions indicating the maximum number of consecutive transmissions of the message to the storage sensor device
A virtual storage system that transmits and receives stored data in block units.
제3항에 있어서,
상기 저장 센서 장치는
상기 수신된 메시지가 상기 응답 요청 메시지이면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 것을 특징으로 하는
블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
4. The method of claim 3,
The storage sensor device is
When the received message is the response request message, block order information included in block option information of a non-received message among messages transmitted from the gateway device is estimated and generated as the non-received block order information, and the non-received block order information characterized in that it is included in the response message and transmitted to the gateway device
A virtual storage system that transmits and receives stored data in block units.
제1항에 있어서,
상기 게이트웨이 장치는
후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보를 블록 옵션 정보에 더 포함시켜 상기 메시지를 송신하는 것을 특징으로 하는
블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
According to claim 1,
the gateway device
The message is transmitted by further including subsequent block data information indicating whether block data to be transmitted subsequently is present in the block option information.
A virtual storage system that transmits and receives stored data in block units.
제5항에 있어서,
상기 저장 센서 장치는
상기 메시지에 포함된 상기 블록 옵션 정보의 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 것을 특징으로 하는
블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
6. The method of claim 5,
The storage sensor device is
If the subsequent block data information of the block option information included in the message indicates that there is no block data to be transmitted subsequently, block order information included in the block option information of the message not received from among the messages transmitted from the gateway device Estimating and generating the non-received block order information, and transmitting the non-received block order information to the gateway device by including the non-received block order information in the response message
A virtual storage system that transmits and receives stored data in block units.
게이트웨이 장치가 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하는 단계;
상기 게이트웨이 장치가 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계;
상기 게이트웨이 장치가 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 상기 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 단계;
상기 게이트웨이 장치가 상기 복수의 센서 장치 각각의 식별 정보 마다에 잔여 에너지 정보를 매핑시켜 가상 스토리지 테이블을 생성하고, 상기 가상 스토리지 테이블의 잔여 에너지 정보 중에서 최대값을 찾고 최대값의 잔여 에너지 정보와 매핑된 센서 장치 식별 정보를 확인하며, 확인된 센서 장치 식별 정보에 대응되며 상기 복수의 센서 장치 중에서 잔여 에너지 정보가 최대인 센서 장치를 상기 저장 센서 장치로 선택하는 단계;
상기 게이트웨이 장치가 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보를 합산하여 총 볼륨 용량 정보로 산출하고, 상기 총 볼륨 용량 정보와 상기 저장 데이터의 제2 크기 정보 간의 대소를 비교하고, 상기 대소를 비교한 결과에 기초하여 상기 저장 센서 장치로 선택되지 않은 센서 장치 중에서 상기 저장 센서 장치를 더 선택하는 단계;
상기 게이트웨이 장치가 상기 데이터 볼륨이 통합되어 구축된 가상 스토리지에 상기 저장 데이터를 저장한 이후, 상기 복수의 센서 장치 각각의 잔여 에너지 정보에 기초하여 상기 복수의 센서 장치 간의 에너지 균형 지수를 산출하는 단계;
상기 게이트웨이 장치가 상기 에너지 균형 지수가 기준 지수 미만이면, 복수의 센서 장치 중에서 데이터 전송 소비 전력이 기준 전력 이상인 센서 장치를 저장 센서 장치로 선택하지 않는 단계; 및
상기 게이트웨이 장치가 하기의 수학식을 이용하여 상기 복수의 센서 장치 간의 에너지 균형 지수를 산출하는 단계;를 포함하는 것을 특징으로 하는
블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법.

<수학식>
Figure 112021041654232-pat00010

여기서, F는 에너지 균형 지수이고, ei는 저장 데이터를 가상 스토리지에 저장한 이후 인덱스가 i인 센서 장치의 잔여 에너지 정보이고, n은 복수의 센서 장치의 총 수이다.
dividing, by the gateway device, storage-requested storage data into a plurality of block data;
transmitting, by the gateway device, including the block data in a message to a storage sensor device selected to store one or more block data among a plurality of sensor devices in a data volume;
When non-received block order information indicating block order information of block data that has not been received by the gateway device to the storage sensor device is received from the storage sensor device by being included in a response message in the response message, the storage sensor device corresponds to the non-received block order information retransmitting the block data in the message;
The gateway device maps residual energy information to each identification information of the plurality of sensor devices to create a virtual storage table, finds a maximum value among residual energy information of the virtual storage table, and maps the residual energy information of the maximum value. checking sensor device identification information, and selecting a sensor device corresponding to the identified sensor device identification information and having a maximum residual energy information among the plurality of sensor devices as the storage sensor device;
The gateway device sums up the volume capacity information of the data volume allocated to the storage space of the storage sensor device to calculate the total volume capacity information, and compares the magnitude between the total volume capacity information and the second size information of the storage data, , further selecting the storage sensor device from among the sensor devices not selected as the storage sensor device based on a result of comparing the magnitude;
calculating, by the gateway device, an energy balance index between the plurality of sensor devices based on residual energy information of each of the plurality of sensor devices, after the gateway device stores the stored data in a virtual storage constructed by integrating the data volume;
not selecting, by the gateway device, a sensor device having data transmission power consumption equal to or greater than the reference power from among a plurality of sensor devices as a storage sensor device when the energy balance index is less than the reference index; and
and calculating, by the gateway device, an energy balance index between the plurality of sensor devices using the following equation.
How a virtual storage system works that sends and receives stored data in blocks.

<Equation>
Figure 112021041654232-pat00010

Here, F is the energy balance index, e i is the residual energy information of the sensor device having the index i after storing the stored data in the virtual storage, and n is the total number of the plurality of sensor devices.
제7항에 있어서,
상기 블록 데이터를 메시지에 포함시켜 송신하는 단계는
상기 게이트웨이 장치가 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신하는 단계; 및
상기 게이트웨이 장치가 상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신하는 단계;를 더 포함하는 것을 특징으로 하는
블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법.
8. The method of claim 7,
The step of transmitting the block data by including the message
The gateway device calculates, by the gateway device, information on the number of the block data to be transmitted to the storage sensor device based on the volume capacity information of the data volume allocated to the storage space of the storage sensor device and the third preset size information of the block data, , including the number of block data corresponding to the number information in each of the number of messages corresponding to the number information, and sequentially transmitting the messages to the storage sensor device; and
Transmitting, by the gateway device, the message as a response request message or a non-response request message based on the maximum number of consecutive transmissions indicating the maximum number of consecutive transmissions of the message to the storage sensor device; doing
How a virtual storage system works that sends and receives stored data in blocks.
하드웨어인 컴퓨터와 결합되어, 제7항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium in combination with a computer, which is hardware, to perform the method of claim 7.
KR1020200029694A 2020-03-10 2020-03-10 Virtual storage system transmitting and receiving stored data in block unit and operating method of the same KR102289835B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200029694A KR102289835B1 (en) 2020-03-10 2020-03-10 Virtual storage system transmitting and receiving stored data in block unit and operating method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200029694A KR102289835B1 (en) 2020-03-10 2020-03-10 Virtual storage system transmitting and receiving stored data in block unit and operating method of the same

Publications (1)

Publication Number Publication Date
KR102289835B1 true KR102289835B1 (en) 2021-08-12

Family

ID=77314736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200029694A KR102289835B1 (en) 2020-03-10 2020-03-10 Virtual storage system transmitting and receiving stored data in block unit and operating method of the same

Country Status (1)

Country Link
KR (1) KR102289835B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270790A (en) * 1996-04-01 1997-10-14 N T T Data Tsushin Kk File distribution method and communication controller
US20050122990A1 (en) * 2003-11-26 2005-06-09 Parys Jorgen V. Scheduling poll packets in bluetooth sniff mode
JP2010512568A (en) * 2006-12-06 2010-04-22 フリン,デイビッド Apparatus, system and method for solid state storage as cache for high capacity non-volatile storage
KR20100082285A (en) * 2009-01-08 2010-07-16 경북대학교 산학협력단 Wireless sensor network system using pumping node having 802. 15. 4 media access control and ethernet media access conrol communication functions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270790A (en) * 1996-04-01 1997-10-14 N T T Data Tsushin Kk File distribution method and communication controller
US20050122990A1 (en) * 2003-11-26 2005-06-09 Parys Jorgen V. Scheduling poll packets in bluetooth sniff mode
JP2010512568A (en) * 2006-12-06 2010-04-22 フリン,デイビッド Apparatus, system and method for solid state storage as cache for high capacity non-volatile storage
KR20100082285A (en) * 2009-01-08 2010-07-16 경북대학교 산학협력단 Wireless sensor network system using pumping node having 802. 15. 4 media access control and ethernet media access conrol communication functions

Similar Documents

Publication Publication Date Title
US9158460B2 (en) Selecting data nodes using multiple storage policies in cloud storage system
KR20120102664A (en) Allocating storage memory based on future use estimates
CN111752480A (en) Data writing method, data reading method, related equipment and system
US20140115252A1 (en) Block storage-based data processing methods, apparatus, and systems
CN102520877A (en) Offload reads and writes
US20050144402A1 (en) Method, system, and program for managing virtual memory
KR20190111714A (en) Storage device and computer system
US20090138613A1 (en) Network Converter and Information Processing System
US20170060455A1 (en) Determining data locality in a distributed system using aggregation of locality summaries
CN102523290A (en) Data processing method, device and system
US8892676B2 (en) Thin import for a data storage system
CN110199512B (en) Management method and device for storage equipment in storage system
US8549274B2 (en) Distributive cache accessing device and method for accelerating to boot remote diskless computers
US8593977B2 (en) Method and apparatus for transmitting data and method and apparatus for performing data tasks
US10044810B2 (en) Selectively implementing reliability mechanisms based on the type of USB device that is redirected over a remote session
KR102289835B1 (en) Virtual storage system transmitting and receiving stored data in block unit and operating method of the same
US8135924B2 (en) Data storage device driver
WO2021147620A1 (en) Communication method, device, and system based on model training
CN110199270B (en) Management method and device for storage equipment in storage system
US20180329653A1 (en) Considering input/output workload and space usage at a plurality of logical devices to select one of the logical devices to use to store an object
KR102289834B1 (en) Virtual storage system using storage space of sensor device and operating method of the same
WO2020233364A1 (en) Resource processing platform confirmation method and apparatus, and electronic device and medium
CN114020218B (en) Hybrid de-duplication scheduling method and system
CN109981767A (en) HANA data bank access method, device, system, equipment and storage medium
US20040267967A1 (en) Method, system, and program for managing requests to a network adaptor

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant