KR101971632B1 - 데이터를 분산하여 저장 및 복원하는 방법 및 장치 - Google Patents

데이터를 분산하여 저장 및 복원하는 방법 및 장치 Download PDF

Info

Publication number
KR101971632B1
KR101971632B1 KR1020180039866A KR20180039866A KR101971632B1 KR 101971632 B1 KR101971632 B1 KR 101971632B1 KR 1020180039866 A KR1020180039866 A KR 1020180039866A KR 20180039866 A KR20180039866 A KR 20180039866A KR 101971632 B1 KR101971632 B1 KR 101971632B1
Authority
KR
South Korea
Prior art keywords
data
server
specified
information
processing unit
Prior art date
Application number
KR1020180039866A
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 KR1020180039866A priority Critical patent/KR101971632B1/ko
Application granted granted Critical
Publication of KR101971632B1 publication Critical patent/KR101971632B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

데이터를 관리하기 위한 방법 및 장치가 제공된다. 장치의 데이터 중 적어도 일부는 서버에 분산하여 저장될 수 있다. 데이터를 사용하기 위해서는 서버에 분산하여 저장된 일부가 요구되며, 상기의 일부를 서버로부터 제공받기 위해서는 PIN과 같은 식별자가 요구된다. 서버에 데이터를 분산하여 저장함에 따라 사용자의 데이터가 적은 비용으로 안전하게 관리될 수 있다.

Description

데이터를 분산하여 저장 및 복원하는 방법 및 장치{METHOD AND APPARATUS FOR STORING AND RESTORING DISTRIBUTED DATA}
아래의 실시예들은 데이터를 처리하기 위한 방법 및 장치에 관한 것으로 보다 상세히는 데이터를 분산하여 저장하고, 분산 저장된 데이터를 복원하는 방법 및 장치가 개시된다.
통신 및 컴퓨터 시스템의 기술의 발전에 따라, 데이터를 단지 사용자의 로컬(local) 장치에 저장하는 것뿐만 아니라, 클라우드 서버 등의 외부의 장치에 데이터를 저장하는 방식이 널리 사용되고 있다.
외부의 장치에 데이터를 저장하는 것은 아래와 같은 이점을 가질 수 있다.
1) 외부의 장치가 사용자의 로컬 장치에 비해 더 높은 안전성을 제공할 수 있다. 예를 들면, 외부의 장치는 사용자의 직접적인 관리 없이도 데이터의 중복 저장 등을 통해 데이터를 저장하는 장치에 발생한 물리적 결함(fault)에 대한 결함 감내(fault tolerance) 등을 제공할 수 있다.
2) 외부의 장치가 사용자의 로컬 장치에 비해 더 높은 접근성을 제공할 수 있다. 스마트폰과 같은 모바일 장치가 널리 사용됨에 따라, 파일과 같은 사용자의 데이터가 다수의 장치들에 의해 접근될 수 있게 되었다. 사용자의 로컬 장치는 상시적으로 동작하지는 않을 수 있고, 또한 사용자의 로컬 장치가 동작 중이더라도 네트워크를 통해 사용자의 로컬 장치에 저장된 파일에 접근하는 것이 항상 가능하지는 않을 수 있다.
3) 외부의 장치가 사용자의 로컬 장치에 비해 더 높은 보안성을 제공할 수 있다. 사용자에 의한 방치 등의 원인으로 인해 해킹 등의 침입에 대하여 사용자의 로컬 장치는 취약점을 가질 수 있으며. 반면, 외부의 장치는 서비스 제공자에 의해 의해 취약점이 지속적이고 즉각적으로 개선된 최신의 보안 기술을 통해 보호될 수 있다.
반면, 외부의 장치에 데이터가 저장될 경우 사용자의 로컬 장치에 데이터가 저장된 것에 비해 아래와 같은 문제가 발생할 수 있다.
1) 네트워크를 통한 데이터의 독출(read) 및 기입(write)에 있어서, 더 많은 시간 및 비용이 요구될 수 있다.
2) 사용자의 로컬 장치의 네트워크가 불안정하거나 외부의 장치 또는 네트워크에 장애가 발생한 경우 사용자가 로컬 장치를 사용하는 경우에도 데이터에 대한 접근이 불가능할 수 있다.
3) 외부의 장치 또는 서비스에 대한 권한을 가진 내부자 등에게 데이터가 노출되거나, 노출의 우려가 있을 수 있다.
일 실시예는 데이터를 장치 및 서버에 분산하여 저장하는 방법을 제공할 수 있다.
일 실시예는 서버에 분산하여 저장된 데이터의 일부에 대해 사용자 또는 장치에 대한 인증을 요구함으로써 데이터를 보호하는 방법을 제공할 수 있다.
일 측면에 있어서, 장치에 의해 수행되는, 데이터 중 일부를 특정하는 단계; 및 상기 특정된 일부에 대한 정보를 서버로 전송하고, 상기 데이터 중 상기 특정된 일부를 제외한 나머지를 상기 장치에 저장하는 단계를 포함하는 데이터 관리 방법이 제공된다.
다른 일 측면에 있어서, 장치에 의해 수행되는, 서버로부터 데이터의 일부에 대한 정보를 수신하는 단계; 및 상기 일부 및 상기 장치에 저장된 상기 데이터 중 상기 일부를 제외한 나머지를 사용하여 상기 데이터를 복원하는 단계를 포함하는 데이터 관리 방법이 제공된다.
또 다른 일 측면에 있어서, 서버에 의해 수행되는, 장치로부터 데이터의 일부에 대한 정보를 수신하는 단계; 상기 정보를 저장하는 단계; 상기 장치로부터 상기 일부에 대한 정보의 요청을 수신하는 단계; 및 상기 장치로 상기 일부에 대한 정보를 전송하는 단계를 포함하는 데이터 관리 방법이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치, 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
데이터를 장치 및 서버에 분산하여 저장하는 방법이 제공된다.
서버에 분산하여 저장된 데이터의 일부에 대해 사용자 또는 장치에 대한 인증을 요구함으로써 데이터를 보호하는 방법이 제공된다.
도 1은 일 실시예에 따른 데이터 관리 시스템의 구성을 나타낸다.
도 2는 일 실시예에 따른 장치의 구성을 나타낸다.
도 3은 일 실시예에 따른 서버의 구성을 나타낸다.
도 4는 일 실시예에 따른 데이터를 분산하여 저장하기 위한 데이터 관리 방법의 흐름도이다.
도 5는 일 실시예에 따른 분산되어 저장된 데이터를 복원하기 위한 데이터 관리 방법의 흐름도이다.
도 6은 일 실시예에 따른 블록을 사용하는 데이터의 분산 저장을 나타낸다.
도 7은 일 예에 따른 일부의 특정 방법을 나타낸다.
후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
실시예에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 실시예에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않으며, 추가적인 구성이 예시적 실시예들의 실시 또는 예시적 실시예들의 기술적 사상의 범위에 포함될 수 있음을 의미한다. 어떤 구성요소(component)가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기의 2개의 구성요소들이 서로 간에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 상기의 2개의 구성요소들의 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기의 구성요소들은 상기의 용어들에 의해 한정되어서는 안 된다. 상기의 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하여 지칭하기 위해서 사용된다. 예를 들어, 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한, 실시예들에 나타나는 구성요소들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성요소가 분리된 하드웨어나 하나의 소프트웨어 구성 단위로만 이루어짐을 의미하지 않는다. 즉, 각 구성요소는 설명의 편의상 각각의 구성요소로 나열된 것이다. 예를 들면, 구성요소들 중 적어도 두 개의 구성요소들이 하나의 구성요소로 합쳐질 수 있다. 또한, 하나의 구성요소가 복수의 구성요소들로 나뉠 수 있다. 이러한 각 구성요소의 통합된 실시예 및 분리된 실시예 또한 본질에서 벗어나지 않는 한 권리범위에 포함된다.
또한, 일부의 구성요소는 본질적인 기능을 수행하는 필수적인 구성요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성요소일 수 있다. 실시예들은 실시예의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 예를 들면, 단지 성능 향상을 위해 사용되는 구성요소와 같은, 선택적 구성요소가 제외된 구조 또한 권리 범위에 포함된다.
이하에서는, 기술분야에서 통상의 지식을 가진 자가 실시예들을 용이하게 실시할 수 있도록 하기 위하여, 첨부된 도면을 참조하여 실시예들을 상세히 설명하기로 한다. 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 일 실시예에 따른 데이터 관리 시스템의 구성을 나타낸다.
시스템(100)은 장치(110) 및 서버(120)를 포함할 수 있다.
장치(110)는 장치(110)의 사용자를 위한 데이터를 관리할 수 있다. 장치(110)는 사용자가 직접적으로 사용하는 대상일 수 있다. 서버(120)는 장치(110)에게 서비스를 제공하는 주체일 수 있다.
예를 들면, 데이터는 파일 내에 저장된 데이터일 수 있다. 또는, 데이터는 인터넷 등의 네트워크를 통해 장치(110)에게 제공된 데이터일 수 있다.
예를 들면, 데이터는 사진, 스캔, 이미지, 동영상 또는 전자 문서의 데이터 등의 컴퓨터로 처리되는 정보를 나타낼 수 있으며, 사진, 스캔 이미지, 동영상 또는 전자 문서 등을 나타낼 수 있다.
장치(110)는 데이터의 일부를 특정할 수 있다. 여기에서, 특정된 일부는 전체의 데이터 중 서버(120)에 저장될 부분일 수 있다. 말하자면, 데이터는 특정을 통해 장치(110) 및 서버(120)에 분산되어 저장될 수 있다.
데이터 중 특정된 일부는 서버(120)에 저장될 수 있고, 데이터 중 특정된 일부를 제외한 나머지는 장치(110)에 저장될 수 있다.
또는, 장치(110)은 데이터 중 특정된 일부를 제외한 나머지를 필수적으로 저장할 수 있고, 데이터 중 특정된 일부에 상응하는 부분을 선택적으로 저장할 수 있다. 여기에서, 상응하는 부분은 서버(120)에 저장된 특정된 일부와 결합하여 데이터를 복원하는데 사용될 수 있다.
장치(110)는 데이터를 저장함에 있어서 데이터 중 특정된 일부를 서버(120)로 전송할 수 있고, 특정된 일부가 서버(120)에 저장되도록 할 수 있다.
장치(110)는 데이터의 사용이 요구되는 시점에 데이터 중 특정된 일부를 서버(120)로부터 수신할 수 있고, 서버(120)로부터 수신된 특정된 일부를 사용하여 전체의 데이터를 복원할 수 있다.
장치(110) 및 서버(120)는 네트워크를 통해 서로 간에 통신할 수 있다. 네트워크는 장치(110) 및 서버(120) 사이에 데이터를 전달하는 통로를 제공하는 것으로서, 기존에 이용되는 네트워크 및 향후 개발 가능한 네트워크를 모두 포괄하는 개념이다. 예를 들면, 네트워크는 인터넷 프로토콜(IP)을 통하여 대용량 데이터의 송수신 서비스 및 끊기는 현상이 없는 데이터 서비스를 제공하는 아이피망, 아이피를 기반으로 서로 다른 망을 통합한 아이피망 구조인 올 아이피(All IP)망 등일 수 있으며, 유선망, Wibro(Wireless Broadband)망, WCDMA를 포함하는 3세대 이동통신망, HSDPA(High Speed Downlink Packet Access)망 및 LTE 망을 포함하는 3.5세대 이동통신망, LTE 어드벤스드(advanced)를 포함하는 4세대 이동통신망, 위성통신망 및 와이파이(Wi-Fi)망 중에서 하나 이상을 결합하여 이루어질 수 있다.
도 2는 일 실시예에 따른 장치의 구성을 나타낸다.
도 2에서 도시된 바와 같이, 장치(110)는 처리부(210), 통신부(220), 메모리(230), 저장소(240) 및 버스(290) 중 적어도 일부를 포함할 수 있다. 처리부(210), 통신부(220), 메모리(230) 및 저장소(240) 등과 같은 장치(110)의 구성요소들은 버스(290)를 통해 서로 간에 통신할 수 있다.
처리부(210)는 메모리(230) 또는 저장소(240)에 저장된 프로세싱(processing) 명령어(instruction)들을 실행하는 반도체 장치일 수 있다. 예를 들면, 처리부(210)는 적어도 하나의 하드웨어 프로세서(processor)일 수 있다.
처리부(210)는 장치(110)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(210)는 실시예들에서 설명된 처리부(210)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.
처리부(210)는 후술될 실시예에서 설명될 정보의 생성, 저장 및 출력을 수행할 수 있으며, 기타 장치(110)에서 이루어지는 단계의 동작을 수행할 수 있다.
통신부(220)는 네트워크(299)에 연결될 수 있다. 장치(110)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 장치(110)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 통신부(220)는 네트워크(299)를 통해 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다. 예를 들면, 통신부(220)는 네트워크 칩(chip) 또는 포트(port)일 수 있다.
메모리(230) 및 저장소(240)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(230)는 롬(ROM)(231) 및 램(RAM)(232) 중 적어도 하나를 포함할 수 있다. 저장소(240)는 램, 플레시(flash) 메모리 및 하드 디스크(hard disk) 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착 가능한 저장 매체를 포함할 수 있다.
장치(110)의 기능 또는 동작은 처리부(210)가 적어도 하나의 프로그램 모듈을 실행함에 따라 수행될 수 있다. 메모리(230) 및/또는 저장소(240)는 적어도 하나의 프로그램 모듈을 저장할 수 있다. 적어도 하나의 프로그램 모듈은 처리부(210)에 의해 실행되도록 구성될 수 있다.
프로그램 모듈들은 운영 체제(Operating System), 어플리케이션 모듈, 라이브러리(library) 및 기타 프로그램 모듈의 형태로 장치(110)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 장치(110)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 실시예에 따른 특정 동작 또는 특정 테스크(task)를 수행하거나 특정 추상 데이터 타입(abstract data type)을 실행하는 루틴(routine), 서브루틴(subroutine), 프로그램(program), 오브젝트(object), 컴포넌트(component) 및 데이터 구조(data structure) 등을 포괄할 수 있고, 이러한 것들에 제한되지는 않을 수 있다.
장치(110)는 사용자 인터페이스(User Interface; UI) 입력 디바이스(250) 및 UI 출력 디바이스(260)를 더 포함할 수 있다. UI 입력 디바이스(250)는 장치(110)의 동작을 위해 요구되는 사용자의 입력을 수신할 수 있다. UI 출력 디바이스(260)는 장치(110)의 동작에 따른 정보 또는 데이터를 출력할 수 있다.
도 3은 일 실시예에 따른 서버의 구성을 나타낸다.
도 3에서 도시된 바와 같이, 서버(120)는 처리부(310), 통신부(320), 메모리(330), 저장소(340) 및 버스(390) 중 적어도 일부를 포함할 수 있다. 처리부(310), 통신부(320), 메모리(330) 및 저장소(340) 등과 같은 서버(120)의 구성요소들은 버스(390)를 통해 서로 간에 통신할 수 있다.
처리부(310)는 메모리(330) 또는 저장소(340)에 저장된 프로세싱(processing) 명령어(instruction)들을 실행하는 반도체 장치일 수 있다. 예를 들면, 처리부(310)는 적어도 하나의 하드웨어 프로세서(processor)일 수 있다.
처리부(310)는 서버(120)의 동작을 위해 요구되는 작업을 처리할 수 있다. 처리부(310)는 실시예들에서 설명된 처리부(310)의 동작 또는 단계의 코드를 실행(execute)할 수 있다.
처리부(310)는 후술될 실시예에서 설명될 정보의 생성, 저장 및 출력을 수행할 수 있으며, 기타 서버(120)에서 이루어지는 단계의 동작을 수행할 수 있다.
통신부(320)는 네트워크(399)에 연결될 수 있다. 서버(120)의 동작을 위해 요구되는 데이터 또는 정보를 수신할 수 있으며, 서버(120)의 동작을 위해 요구되는 데이터 또는 정보를 전송할 수 있다. 통신부(320)는 네트워크(399)를 통해 다른 장치로 데이터를 전송할 수 있고, 다른 장치로부터 데이터를 수신할 수 있다. 예를 들면, 통신부(320)는 네트워크 칩(chip) 또는 포트(port)일 수 있다.
메모리(330) 및 저장소(340)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리(330)는 롬(ROM)(331) 및 램(RAM)(332) 중 적어도 하나를 포함할 수 있다. 저장소(340)는 램, 플레시(flash) 메모리 및 하드 디스크(hard disk) 등과 같은 내장형의 저장 매체를 포함할 수 있고, 메모리 카드 등과 같은 탈착 가능한 저장 매체를 포함할 수 있다.
서버(120)의 기능 또는 동작은 처리부(310)가 적어도 하나의 프로그램 모듈을 실행함에 따라 수행될 수 있다. 메모리(330) 및/또는 저장소(340)는 적어도 하나의 프로그램 모듈을 저장할 수 있다. 적어도 하나의 프로그램 모듈은 처리부(310)에 의해 실행되도록 구성될 수 있다.
프로그램 모듈들은 운영 체제(Operating System), 어플리케이션 모듈, 라이브러리(library) 및 기타 프로그램 모듈의 형태로 서버(120)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 서버(120)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 실시예에 따른 특정 동작 또는 특정 테스크(task)를 수행하거나 특정 추상 데이터 타입(abstract data type)을 실행하는 루틴(routine), 서브루틴(subroutine), 프로그램(program), 오브젝트(object), 컴포넌트(component) 및 데이터 구조(data structure) 등을 포괄할 수 있고, 이러한 것들에 제한되지는 않을 수 있다.
서버(120)는 사용자 인터페이스(User Interface; UI) 입력 디바이스(350) 및 UI 출력 디바이스(360)를 더 포함할 수 있다. UI 입력 디바이스(350)는 서버(120)의 동작을 위해 요구되는 사용자의 입력을 수신할 수 있다. UI 출력 디바이스(360)는 서버(120)의 동작에 따른 정보 또는 데이터를 출력할 수 있다.
도 4는 일 실시예에 따른 데이터를 분산하여 저장하기 위한 데이터 관리 방법의 흐름도이다.
실시예의 데이터 관리 방법은 장치(110) 및/또는 서버(120)에 의해 수행될 수 있다.
단계(410)에서, 장치(110)의 처리부(210)는 초기의 데이터에 대한 암호화를 수행함으로써 암호화된 데이터를 생성할 수 있다.
초기의 데이터는 데이터가 분산 저장되기 전의 원래의 데이터일 수 있다. 예를 들면, 초기의 데이터는 장치(110)에 저장된 파일의 데이터일 수 있다.
예를 들면, 암호화는 에이이에스(AES)-256, 베이스(base)64 또는 에스에이치에이(SHA)-256의 방식의 암호화일 수 있다.
단계(410)는 선택적일 수 있다.
또한, 단계(410)가 수행된 경우, 아래에서 설명될 단계들(420, 430, 440, 450, 510, 520, 530, 540, 550, 550, 560 및 570)에서의 데이터는 초기의 데이터에 대한 암호화에 의해 생성된 암호화된 데이터일 수 있다. 이하, 암호화된 데이터는 단지 데이터로 약술될 수 있다.
단계(420)에서, 처리부(210)는 데이터 중 일부를 특정할 수 있다.
여기에서, 특정된 일부는 데이터 중 서버(120)에 저장될 부분일 수 있다.
단계들(430 및 440)에서, 장치(110)의 통신부(220)는 특정된 일부에 대한 정보를 서버(120)의 통신부(320)로 전송할 수 있고, 장치(110)의 처리부(210)는 데이터 중 특정된 일부를 제외한 나머지를 장치(110)의 저장소(240)에 저장할 수 있다.
단계(430)에서, 장치(110)의 통신부(220)는 특정된 일부에 대한 정보를 서버(120)의 통신부(320)로 전송할 수 있다. 서버(120)의 통신부(320)는 데이터의 특정된 일부에 대한 정보를 장치(110)의 통신부(220)로부터 수신할 수 있다.
특정된 일부에 대한 정보는 1) 단계(420)에서 특정된, 데이터 중 특정된 일부 및 2) 상기의 일부를 특정하기 위한 정보를 포함할 수 있다.
단계(440)에서, 장치(110)의 처리부(120)는 데이터 중 특정된 일부를 제외한 나머지를 장치(110)의 저장소(240)에 저장할 수 있다.
단계(430) 및 단계(440)의 순서는 단지 예시적인 것으로, 단계(430) 및 단계(440)의 순서는 서로 바뀔 수 있다.
단계(450)에서, 서버(120)의 처리부(310)는 특정된 일부에 대한 정보를 서버(120)의 저장소(340)에 저장할 수 있다.
또는, 서버(120)의 처리부(310)는 특정된 일부를 서버(120)의 저장소(340)에 저장할 수 있다.
단계들(410, 420, 430, 440 및 450)을 통해 장치(110) 및 서버(120)에 데이터가 암호화 및 분산되어 저장될 수 있다.
도 5는 일 실시예에 따른 분산되어 저장된 데이터를 복원하기 위한 데이터 관리 방법의 흐름도이다.
단계(510)은 도 4를 참조하여 전술된 단계(450)의 이후에 수행될 수 있다.
단계(510)에서, 장치(110)의 사용자는 데이터의 복원을 위해 장치(110)에 식별자를 입력할 수 있다. 장치(110)의 처리부(210)는 입력된 식별자를 수신할 수 있다.
식별자는 장치(110)를 위한 식별자 또는 장치(110)의 사용자를 위한 식별자일 수 있다. 장치(110)를 위한 식별자는 장치(110)를 식별할 수 있게 하는 정보일 수 있다. 사용자를 위한 식별자는 사용자를 식별할 수 있게 하는 정보일 수 있다. 예를 들면, 식별자는 사용자의 핀(Personal Identification Number; PIN)일 수 있다.
식별자는 장치(110) 또는 장치(110)의 사용자가 서버(110)에 저장된 데이터의 일부에 대한 접근(access) 권한 또는 사용 권한이 있음을 나타내는 정보일 수 있다.
여기에서, 데이터의 일부는 단계(420)에서 설명된 특정된 일부일 수 있다.
단계(520)에서, 장치(110)의 통신부(220)는 데이터의 일부에 대한 정보의 요청을 서버(120)의 통신부(320)로 전송할 수 있다. 서버(120)의 통신부(320)는 장치(110)의 통신부(220)로부터 데이터의 일부에 대한 정보의 요청을 수신할 수 있다.
데이터의 일부에 대한 정보의 요청은 단계들(430)를 통해 서버(120)에 제공되었던 데이터의 일부에 대한 정보를 요청하는 것일 수 있다.
데이터의 일부에 대한 정보의 요청은 식별자를 포함할 수 있다.
식별자는 장치(110)를 위한 식별자 또는 장치(110)의 사용자를 위한 식별자일 수 있다.
단계(530)에서, 서버(120)의 처리부(310)는 식별자를 사용하여 서버(120)에 저장된 데이터의 일부에 대한 장치(110) 또는 장치(110)의 사용자의 인증을 수행할 수 있다.
특정된 일부는, 장치(110)에 저장된, 데이터의 일부를 제외한 나머지와 결합되어 데이터를 복원하기 위해 사용될 수 있다. 즉, 서버(120)는 장치(110)가 서버(120)에 저장된 데이터의 일부 및 장치(110)에 저장된 나머지를 사용하여 데이터를 복원할 수 있도록, 장치(110)에게 데이터의 일부를 제공할 수 있다. 서버(120)는 데이터의 일부를 제공함에 있어서, 사용자 또는 장치(110)의 인증을 요구할 수 있다.
장치(110) 또는 장치(110)의 사용자의 인증이 완료되면 단계(530)가 수행될 수 있다.
단계(540)에서, 서버(120)의 처리부(310)는 서버(120)의 저장소(340)로부터 데이터의 일부에 대한 정보를 독출할 수 있다.
또는, 서버(120)의 처리부(310)는 서버(120)의 저장소(340)로부터 데이터의 일부를 독출할 수 있고, 독출된 데이터의 일부를 사용하여 데이터의 일부에 대한 정보를 생성할 수 있다.
단계(550)에서, 서버(120)의 통신부(320)는 데이터의 일부에 대한 정보를 장치(110)의 통신부(220)로 전송할 수 있다. 장치(110)의 통신부(220)는 데이터의 일부에 대한 정보를 서버(120)의 통신부(320)로부터 수신할 수 있다.
단계(560)에서, 장치(110)의 처리부(210)는 저장소(240)로부터, 장치(110)에 저장된, 데이터 중 서버(120)로부터 전송된 데이터의 일부를 제외한 나머지를 독출할 수 있다.
단계(570)에서, 장치(110)의 처리부(210)는 1) 서버(120)로부터 전송된 데이터의 일부 및 2) 전체의 데이터 중, 상기 장치(110)에 저장된, 상기의 데이터의 일부를 제외한 나머지를 사용하여 데이터를 복원할 수 있다.
단계(580)에서, 장치(110)의 처리부(210)는 복원된 데이터에 대한 복호화를 수행함으로써 복호화된 데이터를 생성할 수 있다.
단계(580)는 선택적일 수 있다. 도 4를 참조하여 전술된 단계(410)가 수행된 경우, 단계(580)가 수행될 수 있다. 단계(410)가 수행되지 않은 경우, 단계(580)도 생략될 수 있다.
또한, 단계(580)가 수행되는 경우, 전술된 단계들(510 내지 570)에서, 전체의 데이터 및 복원된 데이터는 단계(410)에서의 초기의 데이터에 대한 암호화에 의해 생성된 암호화된 데이터일 수 있다. 복호화된 데이터는 단계(410)의 초기의 데이터일 수 있다.
도 6은 일 실시예에 따른 블록을 사용하는 데이터의 분산 저장을 나타낸다.
도 6에서 도시된 것과 같이, 원본 데이터(또는, 초기 데이터)는 암호화될 수 있다. 단계(410)에서 설명된 것과 같이, 원본 데이터에 대한 암호화를 통해 암호화된 데이터가 생성될 수 있다.
이하, 암호화된 데이터는 데이터로 약술될 수 있다.
장치(110)의 처리부(210)는 데이터를 복수의 블록들로 분할할 수 있다. 또는, 데이터는 복수의 블록들로 구성될 수 있다. 복수의 블록들은 장치(110) 또는 서버(120)의 파일 시스템 또는 네트워킹에 의해 결정되는 블록들일 수 있고, 파일 시스템 또는 네트워킹에 의해 결정되는 블록들에 대응할 수 있다.
복수의 블록들의 크기들은 서로 동일할 수 있으며, 서로 상이할 수도 있다. 복수의 블록들의 크기들이 서로 상이한 경우, 복수의 블록들의 각 크기는 처리부(210)에 의해 결정된 규칙 또는 기정의된 규칙에 따라 결정될 수 있다.
도 6에서, 블록은 데이터 내의 사각형으로 표시되었다.
데이터가 복수의 블록들로 분할될 때, 단계(420)에서의 특정된 일부는 데이터를 구성하는 복수의 블록들 중 적어도 하나의 블록일 수 있다. 이하에서, 단계(420)에서의 특정된 일부의 적어도 하나의 블록을 특정된 적어도 하나의 블록으로 명명한다.
도 6에서, 특정된 적어도 하나의 블록은 사선들로 채워진 블록으로 도시되었다. 데이터의 복수의 블록들 중 특정된 적어도 하나의 블록을 제외한 나머지의 블록들은 백색으로 채워진 블록으로 도시되었다.
단계(430) 등에서 설명된 특정된 일부에 대한 정보는, 1) 특정된 일부 및 2) 일부를 특정하기 위한 정보를 포함할 수 있다.
여기에서, 1) 특정된 일부는 데이터의 특정된 일부의 값을 나타낼 수 있다. 예를 들면, 특정된 일부는 데이터의 특정된 일부의 바이트들일 수 있다.
도 6에서, 특정된 적어도 하나의 블록의 값이 "#"이 선행되는 숫자로서 예시되었다.
하나의 블록은 데이터 내에서의 위치 및 크기를 통해 특정될 수 있다. 블록을 분할함에 있어서, 처리부(210)는 블록의 크기를 결정할 수 있다. 블록의 크기는 1) 데이터의 크기, 2) 데이터의 타입, 3) 장치(110)의 성능 및 4) 장치(110) 및 서버(120) 간의 네트워크의 성능 등에 기반하여 결정될 수 있다.
2) 일부를 특정하기 위한 정보는 특정된 적어도 하나의 블록의 크기를 나타내는 정보를 포함할 수 있다. 또는, 2) 일부를 특정하기 위한 정보는 특정된 적어도 하나의 블록의 각 블록의 위치 및 크기를 포함할 수 있다. 상기의 크기는 몇 개의 블록들이 연속하여 특정된 일부로서 선택되었는가를 나타낼 수 있다. 크기의 단위는 바이트 또는 블록일 수 있다.
데이터가 복수의 블록들로 분할될 때, 복수의 블록들의 각 블록에는 인덱스(index)가 부여될 수 있다. 예를 들면, 인덱스는 0 이상의 정수 또는 1 이상의 정수일 수 있다. 인덱스는 블록의 위치에 대응하는 값일 수 있다.
각 블록에 인덱스가 부여될 때, 2) 일부를 특정하기 위한 정보는 특정된 적어도 하나의 블록의 각 블록에 대한 인덱스를 포함할 수 있다.
말하자면, 인덱스는, 2) 일부를 특정하기 위한 정보 내의 특정된 적어도 하나의 블록의 값이 데이터 중 어떤 블록의 값인가를 나타낼 수 있다. 여기에서, 2) 일부를 특정하기 위한 정보 내의 인덱스들의 개수는 일부를 특정하기 위한 정보 내의 값들의 개수와 동일할 수 있다.
단계(420)에서, 처리부(210)는 데이터의 복수의 블록들 중 기정의된 규칙 또는 랜덤으로 특정된 적어도 하나의 블록을 선택할 수 있다. 말하자면, 단계(420)에서의 특정된 일부는 데이터를 구성하는 전체의 복수의 블록들 중 기정의된 규칙 또는 랜덤으로 선택된 적어도 하나의 블록일 수 있다.
도 6에서 도시된 것과 같이, 데이터의 복수의 블록들 중 인덱스가 나타내는 특정된 적어도 하나의 블록은 서버(120)로 전송될 수 있고, 서버(120) 내에 저장될 수 있다. 또한, 복수의 블록들 중 특정된 적어도 하나의 블록을 제외한 나머지의 블록은 (서버(120)에 전송되지 않고) 장치(110) 내에 저장될 수 있다.
처리부(210)는 특정된 일부에 대한 정보를 생성함에 있어서 암호화를 적용할 수 있다. 이러한 암호화는 1) 특정된 일부 및/또는 2) 일부를 특정하기 위한 정보에 적용될 수 있다.
예를 들면, 특정된 일부에 대한 정보는 특정된 적어도 하나의 각 블록에 대하여, 상기의 각 블록의 값, 위치 및 크기를 사용하는 암호화된 값일 수 있다. 처리부(210)는 데이터 중에서 랜덤으로 추출된 블록 또는 바이트에, 상기의 블록 또는 바이트의 위치 및 크기의 정보를 결합할 수 있고, 상기의 블록 또는 바이트의 인덱스를 생성할 수 있다. 상기의 결합에 있어서, 블록, 바이트, 위치 및 크기는 상기의 결합 전에 암호화될 수 있다. 또는, 상기의 결합의 결과가 암호화될 수도 있다.
전술된 것과 같이, 인덱스는 서버(120)로 전송될 수 있다. 또한, 인덱스는 장치(110)에 의해 관리될 수도 있다. 말하자면, 인덱스의 관리의 주체는 장치(110) 및/또는 서버(120)일 수 있다. 단계(440)에서, 인덱스는 데이터 중 특정된 일부를 제외한 나머지와 함께 저장소(240)에 저장될 수 있다. 또한, 단계(560)에서, 인덱스는 데이터 중 서버(120)로부터 전송된 데이터의 일부를 제외한 나머지와 함께 독출될 수도 있다.
전술된 것과 같이, 데이터 중 특정된 일부의 값은 서버에 저장될 수 있다. 데이터 중 특정된 일부의 영역에 대해서, 장치(110)에서는 아래와 같이 처리할 수 있다.
1) 처리부(210)는 데이터 중 특정된 일부를 제외한 나머지 만을 저장할 수 있다.
예를 들면, 처리부(210)는 데이터의 전체의 블록들 중 특정된 적어도 하나의 블록을 제외한 나머지만을 저장할 수 있다. 이러한 경우, 나머지만을 저장함에 따라 서버(120)로 전송된 특정된 일부만큼 장치(110)에 저장되는 데이터의 양이 감소될 수 있다.
2) 처리부(210)는 데이터 중 특정된 일부에 대해서 특정된 값 또는 기정의된 방식으로 생성된 값을 저장할 수 있다.
예를 들면, 처리부(210)는 데이터의 전체의 블록들 중 특정된 적어도 하나의 블록의 영역에는 "0"과 같은 기정의된 값 또는 랜덤 값을 저장할 수 있다. 데이터의 크기를 조정하지 않고, 랜덤 값 등을 저장함에 따라, 외부에서는 데이터가 분산되어 저장되었음을 알 수 없게 할 수 있다.
도 7은 일 예에 따른 일부의 특정 방법을 나타낸다.
실시예의 처리의 대상인 데이터는 특정된 타입의 데이터일 수 있다. 예를 들면, 특정된 타입은 데이터를 저장하는 파일의 타입에 의해 결정될 수 있다.
처리부(210)는 데이터의 타입에 기반하여 데이터의 일부를 특정하는 방식을 선택할 수 있다. 말하자면, 처리부(210)는 데이터의 타입에 따라서 데이터의 일부를 특정하는 복수의 방식들 중 하나를 선택할 수 있다.
복수의 방식들은, 1) 랜덤으로 블록을 선택하는 방식, 2) 순차적으로 n+m, 2n+m, 3n+m, 4n+m ... 번째의 블록들을 선택하는 방식 (여기에서, n은 2 이상의 정수이고, m은 0 이상 n-1 이하의 정수임), 3) 특정된 영역에 대해서 적어도 하나의 블록을 선택하는 방식, 4) 1) 내지 3)의 방식들 중 하나를 사용하되 특정된 위치(예를 들면, 제일 앞의 블록 또는 제일 뒤의 블록)의 블록은 무조건적으로 선택하는 방식 등을 포함할 수 있다.
처리부(210)는 특정된 일부에 데이터 중 필수적인 부분을 포함시킬 수 있다. 여기에서, 필수적인 부분은 데이터의 사용에 있어서 전체가 필수적으로 요구되는 부분일 수 있다. 말하자면, 필수적인 부분은 정보가 부분적으로 손실되더라도 전체의 데이터가 사용될 수 없게 하는 부분일 수 있다. 상대적으로, 비필수적인 부분은 일부분이 결여되더라도 데이터가 적어도 부분적으로는 (완전하게) 사용될 수 있는 부분일 수 있다.
예를 들면, 필수적인 부분은 동영상 또는 이미지의 데이터의 헤더일 수 있다. 비필수적인 부분은 동영상의 하나의 프레임일 수 있다. 또는, 필수적인 부분은 엑스엠엘(XML) 문서의 스키마일 수 있다.
예를 들면, 처리부(210)는 필수적인 부분의 블록들 중 적어도 하나가 특정된 적어도 하나의 블록에 포함되도록, 적어도 하나의 블록을 특정할 수 있다.
예를 들면, 처리부(210)는 필수적인 부분의 블록들의 전부가 특정된 적어도 하나의 블록에 포함되도록, 적어도 하나의 블록을 특정할 수 있다.
또한, 필수적인 부분은 데이터 중 데이터의 실질적인 사용에 있어서 불가결한 부분 또는 데이터 중 데이터의 사용을 위해 결여되면 아니되는 부분일 수 있다.
예를 들면, 데이터가 신분증의 사진을 나타내는 경우, 필수적인 부분은 신분증 중 사진 또는 식별자에 해당하는 부분일 수 있다. 식별자는 주민등록번호, 학번, 사번 또는 운전면허번호 등일 수 있다.
예를 들면, 데이터가 영상을 나타내는 경우, 필수적인 부분은 관심 영역(Region Of Interest; ROI)일 수 있다. 영상이 자동차를 촬영한 영상일 경우 관심 영역은 자동차 내의 운전자의 영역 또는 자동차의 번호판의 영역일 수 있다.
예를 들면, 데이터가 동영상을 나타내는 경우, 필수적인 부분은 관심 영역일 수 있다. 관심 영역은 사용자들이 집중적으로 재생한 영역일 수 있다.
예를 들면, 데이터가 동영상 또는 소리를 나타내는 경우, 필수적인 부분은 사용자의 음성이 녹음된 부분 또는 사용자들 간의 대화 중 주제어가 녹음된 부분 등일 수 있다.
예를 들면, 데이터가 문서를 나타내는 경우, 필수적인 부분은 문서 중 주제, 관련자 또는 서명 등을 나타내는 부분일 수 있다.
처리부(210)는 영상 인식 기술, 인공 지능 기술 및 기정의된 방식 등을 사용하여 데이터 중 필수적인 부분을 검출할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
110: 장치
120: 서버

Claims (19)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 장치에 의해 수행되는,
    데이터 중 일부를 특정하는 단계; 및
    상기 특정된 일부에 대한 정보를 서버로 전송하고, 상기 데이터 중 상기 특정된 일부를 제외한 나머지를 상기 장치에 저장하는 단계
    를 포함하고,
    상기 특정된 일부는 상기 데이터의 필수적인 부분을 포함하고,
    상기 필수적인 부분은 상기 필수적인 부분의 정보가 부분적으로 손실되더라도 상기 데이터의 전체가 사용될 수 없게 되는 부분 또는 상기 데이터의 사용에 있어서 불가결한 부분이고,
    상기 필수적인 부분은 신분증 중 사진 또는 식별자에 해당하는 부분인 데이터 관리 방법.
  8. 장치에 의해 수행되는,
    데이터 중 일부를 특정하는 단계; 및
    상기 특정된 일부에 대한 정보를 서버로 전송하고, 상기 데이터 중 상기 특정된 일부를 제외한 나머지를 상기 장치에 저장하는 단계
    를 포함하고,
    상기 특정된 일부는 상기 데이터의 필수적인 부분을 포함하고,
    상기 필수적인 부분은 상기 필수적인 부분의 정보가 부분적으로 손실되더라도 상기 데이터의 전체가 사용될 수 없게 되는 부분 또는 상기 데이터의 사용에 있어서 불가결한 부분이고,
    상기 데이터는 영상을 나타내고,
    상기 필수적인 부분은 관심 영역(Region Of Interest; ROI)인 데이터 관리 방법.
  9. 장치에 의해 수행되는,
    데이터 중 일부를 특정하는 단계; 및
    상기 특정된 일부에 대한 정보를 서버로 전송하고, 상기 데이터 중 상기 특정된 일부를 제외한 나머지를 상기 장치에 저장하는 단계
    를 포함하고,
    상기 특정된 일부는 상기 데이터의 필수적인 부분을 포함하고,
    상기 필수적인 부분은 상기 필수적인 부분의 정보가 부분적으로 손실되더라도 상기 데이터의 전체가 사용될 수 없게 되는 부분 또는 상기 데이터의 사용에 있어서 불가결한 부분이고,
    상기 데이터는 동영상 또는 소리를 나타내고,
    상기 필수적인 부분은 사용자의 음성이 녹음된 부분 또는 사용자들 간의 대화 중 주제어가 녹음된 부분인 데이터 관리 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
KR1020180039866A 2018-04-05 2018-04-05 데이터를 분산하여 저장 및 복원하는 방법 및 장치 KR101971632B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180039866A KR101971632B1 (ko) 2018-04-05 2018-04-05 데이터를 분산하여 저장 및 복원하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180039866A KR101971632B1 (ko) 2018-04-05 2018-04-05 데이터를 분산하여 저장 및 복원하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101971632B1 true KR101971632B1 (ko) 2019-04-23

Family

ID=66285297

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180039866A KR101971632B1 (ko) 2018-04-05 2018-04-05 데이터를 분산하여 저장 및 복원하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101971632B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071344A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Dynamic generation of XML schema for backend driven data validation
KR20130022613A (ko) * 2011-08-25 2013-03-07 주식회사 팬택 클라우드 컴퓨팅에서의 콘텐츠 보안 장치 및 방법
JP2016186782A (ja) * 2014-06-27 2016-10-27 パナソニックIpマネジメント株式会社 データ処理方法及びデータ処理装置
KR101687287B1 (ko) * 2014-08-18 2017-01-02 남기원 개인 데이터 관리 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071344A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corporation Dynamic generation of XML schema for backend driven data validation
KR20130022613A (ko) * 2011-08-25 2013-03-07 주식회사 팬택 클라우드 컴퓨팅에서의 콘텐츠 보안 장치 및 방법
JP2016186782A (ja) * 2014-06-27 2016-10-27 パナソニックIpマネジメント株式会社 データ処理方法及びデータ処理装置
KR101687287B1 (ko) * 2014-08-18 2017-01-02 남기원 개인 데이터 관리 시스템 및 그 방법

Similar Documents

Publication Publication Date Title
US20210344506A1 (en) Trusted startup methods and apparatuses of blockchain integrated station
CN102170440B (zh) 适用于存储云间数据安全迁移的方法
US20150012748A1 (en) Method And System For Protecting Data
WO2019236470A1 (en) Blockchain-embedded secure digital camera system to verify audiovisual authenticity
CN112003888B (zh) 基于区块链的证件照管理方法、装置、设备及可读介质
US20120030671A1 (en) Information transmission device, network system, and information transmission method
CN114868359B (zh) 多区块链间轻量通讯协定装置及方法
US20210232662A1 (en) Methods to protect stakeholders' algorithms and information in untrusted environments
FR3029665A1 (fr) Procede mis en œuvre dans un document d'identite et document d'identite associe
US9137219B1 (en) Methods and systems for securely managing multimedia data captured by mobile computing devices
WO2014078104A1 (en) Method and system for secure access to data files copied onto a second storage device from a first storage device
US11658822B1 (en) Dynamic cross origin resource control
CN115956243A (zh) 模型保护装置及方法、计算装置
US20210035018A1 (en) Apparatus for verifying integrity of AI learning data and method therefor
EP3025247B1 (en) Data view based on context
CN111198784A (zh) 一种数据存储的方法及装置
KR101971632B1 (ko) 데이터를 분산하여 저장 및 복원하는 방법 및 장치
CN109815715B (zh) 一种数据加密方法和相关装置
CN115834584B (zh) 跨网数据传输方法、装置、设备及介质
CN108563396B (zh) 一种安全的云端对象存储方法
CN116860699A (zh) 文件管理方法、系统、计算机设备及计算机可读存储介质
CN115118486B (zh) 物联网系统、基于区块链获取数据的方法和装置、存储介质以及计算设备
CN107832021B (zh) 一种电子证据固定方法、终端设备及存储介质
KR20190135780A (ko) 단말장치 및 컴퓨터프로그램
CN115129275A (zh) 一种数字文件打印方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
GRNT Written decision to grant