KR102558330B1 - 데이터 분산 저장 방법 및 장치 - Google Patents
데이터 분산 저장 방법 및 장치 Download PDFInfo
- Publication number
- KR102558330B1 KR102558330B1 KR1020220057091A KR20220057091A KR102558330B1 KR 102558330 B1 KR102558330 B1 KR 102558330B1 KR 1020220057091 A KR1020220057091 A KR 1020220057091A KR 20220057091 A KR20220057091 A KR 20220057091A KR 102558330 B1 KR102558330 B1 KR 102558330B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- edge node
- policy
- edge
- copy
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1076—Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols 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 Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Environmental & Geological Engineering (AREA)
Abstract
본 발명은 엔드 디바이스 및 센트럴 클라우드와 통신하는 하나 이상의 엣지 노드를 포함하는 데이터 분산 저장 장치에서 데이터를 분산 저장하는 방법으로서, 엔드 디바이스로부터 데이터를 복수의 엣지 노드들 중 제 1 엣지 노드에서 수신하는 단계, 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하는 단계, 및 제 1 엣지 노드에서 데이터 태그가 부여된 데이터를 센트럴 클라우드로 전송하는 단계를 포함하며, 데이터의 특성은 데이터의 보안 등급, 데이터의 요청 빈도 및 데이터 가용성 확보 정책을 포함하고, 데이터 태그는 센트럴 클라우드에서 데이터 분산 정책에 따라 복수의 엣지 노드들에서 데이터를 분산 저장할 제 2 엣지 노드를 선택하는데 이용되고, 데이터 분산 정책에 의해 복제된 데이터 사본은 제 2 엣지 노드로 전송된다.
Description
본 발명은 데이터를 분산하여 저장하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 데이터를 복제하여 분산 저장하는 방법 및 장치에 관한 것이다.
엣지 클라우드(edge cloud)는 4차 산업혁명의 핵심 기반 요소로 부각되고 있는 데이터의 다양한 활용이 증가함에 따라 활용되는 기술로써 엣지 컴퓨팅 기술을 활용하여 단말에게 정보 서비스를 제공하는 기술을 의미한다.
다만, 엣지 클라우드 간 데이터를 요청할 경우 중앙 처리 서버인 센트럴 클라우드(central cloud)에서 처리하게 되는데, 엣지 클라우드 간 데이터 요청이 다수 발생할 경우 센트럴 클라우드에서 병목 현상(bottleneck)이 발생하게 된다. 이는 기존 클라우드 환경과 동일한 문제이며, 이와 같은 병목 현상으로 인해 데이터 요청에 대한 응답 시간이 증가하고, 실시간으로 데이터 처리가 어려운 문제가 있다.
또한, 엣지 클라우드 환경에서는 데이터의 중요도에 따른 관리가 어려운 문제가 있다. 뿐만 아니라, 엣지 클라우드 환경에서는 데이터 훼손을 목표로 하는 공격(예를 들어, 랜섬웨어 등)에 취약하다.
이에 대한 문제를 해결하고자 엣지 노드 간 전체 데이터를 백업할 경우 자원이 제한된 엣지 노드에 제한이 될 수 있다. 또한, 센트럴 클라우드의 백업 데이터가 손상될 경우 복구할 방법이 없다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 엣지 클라우드에서 발생할 수 있는 데이터 가용성 문제를 해결하는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 센트럴 클라우드에서 발생할 수 있는 병목 현상 문제를 해결하는 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 데이터 분산 저장 방법은, 엔드 디바이스(end device) 및 센트럴 클라우드(central cloud)와 통신하는 하나 이상의 엣지 노드(edge node)를 포함하는 데이터 분산 저장 장치에서 데이터를 분산 저장하는 방법으로서, 엔드 디바이스로부터 데이터를 제 1 엣지 노드에서 수신하는 단계; 상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하는 단계; 제 1 엣지 노드에서 상기 데이터 태그가 부여된 데이터를 센트럴 클라우드로 전송하는 단계; 및 하나 이상의 엣지 노드에서 상기 센트럴 클라우드로부터 결정된 데이터 분산 정책에 의해 복제된 데이터 사본을 수신하여 저장하는 단계를 포함할 수 있다.
여기서, 상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하는 단계는, 데이터의 특성인 데이터의 보안 등급, 데이터의 요청 빈도 및 데이터 가용성 확보 정책 중 적어도 하나를 고려하여 데이터 태그를 부여하는 단계를 포함할 수 있다.
한편, 상기 데이터 가용성 확보 정책은, 데이터가 저장되는 엣지 노드와 데이터를 요청하는 엔드 디바이스의 지리적 위치를 고려하는 정책, 또는 엣지 노드 네트워크의 상태를 고려하는 정책을 포함할 수 있다.
또한, 상기 데이터 분산 정책은, 상기 센트럴 클라우드에서 엣지 노드의 저장 공간, 활성화 상태 및 데이터 처리 속도를 고려하고, 상기 데이터 태그를 고려하여 데이터 사본이 저장될 하나 이상의 엣지 노드를 선택하는 정책을 포함할 수 있다.
여기서, 상기 데이터 분산 정책은, 상기 센트럴 클라우드에서 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 및 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 중 상기 데이터 사본에 즉시 접근 가능한 엣지 노드를 선택하는 정책을 포함할 수 있다.
한편, 상기 하나 이상의 엣지 노드에서 상기 센트럴 클라우드로부터 결정된 데이터 분산 정책에 의해 복제된 데이터 사본을 수신하여 저장하는 단계는, 상기 하나 이상의 엣지 노드가 네트워크로 연결되어 있으면 센트럴 클라우드로부터 결정된 데이터 분산 정책을 제 1 엣지 노드에서 수신하는 단계; 상기 제 1 엣지 노드에서 데이터 사본을 복제하는 단계; 상기 제 1 엣지 노드에서 복제된 데이터 사본을 하나 이상의 엣지 노드로 전송하는 단계; 및 상기 하나 이상의 엣지 노드에서 상기 제 1 엣지 노드에서 복제된 데이터 사본을 저장하는 단계를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 데이터 분산 저장 장치는, 엔드 디바이스 및 센트럴 클라우드와 통신하는 하나 이상의 엣지 노드를 포함하는 데이터 분산 저장 장치로서, 프로세서; 및 상기 프로세서를 통해 실현되는 적어도 하나의 명령을 저장하는 메모리를 포함하고, 상기 적어도 하나의 명령은, 엔드 디바이스로부터 데이터를 제 1 엣지 노드에서 수신하도록 하는 명령; 상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하도록 하는 명령; 제 1 엣지 노드에서 상기 데이터 태그가 부여된 데이터를 센트럴 클라우드로 전송하도록 하는 명령; 및 하나 이상의 엣지 노드에서 상기 센트럴 클라우드로부터 결정된 데이터 분산 정책에 의해 복제된 데이터 사본을 수신하여 저장하도록 하는 명령을 포함할 수 있다.
여기서, 상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하도록 하는 명령은, 데이터의 특성인 데이터의 보안 등급, 데이터의 요청 빈도 및 데이터 가용성 확보 정책 중 적어도 하나를 고려하여 데이터 태그를 부여하도록 하는 명령을 포함할 수 있다.
한편, 상기 데이터 가용성 확보 정책은, 데이터가 저장되는 엣지 노드와 데이터를 요청하는 엔드 디바이스의 지리적 위치를 고려하는 정책, 또는 엣지 노드 네트워크의 상태를 고려하는 정책을 포함할 수 있다.
또한, 상기 데이터 분산 정책은, 상기 센트럴 클라우드에서 엣지 노드의 저장 공간, 활성화 상태 및 데이터 처리 속도를 고려하고, 상기 데이터 태그를 고려하여 데이터 사본이 저장될 하나 이상의 엣지 노드를 선택하는 정책을 포함할 수 있다.
여기서, 상기 데이터 분산 정책은, 상기 센트럴 클라우드에서 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 및 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 중 상기 데이터 사본에 즉시 접근 가능한 엣지 노드를 선택하는 정책을 포함할 수 있다.
한편, 상기 하나 이상의 엣지 노드에서 상기 센트럴 클라우드로부터 결정된 데이터 분산 정책에 의해 복제된 데이터 사본을 수신하여 저장하도록 하는 명령은, 상기 하나 이상의 엣지 노드가 네트워크로 연결되어 있으면 센트럴 클라우드로부터 결정된 데이터 분산 정책을 제 1 엣지 노드에서 수신하도록 하는 명령; 상기 제 1 엣지 노드에서 데이터 사본을 복제하도록 하는 명령; 상기 제 1 엣지 노드에서 복제된 데이터 사본을 하나 이상의 엣지 노드로 전송하도록 하는 명령; 및 상기 하나 이상의 엣지 노드에서 상기 제 1 엣지 노드에서 복제된 데이터 사본을 저장하도록 하는 명령을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 동일한 데이터를 복수 개의 엣지 클라우드로 복제하여 운영하는 장점을 가진다.
본 발명의 다른 실시예에 따르면, 효율적인 데이터 분산 저장 정책을 통해 엣지 노드 상태를 고려한 데이터 분산 저장이 가능한 장점을 가진다.
본 발명의 또 다른 실시예에 따르면, 보안도가 높은 데이터의 무분별한 데이터 복제를 방지하여 데이터의 보안 등급에 따라 효율적인 관리가 가능한 장점을 가진다.
도 1는 통상적인 엣지 클라우드를 설명하기 위한 제 1 예시도이다.
도 2는 통상적인 엣지 클라우드를 설명하기 위한 제 2 예시도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 분산 저장 방법의 동작 순서도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 제 1 예시도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 제 2 예시도이다.
도 6은 엣지 노드에서 데이터를 분산 저장하는 방법의 예시도이다.
도 7은 센트럴 클라우드에서 데이터를 분산 저장하는 방법의 예시도이다.
도 8은 데이터 태그를 설명하기 위한 예시도이다.
도 9는 데이터의 특성 중 데이터의 보안 등급을 나타낸 표이다.
도 10은 데이터의 특성 중 데이터의 요청 빈도를 나타낸 표이다.
도 11은 데이터의 특성 중 데이터 가용성 확보 정책을 나타낸 표이다.
도 12는 데이터 가용성 확보 정책을 설명하기 위한 예시도이다.
도 13은 엣지 노드의 상태를 설명하기 위한 표이다.
도 14는 엣지 노드의 손상이 있을 경우 데이터를 분산 저장하는 방법을 설명하기 위한 제 1 예시도이다.
도 15는 엣지 노드의 손상이 있을 경우 데이터를 분산 저장하는 방법을 설명하기 위한 제 2예시도이다.
도 16은 본 발명의 일 실시예에 따른 데이터 분산 저장 장치의 블록 구성도이다.
도 2는 통상적인 엣지 클라우드를 설명하기 위한 제 2 예시도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 분산 저장 방법의 동작 순서도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 제 1 예시도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 제 2 예시도이다.
도 6은 엣지 노드에서 데이터를 분산 저장하는 방법의 예시도이다.
도 7은 센트럴 클라우드에서 데이터를 분산 저장하는 방법의 예시도이다.
도 8은 데이터 태그를 설명하기 위한 예시도이다.
도 9는 데이터의 특성 중 데이터의 보안 등급을 나타낸 표이다.
도 10은 데이터의 특성 중 데이터의 요청 빈도를 나타낸 표이다.
도 11은 데이터의 특성 중 데이터 가용성 확보 정책을 나타낸 표이다.
도 12는 데이터 가용성 확보 정책을 설명하기 위한 예시도이다.
도 13은 엣지 노드의 상태를 설명하기 위한 표이다.
도 14는 엣지 노드의 손상이 있을 경우 데이터를 분산 저장하는 방법을 설명하기 위한 제 1 예시도이다.
도 15는 엣지 노드의 손상이 있을 경우 데이터를 분산 저장하는 방법을 설명하기 위한 제 2예시도이다.
도 16은 본 발명의 일 실시예에 따른 데이터 분산 저장 장치의 블록 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1는 통상적인 엣지 클라우드를 설명하기 위한 제 1 예시도이고, 도 2는 통상적인 엣지 클라우드를 설명하기 위한 제 2 예시도이다.
도 1 및 도 2를 참조하면, 전술한 바와 같이 엣지 클라우드 간 데이터를 요청할 경우 중앙 처리 서버인 센트럴 클라우드(central cloud)에서 처리하게 되는데, 엣지 클라우드 간 데이터 요청이 다수 발생할 경우 센트럴 클라우드에서 병목 현상(bottleneck)이 발생하는 것을 알 수 있다.
이는 기존 클라우드 환경에서 발생 가능한 문제이며, 병목 현상으로 인해 데이터 요청에 대한 응답 시간이 증가하고, 실시간으로 데이터 처리가 어려운 문제가 있다.
한편, 최근 엣지 노드를 통해 센트럴 클라우드에서의 병목 현상 문제를 해결을 시도하였으나 엣지 노드의 경우 데이터의 중요도에 따른 관리가 어렵고, 데이터 훼손을 목표로 한 공격(예를 들어, 랜섬웨어 등)에 취약한 문제가 있다.
도 3은 본 발명의 일 실시예에 따른 데이터 분산 저장 방법의 동작 순서도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 데이터 분산 저장 방법은, 엔드 디바이스(end device) 및 센트럴 클라우드(central cloud)와 통신하는 하나 이상의 엣지 노드(edge node)를 포함하는 데이터 분산 저장 장치에서 데이터를 분산 저장하는 방법으로서, 엔드 디바이스로부터 데이터를 제 1 엣지 노드에서 수신하는 단계(S110)를 포함할 수 있다.
또한, 본 발명은 상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하는 단계(S120)를 포함할 수 있다.
여기서, 상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하는 단계는, 데이터의 특성인 데이터의 보안 등급, 데이터의 요청 빈도 및 데이터 가용성 확보 정책 중 적어도 하나를 고려하여 데이터 태그를 부여하는 단계를 포함할 수 있다.
한편, 상기 데이터 가용성 확보 정책은, 데이터가 저장되는 엣지 노드와 데이터를 요청하는 엔드 디바이스의 지리적 위치를 고려하는 정책, 또는 엣지 노드 네트워크의 상태를 고려하는 정책을 포함할 수 있다.
한편, 상기 데이터 분산 정책은, 상기 센트럴 클라우드에서 엣지 노드의 저장 공간, 활성화 상태 및 데이터 처리 속도를 고려하고, 상기 데이터 태그를 고려하여 데이터 사본이 저장될 하나 이상의 엣지 노드를 선택하는 정책을 포함할 수 있다.
또한, 상기 데이터 분산 정책은, 상기 센트럴 클라우드에서 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 및 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 중 상기 데이터 사본에 즉시 접근 가능한 엣지 노드를 선택하는 정책을 포함할 수 있다.
또한, 본 발명은 제 1 엣지 노드에서 상기 데이터 태그가 부여된 데이터를 센트럴 클라우드로 전송하는 단계(S130)를 포함할 수 있다.
*한편, 본 발명은 하나 이상의 엣지 노드에서 상기 센트럴 클라우드로부터 결정된 데이터 분산 정책에 의해 복제된 데이터 사본을 수신하여 저장하는 단계(S140)를 포함할 수 있다.
여기서, 상기 하나 이상의 엣지 노드에서 상기 센트럴 클라우드로부터 결정된 데이터 분산 정책에 의해 복제된 데이터 사본을 수신하여 저장하는 단계는, 상기 하나 이상의 엣지 노드가 네트워크로 연결되어 있으면 센트럴 클라우드로부터 결정된 데이터 분산 정책을 제 1 엣지 노드에서 수신하는 단계; 상기 제 1 엣지 노드에서 데이터 사본을 복제하는 단계; 상기 제 1 엣지 노드에서 복제된 데이터 사본을 하나 이상의 엣지 노드로 전송하는 단계; 및 상기 하나 이상의 엣지 노드에서 상기 제 1 엣지 노드에서 복제된 데이터 사본을 저장하는 단계를 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 제 1 예시도이고, 도 5는 본 발명의 일 실시예에 따른 데이터 분산 저장 방법을 설명하기 위한 제 2 예시도이다.
도 4 및 도 5를 참조하면, 본 발명은 동일한 데이터를 복수 개의 엣지 클라우드로 복제하여 운영할 수 있고, 데이터 속성 및 엣지 노드 상태에 따라 효율적인 데이터 분산 정책을 결정할 수 있고, 데이터의 보안 등급에 따라 데이터 복제를 제한할 수 있다.
예를 들어, 본 발명은 가용성 유지 기준으로서, 데이터 사본을 저장할 하나 이상의 엣지 노드(available copy)를 선택하고, 데이터 사본을 저장할 하나 이상의 엣지 노드 중 데이터 사본에 즉시 접근 가능한 엣지 노드(enable copy)를 선택하여 동일한 데이터를 복수 개의 엣지 클라우드 복제함으로써 운영할 수 있다.
한편, 본 발명은 엣지 노드의 물리적 거리를 고려하여 데이터 가용성 확보 정책을 결정하는 지리적 위치 기반 서비스(Location Based Service; LBS) 또는 엣지 노드 간 네트워크 상태를 고려하여 데이터 가용성 확보 정책을 결정함으로써 효율적인 데이터 분산 정책을 결정할 수 있다.
도 6은 엣지 노드에서 데이터를 분산 저장하는 방법의 예시도이고, 도 7은 센트럴 클라우드에서 데이터를 분산 저장하는 방법의 예시도이다.
도 6 및 도 7을 참조하면, 본 발명은 데이터를 분산 저장하는 방법으로서, 엣지 노드가 직접 데이터를 분산 저장하는 방법 및 센트럴 클라우드에서 데이터를 분산 저장하는 방법을 사용하는 것을 알 수 있다.
엣지 노드가 직접 데이터를 분산 저장하는 경우는, 엣지 노드 간 네트워크가 형성된 경우이다. 이 때, 엣지 노드는 센트럴 클라우드로부터 데이터 분산 정책을 수신하여 주변 엣지 노드에 데이터를 분산하여 저장할 수 있다. 한편 데이터를 수신한 엣지 노드는 센트럴 클라우드에 데이터 수신 결과를 송신할 수 있다. 엣지 노드가 직접 데이터를 분산 저장할 경우 센트럴 클라우드의 데이터 처리 부담을 줄일 수 있다.
또한, 센트럴 클라우드에서 데이터를 분산 저장하는 경우는, 엣지 노드 간 네트워크가 형성되어 있지 않거나, 엣지 노드 간 데이터 전송이 어려운 경우이다. 이 때, 센트럴 클라우드는 데이터 분산 정책에 따라 엣지 노드에 데이터를 분산하여 저장할 수 있다.
한편, 데이터 분산 정책은, 상기 센트럴 클라우드에서 엣지 노드의 저장 공간, 활성화 상태 및 데이터 처리 속도를 고려하고, 상기 데이터 태그를 고려하여 데이터 사본이 저장될 하나 이상의 엣지 노드를 선택하는 정책을 포함할 수 있다.
또한, 데이터 분산 정책은, 상기 센트럴 클라우드에서 상기 데이터 사본을 저장할 하나 이상의 엣지 노드(available copy) 및 상기 데이터 사본을 저장할 하나 이상의 엣지 노드(available copy) 중 상기 데이터 사본에 즉시 접근 가능한 엣지 노드(enable copy)를 선택하는 정책을 포함할 수 있다.
도 8은 데이터 태그를 설명하기 위한 예시도이고, 도 9는 데이터의 특성 중 데이터의 보안 등급을 나타낸 표이고, 도 10은 데이터의 특성 중 데이터의 요청 빈도를 나타낸 표이고, 도 11은 데이터의 특성 중 데이터 가용성 확보 정책을 나타낸 표이다.
본 발명은 데이터의 특성에 따라 엣지 노드에서 데이터 태그를 부여할 수 있다. 여기서, 데이터의 특성은 데이터의 보안 등급(security level), 데이터의 요청 빈도(frequency) 및 데이터 가용성 확보 정책(availability policy)를 포함할 수 있다.
한편, 도 9를 참조하면, 데이터의 보안 등급은 총 4등급으로 분류될 수 있고, 본 발명은 가장 낮은 보안 등급을 갖는 데이터에 데이터 태그 S1을 부여할 수 있고, 가장 높은 보안 등급을 갖는 데이터에 데이터 태그 S4를 부여할 수 있다. 한편, 본 발명은 보안 등급이 높을수록 데이터의 무분별한 복제를 방지하도록 설정될 수 있다. 또한, 보안 등급은 예시를 위해 4개의 등급으로 분류하였지만 이에 한정되지 않는다.
또한, 도 10을 참조하면, 데이터의 요청 빈도는 총 4등급으로 분류될 수 있고, 본 발명은 가장 적게 요청된 데이터에 데이터 태그 F1을 부여할 수 있고, 가장 많게 요청된 데이터에 데이터 태그 F4를 부여할 수 있다. 이 때, 데이터 요청 빈도는 이전 데이터의 통계에 기반하여 결정될 수 있고, 데이터의 요청 빈도가 많을수록 데이터의 사본을 저장할 하나 이상의 엣지 노드 중 데이터 사본에 즉시 접근 가능한 엣지 노드에 더 많이 저장될 수 있다. 또한, 데이터 요청 빈도는 예시를 위해 4개의 등급으로 분류하였지만 이에 한정되지 않는다.
한편, 도 11을 참조하면, 가용성 확보 정책은 데이터가 저장되는 엣지 노드와 데이터를 요청하는 엔드 디바이스의 지리적 위치를 고려하는 정책 및 엣지 노드 네트워크의 상태를 고려하는 정책을 포함할 수 있다.
지리적 위치를 고려한 가용성 확보 정책은, 전술한 바와 같이 엣지 노드와 엔드 디바이스의 지리적 위치를 고려하여, 지리적 위치에 민감한 서비스인 경우 데이터 사본이 저장될 엣지 노드와 데이터를 요청하는 엔드 디바이스의 지리적 위치를 일치시키기 위해 데이터 태그를 부여하는 정책을 의미할 수 있다. 한편, 지리적 위치를 고려한 데이터 가용성 확보 정책은 로컬 다이나믹 맵(Local Dynamic Map; LDM)과 같은 위치 기반 서비스(LBS)에 적용될 수 있다.
한편, 엣지 노드 네트워크의 상태를 고려하는 정책은, 엣지 노드 간 효율적인 데이터 분산을 지원하기 위한 정책으로서, 엣지 노드 네트워크의 지연 속도(latency), 구조 등을 고려할 수 있다.
도 12는 데이터 가용성 확보 정책을 설명하기 위한 예시도이다.
도 12를 참조하면, 데이터를 요청하는 서비스 요청자는 동일한 지리적 위치에 있는 엣지 노드로부터 데이터를 수신할 수 있고, 동일한 지리적 위치에 있는 엣지 노드에 관련 데이터가 없으면, 다른 엣지 노드로부터 이를 수신하여야 함을 알 수 있다.
예를 들어, 양천구의 데이터가 구로구 및 동작구에서 자주 사용되는 경우, 구로구 및 동작구에 위치한 엣지 노드에 양천구의 데이터가 없으면, 다른 엣지 노드(예를 들어, 양천구)로부터 관련 데이터를 수신하여야 한다.
다만, 본 발명의 데이터 가용성 확보 정책을 활용하여 데이터를 분산 저장할 경우, 양천구의 데이터가 구로구 및 동작구에 분산되어 저장됨으로써 데이터 사본이 저장될 하나 이상의 엣지 노드(구로구 및 동작구)와 엔드 디바이스(구로구 및 동작구에서 데이터를 요청하는 서비스 요청자)의 지리적 위치가 일치하게 되므로, 구로구 및 동작구의 엣지 노드에서 즉각적인 데이터 처리가 가능하다.
도 13은 엣지 노드의 상태를 설명하기 위한 표이다.
한편, 센트럴 클라우드는 엣지 노드의 상태를 고려하는 정책을 포함하는 데이터 분산 정책을 결정할 수 있다. 이 때, 엣지 노드의 상태를 고려하는 데이터 분산 정책은, 센트럴 클라우드에서 엣지 노드의 상태로서, 엣지 노드의 저장 공간, 활성화 상태 및 데이터 처리 속도를 고려하여 데이터 사본이 저장될 하나 이상의 엣지 노드를 선택하는 정책을 포함할 수 있다.
예를 들어, 도 13을 참조하면, 엣지 노드의 상태는 엣지 노드의 가용 여부(enable/disable), 엣지 노드의 데이터 저장 현황 및 엣지 노드의 데이터 요청 현황을 포함할 수 있다.
엣지 노드의 가용 여부는, 엣지 노드의 현재 가용 상태로서 데이터를 수신할 수 있는 상태인 활성화(active) 상태나 데이터를 수신할 수 없는 상태인 비활성화(inactive)로 표시될 수 있다.
또한, 엣지 노드의 데이터 저장 현황은, 센트럴 클라우드에서 각 엣지 노드의 데이터 저장 현황을 모니터링하고, 엣지 노드가 저장하고 있는 데이터의 수를 데이터 요청 빈도에 따라 분류하고, 전체 데이터 저장 현황과 비교한 것으로써 표시될 수 있다.
한편, 엣지 노드의 데이터 요청 현황은, 센트럴 클라우드에서 각 엣지 노드 별 데이터 요청 처리 현황을 모니터링하고, 엣지 노드가 초당 처리하는 데이터의 개수를 데이터를 처리하는 속도로써 표시될 수 있다.
도 14는 엣지 노드의 손상이 있을 경우 데이터를 분산 저장하는 방법을 설명하기 위한 제 1 예시도이고, 도 15는 엣지 노드의 손상이 있을 경우 데이터를 분산 저장하는 방법을 설명하기 위한 제 2예시도이다.
전술한 바와 같이 센트럴 클라우드는 엣지 노드를 모니터링하면서, 엣지 노드의 상태가 활성화(active)에서 비활성화(inactive)로 바뀐 것을 확인할 수 있다. 이 때, 도 14 및 도 15를 참조하여 엣지 노드의 손상이 오래 지속되는 경우와 일시적인 경우로 나누어 살펴보면, 엣지 노드의 손상이 오래 지속되는 경우, 센트럴 클라우드는 이전 데이터 분산 정책을 확인하여 손상된 엣지 노드의 데이터 사본이 저장된 엣지 노드 중 즉시 접근 가능한 엣지 노드의 목록(enable copy list)을 확인하고, 데이터 사본이 저장된 엣지 노드(available copy)의 상태를 즉시 접근 가능한 엣지 노드(enable copy)의 상태로 변경할 것을 요청할 수 있다.
이어서, 센트럴 클라우드는 데이터 분산 정책을 재결정하여 새로운 엣지 노드에 손상된 엣지 노드의 데이터 사본을 저장할 것을 요청할 수 있고, 손상된 엣지 노드에 해당 데이터를 삭제할 것을 요청할 수 있다.
한편, 엣지 노드의 손상이 일시적일 경우, 센트럴 클라우드는 손상된 엣지 노드의 데이터 사본이 저장된 엣지 노드 중에서 임의로 엣지 노드를 선택하여 데이터 사본이 저장된 엣지 노드(available copy)의 상태를 즉시 접근 가능한 엣지 노드(enable copy)의 상태로 변경할 것을 요청할 수 있다.
도 16은 본 발명의 일 실시예에 따른 데이터 분산 저장 장치의 블록 구성도이다.
도 16을 참조하면, 본 발명의 일 실시예에 따른 데이터 분산 저장 장치(100)는 프로세서(110) 및 프로세서를 통해 실행되는 적어도 하나의 명령 및 명령 수행의 결과를 저장하는 메모리(120) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(130)를 포함할 수 있다.
데이터 분산 저장 장치(100)는 또한, 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 데이터 분산 저장 장치(100)에 포함된 각각의 구성 요소들은 버스(Bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(110)는 메모리(120) 및 저장 장치(160) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
저장 장치(160)는, 센트럴 클라우드에서 결정한 데이터 분산 정책을 데이터 별로 분류하여 저장할 수 있고, 각 엣지 노드가 포함하는 데이터를 데이터의 특성에 따라 부여된 태그에 기반하여 분류하여 저장할 수 있다.
여기서, 적어도 하나의 명령은, 엔드 디바이스로부터 데이터를 제 1 엣지 노드에서 수신하도록 하는 명령; 상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하도록 하는 명령; 제 1 엣지 노드에서 상기 데이터 태그가 부여된 데이터를 센트럴 클라우드로 전송하도록 하는 명령; 및 하나 이상의 엣지 노드에서 상기 센트럴 클라우드로부터 결정된 데이터 분산 정책에 의해 복제된 데이터 사본을 수신하여 저장하도록 하는 명령을 포함할 수 있다.
여기서, 상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하도록 하는 명령은, 데이터의 특성인 데이터의 보안 등급, 데이터의 요청 빈도 및 데이터 가용성 확보 정책 중 적어도 하나를 고려하여 데이터 태그를 부여하도록 하는 명령을 포함할 수 있다.
한편, 상기 하나 이상의 엣지 노드에서 상기 센트럴 클라우드로부터 결정된 데이터 분산 정책에 의해 복제된 데이터 사본을 수신하여 저장하도록 하는 명령은, 상기 하나 이상의 엣지 노드가 네트워크로 연결되어 있으면 센트럴 클라우드로부터 결정된 데이터 분산 정책을 제 1 엣지 노드에서 수신하도록 하는 명령; 상기 제 1 엣지 노드에서 데이터 사본을 복제하도록 하는 명령; 상기 제 1 엣지 노드에서 복제된 데이터 사본을 하나 이상의 엣지 노드로 전송하도록 하는 명령; 및 상기 하나 이상의 엣지 노드에서 상기 제 1 엣지 노드에서 복제된 데이터 사본을 저장하도록 하는 명령을 포함할 수 있다.
본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 정보가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다.
실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그래머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.
이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (13)
- 엔드 디바이스(end device) 및 센트럴 클라우드(central cloud)와 통신하는 복수의 엣지 노드들(edge nodes)을 포함하는 데이터 분산 저장 장치에서 데이터를 분산 저장하는 방법으로서,
엔드 디바이스로부터 데이터를 복수의 엣지 노드들 중 제 1 엣지 노드에서 수신하는 단계;
상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하는 단계-상기 데이터의 특성은 데이터의 보안 등급, 데이터의 요청 빈도 및 데이터 가용성 확보 정책을 포함함-; 및
제 1 엣지 노드에서 상기 데이터 태그가 부여된 데이터를 센트럴 클라우드로 전송하는 단계를 포함하며,
상기 데이터 태그는, 상기 센트럴 클라우드에서 데이터 분산 정책에 따라 상기 복수의 엣지 노드들에서 상기 데이터를 분산 저장할 제 2 엣지 노드를 선택하는데 이용되고,
상기 데이터 분산 정책에 의해 복제된 데이터 사본은 상기 제 2 엣지 노드로 전송되는, 데이터 분산 저장 방법. - 청구항 1에 있어서,
상기 데이터 가용성 확보 정책은,
상기 데이터 사본이 저장되는 상기 제 2 엣지 노드와 상기 데이터를 요청하는 엔드 디바이스의 지리적 위치를 고려하는 정책, 또는
상기 제 1 엣지 노드와 상기 제 2 엣지 노드 간 네트워크의 연결 상태를 고려하는 정책을 포함하는, 데이터 분산 저장 방법. - 청구항 1에 있어서,
상기 데이터 분산 정책은,
상기 센트럴 클라우드에서 엣지 노드의 저장 공간, 활성화 상태 및 데이터 처리 속도를 고려하는 정책을 포함하는, 데이터 분산 저장 방법. - 청구항 1에 있어서,
상기 데이터 분산 정책은,
상기 센트럴 클라우드에서 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 및 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 중 상기 데이터 사본에 즉시 접근 가능한 엣지 노드를 선택하는 정책을 포함하는, 데이터 분산 저장 방법. - 청구항 1에 있어서,
상기 제 1 엣지 노드에서 센트럴 클라우드로부터 데이터 분산 정책을 수신하는 단계;
상기 데이터 분산 정책에 따라 상기 제 1 엣지 노드에서 데이터 사본을 복제하는 단계; 및
상기 제 1 엣지 노드에서 복제된 데이터 사본을 상기 제 2 엣지 노드로 전송하는 단계를 더 포함하는, 데이터 분산 저장 방법. - 엔드 디바이스 및 센트럴 클라우드와 통신하는 복수의 엣지 노드들을 포함하는 데이터 분산 저장 장치로서,
프로세서; 및
상기 프로세서를 통해 실현되는 적어도 하나의 명령을 저장하는 메모리를 포함하고,
상기 적어도 하나의 명령은,
엔드 디바이스로부터 데이터를 상기 복수의 엣지 노드들 중 제 1 엣지 노드에서 수신하도록 하는 명령;
상기 수신된 데이터의 특성에 따라 제 1 엣지 노드에서 데이터 태그를 부여하도록 하는 명령-상기 데이터의 특성은 데이터의 보안 등급, 데이터의 요청 빈도 및 데이터 가용성 확보 정책을 포함함-; 및
제 1 엣지 노드에서 상기 데이터 태그가 부여된 데이터를 센트럴 클라우드로 전송하도록 하는 명령을 포함하며,
상기 데이터 태그는, 상기 센트럴 클라우드에서 데이터 분산 정책에 따라 상기 복수의 엣지 노드들에서 상기 데이터를 분산 저장할 제 2 엣지 노드를 선택하는데 이용되고,
상기 데이터 분산 정책에 의해 복제된 데이터 사본은 상기 제 2 엣지 노드로 전송되는, 데이터 분산 저장 장치. - 청구항 6에 있어서,
상기 데이터 가용성 확보 정책은,
상기 데이터 사본이 저장되는 상기 제 2 엣지 노드와 상기 데이터 사본을 요청하는 엔드 디바이스의 지리적 위치를 고려하는 정책, 또는
상기 제 1 엣지 노드와 상기 제 2 엣지 노드 간 네트워크의 연결 상태를 고려하는 정책을 포함하는, 데이터 분산 저장 장치. - 청구항 6에 있어서,
상기 데이터 분산 정책은,
상기 센트럴 클라우드에서 엣지 노드의 저장 공간, 활성화 상태 및 데이터 처리 속도를 고려하는 정책을 포함하는, 데이터 분산 저장 장치. - 청구항 6에 있어서,
상기 데이터 분산 정책은,
상기 센트럴 클라우드에서 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 및 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 중 상기 데이터 사본에 즉시 접근 가능한 엣지 노드를 선택하는 정책을 포함하는, 데이터 분산 저장 장치. - 청구항 6에 있어서,
상기 제 1 엣지 노드에서센트럴 클라우드로부터 데이터 분산 정책을 수신하도록 하는 명령;
상기 데이터 분산 정책에 따라 상기 제 1 엣지 노드에서 데이터 사본을 복제하도록 하는 명령; 및
상기 제 1 엣지 노드에서 복제된 데이터 사본을 상기 제 2 엣지 노드로 전송하도록 하는 명령을 포함하는, 데이터 분산 저장 장치. - 복수의 엣지 노드들(edge nodes)과 연결되는 센트럴 클라우드(central cloud)에 포함된 데이터 분산 저장 장치에서 데이터를 분산 저장하는 방법으로서,
엔드 디바이스(end device)로부터 수신되는 데이터의 특성에 따라 데이터 태그가 부여된 데이터를 상기 복수의 엣지 노드들 중 제 1 엣지 노드로부터 수신하는 단계-상기 데이터 특성은 데이터의 보안 등급, 데이터의 요청 빈도 및 데이터 가용성 확보 정책을 포함함-;
상기 데이터 태그와 데이터 분산 정책에 따라 상기 하나 이상의 엣지 노드에서 상기 데이터를 분산 저장할 제 2 엣지 노드를 선택하는 단계; 및
상기 데이터 분산 정책에 의해 복제된 데이터 사본이 상기 제2 엣지 노드로 전송되도록 하는 단계를 포함하는, 데이터 분산 저장 방법. - 청구항 11에 있어서,
상기 데이터 분산 정책은, 엣지 노드의 저장 공간, 활성화 상태 및 데이터 처리 속도를 고려하여 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 및 상기 데이터 사본을 저장할 하나 이상의 엣지 노드 중 상기 데이터 사본에 즉시 접근 가능한 엣지 노드를 선택하는 정책을 포함하는, 데이터 분산 저장 방법. - 청구항 11에 있어서,
상기 데이터 가용성 확보 정책은,
상기 데이터 사본이 저장되는 상기 제 2 엣지 노드와 상기 데이터 사본을 요청하는 엔드 디바이스의 지리적 위치를 고려하는 정책, 또는
상기 제 1 엣지 노드와 상기 제 2 엣지 노드 간 네트워크의 연결 상태를 고려하는 정책을 포함하고,
상기 네트워크의 연결 상태를 고려하는 정책은, 상기 데이터 분산 정책을 상기 제 1 엣지 노드로 전송하는 것을 포함하는, 데이터 분산 저장 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220057091A KR102558330B1 (ko) | 2020-10-30 | 2022-05-10 | 데이터 분산 저장 방법 및 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200143083A KR102398076B1 (ko) | 2020-10-30 | 2020-10-30 | 데이터 분산 저장 방법 및 장치 |
KR1020220057091A KR102558330B1 (ko) | 2020-10-30 | 2022-05-10 | 데이터 분산 저장 방법 및 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200143083A Division KR102398076B1 (ko) | 2020-10-30 | 2020-10-30 | 데이터 분산 저장 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220075272A KR20220075272A (ko) | 2022-06-08 |
KR102558330B1 true KR102558330B1 (ko) | 2023-07-21 |
Family
ID=73597787
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200143083A KR102398076B1 (ko) | 2020-10-30 | 2020-10-30 | 데이터 분산 저장 방법 및 장치 |
KR1020220057091A KR102558330B1 (ko) | 2020-10-30 | 2022-05-10 | 데이터 분산 저장 방법 및 장치 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200143083A KR102398076B1 (ko) | 2020-10-30 | 2020-10-30 | 데이터 분산 저장 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11922059B2 (ko) |
EP (1) | EP3993346B1 (ko) |
JP (1) | JP7101231B2 (ko) |
KR (2) | KR102398076B1 (ko) |
CN (1) | CN114442912B (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102398076B1 (ko) * | 2020-10-30 | 2022-05-13 | 펜타시큐리티시스템 주식회사 | 데이터 분산 저장 방법 및 장치 |
CN115079935A (zh) * | 2021-03-15 | 2022-09-20 | 伊姆西Ip控股有限责任公司 | 用于存储和查询数据的方法、电子设备和计算机程序产品 |
US12052176B2 (en) * | 2021-10-06 | 2024-07-30 | Cisco Technology, Inc. | Policy-based failure handling for edge services |
KR102459417B1 (ko) * | 2022-06-03 | 2022-10-27 | (주)캐시스 | 엣지 컴퓨터 백업 방법 및 그에 따른 시스템 |
CN118245887B (zh) * | 2024-05-27 | 2024-08-23 | 深圳市今古科技有限公司 | 一种云基础设施下的分布式金融数据管理方法及系统 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060293767A1 (en) * | 2005-06-28 | 2006-12-28 | Eischeid Todd M | Policy based automation rule selection control system |
US20080147821A1 (en) | 2006-12-19 | 2008-06-19 | Dietrich Bradley W | Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes |
US8560639B2 (en) * | 2009-04-24 | 2013-10-15 | Microsoft Corporation | Dynamic placement of replica data |
US8352611B2 (en) * | 2010-06-29 | 2013-01-08 | International Business Machines Corporation | Allocating computer resources in a cloud environment |
US8627025B2 (en) * | 2010-12-21 | 2014-01-07 | Microsoft Corporation | Protecting data during different connectivity states |
US9674079B1 (en) * | 2012-03-14 | 2017-06-06 | Cisco Technology, Inc. | Distribution layer redundancy scheme for coupling geographically dispersed sites |
JP6382819B2 (ja) | 2013-08-21 | 2018-08-29 | 株式会社東芝 | データベースシステム、ノード、管理装置、プログラムおよびデータ処理方法 |
JP6122126B2 (ja) | 2013-08-27 | 2017-04-26 | 株式会社東芝 | データベースシステム、プログラムおよびデータ処理方法 |
US9442803B2 (en) * | 2014-06-24 | 2016-09-13 | International Business Machines Corporation | Method and system of distributed backup for computer devices in a network |
KR102366778B1 (ko) * | 2015-10-07 | 2022-02-24 | 한국전자통신연구원 | 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법 |
US10223147B2 (en) * | 2016-08-19 | 2019-03-05 | International Business Machines Corporation | Resource allocation in high availability (HA) systems |
KR102172169B1 (ko) * | 2017-05-11 | 2020-10-30 | 에스케이텔레콤 주식회사 | 분산형 클라우드 기반 어플리케이션 실행 시스템, 이에 적용되는 장치 및 장치의 동작 방법 |
DE112017008102T5 (de) * | 2017-09-30 | 2020-07-09 | Intel Corporation | Technologien zum verwalten von beschleunigerressourcen durch einen cloud-ressourcenmanager |
KR20190083091A (ko) * | 2018-01-03 | 2019-07-11 | 주식회사 케이티 | 분산 자원 할당 방법 및 그 장치 |
US10841164B2 (en) * | 2018-02-09 | 2020-11-17 | Cisco Technology, Inc. | Online generation and updates of IoT mud policies |
US10742557B1 (en) * | 2018-06-29 | 2020-08-11 | Juniper Networks, Inc. | Extending scalable policy management to supporting network devices |
WO2020158016A1 (ja) | 2019-01-29 | 2020-08-06 | 日本電信電話株式会社 | バックアップシステム及びその方法並びにプログラム |
US10873639B2 (en) * | 2019-04-04 | 2020-12-22 | Cisco Technology, Inc. | Cooperative caching for fast and scalable policy sharing in cloud environments |
CN110601992B (zh) * | 2019-09-20 | 2022-08-30 | 南方电网科学研究院有限责任公司 | 一种基于边缘计算的智能量测终端的数据处理方法及装置 |
CN112685170B (zh) * | 2019-10-18 | 2023-12-08 | 伊姆西Ip控股有限责任公司 | 备份策略的动态优化 |
CN111339192A (zh) * | 2020-02-21 | 2020-06-26 | 深圳供电局有限公司 | 一种分布式边缘计算数据存储系统 |
US20210011649A1 (en) * | 2020-09-25 | 2021-01-14 | Intel Corporation | Apparatus, systems, articles of manufacture, and methods for data lifecycle management in an edge environment |
KR102398076B1 (ko) * | 2020-10-30 | 2022-05-13 | 펜타시큐리티시스템 주식회사 | 데이터 분산 저장 방법 및 장치 |
-
2020
- 2020-10-30 KR KR1020200143083A patent/KR102398076B1/ko active IP Right Grant
- 2020-11-24 EP EP20209529.5A patent/EP3993346B1/en active Active
- 2020-11-25 US US17/104,531 patent/US11922059B2/en active Active
- 2020-11-25 JP JP2020195458A patent/JP7101231B2/ja active Active
- 2020-12-08 CN CN202011422920.4A patent/CN114442912B/zh active Active
-
2022
- 2022-05-10 KR KR1020220057091A patent/KR102558330B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
JP2022073833A (ja) | 2022-05-17 |
KR20220057936A (ko) | 2022-05-09 |
KR20220075272A (ko) | 2022-06-08 |
EP3993346B1 (en) | 2023-12-27 |
US11922059B2 (en) | 2024-03-05 |
KR102398076B1 (ko) | 2022-05-13 |
JP7101231B2 (ja) | 2022-07-14 |
CN114442912A (zh) | 2022-05-06 |
EP3993346A1 (en) | 2022-05-04 |
US20220137876A1 (en) | 2022-05-05 |
CN114442912B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102558330B1 (ko) | 데이터 분산 저장 방법 및 장치 | |
US9971823B2 (en) | Dynamic replica failure detection and healing | |
CN108399101B (zh) | 资源调度的方法、装置和系统 | |
US8385551B2 (en) | Highly available cryptographic key storage (HACKS) | |
US9405574B2 (en) | System and method for transmitting complex structures based on a shared memory queue | |
US8930313B2 (en) | System and method for managing replication in an object storage system | |
US10462250B2 (en) | Distributed caching cluster client configuration | |
US7444395B2 (en) | Method and apparatus for event handling in an enterprise | |
US9965515B2 (en) | Method and device for cache management | |
US8397293B2 (en) | Suspicious node detection and recovery in mapreduce computing | |
US8375200B2 (en) | Embedded device and file change notification method of the embedded device | |
US6968382B2 (en) | Activating a volume group without a quorum of disks in the volume group being active | |
CN117407159A (zh) | 内存空间的管理方法及装置、设备、存储介质 | |
US20220385596A1 (en) | Protecting integration between resources of different services using service-generated dependency tags | |
US10678453B2 (en) | Method and device for checking false sharing in data block deletion using a mapping pointer and weight bits | |
KR102561341B1 (ko) | 엣지 클라우드 환경에서의 데이터 추적 장치 및 방법 | |
CN110839085A (zh) | 指令管理方法、装置、电子设备及存储介质 | |
US11687269B2 (en) | Determining data copy resources | |
CN107395745A (zh) | 一种分布式存储系统数据分散存储实现方法 | |
US11797447B2 (en) | Efficient caching and data access to a remote data lake in a large scale data processing environment | |
KR102044870B1 (ko) | Url 맵을 이용하여 도메인을 관리하는 장치 및 방법 | |
CN116781779A (zh) | 数据处理方法、装置及电子设备 | |
US9734017B2 (en) | Methods for dynamically determining and readjusting failover targets and devices thereof | |
CN116540934A (zh) | 一种数据存储方法及装置 | |
CN117938461A (zh) | 一种K8s系统权限管理方法、设备以及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |