KR102118970B1 - 클라우드 스토리지에 기반한 파일 저장 방법 및 그를 위한 장치 - Google Patents
클라우드 스토리지에 기반한 파일 저장 방법 및 그를 위한 장치 Download PDFInfo
- Publication number
- KR102118970B1 KR102118970B1 KR1020180103793A KR20180103793A KR102118970B1 KR 102118970 B1 KR102118970 B1 KR 102118970B1 KR 1020180103793 A KR1020180103793 A KR 1020180103793A KR 20180103793 A KR20180103793 A KR 20180103793A KR 102118970 B1 KR102118970 B1 KR 102118970B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- fragments
- generated
- randomly
- present
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 일실시예에 따른 파일 저장 방법은, 파일 내용을 분할하여 복수 개의 파일 조각을 생성하는 단계, 상기 생성된 복수 개의 파일 조각들을 임의 조각화하는 단계 및 임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지들에 저장하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
Description
본 발명은, 파일 저장에 관한 것으로, 보다 상세하게는 분할된 파일을 미리 정의된 방법에 따라 임의 조각화하고 임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지에 분산 저장하는 방법 및 이를 위한 장치에 관한 것이다.
네트워크 기술이 발전함에 따라, 데스크탑, 노트북 또는 USB와 같은 휴대용 기기에 저장되던 데이터는 인터넷 상의 클라우드 스토리지에 저장되고, 사용자는 필요할 때마다, 자신의 계정을 이용하여 언제 어디서든 클라우드 스토리지로부터 데이터를 다운로드 할 수 있다.
다만, 이러한 클라우드 스토리지의 효용성에도 불구하고 내부자들 등에 의한 데이터 침해 사고가 증가하여 클라우드 서비스 자체에 대한 신뢰도가 부족한 것이 현실이다.
이는 파일을 중앙 저장소에 파일 단위로 일괄 저장하여 악의적인 사용자가 유출하려는 파일을 식별 가능하고 시스템 내부에서 파일에 직접 접근이 가능하기 때문이다.
이를 해소하고자 종래에는 접근 제어 즉, 파일 접근 요청 시에 권한을 검사하였으나 이는 내부에서 시스템이나 하드 디스크에 직접 접근하면 우회 가능하여 문제가 되었다. 또한, 중앙 저장소에 저장되는 파일을 모두 암호화하는 방식 역시, 암호화 방식의 취약점이 존재하여 기술 발전에 따라 강제 복호화 가능하고 성능 저하 유발 가능성이 있어 문제가 되었다.
따라서, 데이터 유출을 원천적으로 차단할 수 있는 클라우드 스토리지 시스템이 요구되고 있다.
참고할 만한 선행문헌은 공개특허공보 제10-2016-0113071호(2016. 09. 28. 공개)가 있다.
참고할 만한 선행문헌은 공개특허공보 제10-2016-0113071호(2016. 09. 28. 공개)가 있다.
상기와 같은 요구에 따라 본 발명의 일 과제는, 데이터 유출을 원천 차단하기 위해 분산 스토리지 시스템을 제공하여 고가용성, 확장성, 무결성 등을 보장하고자 한다.
본 발명의 다른 과제는, 파일 내용을 분할한 파일 조각들을 임의 조각화하고 클라우드 스토리지에 분산 저장함으로써 해킹 등 위험에 따른 데이터 보안을 강화하는 다양한 실시예를 제공하고자 한다.
본 발명에서 이루고자 하는 기술적 과제들은 상기 기술적 과제로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상술한 문제점을 해결하기 위한 본 발명의 일실시예에 따른 파일 저장 방법은, 파일 내용을 분할하여 복수 개의 파일 조각을 생성하는 단계; 상기 생성된 복수 개의 파일 조각들을 임의 조각화하는 단계; 및 임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지들에 저장하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 생성되는 복수 개의 파일 조각들은, 상기 파일 내용을 순차 분할하여 생성한 순차 파일 조각들인 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 임의 조각화하는 단계는, 생성된 복수 개의 파일 조각들의 순서를 임의로 섞는 것으로, 각 면이 9개의 블록을 포함한 6개의 면을 가진 루빅 큐브 방식에 따라 이루어지는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 임의 조각화하는 단계는, i) 상기 분할되는 조각의 개수와 독립적으로 최대한 일정한 시간 복잡도를 유지, ii) 적은 횟수로 빠르게 상기 분할되는 조각들의 순서를 섞을 수 있을 것, iii) 상기 분할되는 조각들의 순서로 일정하게 섞일 것, 중 적어도 하나 이상의 조건에 따라 이루어지는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 임의 조각화하는 단계는, a) 상기 생성된 파일 조각들을 상기 루빅 큐브의 각 면으로 분할하여 각 면에 배치하는 단계; b) 상기 배치된 각 파일 조각에 대한 파일 해시값을 이용하여 파일키를 생성하는 단계; c) 상기 생성된 파일키를 이용하여 상기 임의 조각화를 위한 적어도 하나의 명령어를 생성하는 단계; 및 d) 상기 생성된 명령어를 순차 적용하여 각 블록의 위치를 변경하는 단계;를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 a) 내지 d)의 단계들 중 적어도 하나 이상의 단계를 미리 정의한 횟수만큼 재귀적으로 반복하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 디바이스는, 파일 내용을 분할하여 복수 개의 파일 조각을 생성하고, 상기 생성된 복수 개의 파일 조각들을 임의 조각화하는 제어부; 및 임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지들에 저장 요청 신호를 전송하는 데이터 통신부;를 포함하는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 제어부는, 상기 파일 내용을 순차 분할하여 생성한 순차 파일 조각들을 상기 생성되는 복수 개의 파일 조각들로 생성하도록 제어하는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 제어부는, 각 면이 9개의 블록들을 포함한 6개의 면을 가진 루빅 큐브 방식에 따라 생성된 복수 개의 파일 조각들의 순서를 임의로 섞어 상기 임의 조각화하는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 제어부는, i) 상기 분할되는 조각의 개수와 독립적으로 최대한 일정한 시간 복잡도를 유지, ii) 적은 횟수로 빠르게 상기 분할되는 조각들의 순서를 섞을 수 있을 것, iii) 상기 분할되는 조각들의 순서로 일정하게 섞일 것, 중 적어도 하나 이상의 조건에 따라 상기 임의 조각화를 수행하는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 제어부는, a) 상기 생성된 파일 조각들을 상기 루빅 큐브의 각 면으로 분할하여 각 면에 배치; b) 상기 배치된 각 파일 조각에 대한 파일 해시값을 이용하여 파일키를 생성; c) 상기 생성된 파일키를 이용하여 상기 임의 조각화를 위한 적어도 하나의 명령어를 생성; 및 d) 상기 생성된 명령어를 순차 적용하여 각 블록의 위치를 변경하여, 상기 임의 조각화를 수행하는 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 상기 a) 내지 d) 중 적어도 하나 이상을 미리 정의한 횟수만큼 재귀적으로 반복하는 것을 특징으로 한다.
본 발명의 일실시예에 따른 파일 저장 시스템은, 파일 내용을 분할하여 복수 개의 파일 조각을 생성하고, 상기 생성된 복수 개의 파일 조각들을 임의 조각화하는 제어부와, 임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지들에 저장 요청 신호를 전송하는 데이터 통신부를 포함하는 디바이스; 및 상기 임의 조각화된 파일 조각들을 저장하는 하나 또는 그 이상의 클라우드 스토리지들;을 포함하는 것을 특징으로 한다.
상기와 같은 본 발명에 따르면 아래에 기재된 효과를 얻을 수 있다. 다만, 본 발명을 통해 얻을 수 있는 효과는 이에 제한되지 않는다.
첫째, 본 발명에 따르면, 데이터 유출을 원천 차단하기 위해 분산 스토리지 시스템을 제공하여 고가용성, 확장성, 무결성 등을 보장할 수 있는 효과가 있다.
둘째, 본 발명에 따르면, 파일 내용을 분할한 파일 조각들을 임의 조각화하고 클라우드 스토리지에 분산 저장함으로써 해킹 등 위험에 따른 데이터 보안을 강화하는 다양한 실시예를 제공할 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 클라우드 저장 서비스 시스템(100)에서 파일 저장 방법을 설명하기 위해 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 클라우드 스토리지에 파일 저장 방법을 설명하기 위해 도시한 순서도이다.
도 3은 본 발명의 일실시예에 따른 임의 조각화 방법을 설명하기 위해 도시한 순서도이다.
도 4는 본 발명의 일실시예에 따른 조각 저장 위치 계산 방법을 설명하기 위해 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 클라우드 스토리지를 설명하기 위해 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 스토리지 기반 응용 서비스 개발 프레임 워크를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 지원 표준 프로토콜 및 구현 방안을 도시한 도면이다.
도 8은 본 발명의 일실시예에 따라 파일 임의 조각화에 이용되는 알고리즘 예시를 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 디바이스 또는 프로세서의 구성 블록도이다.
도 2는 본 발명의 일실시예에 따른 클라우드 스토리지에 파일 저장 방법을 설명하기 위해 도시한 순서도이다.
도 3은 본 발명의 일실시예에 따른 임의 조각화 방법을 설명하기 위해 도시한 순서도이다.
도 4는 본 발명의 일실시예에 따른 조각 저장 위치 계산 방법을 설명하기 위해 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 클라우드 스토리지를 설명하기 위해 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 스토리지 기반 응용 서비스 개발 프레임 워크를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 지원 표준 프로토콜 및 구현 방안을 도시한 도면이다.
도 8은 본 발명의 일실시예에 따라 파일 임의 조각화에 이용되는 알고리즘 예시를 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 디바이스 또는 프로세서의 구성 블록도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다.
단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전히 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
몇몇의 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "?부" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 나아가, "일(a 또는 an)", "하나(one)", 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
아울러, 본 발명의 실시예들에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
본 명세서에서는 본 발명에 따라 하나의 파일/오브젝트(file/object)을 분할한 후 분할된 파일 조각들을 미리 정의된 방식에 기초하여 임의 조각화하고, 임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지(Cloud storage)에 분산 저장함으로써 해킹 등 위험에 따른 데이터 보안을 강화하는 다양한 실시예들에 대해 기술한다.
이하 본 명세서에서, “클라우드 스토리지”라 함은, 파일을 저장하는 장치를 말하며, 하나 또는 그 이상의 저장 장치로 구현될 수 있다.
이러한 클라우드 스토리지는 사용자들에게 파일 저장 서비스를 제공하는 서비스 프로바이더(service provider)에 의해 운용될 수 있으며, 파일 저장 공간은 무료 또는 유료로 서비스될 수 있다. 한편, 상기 클라우드 스토리지는 본 발명에 따라 임의 조각화된 파일 조각들을 네트워크를 통해 디바이스(device)로부터 수신하여 저장하거나 반대로 상기 디바이스로 파일 조각들을 전송하여 합성한 후 재생 가능하도록 서비스할 수 있다. 상기에서, 편의상 클라우드 스토리지는 저장한 파일 조각들을 그대로 디바이스로 전송하여 상기 디바이스에서 합성되어 재생되는 것으로 설명하나, 실시예에 따라서는 재생을 위하여 상기 저장된 파일 조각들을 합성한 후 바로 재생 가능한 형태의 파일 등으로 상기 디바이스에 제공할 수도 있다. 다시 말해, 본 명세서에서 기술되는 임의 조각화는 디바이스 또는 클라우드 스토리지 내지 클라우드 스토리지와 관련된 다른 구성에서 수행될 수 있다.
이하 본 명세서에서는 도면과 관련된 부분을 위주로 설명하되, 일부 구성에 대해서는 공지된 기술을 준용하며 따라서 그에 관한 별도의 상세 설명은 생략한다.
한편, 본 명세서에서 임의 조각화되는 파일/오브젝트는 편의상 디바이스에 저장된 것을 예로 하여 설명한다. 또한, 상기 디바이스는 파일을 일시 저장하거나 재생 가능한 모든 장치를 포함할 수 있다.
도 1은 본 발명의 일실시예에 따른 클라우드 저장 서비스 시스템(100)에서 파일 저장 방법을 설명하기 위해 도시한 도면이다.
도 1을 참조하면, 하나의 파일(110)은 파일 조각 1(120-1), 파일 조각 2(120-2), ?, 파일 조각 n(120-n)과 같이 다수 개의 파일 조각들로 분할 가능하다.
이렇게 분할된 파일 조각들은 클라우드 스토리지(130)에 저장될 수 있다. 이때, 상기 각 분할된 파일 조각은 하나 또는 그 이상의 클라우드 스토리지에 분산 저장될 수 있다.
실시 예에 따라, 분할된 파일 조각 1(120-1)은 클라우드 스토리지 1(130-1)에, 분할된 파일 조각 2(120-2)는 클라우드 스토리지 2(130-2)에 각각 저장될 수 있다. 이러한 방식으로, 분할된 파일 조각 n(120-n)은 클라우드 스토리지 m(130-m)에 저장될 수 있다.
상기에서, 'n'과 'm'은 모두 양의 정수이며, 같은 값일 수도 있고 그렇지 않을 수도 있다. 관련하여, 상기 분할되는 파일 조각들의 수는 상기 m을 기준으로 결정(n)될 수 있으나, 반드시 이에 한정되는 것은 아니다. 예컨대, 상기 n이 m을 초과하는 경우에는 초과 부분은 후술하는 바와 같이, 적절히 분배되어 이미 파일 조각을 분산 저장한 어떤 클라우드 스토리지에 저장될 것이다. 한편, 반대로, n이 m 미만인 경우에는 분산 저장될 적어도 하나의 파일 조각이 서로 다른 클라우드 스토리지에 중복하여 저장되도록 제어할 수도 있다. 또는, 상기 n에 해당하는 파일 조각들을 각각 클라우드 스토리지에 저장하고, 상기 파일 조각들 중 중요 파일 조각(들)은 기 파일 조각을 저장하지 않은 클라우드 스토리지에 별도 중복하여 저장할 수도 있다.
실시예에 따라, 분할된 파일 조각들 중 일부(예컨대, 적어도 둘 이상)는 클라우드 스토리지 1(130-1)에, 나머지는 클라우드 스토리지 m(130-m)에 저장될 수 있다.
다만, 이는 본 발명의 이해를 돕기 위한 실시예로서, 본 발명의 권리범위는 이에 의해 제한되지 않는다.
도 2는 본 발명의 일실시예에 따른 클라우드 스토리지에 파일 저장 방법을 설명하기 위해 도시한 순서도이다.
도 2를 참조하여 클라우드 스토리지에 파일 저장 방법을 설명하면, 다음과 같다.
본 명세서에서 파일은 파일 내용에 관한 컨텐츠(contents)와 파일 식별을 위한 메타데이터(metadata)로 구성될 수 있다. 상기에서 컨텐츠라 함은 파일의 내용 자체를 나타내고, 메타데이터라 함은 파일의 이름, 크기, 생성일, 수정일 등을 나타낼 수 있다. 다만, 반드시 이에 한정되는 것은 아니다.
먼저, 디바이스는, 파일 내용을 분할(S201)하여 복수 개의 파일 조각들을 생성한다(S203). 여기서, 상기 생성되는 파일 조각들은 순서대로 조각으로 분할될 수 있다.
상기 디바이스는, 상기 생성된 복수 개의 파일 조각들을 임의 조각화(S205)하여, 임의 조각화된 파일 조각들을 생성한다(S206).
상기 디바이스는, 상기 임의 조각화된 파일 조각들을 클라우드 스토리지에 저장 요청한다(S207).
상기에서 디바이스는, 파일 메타데이터로부터 해시 값을 계산하고(S202), 이렇게 계산된 해시 값으로부터 파일키를 생성한다(S204).
이렇게 생성된 파일키는 상기 임의 조각화에 참조된다.
한편, 상기 S201 내지 S204 단계는 설명의 편의를 위해 단계를 표시하였을 뿐 반드시 그 순서에 따르지 않을 수도 있다.
한편, 본 명세서에서 기술되는 "임의 조각화"라 함은, 복수 개의 파일 조각들의 순서(order)를 임의로 섞는 것을 나타낸다.
상기 파일 조각들을 섞기 위하여, 본 발명에서는 도 8의 (a) 내지 (e) 중 적어도 하나의 방식을 이용할 수 있다.
본 명세서에서는 본 발명의 이해를 돕고 설명의 편의를 위하여, 도 6의 (a)의 루빅 큐브 방식을 예로 하여 이하 설명한다. 이는 루빅 큐브를 활용하는 경우, 적은 횟수로 전체 조각을 효과적으로 섞을 수 있어 빠른 연산이 가능하고, 면과 블록을 증가시켜 무한히 증가하는 경우의 수를 제공할 수 있어 유연성을 제공하고, 아무리 경우의 수가 무한하더라도 해결된 상태는 한 가지 즉, 시스템에 오류가 발생하거나 알고리즘에 결함이 있어도 정상적으로 파일 복원이 가능하여 높은 안정성을 제공하고, 면과 블록들의 크기를 조절하여 난이도 조절이 가능 즉, 시스템의 성능이나 요구되는 보안성에 따라 난이도 조절이 가능하고, 다양한 형태의 알고리즘 개발이 가능하다. 상기의 경우의 수와 관련하여, 해법으로 기공지된 LBL(Layer by Layer), 코너스 퍼스트(Corners First), 프리드리히(CFOP), 슐츠, 패트러스, 루 등 해법을 참조할 수 있다.
상기 루빅 큐브는, 각 면이 9개의 블록들(blocks)을 포함한 6개의 면들을 가지는 것을 일실시예로 하나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 상기 루빅 큐브는, 각 면이 9개를 초과하거나 미만일 수도 있고, 6개의 면이 아닐 수도 있다.
한편, 본 발명과 관련하여, 상기 임의 조각화는, i) 분할되는 조각의 개수와 독립적으로 최대한 일정한 시간 복잡도를 유지, ii) 적은 횟수로 빠르게 상기 분할되는 조각들의 순서를 섞을 수 있을 것, iii) 상기 분할되는 조각들의 순서로 일정하게 섞일 것, 중 적어도 하나 이상의 조건에 따라 이루어질 수 있다.
도 3은 본 발명의 일실시예에 따른 임의 조각화 방법을 설명하기 위해 도시한 순서도이다.
도 3을 참조하여, 임의 조각화 방법을 더욱 상세하게 설명하면, 다음과 같다.
실시예에 따라, 임의 조각화는, 디바이스 및/또는 클라우드 스토리지에서 이루어질 수 있다. 다만, 편의상 상기 디바이스에서 임의 조각화하는 것을 예로 하여 설명한다.
먼저 디바이스는, 파일을 도 8의 (a)의 루빅 큐브의 6개의 면으로 분할하여, 분할된 각 파일 조각을 각 면에 배치한다(S301).
디바이스는, 파일의 메타데이터를 이용하여 상기 배치된 각 파일 조각에 대한 파일 해시키를 생성(예를 들어, E513GFA81B 등)한다(S302).
디바이스는, 상기 생성된 파일 해시키를 이용하여 상기 임의 조각화를 위한 적어도 하나의 명령어를 생성한다(S303).
실시예에 따르면, 상기 명령어는 d, v, r로 구성한다. 상기 d는 루빅 큐브를 회전시킬 방향을 나타내는 명령어로, 상기 회전 방향은 상, 하, 좌, 우를 나타낸다. 상기 v는 회전시킬 행이나 열을 나타내는 명령어로 특히, 상기 회전 방향이 상하인 경우에는 열을 그리고 좌우인 경우에는 행을 나타낼 수 있다. 상기 r은 회전 거리를 나타내는 명령어이다.
디바이스는, 상기 생성된 명령어를 순차 적용하여 각 블록의 위치를 변경한다(S304).
이후 디바이스는, 루빅 큐브의 각 면의 모든 블록에 대하여 상기 S301 단계 내지 S304 단계를 재귀적으로 반복 적용할 수 있다.
한편, 파일 메타데이터로부터 해시 값을 계산하며, 이를 이용하여 임의 조각화되는 파일 조각들의 저장 위치를 계산하고 알 수 있다. 즉, 상기 계산에 따라 클라우드 스토리지가 결정되고 해당 위치에 저장될 수 있다.
예를 들어, 파일 조각 저장 위치 계산 방법은, 도 4에 도시된 해시 값만으로 계산할 수 있다.
상기에서 비록 해시 함수를 이용하여 해시 값을 계산하는 것을 일실시예로 하였으나, 본 발명은 반드시 그에 한정되는 것은 아니다. 다시 말해, 본 발명에 따른 임의 조각화와 관련하여 이용 가능한 다른 함수나 방식으로 대용하거나 참고하여 조합할 수도 있다.
한편, 디바이스에서 각 파일에 대하여 해시 함수와 다른 스킴을 적절히 조합하여 번갈아서 이용할 수 있다. 예를 들어, 제1 파일에 대하여 해시 함수를 그리고 제2 파일에 대해서는 다른 함수를 이용할 수 있다. 이는 예를 들어, 해당 파일의 중요도, 속성, 특성, 사용자의 요청, 파일 포맷 등을 참조하여 결정될 수 있다.
또한, 하나의 파일을 임의 조각화함에 있어서, 반드시 하나의 스킴이 아니라 복수의 스킴이 이용될 수 있다.
편의상, 임의 조각화된 하나의 파일 조각은 하나의 클라우드 스토리지에 대응되어 저장될 수 있다.
실시예에 따라, 저장 및 추후 재생을 위한 파일 조각 합성의 효율을 고려하여, 상기 임의 조각화 이후 랜덤으로 선택되거나 임의 조각화되어 랜덤화된 이웃하는 적어도 둘 이상의 파일 조각들을 하나의 클라우드 스토리지에 저장할 수도 있다.
실시예에 따라, 하나의 클라우드 스토리지에 복수의 폴더가 존재하면, 각 파일 조각을 하나의 클라우드 스토리지에 저장되되 해당 클라우드 스토리지 내 서로 다른 폴더에 저장될 수 있다.
실시예에 따라, 파일 내용을 분할할 때, 핵심 조각과 비핵심 조각으로 구분하여 처리할 수 있다. 예를 들어, 상기 핵심 조각은 후술하는 도 8의 파일 임의 조각 후의 루빅 큐브의 서로 다른 면에 존재하도록 처리할 수 있다.
또는, 상기 임의 조각 후 핵심 조각은 서로 다른 클라우드 스토리지에 저장되도록 제어하고, 비핵심 조각은 하나의 클라우드 스토리지에 저장되도록 제어할 수 있다. 여기서, 핵심이라 함은, 개인 정보, 사용자 설정, 해당 파일의 속성, 용량, 프로세서 디폴트 설정 사항 등과 관련되어 해당 파일의 합성이나 재생시에 중요하다고 판단되는 부분을 말한다. 비핵심은 상기 핵심이 아닌 파일 내용 부분을 말한다.
또는, 상기 핵심은 손상 등에 의하여 파일 재생이 불가능해지거나 파일 재생이 가능하더라도 해당 파일을 의미를 퇴색시키는 부분을 정의할 수도 있다.
한편, 도시되진 않았으나, 본 발명에 따라 임의 조각화는 미리 정의된 조건을 만족하는 파일에 대해서만 수행하고 나머지 파일은 임의 조각화하지 않을 수도 있다. 상기에서 미리 정의된 조건이라 함은 사용자의 요청, 중요도, 파일 속성(이미지 파일, 비디오 파일 등) 등 중 적어도 하나일 수 있다.
본 발명과 관련하여, 또한 디바이스나 클라우드 스토리지를 제공하는 서비스 제공업자는 사용자 인터페이스를 제공하여 본 명세서에서 기술되는 사용자의 요청이나 설정 등에 대한 인터페이스를 제공할 수 있다.
한편, 본 발명과 관련하여, 임의 조각화되는 각 파일 조각은 클라우드 스토리지에 저장될 때, 각 파일 조각의 헤더에 식별 정보가 포함될 수 있다. 상기 식별 정보는 파일명, 해당 파일의 몇 번째 파일, 파일 속성, 디바이스 식별자 등 중 적어도 하나가 포함될 수 있다.
따라서, 디바이스에서 파일 조각들이 저장된 각 클라우드 스토리지로부터 수신한 URL 등의 파일 저장에 대한 정보가 없더라도, 파일 합성을 위한 신호를 브로드캐스트하면, 상기 브로드캐스트 된 신호에 기초하여 각 파일 조각의 헤더를 통하여 파일 합성을 위한 파일 조각을 식별하고 상기 파일 합성을 지원할 수 있다.
도 5는 본 발명의 일실시예에 따른 클라우드 스토리지를 설명하기 위해 도시한 도면이고, 도 6은 본 발명의 일실시예에 따른 스토리지 기반 응용 서비스 개발 프레임 워크를 도시한 도면이고, 도 7은 본 발명의 일실시예에 따른 지원 표준 프로토콜 및 구현 방안을 도시한 도면이다.
도 5를 참조하면, 클라우드 스토리지는 크게 클라이언트(510), 프로세서(520) 및 백엔드 스토리지(530)로 구성된다.
도 6을 참조하면, 도 5의 클라우드 스토리지를 위한 스토리지 기반 응용 서비스 개발 프레임워크을 도시하였다. 이때, 다양한 모듈을 클라이언트와 백엔드 스토리지 사이의 상기 스토리지 서비스 컨테이너(storage service container)에 삽입함으로써 새롭고 다양한 스토리지 기반 응용 서비스를 개발할 수 있다.
한편, 도 7의 (a)와 (b)에서는, 상기 스토리지 기반 응용 서비스 개발 프레임워크를 위한 지원 표준 프로토콜 및 구현 방안을 도시하였다.
도 9는 본 발명의 일실시예에 따른 디바이스 또는 프로세서의 구성 블록도이다.
이하에서는 편의상 디바이스를 예로 하여 설명하나, 도 9의 구성은 클라우드 스토리지를 위한 디바이스 예컨대, 프로세서일 수도 있다. 여기서, 프로세서라 함은, 클라우드 서버(cloud server), 클라우드 스토리지 서비스를 제공하는 서비스 프로바이더(service provider)가 제공하는 서비스 서버(service server) 등일 수 있다. 그 밖에, 상기 프로세서는 클라우드(Cloud) 서버, IMS(IP Multimedia Subsystem) 서버, 텔레포니 어플리케이션(Telephony Application) 서버, IM(Instant Messaging) 서버, MGCF(Media Gateway Control Function) 서버, MSG(Messaging Gateway) 서버, CSCF(Call Session Control Function) 서버 등 중 어느 하나일 수 있다.
도 9를 참조하면, 디바이스는 파일 내용을 분할하여 복수 개의 파일 조각을 생성하는 파일 분할 모듈(901), 파일 메타데이터로부터 해시값을 계산하고 상기 해시값으로부터 파일키를 생성하는 파일키 생성 모듈(902), 상기 생성된 복수 개의 파일 조각들을 파일키를 참조하여 임의 조각화하는 임의 조각화 처리 모듈(903), 임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지들에 저장 요청 신호를 전송하는 데이터 통신부(905) 및 상기 각 모듈을 제어하는 제어부(904)를 포함하여 구성된다.
다만, 본 발명은 이에 한정되지 않고, 실시예에 따라 일부 구성이 더 추가되거나 생략될 수 있다. 또한, 필요에 따라 일부 모듈은 하나의 모듈로 구현될 수도 있고 그 반대일 수도 있다.
한편, 도 9의 데이터 통신 모듈(905)은 클라우드 스토리지를 포함하여 외부 기기와 사이에 적어도 하나의 통신 프로토콜을 이용하는 통신 네트워크를 통하여 데이터 커뮤니케이션을 수행할 수 있다.
또한, 상기 디바이스는 클라우드 스토리지와의 데이터 커뮤니케이션을 위하여 어플리케이션, 프로그램 등과 같은 소프트웨어를 다운로드 받아 설치할 수도 있다.
상기 디바이스는, 단말 장치, 터미널(Terminal), MS(Mobile Station), MSS(Mobile Subscriber Station), SS(Subscriber Station), AMS(Advanced Mobile Station), WT(Wireless terminal), MTC(Machine-Type Communication) 장치, M2M(Machine-to-Machine) 장치, D2D 장치(Device-to-Device) 장치 중 적어도 하나를 일실시예로 할 수 있다.
물론, 어디까지나 이는 예시에 불과할 뿐이며, 본 발명에서의 디바이스는 상술한 예시들 이외에도 현재 개발되어 상용화되었거나 또는 향후 개발될 데이터 또는 신호 전송이 가능한 모든 장치를 포함하는 개념으로 해석되어야 한다.
한편, 상기 디바이스는 PC(Personal Computer), 노트북 컴퓨터, 태블릿 PC(Tablet Personal Computer) 등 데이터 커뮤니케이션이 가능한 개체를 지칭하는 장치로 구현될 수도 있다.
한편, 상기 파일 또는 오브젝트로 텍스트(Text), 디지털 이미지, 디지털 영상, 디지털 음성 정보 등이 포함될 수 있으며, 유/무선 통신 네트워크는 다양한 데이터 커뮤니케이션이 가능하도록 지원하는 데이터 통신망을 의미하며, 그 종류에는 특별히 제한되지 않는다.
예를 들어, 상기 유/무선 통신 네트워크는, 인터넷 프로토콜(IP)을 통하여 대용량 데이터 커뮤니케이션을 지원하는 아이피(IP: Internet Protocol)망 또는 서로 다른 IP 망을 통합한 올 아이피(All IP) 망일 수 있다.
또한, 상기 유/무선 통신 네트워크는 유선망, Wibro(Wireless Broadband)망, WCDMA를 포함하는 이동 통신망, HSDPA(High Speed Downlink Packet Access)망 및 LTE(Long Term Evolution) 망을 포함하는 이동 통신망, LTE advanced(LTE-A)를 포함하는 이동 통신망, 위성 통신망 및 와이파이(Wi-Fi)망 중 하나이거나 또는 이들 중 적어도 하나 이상의 결합에 의하여 형성될 수도 있다.
한편, 상술한 방법은, 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터 판독 가능 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 본 발명의 다양한 방법들을 수행하기 위한 실행 가능한 컴퓨터 코드를 저장하는 컴퓨터 판독 가능 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, DVD 등)와 같은 저장 매체를 포함한다.
본원 발명의 실시예들과 관련된 기술 분야에서 통상의 지식을 가진 자는 상기 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로, 개시된 방법들은 한정적인 관점이 아닌 설명적 관점에서 고려되어야 한다. 본 발명의 범위는 발명의 상세한 설명이 아닌 특허청구 범위에 나타나며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명은 파일/오브젝트 저장 방법 및 그를 위한 다양한 장치에 적용하는 것이 가능하다.
Claims (13)
- 다음의 각 단계는 디바이스에 의해 수행되는 것으로서,
파일 내용을 분할하여 복수 개의 파일 조각들을 생성하는 단계;
상기 생성된 복수 개의 파일 조각들을 임의 조각화하는 단계; 및
임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지들에 저장하는 단계;
상기 임의 조각화하는 단계는,
생성된 복수 개의 파일 조각들의 순서를 임의로 섞는 것으로,
각 면이 9개의 블록을 포함한 6개의 면을 가진 루빅 큐브 방식에 따라 이뤄지며,
상기 임의 조각화하는 단계는,
i) 상기 분할되는 조각의 개수와 독립적으로 최대한 일정한 시간 복잡도를 유지,
ii) 상기 분할되는 조각들의 순서를 섞을 수 있을 것,
iii) 상기 분할되는 조각들의 순서로 일정하게 섞일 것,
중 적어도 하나 이상의 조건에 따라 이루어지는 것을 특징으로 하는, 파일 저장 방법. - 제1항에 있어서,
상기 생성되는 복수 개의 파일 조각들은,
상기 파일 내용을 순차 분할하여 생성한 순차 파일 조각들인 것을 특징으로 하는, 파일 저장 방법. - 삭제
- 삭제
- 제1항에 있어서,
상기 임의 조각화하는 단계는,
a) 상기 생성된 파일 조각들을 상기 루빅 큐브의 각 면으로 분할하여 각 면에 배치하는 단계;
b) 상기 배치된 각 파일 조각에 대한 파일 해시값을 이용하여 파일키를 생성하는 단계;
c) 상기 생성된 파일키를 이용하여 상기 임의 조각화를 위한 적어도 하나의 명령어를 생성하는 단계; 및
d) 상기 생성된 명령어를 순차 적용하여 각 블록의 위치를 변경하는 단계;
를 포함하여 이루어지는 것을 특징으로 하는, 파일 저장 방법. - 제5항에 있어서,
상기 a) 내지 d)의 단계들 중 적어도 하나 이상의 단계를 미리 정의한 횟수만큼 재귀적으로 반복하는 것을 특징으로 하는, 파일 저장 방법. - 파일 내용을 분할하여 복수 개의 파일 조각을 생성하고, 상기 생성된 복수 개의 파일 조각들을 임의 조각화하는 제어부; 및
임의 조각화된 파일 조각들을 하나 또는 그 이상의 클라우드 스토리지들에 저장 요청 신호를 전송하는 데이터 통신부;
를 포함하는 것으로서,
상기 제어부는,
각 면이 9개의 블록들을 포함한 6개의 면을 가진 루빅 큐브 방식에 따라 생성된 복수 개의 파일 조각들의 순서를 임의로 섞어 상기 임의 조각화하고,
상기 제어부는,
i) 상기 분할되는 조각의 개수와 독립적으로 최대한 일정한 시간 복잡도를 유지,
ii) 상기 분할되는 조각들의 순서를 섞을 수 있을 것,
iii) 상기 분할되는 조각들의 순서로 일정하게 섞일 것,
중 적어도 하나 이상의 조건에 따라 상기 임의 조각화를 수행하는 것을 특징으로 하는, 디바이스. - 제7항에 있어서,
상기 제어부는,
상기 파일 내용을 순차 분할하여 생성한 순차 파일 조각들을 상기 생성되는 복수 개의 파일 조각들로 생성하도록 제어하는 것을 특징으로 하는, 디바이스. - 삭제
- 삭제
- 제7항에 있어서,
상기 제어부는,
a) 상기 생성된 파일 조각들을 상기 루빅 큐브의 각 면으로 분할하여 각 면에 배치;
b) 상기 배치된 각 파일 조각에 대한 파일 해시값을 이용하여 파일키를 생성;
c) 상기 생성된 파일키를 이용하여 상기 임의 조각화를 위한 적어도 하나의 명령어를 생성; 및
d) 상기 생성된 명령어를 순차 적용하여 각 블록의 위치를 변경하여, 상기 임의 조각화를 수행;
하는 것을 특징으로 하는, 디바이스. - 제11항에 있어서,
상기 a) 내지 d) 중 적어도 하나 이상을 미리 정의한 횟수만큼 재귀적으로 반복하는 것을 특징으로 하는, 디바이스. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180103793A KR102118970B1 (ko) | 2018-08-31 | 2018-08-31 | 클라우드 스토리지에 기반한 파일 저장 방법 및 그를 위한 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180103793A KR102118970B1 (ko) | 2018-08-31 | 2018-08-31 | 클라우드 스토리지에 기반한 파일 저장 방법 및 그를 위한 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200027102A KR20200027102A (ko) | 2020-03-12 |
KR102118970B1 true KR102118970B1 (ko) | 2020-06-04 |
Family
ID=69802994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180103793A KR102118970B1 (ko) | 2018-08-31 | 2018-08-31 | 클라우드 스토리지에 기반한 파일 저장 방법 및 그를 위한 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102118970B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242815B (zh) * | 2022-07-14 | 2024-08-13 | 山石网科通信技术股份有限公司 | 一种数据云存储方法、装置,管理服务器及用户终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016518643A (ja) | 2013-03-13 | 2016-06-23 | ガナリラ、エルエルシー | 情報単位間の関連性を提示し見出すためのシステムおよび方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101497669B1 (ko) * | 2013-04-29 | 2015-03-11 | 서울대학교산학협력단 | 일정 수 이상의 파일 조각으로 원본 파일을 복구하는 파일 관리 장치 및 방법 |
KR102480414B1 (ko) * | 2015-03-20 | 2022-12-23 | 삼성전자주식회사 | 복수개의 클라우드 스토리지를 이용한 파일 저장 방법 및 이를 위한 장치 |
-
2018
- 2018-08-31 KR KR1020180103793A patent/KR102118970B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016518643A (ja) | 2013-03-13 | 2016-06-23 | ガナリラ、エルエルシー | 情報単位間の関連性を提示し見出すためのシステムおよび方法 |
Non-Patent Citations (1)
Title |
---|
Loukhaoukha, K., "A Secure Image Encryption Algorithm Based on Rubik’s Cube Principle", 전기컴퓨터공학저널, Volume 2012. 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20200027102A (ko) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101896048B1 (ko) | 분산된 보안 데이터 저장 및 스트리밍 매체 콘텐트의 전송 | |
EP2605168B1 (en) | System and method for preventing the unauthorized playback of content | |
US8826459B2 (en) | Systems and methods of automatic multimedia transfer and playback | |
US8874919B2 (en) | Apparatus and method of a portable terminal authenticating another portable terminal | |
JP2020533857A (ja) | 部分的制御チャネル障害のためのビーム回復 | |
EP3384493A1 (en) | Method and apparatus for transmitting video data | |
US9356985B2 (en) | Streaming video to cellular phones | |
US20110197264A1 (en) | System and method for remote media access | |
US20130132469A1 (en) | Electronic content delivery using diversified networks | |
US20100223436A1 (en) | Content acquisition apparatus, program, content acquisition method and content acquisition system | |
US20110178987A1 (en) | Apparatus and method for processing data according to remote control in data storage device | |
US20110066843A1 (en) | Mobile media play system and method | |
JP7540019B2 (ja) | 複数の暗号学的デジタル署名を使用したコンテンツアクセスおよびコンテンツ配信の認可の分離 | |
JP2017519406A (ja) | ネットワークビデオ再生方法及び装置 | |
WO2018001065A1 (zh) | 应用的管理方法、装置及系统 | |
CN110620950B (zh) | 一种音视频文件的存储方法、装置及设备 | |
KR102118970B1 (ko) | 클라우드 스토리지에 기반한 파일 저장 방법 및 그를 위한 장치 | |
US10021158B2 (en) | Converting data stream in user equipment | |
KR102389690B1 (ko) | 콘텐츠 전송 시스템 | |
CN112019935B (zh) | 跨平台视频点播文件的处理方法、装置和计算设备 | |
US10462248B2 (en) | Digital content sharing cloud service system, digital content sharing cloud service device, and method using the same | |
CN110209368B (zh) | 一种政务政策展示方法及系统 | |
JP2017022711A (ja) | 暗号化されたコンテンツの復号キーを安全に取得してコンテンツを再生するための方法およびシステム | |
CN118055270B (zh) | 视频处理方法、系统、装置、电子设备及存储介质 | |
KR102725544B1 (ko) | 플래닛을 이용한 보안 통신 방법 및 이를 이용한 엔티티 단말 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |