Nothing Special   »   [go: up one dir, main page]

KR102289835B1 - 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법 - Google Patents

블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법 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
English (en)
Inventor
김의직
권정혁
Original Assignee
한림대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한림대학교 산학협력단 filed Critical 한림대학교 산학협력단
Priority to KR1020200029694A priority Critical patent/KR102289835B1/ko
Application granted granted Critical
Publication of KR102289835B1 publication Critical patent/KR102289835B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템은 데이터 볼륨이 할당된 저장 공간을 각각 포함하는 복수의 센서 장치; 및 상기 복수의 센서 장치와 통신하는 게이트웨이 장치;를 포함하고, 상기 게이트웨이 장치는 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하고, 상기 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 상기 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하고, 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송할 수 있다.

Description

블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법{Virtual storage system transmitting and receiving stored data in block unit and operating method of the same}
본 발명은 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법에 관한 것으로, 더욱 상세하게는 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보에 기초하여 블록 데이터를 재송신하는 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법에 관한 것이다.
인터넷 SCSI(Internet Small Computer System Interface : iSCSI)를 지원하는 네트워크 저장 장치가 점점 시장에서 사용자에게 인식되고 있다. 저급에서 중급 거래에서, 보통 물리적 저장 매체와 함께 제공되는 네트워크 저장 장치는 기능과 저장 매체가 결합된 장치이다. 이와 같은 네트워크 저장 장치는 일반적으로 약 10 테라 바이트(Tera-Byte) 이하의 용량을 갖는다. 사용자의 요구가 증가함에 따라 이러한 네트워크 저장 장치 복수 개가 좀더 큰 저장 공간을 위해 필요하게 된다.
이에 대응하여 기술개발된 저장 가상화 기술(Storage Virtualization Technology)은 물리적 저장소로부터 논리적 저장소의 분리를 가능케 한다. 저장 가상화를 이용하는 하나의 예시적 경우는 가상 장치에서이다. 가상화 소프트웨어 층(전형적으로 하이퍼바이저(Hypervisor) 또는 가상 장치 모니터로 지칭됨)이 컴퓨터 시스템 상에 설치되어 가상 장치가 물리적 하드웨어와 상호작용하는 방식을 제어한다. 전형적으로 게스트 운영 시스템이 물리적 하드웨어에 대한 독점적인 제어를 행사하도록 코딩되기 때문에, 가상화 소프트웨어는 물리적 하드웨어의 리소스를 세분하고 가상 장치 내에 물리적 하드웨어의 존재를 모방하도록 구성될 수 있다. 저장 가상화를 이용하는 다른 경우는 저장 어레이를 구현하도록 구성된 컴퓨터 시스템 내에서이다. 이러한 경우, 물리적 컴퓨터 시스템 또는 가상 장치는 iSCSI 프로토콜 등을 이용하는 저장 어레이에 접속될 수 있다.
저장 조절 모듈(Storage Handling Module)은 가상 또는 물리적 장치에 대한 저장을 모방하는 데에 사용될 수 있다. 예를 들어, 저장 조절 모듈은 가상 디스크의 익스텐트(Extent), 즉 블록과 같은 저장소의 인접한 영역을 기술, 즉 저장하는 데에 사용될 수 있는 하나 이상의 가상 디스크 파일을 판독 및 기록함으로써 가상 또는 물리적 장치에 의해 발행되는 저장 IO 작업(IO Job)을 조절할 수 있다. 유사하게, 저장 조절 프로그램은 블록 데이터를 저장소에 기록함으로써 기록 요청에 응답할 수 있고, 하나 이상의 저장소 내에 저장된 블록 데이터를 판독함으로써 판독 요청에 응답할 수 있다.
하지만, 여러 수로 분할된 블록 데이터를 송수신하는 과정에서 송수신되는 블록 데이터 수만큼의 응답 메시지를 송수신하여 블록 데이터의 송수신이 완료되었는지 여부를 판단함으로써 오버헤드가 증가하는 문제점이 있다.
본 발명은 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보를 응답 메시지에 포함시켜 송수신하고, 미수신 블록 순서 정보에 기초하여 블록 데이터를 재송신할 수 있는 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법을 제공할 수 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템은 데이터 볼륨이 할당된 저장 공간을 각각 포함하는 복수의 센서 장치; 및 상기 복수의 센서 장치와 통신하는 게이트웨이 장치;를 포함하고, 상기 게이트웨이 장치는 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하고, 상기 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 상기 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하고, 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송할 수 있다.
바람직하게, 상기 게이트웨이 장치는 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신할 수 있다.
바람직하게, 상기 게이트웨이 장치는 상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신할 수 있다.
바람직하게, 상기 저장 센서 장치는 상기 수신된 메시지가 상기 응답 요청 메시지이면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신할 수 있다.
바람직하게, 상기 게이트웨이 장치는 후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보를 블록 옵션 정보에 더 포함시켜 상기 메시지를 송신할 수 있다.
바람직하게, 상기 저장 센서 장치는 상기 메시지에 포함된 상기 블록 옵션 정보의 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신할 수 있다.
본 발명에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법은 게이트웨이 장치가 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하는 단계; 상기 게이트웨이 장치가 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계; 및 상기 게이트웨이 장치가 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 상기 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 단계;를 포함할 수 있다.
바람직하게, 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계는 상기 게이트웨이 장치가 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신하는 단계;를 포함할 수 있다.
바람직하게, 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계는 상기 게이트웨이 장치가 상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신하는 단계;를 더 포함할 수 있다.
바람직하게, 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 단계는 상기 저장 센서 장치가 상기 수신된 메시지가 상기 응답 요청 메시지이면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 단계;를 포함할 수 있다.
바람직하게, 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계는 상기 게이트웨이 장치가 후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보를 블록 옵션 정보에 더 포함시켜 상기 메시지를 송신하는 단계;를 더 포함할 수 있다.
바람직하게, 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 단계는 상기 저장 센서 장치가 상기 메시지에 포함된 상기 블록 옵션 정보의 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 단계;를 더 포함할 수 있다.
본 발명에 따른 컴퓨터 프로그램은 하드웨어인 컴퓨터와 결합되어, 상기 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장될 수 있다.
본 발명에 따르면, 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보를 응답 메시지에 포함시켜 송수신함으로써, 오버헤드가 증가하는 현상을 방지할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템에 포함된 복수의 센서 장치 각각의 저장 공간과 가상 스토리지의 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템에서 이용되는 블록 데이터 테이블을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템이 블록 데이터를 송수신하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 다른 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템에서 이용되는 가상 스토리지 테이블을 도시한 도면이다.
도 6은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법의 순서를 나타내는 순서도이다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형 태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/ 또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대 해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현 은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는(3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중 요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성 요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(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)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한 정하려는 의도가 아닐 수 있다. 단수의 표현은 컨텍스트 상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 컨텍스트 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
도 1은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10) 의 구성을 도시한 도면이고, 도 2는 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10)에 포함된 복수의 센서 장치(100_1, …, 100_n) 각각의 저장 공간(110_1, …, 110_n)과 가상 스토리지(VS)의 구성을 도시한 도면이고, 도 3은 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10)에서 이용되는 블록 데이터 테이블을 도시한 도면이고, 도 4는 본 발명의 일 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10)이 블록 데이터를 송수신하는 과정을 설명하기 위한 도면이다.
도 1 내지 도 4를 참조하면, 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(이하 '가상 스토리지 시스템'이라 함, 10)은 복수의 센서 장치(100_1, …, 100_n) 및 게이트웨이 장치(200)를 포함할 수 있다.
복수의 센서 장치(100_1, …, 100_n) 및 게이트웨이 장치(200)는 사물 인터넷(Internet of Things; IoT) 서비스를 제공하는 네트워크를 형성할 수 있다. 또한, 복수의 센서 장치(100_1, …, 100_n) 및 게이트웨이 장치(200)는 특정 사용자에 의해 전용으로 사용되고, 근거리 통신망으로 연결되는 로컬 네트워크를 형성할 수 있다.
복수의 센서 장치(100_1, …, 100_n)는 주변 환경을 센싱한 센싱 데이터를 게이트웨이 장치(200)로 송신하고, 센싱 데이터를 상호 송수신하는 임베디드 센서 장치일 수 있다.
이러한, 복수의 센서 장치(100_1, …, 100_n)는 IoT 서비스를 제공하기 위해 IoT 애플리케이션이 구동되고, IoT 애플리케이션의 구동을 위해 저장 공간(110_1, …, 110_n)을 각각 포함할 수 있다.
이때, 저장 공간(110_1, …, 110_n)은 온보드 메모리 모듈 또는 외부 메모리 모듈로 구현될 수 있다.
저장 공간(110_1, …, 110_n)은 복수의 센서 장치(100_1, …, 100_n)가 태스크를 처리하고 운영 체제 및 응용 프로그램을 구동하기 위해 필요한 시스템 볼륨(SV_1, …, SV_n)과 가상 스토리지(VS)를 구축하는데 필요한 데이터 볼륨(DV_1, …, DV_n)으로 분할될 수 있다.
이때, 데이터 볼륨(DV_1, …, DV_n)은 게이트웨이 장치(200)에 의해 복수의 센서 장치(100_1, …, 100_n) 마다 할당될 수 있다.
데이터 볼륨(DV_1, …, DV_n)은 게이트웨이 장치(200)에 의해 통합되어 가상 스토리지(VS)로 구축되고, 데이터 볼륨(DV_1, …, DV_n) 중 하나 이상에는 사용자 장치(UD)에 의해 저장 요청된 저장 데이터가 블록 데이터로 분할되어 저장될 수 있다.
복수의 센서 장치(100_1, …, 100_n) 각각은 배터리부의 잔여 에너지 정보를 게이트웨이 장치(200)로 송신할 수 있다. 여기서, 잔여 에너지 정보는 배터리부의 충전 전력량을 의미할 수 있다.
한편, 복수의 센서 장치(100_1, …, 100_n)는 내부 구성요소의 작동을 제어하여 작동을 수행하도록 구성된 프로세서, 구동 에너지를 공급하는 배터리부 및 통신을 수행하는 통신부를 각각 포함할 수 있다.
통신부는 근거리 무선 통신을 이용하여 다른 센서 장치 또는 게이트웨이 장치와 통신을 수행할 수 있다. 이를 위해, 통신부는 근거리 무선 통신을 수행하는 근거리 무선 통신 모듈을 구비할 수 있다. 여기서, 근거리 무선 통신은 근거리에서 통신을 수행하는 한 통신 방식이 제한되지 않음을 유의한다. 예를 들어, 근거리 무선 통신은 와이파이(Wireless Fidelity), 블루투스(Bluetooth), NFC(Near Field Communication) 및 적외선 통신 중 하나 이상을 이용할 수 있다. 이때, 근거리 무선 통신 모듈은 사물 인터넷 응용 프로토콜(예를 들어, Constrained Application Protocol(CoAP))을 이용할 수 있다.
게이트웨이 장치(200)는 IoT 서비스를 제공하기 위해 복수의 센서 장치(100_1, …, 100_n) 간에 센서 데이터를 전달하거나 복수의 센서 장치(100_1, …, 100_n)로부터 수신된 센서 데이터를 사용자 장치(UD)로 송신할 수 있다.
또한, 게이트웨이 장치(200)는 사용자 장치(UD)에 의해 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할할 수 있다.
이때, 게이트웨이 장치(200)는 미리 설정된 제3 크기 정보에 대응하여 저장 데이터를 복수의 블록 데이터로 분할할 수 있다. 예를 들어, 게이트웨이 장치(200)는 미리 설정된 제3 크기 정보가 1024B인 경우, 하나의 블록 데이터의 크기가 1024B가 되도록 저장 데이터를 복수의 블록 데이터로 분할할 수 있다.
게이트웨이 장치(200)는 저장 데이터를 복수의 블록 데이터로 분할한 이후, 복수의 블록 데이터 마다에 블록 데이터 식별 정보를 할당하고, 블록 데이터 식별 정보 마다에 블록 순서 정보, 미리 설정된 제3 크기 정보 및 해당 블록 데이터를 수신하는 저장 센서 장치의 센서 장치 식별 정보를 매칭시켜 블록 데이터 테이블을 생성할 수 있다.
여기서, 블록 순서 정보는 블록 데이터가 저장 센서 장치로 송신되는 순서를 나타내는 정보일 수 있으며, 연속되는 자연수 일 수 있다.
이후, 게이트웨이 장치(200)는 복수의 센서 장치(100_1, …, 100_n) 중에서 하나 이상의 블록 데이터를 데이터 볼륨(DV_1, …, DV_n)에 저장하는 것으로 선택된 저장 센서 장치로 블록 데이터를 메시지에 포함시켜 송신할 수 있다.
이를 위해, 게이트웨이 장치(200)는 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 저장 센서 장치에 송신될 블록 데이터의 개수 정보를 산출하고, 개수 정보에 대응되는 개수의 블록 데이터를 개수 정보에 대응되는 개수의 메시지 각각에 포함시키고, 메시지를 저장 센서 장치로 순차적으로 송신할 수 있다.
이때, 게이트웨이 장치(200)는 볼륨 용량 정보를 미리 설정된 제3 크기 정보로 나눈 몫의 버림 연산 값을 개수 정보로 산출할 수 있다.
한편, 게이트웨이 장치(200)는 저장 센서 장치로 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 메시지를 응답 요청 메시지(CON) 또는 응답 미요청 메시지(NON)로 송신할 수 있다.
예를 들어, 연속 송신 가능한 최다 횟수가 “4”이면, 게이트웨이 장치(200)는 저장 센서 장치로 메시지를 연속 4회까지만 전송 가능할 수 있다.
게이트웨이 장치(200)는 저장 센서 장치로 메시지를 송신하는 경우, 이전에 메시지의 연속 송신된 횟수에서 1회 가산된 횟수를 확인하고, 확인된 횟수가 최다 연속 송신 횟수 정보 보다 적으면 메시지를 응답 미요청 메시지(NON)로 송신할 수 있다.
반대로, 게이트웨이 장치(200)는 확인된 횟수가 최다 연속 송신 횟수 정보와 동일하면 메시지를 응답 요청 메시지(CON)로 송신할 수 있다.
여기서, 메시지를 응답 요청 메시지(CON)는 메시지 수신의 응답을 나타내는 응답 메시지(ACK)를 요청하는 메시지이고, 메시지를 응답 미요청 메시지(CON)는 메시지 수신의 응답을 나타내는 응답 메시지(ACK)를 미요청하는 메시지일 수 있다.
한편, 게이트웨이 장치(200)는 메시지 식별 정보(MID), 토큰 정보(T) 및 블록 옵션 정보(S)를 블록 데이터와 함께 메시지에 포함시켜 저장 센서 장치로 송신할 수 있다.
구체적으로, 게이트웨이 장치(200)는 블록 순서 정보, 후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보, 블록 데이터의 미리 설정된 제3 크기 정보 및 최다 연속 송신 횟수 정보를 블록 옵션 정보(S)에 포함시킬 수 있다.
복수의 센서 장치(100_1, …, 100_n) 중에서 블록 데이터를 수신하는 것으로 선택된 저장 센서 장치는 게이트웨이 장치(200)로부터 수신된 메시지가 응답 요청 메시지이면, 게이트웨이 장치(200)에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보(S)에 포함된 블록 순서 정보를 추정하여 미수신 블록 순서 정보(Lost)로 생성하고, 미수신 블록 순서 정보(Lost)를 응답 메시지에 포함시켜 게이트웨이 장치(200)로 송신할 수 있다.
이를 위해, 저장 센서 장치는 게이트웨이 장치(200)로부터 메시지가 수신되면, 메시지에 포함된 블록 옵션 정보(S)의 블록 순서 정보를 확인하고, 확인된 블록 순서 정보 중에서 연속되지 않고 누락된 블록 순서 정보를 미수신된 메시지의 블록 옵션 정보(S)에 포함된 블록 순서 정보로 추정할 수 있다.
또한, 저장 센서 장치는 메시지에 포함된 블록 옵션 정보에 포함된 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 게이트웨이 장치(200)에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 미수신 블록 순서 정보로 생성하고, 미수신 블록 순서 정보를 응답 메시지에 포함시켜 게이트웨이 장치(200)로 송신할 수 있다.
이를 통해, 저장 센서 장치는 별도의 메시지를 송신하지 않고도 응답 메시지를 통해 게이트웨이 장치(200)로 미수신 블록 순서 정보를 송신함으로써, 가상 스토리지 시스템(10)의 오버헤드를 감소시킬 수 있다.
이후, 게이트웨이 장치(200)는 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 저장 센서 장치로부터 수신되면, 저장 센서 장치로 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송할 수 있다.
이때, 게이트웨이 장치(200)는 블록 데이터를 재전송하는 경우, 응답 미요청 메시지에 블록 데이터를 포함시켜 재전송할 수 있다.
한편, 게이트웨이 장치(200)는 내부 구성요소의 작동을 제어하여 작동을 수행하도록 구성된 프로세서 및 통신을 수행하는 통신부를 포함할 수 있다.
통신부는 근거리 무선 통신을 이용하여 복수의 센서 장치(100_1, …, 100_n) 및 사용자 장치(UD)와 통신을 수행할 수 있다. 이를 위해, 통신부는 근거리 무선 통신을 수행하는 근거리 무선 통신 모듈을 구비할 수 있다. 여기서, 근거리 무선 통신은 근거리에서 통신을 수행하는 한 통신 방식이 제한되지 않음을 유의한다. 예를 들어, 근거리 무선 통신은 와이파이(Wireless Fidelity), 블루투스(Bluetooth), NFC(Near Field Communication) 및 적외선 통신 중 하나 이상을 이용할 수 있다. 이때, 근거리 무선 통신 모듈은 사물 인터넷 응용 프로토콜(예를 들어, Constrained Application Protocol(CoAP))을 이용할 수 있다.
도 5는 본 발명의 다른 실시 예에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템(10)에서 이용되는 가상 스토리지 테이블을 도시한 도면이다.
본 발명의 다른 실시 예에 따른 가상 스토리지 시스템(10)은 본 발명의 일 실시 예에 따른 가상 스토리지 시스템(10) 대비 구성요소와 구성요소 내 세부구성요소는 동일하나 수행하는 역할이 상이하므로, 반복되는 설명은 생략하도록 한다.
도 5를 더 참조하면, 본 발명의 다른 실시 예에 따른 가상 스토리지 시스템(10)은 복수의 센서 장치(100_1, …, 100_n)와 게이트웨이 장치(200)를 포함할 수 있다.
게이트웨이 장치(200)는 복수의 센서 장치(100_1, …, 100_n)의 저장 공간(110_1, …, 110_n) 각각에 데이터 볼륨(DV_1, …, DV_n)을 할당하고, 데이터 볼륨(DV_1, …, DV_n)을 통합하여 가상 스토리지(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)을 할당할 수 있다.
여기서, 시스템 데이터 저장 공간은 센서 장치가 태스크를 수행하지 않는 상태에서 시스템 데이터를 저장하는데 필요한 저장 공간을 의미할 수 있고, 태스크 데이터 저장 공간은 센서 장치가 태스크를 수행하는 경우, 태스크를 수행하지 않는 경우 대비 추가로 필요한 저장 공간을 의미할 수 있다.
이때, 게이트웨이 장치(200)는 태스크 데이터의 제1 크기 정보, 태스크 데이터의 생성 주기 정보 및 태스크 데이터의 삭제 주기 정보에 기초하여 제3 용량 공간 정보를 산출할 수 있다.
여기서, 삭제 주기 정보는 생성되어 축적된 태스크 데이터 모두가 삭제되는 주기를 나타내는 정보일 수 있다.
게이트웨이 장치(200)는 하기의 수학식 1을 이용하여, 볼륨 용량 정보를 산출할 수 있다.
<수학식 1>
Figure 112020025380105-pat00001
여기서, DVi는 인덱스가 i인 센서 장치의 데이터 볼륨의 볼륨 용량 정보이고, Ti는 인덱스가 i인 센서 장치의 저장 공간의 제1 용량 정보이고, Sysi는 인덱스가 i인 센서 장치의 시스템 데이터 저장 공간의 제2 용량 정보이고, Taski는 인덱스가 i인 센서 장치의 태스크 데이터 저장 공간의 제3 용량 정보이고, SizeTaski는 인덱스가 i인 센서 장치의 태스크 데이터의 제1 크기 정보이고, GenTaski는 인덱스가 i인 센서 장치의 태스크 데이터의 생성 주기 정보이고, RemTaski는 인덱스가 i인 센서 장치의 태스크 데이터의 삭제 주기 정보일 수 있고, i는 1 내지 n 사이의 자연수일 수 있다.
한편, 게이트웨이 장치(200)는 복수의 센서 장치(100_1, …, 100_n) 각각으로부터 잔여 에너지 정보를 수신하고, 복수의 센서 장치(100_1, …, 100_n) 각각의 센서 장치 식별 정보 마다에 제1 용량 정보, 볼륨 용량 정보 및 잔여 에너지 정보를 매핑시켜 가상 스토리지 테이블을 생성할 수 있다.
이후, 게이트웨이 장치(200)는 저장 요청된 저장 데이터로부터 분할되는 복수의 블록 데이터 중 하나 이상의 블록 데이터를 데이터 볼륨(DV_1, …, DV_n)에 저장할 하나 이상의 센서 장치를 복수의 센서 장치(100_1, …, 100_n) 중에서 저장 센서 장치로 선택할 수 있다.
구체적으로, 게이트웨이 장치(200)는 가상 스토리지 테이블을 참조하여 복수의 센서 장치(100_1, …, 100_n) 중에서 잔여 에너지 정보가 최대인 센서 장치를 저장 센서 장치로 선택할 수 있다.
이를 위해, 게이트웨이 장치(200)는 가상 스토리지 테이블의 잔여 에너지 정보 중 최대값을 찾고, 최대값의 잔여 에너지 정보와 매핑된 센서 장치 식별 정보를 확인하며, 확인된 센서 장치 식별 정보에 대응되는 센서 장치를 저장 센서 장치로 선택할 수 있다.
이후, 게이트웨이 장치(200)는 선택된 저장 센서 장치의 잔여 에너지 정보를 가상 스토리지 테이블에서 제외시킬 수 있다.
게이트웨이 장치(200)는 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보를 합산하여 총 볼륨 용량 정보로 산출하고, 총 볼륨 용량 정보와 저장 데이터의 제2 크기 정보 간의 대소를 비교하고, 대소 비교 결과에 기초하여 저장 센서 장치로 선택되지 않은 센서 장치 중에서 저장 센서 장치를 더 선택할 수 있다.
구체적으로, 게이트웨이 장치(200)는 총 볼륨 용량 정보가 저장 데이터의 제2 크기 정보 보다 작으면 저장 센서 장치를 더 선택할 수 있다.
반대로, 게이트웨이 장치(200)는 총 볼륨 용량 정보가 저장 데이터의 제2 크기 정보 보다 크거나 같으면 저장 센서 장치를 더 선택하지 않을 수 있다.
즉, 게이트웨이 장치(200)는 저장 센서 장치의 데이터 볼륨들이 저장 데이터를 분할하여 저장할 수 있는 용량이 되도록 저장 센서 장치를 선택할 수 있다.
한편, 또 다른 실시예에 따른 가상 스토리지 시스템(10)의 게이트웨이 장치(200)는 저장 데이터를 가상 스토리지(VS)에 저장한 이후, 복수의 센서 장치(100_1, …, 100_n) 각각의 잔여 에너지 정보에 기초하여 복수의 센서 장치(100_1, …, 100_n) 간의 에너지 균형 지수를 산출할 수 있다.
이때, 게이트웨이 장치(200)는 하기의 수학식 2를 이용하여 에너지 균형 지수를 산출할 수 있다.
<수학식 2>
Figure 112020025380105-pat00002
여기서, F는 에너지 균형 지수이고, ei는 저장 데이터를 가상 스토리지(Vs)에 저장한 이후 인덱스가 i인 센서 장치의 잔여 에너지 정보이고, n은 복수의 센서 장치(100_1, …, 100_n)의 총 수일 수 있다.
게이트웨이 장치(200)는 에너지 균형 지수가 기준 지수 미만이면, 복수의 센서 장치(100_1, …, 100_n) 중에서 데이터 전송 소비 전력이 기준 전력 이상인 센서 장치를 저장 센서 장치로 선택하지 않을 수 있다.
이를 통해, 게이트웨이 장치(200)는 저장 데이터를 저장하는 과정에서 전력 소비가 많은 센서 장치에는 저장 데이터를 저장하지 않음으로써, 복수의 센서 장치(100_1, …, 100_n) 간에 잔여 에너지의 불균형이 가속화되는 현상을 방지할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 가상 스토리지 시스템의 작동 방법의 순서를 나타내는 순서도이다.
도 6을 참조하면, 본 발명에 따른 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법은 게이트웨이 장치가 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하는 S1 단계, 상기 게이트웨이 장치가 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하는 S2 단계 및 상기 게이트웨이 장치가 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 상기 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 S3 단계를 포함할 수 있다.
S1 단계는 상기 게이트웨이 장치가 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신하는 단계를 포함할 수 있다.
또한, S1 단계는 상기 게이트웨이 장치가 상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신하는 단계;를 더 포함할 수 있다.
한편, S3 단계는 상기 저장 센서 장치가 상기 수신된 메시지가 상기 응답 요청 메시지이면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 단계를 포함할 수 있다.
이어서, S1 단계는 상기 게이트웨이 장치가 후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보를 블록 옵션 정보에 더 포함시켜 상기 메시지를 송신하는 단계를 더 포함할 수 있다.
S3 단계는 상기 저장 센서 장치가 상기 메시지에 포함된 상기 블록 옵션 정보의 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 단계를 더 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 컴퓨터 프로그램은 하드웨어인 컴퓨터와 결합되어, 본 발명의 일 실시 예에 따른 가상 스토리지 시스템의 작동 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야 에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이제까지 본 발명에 대하여 바람직한 실시 예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로 상기 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
10: 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템
100: 복수의 센서 장치
200: 게이트웨이 장치

Claims (9)

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

    <수학식>
    Figure 112021041654232-pat00009

    여기서, F는 에너지 균형 지수이고, ei는 저장 데이터를 가상 스토리지에 저장한 이후 인덱스가 i인 센서 장치의 잔여 에너지 정보이고, n은 복수의 센서 장치의 총 수이다.
  2. 제1항에 있어서,
    상기 게이트웨이 장치는
    상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신하는 것을 특징으로 하는
    블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
  3. 제1항에 있어서,
    상기 게이트웨이 장치는
    상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신하는 것을 특징으로 하는
    블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
  4. 제3항에 있어서,
    상기 저장 센서 장치는
    상기 수신된 메시지가 상기 응답 요청 메시지이면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 것을 특징으로 하는
    블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
  5. 제1항에 있어서,
    상기 게이트웨이 장치는
    후속되어 전송되는 블록 데이터의 존재 여부를 나타내는 후속 블록 데이터 정보를 블록 옵션 정보에 더 포함시켜 상기 메시지를 송신하는 것을 특징으로 하는
    블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
  6. 제5항에 있어서,
    상기 저장 센서 장치는
    상기 메시지에 포함된 상기 블록 옵션 정보의 후속 블록 데이터 정보가 후속되어 전송되는 블록 데이터가 존재하지 않음을 나타내면, 상기 게이트웨이 장치에서 송신된 메시지 중에서 미수신된 메시지의 블록 옵션 정보에 포함된 블록 순서 정보를 추정하여 상기 미수신 블록 순서 정보로 생성하고, 상기 미수신 블록 순서 정보를 상기 응답 메시지에 포함시켜 상기 게이트웨이 장치로 송신하는 것을 특징으로 하는
    블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템.
  7. 게이트웨이 장치가 저장 요청된 저장 데이터를 복수의 블록 데이터로 분할하는 단계;
    상기 게이트웨이 장치가 복수의 센서 장치 중에서 하나 이상의 블록 데이터를 데이터 볼륨에 저장하는 것으로 선택된 저장 센서 장치로 상기 블록 데이터를 메시지에 포함시켜 송신하는 단계;
    상기 게이트웨이 장치가 상기 저장 센서 장치에 미수신된 블록 데이터의 블록 순서 정보를 나타내는 미수신 블록 순서 정보가 응답 메시지에 포함되어 상기 저장 센서 장치로부터 수신되면, 상기 저장 센서 장치로 상기 미수신 블록 순서 정보에 대응되는 블록 데이터를 메시지에 포함시켜 재전송하는 단계;
    상기 게이트웨이 장치가 상기 복수의 센서 장치 각각의 식별 정보 마다에 잔여 에너지 정보를 매핑시켜 가상 스토리지 테이블을 생성하고, 상기 가상 스토리지 테이블의 잔여 에너지 정보 중에서 최대값을 찾고 최대값의 잔여 에너지 정보와 매핑된 센서 장치 식별 정보를 확인하며, 확인된 센서 장치 식별 정보에 대응되며 상기 복수의 센서 장치 중에서 잔여 에너지 정보가 최대인 센서 장치를 상기 저장 센서 장치로 선택하는 단계;
    상기 게이트웨이 장치가 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보를 합산하여 총 볼륨 용량 정보로 산출하고, 상기 총 볼륨 용량 정보와 상기 저장 데이터의 제2 크기 정보 간의 대소를 비교하고, 상기 대소를 비교한 결과에 기초하여 상기 저장 센서 장치로 선택되지 않은 센서 장치 중에서 상기 저장 센서 장치를 더 선택하는 단계;
    상기 게이트웨이 장치가 상기 데이터 볼륨이 통합되어 구축된 가상 스토리지에 상기 저장 데이터를 저장한 이후, 상기 복수의 센서 장치 각각의 잔여 에너지 정보에 기초하여 상기 복수의 센서 장치 간의 에너지 균형 지수를 산출하는 단계;
    상기 게이트웨이 장치가 상기 에너지 균형 지수가 기준 지수 미만이면, 복수의 센서 장치 중에서 데이터 전송 소비 전력이 기준 전력 이상인 센서 장치를 저장 센서 장치로 선택하지 않는 단계; 및
    상기 게이트웨이 장치가 하기의 수학식을 이용하여 상기 복수의 센서 장치 간의 에너지 균형 지수를 산출하는 단계;를 포함하는 것을 특징으로 하는
    블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법.

    <수학식>
    Figure 112021041654232-pat00010

    여기서, F는 에너지 균형 지수이고, ei는 저장 데이터를 가상 스토리지에 저장한 이후 인덱스가 i인 센서 장치의 잔여 에너지 정보이고, n은 복수의 센서 장치의 총 수이다.
  8. 제7항에 있어서,
    상기 블록 데이터를 메시지에 포함시켜 송신하는 단계는
    상기 게이트웨이 장치가 상기 저장 센서 장치의 저장 공간에 할당된 데이터 볼륨의 볼륨 용량 정보 및 상기 블록 데이터의 미리 설정된 제3 크기 정보에 기초하여 상기 저장 센서 장치에 송신될 상기 블록 데이터의 개수 정보를 산출하고, 상기 개수 정보에 대응되는 개수의 블록 데이터를 상기 개수 정보에 대응되는 개수의 상기 메시지 각각에 포함시키고, 상기 메시지를 상기 저장 센서 장치로 순차적으로 송신하는 단계; 및
    상기 게이트웨이 장치가 상기 저장 센서 장치로 상기 메시지를 연속 송신 가능한 최다 횟수를 나타내는 최다 연속 송신 횟수 정보에 기초하여 상기 메시지를 응답 요청 메시지 또는 응답 미요청 메시지로 송신하는 단계;를 더 포함하는 것을 특징으로 하는
    블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템의 작동 방법.
  9. 하드웨어인 컴퓨터와 결합되어, 제7항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020200029694A 2020-03-10 2020-03-10 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법 KR102289835B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200029694A KR102289835B1 (ko) 2020-03-10 2020-03-10 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200029694A KR102289835B1 (ko) 2020-03-10 2020-03-10 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법

Publications (1)

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

Family

ID=77314736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200029694A KR102289835B1 (ko) 2020-03-10 2020-03-10 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법

Country Status (1)

Country Link
KR (1) KR102289835B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270790A (ja) * 1996-04-01 1997-10-14 N T T Data Tsushin Kk ファイル配信方法及び通信制御装置
US20050122990A1 (en) * 2003-11-26 2005-06-09 Parys Jorgen V. Scheduling poll packets in bluetooth sniff mode
JP2010512568A (ja) * 2006-12-06 2010-04-22 フリン,デイビッド 高容量不揮発性ストレージ用のキャッシュとしてのソリッドステートストレージのための装置、システム、及び方法
KR20100082285A (ko) * 2009-01-08 2010-07-16 경북대학교 산학협력단 802.15.4 mac 및 이더넷 mac 통신 기능을 가지는 펌핑노드를 이용한 무선 센서 네트워크 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270790A (ja) * 1996-04-01 1997-10-14 N T T Data Tsushin Kk ファイル配信方法及び通信制御装置
US20050122990A1 (en) * 2003-11-26 2005-06-09 Parys Jorgen V. Scheduling poll packets in bluetooth sniff mode
JP2010512568A (ja) * 2006-12-06 2010-04-22 フリン,デイビッド 高容量不揮発性ストレージ用のキャッシュとしてのソリッドステートストレージのための装置、システム、及び方法
KR20100082285A (ko) * 2009-01-08 2010-07-16 경북대학교 산학협력단 802.15.4 mac 및 이더넷 mac 통신 기능을 가지는 펌핑노드를 이용한 무선 센서 네트워크 시스템

Similar Documents

Publication Publication Date Title
US8521986B2 (en) Allocating storage memory based on future file size or use estimates
CN107229415B (zh) 一种数据写方法、数据读方法及相关设备、系统
US8856400B1 (en) I/O performance quotas
CN102340489B (zh) 一种服务器之间的数据传输方法和服务器
CN102520877A (zh) 卸载读和写
US10498681B1 (en) Storage management for ephemeral messages
US20050144402A1 (en) Method, system, and program for managing virtual memory
CN110321225B (zh) 负载均衡方法、元数据服务器及计算机可读存储介质
CN102523290A (zh) 数据的处理方法、设备和系统
US8549274B2 (en) Distributive cache accessing device and method for accelerating to boot remote diskless computers
US10044810B2 (en) Selectively implementing reliability mechanisms based on the type of USB device that is redirected over a remote session
US7386622B2 (en) Network converter and information processing system
CN110199270B (zh) 存储系统中存储设备的管理方法及装置
CN112835511B (zh) 分布式存储集群的数据写入方法、装置、设备和介质
KR102289835B1 (ko) 블록 단위로 저장 데이터를 송수신하는 가상 스토리지 시스템 및 이의 작동 방법
US20090190607A1 (en) Method and apparatus for transmitting data and method and apparatus for performing data task
WO2020233364A1 (zh) 资源处理平台的确认方法、装置、电子设备和介质
US20100180086A1 (en) Data storage device driver
KR102289834B1 (ko) 센서 장치의 저장 공간을 이용한 가상 스토리지 시스템 및 이의 작동 방법
US10228887B2 (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
CN114020218B (zh) 混合重复数据删除调度方法及系统
CN109246232A (zh) 数据传输方法、系统及装置
WO2021147620A1 (zh) 一种基于模型训练的通信方法、装置及系统
CN117561509A (zh) 用于控制提供给服务工作方的信息的持久性、利用率和传播的代理服务
CN115220656A (zh) 数据存储方法及装置、计算机可读存储介质、电子设备

Legal Events

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