KR20160113071A - Method for storing a file by using a plurality of cloud storage and apparatus thereof - Google Patents

Method for storing a file by using a plurality of cloud storage and apparatus thereof Download PDF

Info

Publication number
KR20160113071A
KR20160113071A KR1020160106991A KR20160106991A KR20160113071A KR 20160113071 A KR20160113071 A KR 20160113071A KR 1020160106991 A KR1020160106991 A KR 1020160106991A KR 20160106991 A KR20160106991 A KR 20160106991A KR 20160113071 A KR20160113071 A KR 20160113071A
Authority
KR
South Korea
Prior art keywords
file
fragments
cloud
stored
cloud storage
Prior art date
Application number
KR1020160106991A
Other languages
Korean (ko)
Other versions
KR102480414B1 (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 KR1020160106991A priority Critical patent/KR102480414B1/en
Publication of KR20160113071A publication Critical patent/KR20160113071A/en
Application granted granted Critical
Publication of KR102480414B1 publication Critical patent/KR102480414B1/en

Links

Images

Classifications

    • G06F17/302
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F17/30073
    • G06F17/30091

Abstract

According to an embodiment, disclosed is a device which comprises: a control unit configured to partition files stored in the device to generate a plurality of file pieces and configured to determine cloud storages for storing each of the plurality of file pieces to correspond to each of the plurality of file pieces among a plurality of cloud storages; and a communication unit configured to request the determined cloud storages to store each of the plurality of file pieces.

Description

복수개의 클라우드 스토리지를 이용한 파일 저장 방법 및 이를 위한 장치{METHOD FOR STORING A FILE BY USING A PLURALITY OF CLOUD STORAGE AND APPARATUS THEREOF}TECHNICAL FIELD [0001] The present invention relates to a file storage method using a plurality of cloud storages,

본 발명은, 파일을 복수개의 파일 조각으로 분할하고, 분할된 복수개의 파일 조각을 복수개의 클라우드 스토리지에 분산 저장하는 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a method and a device for dividing a file into a plurality of file fragments and distributing a plurality of fragmented file fragments to a plurality of cloud storage devices.

네트워크 기술이 발전함에 따라, 데스크탑, 노트북 또는 휴대용 기기에 저장되던 데이터는 인터넷 상의 클라우드 스토리지에 저장되고, 사용자는 필요할 때마다, 자신의 계정을 이용하여 언제 어디서든 클라우드 스토리지로부터 데이터를 다운로드 할 수 있다. As network technology advances, data stored on desktops, laptops, or handheld devices is stored in cloud storage on the Internet, and users can download data from cloud storage anytime, anywhere using their own accounts .

그러나, 클라우드 스토리지는 다수의 사용자들이 접근할 수 있어 사용자의 데이터가 해킹될 위험이 있을 수 있다. 또한, 사용자의 계정 정보가 타인에게 노출되어, 클라우드 스토리지에 저장된 개인 데이터들이 타인에게 노출될 위험이 있을 수 있다. However, cloud storage can be accessed by a large number of users, potentially jeopardizing user data. In addition, the user's account information may be exposed to others, and personal data stored in the cloud storage may be exposed to others.

본 발명은, 파일을 복수개의 파일 조각으로 분할하여 복수개의 클라우드 스토리지에 분산 저장하고, 저장된 복수개의 파일 조각을 수신하여 파일을 다시 생성하기 위한 다양한 실시예가 제공된다.The present invention provides various embodiments for dividing a file into a plurality of file fragments, distributing the files to a plurality of cloud storages, and receiving a plurality of stored file fragments to regenerate the files.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 디바이스에 저장된 파일을 분할하여 복수개의 파일 조각을 생성하고, 디바이스의 사용자가 등록된 복수개의 클라우드 스토리지 중, 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각을 저장할 클라우드 스토리지들을 결정하는 제어부, 및 결정된 클라우드 스토리지들에게, 복수개의 파일 조각 각각을 저장할 것을 요청하는 통신부를 포함하는, 디바이스를 제공할 수 있다. As a technical means for achieving the above technical object, a first aspect of the present disclosure is a method for creating a plurality of file fragments by dividing a file stored in a device, and, among a plurality of registered cloud storage devices, A controller for determining cloud storages to store each of the plurality of file fragments in response to each of the fragments, and a communication unit for requesting the determined cloud storages to store each of the plurality of file fragments.

또한, 디바이스에 저장된 파일은, 복수개의 클라우드 스토리지 중 하나로부터 수신된 파일일 수 있다.In addition, the file stored in the device may be a file received from one of a plurality of cloud storages.

또한, 제어부는, 복수개의 파일 조각 중 제 1 파일 조각에 대응하며, 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지를 결정하고, 통신부는, 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지에게 제 1 파일 조각을 저장할 것을 각각 요청할 수 있다.Further, the control unit determines a plurality of cloud storages for storing the first file fragments corresponding to the first file fragments among the plurality of file fragments, and the communication unit transmits the first file fragments to the plurality of cloud storages for storing the first file fragments, Respectively.

또한, 통신부는, 복수개의 파일 조각의 식별 정보들 및 복수개의 파일 조각이 저장된 클라우드 스토리지들의 식별 정보들을 포함하는 파일 분할 정보를 복수개의 클라우드 스토리지 중 적어도 하나에게 저장할 것을 요청할 수 있다.The communication unit may request that at least one of the plurality of cloud storages store file partition information including identification information of a plurality of file fragments and identification information of cloud storages in which a plurality of file fragments are stored.

또한, 제어부는, 암호화 키에 기초하여, 파일을 암호화하고, 암호화된 파일을 분할함으로써 복수개의 파일 조각을 생성하고, 암호화 키를 디바이스에 저장하거나 또는 복수개의 클라우드 스토리지 중 적어도 하나에 저장할 수 있다.The control unit may generate a plurality of file fragments by encrypting the file based on the encryption key, dividing the encrypted file, and storing the encryption key in the device or in at least one of the plurality of cloud storages.

또한, 제어부는, 파일을 분할하여 복수개의 파일 조각을 생성하고, 암호화 키에 기초하여, 복수개의 파일 조각 중 적어도 하나의 조각을 암호화하고, 암호화 키를 디바이스에 저장하거나 또는 복수개의 클라우드 스토리지 중 적어도 하나에 저장하고, 통신부는, 각각의 파일 조각에 대응되는 클라우드 스토리지들에게, 적어도 하나의 조각이 암호화된 복수개의 파일 조각을 저장할 것을 요청할 수 있다. The control unit may divide the file into a plurality of file fragments, encrypt at least one piece of the plurality of file fragments based on the encryption key, store the encryption key in the device, or store at least one of the plurality of cloud storage And the communication unit may request the cloud storage corresponding to each file fragment to store a plurality of pieces of the encrypted file at least one piece.

또한, 제어부는, 복수개의 파일 조각 각각이 결정된 클라우드 스토리지들에게 각각 저장됨에 따라, 저장된 파일을 삭제할 수 있다.Also, the control unit may delete the stored file as each of the plurality of file fragments is stored in the determined cloud storages.

또한, 디바이스에 저장된 파일은, 복수개의 클라우드 스토리지 중 하나 및 디바이스에 함께 저장된 파일이고, 통신부는, 파일이 저장된 클라우드 스토리지에게, 파일을 삭제할 것을 요청할 수 있다.In addition, the file stored in the device is a file stored in one of the plurality of cloud storage devices and the device, and the communication unit can request the cloud storage where the file is stored to delete the file.

또한, 본 개시의 제 2 측면은, 하나의 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는 제어부, 및 복수개의 파일 조각 각각을, 결정된 클라우드 스토리지들로부터 각각 수신하는 통신부를 포함하고, 제어부는, 수신된 복수개의 파일 조각을 조합하여 파일을 생성하고, 생성된 파일을 실행하는, 디바이스를 제공할 수 있다. The second aspect of the present disclosure also includes a control unit for determining cloud storages in which each of a plurality of file fragments is stored corresponding to each of a plurality of file fragments divided from one file, And the control unit can provide a device that combines a plurality of received file fragments to generate a file and executes the generated file.

또한, 통신부는, 복수개의 파일 조각의 식별 정보들 및 복수개의 파일 조각이 저장된 클라우드 스토리지들의 식별 정보들을 포함하는 파일 분할 정보를 복수개의 클라우드 스토리지 중 적어도 하나로부터 수신하고, 제어부는, 수신된 파일 분할 정보에 기초하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정할 수 있다. Also, the communication unit may receive, from at least one of the plurality of cloud storages, file partition information including identification information of a plurality of file fragments and identification information of cloud storages in which a plurality of file fragments are stored, Based on the information, each of the plurality of file fragments can determine stored cloud storage.

또한, 복수개의 파일 조각 중 제 1 파일 조각은 복수개의 클라우드 스토리지 중 두 개 이상에 중복 저장된 파일 조각이고, 제어부는, 제 1 파일 조각에 대응하여 두 개 이상의 클라우드 스토리지 중 하나를 선택하고, 통신부는, 선택된 클라우드 스토리지로부터 제 1 파일 조각을 수신할 수 있다. Also, the first file fragment of the plurality of file fragments is a fragment of a file that is redundantly stored in two or more of the plurality of cloud storages, and the control section selects one of the two or more cloud storages in correspondence with the first file fragment, , The first file fragment can be received from the selected cloud storage.

또한, 복수개의 파일 조각 중 제 2 파일 조각은 복수개의 클라우드 스토리지 중 두 개 이상에 중복 저장된 파일 조각이고, 통신부는, 두 개 이상의 클라우드 스토리지로부터 제 2 파일 조각의 서로 다른 부분을 동시에 수신할 수 있다.Also, the second file fragment of the plurality of file fragments is a fragment of a file that is redundantly stored in two or more of the plurality of cloud storages, and the communication section can simultaneously receive different portions of the second file fragment from the two or more cloud storages .

또한, 복수개의 파일 조각은 파일이 분할된 후 복수개의 파일 조각 각각에 대응하여 암호화된 파일 조각이고, 통신부는, 암호화된 복수개의 파일 조각을 복호화하기 위한 복호화 키를 디바이스 또는 복수개의 클라우드 서버 중 적어도 하나로부터 수신하고, 제어부는, 수신된 복호화 키에 기초하여, 수신된 복수개의 파일 조각을 복호화하고, 복호화된 파일 조각을 조합하여 파일을 생성할 수 있다. The plurality of file fragments are encrypted file fragments corresponding to each of the plurality of file fragments after the file is divided, and the communication unit may transmit a decryption key for decrypting the plurality of encrypted fragments to the device or at least one of the plurality of cloud servers And the control unit can decrypt the plurality of received file fragments based on the received decryption key and combine the decrypted file fragments to generate a file.

또한, 복수개의 파일 조각은 파일이 암호화된 후 분할된 파일 조각이고, 통신부는, 암호화된 파일을 복호화하기 위한 복호화 키를 디바이스 또는 복수개의 클라우드 서버 중 적어도 하나로부터 수신하고, 제어부는, 수신된 복호화 키에 기초하여, 수신된 복수개의 파일 조각을 조합하여 파일을 생성하고, 생성된 파일을 복호화할 수 있다.The communication unit may receive a decryption key for decrypting the encrypted file from at least one of the device or the plurality of cloud servers, and the control unit may decrypt the encrypted decrypted file, Based on the key, a plurality of received pieces of file can be combined to generate a file, and the generated file can be decoded.

또한, 본 개시의 제 3 측면은, 디바이스에 저장된 파일을 분할하여 복수개의 파일 조각을 생성하는 단계, 디바이스의 사용자가 등록된 복수개의 클라우드 스토리지 중, 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각을 저장할 클라우드 스토리지들을 결정하는 단계, 및 결정된 클라우드 스토리지들에게, 복수개의 파일 조각 각각을 저장할 것을 요청하는 단계를 포함하는, 파일 저장 방법을 제공할 수 있다.According to a third aspect of the present disclosure, there is provided a computer-readable storage medium storing a program for causing a computer to execute the steps of: dividing a file stored in a device into a plurality of file fragments; Determining cloud storage to store each piece, and requesting the determined cloud storage to store each of the plurality of file fragments.

또한, 디바이스에 저장된 파일은, 복수개의 클라우드 스토리지 중 하나로부터 수신된 파일일 수 있다.In addition, the file stored in the device may be a file received from one of a plurality of cloud storages.

또한, 복수개의 파일 조각 각각을 저장할 클라우드 스토리지들을 결정하는 단계는, 복수개의 파일 조각 중 제 1 파일 조각에 대응하며, 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지를 결정하는 단계를 포함하고, 결정된 클라우드 스토리지들에게, 복수개의 파일 조각 각각을 저장할 것을 요청하는 단계는, 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지에게 제 1 파일 조각을 저장할 것을 각각 요청하는 단계를 포함할 수 있다.Determining cloud storage to store each of the plurality of file fragments includes determining a plurality of cloud storage to store a first file fragment corresponding to a first file fragment of the plurality of file fragments, Requesting storage to store each of the plurality of file fragments may include requesting storage of a first file fragment to a plurality of cloud storages for storing the first file fragment.

또한, 파일 저장 방법은, 복수개의 파일 조각의 식별 정보들 및 복수개의 파일 조각이 저장된 클라우드 스토리지들의 식별 정보들을 포함하는 파일 분할 정보를 복수개의 클라우드 스토리지 중 적어도 하나에게 저장할 것을 요청하는 단계를 더 포함할 수 있다. The file storage method may further include requesting that at least one of the plurality of cloud storages store file partition information including identification information of a plurality of file fragments and identification information of cloud storages in which a plurality of file fragments are stored can do.

디바이스에 저장된 파일을 분할하여 복수개의 파일 조각을 생성하는 단계는, 암호화 키에 기초하여, 파일을 암호화하는 단계, 및 암호화된 파일을 분할함으로써 복수개의 파일 조각을 생성하고, 암호화 키를 디바이스에 저장하거나 또는 복수개의 클라우드 스토리지 중 적어도 하나에 저장하는 단계를 포함할 수 있다.The step of generating a plurality of file fragments by dividing a file stored in the device includes the steps of encrypting the file based on the encryption key, generating a plurality of file fragments by dividing the encrypted file, storing the encryption key in the device Or storing it in at least one of a plurality of cloud storages.

또한, 디바이스에 저장된 파일을 분할하여 복수개의 파일 조각을 생성하는 단계는, 파일을 분할하여 복수개의 파일 조각을 생성하는 단계, 및 암호화 키에 기초하여, 복수개의 파일 조각 중 적어도 하나의 조각을 암호화하고, 암호화 키를 디바이스에 저장하거나 또는 복수개의 클라우드 스토리지 중 적어도 하나에 저장하는 단계를 포함하고, 결정된 클라우드 스토리지들에게, 복수개의 파일 조각 각각을 저장할 것을 요청하는 단계는, 복수개의 파일 조각 각각에 대응되는 클라우드 스토리지들에게, 적어도 하나의 조각이 암호화된 복수개의 파일 조각 각각을 저장할 것을 요청하는 단계를 포함할 수 있다.The step of dividing the file stored in the device and generating a plurality of file fragments may include the steps of generating a plurality of file fragments by dividing the file and encrypting at least one piece of the plurality of file fragments And storing the encryption key in the device or in at least one of the plurality of cloud storages, the step of requesting the determined cloud storage to store each of the plurality of file fragments comprises: And requesting corresponding cloud storages to store each of the plurality of file fragments encrypted by the at least one fragment.

또한, 파일 저장 방법은, 복수개의 파일 조각 각각이 결정된 클라우드 스토리지들에게 각각 저장됨에 따라, 저장된 파일을 삭제하는 단계를 더 포함할 수 있다.The file storage method may further include deleting the stored file as each of the plurality of file fragments is respectively stored in the determined cloud storages.

또한, 디바이스에 저장된 파일은, 복수개의 클라우드 스토리지 중 하나 및 디바이스에 함께 저장된 파일이고, 파일 저장 방법은, 파일이 저장된 클라우드 스토리지에게, 파일을 삭제할 것을 요청하는 단계를 더 포함할 수 있다.In addition, the file stored in the device may be one of a plurality of cloud storages and a file stored together in the device, and the file storage method may further include a step of requesting the cloud storage in which the file is stored to delete the file.

또한, 디바이스가, 하나의 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는 단계, 복수개의 파일 조각 각각을, 결정된 클라우드 스토리지들로부터 각각 수신하는 단계, 수신된 복수개의 파일 조각을 조합하여 파일을 생성하는 단계, 및 생성된 파일을 실행하는 단계를 포함할 수 있다.The method further comprises the steps of: the device determining cloud storages in which each of the plurality of file fragments is stored corresponding to each of the plurality of file fragments segmented from one file; receiving each of the plurality of file fragments from the determined cloud storages, , Combining the received plurality of file fragments to generate a file, and executing the generated file.

또한, 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는 단계는, 복수개의 파일 조각의 식별 정보들 및 복수개의 파일 조각이 저장된 클라우드 스토리지들의 식별 정보들을 포함하는 파일 분할 정보를 복수개의 클라우드 스토리지 중 적어도 하나로부터 수신하는 단계, 및 수신된 파일 분할 정보에 기초하여, 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는 단계를 포함할 수 있다.The step of determining cloud storages storing the plurality of file fragments in correspondence with each of the plurality of file fragments divided from the file may include the step of storing the identification information of the plurality of file fragments and the identification information of the cloud storages Receiving, from at least one of the plurality of cloud storages, file division information including a plurality of file fragments, each of the plurality of file fragments corresponding to each of the plurality of file fragments divided from the file based on the received file division information, And < / RTI >

또한, 복수개의 파일 조각 중 제 1 파일 조각은 복수개의 클라우드 스토리지 중 두 개 이상에 중복 저장된 파일 조각이고, 복수개의 파일 조각 각각을, 결정된 클라우드 스토리지들로부터 각각 수신하는 단계, 제 1 파일 조각에 대응하여 두 개 이상의 클라우드 스토리지 중 하나를 선택하는 단계, 및 선택된 클라우드 스토리지로부터 제 1 파일 조각을 수신하는 단계를 포함할 수 있다.In addition, the first file fragment of the plurality of file fragments is a fragment of a file that is redundantly stored in two or more of the plurality of cloud storages, receiving each of the plurality of file fragments from the determined cloud storages, Selecting one of the two or more cloud storages, and receiving a first file fragment from the selected cloud storage.

또한, 복수개의 파일 조각 중 제 2 파일 조각은 복수개의 클라우드 스토리지 중 두 개 이상에 중복 저장된 파일 조각이고, 복수개의 파일 조각 각각을, 결정된 클라우드 스토리지들로부터 각각 수신하는 단계는, 두 개 이상의 클라우드 스토리지로부터 제 2 파일 조각의 서로 다른 부분을 동시에 수신하는 단계를 포함할 수 있다.The method of claim 1, wherein the second file fragment of the plurality of file fragments is a fragment of a file that is redundantly stored in two or more of the plurality of cloud storages, and wherein each of the plurality of file fragments, from each of the determined cloud storages, Lt; RTI ID = 0.0 > of the second file fragments. ≪ / RTI >

또한, 복수개의 파일 조각은 파일이 분할된 후 복수개의 파일 조각 각각에 대응하여 암호화된 파일 조각이고, 수신된 복수개의 파일 조각을 조합하여 파일을 생성하는 단계는, 암호화된 복수개의 파일 조각을 복호화하기 위한 복호화 키를 디바이스 또는 복수개의 클라우드 서버 중 적어도 하나로부터 수신하는 단계, 수신된 복수개의 파일 조각을 복호화하는 단계, 및 복호화된 파일 조각을 조합하여 파일을 생성하는 단계를 포함할 수 있다.The step of generating a file by combining a plurality of received file fragments is a step of decrypting a plurality of encrypted fragments of a file, Receiving a decryption key for at least one of a device or a plurality of cloud servers, decrypting a plurality of received file fragments, and combining the decrypted fragments to generate a file.

또한, 복수개의 파일 조각은 파일이 암호화된 후 분할된 파일 조각이고, 수신된 복수개의 파일 조각을 조합하여 파일을 생성하는 단계는, 암호화된 파일을 복호화하기 위한 복호화 키를 디바이스 또는 복수개의 클라우드 서버 중 적어도 하나로부터 수신하는 단계, 수신된 복호화 키에 기초하여, 수신된 복수개의 파일 조각을 조합하여 파일을 생성하는 단계, 및 생성된 파일을 복호화하는 단계를 포함할 수 있다.The step of generating a file by combining a plurality of received pieces of the file is a step of transmitting a decryption key for decrypting the encrypted file to the device or a plurality of cloud servers Generating a file by combining a plurality of received pieces of file based on the received decryption key, and decrypting the generated file.

도 1은 본 발명의 일 실시예에 따른, 디바이스가 복수개의 클라우드 스토리지에 파일을 분산 저장하는 방법을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 디바이스가 파일을 복수개의 파일 조각으로 분할하고, 분할된 파일 조각을 클라우드 스토리지에 분산 저장하는 방법을 설명하는 흐름도이다.
도 3는 본 발명의 다른 실시예에 따른, 디바이스가 파일을 분산 저장하는 방법을 설명하는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른, 디바이스가 복수개의 파일 조각으로 분할된 파일을 클라우드 스토리지로부터 수신하여 실행하는 방법을 설명하는 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른, 디바이스가 복수개의 파일 조각을 클라우드 스토리지로부터 수신하고, 수신된 복수개의 파일 조각을 조합하여, 파일을 실행하는 방법을 설명하는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 디바이스에 저장된 복수의 클라우드 스토리지에 관한 정보를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른, 파일 분할 정보를 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른, 디바이스가 파일 분할 정보에 기초하여 클라우드 스토리지로부터 파일 조각을 수신하는 방법을 나타내는 도면이다.
도 9a는 본 발명의 일 실시예에 따른, 디바이스가 클라우드 스토리지로부터 파일 분할 정보를 수신하는 방법을 설명하기 위한 도면이다.
도 9b는 본 발명의 일 실시예에 따른, 디바이스가 클라우드 스토리지로부터 파일 분할 정보를 수신하고, 파일 분할 정보에 기초하여 클라우드 스토리지로부터 파일 조각을 수신하는 방법을 나타내는 흐름도이다.
도 9c는 본 발명의 일 실시예에 따른, 사용자의 다른 디바이스가 클라우드 스토리지로부터 파일 분할 정보를 수신하고, 수신한 파일 분할 정보에 기초하여 클라우드 스토리지로부터 파일 조각을 수신하는 방법을 나타내는 도면이다.
도 10은 본 발명의 일 실시예에 따른, 디바이스가 외부 서버로부터 파일 분할 정보를 수신하고, 파일 분할 정보에 기초하여 클라우드 스토리지로부터 복수개의 파일 조각을 수신하는 방법을 나타내는 도면이다.
도 11a 내지 도 11e는 본 발명의 일 실시예에 따른, 사용자의 파일이 분산 저장됨에 따라 디바이스가 파일의 목록을 디스플레이하는 방법을 나타내는 도면이다.
도 12a 내지 도 12b는 본 발명의 일 실시예에 따른, 디바이스가 디바이스에만 저장된 파일을 분할하여 복수개의 클라우드 스토리지에 분산 저장함에 따라, 분산 저장된 파일을 디스플레이하는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에 따른, 디바이스가 파일을 분산 저장할 클라우드 스토리지를 선택하기 위한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.
도 14a 및 도 14b는 발명의 일 실시예에 따른, 디바이스가 복수의 클라우드 스토리지에 동일한 파일 조각을 중복 저장하는 방법을 설명하기 위한 도면이다.
도 14c는 본 발명의 일 실시예에 따른, 복수개의 파일에 대응하는 파일 조각이 복수개의 클라우드 스토리지에 중복 저장됨에 따라, 복수개의 클라우드 스토리지에 저장된 파일 조각들을 나타내는 도면이다.
도 14d는 본 발명의 일 실시예에 따른, 복수의 클라우드 스토리지 중 하나의 클라우드 스토리지가 동작하지 않은 경우, 복수의 클라우드 스토리지로부터 파일 조각을 수신하는 방법을 설명하기 위한 도면이다.
도 15는 본 발명의 일 실시예에 따른, 동일한 파일 조각이 복수개의 클라우드 스토리지에 중복 저장됨에 따라, 디바이스가 동일한 파일 조각을 복수개의 클라우드 스토리지로부터 동시에 수신하는 방법을 설명하기 위한 도면이다.
도 16a 및 도 16b는 본 발명의 일 실시예에 따른, 디바이스가 파일을 암호화하는 방법을 설명하기 위한 도면이다.
도 17a 및 도 17b는 본 발명의 다른 실시예에 따른, 디바이스가 파일을 암호화하는 방법을 설명하기 위한 도면이다.
도 18a 및 도 18b는 본 발명의 일 실시예에 따른, 디바이스가 파일을 암호화하기 위해, 사용자로부터 암호화를 위한 정보를 수신하는 방법을 설명하기 위한 도면이다.
도 19는 본 발명의 일 실시예에 따른, 파일을 분산 저장하는 기능을 수행하는 디바이스내의 모듈을 나타내는 도면이다.
도 20은 본 발명의 일 실시예에 따른, 디바이스가 파일을 분할하여, 복수개의 클라우드 스토리지에 분산 저장하는 방법을 설명하기 위한 도면이다.
도 21은 본 발명의 일 실시예에 따른, 디바이스에 대한 블록도를 도시한다.
도 22는 본 발명의 다른 실시 예에 따른, 디바이스의 구성을 나타내는 블록도이다.
도 23은 본 발명의 일 실시예에 따른, 클라우드 스토리지에 대한 블록도를 도시한다.
1 is a diagram illustrating a method in which a device distributes files to a plurality of cloud storages according to an embodiment of the present invention.
2 is a flowchart illustrating a method in which a device divides a file into a plurality of file fragments and distributes the fragmented file fragments to cloud storage according to an embodiment of the present invention.
3 is a flow diagram illustrating a method by which a device distributes and stores files in accordance with another embodiment of the present invention.
4 is a flowchart illustrating a method for a device to receive and execute a file divided into a plurality of file fragments from a cloud storage according to an embodiment of the present invention.
5 is a flowchart illustrating a method for a device to receive a plurality of file fragments from a cloud storage and to combine received plurality of file fragments to execute a file according to another embodiment of the present invention.
6 is a diagram illustrating information on a plurality of cloud storages stored in a device, according to an embodiment of the present invention.
7 is a diagram illustrating file partitioning information according to an embodiment of the present invention.
8 is a diagram illustrating a method for a device to receive a piece of file from a cloud storage based on file partitioning information, in accordance with an embodiment of the present invention.
9A is a diagram for explaining a method for a device to receive file partition information from a cloud storage, according to an embodiment of the present invention.
9B is a flow diagram illustrating a method for a device to receive file segmentation information from a cloud storage and receive fragmented files from cloud storage based on file segmentation information, in accordance with an embodiment of the present invention.
9C is a diagram illustrating a method for a user's other device to receive file segmentation information from a cloud storage and receive a piece of file from a cloud storage based on the received file segmentation information, according to an embodiment of the present invention.
10 is a diagram illustrating a method in which a device receives file partition information from an external server and receives a plurality of file fragments from the cloud storage based on the file partition information, according to an embodiment of the present invention.
Figures 11A through 11E illustrate how a device displays a list of files as a user's files are distributed and stored, according to one embodiment of the present invention.
12A and 12B are diagrams for explaining a method of displaying a distributedly stored file according to an embodiment of the present invention in which a device divides a file stored only in a device and distributes the file to a plurality of cloud storage devices.
13 is a diagram for explaining a method of providing a user interface for selecting a cloud storage device in which a device distributes files, according to an embodiment of the present invention.
14A and 14B are diagrams for explaining a method in which a device duplicates the same file fragments in a plurality of cloud storages according to an embodiment of the present invention.
FIG. 14C is a diagram showing file fragments stored in a plurality of cloud storages according to an embodiment of the present invention, in which file fragments corresponding to a plurality of files are redundantly stored in a plurality of cloud storages.
14D is a diagram illustrating a method of receiving a piece of a file from a plurality of cloud storages when one of the plurality of cloud storages is not operated according to an embodiment of the present invention.
FIG. 15 is a diagram for explaining a method in which a device simultaneously receives pieces of the same file from a plurality of cloud storages, as the same file fragments are redundantly stored in a plurality of cloud storages, according to an embodiment of the present invention.
16A and 16B are diagrams for explaining a method of encrypting a file by a device according to an embodiment of the present invention.
17A and 17B are diagrams for explaining how a device encrypts a file according to another embodiment of the present invention.
18A and 18B are diagrams for explaining how a device receives information for encryption from a user to encrypt a file, according to an embodiment of the present invention.
19 is a diagram showing a module in a device that performs a function of distributing and storing files according to an embodiment of the present invention.
20 is a diagram for explaining a method in which a device divides a file and distributes the file to a plurality of cloud storages according to an embodiment of the present invention.
Figure 21 shows a block diagram for a device, in accordance with an embodiment of the present invention.
22 is a block diagram showing the configuration of a device according to another embodiment of the present invention.
Figure 23 shows a block diagram for cloud storage, in accordance with an embodiment of the present invention.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. The terms used in this specification will be briefly described and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term, not on the name of a simple term, but on the entire contents of the present invention.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When an element is referred to as "including" an element throughout the specification, it is to be understood that the element may include other elements as well, without departing from the spirit or scope of the present invention. Also, the terms "part," " module, "and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .

명세서 전체에서, “분산 저장”이란, 파일을 복수개의 파일 조각으로 분할하고, 분할된 파일 조각을 복수개의 클라우드 서버에 분산하여 저장하는 것을 의미할 수 있다. Throughout the specification, " distributed storage " may mean that a file is divided into a plurality of file fragments, and the fragmented file fragments are distributed and stored in a plurality of cloud servers.

명세서 전체에서, “클라우드 스토리지”는 사용자의 파일을 저장하는 장치를 의미할 수 있다. 클라우드 스토리지는 하나의 저장 장치로 구성될 수 있으며, 복수의 저장 장치로 구성될 수도 있다.Throughout the specification, " cloud storage " may refer to a device that stores a user's file. The cloud storage may be composed of one storage device or a plurality of storage devices.

또한, 클라우드 스토리지는 사용자들에게 파일 저장 서비스를 제공하는 서비스 프로바이더에 의해 운용될 수 있다. 예를 들어, 서비스 프로바이더는 서비스에 가입한 사용자들에게 유료 또는 무료로 파일 저장 공간을 제공할 수 있다. 또한, 클라우드 스토리지는 네트워크를 통해 사용자의 디바이스로 사용자의 파일을 송신하거나, 사용자의 디바이스로부터 사용자의 파일을 수신할 수 있다. In addition, cloud storage may be operated by a service provider that provides file storage services to users. For example, a service provider may provide paid or free file storage space to subscribed users of the service. In addition, the cloud storage can transmit a user's file to the user's device via the network or receive the user's file from the user's device.

사용자가 서비스 프로바이더가 제공하는 서비스에 가입함에 따라, 사용자는 클라우드 스토리지에 사용자 고유의 계정을 등록할 수 있다. 클라우드 스토리지는 클라우드 스토리지에 등록된 사용자의 계정에 기초하여, 사용자의 파일을 저장할 수 있다. 또한, 클라우드 스토리지는 사용자의 계정에 기초하여, 저장된 사용자의 파일을 사용자의 디바이스 또는 사용자의 공유자의 디바이스로 전송할 수 있다. As a user subscribes to a service provided by a service provider, the user can register his or her own account in the cloud storage. The cloud storage can store the user's files based on the account of the user registered in the cloud storage. The cloud storage may also transfer the stored user's file to the user's device or to the user's sharer's device based on the user's account.

또한, 클라우드 스토리지는 사용자가 설정한 사용자의 파일에 대한 접근 정책에 따라, 사용자의 파일에 대하여 다른 사용자의 접근을 제한할 수 있다. 예를 들어, 클라우드 스토리지는, 사용자가 접근 허락한 사용자에게만 사용자의 파일에 대한 접근을 허용할 수 있다. 또한, 클라우드 스토리지는 사용자의 설정에 따라, 모든 사용자에게 사용자의 파일에 대한 접근을 허여할 수도 있다.In addition, cloud storage can restrict access by another user to a user's file according to the access policy of the user's file set by the user. For example, cloud storage can allow users access to files only to users that the user has granted access to. In addition, cloud storage may allow all users access to the user's files, depending on the user's configuration.

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

도 1은 본 발명의 일 실시예에 따른, 디바이스(100)가 복수개의 클라우드 스토리지(1000)에 파일을 분산 저장하는 방법을 나타내는 도면이다.1 is a diagram illustrating a method in which a device 100 distributes files to a plurality of cloud storages 1000 according to an embodiment of the present invention.

도 1을 참조하면, 디바이스(100)는 파일(50)을 복수개의 파일 조각(50_1, 50_2, 50_3)으로 분할하고, 분할된 복수개의 파일 조각(50_1, 50_2, 50_3)을 복수개의 클라우드 스토리지(1000a, 1000b, 1000c)에 분산하여 저장할 수 있다. Referring to FIG. 1, the device 100 divides a file 50 into a plurality of file pieces 50_1, 50_2, and 50_3, and divides the plurality of divided file pieces 50_1, 50_2, and 50_3 into a plurality of cloud storage 1000a, 1000b, 1000c).

예를 들어, 디바이스(100)는 파일(50)을 분산 저장할 것을 요청하는 사용자 입력을 수신할 수 있다. 파일(50)을 분산 저장할 것을 요청하는 사용자 입력을 수신함에 따라, 디바이스(100)는 파일(50)을 분할하여 복수개의 파일 조각(50_1, 50_2, 50_3)을 생성하고, 디바이스(100)의 사용자가 등록된 복수개의 클라우드 스토리지(1000) 중, 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각을 저장할 클라우드 스토리지(1000)를 결정할 수 있다. For example, the device 100 may receive user input requesting to distribute the file 50 in a distributed manner. Upon receiving a user input requesting to distribute and store the file 50, the device 100 divides the file 50 to generate a plurality of file fragments 50_1, 50_2, and 50_3, It is possible to determine the cloud storage 1000 to store each of the plurality of file fragments corresponding to each of the plurality of file fragments among the plurality of cloud storage devices 1000 registered with the cloud storage 1000. [

파일 조각을 저장할 클라우드 스토리지(1000)를 결정함에 따라, 디바이스(100)는 결정된 클라우드 스토리지(1000)에게, 복수개의 파일 조각 각각을 저장할 것을 요청할 수 있다. 예를 들어, 디바이스(100)는 “파일 조각 1”(50_1)을 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 ID에 대응하여 저장할 것을 제 1 클라우드 스토리지(1000a)에게 요청할 수 있다. 클라우드 스토리지(1000)는 수신된 사용자의 식별 정보에 대응하여 각각의 파일 조각을 저장할 수 있다. By determining the cloud storage 1000 to store the file fragments, the device 100 can request the determined cloud storage 1000 to store each of the plurality of file fragments. For example, the device 100 may request the first cloud storage 1000a to store "file fragment 1" 50_1 corresponding to the ID of the user registered in the first cloud storage 1000a. The cloud storage 1000 may store each file fragment corresponding to the identification information of the received user.

또한, 디바이스(100)는 파일 분할 정보를 디바이스(100) 또는 클라우드 스토리지(1000)에 저장할 수 있다. 파일 분할 정보는 복수개의 파일 조각의 식별 정보들 및 복수개의 파일 조각이 저장된 클라우드 스토리지(1000)들의 식별 정보들을 포함할 수 있다. The device 100 may also store the file partition information in the device 100 or in the cloud storage 1000. The file partition information may include identification information of a plurality of file fragments and identification information of the cloud storage 1000 in which a plurality of file fragments are stored.

또한, 디바이스(100)는 복수개의 파일 조각(50_1, 50_2, 50_3)을 복수개의 클라우드 스토리지(1000)로부터 수신하고, 수신된 복수개의 파일 조각(50_1, 50_2, 50_3)을 조합(Merge)하여 파일(50)을 다시 생성할 수 있다. The device 100 also receives a plurality of file fragments 50_1, 50_2 and 50_3 from the plurality of cloud storages 1000 and merges the received plurality of file fragments 50_1, 50_2 and 50_3, Lt; RTI ID = 0.0 > 50 < / RTI >

예를 들어, 디바이스(100)는 복수개의 파일 조각으로 분할된 파일의 식별 정보(52)를 선택하는 사용자 입력을 수신할 수 있다. 선택된 파일이 복수개의 파일 조각으로 분할되어 복수개의 클라우드 스토리지(1000)에 분산 저장된 파일인 경우, 디바이스(100)는 파일 분할 정보에 기초하여, 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지(1000)들을 결정할 수 있다. 디바이스(100)는 복수개의 파일 조각 각각을, 복수개의 파일 조각 각각에 대응되는 클라우드 스토리지들(1000)에게 요청하여 수신할 수 있다. 디바이스(100)는 수신된 복수개의 파일 조각(50_1, 50_2, 50_3)을 조합하여 파일(50)을 생성하고, 생성된 파일(50)을 실행할 수 있다. For example, the device 100 may receive a user input that selects the identification information 52 of a file divided into a plurality of file fragments. When the selected file is divided into a plurality of file fragments and distributed to the plurality of cloud storages 1000, the device 100 generates, based on the file division information, a plurality of file fragments Can determine the stored cloud storage (s) 1000. The device 100 can request and receive each of the plurality of file fragments from the cloud storages 1000 corresponding to each of the plurality of file fragments. The device 100 may combine the received plurality of file fragments 50_1, 50_2 and 50_3 to generate the file 50 and execute the generated file 50. [

도 2는 본 발명의 일 실시예에 따른, 디바이스(100)가 파일을 복수개의 파일 조각으로 분할하고, 분할된 파일 조각을 클라우드 스토리지(1000)에 분산 저장하는 방법을 설명하는 흐름도이다.2 is a flow chart illustrating a method in which a device 100 divides a file into a plurality of file fragments and distributes the fragmented file fragments to the cloud storage 1000, according to an embodiment of the present invention.

단계 S210에서, 디바이스(100)는 디바이스(100)에 저장된 파일을 분할하여 복수개의 파일 조각을 생성할 수 있다. In step S210, the device 100 may divide the file stored in the device 100 to generate a plurality of file fragments.

디바이스(100)에 저장된 파일은 디바이스(100)에 기 저장된 파일일 수 있다. 또한, 디바이스(100)에 저장된 파일은 클라우드 스토리지(1000)로부터 수신된 파일일 수 있다.The file stored in the device 100 may be a file stored in the device 100 in advance. In addition, the file stored in the device 100 may be a file received from the cloud storage 1000.

디바이스(100)는 파일을 암호화하고, 암호화된 파일을 분할함으로써 복수개의 파일 조각을 생성할 수 있다. 또한, 디바이스(100)는 파일을 분할하여 복수개의 파일 조각을 생성하고, 복수개의 파일 조각 중 적어도 하나의 조각을 암호화할 수도 있다.The device 100 can encrypt a file and generate a plurality of file fragments by dividing the encrypted file. The device 100 may also divide the file into a plurality of file fragments and may encrypt at least one fragment of the plurality of file fragments.

단계 S220에서, 디바이스(100)는 디바이스(100)의 사용자가 등록된 복수개의 클라우드 스토리지(1000) 중, 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각을 저장할 클라우드 스토리지(1000)들을 결정할 수 있다.In step S220, the device 100 determines the cloud storage devices 1000 in which to store the plurality of file fragments, corresponding to each of the plurality of file fragments among the plurality of cloud storage devices 1000 in which the user of the device 100 is registered .

디바이스(100)는 클라우드 스토리지(1000)의 저장 용량, 파일에 설정된 보안 등급 또는 클라우드 스토리지(1000)를 선택하는 사용자 입력에 기초하여, 복수개의 파일 조각 각각을 저장할 클라우드 스토리지(1000)들을 결정할 수 있다.The device 100 may determine the cloud storage 1000 to store each of the plurality of file fragments based on the storage capacity of the cloud storage 1000, the security level set in the file, or a user input for selecting the cloud storage 1000 .

또한, 디바이스(100)는 복수개의 파일 조각 중 하나의 파일 조각에 대응하여, 파일 조각을 저장할 하나의 클라우드 스토리지(1000)를 결정할 수 있다. 또한, 디바이스(100)는 복수개의 파일 조각 중 하나의 파일 조각에 대응하여, 파일 조각을 저장할 복수개의 클라우드 스토리지(1000)를 결정할 수 있다. In addition, the device 100 may determine one cloud storage 1000 to store the file fragments, corresponding to one file fragment of the plurality of file fragments. In addition, the device 100 may determine a plurality of cloud storages 1000 to store the file fragments, corresponding to one file fragment of the plurality of file fragments.

단계 S230에서, 디바이스(100)는 결정된 클라우드 스토리지(1000)들에게, 복수개의 파일 조각 각각을 저장할 것을 요청할 수 있다. In step S230, the device 100 may request the determined cloud storage 1000 to store each of the plurality of file fragments.

예를 들어, 디바이스(100)는 제 1 클라우드 스토리지(1000a)의 주소 정보에 기초하여, 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 식별 정보에 대응하여 제 1 파일 조각을 저장할 것을 제 1 클라우드 스토리지(1000a)에게 요청할 수 있다.For example, based on the address information of the first cloud storage 1000a, the device 100 can store the first file fragment corresponding to the identification information of the user registered in the first cloud storage 1000a, And can request the storage 1000a.

이 경우, 디바이스(100)는 제 1 클라우드 스토리지(1000a) 내에서 제 1 파일 조각이 저장될 위치를 함께 전송할 수도 있다. 예를 들어, 제 1 클라우드 스토리지(1000a) 내에서 제 1 파일 조각이 저장될 위치는 파일의 원본이 저장되어 있던 폴더, 디폴트 폴더, 루트 폴더 등일 수 있다. 또한, 디바이스(100)는 제 1 파일 조각이 저장될 폴더를 선택하는 사용자 입력을 수신하고, 선택된 폴더의 식별 정보를 제 1 파일 조각이 저장될 폴더로써 제 1 클라우드 스토리지(1000a)에게 전송할 수도 있다. In this case, the device 100 may also transmit the location in which the first file fragment is to be stored in the first cloud storage 1000a. For example, the location where the first file fragment is to be stored in the first cloud storage 1000a may be a folder in which the original of the file is stored, a default folder, a root folder, and the like. In addition, the device 100 may receive a user input for selecting a folder in which the first file fragment is to be stored, and may transmit the identification information of the selected folder to the first cloud storage 1000a as a folder in which the first file fragment is to be stored .

디바이스(100) 복수의 클라우드 스토리지(1000)에 파일 조각을 순차적으로 저장할 수 있다. 예를 들어, 디바이스(100)는 제 1 클라우드 스토리지(1000a)에 제 1 파일 조각을 저장한 후, 제 2 클라우드 스토리지(1000a)에 제 2 파일 조각을 저장할 수 있다. 또한, 디바이스(100)는 복수의 클라우드 스토리지(1000)에 파일 조각을 동시에 저장할 수 있다. 예를 들어, 디바이스(100)는 각각의 클라우드 스토리지(1000)와의 세션을 동시에 유지하고, 각각의 클라우드 스토리지(1000)에 파일 조각을 동시에 저장할 수 있다. Device 100 can sequentially store pieces of files in a plurality of cloud storage 1000s. For example, the device 100 may store a first file fragment in the first cloud storage 1000a and then a second file fragment in the second cloud storage 1000a. In addition, the device 100 may simultaneously store pieces of files in a plurality of cloud storages 1000. For example, the device 100 may simultaneously maintain a session with each cloud storage 1000 and simultaneously store pieces of the file in each cloud storage 1000.

또한, 디바이스(100)는, 복수개의 클라우드 스토리지(1000) 중 적어도 하나에게, 복수개의 파일 조각의 식별 정보 및 복수개의 파일 조각을 저장할 클라우드 스토리지(1000)의 식별 정보를 포함하는 파일 분할 정보를 저장할 것을 요청할 수 있다. In addition, the device 100 may store, in at least one of the plurality of cloud storages 1000, file division information including identification information of a plurality of file fragments and identification information of the cloud storage 1000 for storing a plurality of file fragments .

또한, 디바이스(100)에 저장된 파일이 복수개의 클라우드 스토리지(1000) 중 하나 및 디바이스(100)에 함께 저장된 파일인 경우, 디바이스(100)는 파일이 저장된 클라우드 스토리지(1000)에게, 파일을 삭제할 것을 요청할 수 있다.In addition, if the file stored in the device 100 is a file stored in one of the plurality of cloud storage devices 1000 and the device 100, the device 100 may delete the file to the cloud storage 1000 storing the file Can be requested.

복수개의 파일 조각 각각이 결정된 클라우드 스토리지(1000)들에게 각각 저장됨에 따라, 디바이스(100)는 파일을, 디바이스 내의 분산 저장된 파일을 위한 미리 정해진 폴더 내로 이동시킬 수도 있다.As each of the plurality of file fragments is stored in each determined cloud storage 1000, the device 100 may move the file into a predetermined folder for distributed stored files in the device.

도 3는 본 발명의 다른 실시예에 따른, 디바이스(100)가 파일을 분산 저장하는 방법을 설명하는 흐름도이다.Figure 3 is a flow diagram illustrating a method by which a device 100 distributes files in accordance with another embodiment of the present invention.

단계 S310에서, 디바이스(100)는 디바이스(100)에 저장된 파일을 분할하여 복수개의 파일 조각을 생성할 수 있다.In step S310, the device 100 may divide the file stored in the device 100 to generate a plurality of file fragments.

디바이스(100)에 저장된 파일은 디바이스(100)에 기 저장된 파일일 수 있다. 디바이스(100)에 기 저장된 파일 중 하나를 선택하고, 선택된 파일을 분산 저장하는 사용자 입력을 수신함에 따라, 디바이스(100)는 선택된 파일을 분할하여 복수개의 파일 조각을 생성할 수 있다.The file stored in the device 100 may be a file stored in the device 100 in advance. Upon receiving a user input for selecting one of the files stored in the device 100 and distributing and storing the selected file, the device 100 may divide the selected file into a plurality of file fragments.

또한, 디바이스(100)에 저장된 파일은 클라우드 스토리지(1000)로부터 수신된 파일일 수 있다. 예를 들어, 디바이스(100)에는 클라우드 스토리지(1000)에 저장된 사용자의 파일의 컨텐츠 데이터를 제외한 파일의 메타데이터만이 저장되어 있을 수 있다. 파일의 메타데이터는 파일의 목록을 포함할 수 있다. 파일의 목록 중 하나를 선택하는 사용자 입력 및 선택된 파일을 분산 저장하는 사용자 입력을 수신함에 따라, 디바이스(100)는 클라우드 스토리지(1000)에게 선택된 파일의 컨텐츠 데이터를 요청하여 수신할 수 있다. 클라우드 스토리지(1000)로부터 선택된 파일의 컨텐츠 데이터를 수신함에 따라, 디바이스(100)는 클라우드 스토리지(1000)로부터 수신된 파일의 컨텐츠 데이터를 분할하여 복수개의 파일 조각을 생성할 수 있다.In addition, the file stored in the device 100 may be a file received from the cloud storage 1000. For example, the device 100 may store only metadata of a file excluding content data of a user's file stored in the cloud storage 1000. The metadata of the file may include a list of files. The device 100 may request and receive the content data of the selected file from the cloud storage 1000 as the user inputs input to select one of the list of files and user input to distribute the selected file. Upon receiving the content data of the selected file from the cloud storage 1000, the device 100 may divide the content data of the file received from the cloud storage 1000 to generate a plurality of file fragments.

디바이스(100)는 디바이스(100)의 사용자가 등록된 클라우드 스토리지(1000)의 개수에 기초하여, 파일을 복수개의 파일 조각으로 분할할 수 있다. 예를 들어, 디바이스(100)는 파일을, 디바이스(100)의 사용자가 등록된 클라우드 스토리지(1000) 개수만큼의 파일 조각으로 분할할 수 있다. 또한, 디바이스(100)는 파일을 기 결정된 크기로 분할할 수도 있다.The device 100 may divide the file into a plurality of file fragments based on the number of the cloud storages 1000 to which the user of the device 100 is registered. For example, the device 100 may divide a file into as many pieces of file as the number of cloud storage devices 1000 to which the user of the device 100 is registered. The device 100 may also divide the file into predetermined sizes.

디바이스(100)는 파일을 암호화하고, 암호화된 파일을 분할함으로써 복수개의 파일 조각을 생성할 수 있다. 또한, 디바이스(100)는 파일을 분할하여 복수개의 파일 조각을 생성하고, 복수개의 파일 조각 중 적어도 하나의 조각을 암호화할 수 있다.The device 100 can encrypt a file and generate a plurality of file fragments by dividing the encrypted file. In addition, the device 100 may split the file to generate a plurality of file fragments, and may encrypt at least one fragment of the plurality of file fragments.

단계 S315에서, 디바이스(100)는 디바이스(100)의 사용자가 등록된 복수개의 클라우드 스토리지(1000) 중, 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각을 저장할 클라우드 스토리지(1000)들을 결정할 수 있다.In step S315, the device 100 determines the cloud storage devices 1000 to store each of the plurality of file fragments corresponding to each of the plurality of file fragments among the plurality of cloud storage devices 1000 in which the user of the device 100 is registered .

디바이스(100)는 파일 조각을 저장할 클라우드 스토리지(1000)를 선택하기 위한 사용자 인터페이스를 제공하고, 선택된 클라우드 스토리지(1000)에만 파일이 분산 저장되도록 클라우드 스토리지(1000)를 결정할 수 있다.The device 100 may provide a user interface for selecting the cloud storage 1000 to store the file fragments and may determine the cloud storage 1000 so that the files are distributedly stored only in the selected cloud storage 1000. [

또한, 디바이스(100)는 클라우드 스토리지(1000)로부터 사용자에게 할당된 저장 공간의 용량에 대한 정보를 수신하고, 남은 용량이 기준 이상이 되는 클라우드 스토리지(1000)에만 파일이 분산 저장되도록 클라우드 스토리지(1000)를 결정할 수도 있다.In addition, the device 100 receives information on the capacity of the storage space allocated to the user from the cloud storage 1000, and stores the files in the cloud storage 1000 so that the remaining capacity is equal to or greater than the reference ) May be determined.

또한, 디바이스(100)는 파일에 설정된 보안 등급에 기초하여, 보안 등급이 높을수록 파일이 복수개의 클라우드 스토리지(1000)에 최대한 분산 저장되도록, 클라우드 스토리지(1000)를 결정할 수 있다.In addition, the device 100 can determine the cloud storage 1000 based on the security level set in the file, so that the higher the security level, the more the files are distributed and stored in the plurality of cloud storages 1000 as much as possible.

또한, 디바이스(100)는 복수개의 파일 조각 중 하나의 파일 조각에 대응하여, 파일 조각을 저장할 하나의 클라우드 스토리지(1000)를 결정할 수 있다. 또한, 디바이스(100)는 복수개의 파일 조각 중 하나의 파일 조각에 대응하여, 파일 조각을 저장할 복수개의 클라우드 스토리지(1000)를 결정할 수 있다. In addition, the device 100 may determine one cloud storage 1000 to store the file fragments, corresponding to one file fragment of the plurality of file fragments. In addition, the device 100 may determine a plurality of cloud storages 1000 to store the file fragments, corresponding to one file fragment of the plurality of file fragments.

단계 S320에서, 디바이스(100)는 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 식별 정보에 대응하여 제 1 파일 조각을 저장할 것을 제 1 클라우드 스토리지(1000a)에게 요청할 수 있다.In step S320, the device 100 may request the first cloud storage 1000a to store the first file fragment corresponding to the identification information of the user registered in the first cloud storage 1000a.

디바이스(100)에는 제 1 클라우드 스토리지(1000a)의 주소 정보가 저장되어 있을 수 있다. 또한, 디바이스(100)에는 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 계정 정보가 저장되어 있을 수 있다. 사용자의 계정 정보는 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 식별 정보 및 비밀 번호 정보를 포함할 수 있다. 또한, 사용자 계정 정보는, 제 1 클라우드 스토리지(1000a)가 디바이스(100)로부터 수신한 사용자 식별 정보 및 비밀 번호에 기초하여 사용자를 인증함에 따라 디바이스(100)에게 발급한 접근 정보를 포함할 수도 있다. 또한, 사용자의 계정 정보는 디바이스(100)와 제 1 클라우드 스토리지(1000a)간의 세션 유지를 위한 세션 유지 정보를 포함할 수 있다. The device 100 may store address information of the first cloud storage 1000a. In addition, the device 100 may store account information of a user registered in the first cloud storage 1000a. The user's account information may include identification information and password information of the user registered in the first cloud storage 1000a. In addition, the user account information may include access information issued to the device 100 by the first cloud storage 1000a authenticating the user based on the user identification information and the password received from the device 100 . In addition, the user's account information may include session maintenance information for maintaining a session between the device 100 and the first cloud storage 1000a.

디바이스(100)는 제 1 클라우드 스토리지(1000a)의 주소 정보를 이용하여, 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 식별 정보에 대응하여 제 1 파일 조각을 저장할 것을 제 1 클라우드 스토리지(1000a)에게 요청할 수 있다.The device 100 uses the address information of the first cloud storage 1000a to store the first file fragment corresponding to the identification information of the user registered in the first cloud storage 1000a in the first cloud storage 1000a, .

파일 조각 저장 요청은 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 계정 정보를 포함할 수 있다. 또한, 파일 조각 저장 요청은 파일 조각이 저장될 폴더의 식별 정보를 포함할 수도 있다. 또한, 파일 조각 저장 요청은 전송되는 파일이 파일 조각임을 나타내는 정보를 포함할 수도 있다.The file fragment storage request may include account information of a user registered in the first cloud storage 1000a. In addition, the file fragment storage request may include identification information of a folder in which a file fragment is to be stored. The file fragment storage request may also include information indicating that the file being transferred is a file fragment.

단계 S325에서, 제 1 클라우드 스토리지(1000a)는, 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 식별 정보에 대응하여 제 1 파일 조각을 저장할 수 있다.In step S325, the first cloud storage 1000a may store the first file fragment corresponding to the identification information of the user registered in the first cloud storage 1000a.

제 1 클라우드 스토리지(1000a)는 디바이스(100)로부터 수신된 사용자의 계정 정보에 기초하여, 제 1 클라우드 스토리지(1000a)에 대하여 사용자가 파일을 저장할 권한이 있는지 여부를 판단할 수 있다. The first cloud storage 1000a may determine whether the user is authorized to store the file on the first cloud storage 1000a based on the account information of the user received from the device 100. [

사용자에게 제 1 클라우드 스토리지(1000a)에 대하여 파일을 저장할 권한 있는 경우, 제 1 클라우드 스토리지(1000a)는 디바이스(100)로부터 수신된 제 1 파일 조각을 사용자의 식별 정보에 대응하여 저장할 수 있다. If the user is authorized to store files for the first cloud storage 1000a, the first cloud storage 1000a may store the first file fragments received from the device 100 corresponding to the user's identification information.

또한, 디바이스(100)로부터 제 1 파일 조각이 저장될 폴더의 식별 정보를 수신한 경우, 제 1 클라우드 스토리지(1000a)는 폴더의 식별 정보에 기초하여, 제 1 파일 조각을 저장할 폴더의 위치를 결정하고, 결정한 폴더 내에 제 1 파일 조각을 저장할 수 있다. When the identification information of the folder in which the first file fragment is to be stored is received from the device 100, the first cloud storage 1000a determines the position of the folder for storing the first file fragment, based on the identification information of the folder And store the first file fragment in the determined folder.

또한, 디바이스(100)로부터 수신된 제 1 파일 조각이 파일 조각임을 나타내는 정보를 수신한 경우, 제 1 클라우드 스토리지(1000a)는 기 결정된 파일 조각 저장 폴더에 제 1 파일 조각을 저장할 수도 있다. In addition, when receiving information indicating that the first file fragment received from the device 100 is a file fragment, the first cloud storage 1000a may store the first file fragment in the predetermined file fragment storage folder.

단계 S330에서, 디바이스(100)는, 제 2 클라우드 스토리지(1000b)에 등록된 사용자의 식별 정보에 대응하여 제 2 파일 조각을 저장할 것을 제 2 클라우드 스토리지(1000b)에게 요청할 수 있다. In step S330, the device 100 may request the second cloud storage 1000b to store the second file fragment corresponding to the identification information of the user registered in the second cloud storage 1000b.

디바이스(100)에는 제 2 클라우드 스토리지(1000b)의 주소 정보가 저장되어 있을 수 있다. 또한, 디바이스(100)에는 제 2 클라우드 스토리지(1000b)에 등록된 사용자의 계정 정보가 저장되어 있을 수 있다. The device 100 may store address information of the second cloud storage 1000b. In addition, the device 100 may store account information of a user registered in the second cloud storage 1000b.

디바이스(100)는 제 2 클라우드 스토리지(1000b)의 주소 정보에 기초하여, 제 2 클라우드 스토리지(1000b)에 등록된 사용자의 식별 정보에 대응하여 제 2 파일 조각을 저장할 것을 제 2 클라우드 스토리지(1000b)에게 요청할 수 있다.The device 100 notifies the second cloud storage 1000b to store the second file fragment corresponding to the identification information of the user registered in the second cloud storage 1000b based on the address information of the second cloud storage 1000b. .

단계 S335에서, 제 2 클라우드 스토리지(1000b)는, 제 2 클라우드 스토리지(1000b)에 등록된 사용자의 식별 정보에 대응하여 제 2 파일 조각을 저장할 수 있다. In step S335, the second cloud storage 1000b may store the second file fragment corresponding to the identification information of the user registered in the second cloud storage 1000b.

제 2 클라우드 스토리지(1000b)는 디바이스(100)로부터 수신된 사용자의 계정 정보에 기초하여, 제 2 클라우드 스토리지(1000b)에 대하여 사용자가 파일을 저장할 권한이 있는지 여부를 판단할 수 있다. The second cloud storage 1000b may determine whether the user is authorized to store the file on the second cloud storage 1000b based on the account information of the user received from the device 100. [

사용자에게 제 2 클라우드 스토리지(1000b)에 대하여 파일을 저장할 권한 있는 경우, 제 2 클라우드 스토리지(1000b)는 디바이스(100)로부터 수신된 제 2 파일 조각을 사용자의 식별 정보에 대응하여 저장할 수 있다. If the user is authorized to store a file for the second cloud storage 1000b, the second cloud storage 1000b may store the second piece of the file received from the device 100 in association with the identification information of the user.

단계 S340에서, 디바이스(100)는, 제 3 클라우드 스토리지(1000c)에 등록된 사용자의 식별 정보에 대응하여 제 3 파일 조각을 저장할 것을 제 3 클라우드 스토리지(1000c)에게 요청할 수 있다. In step S340, the device 100 may request the third cloud storage 1000c to store the third file fragment corresponding to the identification information of the user registered in the third cloud storage 1000c.

디바이스(100)에는 제 3 클라우드 스토리지(1000c)의 주소 정보가 저장되어 있을 수 있다. 또한, 디바이스(100)에는 제 3 클라우드 스토리지(1000c)에 등록된 사용자의 계정 정보가 저장되어 있을 수 있다. The device 100 may store address information of the third cloud storage 1000c. In addition, the device 100 may store account information of a user registered in the third cloud storage 1000c.

디바이스(100)는 제 3 클라우드 스토리지(1000c)의 주소 정보에 기초하여, 제 3 클라우드 스토리지(1000c)에 등록된 사용자의 식별 정보에 대응하여 제 3 파일 조각을 저장할 것을 제 3 클라우드 스토리지(1000c)에게 요청할 수 있다.The device 100 notifies the third cloud storage 1000c that the third file fragment is to be stored in correspondence with the identification information of the user registered in the third cloud storage 1000c based on the address information of the third cloud storage 1000c. .

단계 S345에서, 제 3 클라우드 스토리지(1000c)는, 제 3 클라우드 스토리지(1000c)에 등록된 사용자의 식별 정보에 대응하여 제 3 파일 조각을 저장할 수 있다.In step S345, the third cloud storage 1000c may store the third file fragment corresponding to the identification information of the user registered in the third cloud storage 1000c.

제 3 클라우드 스토리지(1000c)는 디바이스(100)로부터 수신된 사용자의 계정 정보에 기초하여, 제 3 클라우드 스토리지(1000c)에 대하여 사용자가 파일을 저장할 권한이 있는지 여부를 판단할 수 있다. The third cloud storage 1000c may determine whether the user is authorized to store the file on the third cloud storage 1000c based on the account information of the user received from the device 100. [

사용자에게 제 3 클라우드 스토리지(1000c)에 대하여 파일을 저장할 권한 있는 경우, 제 3 클라우드 스토리지(1000c)는 디바이스(100)로부터 수신된 제 3 파일 조각을 사용자의 식별 정보에 대응하여 저장할 수 있다. If the user is authorized to store files for the third cloud storage 1000c, the third cloud storage 1000c may store the third file fragments received from the device 100 corresponding to the user's identification information.

단계 S350에서, 디바이스(100)는 파일 분할 정보를 생성할 수 있다.In step S350, the device 100 may generate file partition information.

파일 분할 정보는 제 1 내지 제 3 파일 조각의 식별 정보 및 제 1 내지 제 3 파일 조각을 저장하는 클라우드 스토리지(1000)의 식별 정보를 포함할 수 있다. 또한, 파일 분할 정보는 파일의 식별 정보, 파일이 위치하는 디바이스(100)의 디렉토리 정보, 파일의 크기 정보, 파일 조각 각각의 크기 정보, 파일 내에서 파일 조각 각각의 위치 정보 및 파일 내에서 파일 조각의 순서 정보를 포함할 수 있다. The file partition information may include identification information of the first to third file fragments and identification information of the cloud storage 1000 that stores the first to third file fragments. The file division information includes identification information of the file, directory information of the device 100 where the file is located, file size information, size information of each file fragment, location information of each file fragment in the file, And the like.

디바이스(100)는 파일 분할 정보를 파일 형태로 저장할 수 있다. 파일 분할 정보가 저장된 파일은 파일 분할 정보 파일로 언급될 수 있다. 실시예에 따라, 하나의 파일 분할 정보 파일에는 분산 저장된 모든 파일에 대한 파일 분할 정보가 기록될 수 있다. 또한, 실시예에 따라, 하나의 파일 분할 정보 파일에는 하나의 파일에 대한 파일 분할 정보가 기록될 수도 있다.The device 100 may store the file division information in the form of a file. The file in which the file division information is stored may be referred to as a file division information file. According to the embodiment, file division information for all files distributed and stored in one file division information file can be recorded. Also, according to the embodiment, file division information for one file may be recorded in one file division information file.

디바이스(100)는 파일 분할 정보 파일을 디바이스(100)에 저장할 수 있다. 또한, 디바이스(100)는 파일 분할 정보 파일을, 클라우드 스토리지(1000)에 등록된 사용자의 식별 정보에 대응하여 저장할 것을, 복수의 클라우드 스토리지(1000) 중 적어도 하나에게 요청할 수도 있다. The device 100 may store the file partition information file in the device 100. In addition, the device 100 may request at least one of the plurality of cloud storages 1000 to store the file division information file corresponding to the identification information of the user registered in the cloud storage 1000.

실시예에 따라, 디바이스(100)는 파일 분할 정보를 데이터베이스 형태로 저장할 수 있다. 파일 분할 정보가 저장된 데이터베이스는 파일 분할 정보 데이터베이스로 언급될 수 있다. According to an embodiment, the device 100 may store the file partition information in the form of a database. The database in which the file division information is stored may be referred to as a file division information database.

예를 들어, 디바이스(100)는 디바이스(100)내에 파일 분할 정보 데이터베이스를 생성할 수 있다. 또한, 디바이스(100)는 외부 서버에 사용자의 식별 정보에 대응하여 파일 분할 정보 데이터베이스를 생성할 수 있다. 또한, 디바이스(100)는, 클라우드 스토리지(1000)에 등록된 사용자의 식별 정보에 대응하여, 클라우드 스토리지(1000)에게 파일 분할 정보 데이터베이스를 생성할 것을 요청할 수도 있다. 디바이스(100)는 생성한 데이터베이스 내에 하나의 파일의 식별 정보에 대응하여 하나의 파일에 대한 파일 분할 정보를 저장할 수 있다.For example, the device 100 may create a file partition information database within the device 100. In addition, the device 100 can create a file division information database in correspondence with the identification information of the user to the external server. The device 100 may also request the cloud storage 1000 to create a file partition information database in response to the identification information of the user registered in the cloud storage 1000. [ The device 100 may store the file division information for one file in correspondence with the identification information of one file in the generated database.

또한, 디바이스(100)에 저장된 파일이 복수개의 클라우드 스토리지(1000) 중 하나 및 디바이스(100)에 함께 저장된 파일인 경우, 디바이스(100)는 파일이 저장된 클라우드 스토리지(1000)에게, 파일을 삭제할 것을 요청할 수 있다.In addition, if the file stored in the device 100 is a file stored in one of the plurality of cloud storage devices 1000 and the device 100, the device 100 may delete the file to the cloud storage 1000 storing the file Can be requested.

복수개의 파일 조각 각각이, 클라우드 스토리지(1000)들에게 각각 저장됨에 따라, 디바이스(100)는 파일을, 디바이스 내의 분산 저장된 파일을 위한 미리 정해진 폴더 내로 이동시킬 수도 있다.As each of the plurality of file fragments is each stored in the cloud storage 1000, the device 100 may move the file into a predetermined folder for distributed stored files in the device.

또한, 복수개의 파일 조각 각각이, 클라우드 스토리지(1000)들에게 각각 저장됨에 따라, 디바이스(100)는 파일이 복수의 클라우드 서버에 분산 저장되었음을 나타내는 정보를 파일의 메타데이터로써 저장할 수 있다. In addition, as each of the plurality of file fragments is stored in the cloud storage devices 1000, the device 100 can store information indicating that the files are stored in a plurality of cloud servers as metadata of the files.

도 4는 본 발명의 일 실시예에 따른, 디바이스(100)가 복수개의 파일 조각으로 분할된 파일을 클라우드 스토리지(1000)로부터 수신하여 실행하는 방법을 설명하는 흐름도이다.4 is a flowchart illustrating a method of receiving a file in which the device 100 is divided into a plurality of file fragments, from the cloud storage 1000, and executing the file, according to an embodiment of the present invention.

단계 S410에서, 디바이스(100)는 파일을 선택하는 사용자 입력을 수신할 수 있다. In step S410, the device 100 may receive a user input for selecting a file.

파일의 목록 중 하나를 선택하는 사용자 입력을 수신함으로써, 디바이스(100)는 파일을 선택하는 사용자 입력을 수신할 수 있다. By receiving a user input that selects one of a list of files, the device 100 may receive a user input for selecting the file.

또한, 디바이스(100)에는 파일이 복수개의 파일 조각으로 분할된 파일인지 여부가 파일의 식별 정보에 대응하여 파일의 메타데이터로써 저장되어 있을 수 있다. 파일을 실행할 것을 명령하는 사용자 입력을 수신함에 따라, 디바이스(100)는 파일의 메타데이터에 기초하여 파일이 복수개의 파일 조각으로 분할된 파일인지 여부를 판단할 수 있다. In the device 100, whether the file is a file divided into a plurality of file fragments may be stored as metadata of the file corresponding to the identification information of the file. Upon receiving the user input instructing to execute the file, the device 100 can determine whether the file is a file divided into a plurality of file fragments based on the metadata of the file.

단계 S420에서, 디바이스(100)는 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지(1000)들을 결정할 수 있다. In step S420, the device 100 may determine the cloud storage 1000 in which each of the plurality of file fragments is stored, corresponding to each of the plurality of file fragments divided from the file.

파일이 복수개의 파일 조각으로 분할된 파일인 경우, 디바이스(100)는 파일 분할 정보에 기초하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지(1000)들을 결정할 수 있다. 파일 분할 정보는 복수개의 파일 조각의 식별 정보 및 복수개의 파일 조각을 저장할 클라우드 스토리지(1000)의 식별 정보를 포함할 수 있다.If the file is a file divided into a plurality of file fragments, the device 100 can determine the cloud storage 1000 in which each of the plurality of file fragments is stored, based on the file partition information. The file partition information may include identification information of a plurality of file fragments and identification information of the cloud storage 1000 to store a plurality of file fragments.

디바이스(100)는 디바이스(100)에 저장된 파일 분할 정보를 획득할 수 있다. 또한, 디바이스(100)는 파일 분할 정보를 복수개의 클라우드 스토리지(1000) 중 적어도 하나로부터 수신할 수 있다. 또한, 디바이스(100)는 파일 분할 정보를 미리 정해진 외부 서버로부터 수신할 수 있다. The device 100 may obtain the file partition information stored in the device 100. [ In addition, the device 100 may receive the file partition information from at least one of the plurality of cloud storages 1000. In addition, the device 100 can receive the file division information from a predetermined external server.

단계 S430에서, 디바이스(100)는 복수개의 파일 조각 각각을, 결정된 클라우드 스토리지(1000)들로부터 각각 수신할 수 있다.In step S430, the device 100 may receive each of the plurality of file fragments from the determined cloud storage 1000, respectively.

복수개의 파일 조각 중 제 1 파일 조각이 복수개의 클라우드 스토리지(1000) 중 두 개 이상에 중복 저장된 파일 조각인 경우, 디바이스(100)는 제 1 파일 조각에 대응하여 두 개 이상의 클라우드 스토리지(1000) 중 하나를 선택하고, 선택된 클라우드 스토리지(1000)로부터 제 1 파일 조각을 수신할 수 있다.If the first file fragment of the plurality of file fragments is a fragment of a file that is redundantly stored in two or more of the plurality of cloud storages 1000, the device 100 may determine that two or more cloud storages 1000 Select one and receive the first file fragment from the selected cloud storage 1000.

또한, 복수개의 파일 조각 중 제 2 파일 조각이 복수개의 클라우드 스토리지(1000) 중 두 개 이상에 중복 저장된 파일 조각인 경우, 디바이스(100)는 두 개 이상의 클라우드 스토리지(1000)로부터 제 2 파일 조각의 서로 다른 부분을 동시에 수신할 수 있다. In addition, if the second file fragment of the plurality of file fragments is a fragment of a file that is redundantly stored in two or more of the plurality of cloud storages 1000, the device 100 may extract the second file fragment from the two or more cloud storages 1000, Different parts can be received at the same time.

단계 S440에서, 디바이스(100)는 수신된 복수개의 파일 조각을 조합하여 파일을 생성할 수 있다.In step S440, the device 100 can combine the received plurality of file fragments to generate a file.

복수개의 파일 조각이 파일이 복수개의 파일 조각으로 분할된 후 복수개의 파일 조각 각각에 대응하여 암호화된 파일 조각인 경우, 디바이스(100)는, 수신된 복수개의 파일 조각을 복호화하고, 복호화된 파일 조각을 조합하여 파일을 생성할 수 있다.When a plurality of file fragments are divided into a plurality of file fragments and then are encrypted fragments corresponding to each of the plurality of fragments, the device 100 decrypts the received fragments of the fragments, Can be combined to generate a file.

또한, 복수개의 파일 조각이, 파일이 암호화된 후 복수개의 파일 조각으로 분할된 파일 조각인 경우, 디바이스(100)는 수신된 복수개의 파일 조각을 조합하여 파일을 생성하고, 생성된 파일을 복호화할 수 있다. When a plurality of file fragments are file fragments divided into a plurality of file fragments after the file is encrypted, the device 100 generates a file by combining a plurality of received file fragments, and decrypts the generated file .

단계 S450에서, 디바이스(100)는 생성된 파일을 실행할 수 있다.In step S450, the device 100 may execute the generated file.

예를 들어, 디바이스(100)는 텍스트, 이미지, 문서 또는 동영상 파일을 실행하여 파일 내의 정보를 출력할 수 있다.For example, the device 100 may execute text, image, document or video file to output information in the file.

도 5는 본 발명의 다른 실시예에 따른, 디바이스(100)가 복수개의 파일 조각을 클라우드 스토리지(1000)로부터 수신하고, 수신된 복수개의 파일 조각을 조합하여, 파일을 실행하는 방법을 설명하는 흐름도이다.5 is a flow diagram illustrating a method for a device 100 to receive a plurality of file fragments from the cloud storage 1000 and combine the received plurality of file fragments to execute the file, according to another embodiment of the present invention. to be.

단계 S510에서, 디바이스(100)는 파일을 선택하는 사용자 입력을 수신할 수 있다.In step S510, the device 100 may receive a user input for selecting a file.

예를 들어, 디바이스(100)는 복수개의 파일 조각으로 분할된 파일의 목록을 디스플레이할 수 있다. 파일의 목록은 파일의 식별 정보를 포함할 수 있다. 파일의 목록 중 하나를 선택하는 사용자 입력을 수신함으로써, 디바이스(100)는 복수개의 파일 조각으로 분할된 파일의 식별 정보를 선택하는 사용자 입력을 수신할 수 있다.For example, the device 100 may display a list of files that are divided into a plurality of file fragments. The list of files may include identification information of the files. By receiving a user input that selects one of a list of files, the device 100 may receive a user input that selects the identification information of the files divided into a plurality of file fragments.

또한, 디바이스(100)에는 파일이 복수개의 파일 조각으로 분할된 파일인지 여부가 파일의 식별 정보에 대응하여 파일의 메타데이터로써 저장되어 있을 수 있다. 파일을 실행할 것을 명령하는 사용자 입력을 수신함에 따라, 디바이스(100)는 파일의 메타데이터에 기초하여 파일이 복수개의 파일 조각으로 분할된 파일인지 여부를 판단할 수 있다. In the device 100, whether the file is a file divided into a plurality of file fragments may be stored as metadata of the file corresponding to the identification information of the file. Upon receiving the user input instructing to execute the file, the device 100 can determine whether the file is a file divided into a plurality of file fragments based on the metadata of the file.

단계 S513에서, 디바이스(100)는 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지(1000)들을 결정할 수 있다. In step S513, the device 100 can determine the cloud storages 1000 in which each of the plurality of file fragments is stored, corresponding to each of the plurality of file fragments divided from the file.

파일이 복수개의 파일 조각으로 분할된 파일인 경우, 디바이스(100)는 파일 분할 정보에 기초하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지(1000)들을 결정할 수 있다. If the file is a file divided into a plurality of file fragments, the device 100 can determine the cloud storage 1000 in which each of the plurality of file fragments is stored, based on the file partition information.

파일 분할 정보는 복수개의 파일 조각의 식별 정보 및 복수개의 파일 조각을 저장할 클라우드 스토리지(1000)의 식별 정보를 포함할 수 있다. 예를 들어, 파일 조각의 식별 정보는 “제 1 파일 조각”, “제 2 파일 조각” 및 “제 3 파일 조각”일 수 있으며, “제 1 파일 조각”의 저장 위치는 제 1 클라우드 스토리지(1000a)이고, “제 2 파일 조각”의 저장 위치는 제 2 클라우드 스토리지(1000b)이고, “제 3 파일 조각”의 저장 위치는 제 3 클라우드 스토리지(1000c)일 수 있다. The file partition information may include identification information of a plurality of file fragments and identification information of the cloud storage 1000 to store a plurality of file fragments. For example, the identification information of the file fragments may be "first file fragment", "second file fragment", and "third file fragment", and the storage location of the "first file fragment" ), The storage location of the "second file fragment" is the second cloud storage 1000b, and the storage location of the "third file fragment" may be the third cloud storage 1000c.

디바이스(100)는 디바이스(100)에 저장된 파일 분할 정보를 획득할 수 있다. 또한, 디바이스(100)는 파일 분할 정보를 복수개의 클라우드 스토리지(1000) 중 적어도 하나로부터 수신할 수 있다. 또한, 디바이스(100)는 파일 분할 정보를 미리 정해진 외부 서버로부터 수신할 수 있다. The device 100 may obtain the file partition information stored in the device 100. [ In addition, the device 100 may receive the file partition information from at least one of the plurality of cloud storages 1000. In addition, the device 100 can receive the file division information from a predetermined external server.

단계 S515에서, 디바이스(100)는 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 식별 정보에 대응하여 제 1 파일 조각을 제 1 클라우드 스토리지(1000a)에게 요청할 수 있다.In step S515, the device 100 may request a first file fragment to the first cloud storage 1000a in response to the identification information of the user registered in the first cloud storage 1000a.

파일 조각 요청은, 클라우드 스토리지(1000)에 등록된 사용자의 계정 정보, 파일 조각의 식별 정보 및 파일 조각이 저장된 폴더의 식별 정보를 포함할 수 있다. The file fragment request may include account information of a user registered in the cloud storage 1000, identification information of a file fragment, and identification information of a folder in which a file fragment is stored.

단계 S520에서, 제 1 클라우드 스토리지(1000a)는 제 1 파일 조각을 디바이스(100)로 전송할 수 있다. In step S520, the first cloud storage 1000a may send a first file fragment to the device 100. [

제 1 클라우드 스토리지(1000a)는 디바이스(100)로부터 수신된 사용자의 계정 정보에 기초하여, 요청된 제 1 파일 조각에 대한 수신 권한이 사용자에게 있는지 여부를 판단할 수 있다. The first cloud storage 1000a may determine whether the user has the right to receive the requested first file fragment based on the user's account information received from the device 100. [

요청된 제 1 파일 조각에 대한 수신 권한이 사용자에게 있는 경우, 제 1 클라우드 스토리지(1000a)는 제 1 파일 조각을 디바이스(100)로 전송할 수 있다. If the user has the right to receive the requested first file fragment, the first cloud storage 1000a may transmit the first file fragment to the device 100. [

단계 S525에서, 디바이스(100)는 제 2 클라우드 스토리지(1000b)에 등록된 사용자의 식별 정보에 대응하여 제 2 파일 조각을 제 2 클라우드 스토리지(1000b)에게 요청할 수 있다.In step S525, the device 100 may request a second file fragment to the second cloud storage 1000b in response to the identification information of the user registered in the second cloud storage 1000b.

단계 S530에서, 제 2 클라우드 스토리지(1000b)는 제 2 파일 조각을 디바이스(100)로 전송할 수 있다. In step S530, the second cloud storage 1000b may send a second file fragment to the device 100. [

단계 S535에서, 디바이스(100)는 제 3 클라우드 스토리지(1000c)에 등록된 사용자의 식별 정보에 대응하여 제 3 파일 조각을 제 3 클라우드 스토리지(1000c)에게 요청할 수 있다.In step S535, the device 100 may request a third file fragment to the third cloud storage 1000c in response to the identification information of the user registered in the third cloud storage 1000c.

단계 S540에서, 제 3 클라우드 스토리지(1000c)는 제 3 파일 조각을 디바이스(100)로 전송할 수 있다.In step S540, the third cloud storage 1000c may send a third file fragment to the device 100. [

단계 S545에서, 디바이스(100)는 수신된 제 1 내지 제 3 파일 조각을 조합하여 파일을 생성할 수 있다. In step S545, the device 100 may combine the received first to third file fragments to generate a file.

디바이스(100)는 파일 분할 정보에 기초하여, 파일 조각의 순서를 결정할 수 있다. 그리고, 디바이스(100)는 결정된 파일 조각의 순서에 기초하여 제 1 내지 제 3 파일 조각을 조합하여 파일을 생성할 수 있다. The device 100 can determine the order of the file fragments based on the file division information. Then, the device 100 can generate the file by combining the first to third file fragments based on the order of the determined file fragments.

복수개의 파일 조각이 파일이 복수개의 파일 조각으로 분할된 후 복수개의 파일 조각 각각에 대응하여 암호화된 파일 조각인 경우, 디바이스(100)는, 수신된 복수개의 파일 조각을 복호화하고, 복호화된 파일 조각을 조합하여 파일을 생성할 수 있다.When a plurality of file fragments are divided into a plurality of file fragments and then are encrypted fragments corresponding to each of the plurality of fragments, the device 100 decrypts the received fragments of the fragments, Can be combined to generate a file.

또한, 복수개의 파일 조각이, 파일이 암호화된 후 복수개의 파일 조각으로 분할된 파일 조각인 경우, 디바이스(100)는 수신된 복수개의 파일 조각을 조합하여 파일을 생성하고, 생성된 파일을 복호화할 수 있다. When a plurality of file fragments are file fragments divided into a plurality of file fragments after the file is encrypted, the device 100 generates a file by combining a plurality of received file fragments, and decrypts the generated file .

단계 S550에서, 디바이스(100)는 생성된 파일을 실행할 수 있다.In step S550, the device 100 may execute the generated file.

예를 들어, 디바이스(100)는 파일 뷰어 어플리케이션을 실행하여 파일 내의 정보를 출력할 수 있다. 예를 들어, 파일이 문서 파일인 경우, 디바이스(100)는 문서 파일로부터 문서 내용을 획득하고, 획득된 문서 내용을 디스플레이할 수 있다. 또한, 파일이 동영상 파일인 경우, 디바이스(100)는 동영상 파일을 디코딩하고, 디코딩된 동영상 프레임을 디스플레이할 수 있다. For example, the device 100 may execute a file viewer application to output information in a file. For example, if the file is a document file, the device 100 may obtain the document content from the document file and display the obtained document content. Further, when the file is a moving image file, the device 100 can decode the moving image file and display the decoded moving image frame.

도 6은 본 발명의 일 실시예에 따른, 디바이스(100)에 저장된 복수의 클라우드 스토리지(1000)에 관한 정보를 나타내는 도면이다.6 is a diagram illustrating information about a plurality of cloud storages 1000 stored in the device 100, according to an embodiment of the present invention.

도 6을 참조하면, 디바이스(100)에는 사용자가 등록된 복수의 클라우드 스토리지(1000)에 관한 정보(610)가 저장되어 있을 수 있다. Referring to FIG. 6, the device 100 may store information 610 related to a plurality of cloud storage devices 1000 registered by a user.

클라우드 스토리지(1000)에 관한 정보(610)는, 클라우드 스토리지(1000)의 주소 정보(620) 및 클라우드 스토리지(1000)에 등록된 사용자의 계정 정보(630)를 포함할 수 있다. 디바이스(100)는 각각의 클라우드 스토리지(1000)에 대응하여 클라우드 스토리지(1000)의 주소 정보(620) 및 클라우드 스토리지(1000)에 등록된 사용자의 계정 정보(630)를 저장할 수 있다.The information 610 related to the cloud storage 1000 may include address information 620 of the cloud storage 1000 and account information 630 of the user registered in the cloud storage 1000. The device 100 may store the address information 620 of the cloud storage 1000 and the account information 630 of the user registered in the cloud storage 1000 corresponding to each of the cloud storage 1000. [

클라우드 스토리지(1000)의 주소 정보(620)는 클라우드 스토리지(1000)의 URL(Uniform Resource Locator) 주소를 포함할 수 있다. The address information 620 of the cloud storage 1000 may include a Uniform Resource Locator (URL) address of the cloud storage 1000.

또한, 사용자 계정 정보(630)는 클라우드 스토리지(1000)에 등록된 사용자의 식별 정보, 비밀 번호를 포함할 수 있다. 또한, 사용자 계정 정보는, 클라우드 스토리지(1000)가 디바이스(100)로부터 수신한 사용자 식별 정보 및 비밀 번호에 기초하여 사용자를 인증함에 따라 디바이스(100)에게 발급한 접근 정보를 포함할 수도 있다. 또한, 사용자 계정 정보(630)는, 디바이스(100)와 클라우드 스토리지(1000)간의 세션 유지를 위한 세션 유지 정보를 포함할 수도 있다. In addition, the user account information 630 may include identification information and a password of a user registered in the cloud storage 1000. The user account information may include access information issued to the device 100 by the user authenticating the user based on the user identification information and the password received from the device 100 by the cloud storage 1000. In addition, the user account information 630 may include session maintenance information for maintaining a session between the device 100 and the cloud storage 1000.

도 7은 본 발명의 일 실시예에 따른, 파일 분할 정보를 나타내는 도면이다.7 is a diagram illustrating file partitioning information according to an embodiment of the present invention.

도 7을 참조하면, 파일 분할 정보(700)는 파일명(710), 파일의 크기(720)를 포함할 수 있다. 또한, 파일 분할 정보(700)는 각각의 파일 조각(730,740,750)에 대응하여, 파일 내에서 파일 조각의 위치(760), 파일 조각의 식별 정보(770) 및 파일 조각이 저장된 위치(780)를 포함할 수 있다. Referring to FIG. 7, the file partition information 700 may include a file name 710 and a file size 720. In addition, the file partition information 700 includes the location 760 of the file fragment, the identification information 770 of the file fragment, and the location 780 where the file fragment is stored, corresponding to each file fragment 730, 740, can do.

예를 들어, “Fiel.avi”라는 파일을 클라우드 스토리지(1000)에 분산 저장할 것을 명령하는 사용자 입력을 수신함에 따라, 디바이스(100)는 “Fiel.avi”라는 파일을 “File1_piece_1.part”, “File1_piece_2.part” 및 “File1_piece_3.part”라는 3 개의 파일 조각으로 분할할 수 있다. 또한, 디바이스(100)는 “File1_piece_1.part”을 제 1 클라우드 스토리지(1000a)에 저장하고, “File1_piece_2.part”를 제 2 클라우드 스토리지(1000b)에 저장하고, “File1_piece_3.part”를 제 3 클라우드 스토리지(1000c)에 저장하도록 결정할 수 있다. For example, upon receiving a user input instructing to distribute a file named " Fiel.avi " to the cloud storage 1000, the device 100 assigns a file named " Fiel.avi "Quot; File1_piece_2.part " and " File1_piece_3.part ". Further, the device 100 stores "File1_piece_1.part" in the first cloud storage 1000a, "File1_piece_2.part" in the second cloud storage 1000b, and "File1_piece_3.part" into the third cloud And to store it in the storage 1000c.

각각의 파일 조각에 대응하는 클라우드 스토리지(1000)에게 각각의 파일 조각을 저장할 것을 요청함에 따라, 디바이스(100)는 “Fiel.avi”의 식별 정보에 대응하여, “File1_piece_1.part”, “File1_piece_2.part” 및 “File1_piece_3.part”의 식별 정보 및 각각의 파일 조각을 저장한 클라우드 스토리지(1000)를 파일 분할 정보(700)로써 저장할 수 있다. Device1.part ", " File1_piece_2.part ", and " File1_piece_2.part " in response to the identification information of " Fiel.avi " by requesting the cloud storage 1000 corresponding to each file fragment to store each file fragment. quot; part " and " File1_piece_3.part " and the cloud storage 1000 storing the file fragments can be stored as the file partition information 700. [

디바이스(100)는 파일 분할 정보(700)를 파일 형태 또는 데이터베이스 형태로 저장할 수 있다. 또한, 디바이스(100)는 파일 분할 정보(700)를 디바이스(100)또는 클라우드 스토리지(1000)에 저장할 수 있다. The device 100 may store the file division information 700 in a file form or a database form. In addition, the device 100 may store the file partition information 700 in the device 100 or the cloud storage 1000.

도 8은 본 발명의 일 실시예에 따른, 디바이스(100)가 파일 분할 정보에 기초하여 클라우드 스토리지(1000)로부터 파일 조각을 수신하는 방법을 나타내는 도면이다.8 is a diagram illustrating a method for a device 100 to receive a piece of a file from the cloud storage 1000 based on file partitioning information, in accordance with an embodiment of the present invention.

도 8을 참조하면, 디바이스(100)에는 파일(50)의 식별 정보(52)에 대응하여 파일 분할 정보(60)가 저장되어 있을 수 있다. Referring to FIG. 8, file division information 60 may be stored in the device 100 in correspondence with the identification information 52 of the file 50. FIG.

파일(50)이 복수개의 파일 조각으로 분할된 파일인 경우, 디바이스(100)는 파일의 식별 정보(52)에 대응하는 파일 분할 정보(60)를 획득할 수 있다. 파일의 식별 정보(52)에 대응하는 파일 분할 정보(60)를 획득함에 따라, 디바이스(100)는 파일(50)에 대응하는 복수의 파일 조각(50_1, 50_2, 50_4)의 식별 정보 및 복수의 파일 조각(50_1, 50_2, 50_4)이 저장된 클라우드 스토리지(1000)의 식별 정보를 획득할 수 있다. When the file 50 is a file divided into a plurality of file fragments, the device 100 can obtain the file division information 60 corresponding to the identification information 52 of the file. The device 100 acquires the identification information of the plurality of file pieces 50_1, 50_2, and 50_4 corresponding to the file 50 and the identification information of the plurality of file pieces 50_1, 50_2, and 50_4 corresponding to the file 50 by acquiring the file division information 60 corresponding to the identification information 52 of the file. It is possible to obtain the identification information of the cloud storage 1000 in which the file fragments 50_1, 50_2, and 50_4 are stored.

예를 들어, 디바이스(100)는 파일 분할 정보(60)에 기초하여, File1.avi에 대응하는 파일 조각(50_1, 50_2, 50_4)의 식별 정보는 “File1_piece_1.part”, “File1_piece_2.part” 및 “File1_piece_3.part”이고, “File1_piece_1.part” 파일 조각(50_1)이 저장된 클라우드 스토리지(1000)는 제 1 클라우드 스토리지(1000a)이고, “File1_piece_2.part” 파일 조각(50_2)이 저장된 클라우드 스토리지(1000)는 제 2 클라우드 스토리지(1000b)이고, “File1_piece_3.part” 파일 조각(50_3)이 저장된 클라우드 스토리지(1000)는 제 3 클라우드 스토리지(1000c) 인 것으로 결정할 수 있다. For example, on the basis of the file division information 60, the device 100 identifies the file pieces 50_1, 50_2, and 50_4 corresponding to File1.avi as "File1_piece_1.part", "File1_piece_2.part" The cloud storage 1000 in which the file fragment 50_1 of "File1_piece_1.part" is stored is the first cloud storage 1000a and the cloud storage 1000 of the "File1_piece_2.part" file fragment 50_2 in which "File1_piece_2.part" Is the second cloud storage 1000b and the cloud storage 1000 in which the file fragment 50_3 of "File1_piece_3.part" is stored is the third cloud storage 1000c.

각각의 파일 조각이 저장된 클라우드 스토리지(1000)의 식별 정보를 획득함에 따라, 디바이스(100)는 각각의 파일 조각을 각각의 파일 조각이 저장된 클라우드 스토리지(1000)에게 요청할 수 있다. As each file fragment acquires the identification information of the stored cloud storage 1000, the device 100 can request each file fragment to the cloud storage 1000 where each file fragment is stored.

도 9a는 본 발명의 일 실시예에 따른, 디바이스(100)가 클라우드 스토리지(1000)로부터 파일 분할 정보를 수신하는 방법을 설명하기 위한 도면이다.9A is a diagram for explaining how a device 100 receives file partition information from a cloud storage 1000, according to an embodiment of the present invention.

도 9a를 참조하면, 파일 분할 정보(60)는 복수개의 클라우드 스토리지(1000) 중 적어도 하나에 저장될 수 있다. Referring to FIG. 9A, the file partition information 60 may be stored in at least one of the plurality of cloud storages 1000.

파일 분할 정보(60)는 사용자의 식별 정보에 대응하여 파일 형태로 클라우드 스토리지(1000)에 저장되어 있을 수 있다. 이 경우, 파일 분할 정보 파일(60)에는 클라우드 스토리지(1000)에 저장된 사용자의 파일 중 분할된 모든 파일에 대한 파일 분할 정보(60)가 기록되어 있을 수 있다.The file partition information 60 may be stored in the cloud storage 1000 in the form of a file corresponding to the identification information of the user. In this case, the file partition information 60 may include file partition information 60 for all the files of the user stored in the cloud storage 1000.

파일 분할 정보(60)가 파일 형태로 클라우드 스토리지(1000)에 저장된 경우, 디바이스(100)에는 파일 분할 정보 파일(60)의 식별 정보가 저장되어 있을 수 있다. 또한, 디바이스(100)에는 파일 분할 정보 파일(60)이 저장된 적어도 하나의 클라우드 스토리지(1000)의 식별 정보가 저장되어 있을 수 있다. 이에 따라, 디바이스(100)는 파일 분할 정보 파일(60)이 저장된 클라우드 스토리지(1000)로부터 파일 분할 정보 파일(60)을 수신할 수 있다. When the file division information 60 is stored in the cloud storage 1000 in the form of a file, the device 100 may store the identification information of the file division information file 60. [ In addition, the device 100 may store identification information of at least one cloud storage 1000 in which the file partition information file 60 is stored. Accordingly, the device 100 can receive the file division information file 60 from the cloud storage 1000 in which the file division information file 60 is stored.

디바이스는 클라우드 스토리지(1000)에 저장된 사용자의 파일 중 분할된 모든 파일에 대한 파일 분할 정보(60)가 기록된 파일 분할 정보 파일(60)로부터, 각각의 파일에 대한 파일 분할 정보(60)를 획득할 수 있다. The device acquires file division information 60 for each file from the file division information file 60 in which the file division information 60 for all the divided files among the user's files stored in the cloud storage 1000 is recorded can do.

실시예에 따라, 파일 분할 정보(60)는 사용자의 식별 정보에 대응하여 데이터베이스 형태로 클라우드 스토리지(1000)에 저장되어 있을 수 있다. According to an embodiment, the file partition information 60 may be stored in the cloud storage 1000 in the form of a database corresponding to the identification information of the user.

파일 분할 정보(60)가 데이터베이스 형태로 클라우드 스토리지(1000)에 저장된 경우, 디바이스(100)에 파일 분할 정보 데이터베이스(60)가 저장된 적어도 하나의 클라우드 스토리지(1000)의 식별 정보가 저장되어 있을 수 있다. The identification information of at least one cloud storage 1000 in which the file partition information database 60 is stored may be stored in the device 100 when the file partition information 60 is stored in the cloud storage 1000 in the form of a database .

이에 따라, 디바이스(100)는, 파일 분할 정보 데이터베이스(60)가 저장된 적어도 하나의 클라우드 스토리지(1000)에게, 하나의 파일에 대한 파일 분할 정보(60)를 클라우드 스토리지(1000)에게 요청할 수 있다. 이 경우, 디바이스(100)는 클라우드 스토리지(1000)에 등록된 사용자의 계정 정보 및 파일의 식별 정보를 함께 전송할 수 있다. Accordingly, the device 100 can request the cloud storage 1000 to at least one cloud storage 1000 in which the file partition information database 60 is stored, the file partition information 60 for one file. In this case, the device 100 may transmit the account information of the user registered in the cloud storage 1000 and the identification information of the file together.

디바이스(100)로부터 하나의 파일에 대한 파일 분할 정보(60) 전송 요청을 수신함에 따라, 클라우드 스토리지(1000)는 사용자의 계정 정보에 기초하여 사용자를 인증하고, 사용자의 식별 정보 및 파일의 식별 정보에 기초하여, 파일 분할 정보 데이터베이스(60)로부터 파일에 대한 파일 분할 정보(60)를 디바이스(100)로 송신할 수 있다. Upon receiving a request to transfer file partition information 60 for one file from the device 100, the cloud storage 1000 authenticates the user based on the account information of the user, identifies the user and identification information of the file The file division information 60 for the file can be transmitted from the file division information database 60 to the device 100. [

도 9b는 본 발명의 일 실시예에 따른, 디바이스(100)가 클라우드 스토리지(1000)로부터 파일 분할 정보를 수신하고, 파일 분할 정보에 기초하여 클라우드 스토리지(1000)로부터 파일 조각을 수신하는 방법을 나타내는 흐름도이다.9B illustrates a method in which a device 100 receives file partition information from the cloud storage 1000 and receives a piece of the file from the cloud storage 1000 based on the file partition information, according to an embodiment of the present invention. FIG.

단계 S910에서, 디바이스(100)는 복수개의 파일 조각으로 분할된 파일의 식별 정보를 선택하는 사용자 입력을 수신할 수 있다.In step S910, the device 100 may receive a user input for selecting identification information of a file divided into a plurality of file fragments.

예를 들어, 디바이스(100)는 복수개의 파일 조각으로 분할된 파일의 목록을 디스플레이할 수 있다. 파일의 목록 중 하나를 선택하는 사용자 입력을 수신함으로써, 디바이스(100)는 복수개의 파일 조각으로 분할된 파일의 식별 정보를 선택하는 사용자 입력을 수신할 수 있다.For example, the device 100 may display a list of files that are divided into a plurality of file fragments. By receiving a user input that selects one of a list of files, the device 100 may receive a user input that selects the identification information of the files divided into a plurality of file fragments.

단계 S913에서, 디바이스(100)는 제 3 클라우드 스토리지(1000c)에게 파일 분할 정보를 요청할 수 있다. In step S913, the device 100 may request file partition information from the third cloud storage 1000c.

파일 분할 정보는 파일 형태로 클라우드 스토리지(1000)에 저장되어 있을 수 있다. 이 경우, 파일 분할 정보 파일에는 클라우드 스토리지(1000)에 저장된 사용자의 파일 중 분할된 모든 파일에 대한 파일 분할 정보가 기록되어 있을 수 있다.The file partition information may be stored in the cloud storage 1000 as a file. In this case, the file division information file may include file division information for all the divided files among the user files stored in the cloud storage 1000.

파일 분할 정보가 파일 형태로 클라우드 스토리지(1000)에 저장된 경우, 디바이스(100)에는 파일 분할 정보 파일의 식별 정보가 저장되어 있을 수 있다. 또한, 디바이스(100)에는 파일 분할 정보 파일이 저장된 적어도 하나의 클라우드 스토리지(1000)의 식별 정보가 저장되어 있을 수 있다. When the file division information is stored in the cloud storage 1000 as a file, the device 100 may store the identification information of the file division information file. In addition, the device 100 may store identification information of at least one cloud storage 1000 in which a file partition information file is stored.

파일을 실행할 것을 명령하는 사용자 입력을 수신함에 따라, 디바이스(100)는 파일 분할 정보 파일이 저장된 적어도 하나의 클라우드 스토리지(1000)의 식별 정보 및 파일 분할 정보 파일의 식별 정보에 기초하여, 파일 분할 정보 파일을 클라우드 스토리지(1000)에게 요청할 수 있다.Upon receiving the user input instructing to execute the file, the device 100, based on the identification information of the at least one cloud storage 1000 in which the file division information file is stored and the identification information of the file division information file, File to the cloud storage 1000.

파일 분할 정보 파일이 저장된 적어도 하나의 클라우드 스토리지(1000)가 제 3 클라우드 스토리지(1000c)인 경우, 디바이스(100)는 제 3 클라우드 스토리지(1000c)에게 파일 분할 정보 파일을 요청할 수 있다. 이 경우, 디바이스(100)는 파일 분할 정보 파일의 식별 정보 및 제 3 클라우드 스토리지(1000c)에 등록된 사용자의 계정 정보를 함께 전송할 수 있다.If the at least one cloud storage 1000 storing the file partition information file is the third cloud storage 1000c, the device 100 may request the file partition information file to the third cloud storage 1000c. In this case, the device 100 may transmit the identification information of the file division information file and the account information of the user registered in the third cloud storage 1000c together.

실시예에 따라, 각각의 파일에 대한 파일 분할 정보가, 사용자의 식별 정보 및 파일의 식별 정보에 대응하여 클라우드 스토리지(1000)에 저장될 수도 있다. 이 경우, 디바이스(100)는 클라우드 스토리지(1000)에게 실행할 파일에 대응하는 파일 분할 정보를 요청할 수도 있다. 이 경우, 디바이스(100)는 실행할 파일의 식별 정보를 함께 전송할 수 있다. According to the embodiment, the file division information for each file may be stored in the cloud storage 1000 corresponding to the identification information of the user and the identification information of the file. In this case, the device 100 may request the file storage information corresponding to the file to be executed to the cloud storage 1000. In this case, the device 100 can transmit the identification information of the file to be executed together.

단계 S915에서, 제 3 클라우드 스토리지(1000c)는 파일 분할 정보를 디바이스(100)로 전송할 수 있다.In step S915, the third cloud storage 1000c may send the file partition information to the device 100. [

파일 분할 정보가 파일 형태로 클라우드 스토리지(1000)에 저장된 경우, 제 3 클라우드 스토리지(1000c)는 수신된 사용자의 계정 정보에 기초하여, 사용자에게 파일 분할 정보 파일에 대하여 읽기 권한이 있는지 여부를 결정할 수 있다. 사용자에게 파일 분할 정보 파일에 대하여 읽기 권한이 있는 경우, 제 3 클라우드 스토리지(1000c)는 파일 분할 정보 파일을 디바이스(100)로 전송할 수 있다. If the file partition information is stored in the cloud storage 1000 in the form of a file, the third cloud storage 1000c can determine whether the user has read permission for the file partition information file based on the account information of the received user have. If the user has read access to the file partition information file, the third cloud storage 1000c can transfer the file partition information file to the device 100. [

또한, 각각의 파일에 대한 파일 분할 정보가, 사용자의 식별 정보 및 파일의 식별 정보에 대응하여 클라우드 스토리지(1000)에 저장된 경우, 제 3 클라우드 스토리지(1000c)는 파일의 식별 정보에 대응하는 파일 분할 정보를 디바이스(100)로 전송할 수 있다.When the file division information for each file is stored in the cloud storage 1000 in correspondence with the identification information of the user and the identification information of the file, the third cloud storage 1000c performs file division Information to the device 100.

단계 S920에서, 디바이스(100)는 복수개의 파일 조각 각각에 대응하여 복수개의 파일 조각이 저장된 클라우드 스토리지(1000)를 결정할 수 있다. In step S920, the device 100 may determine the cloud storage 1000 storing a plurality of file fragments corresponding to each of the plurality of file fragments.

파일 분할 정보 파일을 클라우드 스토리지(1000)로부터 수신한 경우, 디바이스(100)는 파일 분할 정보 파일로부터, 실행할 파일에 대한 파일 분할 정보를 획득할 수 있다. 디바이스(100)는 실행할 파일에 대한 파일 분할 정보에 기초하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지(1000)를 결정할 수 있다.When the file division information file is received from the cloud storage 1000, the device 100 can obtain file division information on the file to be executed from the file division information file. The device 100 can determine the cloud storage 1000 in which each of the plurality of file fragments is stored based on the file partition information for the file to be executed.

또한, 실행할 파일에 대한 파일 분할 정보를 클라우드 스토리지(1000)로부터 수신한 경우, 디바이스(100)는 수신한 파일 분할 정보에 기초하여, 복수개의 파일 조각 각각이 저장된 클라우드 스토리지(1000)를 결정할 수 있다.When the file division information for the file to be executed is received from the cloud storage 1000, the device 100 can determine the cloud storage 1000 storing the plurality of file fragments based on the received file division information .

단계 S925에서, 디바이스(100)는 제 1 클라우드 스토리지(1000a)에 등록된 사용자의 식별 정보에 대응하여 제 1 파일 조각을 요청할 수 있다. 단계 S928에서, 제 1 클라우드 스토리지(1000a)는 제 1 파일 조각을 디바이스(100)로 전송할 수 있다. 단계 S930에서, 디바이스(100)는 제 2 클라우드 스토리지(1000b)에 등록된 사용자의 식별 정보에 대응하여 제 2 파일 조각을 요청할 수 있다. 단계 S935에서, 제 2 클라우드 스토리지(1000b)는 제 2 파일 조각을 디바이스(100)로 전송할 수 있다. 단계 S940에서, 디바이스(100)는 제 3 클라우드 스토리지(1000c)에 등록된 사용자의 식별 정보에 대응하여 제 3 파일 조각을 요청할 수 있다. 단계 S945에서, 제 3 클라우드 스토리지(1000c)는 제 3 파일 조각을 디바이스(100)로 전송할 수 있다. 단계 S950에서, 디바이스(100)는 수신된 제 1 내지 제 3 파일 조각을 조합하여 파일을 생성할 수 있다. 단계 S955에서, 디바이스(100)는 생성된 파일을 실행할 수 있다.In step S925, the device 100 may request the first file fragment corresponding to the identification information of the user registered in the first cloud storage 1000a. In step S928, the first cloud storage 1000a may transmit the first file fragment to the device 100. [ In step S930, the device 100 may request a second file fragment corresponding to the identification information of the user registered in the second cloud storage 1000b. In step S935, the second cloud storage 1000b may send a second file fragment to the device 100. [ In step S940, the device 100 may request a third file fragment corresponding to the identification information of the user registered in the third cloud storage 1000c. In step S945, the third cloud storage 1000c may send a third file fragment to the device 100. [ In step S950, the device 100 may combine the received first to third file fragments to generate a file. In step S955, the device 100 can execute the generated file.

도 9c는 본 발명의 일 실시예에 따른, 사용자의 다른 디바이스(100b)가 클라우드 스토리지(1000)로부터 파일 분할 정보를 수신하고, 수신한 파일 분할 정보에 기초하여 클라우드 스토리지(1000)로부터 파일 조각을 수신하는 방법을 나타내는 도면이다. FIG. 9C is a diagram illustrating an example of a method in which a user's other device 100b receives file partition information from the cloud storage 1000 and extracts a file fragment from the cloud storage 1000 based on the received file partition information Fig.

도 9c를 참조하면, 사용자의 다른 디바이스(100b)는 클라우드 스토리지(1000)에 저장된 파일 분할 정보(60)를 획득하고, 획득된 파일 분할 정보(60)에 기초하여 클라우드 스토리지(1000)로부터 복수개의 파일 조각들을 수신할 수 있다.9C, the other device 100b of the user acquires the file partition information 60 stored in the cloud storage 1000 and extracts a plurality of files from the cloud storage 1000 based on the obtained file partition information 60 File fragments.

사용자의 다른 디바이스(100b)는 사용자의 디바이스 중 복수개의 파일 조각을 클라우드 스토리지(1000)에 저장한 디바이스가 아닌 디바이스일 수 있다. 사용자의 다른 디바이스(100b)에도 또한 복수의 클라우드 스토리지(1000)에 등록된 사용자의 계정 정보가 저장되어 있을 수 있다. The user's other device 100b may be a device that is not a device that stores a plurality of pieces of files of the user's device in the cloud storage 1000. [ The account information of the user registered in the plurality of cloud storages 1000 may be stored in the other device 100b of the user.

사용자의 다른 디바이스(100b)는 클라우드 스토리지(1000)로부터 파일 분할 정보 파일(60)을 수신할 수 있다. 예를 들어, 사용자의 다른 디바이스(100b)는, 클라우드 스토리지(1000)에 등록된 사용자의 계정 정보에 기초하여, 클라우드 스토리지(1000)에게 클라우드 스토리지(1000)에 저장된 사용자의 파일의 목록을 요청할 수 있다. 파일의 목록에 대한 요청을 수신함에 따라, 클라우드 스토리지(1000)는 사용자의 다른 디바이스(100b)로부터 수신된 사용자의 계정 정보에 기초하여 사용자를 인증하고, 사용자의 파일의 목록을 사용자의 다른 디바이스(100b)로 송신할 수 있다. 사용자의 파일의 목록은 파일 분할 정보 파일(60)의 식별 정보를 포함할 수 있다. 사용자의 다른 디바이스(100b)는 파일 분할 정보 파일(60)의 식별 정보에 기초하여, 파일 분할 정보 파일(60)을 클라우드 스토리지(1000)에게 요청하여 수신할 수 있다. The user's other device 100b can receive the file partition information file 60 from the cloud storage 1000. [ For example, the user's other device 100b may request a list of files of the user stored in the cloud storage 1000 to the cloud storage 1000, based on the account information of the user registered in the cloud storage 1000 have. Upon receiving a request for a list of files, the cloud storage 1000 authenticates the user based on the user's account information received from the user's other device 100b, 100b. The list of the user's files may include identification information of the file division information file 60. [ The other device 100b of the user can request and receive the file division information file 60 from the cloud storage 1000 based on the identification information of the file division information file 60. [

사용자의 다른 디바이스(100b)는 파일 분할 정보 파일(60)로부터, 복수의 클라우드 스토리지(1000)에 분산 저장된 사용자의 파일의 목록을 획득할 수 있다. 또한, 사용자의 다른 디바이스(100b)는 클라우드 스토리지(1000)에 분산 저장된 파일의 목록을 디스플레이할 수 있다. The other device 100b of the user can obtain a list of files of the user distributed and stored in the plurality of cloud storages 1000 from the file division information file 60. [ The user's other device 100b may also display a list of files distributed to the cloud storage 1000.

클라우드 스토리지(1000)에 분산 저장된 파일의 목록 중 하나를 실행하기 위한 사용자 입력을 수신함에 따라, 사용자의 다른 디바이스(100b)는 파일 분할 정보 파일(60)로부터, 실행할 파일에 대한 복수의 파일 조각의 식별 정보 및 각각의 파일 조각이 저장된 클라우드 스토리지(1000)의 식별 정보를 획득할 수 있다. 사용자의 다른 디바이스(100b)는 복수의 파일 조각의 식별 정보 및 각각의 파일 조각이 저장된 클라우드 스토리지(1000)의 식별 정보에 기초하여, 각각의 클라우드 스토리지(1000)에게 각각의 클라우드 스토리지(1000)가 저장하는 파일 조각을 요청할 수 있다. Upon receiving a user input for executing one of a list of files stored in the cloud storage 1000, the other device 100b of the user can extract a plurality of file fragments for the file to be executed from the file division information file 60 Identification information, and identification information of the cloud storage 1000 in which each piece of the file is stored. Each of the other devices 100b of the user is allowed to connect each of the cloud storages 1000 to each of the cloud storages 1000 based on the identification information of the plurality of file fragments and the identification information of the cloud storages 1000 in which the respective file fragments are stored You can request a piece of the file to save.

도 10은 본 발명의 일 실시예에 따른, 디바이스(100)가 외부 서버로부터 파일 분할 정보를 수신하고, 파일 분할 정보에 기초하여 클라우드 스토리지(1000)로부터 복수개의 파일 조각을 수신하는 방법을 나타내는 도면이다. 10 is a diagram illustrating a method in which a device 100 receives file partition information from an external server and receives a plurality of file fragments from the cloud storage 1000 based on the file partition information, according to an embodiment of the present invention. to be.

도 10을 참조하면, 파일 분할 정보(60)는 파일 분할 저장 서버(2000)에 저장될 수 있다. Referring to FIG. 10, the file division information 60 may be stored in the file division storage server 2000.

디바이스(100a)는 파일 분할 정보 서버(2000)에게, 파일 분할 정보 서버(2000)에 등록된 사용자의 식별 정보에 대응하여 하나의 파일(50)에 대한 파일 분할 정보(60)를 저장할 것을 요청할 수 있다. 또한, 디바이스(100a)는 파일 분할 정보 서버(2000)에게 하나의 파일(50)에 대응하는 파일 분할 정보(60)를 수신할 수 있다. The device 100a can request the file division information server 2000 to store the file division information 60 for one file 50 in correspondence with the identification information of the user registered in the file division information server 2000 have. In addition, the device 100a can receive the file division information 60 corresponding to one file 50 to the file division information server 2000. [

파일 분할 정보 서버(2000)는 파일 분할 정보 서버(2000)에 등록된 사용자의 식별 정보 및 파일의 식별 정보에 대응하여, 사용자의 파일 분할 정보(60)를 저장할 수 있다. 또한, 파일 분할 정보 서버(2000)는 사용자의 식별 정보 및 파일의 식별 정보에 기초하여, 사용자의 파일 분할 정보(60)를 획득하고, 획득된 사용자의 파일 분할 정보(60)를 디바이스(100a)로 송신할 수 있다.The file division information server 2000 can store the file division information 60 of the user in correspondence with the identification information of the user registered in the file division information server 2000 and the identification information of the file. The file division information server 2000 acquires the file division information 60 of the user based on the identification information of the user and the identification information of the file and stores the obtained file division information 60 of the user in the device 100a, As shown in FIG.

사용자의 다른 디바이스(100b) 또한 사용자의 식별 정보 및 파일의 식별 정보에 기초하여, 서버로부터 파일 분할 정보(60)를 수신할 수 있다. The other device 100b of the user can also receive the file partition information 60 from the server based on the identification information of the user and the identification information of the file.

다른 사용자의 디바이스(200) 또한, 파일 분할 정보 서버(2000)에 등록된 다른 사용자의 식별 정보 및 파일의 식별 정보에 기초하여, 다른 사용자의 파일에 대한 파일 분할 정보(70)를 파일 분할 정보 서버(2000)에 저장하거나, 파일 분할 정보 서버(2000)로부터 수신 할 수 있다. The device 200 of another user can further divide the file division information 70 for the file of another user into the file division information server 70 based on the identification information of the other user registered in the file division information server 2000, (2000), or can receive it from the file division information server (2000).

도 11a 내지 도 11e는 본 발명의 일 실시예에 따른, 사용자의 파일이 분산 저장됨에 따라 디바이스(100)가 파일의 목록을 디스플레이하는 방법을 나타내는 도면이다.Figures 11A through 11E illustrate how a device 100 displays a list of files as a user's files are distributed and stored, according to one embodiment of the present invention.

도 11a를 참조하면, 사용자의 파일은 제 1 클라우드 스토리지(1000a), 제 2 클라우드 스토리지(1000b) 및 제 3 클라우드 스토리지(1000c)에 저장되어 있을 수 있다. Referring to FIG. 11A, a user's file may be stored in the first cloud storage 1000a, the second cloud storage 1000b, and the third cloud storage 1000c.

예를 들어, 제 1 클라우드 스토리지(1000a)에 저장되는 사용자의 파일은 “First_Cloud_Drive” 폴더(1110)에 저장될 수 있다. 또한, 제 2 클라우드 스토리지(1000b)에 저장되는 사용자의 파일은 “Second_Cloud_Drive” 폴더(1120)에 저장될 수 있다. 또한, 제 3 클라우드 스토리지(1000c)에 저장되는 사용자의 파일은 “Third_Cloud_Drive” 폴더(1130)에 저장될 수 있다. 또한, 제 3 클라우드 스토리지(1000c)에는 “Third_Cloud_Drive_FILE1” 파일(1132) 및 “Third_Cloud_Drive_FILE2” 파일(1234)이 저장되어 있을 수 있다.For example, a user's file stored in the first cloud storage 1000a may be stored in a " First_Cloud_Drive " folder 1110. [ Also, the file of the user stored in the second cloud storage 1000b may be stored in the " Second_Cloud_Drive " folder 1120. [ In addition, the user's file stored in the third cloud storage 1000c may be stored in the " Third_Cloud_Drive " folder 1130. [ In addition, the third cloud storage 1000c may have a "Third_Cloud_Drive_FILE1" file 1132 and a "Third_Cloud_Drive_FILE2" file 1234 stored therein.

또한, 하나의 클라우드 스토리지(1000)에 저장되는 사용자의 파일 조각들 및 파일 분할 정보는 기 결정된 폴더 내에 모두 저장될 수 있다. 또한, 복수의 클라우드 스토리지(1000)에서 동일한 사용자의 파일 조각들이 저장되는 폴더의 식별 정보는 동일할 수 있다. 예를 들어, 제 1 클라우드 스토리지(1000a)에서 사용자의 파일 조각이 저장되는 폴더(1115), 제 2 클라우드 스토리지(1000b)에서 사용자의 파일 조각이 저장되는 폴더(1125) 및 제 3 클라우드 스토리지(1000c)에서 사용자의 파일 조각이 저장되는 폴더(1135)의 식별 정보는 “Private”으로 동일할 수 있다.In addition, the user's file fragments and file partition information stored in one cloud storage 1000 can all be stored in a predetermined folder. In addition, the identification information of folders in which a plurality of pieces of file of the same user are stored in the cloud storage 1000 may be the same. For example, a folder 1115 in which a piece of the user's file is stored in the first cloud storage 1000a, a folder 1125 in which a piece of the user's file is stored in the second cloud storage 1000b, The identification information of the folder 1135 in which a piece of the user's file is stored may be the same as " Private ".

도 11b를 참조하면, 디바이스(100)는 클라우드 스토리지(1000)에 저장된 파일의 목록을 디스플레이할 수 있다. Referring to FIG. 11B, the device 100 may display a list of files stored in the cloud storage 1000.

예를 들어, 클라우드 스토리지(1000)에 저장된 파일의 목록을 디스플레이하는 사용자 입력을 수신함에 따라, 디바이스(100)는 클라우드 스토리지(1000)에게 사용자의 파일의 목록을 요청하여 수신할 수 있다. 또한, 예를 들어, 클라우드 스토리지(1000)로부터 파일이 추가, 삭제 또는 업데이트 되었음을 나타내는 이벤트를 수신함에 따라, 디바이스(100)는 클라우드 스토리지(1000)에게 사용자의 파일의 목록을 요청하여 수신할 수 있다. 또한, 디바이스(100)는 클라우드 스토리지(1000)로부터 클라우드 스토리지(1000)에 저장된 파일들의 파일 계층 구조에 관한 정보를 함께 수신할 수 있다. For example, upon receiving a user input that displays a list of files stored in the cloud storage 1000, the device 100 may request and receive a list of the user's files from the cloud storage 1000. Also, upon receiving an event indicating that a file has been added, deleted or updated, for example, from the cloud storage 1000, the device 100 may request and receive a list of the user's files from the cloud storage 1000 . In addition, the device 100 may receive information on the file hierarchy of the files stored in the cloud storage 1000 from the cloud storage 1000 together.

파일의 목록 및 파일 계층 구조에 관한 정보를 수신함에 따라, 디바이스(100)는 도 11a에 도시된 클라우드 스토리지(1000)에 저장된 폴더 및 파일의 목록을 디스플레이할 수 있다. Upon receiving the list of files and information about the file hierarchy, the device 100 may display a list of folders and files stored in the cloud storage 1000 shown in FIG. 11A.

파일의 목록 중 제 3 클라우드 스토리지(1000c)에 저장된 “Third_Cloud_Drive_FILE2” 파일(1134)을 선택하고, 기 결정된 사용자 입력을 수신함에 따라, 디바이스(100)는 “Third_Cloud_Drive_FILE2” 파일(1134)을 클라우드 스토리지(1000)에 분산 저장하기 위한 메뉴(1180)를 디스플레이할 수 있다. “Third_Cloud_Drive_FILE2” 파일(1134)을 클라우드 스토리지(1000)에 분산 저장하기 위한 메뉴(1180)를 선택하는 사용자 입력을 수신함에 따라, 디바이스(100)는 ““Third_Cloud_Drive_FILE2” 파일(1134)을 3 개의 파일 조각으로 분할할 수 있다. 또한, 디바이스(100)는 3 개의 파일 조각의 파일명을 “Third_Cloud_Drive_FILE2.part1”, “Third_Cloud_Drive_FILE2.part2” 및 “Third_Cloud_Drive_FILE2.part3”로 결정할 수 있다.Third_Cloud_Drive_FILE2 " file 1134 stored in the third cloud storage 1000c of the list of files and receives the predetermined user input, the device 100 stores the " Third_Cloud_Drive_FILE2 " file 1134 in the cloud storage 1000 And a menu 1180 for distributing and storing the image data. Upon receiving a user input selecting menu 1180 to distribute " Third_Cloud_Drive_FILE2 " file 1134 to the cloud storage 1000, the device 100 sends the file " Third_Cloud_Drive_FILE2 " . In addition, the device 100 may determine the file names of the three file fragments as "Third_Cloud_Drive_FILE2.part1", "Third_Cloud_Drive_FILE2.part2" and "Third_Cloud_Drive_FILE2.part3".

디바이스(100)와 클라우드 스토리지(1000)가 파일의 메타데이터만을 동기화하는 경우, 디바이스(100)는 “Third_Cloud_Drive_FILE2” 파일(1134)의 컨텐츠 데이터를 클라우드 스토리지(1000)에게 요청하여 수신하고, 수신된 “Third_Cloud_Drive_FILE2” 파일(1134)의 컨텐츠 데이터를 3 개의 파일 조각으로 분할할 수 있다. The device 100 requests and receives the content data of the file " Third_Cloud_Drive_FILE2 " 1134 from the cloud storage 1000, and when the device 100 and the cloud storage 1000 synchronize only the metadata of the file, Quot; Third_Cloud_Drive_FILE2 " file 1134 can be divided into three file fragments.

또한, 디바이스(100)와 클라우드 스토리지(1000)가 파일의 메타데이터 및 파일의 컨텐츠 데이터를 함께 동기화하는 경우, 디바이스(100)에는 “Third_Cloud_Drive_FILE2” 파일(1134)의 컨텐츠가 저장되어 있을 수 있다. 이 경우, 디바이스(100)는 디바이스(100)에 저장된 “Third_Cloud_Drive_FILE2” 파일(1134)의 컨텐츠 데이터를 3 개의 파일 조각으로 분할 할 수 있다. In addition, when the device 100 and the cloud storage 1000 synchronize the metadata of the file and the content data of the file together, the content of the file "Third_Cloud_Drive_FILE2" 1134 may be stored in the device 100. In this case, the device 100 can divide the content data of the " Third_Cloud_Drive_FILE2 " file 1134 stored in the device 100 into three file fragments.

디바이스(100)는 분할된 파일 조각을 저장할 클라우드 스토리지(1000)를 결정할 수 있다. 디바이스(100)는 각각의 파일 조각을 저장할 클라우드 스토리지(1000)에게, 각각의 파일 조각을 “private” 폴더에 저장할 것을 요청할 수 있다. 또한, 디바이스(100)는 “Third_Cloud_Drive_FILE2” 파일(1134)에 대한 파일 분할 정보를 “replica_info.dat” 파일로 생성하고, 생성된 “replica_info.dat”파일을 “private” 폴더에 저장할 것을 적어도 하나의 클라우드 스토리지(1000)에게 요청할 수 있다. The device 100 may determine the cloud storage 1000 to store the fragmented file fragments. The device 100 may request that the cloud storage 1000 store each piece of the file and store each piece of the file in a " private " folder. In addition, the device 100 may generate file partition information for the " Third_Cloud_Drive_FILE2 " file 1134 as a " replica_info.dat " file and store the generated " replica_info.dat " And can request the storage 1000.

또한, 디바이스(100)는 “Third_Cloud_Drive_FILE2” 파일(1134)이 저장된 제 3 클라우드 스토리지(1000c)에게 “Third_Cloud_Drive_FILE2” 파일(1134)을 삭제할 것을 요청할 수 있다.In addition, the device 100 may request to delete the " Third_Cloud_Drive_FILE2 " file 1134 to the third cloud storage 1000c where the " Third_Cloud_Drive_FILE2 " file 1134 is stored.

도 11c를 참조하면, 디바이스(100)로부터 파일 조각 저장 요청을 수신함에 따라, 제 1 클라우드 스토리지(1000a)는 제 1 클라우드 스토리지(1000a) 내의 “private” 폴더(1115)에 수신된 “Third_Cloud_Drive_FILE2_part1” 파일 조각(1116)을 저장할 수 있다. 또한, 제 2 클라우드 스토리지(1000b)는 제 2 클라우드 스토리지(1000b) 내의 “private” 폴더(1125)에 수신된 “Third_Cloud_Drive_FILE2_part1” 파일 조각(1126)을 저장할 수 있다. 또한, 제 3 클라우드 스토리지(1000c)는 제 3 클라우드 스토리지(1000c) 내의 “private” 폴더(1135)에, 수신된 “Third_Cloud_Drive_FILE2_part1” 파일 조각(1136)을 저장할 수 있다. Referring to FIG. 11C, upon receipt of a file fragment storage request from the device 100, the first cloud storage 1000a receives the file fragment stored in the " Third_Cloud_Drive_FILE2_part1 " file 1102 received in the " private " folder 1115 in the first cloud storage 1000a The piece 1116 can be stored. Also, the second cloud storage 1000b may store the " Third_Cloud_Drive_FILE2_part1 " file fragment 1126 received in the " private " folder 1125 in the second cloud storage 1000b. The third cloud storage 1000c may also store the received " Third_Cloud_Drive_FILE2_part1 " file fragment 1136 in a " private " folder 1135 in the third cloud storage 1000c.

또한, 디바이스(100)로부터 파일 분할 정보 저장 요청을 수신함에 따라, 각각의 클라우드 스토리지(1000)는 각각의 “private” 폴더(1115, 1125, 1135)에 “Third_Cloud_Drive_FILE2” 파일(1134)의 파일 분할 정보를 포함하는 “replica_info.dat”(1150)를 저장할 수 있다.In addition, upon receiving the request to store the file partition information from the device 100, each of the cloud storages 1000 stores the file partition information of the " Third_Cloud_Drive_FILE2 " file 1134 in each of the " private " folders 1115, 1125, Quot; replica_info.dat " 1150, which includes " replica_info.dat "

또한, 디바이스(100)로부터 “Third_Cloud_Drive_FILE2” 파일(1134)에 대한 삭제 요청을 수신함에 따라, 제 3 클라우드 스토리지(1000c)는 “Third_Cloud_Drive_FILE2” 파일(1134)을 삭제할 수 있다. In addition, the third cloud storage 1000c may delete the " Third_Cloud_Drive_FILE2 " file 1134 as it receives a delete request for the " Third_Cloud_Drive_FILE2 " file 1134 from the device 100. [

도 11d를 참조하면, 복수의 클라우드 스토리지(1000)에 파일이 분산 저장됨에 따라, 디바이스(100)는 “Third_Cloud_Drive_FILE2” 파일(1134)의 위치를 “Third_Cloud_Drive” 폴더(1130)로부터 기 결정된 “Private” 폴더(1170) 내로 이동시킬 수 있다. Referring to FIG. 11D, as files are distributed and stored in a plurality of cloud storages 1000, the device 100 changes the location of the "Third_Cloud_Drive_FILE2" file 1134 from the "Third_Cloud_Drive" folder 1130 to the predetermined " Lt; RTI ID = 0.0 > 1170 < / RTI >

도 11e를 참조하면, 사용자의 다른 디바이스(100b)는 클라우드 스토리지(1000)로부터 분산 저장된 파일의 목록을 수신하고, 수신된 파일의 목록을 디스플레이할 수 있다. 사용자의 다른 디바이스(100b)는 사용자의 디바이스(100b) 중 복수개의 파일 조각을 클라우드 스토리지(1000)에 저장한 디바이스가 아닌 디바이스일 수 있다. Referring to FIG. 11E, the user's other device 100b can receive a list of distributed stored files from the cloud storage 1000 and display a list of received files. The user's other device 100b may be a device that stores a plurality of pieces of files among the user's devices 100b in the cloud storage 1000. [

사용자의 다른 디바이스(100b)는 클라우드 스토리지(1000)로부터 분산 저장된 파일의 목록을 수신할 수 있다. The user's other device 100b may receive a list of files stored in the cloud storage 1000 that are distributed.

예를 들어, 클라우드 스토리지(1000)에 분산 저장된 파일의 목록을 디스플레이하는 사용자 입력을 수신함에 따라, 사용자의 다른 디바이스(100b)는 복수의 클라우드 스토리지(1000) 중 적어도 하나의 클라우드 스토리지(1000)에게 “replica_info.dat” 파일(1150)을 요청할 수 있다. For example, upon receiving a user input that displays a list of files stored in the cloud storage 1000, the user's other device 100b may access at least one of the plurality of cloud storage 1000 to the cloud storage 1000 Quot; replica_info.dat " file 1150.

또한, 예를 들어, 클라우드 스토리지(1000)로부터 “replica_info.dat” 파일(1150)이 업데이트 되었음을 나타내는 이벤트를 수신함에 따라, 사용자의 다른 디바이스(100b)는 이벤트를 전송한 클라우드 스토리지(1000)에게 “replica_info.dat” 파일(1150)을 요청할 수 있다. Also, for example, upon receiving an event indicating that the " replica_info.dat " file 1150 has been updated from the cloud storage 1000, the other device 100b of the user sends the cloud storage 1000, quot; replica_info.dat " file 1150.

적어도 하나의 클라우드 스토리지(1000)로부터 “replica_info.dat” 파일(1150)을 수신함에 따라, 사용자의 다른 디바이스(100b)는 “replica_info.dat” 파일(1150)로부터 분산 저장된 파일의 파일명을 획득할 수 있다. 사용자의 다른 디바이스(100b)는 분산 저장된 파일의 파일명에 기초하여, 분산 저장된 파일의 목록을 디스플레이할 수 있다. 예를 들어, 사용자의 다른 디바이스(100b)는 “Third_Cloud_Drive_FILE2” 파일(1134)의 파일명을 “Private” 폴더(1182) 내에 디스플레이할 수 있다. 이 경우, 사용자의 다른 디바이스(100b)는 사용자의 다른 디바이스(100b)에 “Third_Cloud_Drive_FILE2” 파일(1134)이 실제로 저장되어 있지 않고, 파일의 메타데이터만이 저장되어 있음을, 음영, 색 또는 이미지 등으로 표시할 수 있다. Upon receiving the " replica_info.dat " file 1150 from at least one cloud storage 1000, the other device 100b of the user can obtain the file name of the distributed stored file from the " replica_info.dat " file 1150 have. The other device 100b of the user can display a list of distributedly stored files based on the file name of the distributedly stored file. For example, the user's other device 100b may display the file name of the " Third_Cloud_Drive_FILE2 " file 1134 in the " Private " folder 1182. [ In this case, the other device 100b of the user notifies the other device 100b of the user that the " Third_Cloud_Drive_FILE2 " file 1134 is not actually stored and only the metadata of the file is stored. As shown in FIG.

“Third_Cloud_Drive_FILE2” 파일(1134)을 선택하는 사용자 입력을 수신함에 따라, 사용자의 다른 디바이스(100b)는 “replica_info.dat” 파일(1150)로부터 “Third_Cloud_Drive_FILE2” 파일(1134)의 파일 분할 정보를 획득할 수 있다. 사용자의 다른 디바이스(100b)는 “Third_Cloud_Drive_FILE2” 파일(1134)의 파일 분할 정보에 기초하여, “Third_Cloud_Drive_FILE2” 파일(1134)에 대응하는 파일 조각을 각각의 클라우드 스토리지(1000)로부터 수신할 수 있다. 사용자의 다른 디바이스(100b)는 수신된 파일 조각을 조합하여 “Third_Cloud_Drive_FILE2” 파일(1134)을 다시 생성하고, 생성된 “Third_Cloud_Drive_FILE2” 파일(1134)을 실행할 수 있다. Upon receiving the user input selecting the " Third_Cloud_Drive_FILE2 " file 1134, the user's other device 100b may obtain the file partition information of the " Third_Cloud_Drive_FILE2 " file 1134 from the " replica_info.dat " file 1150 have. The other device 100b of the user can receive the file fragments corresponding to the " Third_Cloud_Drive_FILE2 " file 1134 from each of the cloud storages 1000, based on the file division information of the " Third_Cloud_Drive_FILE2 " The other device 100b of the user can combine the received file fragments to regenerate the " Third_Cloud_Drive_FILE2 " file 1134 and execute the generated " Third_Cloud_Drive_FILE2 "

도 12a 내지 도 12b는 본 발명의 일 실시예에 따른, 디바이스(100)가 디바이스(100)에만 저장된 파일을 분할하여 복수개의 클라우드 스토리지(1000)에 분산 저장함에 따라, 분산 저장된 파일을 디스플레이하는 방법을 설명하기 위한 도면이다.12A and 12B illustrate a method of displaying a distributedly stored file by dividing a file stored in only the device 100 into a plurality of cloud storages 1000 in accordance with an embodiment of the present invention Fig.

도 12a를 참조하면, 디바이스(100)는 사용자의 입력에 따라, 디바이스(100)에만 저장된 파일을 분할하여, 복수의 클라우드 스토리지(1000)에 저장할 수 있다. Referring to FIG. 12A, the device 100 may divide a file stored only in the device 100 according to an input of a user, and store the divided file in a plurality of the cloud storages 1000.

예를 들어, 디바이스(100)에는 “Harry Potter.avi” 파일(1230)이 “Movie” 폴더 내에 저장되어 있을 수 있다. “Harry Potter.avi” 파일(1230)은 디바이스(100)의 사용자가 등록된 클라우드 스토리지(1000)에 저장되어 있지 않을 수 있다. For example, device " Harry Potter .avi " file 1230 may be stored in the " Movie " folder. The " Harry Potter.avi " file 1230 may not be stored in the cloud storage 1000 in which the user of the device 100 is registered.

“Harry Potter.avi” 파일(1230)를 선택하고, 기 결정된 사용자 입력을 수신함에 따라, 디바이스(100)는 “Harry Potter.avi” 파일(1230)을 복수의 클라우드 스토리지(1000)에 분산 저장하기 위한 메뉴(1180)를 디스플레이할 수 있다. 분산 저장하기 위한 메뉴(1180)를 선택하는 사용자 입력을 수신함에 따라, 디바이스(100)는 “Harry Potter.avi” 파일(1230)을 복수개의 파일 조각으로 분할할 수 있다. 또한, 디바이스(100)는 복수개의 파일 조각을 복수개의 클라우드 스토리지(1000)에 분산 저장할 수 있다. The device 100 distributes the " Harry Potter .avi " file 1230 to a plurality of cloud storages 1000 as it selects the " Harry Potter.avi " file 1230 and receives the predetermined user input The menu 1180 can be displayed. Upon receiving a user input that selects a menu 1180 for distributed storage, the device 100 may divide the " Harry Potter .avi " file 1230 into a plurality of file fragments. In addition, the device 100 may store a plurality of pieces of files in a plurality of cloud storages 1000 in a distributed manner.

도 12b를 참조하면, 복수개의 파일 조각을 복수개의 클라우드 스토리지(1000)에 분산 저장함에 따라, 디바이스(100)는 파일을 디바이스(100)에서 삭제할 수 있다.Referring to FIG. 12B, the device 100 may delete a file from the device 100 as a plurality of pieces of files are distributed and stored in a plurality of cloud storages 1000.

예를 들어, 복수개의 파일 조각을 복수개의 클라우드 스토리지(1000)에 분산 저장함에 따라, 디바이스(100)는 “Harry Potter.avi” 파일(1230)의 컨텐츠 데이터를 디바이스(100)에서 삭제하고, “Harry Potter.avi” 파일(1230)을 클라우드 스토리지(1000)에 저장된 파일로써 디스플레이할 수 있다. 예를 들어, 디바이스(100)는, 디바이스(100) 내의 복수개의 폴더 중 분산 저장된 파일이 위치하는 폴더로써 “Private” 폴더(1182)의 식별 정보가 저장되어 있을 수 있다. 이에 따라, 디바이스(100)는 “Harry Potter.avi” 파일(1230)의 파일명이 “Private” 폴더(1182) 내에서 나타날 있도록, “Harry Potter.avi” 파일(1230)의 위치를 변경할 수 있다. For example, device 100 may delete content data of " Harry Potter .avi " file 1230 from device 100 as a plurality of file fragments are distributed across a plurality of cloud storages 1000, Quot; Harry Potter .avi " file 1230 as a file stored in the cloud storage 1000. For example, the device 100 may store the identification information of the " Private " folder 1182 as a folder in which distributed files among the plurality of folders in the device 100 are located. Accordingly, the device 100 may change the location of the " Harry Potter .avi " file 1230 so that the file name of the " Harry Potter .avi " file 1230 appears in the &

또한, 실시예에 따라, 디바이스(100)는 “Harry Potter.avi” 파일(1230)의 컨텐츠 데이터를 삭제하지 않을 수도 있다. Further, according to the embodiment, the device 100 may not delete the content data of the " Harry Potter .avi " file 1230. [

도 13은 본 발명의 일 실시예에 따른, 디바이스(100)가 파일을 분산 저장할 클라우드 스토리지(1000)를 선택하기 위한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.13 is a diagram illustrating a method for providing a user interface for selecting a cloud storage 1000 in which a device 100 distributes and stores files according to an embodiment of the present invention.

도 13을 참조하면, 디바이스(100)는 파일을 분산 저장할 클라우드 스토리지(1000)를 선택하기 위한 사용자 인터페이스를 제공할 수 있다.Referring to FIG. 13, the device 100 may provide a user interface for selecting a cloud storage 1000 for distributing and storing files.

예를 들어, 파일을 선택하고, 선택된 파일을 분산 저장하기 위한 메뉴를 선택하는 사용자 입력을 수신함에 따라, 디바이스(100)는 선택된 파일을 분산 저장할 클라우드 스토리지(1000)를 선택하기 위한 메뉴(1310)를 디스플레이할 수 있다. For example, upon receiving a user input that selects a file and selects a menu for distributed storage of selected files, the device 100 includes a menu 1310 for selecting a cloud storage 1000 to distribute and store selected files, Can be displayed.

파일을 분산 저장할 클라우드 스토리지(1000)를 선택하기 위한 메뉴 (1310)는 사용자가 등록된 클라우드 스토리지(1000)의 식별 정보 및 사용자가 등록된 클라우드 스토리지(1000) 각각을 선택하기 위한 체크 박스 버튼을 포함할 수 있다. The menu 1310 for selecting the cloud storage 1000 for distributing and storing files includes identification information of the cloud storage 1000 to which the user is registered and a check box button for selecting each of the cloud storage 1000 to which the user is registered can do.

적어도 하나의 체크 박스 버튼을 선택하고, 확인 버튼을 누르는 사용자 입력을 수신함에 따라, 디바이스(100)는 체크 박스 버튼이 선택된 클라우드 스토리지(1000)들 중, 선택된 파일의 파일 조각 각각에 대응하여 파일 조각을 저장할 클라우드 스토리지(1000)를 결정할 수 있다. Upon receiving at least one checkbox button and a user input pressing the OK button, the device 100 selects a file fragment corresponding to each file fragment of the selected file among the cloud storages 1000, May determine the cloud storage 1000 to store.

도 14a 및 도 14b는 발명의 일 실시예에 따른, 디바이스(100)가 복수의 클라우드 스토리지(1000)에 동일한 파일 조각을 중복 저장하는 방법을 설명하기 위한 도면이다.14A and 14B are diagrams for explaining a method for the device 100 to redundantly store identical file fragments in a plurality of cloud storages 1000 according to an embodiment of the present invention.

도 14a를 참조하면, 디바이스(100)는 복수개의 클라우드 스토리지(1000)에게 동일한 파일 조각을 저장할 것을 요청할 수 있다. Referring to FIG. 14A, the device 100 may request a plurality of cloud storages 1000 to store the same file fragments.

디바이스(100)는 하나의 파일을 복수개의 파일 조각으로 분할하고, 분할된 파일 조각 각각에 대응하여, 분할된 파일 조각을 저장할 복수개의 클라우드 스토리지(1000)를 결정할 수 있다. 이 경우, 디바이스(100)는 동일한 파일 조각에 대응하여, 동일한 파일 조각을 저장할 클라우드 스토리지(1000)를 복수개 결정할 수 있다. The device 100 may divide one file into a plurality of file fragments and determine a plurality of cloud storages 1000 corresponding to each of the divided file fragments to store the fragmented file fragments. In this case, the device 100 can determine a plurality of the cloud storages 1000 to store the same file fragments corresponding to the same file fragments.

예를 들어, 디바이스(100)는 하나의 파일(50)을 파일 조각 1(50_1), 파일 조각 2(50_2), 파일 조각 3(50_3)으로 분할하고, 파일 조각 1(50_1)을 저장할 클라우드 스토리지(1000)로써 제 1 클라우드 스토리지(1000a) 및 제 2 클라우드 스토리지(1000b)로 결정하고, 파일 조각 2(50_2)을 저장할 클라우드 스토리지(1000)로써 제 2 클라우드 스토리지(1000b) 및 제 2 클라우드 스토리지(1000b)로 결정하고, 파일 조각 3(50_3)을 저장할 클라우드 스토리지(1000)로써 제 1 클라우드 스토리지(1000a) 및 제 3 클라우드 스토리지(1000c)로 결정할 수 있다.For example, the device 100 divides one file 50 into a file fragment 1 (50_1), a file fragment 2 (50_2), and a file fragment 3 (50_3), and stores the file fragment 1 (50_1) The first cloud storage 1000a and the second cloud storage 1000b as the cloud storage 1000 and the second cloud storage 1000b and the second cloud storage 1000b as the cloud storage 1000 for storing the file fragment 2 50_2, The first cloud storage 1000a and the third cloud storage 1000c can be determined as the cloud storage 1000 to store the file fragment 3 (50_3).

파일 조각을 저장할 클라우드 스토리지(1000)를 결정함에 따라, 디바이스(100)는 동일한 파일 조각을 저장할 복수개의 클라우드 스토리지(1000)에게 동일한 파일 조각을 저장할 것을 요청할 수 있다. By determining the cloud storage 1000 to store the file fragments, the device 100 may request to store the same file fragments in a plurality of cloud storage 1000s to store the same file fragments.

도 14b를 참조하면, 동일한 파일 조각에 대하여 복수개의 클라우드 스토리지(1000)가 결정됨에 따라, 디바이스(100)는 각각의 파일 조각(730, 740, 750)에 대하여, 파일 조각의 저장 위치(780)로써 복수개의 클라우드 스토리지(1000)가 결정된 파일 분할 정보(700)를 생성할 수 있다. Referring to FIG. 14B, as the plurality of cloud storages 1000 are determined for the same file fragments, the device 100 stores the file fragment storage locations 780 for each file fragment 730, 740, It is possible to generate file partition information 700 in which a plurality of cloud storages 1000 are determined.

도 14c는 본 발명의 일 실시예에 따른, 복수개의 파일에 대응하는 파일 조각이 복수개의 클라우드 스토리지(1000)에 중복 저장됨에 따라, 복수개의 클라우드 스토리지(1000)에 저장된 파일 조각들을 나타내는 도면이다.FIG. 14C is a diagram showing file fragments stored in a plurality of cloud storages 1000 according to an embodiment of the present invention, in which file fragments corresponding to a plurality of files are redundantly stored in a plurality of cloud storages 1000. FIG.

도 14c를 참조하면, 디바이스(100)는 파일 X(50x), 파일 Y(50y) 및 파일 Z(50z)를 분할하여, 동일한 파일 조각이 복수개의 클라우드 스토리지(1000)에 중복 저장되도록, 파일 조각들을 클라우드 스토리지(1000)에 저장할 수 있다. 14C, the device 100 divides the file X (50x), the file Y (50y), and the file Z (50z) so that the same file fragments are redundantly stored in the plurality of cloud storages 1000, To the cloud storage (1000).

예를 들어, 디바이스(100)는 파일 X(50x)를 X_1.part 파일 조각(50x_1) 및 X_2.part 파일 조각(50x_2)로 분할 할 수 있다. 디바이스(100)는 파일 Y(50y)를 Y_1.part 파일 조각(50y_1) 및 Y_2.part 파일 조각(50y_2)로 분할 할 수 있다. 디바이스(100)는 파일 Z(50z)를 Z_1.part 파일 조각(50z_1) 및 Z_2.part 파일 조각(50z_2)로 분할 할 수 있다. 그리고, 디바이스(100)는 X_1.part 파일 조각(50x_1)을 제 1 클라우드 스토리지(1000a) 및 제 2 클라우드 스토리지(1000b)에 저장할 수 있다. 또한, 디바이스(100)는 X_2.part 파일 조각(50x_2)을 제 3 클라우드 스토리지(1000c) 및 제 4 클라우드 스토리지(1000d)에 저장할 수 있다. 또한, 디바이스(100)는 Y_1.part 파일 조각(50y_1)을 제 1 클라우드 스토리지(1000a) 및 제 3 클라우드 스토리지(1000c)에 저장할 수 있다. 또한, 디바이스(100)는 Y_2.part 파일 조각(50y_2)을 제 2 클라우드 스토리지(1000b) 및 제 4 클라우드 스토리지(1000d)에 저장할 수 있다. 또한, 디바이스(100)는 Z_1.part 파일 조각(50z_1)을 제 1 클라우드 스토리지(1000a) 및 제 4 클라우드 스토리지(1000d)에 저장할 수 있다. 디바이스(100)는 Z_2.part 파일 조각(50z_2)을 제 2 클라우드 스토리지(1000b) 및 제 3 클라우드 스토리지(1000c)에 저장할 수 있다. For example, the device 100 may split the file X 50x into an X_1.part file fragment 50x_1 and an X_2.part file fragment 50x_2. The device 100 may divide the file Y (50y) into a Y_1.part file fragment 50y_1 and a Y_2.part file fragment 50y_2. The device 100 may split the file Z (50z) into a Z_1.part file fragment 50z_1 and a Z_2.part file fragment 50z_2. The device 100 may then store the X_1.part file fragment 50x_1 in the first cloud storage 1000a and the second cloud storage 1000b. In addition, the device 100 may store the X_2.part file fragment 50x_2 in the third cloud storage 1000c and the fourth cloud storage 1000d. In addition, the device 100 may store the Y_1.part file fragment 50y_1 in the first cloud storage 1000a and the third cloud storage 1000c. In addition, the device 100 may store the Y_2.part file fragment 50y_2 in the second cloud storage 1000b and the fourth cloud storage 1000d. In addition, the device 100 may store the Z_1.part file fragment 50z_1 in the first cloud storage 1000a and the fourth cloud storage 1000d. The device 100 may store the Z_2.part file fragment 50z_2 in the second cloud storage 1000b and the third cloud storage 1000c.

또한, 디바이스(100)는 파일 X(50x), 파일 Y(50y) 및 파일 Z(50z)에 대한 파일 분할 정보를 “_reflica_info.dat”파일(1410)로 생성할 수 있다. “_reflica_info.dat”파일(1410)은 파일 X(50x), 파일 Y(50y) 및 파일 Z(50z) 각각의 식별 정보에 대응하는, 파일 X(50x), 파일 Y(50y) 및 파일 Z(50z) 각각의 파일 분할 정보를 포함할 수 있다. In addition, the device 100 may generate file division information for the file X (50x), the file Y (50y), and the file Z (50z) as the file " _reflica_info.dat " The file " _reflica_info.dat " 1410 includes a file X (50x), a file Y (50y), and a file Z (50y) corresponding to the identification information of each of the files X 50x, And 50z, respectively.

디바이스(100)는 파일 분할 정보 파일인 “_reflica_info.dat”파일(1410)을 제 1 클라우드 스토리지(1000a) 내지 제 4 클라우드 스토리지(1000d)에 저장할 수 있다.The device 100 can store the file division information file " _reflica_info.dat " file 1410 in the first to fourth cloud storages 1000a to 1000d.

도 14d는 본 발명의 일 실시예에 따른, 복수의 클라우드 스토리지(1000) 중 하나의 클라우드 스토리지(1000)가 동작하지 않은 경우, 복수의 클라우드 스토리지(1000)로부터 파일 조각을 수신하는 방법을 설명하기 위한 도면이다.14D illustrates a method of receiving a piece of a file from a plurality of cloud storages 1000 when one of the plurality of cloud storages 1000 does not operate according to an embodiment of the present invention FIG.

도 14d를 참조하면, 하나의 파일(50)에 대응하여, 제 1 내지 제 3 파일 조각(50_1, 50_2, 50_3)이 제 1 내지 제 3 클라우드 스토리지(1000a 내지 1000c))에 중복 저장되고, 제 2 클라우드 스토리지(1000b)가 동작하지 않는 경우, 디바이스(100)는 제 1 클라우드 스토리지(1000a) 및 제 3 클라우드 스토리지(1000c)로부터 제 1 내지 제 3 파일 조각(50_1, 50_2, 50_3)을 수신하여 파일을 생성할 수 있다. 14D, the first to third file pieces 50_1, 50_2, and 50_3 are stored in the first to third cloud storages 1000a to 1000c in correspondence with one file 50, When the second cloud storage 1000b does not operate, the device 100 receives the first to third file fragments 50_1, 50_2, and 50_3 from the first cloud storage 1000a and the third cloud storage 1000c File can be generated.

예를 들어, 디바이스(100)는 제 1 클라우드 스토리지(1000a)로부터 제 1 파일 조각(50_1) 및 제 3 파일 조각(50_3)을 수신하고, 제 3 클라우드 스토리지(1000c)로부터 제 2 파일 조각(50_2)을 수신함으로써 제 1 내지 제 3 파일 조각(50_1, 50_2, 50_3)을 모두 획득할 수 있다. For example, the device 100 receives the first file fragment 50_1 and the third file fragment 50_3 from the first cloud storage 1000a and the second file fragment 50_2 from the third cloud storage 1000c , It is possible to acquire all of the first to third file pieces 50_1, 50_2, and 50_3.

도 15는 본 발명의 일 실시예에 따른, 동일한 파일 조각이 복수개의 클라우드 스토리지(1000)에 중복 저장됨에 따라, 디바이스(100)가 동일한 파일 조각을 복수개의 클라우드 스토리지(1000)로부터 동시에 수신하는 방법을 설명하기 위한 도면이다.15 illustrates a method in which a device 100 simultaneously receives pieces of the same file from a plurality of cloud storages 1000 according to an embodiment of the present invention as the same file fragments are redundantly stored in a plurality of cloud storages 1000 Fig.

도 15를 참조하면, 디바이스(100)는 동일한 파일 조각을 복수의 클라우드 스토리지(1000)로부터 동시에 수신할 수 있다. Referring to FIG. 15, the device 100 may simultaneously receive the same file fragments from a plurality of cloud storages 1000.

예를 들어, 디바이스(100)는 파일 조각 3(50_3)의 일 부분을 제 3 클라우드 스토리지(1000c)로부터 수신하고, 파일 조각 3(50_3)의 다른 부분을 제 4 클라우드 스토리지(1000d)로부터 수신하도록 결정할 수 있다. 이에 따라, 디바이스(100)는 제 3 클라우드 스토리지(1000c)에게 파일 조각 3(50_3)의 일부분을 요청하고, 제 4 클라우드 스토리지(1000d)에게 파일 조각 4(50_4)의 다른 부분을 요청할 수 있다. For example, the device 100 may receive a portion of the file fragment 3 (50_3) from the third cloud storage 1000c and another portion of the file fragment 3 (50_3) from the fourth cloud storage 1000d You can decide. Accordingly, the device 100 may request the third cloud storage 1000c for a portion of the file fragment 3 50_3 and the fourth cloud storage 1000d for other portions of the file fragment 4 50_4.

이 경우, 디바이스(100)는 파일 조각의 식별 정보뿐만 아니라 수신할 데이터의 파일 조각 내의 위치 정보를 함께 클라우드 스토리지(1000d)에게 전송할 수 있다. 이에 따라, 디바이스(100)는 제 3 파일 조각을 제 3 클라우드 스토리지(1000c) 및 제 4 클라우드 스토리지(1000d)로부터 동시에 수신할 수 있다. In this case, the device 100 can transmit not only the identification information of the file fragment but also the location information in the file fragment of the data to be received to the cloud storage 1000d. Accordingly, the device 100 can simultaneously receive the third file fragment from the third cloud storage 1000c and the fourth cloud storage 1000d.

도 16a 및 도 16b는 본 발명의 일 실시예에 따른, 디바이스(100)가 파일을 암호화하는 방법을 설명하기 위한 도면이다.16A and 16B are diagrams for explaining how the device 100 encrypts a file, according to an embodiment of the present invention.

도 16a를 참조하면, 디바이스(100)는 파일(50)을 파일 조각으로 분할하기 전에 파일(50)을 암호화할 수 있다. 파일(50)을 암호화한 후, 암호화된 파일을 복수개의 파일 조각(50_1, 50_2, 50_3)으로 분할할 수 있다. Referring to FIG. 16A, the device 100 may encrypt the file 50 before dividing the file 50 into file fragments. After encrypting the file 50, the encrypted file can be divided into a plurality of file fragments 50_1, 50_2, and 50_3.

또한, 디바이스(100)는 파일에 대응하는 복수개의 파일 조각(50_1, 50_2, 50_3)을 클라우드 스토리지(1000)로부터 수신할 수 있다. 디바이스(100)는 수신된 복수개의 파일 조각(50_1, 50_2, 50_3)을 조합하여 암호화된 파일을 복원할 수 있다. 암호화된 파일을 복원한 후, 디바이스(100)는 복원된 파일을 복호화하고, 복호화된 파일(50)을 실행할 수 있다. In addition, the device 100 may receive a plurality of pieces of files 50_1, 50_2, and 50_3 corresponding to the files from the cloud storage 1000. The device 100 can recover the encrypted file by combining the received plurality of file fragments 50_1, 50_2, and 50_3. After restoring the encrypted file, the device 100 may decrypt the restored file and execute the decrypted file (50).

도 16b를 참조하면, 파일을 암호화한 후, 암호화된 파일을 복수개의 파일 조각으로 분할함에 따라, 디바이스(100)는 파일의 식별 정보에 대응하여 암호화 시 사용된 암호화 키(1610)를 파일 분할 정보(700)로써 저장할 수 있다. 16B, after encrypting a file and dividing the encrypted file into a plurality of file fragments, the device 100 stores the encryption key 1610 used in encryption corresponding to the identification information of the file as file fragment information (700).

실시예에 따라, 암호화 키(1610)는 파일 분할 정보(700)와 분리되어 저장될 수 있다. 예를 들어, 암호화 키(1610)는 파일 분할 정보(700)와 분리되어 디바이스(100)에 저장될 수 있으며, 클라우드 스토리지(1000)에 저장될 수도 있다. According to the embodiment, the encryption key 1610 may be stored separately from the file partition information 700. [ For example, the encryption key 1610 may be stored in the device 100, separately from the file partition information 700, and stored in the cloud storage 1000.

도 17a 및 도 17b는 본 발명의 다른 실시예에 따른, 디바이스(100)가 파일을 암호화하는 방법을 설명하기 위한 도면이다.17A and 17B are diagrams for explaining how the device 100 encrypts a file, according to another embodiment of the present invention.

도 17a를 참조하면, 디바이스(100)는 파일(50)을 복수개의 파일 조각으로 분할한 후, 분할된 파일 조각 각각을 암호화할 수 있다. 분할된 파일 조각 각각을 암호화함에 따라, 디바이스(100)는 암호화된 복수개의 파일 조각(53, 55, 57)을 클라우드 스토리지(1000)에 저장할 수 있다. Referring to FIG. 17A, the device 100 can divide the file 50 into a plurality of file fragments, and then encrypt each of the divided file fragments. By encrypting each of the fragmented file fragments, the device 100 can store the encrypted plurality of file fragments 53, 55, 57 in the cloud storage 1000.

또한, 디바이스(100)는 파일(50)에 대응하는 암호화된 복수개의 파일 조각(53, 55, 57)을 클라우드 스토리지(1000)로부터 수신할 수 있다. 디바이스(100)는 수신된 복수개의 파일 조각(53, 55, 57)을 복호화하고, 복호화된 복수개의 파일 조각을 조합하여 파일을 생성하고, 생성된 파일을 실행할 수 있다. The device 100 may also receive a plurality of encrypted pieces of files 53, 55, 57 corresponding to the files 50 from the cloud storage 1000. The device 100 can decrypt the received plurality of file fragments 53, 55, and 57, combine the decrypted plurality of file fragments to generate a file, and execute the generated file.

도 17b를 참조하면, 파일을 복수개의 파일 조각으로 분할한 후, 복수개의 파일 조각 각각을 암호화함에 따라, 디바이스(100)는 파일 조각 각각의 식별 정보에 대응하여, 암호화 시 사용된 암호화 키(1710, 1720, 1730)를 파일 분할 정보(700)로써 저장할 수 있다. 17B, after dividing a file into a plurality of file fragments and encrypting each of the plurality of file fragments, the device 100 stores the encryption key 1710 , 1720, and 1730 can be stored as the file partition information 700.

도 18a 및 도 18b는 본 발명의 일 실시예에 따른, 디바이스(100)가 파일을 암호화하기 위해, 사용자로부터 암호화를 위한 정보를 수신하는 방법을 설명하기 위한 도면이다.18A and 18B are diagrams for explaining how the device 100 receives information for encryption from a user to encrypt a file, according to an embodiment of the present invention.

도 18a를 참조하면, 디바이스(100)는 파일을 암호화하기 위한 사용자 인터페이스를 제공할 수 있다. Referring to FIG. 18A, the device 100 may provide a user interface for encrypting a file.

예를 들어, 디바이스(100)는 파일을 분산 저장할 때, 파일 암호화에 사용될 비밀 번호를 설정하기 위한 메뉴(1800)를 제공할 수 있다. 비밀 번호를 설정하기 위한 메뉴(1800)는 파일을 분산 저장할 때 파일을 암호화를 할지 여부를 선택하기 위한 체크 박스(1810), 비밀 번호를 입력하기 위한 입력 필드(1820) 및 스크린 키보드를 포함할 수 있다. 입력 필드(1820)에 입력된 비밀 번호를 저장하는 사용자 입력을 수신함에 따라, 디바이스(100)는 입력된 비밀 번호에 기초하여 파일을 암호화할 수 있다. For example, the device 100 may provide a menu 1800 for setting a password to be used for file encryption when distributing the file. The menu 1800 for setting the password may include a check box 1810 for selecting whether or not to encrypt the file when distributing the file, an input field 1820 for inputting the password, and a screen keyboard have. Upon receiving a user input that stores a password entered in the input field 1820, the device 100 may encrypt the file based on the entered password.

도 18b를 참조하면, 디바이스(100)는 파일을 분산 저장할 때, 파일에 대응하여 비밀 번호를 설정하기 위한 사용자 인터페이스를 제공할 수도 있다. Referring to FIG. 18B, the device 100 may provide a user interface for setting a password corresponding to a file when distributing the file.

예를 들어, 파일을 선택하고, 선택된 파일을 분산 저장할 것을 명령하는 사용자 입력을 수신함에 따라, 디바이스(100)는 선택된 파일에 대응하여 비밀 번호를 설정하기 위한 설정창(1830)을 디스플레이할 수 있다. 선택된 파일에 대응하여 설정창(1830)에 비밀 번호를 입력하고, 입력된 비밀 번호를 저장하는 사용자 입력을 수신함에 따라, 디바이스(100)는 입력된 비밀 번호를 암호화 키로하여, 선택된 파일을 암호화할 수 있다.For example, upon receiving a user input that selects a file and instructs distributed storage of the selected file, the device 100 may display a setting window 1830 for setting a password corresponding to the selected file. Upon inputting a password to the setting window 1830 corresponding to the selected file and receiving a user input for storing the inputted password, the device 100 can encrypt the selected file with the inputted password as an encryption key have.

도 18c는 본 발명의 일 실시예에 따른, 암호화되어 분산 저장된 파일을 선택하는 사용자 입력을 수신함에 따라, 디바이스(100)가 복호화 정보를 입력받기 위한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.18C is a diagram for explaining a method for providing a user interface for the device 100 to receive decryption information upon receipt of a user input for selecting an encrypted and distributed stored file according to an embodiment of the present invention .

디바이스(100)는 분산 저장된 파일의 목록을 디스플레이할 수 있다. 또한, 디바이스(100)는 파일의 목록 중 하나를 선택하는 사용자 입력을 수신할 수 있다. 선택된 파일이 암호화되어 분산 저장된 파일인 경우, 디바이스(100)는 복호화 정보를 입력 받기 위한 비밀 번호 입력창(1840)을 디스플레이할 수 있다. The device 100 may display a list of distributed stored files. In addition, the device 100 may receive user input selecting one of a list of files. If the selected file is encrypted and distributed and stored, the device 100 may display a password input window 1840 for receiving decryption information.

비밀 번호 입력창(1840)에 비밀 번호를 입력하고, 입력을 완료하는 사용자 입력을 수신함에 따라, 디바이스(100)는 입력된 비밀 번호에 기초하여 선택된 파일을 복호화할 수 있다. Upon inputting the password to the password input window 1840 and receiving the user input for completing the input, the device 100 can decrypt the selected file based on the inputted password.

도 19는 본 발명의 일 실시예에 따른, 파일을 분산 저장하는 기능을 수행하는 디바이스(100)내의 모듈을 나타내는 도면이다.19 is a diagram showing a module in a device 100 that performs the function of distributing and storing files according to an embodiment of the present invention.

도 19를 참조하면, 디바이스(100)내의 복수의 모듈이 파일을 분산 저장하는 기능을 수행할 수 있다. 복수의 모듈은 메모리에 적재된 프로그램이 디바이스(100)내의 프로세서에서 실행됨으로써 구현될 수 있다. Referring to FIG. 19, a plurality of modules in the device 100 may perform a function of distributing and storing files. A plurality of modules can be implemented by executing a program loaded in a memory in a processor in the device 100. [

디바이스(100)는, 계정 관리 모듈(Account Management Module, 1910), 데이터 관리 모듈(Data/Metadata Management Module, 1920), 업데이트 관리 모듈(Update Management Module, 1930), 파일 분산 저장 모듈(Data Duplication Module, 1940) 및 클라우드 스토리지 연결 모듈(Cloud Storage Adaptation Interface, 1950)을 포함할 수 있다. 또한, 실시예에 따라, 디바이스(100)는 데이터베이스 기능을 수행하는 데이터베이스 모듈(Database, 1960)을 포함할 수 있다. The device 100 includes an Account Management Module 1910, a Data / Metadata Management Module 1920, an Update Management Module 1930, a Data Duplication Module, 1940) and a Cloud Storage Adaptation Interface (1950). Also, according to an embodiment, the device 100 may include a database module 1960 that performs database functions.

계정 관리 모듈(1910)은, 각각의 클라우드 스토리지(1000)에 등록된 사용자의 계정을 관리할 수 있다. 예를 들어, 계정 관리 모듈(1910)은 사용자의 계정 정보를 저장할 수 있다. 또한, 계정 관리 모듈(1910)은 사용자의 계정에 기초하여, 계정을 입력하는 별도의 사용자 입력 없이 클라우드 스토리지(1000)와 데이터를 송수신할 수 있다. The account management module 1910 can manage accounts of users registered in each of the cloud storages 1000. For example, the account management module 1910 may store user account information. In addition, the account management module 1910 can send and receive data to and from the cloud storage 1000, without the need for separate user input to enter an account, based on the account of the user.

데이터 관리 모듈(1920)은 디바이스(100)에서 지원하는 데이터 형식에 맞추어, 클라우드 스토리지(1000)로부터 수신된 파일 또는 클라우드 스토리지(1000)에 저장할 파일의 데이터와 메타데이터를 디바이스(100)의 데이터베이스(1960)에 저장할 수 있다. 또한, 데이터 관리 모듈(1920)은, 클라우드 스토리지(1000)와 디바이스(100)간에 파일을 연동하여 관리할 수 있다. The data management module 1920 stores data and metadata of a file received from the cloud storage 1000 or a file to be stored in the cloud storage 1000 in the database 100 of the device 100 according to the data format supported by the device 100 1960). In addition, the data management module 1920 can manage files between the cloud storage 1000 and the device 100 by interlocking them.

업데이트 관리 모듈(1930)은, 클라우드 스토리지(1000) 또는 디바이스(100)에서 파일이 추가, 삭제 또는 업데이트됨에 따라, 클라우드 스토리지(1000)와 연동하여, 클라우드 스토리지(1000)와 파일을 동기화할 수 있다. The update management module 1930 can synchronize files with the cloud storage 1000 in conjunction with the cloud storage 1000 as files are added, deleted or updated in the cloud storage 1000 or the device 100 .

파일 분산 저장 모듈(1940)은 사용자의 파일을 복수개의 파일 조각으로 분할하고, 분할된 복수개의 파일 조각을 복수개의 클라우드 스토리지(1000)에 저장할 수 있다. 또한, 파일 분산 저장 모듈(1940)은 복수개의 클라우드 스토리지(1000)로부터 파일에 대응하는 복수개의 파일 조각을 수신하고, 수신된 복수개의 파일 조각을 조합하여 파일을 다시 생성할 수 있다. The file distribution storage module 1940 may divide the user's file into a plurality of file fragments and store the plurality of fragmented file fragments in the plurality of cloud storages 1000. The file distribution storage module 1940 may receive a plurality of file fragments corresponding to the files from the plurality of cloud storages 1000 and may combine the received plurality of file fragments to regenerate the files.

클라우드 스토리지 연결 모듈(1950)은 복수의 클라우드 스토리지(1000a 내지 1000n)와 데이터를 송수신하는 모듈일 수 있다. 클라우드 스토리지 연결 모듈(1950)은 각각의 클라우드 스토리지(1000)를 운영하는 사업자가 제공하는 API(Application Programming Interface)로 구현될 수 있다. 예를 들어, 각각의 클라우드 스토리지(1000)를 연결하기 위한 인터페이스 프로그램이 플러그인(Plug-in) 형태로 클라우드 스토리지 연결 모듈(1950)에 추가 또는 삭제될 수 있다. The cloud storage connection module 1950 may be a module for transmitting and receiving data to and from a plurality of cloud storages 1000a to 1000n. The cloud storage connection module 1950 may be implemented with an API (application programming interface) provided by a provider operating each of the cloud storages 1000. For example, an interface program for connecting each of the cloud storages 1000 may be added or deleted to the cloud storage connection module 1950 in the form of a plug-in.

실시예에 따라, 도 19의 구성 중 파일 분산 저장 모듈(1940)은 서버로써 구현될 수 있다. According to the embodiment, the file distribution storage module 1940 in the configuration of FIG. 19 can be implemented as a server.

예를 들어, 파일 분산 저장 모듈(1940)은 각각의 사용자의 파일을 분산 저장할 수 있다. 예를 들어, 파일 분산 저장 모듈(1940)은 사용자의 디바이스로부터 파일 분산 저장 요청을 수신할 수 있다. 파일 분산 저장 요청을 수신함에 따라, 파일 분산 저장 모듈(1940)은 사용자의 디바이스로부터 파일을 수신하고, 수신된 파일을 복수개의 파일 조각으로 분할하고, 분할된 복수개의 파일 조각을 복수개의 클라우드 스토리지(1000)에 저장할 수 있다. For example, the file distribution storage module 1940 may distribute and store files of each user. For example, the file distribution storage module 1940 may receive a file distributed storage request from the user's device. Upon receiving the file distributed storage request, the file distribution storage module 1940 receives the file from the user's device, divides the received file into a plurality of file fragments, and splits the plurality of fragmented file fragments into a plurality of cloud storage 1000).

또한, 파일 분산 저장 모듈(1940)은 사용자의 디바이스로부터 분산 저장된 파일에 대한 요청을 수신할 수 있다. 분산 저장된 파일에 대한 요청을 수신함에 따라, 파일 분산 저장 모듈(1940)은 복수개의 클라우드 스토리지(1000)로부터 파일에 대응하는 복수개의 파일 조각을 수신하고, 수신된 복수개의 파일 조각을 조합하여 파일을 다시 생성할 수 있다. 파일을 다시 생성함에 따라, 파일 분산 저장 모듈(1940)은 사용자의 디바이스에게 생성된 파일을 송신할 수 있다. In addition, the file distribution storage module 1940 may receive a request for a file that is distributed from the user's device. Upon receipt of the request for the distributed stored file, the file distribution storage module 1940 receives a plurality of file fragments corresponding to the file from the plurality of cloud storages 1000, combines the received plurality of file fragments, You can regenerate it. By regenerating the file, the file distribution storage module 1940 can transmit the created file to the user's device.

도 20은 본 발명의 일 실시예에 따른, 디바이스(100)가 파일을 분할하여, 복수개의 클라우드 스토리지(1000)에 분산 저장하는 방법을 설명하기 위한 도면이다.20 is a diagram for explaining a method in which a device 100 divides a file and distributes the file to a plurality of cloud storages 1000 according to an embodiment of the present invention.

도 20을 참조하면, 디바이스(100)는 어플리케이션(2010)을 실행할 수 있다. 어플리케이션(2010)이 실행됨에 따라, 어플리케이션(2010)은 디바이스(100) 내의 파일 저장 모듈(2020)에게 파일을 저장할 것을 요청할 수 있다. Referring to FIG. 20, device 100 may execute application 2010. As the application 2010 is executed, the application 2010 may request the file storage module 2020 in the device 100 to store the file.

파일 저장 모듈(2020)은 파일을 분할하여, 복수개의 클라우드 스토리지(1000a 내지 1000f)에 분산 저장할 수 있다. The file storage module 2020 can divide the files and distribute them to the plurality of cloud storages 1000a to 1000f.

또한, 어플리케이션(2010)이 실행됨에 따라, 어플리케이션(2010)은 파일 저장 모듈(2020)에게 파일을 요청할 수 있다. 파일 저장 모듈(2020)은 복수개의 클라우드 스토리지(1000)에 분산 저장된 복수개의 파일 조각을 수신하고, 수신된 복수개의 파일 조각을 조합하여 파일을 다시 생성할 수 있다. 파일이 다시 생성됨에 따라, 어플리케이션(2010)은 생성된 파일을 실행할 수 있다.Also, as the application 2010 is executed, the application 2010 can request a file to the file storage module 2020. [ The file storage module 2020 receives a plurality of file fragments stored in a plurality of the cloud storages 1000 and reproduces the files by combining the received plurality of file fragments. As the file is regenerated, the application 2010 can execute the generated file.

또한, 파일 저장 모듈(2020)은 각각의 파일에 대하여 파일 분할 정보(2030)를 생성하고, 생성된 파일 분할 정보(2030)를 복수개의 클라우드 스토리지(1000a 내지 1000f)에 저장할 수 있다. The file storage module 2020 may generate file partition information 2030 for each file and store the generated file partition information 2030 in the plurality of cloud storages 1000a to 1000f.

도 21은 본 발명의 일 실시예에 따른, 디바이스(100)에 대한 블록도를 도시한다.Figure 21 shows a block diagram of a device 100, in accordance with one embodiment of the present invention.

도 21에 도시된 바와 같이, 일 실시예에 따른, 디바이스(100)는 제어부(170), 사용자 입력부(145), 통신부(130) 및 디스플레이부(110)을 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수 구성 요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 디바이스(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 디바이스(100)는 구현될 수 있다.The device 100 may include a control unit 170, a user input unit 145, a communication unit 130, and a display unit 110, as shown in FIG. However, not all illustrated components are required. The device 100 may be implemented by more components than the components shown, and the device 100 may be implemented by fewer components.

제어부(170)는 사용자 입력부(145), 통신부(130) 및 디스플레이부(110)를 제어할 수 있다. The control unit 170 may control the user input unit 145, the communication unit 130, and the display unit 110.

또한, 제어부(170)는 디바이스(100)에 저장된 파일을 분할하여 복수개의 파일 조각을 생성할 수 있다. In addition, the controller 170 may divide the file stored in the device 100 to generate a plurality of file fragments.

또한, 제어부(170)는 디바이스(100)의 사용자가 등록된 복수개의 클라우드 스토리지(1000) 중 복수개의 파일 조각 각각을 저장할 클라우드 스토리지(1000)를 결정할 수 있다. 예를 들어, 제어부(170)는 복수개의 파일 조각 중 제 1 파일 조각에 대응하여, 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지(1000)를 결정할 수 있다.In addition, the controller 170 may determine the cloud storage 1000 in which a plurality of pieces of file among the plurality of cloud storages 1000 in which the user of the device 100 is registered. For example, the control unit 170 may determine a plurality of cloud storages 1000 to store the first file fragments corresponding to the first file fragments of the plurality of file fragments.

또한, 제어부(170)는 파일 분할 정보에 기초하여, 복수개의 파일 조각 각각에 대응하여, 복수개의 파일 조각이 저장된 클라우드 스토리지(1000)를 결정할 수 있다. 또한, 제어부(170)는 클라우드 스토리지(1000)로부터 수신된 복수개의 파일 조각을 조합하여 파일을 생성하고, 생성된 파일을 실행할 수 있다. Also, the control unit 170 can determine the cloud storage 1000 storing a plurality of file fragments corresponding to each of the plurality of file fragments, based on the file division information. The control unit 170 may combine a plurality of pieces of file received from the cloud storage 1000 to generate a file and execute the generated file.

또한, 제어부(170)는 파일을 암호화하고, 암호화된 파일을 분할함으로써 복수개의 파일 조각을 생성할 수 있다. 이 경우, 제어부(170)는 복수개의 파일 조각을 조합하여 파일을 생성하고, 생성된 파일을 복호화할 수 있다.In addition, the control unit 170 can encrypt a file and generate a plurality of file fragments by dividing the encrypted file. In this case, the control unit 170 can combine a plurality of file fragments to generate a file, and can decode the generated file.

또한, 제어부(170)는 파일을 분할하여 복수개의 파일 조각을 생성하고, 복수개의 파일 조각 중 적어도 하나의 조각을 암호화할 수도 있다. 이 경우, 제어부(170)는 복수개의 파일 조각을 복호화하고, 복호화된 파일 조각을 조합하여 파일을 생성할 수 있다.In addition, the control unit 170 may divide the file into a plurality of file fragments, and may encrypt at least one fragment of the plurality of file fragments. In this case, the control unit 170 can decode a plurality of file fragments and combine the decrypted file fragments to generate a file.

또한, 제어부(170)는 파일을 분할함으로써 복수개의 파일 조각을 생성함에 따라, 파일을 미리 정해진 폴더 내로 이동시킬 수 있다.In addition, the control unit 170 can move the file into a predetermined folder by generating a plurality of file fragments by dividing the file.

통신부(130)는 클라우드 스토리지(1000)와 데이터를 송수신할 수 있다. 또한, 통신부(130)는 외부 디바이스는 또는 외부 서버와 데이터를 송수신할 수 있다.The communication unit 130 can transmit and receive data to and from the cloud storage 1000. In addition, the communication unit 130 can transmit / receive data to / from an external device or an external server.

통신부(130)는 각각의 파일 조각에 대응되는 클라우드 스토리지(1000)에게, 각각의 파일 조각을 저장할 것을 요청할 수 있다.The communication unit 130 may request the cloud storage 1000 corresponding to each file fragment to store the respective file fragments.

또한, 통신부(130)는 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지(1000)에게 제 1 파일 조각을 저장할 것을 각각 요청할 수 있다.In addition, the communication unit 130 may request to store the first file fragments in the plurality of cloud storages 1000 in which the first file fragments are to be stored.

또한, 통신부(130)는 복수개의 파일 조각의 식별 정보 및 복수개의 파일 조각을 저장할 클라우드 스토리지(1000)의 식별 정보를 포함하는 파일 분할 정보를 복수개의 클라우드 스토리지(1000) 중 적어도 하나에게 저장할 것을 요청할 수 있다.The communication unit 130 also requests that at least one of the plurality of file storage devices 1000 store the file partition information including the identification information of the plurality of file fragments and the identification information of the cloud storage 1000 for storing a plurality of file fragments .

또한, 통신부(130)는 각각의 파일 조각에 대응되는 클라우드 스토리지(1000)에게, 적어도 하나의 조각이 암호화된 복수개의 파일 조각을 저장할 것을 요청할 수 있다.In addition, the communication unit 130 may request the cloud storage 1000 corresponding to each file fragment to store a plurality of file fragments encrypted with at least one fragment.

또한, 통신부(130)는 파일이 분산 저장됨에 따라, 파일이 저장된 클라우드 스토리지(1000)에게, 파일을 삭제할 것을 요청할 수 있다.In addition, the communication unit 130 may request the cloud storage 1000 in which the file is stored to delete the file, as the files are distributed and stored.

또한, 통신부(130)는 복수개의 파일 조각 각각을, 복수개의 파일 조각 각각에 대응되는 클라우드 스토리지(1000)로부터 수신할 수 있다.Also, the communication unit 130 can receive each of the plurality of file fragments from the cloud storage 1000 corresponding to each of the plurality of file fragments.

또한, 통신부(130)는 파일 분할 정보를 복수개의 클라우드 스토리지(1000) 중 적어도 하나로부터 수신할 수 있다. In addition, the communication unit 130 can receive the file division information from at least one of the plurality of cloud storages 1000.

또한, 통신부(130)는 두 개 이상의 클라우드 스토리지(1000)로부터 동일한 파일 조각을 수신할 수 있다.In addition, the communication unit 130 can receive the same file fragments from two or more cloud storages 1000.

또한, 통신부(130)는 두 개 이상의 클라우드 스토리지(1000)로부터 동일한 파일 조각의 서로 다른 부분을 동시에 수신할 수 있다.Also, the communication unit 130 can simultaneously receive different parts of the same file fragment from two or more cloud storages 1000. [

사용자 입력부(145)는 파일을 분산 저장하고, 분산 저장된 파일을 수신하여 실행하기 위한 사용자 입력을 수신할 수 있다. The user input unit 145 may receive the user input for distributing and storing the files and receiving and executing the distributed stored files.

예를 들어, 사용자 입력부(145)는 복수개의 파일 조각으로 분할된 파일의 식별 정보를 선택하는 사용자 입력을 수신할 수 있다. For example, the user input unit 145 may receive a user input for selecting identification information of a file divided into a plurality of file fragments.

디스플레이부(110)는 파일을 분산 저장하고, 분산 저장된 파일을 수신하여 실행하기 위한 정보를 디스플레이할 수 있다.The display unit 110 may distribute files and display information for receiving and executing the distributed files.

도 22는 본 발명의 다른 실시 예에 따른, 디바이스(100)의 구성을 나타내는 블록도이다. 22 is a block diagram illustrating a configuration of a device 100 according to another embodiment of the present invention.

도 22에 도시된 바와 같이, 디바이스(100)의 구성은, 예를 들어, 휴대폰, 태블릿 PC, PDA, MP3 플레이어, 키오스크, 전자 액자, 네비게이션 장치, 디지털 TV, 스마트 워치(Smart watch), 손목 시계(Wrist watch) 또는 스마크 글래스(Smart Glass), HMD(Head-Mounted Display)와 같은 웨어러블 디바이스(Wearable device) 등과 같은 다양한 유형의 장치에 적용될 수 있다. 22, the configuration of the device 100 may include, for example, a mobile phone, a tablet PC, a PDA, an MP3 player, a kiosk, an electronic frame, a navigation device, a digital TV, a Smart watch, A wrist watch, a smart glass, a wearable device such as a head-mounted display (HMD), and the like.

도 22에 따르면, 디바이스(100)는 제어부(170), 사용자 입력부(145), 통신부(130) 및 디스플레이부(110) 이외에, 메모리(120), GPS 칩(125), 비디오 프로세서(135), 오디오 프로세서(140), 마이크부(150), 촬상부(155), 스피커부(160), 움직임 감지부(165) 중 적어도 하나를 포함 할 수 있다. 22, the device 100 includes a memory 120, a GPS chip 125, a video processor 135, and a display unit 110 in addition to the control unit 170, the user input unit 145, the communication unit 130, And may include at least one of an audio processor 140, a microphone unit 150, an image pickup unit 155, a speaker unit 160, and a motion detection unit 165.

디스플레이부(110)는 표시패널(111) 및 표시패널(111)을 제어하는 컨트롤러(미도시)를 포함할 수 있다. 표시패널(111)에는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode), PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 표시패널(111)은 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 디스플레이부(110)는 사용자 입력부(145)의 터치 패널(147)과 결합되어 터치 스크린(미도시)으로 제공될 수 있다. 예를 들어, 터치 스크린(미도시)은 표시 패널(111)과 터치 패널(147)이 적층 구조로 결합된 일체형의 모듈을 포함할 수 있다.The display unit 110 may include a controller (not shown) for controlling the display panel 111 and the display panel 111. The display panel 111 is implemented with various types of displays such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, an active matrix organic light-emitting diode (AM-OLED), and a plasma display panel . The display panel 111 may be embodied as being flexible, transparent or wearable. The display unit 110 may be coupled to the touch panel 147 of the user input unit 145 and provided as a touch screen (not shown). For example, the touch screen (not shown) may include an integrated module in which the display panel 111 and the touch panel 147 are combined in a laminated structure.

메모리(120)는 내장 메모리(Internal Memory)(미도시) 및 외장 메모리(External Memory)(미도시) 중 적어도 하나를 포함할 수 있다. The memory 120 may include at least one of an internal memory (not shown) and an external memory (not shown).

내장 메모리는, 예를 들어, 휘발성 메모리(예를 들면, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등), 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 제어부(170)는 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 제어부(170)는 다른 구성요소로부터 수신하거나 생성된 데이터를 비휘발성 메모리에 보존할 수 있다.The built-in memory may be a volatile memory (for example, a dynamic RAM (DRAM), a static random access memory (SRAM), a synchronous dynamic RAM (SDRAM), or the like), a nonvolatile memory (e.g., an OTPROM ), A PROM (Programmable ROM), an EPROM (Erasable and Programmable ROM), an EEPROM (Electrically Erasable and Programmable ROM), a Mask ROM, a Flash ROM etc.), a hard disk drive (HDD), or a solid state drive . According to one embodiment, the controller 170 may load and process commands or data received from at least one of the non-volatile memory or other components into the volatile memory. In addition, the control unit 170 can store data received or generated from other components in the nonvolatile memory.

외장 메모리는, 예를 들면, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 및 Memory Stick 중 적어도 하나를 포함할 수 있다.The external memory may store at least one of CF (Compact Flash), SD (Secure Digital), Micro-SD (Micro Secure Digital), Mini-SD (Mini Secure Digital), xD .

메모리(120)는 디바이스(100)의 동작에 사용되는 각종 프로그램 및 데이터를 저장할 수 있다. 예를 들어, 메모리(120)에는 잠금 화면에 표시될 컨텐츠의 적어도 일부를 임시 또는 반영구적으로 저장할 수 있다.The memory 120 may store various programs and data used in the operation of the device 100. For example, the memory 120 may temporarily or semi-permanently store at least a part of the content to be displayed on the lock screen.

제어부(170)는 메모리(120)에 저장된 컨텐츠의 일부가 디스플레이부(110)에 표시되도록 디스플레이부(110)를 제어할 수 있다. 다시 말하자면, 제어부(170)는 메모리(120)에 저장된 컨텐츠의 일부를 디스플레이부(110)에 표시할 수 있다. 또는, 제어부(170)는 디스플레이부(110)의 일 영역에서 사용자 제스처가 이루어지면, 사용자의 제스처에 대응되는 제어 동작을 수행할 수 있다. The control unit 170 may control the display unit 110 such that a part of the content stored in the memory 120 is displayed on the display unit 110. [ In other words, the control unit 170 may display a part of the contents stored in the memory 120 on the display unit 110. [ Alternatively, when a user gesture is performed in one area of the display unit 110, the controller 170 may perform a control operation corresponding to the gesture of the user.

제어부(170)는 RAM(171), ROM(172), CPU(173), GPU(Graphic Processing Unit)(174) 및 버스(175) 중 적어도 하나를 포함 할 수 있다. RAM(171), ROM(172), CPU(173) 및 GPU(174) 등은 버스(175)를 통해 서로 연결될 수 있다. The control unit 170 may include at least one of a RAM 171, a ROM 172, a CPU 173, a GPU (Graphic Processing Unit) 174, and a bus 175. The RAM 171, the ROM 172, the CPU 173, and the GPU 174 may be interconnected via a bus 175.

CPU(173)는 메모리(120)에 액세스하여, 메모리(120)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(120)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.The CPU 173 accesses the memory 120 and performs booting using the O / S stored in the memory 120. [ Various operations are performed using various programs, contents, data, and the like stored in the memory 120.

ROM(172)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 예로, 디바이스(100)는 턴온 명령이 입력되어 전원이 공급되면, CPU(173)가 ROM(172)에 저장된 명령어에 따라 메모리(120)에 저장된 O/S를 RAM(171)에 복사하고, O/S를 실행시켜 시스템을 부팅시킬 수 있다. 부팅이 완료되면, CPU(173)는 메모리(120)에 저장된 각종 프로그램을 RAM(171)에 복사하고, RAM(171)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다. GPU(174)는 디바이스(100)의 부팅이 완료되면, 디스플레이부(110)의 영역에 UI 화면을 디스플레이한다. 구체적으로는, GPU(174)는 컨텐츠, 아이콘, 메뉴 등과 같은 다양한 객체를 포함하는 전자문서가 표시된 화면을 생성할 수 있다. GPU(174)는 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성 값을 연산한다. 그리고, GPU(174)는 연산된 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. GPU(174)에서 생성된 화면은 디스플레이부(110)로 제공되어, 디스플레이부(110)의 각 영역에 각각 표시될 수 있다. The ROM 172 stores a command set for booting the system and the like. For example, when a turn-on command is inputted and power is supplied, the CPU 173 copies the O / S stored in the memory 120 to the RAM 171 according to the instruction stored in the ROM 172, You can boot the system by running / S. When the booting is completed, the CPU 173 copies various programs stored in the memory 120 to the RAM 171, executes the program copied to the RAM 171, and performs various operations. The GPU 174 displays the UI screen in the area of the display unit 110 when the booting of the device 100 is completed. Specifically, the GPU 174 may generate a screen displaying an electronic document including various objects such as contents, icons, menus, and the like. The GPU 174 computes an attribute value such as a coordinate value, a shape, a size, and a color to be displayed by each object according to the layout of the screen. Then, the GPU 174 can generate screens of various layouts including the objects based on the computed attribute values. The screen generated by the GPU 174 may be provided to the display unit 110 and displayed in each area of the display unit 110.

GPS 칩(125)은 GPS(Grobal Positioning System) 위성으로부터 GPS 신호를 수신하여, 디바이스(100)의 현재 위치를 산출할 수 있다. 제어부(170)는 네비게이션 프로그램을 이용할 때나 그 밖에 사용자의 현재 위치가 필요할 경우에, GPS 칩(125)을 이용하여 사용자 위치를 산출할 수 있다.The GPS chip 125 may receive the GPS signal from a GPS (Global Positioning System) satellite and calculate the current position of the device 100. The control unit 170 can calculate the user position using the GPS chip 125 when the navigation program is used or when the current position of the user is required.

통신부(130)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 디바이스와 통신을 수행할 수 있다. 통신부(130)는 와이파이칩(131), 블루투스 칩(132), 무선 통신 칩(133), NFC 칩(134) 중 적어도 하나를 포함할 수 있다. 제어부(170)는 통신부(130)를 이용하여 각종 외부 디바이스와 통신을 수행할 수 있다.The communication unit 130 can perform communication with various types of external devices according to various types of communication methods. The communication unit 130 may include at least one of a Wi-Fi chip 131, a Bluetooth chip 132, a wireless communication chip 133, and an NFC chip 134. The control unit 170 can perform communication with various external devices using the communication unit 130. [

와이파이 칩(131), 블루투스 칩(132)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행할 수 있다. 와이파이 칩(131)이나 블루투스 칩(132)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩(133)은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩(134)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.The Wi-Fi chip 131 and the Bluetooth chip 132 may perform communication using a WiFi method or a Bluetooth method, respectively. In the case of using the Wi-Fi chip 131 or the Bluetooth chip 132, various connection information such as SSID and session key may be transmitted and received first, and communication information may be used to transmit and receive various information. The wireless communication chip 133 refers to a chip that performs communication according to various communication standards such as IEEE, ZigBee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution) The NFC chip 134 means a chip operating in an NFC (Near Field Communication) system using a band of 13.56 MHz among various RF-ID frequency bands such as 135 kHz, 13.56 MHz, 433 MHz, 860 to 960 MHz and 2.45 GHz.

비디오 프로세서(135)는 통신부(130)를 통해 수신된 컨텐츠 또는, 메모리(120)에 저장된 컨텐츠에 포함된 비디오 데이터를 처리할 수 있다. 비디오 프로세서(135)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다. The video processor 135 may process the content received through the communication unit 130 or the video data included in the content stored in the memory 120. [ The video processor 135 may perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, resolution conversion, etc. on the video data.

오디오 프로세서(140)는 통신부(130)를 통해 수신된 컨텐츠 또는, 메모리(120)에 저장된 컨텐츠에 포함된 오디오 데이터를 처리할 수 있다. 오디오 프로세서(140)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.The audio processor 140 may process the content received through the communication unit 130 or the audio data included in the content stored in the memory 120. [ In the audio processor 140, various processes such as decoding or amplification of audio data, noise filtering, and the like may be performed.

제어부(170)는 멀티미디어 컨텐츠에 대한 재생 프로그램이 실행되면 비디오 프로세서(135) 및 오디오 프로세서(140)를 구동시켜, 해당 컨텐츠를 재생할 수 있다. 스피커부(160)는 오디오 프로세서(140)에서 생성한 오디오 데이터를 출력할 수 있다.When the playback program for the multimedia content is executed, the controller 170 may drive the video processor 135 and the audio processor 140 to play the corresponding content. The speaker unit 160 may output the audio data generated by the audio processor 140.

사용자 입력부(145)는 사용자로부터 다양한 명령어를 입력 받을 수 있다. 사용자 입력부(145)는 키(146), 터치 패널(147) 및 펜 인식 패널(148) 중 적어도 하나를 포함할 수 있다. The user input unit 145 can receive various commands from the user. The user input 145 may include at least one of a key 146, a touch panel 147, and a pen recognition panel 148.

키(146)는 디바이스(100)의 본체 외관의 전면부나 측면부, 배면부 등의 다양한 영역에 형성된 기계적 버튼, 휠 등과 같은 다양한 유형의 키를 포함할 수 있다.The keys 146 may include various types of keys, such as mechanical buttons, wheels, and the like, formed in various areas such as the front or side of the body exterior of the device 100,

터치 패널(147)은 사용자의 터치 입력을 감지하고, 감지된 터치 신호에 해당하는 터치 이벤트 값을 출력할 수 있다. 터치 패널(147)이 표시 패널(111)과 결합하여 터치 스크린(미도시)을 구성한 경우, 터치 스크린은 정전식이나, 감압식, 압전식 등과 같은 다양한 유형의 터치 센서로 구현될 수 있다. 정전식은 터치 스크린 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 터치 스크린 표면에 터치되었을 때 사용자의 인체로 야기되는 미세 전기를 감지하여 터치 좌표를 산출하는 방식이다. 감압식은 터치 스크린에 내장된 두 개의 전극 판을 포함하여, 사용자가 화면을 터치하였을 경우, 터치된 지점의 상하 판이 접촉되어 전류가 흐르게 되는 것을 감지하여 터치 좌표를 산출하는 방식이다. 터치 스크린에서 발생하는 터치 이벤트는 주로 사람의 손가락에 의하여 생성될 수 있으나, 정전 용량 변화를 가할 수 있는 전도성 재질의 물체에 의해서도 생성될 수 있다.The touch panel 147 senses a user's touch input and can output a touch event value corresponding to the sensed touch signal. When the touch panel 147 is combined with the display panel 111 to constitute a touch screen (not shown), the touch screen may be implemented by various types of touch sensors such as an electrostatic type, a pressure sensitive type, a piezoelectric type, The electrostatic type is a method of calculating the touch coordinates by sensing the minute electricity generated by the user's body when a part of the user's body is touched on the touch screen surface by using a dielectric coated on the surface of the touch screen. The depressurization type includes two electrode plates built in the touch screen. When the user touches the screen, the upper and lower plates of the touched point contact each other to sense current flow, and the touch coordinates are calculated. A touch event occurring on a touch screen can be generated by a finger of a person, but can also be generated by a conductive material capable of applying a capacitance change.

펜 인식 패널(148)은 사용자의 터치용 펜(예컨대, 스타일러스 펜(stylus pen), 디지타이저 펜(digitizer pen))의 운용에 따른 펜의 근접 입력 또는 터치 입력을 감지하고 감지된 펜 근접 이벤트 또는 펜 터치 이벤트를 출력할 수 있다. 펜 인식 패널(148)은, 예로, EMR 방식으로 구현될 수 있으며, 펜의 근접 또는 터치에 의한 전자기장의 세기 변화에 따라 터치 또는 근접 입력을 감지할 수 있다. 상세하게는 펜 인식 패널(148)은 그리드 구조를 가지는 전자 유도 코일 센서(미도시)와 전자 유도 코일 센서의 각 루프 코일에 순차적으로 소정의 주파수를 가지는 교류 신호를 제공하는 전자 신호 처리부(미도시)를 포함하여 구성될 수 있다. 이러한 펜 인식 패널(148)의 루프 코일 근방에 공진회로를 내장하는 펜이 존재하면, 해당 루프 코일로부터 송신되는 자계가 펜 내의 공진회로에 상호 전자 유도에 기초한 전류를 발생시킨다. 이 전류를 기초로 하여, 펜 내의 공진 회로를 구성하는 코일로부터 유도 자계가 발생하게 되고, 펜 인식 패널(148)은 이 유도 자계를 신호 수신 상태에 있는 루프 코일에서 검출하게 되어 펜의 접근 위치 또는 터치 위치가 감지될 수 있다. 펜 인식 패널(148)은 표시 패널(111)의 하부에 일정 면적, 예를 들어, 표시 패널(111)의 표시 영역을 커버할 수 있는 면적을 가지고 마련될 수 있다. The pen recognition panel 148 detects proximity or touch input of the pen as a result of operation of the user's touch pen (e.g., a stylus pen, a digitizer pen) Touch events can be output. The pen recognition panel 148 may be implemented, for example, in an EMR manner and may sense a touch or proximity input according to proximity of a pen or change in intensity of an electromagnetic field due to a touch. More specifically, the pen recognition panel 148 includes an electromagnetic induction coil sensor (not shown) having a grid structure and an electronic signal processor (not shown) for sequentially providing AC signals having a predetermined frequency to the respective loop coils of the electromagnetic induction coil sensor ). ≪ / RTI > When a pen incorporating a resonant circuit exists in the vicinity of the loop coil of the pen recognition panel 148, a magnetic field transmitted from the loop coil generates a current based on mutual electromagnetic induction in the resonant circuit in the pen. Based on this current, an induction magnetic field is generated from the coils constituting the resonance circuit in the pen, and the pen recognition panel 148 detects the induction magnetic field in the loop coil in the signal reception state, The touch position can be detected. The pen recognition panel 148 may be provided at a lower portion of the display panel 111 with a certain area, for example, an area capable of covering the display area of the display panel 111. [

마이크부(150)는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환할 수 있다. 제어부(170)는 마이크부(150)를 통해 입력되는 사용자 음성을 통화 동작에서 이용하거나, 오디오 데이터로 변환하여 메모리(120)에 저장할 수 있다.The microphone unit 150 may receive a user voice or other sound and convert the audio data into audio data. The control unit 170 may use the user's voice input through the microphone unit 150 in a call operation or convert the user's voice into audio data and store the user data in the memory 120. [

촬상부(155)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬상할 수 있다. 촬상부(155)는 전면 카메라, 후면 카메라와 같이 복수 개로 구현될 수도 있다. The image pickup unit 155 can capture a still image or a moving image under the control of the user. The image pickup unit 155 may be implemented as a plurality of units such as a front camera and a rear camera.

촬상부(155) 및 마이크부(150)가 마련된 경우, 제어부(170)는 마이크부(150)를 통해 입력되는 사용자 음성이나 촬상부(155)에 의해 인식되는 사용자 모션에 따라 제어 동작을 수행할 수도 있다. 예컨대, 디바이스(100)는 모션 제어 모드나 음성 제어 모드로 동작할 수 있다. 모션 제어 모드로 동작하는 경우, 제어부(170)는 촬상부(155)를 활성화시켜 사용자를 촬상하고, 사용자의 모션 변화를 추적하여 그에 대응되는 제어 동작을 수행할 수 있다. 음성 제어 모드로 동작하는 경우 제어부(170)는 마이크부(150)를 통해 입력된 사용자 음성을 분석하고, 분석된 사용자 음성에 따라 제어 동작을 수행하는 음성 인식 모드로 동작할 수 있다. The control unit 170 performs a control operation in accordance with the user's voice inputted through the microphone unit 150 or the user's motion recognized by the image pickup unit 155. In the case where the image pickup unit 155 and the microphone unit 150 are provided, It is possible. For example, the device 100 may operate in a motion control mode or a voice control mode. When operating in the motion control mode, the control unit 170 activates the image pickup unit 155 to pick up a user, track a user's motion change, and perform a corresponding control operation. When operating in the voice control mode, the control unit 170 may analyze the user voice input through the microphone unit 150 and operate in a voice recognition mode for performing a control operation according to the analyzed user voice.

움직임 감지부(165)는 디바이스(100)의 본체 움직임을 감지할 수 있다. 디바이스(100)는 다양한 방향으로 회전되거나 기울어질 수 있다. 이 때, 움직임 감지부(165)는 지자기 센서, 자이로 센서, 가속도 센서 등과 같은 다양한 센서들 중 적어도 하나를 이용하여 회전 방향 및 각도, 기울기 등과 같은 움직임 특성을 감지할 수 있다. The motion sensing unit 165 may sense motion of the main body of the device 100. The device 100 may be rotated or tilted in various directions. At this time, the motion sensing unit 165 may sense motion characteristics such as a rotation direction, an angle, and a tilt using at least one of various sensors such as a geomagnetism sensor, a gyro sensor, and an acceleration sensor.

그 밖에, 도 22에 도시하지는 않았으나, 실시예에는, 디바이스(100)내에 USB 커넥터가 연결될 수 있는 USB 포트나, 헤드셋, 마우스, LAN 등과 같은 다양한 외부 단자와 연결하기 위한 다양한 외부 입력 포트, DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 DMB 칩, 다양한 센서 등을 더 포함할 수 있다. 22, a USB port through which a USB connector can be connected in the device 100, various external input ports for connecting with various external terminals such as a headset, a mouse, a LAN, etc., and a DMB A DMB chip for receiving and processing a Digital Multimedia Broadcasting (DMB) signal, and various sensors.

전술한 디바이스(100)의 구성 요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 디바이스(100)는 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.The names of the components of the above-described device 100 may vary. Further, the device 100 according to the present disclosure may be configured to include at least one of the above-described components, and some components may be omitted or further include other additional components.

도 23은 본 발명의 일 실시예에 따른, 클라우드 스토리지(1000)에 대한 블록도를 도시한다. 23 shows a block diagram of a cloud storage 1000, in accordance with an embodiment of the present invention.

도 23을 참조하면, 일부 실시예에 따른 클라우드 스토리지(1000)는 통신부(1600), 제어부(1700) 및 데이터베이스(1900)를 포함할 수 있다. 또한, 데이터베이스(1900)는 사용자 계정 DB(1930) 및 사용자 파일 DB(1970)를 포함할 수 있다.Referring to FIG. 23, a cloud storage 1000 according to some embodiments may include a communication unit 1600, a control unit 1700, and a database 1900. In addition, the database 1900 may include a user account DB 1930 and a user file DB 1970.

사용자 계정 DB(1930)에는 클라우드 스토리지(1000)에 등록된 사용자의 식별 정보 및 비밀 번호 정보가 저장될 수 있다. 또한, 사용자 계정 DB(1930)에는 클라우드 스토리지(1000)가 사용자를 인증함에 따라 디바이스(100)에게 발급한 접근 정보가 저장될 수 있다. 또한, 사용자 계정 DB(1930)에는 디바이스(100)와 클라우드 스토리지(1000)간의 세션 유지를 위한 세션 유지 정보가 저장될 수 있다. In the user account DB 1930, identification information and password information of a user registered in the cloud storage 1000 may be stored. In addition, the user account DB 1930 may store access information issued to the device 100 as the cloud storage 1000 authenticates the user. In addition, the user account DB 1930 may store session maintenance information for maintaining a session between the device 100 and the cloud storage 1000.

사용자 파일 DB(1970)에는 사용자의 파일이 저장될 수 있다. 예를 들어, 사용자 파일 DB(1970)에는 사용자의 파일의 컨텐츠 데이터 및 사용자의 파일의 메타데이터가 저장될 수 있다. 이 경우, 사용자 파일 DB(1970)에는 사용자의 식별 정보에 대응하여 사용자의 파일이 저장될 수 있다. A user's file can be stored in the user file DB (1970). For example, in the user file DB (1970), content data of a user's file and metadata of a user's file can be stored. In this case, the user file DB (1970) may store the user's file corresponding to the identification information of the user.

통신부(1600)는 디바이스(100)로부터 파일 저장 요청을 수신할 수 있다. 파일 저장 요청을 수신함에 따라, 제어부(1700)는 사용자의 식별 정보에 대응하여 수신된 파일을 저장할 수 있다. The communication unit 1600 may receive a file storage request from the device 100. [ Upon receipt of the file storage request, the control unit 1700 may store the received file in response to the identification information of the user.

또한, 통신부(1600)는 디바이스(100)로부터 파일에 대한 요청을 수신할 수 있다. 파일 요청을 수신함에 따라, 제어부(1700)는 사용자의 식별 정보 및 파일의 식별 정보에 기초하여 사용자의 파일을 획득하고, 획득된 사용자의 파일을 통신부(1600)를 통해 디바이스(100)로 전송할 수 있다. Further, the communication unit 1600 can receive a request for the file from the device 100. [ Upon receipt of the file request, the control unit 1700 acquires the user's file based on the identification information of the user and the identification information of the file, and transmits the acquired user's file to the device 100 through the communication unit 1600 have.

또한, 제어부(1700)는 사용자의 디바이스(100)와 사용자의 파일을 동기화 할 수 있다. 예를 들어, 사용자 파일 DB(1970) 내의 사용자의 파일이 수정, 삭제, 업데이트 됨에 따라, 제어부(1700)는 통신부(1600)를 통해, 디바이스(100)에게 동일한 파일을 수정, 삭제, 업데이트 할 것을 요청할 수 있다. 또한, 디바이스(100)내의 사용자의 파일이 수정, 삭제, 업데이트 됨에 따라, 제어부(1700)는 통신부(1600)를 통해, 디바이스(100)로부터 동일한 파일을 수정, 삭제, 업데이트 할 것을 요청받을 수 있다.In addition, the control unit 1700 can synchronize the user's file with the user's file. For example, as the user's file in the user file DB 1970 is modified, deleted, or updated, the control unit 1700 allows the device 100 to modify, delete, or update the same file through the communication unit 1600 Can be requested. Also, as the user's file in the device 100 is modified, deleted, or updated, the control unit 1700 may be requested to modify, delete, or update the same file from the device 100 via the communication unit 1600 .

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium can include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

Claims (28)

디바이스에 저장된 파일을 분할하여 복수개의 파일 조각을 생성하고, 상기 디바이스의 사용자가 등록된 복수개의 클라우드 스토리지 중, 상기 복수개의 파일 조각 각각에 대응하여, 상기 복수개의 파일 조각 각각을 저장할 클라우드 스토리지들을 결정하는 제어부; 및
상기 결정된 클라우드 스토리지들에게, 상기 복수개의 파일 조각 각각을 저장할 것을 요청하는 통신부를 포함하는, 디바이스.
A storage medium storing a program for causing a computer to execute a method of generating a plurality of file fragments by dividing a file stored in a device and determining cloud storages for storing each of the plurality of file fragments in correspondence with each of the plurality of file fragments among a plurality of cloud storage ; And
And a communication unit for requesting the determined cloud storages to store each of the plurality of file fragments.
제 1 항에 있어서,
상기 디바이스에 저장된 파일은,
상기 복수개의 클라우드 스토리지 중 하나로부터 수신된 파일인 것인, 디바이스.
The method according to claim 1,
A file stored in the device
The file being received from one of the plurality of cloud storages.
제 1 항에 있어서,
상기 제어부는,
상기 복수개의 파일 조각 중 제 1 파일 조각에 대응하며, 상기 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지를 결정하고,
상기 통신부는,
상기 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지에게 상기 제 1 파일 조각을 저장할 것을 각각 요청하는, 디바이스.
The method according to claim 1,
Wherein,
Determining a plurality of cloud storages corresponding to a first file fragment of the plurality of file fragments to store the first file fragment,
Wherein,
And request to store the first file fragments to a plurality of cloud storages for storing the first file fragments.
제 1 항에 있어서,
상기 통신부는,
상기 복수개의 파일 조각의 식별 정보들 및 상기 복수개의 파일 조각이 저장된 클라우드 스토리지들의 식별 정보들을 포함하는 파일 분할 정보를 상기 복수개의 클라우드 스토리지 중 적어도 하나에게 저장할 것을 요청하는, 디바이스.
The method according to claim 1,
Wherein,
Requesting to store in the at least one of the plurality of cloud storages the file partition information including the identification information of the plurality of file fragments and the identification information of the cloud storages in which the plurality of file fragments are stored.
제 1 항에 있어서,
상기 제어부는,
암호화 키에 기초하여, 상기 파일을 암호화하고, 상기 암호화된 파일을 분할함으로써 상기 복수개의 파일 조각을 생성하고, 상기 암호화 키를 상기 디바이스에 저장하거나 또는 상기 복수개의 클라우드 스토리지 중 적어도 하나에 저장하는, 디바이스.
The method according to claim 1,
Wherein,
Generating a plurality of file fragments by partitioning the encrypted file based on an encryption key, storing the encryption key in the device, or storing the encryption key in at least one of the plurality of cloud storage devices, device.
제 1 항에 있어서,
상기 제어부는,
상기 파일을 분할하여 복수개의 파일 조각을 생성하고, 암호화 키에 기초하여, 상기 복수개의 파일 조각 중 적어도 하나의 조각을 암호화하고, 상기 암호화 키를 상기 디바이스에 저장하거나 또는 상기 복수개의 클라우드 스토리지 중 적어도 하나에 저장하고,
상기 통신부는,
상기 각각의 파일 조각에 대응되는 클라우드 스토리지들에게, 상기 적어도 하나의 조각이 암호화된 상기 복수개의 파일 조각을 저장할 것을 요청하는, 디바이스.
The method according to claim 1,
Wherein,
Encrypting at least one piece of the plurality of file fragments based on an encryption key, storing the encryption key in the device, or storing at least one of the plurality of cloud storage Store it in one,
Wherein,
And request the cloud storage corresponding to each file fragment to store the plurality of file fragments encrypted by the at least one fragment.
제 1 항에 있어서,
상기 제어부는,
상기 복수개의 파일 조각 각각이 상기 결정된 클라우드 스토리지들에게 각각 저장됨에 따라, 상기 저장된 파일을 삭제하는, 디바이스.
The method according to claim 1,
Wherein,
And deletes the stored file as each of the plurality of file fragments is stored in each of the determined cloud storages.
제 1 항에 있어서,
상기 디바이스에 저장된 파일은, 상기 복수개의 클라우드 스토리지 중 하나 및 상기 디바이스에 함께 저장된 파일이고,
상기 통신부는, 상기 파일이 저장된 클라우드 스토리지에게, 상기 파일을 삭제할 것을 요청하는, 디바이스.
The method according to claim 1,
Wherein the file stored in the device is one of the plurality of cloud storages and a file stored together with the device,
The communication unit requests the cloud storage where the file is stored to delete the file.
하나의 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 상기 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는 제어부; 및
상기 복수개의 파일 조각 각각을, 상기 결정된 클라우드 스토리지들로부터 각각 수신하는 통신부를 포함하고,
상기 제어부는, 상기 수신된 복수개의 파일 조각을 조합하여 상기 파일을 생성하고, 상기 생성된 파일을 실행하는, 디바이스.
A controller for determining cloud storages in which each of the plurality of file fragments is stored corresponding to each of a plurality of file fragments divided from one file; And
And a communication unit for receiving each of the plurality of file fragments from the determined cloud storages,
Wherein the control unit generates the file by combining the received plurality of file fragments, and executes the generated file.
제 9 항에 있어서,
상기 통신부는,
상기 복수개의 파일 조각의 식별 정보들 및 상기 복수개의 파일 조각이 저장된 클라우드 스토리지들의 식별 정보들을 포함하는 파일 분할 정보를 상기 복수개의 클라우드 스토리지 중 적어도 하나로부터 수신하고,
상기 제어부는,
상기 수신된 파일 분할 정보에 기초하여, 상기 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는, 디바이스.
10. The method of claim 9,
Wherein,
From the at least one of the plurality of cloud storages, file partition information including identification information of the plurality of file fragments and identification information of cloud storages in which the plurality of file fragments are stored,
Wherein,
And based on the received file partition information, each of the plurality of file fragments determines stored cloud storages.
제 9 항에 있어서,
상기 복수개의 파일 조각 중 제 1 파일 조각은 상기 복수개의 클라우드 스토리지 중 두 개 이상에 중복 저장된 파일 조각이고,
상기 제어부는,
상기 제 1 파일 조각에 대응하여 상기 두 개 이상의 클라우드 스토리지 중 하나를 선택하고,
상기 통신부는,
상기 선택된 클라우드 스토리지로부터 상기 제 1 파일 조각을 수신하는, 디바이스.
10. The method of claim 9,
Wherein a first file fragment of the plurality of file fragments is a fragment of a file stored in duplicate in at least two of the plurality of cloud storages,
Wherein,
Selecting one of the two or more cloud storages in correspondence with the first file fragment,
Wherein,
And receive the first file fragment from the selected cloud storage.
제 9 항에 있어서,
상기 복수개의 파일 조각 중 제 2 파일 조각은 상기 복수개의 클라우드 스토리지 중 두 개 이상에 중복 저장된 파일 조각이고,
상기 통신부는,
상기 두 개 이상의 클라우드 스토리지로부터 상기 제 2 파일 조각의 서로 다른 부분을 동시에 수신하는, 디바이스.
10. The method of claim 9,
Wherein a second file fragment of the plurality of file fragments is a fragment of a file that is redundantly stored in two or more of the plurality of cloud storages,
Wherein,
And receive different portions of the second file fragment from the at least two cloud storages simultaneously.
제 9 항에 있어서,
상기 복수개의 파일 조각은 상기 파일이 분할된 후 상기 복수개의 파일 조각 각각에 대응하여 암호화된 파일 조각이고,
상기 통신부는,
상기 암호화된 복수개의 파일 조각을 복호화하기 위한 복호화 키를 상기 디바이스 또는 상기 복수개의 클라우드 서버 중 적어도 하나로부터 수신하고,
상기 제어부는,
상기 수신된 복호화 키에 기초하여, 상기 수신된 복수개의 파일 조각을 복호화하고, 상기 복호화된 파일 조각을 조합하여 상기 파일을 생성하는, 디바이스.
10. The method of claim 9,
Wherein the plurality of file fragments are encrypted fragments corresponding to each of the plurality of file fragments after the file is divided,
Wherein,
Receiving a decryption key for decrypting the encrypted plurality of file fragments from at least one of the device or the plurality of cloud servers,
Wherein,
And decrypts the received plurality of file fragments based on the received decryption key, and combines the decrypted file fragments to generate the file.
제 9 항에 있어서,
상기 복수개의 파일 조각은 상기 파일이 암호화된 후 분할된 파일 조각이고,
상기 통신부는,
상기 암호화된 파일을 복호화하기 위한 복호화 키를 상기 디바이스 또는 상기 복수개의 클라우드 서버 중 적어도 하나로부터 수신하고,
상기 제어부는,
상기 수신된 복호화 키에 기초하여, 상기 수신된 복수개의 파일 조각을 조합하여 상기 파일을 생성하고, 상기 생성된 파일을 복호화하는, 디바이스.
10. The method of claim 9,
Wherein the plurality of file fragments are fragmented file fragments after the file is encrypted,
Wherein,
Receiving a decryption key for decrypting the encrypted file from at least one of the device or the plurality of cloud servers,
Wherein,
And generates the file by combining the received plurality of file fragments based on the received decryption key, and decrypts the generated file.
디바이스에 저장된 파일을 분할하여 복수개의 파일 조각을 생성하는 단계;
상기 디바이스의 사용자가 등록된 복수개의 클라우드 스토리지 중, 상기 복수개의 파일 조각 각각에 대응하여, 상기 복수개의 파일 조각 각각을 저장할 클라우드 스토리지들을 결정하는 단계; 및
상기 결정된 클라우드 스토리지들에게, 상기 복수개의 파일 조각 각각을 저장할 것을 요청하는 단계를 포함하는, 파일 저장 방법.
Dividing a file stored in a device into a plurality of file fragments;
Determining cloud storage to store each of the plurality of file fragments corresponding to each of the plurality of file fragments among a plurality of cloud storage to which a user of the device is registered; And
And requesting the determined cloud storages to store each of the plurality of file fragments.
제 15 항에 있어서,
상기 디바이스에 저장된 파일은, 상기 복수개의 클라우드 스토리지 중 하나로부터 수신된 파일인 것인, 방법.
16. The method of claim 15,
Wherein the file stored in the device is a file received from one of the plurality of cloud storages.
제 15 항에 있어서,
상기 복수개의 파일 조각 각각을 저장할 클라우드 스토리지들을 결정하는 단계는,
상기 복수개의 파일 조각 중 제 1 파일 조각에 대응하며, 상기 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지를 결정하는 단계를 포함하고,
상기 결정된 클라우드 스토리지들에게, 상기 복수개의 파일 조각 각각을 저장할 것을 요청하는 단계는,
상기 제 1 파일 조각을 저장할 복수개의 클라우드 스토리지에게 상기 제 1 파일 조각을 저장할 것을 각각 요청하는 단계를 포함하는 방법.
16. The method of claim 15,
Wherein determining cloud storage to store each of the plurality of file fragments comprises:
Determining a plurality of cloud storages corresponding to a first file fragment of the plurality of file fragments to store the first file fragment,
Requesting the determined cloud storages to store each of the plurality of file fragments,
Each requesting to store the first file fragment to a plurality of cloud storage to store the first file fragment.
제 15 항에 있어서,
상기 파일 저장 방법은,
상기 복수개의 파일 조각의 식별 정보들 및 상기 복수개의 파일 조각이 저장된 클라우드 스토리지들의 식별 정보들을 포함하는 파일 분할 정보를 상기 복수개의 클라우드 스토리지 중 적어도 하나에게 저장할 것을 요청하는 단계를 더 포함하는 방법.
16. The method of claim 15,
The file storage method includes:
Further comprising requesting storage of at least one of the plurality of file storage information and file partition information including identification information of the plurality of file fragments and identification information of the cloud storage where the plurality of file fragments are stored.
제 15 항에 있어서,
상기 디바이스에 저장된 파일을 분할하여 복수개의 파일 조각을 생성하는 단계는,
암호화 키에 기초하여, 상기 파일을 암호화하는 단계; 및
상기 암호화된 파일을 분할함으로써 상기 복수개의 파일 조각을 생성하고, 상기 암호화 키를 상기 디바이스에 저장하거나 또는 상기 복수개의 클라우드 스토리지 중 적어도 하나에 저장하는 단계를 포함하는, 방법.
16. The method of claim 15,
Dividing a file stored in the device into a plurality of file fragments,
Encrypting the file based on the encryption key; And
Generating the plurality of file fragments by partitioning the encrypted file and storing the encryption key in the device or in at least one of the plurality of cloud storage devices.
제 15 항에 있어서,
상기 디바이스에 저장된 파일을 분할하여 복수개의 파일 조각을 생성하는 단계는,
상기 파일을 분할하여 복수개의 파일 조각을 생성하는 단계; 및
암호화 키에 기초하여, 상기 복수개의 파일 조각 중 적어도 하나의 조각을 암호화하고, 상기 암호화 키를 상기 디바이스에 저장하거나 또는 상기 복수개의 클라우드 스토리지 중 적어도 하나에 저장하는 단계를 포함하고,
상기 결정된 클라우드 스토리지들에게, 상기 복수개의 파일 조각 각각을 저장할 것을 요청하는 단계는,
상기 복수개의 파일 조각 각각에 대응되는 클라우드 스토리지들에게, 상기 적어도 하나의 조각이 암호화된 상기 복수개의 파일 조각 각각을 저장할 것을 요청하는 단계를 포함하는, 방법.
16. The method of claim 15,
Dividing a file stored in the device into a plurality of file fragments,
Dividing the file into a plurality of file fragments; And
Encrypting at least one piece of the plurality of file fragments based on an encryption key and storing the encryption key in the device or in at least one of the plurality of cloud storage,
Requesting the determined cloud storages to store each of the plurality of file fragments,
Requesting cloud storage corresponding to each of the plurality of file fragments to store each of the plurality of file fragments encrypted by the at least one fragment.
제 15 항에 있어서,
상기 파일 저장 방법은,
상기 복수개의 파일 조각 각각이 상기 결정된 클라우드 스토리지들에게 각각 저장됨에 따라, 상기 저장된 파일을 삭제하는 단계를 더 포함하는, 방법.
16. The method of claim 15,
The file storage method includes:
Further comprising deleting the stored file as each of the plurality of file fragments is respectively stored in the determined cloud storages.
제 15 항에 있어서,
상기 디바이스에 저장된 파일은, 상기 복수개의 클라우드 스토리지 중 하나 및 상기 디바이스에 함께 저장된 파일이고,
상기 파일 저장 방법은,
상기 파일이 저장된 클라우드 스토리지에게, 상기 파일을 삭제할 것을 요청하는 단계를 더 포함하는, 방법.
16. The method of claim 15,
Wherein the file stored in the device is one of the plurality of cloud storages and a file stored together with the device,
The file storage method includes:
Further comprising: asking the cloud storage where the file is stored to delete the file.
디바이스가, 하나의 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 상기 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는 단계;
상기 복수개의 파일 조각 각각을, 상기 결정된 클라우드 스토리지들로부터 각각 수신하는 단계;
상기 수신된 복수개의 파일 조각을 조합하여 상기 파일을 생성하는 단계; 및
상기 생성된 파일을 실행하는 단계를 포함하는, 파일 실행 방법.
Determining, by the device, the cloud storages in which each of the plurality of file fragments is stored corresponding to each of the plurality of file fragments divided from one file;
Receiving each of the plurality of file fragments from the determined cloud storages, respectively;
Generating the file by combining the received plurality of file fragments; And
And executing the generated file.
제 23 항에 있어서,
상기 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 상기 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는 단계는,
상기 복수개의 파일 조각의 식별 정보들 및 상기 복수개의 파일 조각이 저장된 클라우드 스토리지들의 식별 정보들을 포함하는 파일 분할 정보를 상기 복수개의 클라우드 스토리지 중 적어도 하나로부터 수신하는 단계; 및
상기 수신된 파일 분할 정보에 기초하여, 상기 파일로부터 분할된 복수개의 파일 조각 각각에 대응하여, 상기 복수개의 파일 조각 각각이 저장된 클라우드 스토리지들을 결정하는 단계를 포함하는 방법.
24. The method of claim 23,
The step of determining cloud storages in which each of the plurality of file fragments is stored, corresponding to each of the plurality of file fragments divided from the file,
Receiving, from at least one of the plurality of cloud storages, file partition information including identification information of the plurality of file fragments and identification information of cloud storages storing the plurality of file fragments; And
Determining cloud storages in which each of the plurality of file fragments is stored corresponding to each of the plurality of file fragments segmented from the file based on the received file segmentation information.
제 23 항에 있어서,
상기 복수개의 파일 조각 중 제 1 파일 조각은 상기 복수개의 클라우드 스토리지 중 두 개 이상에 중복 저장된 파일 조각이고,
상기 복수개의 파일 조각 각각을, 상기 결정된 클라우드 스토리지들로부터 각각 수신하는 단계,
상기 제 1 파일 조각에 대응하여 상기 두 개 이상의 클라우드 스토리지 중 하나를 선택하는 단계; 및
상기 선택된 클라우드 스토리지로부터 상기 제 1 파일 조각을 수신하는 단계를 포함하는 방법.
24. The method of claim 23,
Wherein a first file fragment of the plurality of file fragments is a fragment of a file stored in duplicate in at least two of the plurality of cloud storages,
Receiving each of the plurality of file fragments from the determined cloud storages,
Selecting one of the two or more cloud storages in response to the first file fragment; And
And receiving the first file fragment from the selected cloud storage.
제 23 항에 있어서,
상기 복수개의 파일 조각 중 제 2 파일 조각은 상기 복수개의 클라우드 스토리지 중 두 개 이상에 중복 저장된 파일 조각이고,
상기 복수개의 파일 조각 각각을, 상기 결정된 클라우드 스토리지들로부터 각각 수신하는 단계는,
상기 두 개 이상의 클라우드 스토리지로부터 상기 제 2 파일 조각의 서로 다른 부분을 동시에 수신하는 단계를 포함하는 방법.
24. The method of claim 23,
Wherein a second file fragment of the plurality of file fragments is a fragment of a file that is redundantly stored in two or more of the plurality of cloud storages,
Receiving each of the plurality of file fragments from the determined cloud storages,
And simultaneously receiving different portions of the second file fragment from the two or more cloud storages.
제 23 항에 있어서,
상기 복수개의 파일 조각은 상기 파일이 분할된 후 상기 복수개의 파일 조각 각각에 대응하여 암호화된 파일 조각이고,
상기 수신된 복수개의 파일 조각을 조합하여 상기 파일을 생성하는 단계는,
상기 암호화된 복수개의 파일 조각을 복호화하기 위한 복호화 키를 상기 디바이스 또는 상기 복수개의 클라우드 서버 중 적어도 하나로부터 수신하는 단계;
상기 수신된 복수개의 파일 조각을 복호화하는 단계; 및
상기 복호화된 파일 조각을 조합하여 상기 파일을 생성하는 단계를 포함하는 방법.
24. The method of claim 23,
Wherein the plurality of file fragments are encrypted fragments corresponding to each of the plurality of file fragments after the file is divided,
Wherein the generating of the file by combining the received plurality of file fragments comprises:
Receiving a decryption key for decrypting the encrypted plurality of file fragments from at least one of the device or the plurality of cloud servers;
Decoding the received plurality of file fragments; And
And combining the decrypted file fragments to generate the file.
제 23 항에 있어서,
상기 복수개의 파일 조각은 상기 파일이 암호화된 후 분할된 파일 조각이고,
상기 수신된 복수개의 파일 조각을 조합하여 상기 파일을 생성하는 단계는,
상기 암호화된 파일을 복호화하기 위한 복호화 키를 상기 디바이스 또는 상기 복수개의 클라우드 서버 중 적어도 하나로부터 수신하는 단계;
상기 수신된 복호화 키에 기초하여, 상기 수신된 복수개의 파일 조각을 조합하여 상기 파일을 생성하는 단계; 및
상기 생성된 파일을 복호화하는 단계를 포함하는, 방법.
24. The method of claim 23,
Wherein the plurality of file fragments are fragmented file fragments after the file is encrypted,
Wherein the generating of the file by combining the received plurality of file fragments comprises:
Receiving a decryption key for decrypting the encrypted file from at least one of the device or the plurality of cloud servers;
Generating the file by combining the received plurality of file fragments based on the received decryption key; And
And decrypting the generated file.
KR1020160106991A 2015-03-20 2016-08-23 Method for storing a file by using a plurality of cloud storage and apparatus thereof KR102480414B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160106991A KR102480414B1 (en) 2015-03-20 2016-08-23 Method for storing a file by using a plurality of cloud storage and apparatus thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150038954 2015-03-20
KR1020160106991A KR102480414B1 (en) 2015-03-20 2016-08-23 Method for storing a file by using a plurality of cloud storage and apparatus thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150038954 Division 2015-03-20 2015-03-20

Publications (2)

Publication Number Publication Date
KR20160113071A true KR20160113071A (en) 2016-09-28
KR102480414B1 KR102480414B1 (en) 2022-12-23

Family

ID=84536549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160106991A KR102480414B1 (en) 2015-03-20 2016-08-23 Method for storing a file by using a plurality of cloud storage and apparatus thereof

Country Status (1)

Country Link
KR (1) KR102480414B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200027102A (en) * 2018-08-31 2020-03-12 주식회사 피풀 Method for storing file based upon cloud storage and apparatus therefor
KR102150806B1 (en) * 2019-11-15 2020-09-02 (주)키프코프롬투 Method for protecting data
KR20210131256A (en) * 2020-04-23 2021-11-02 김종호 USB based cloud disk and disk segment management system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130022613A (en) * 2011-08-25 2013-03-07 주식회사 팬택 Apparatus and method for securing contents in cloud computing
US20130073691A1 (en) * 2011-06-17 2013-03-21 Alibaba Group Holding Limited File Processing Method, System and Server-clustered System for Cloud Storage
US20130305039A1 (en) * 2011-05-14 2013-11-14 Anthony Francois Gauda Cloud file system
US8627446B1 (en) * 2009-09-30 2014-01-07 Emc Corporation Federating data between groups of servers
US20140172929A1 (en) * 2012-12-14 2014-06-19 Jeffrey C. Sedayao Adaptive data striping and replication across multiple storage clouds for high availability and performance
US20140282938A1 (en) * 2013-03-15 2014-09-18 Adam Moisa Method and system for integrated cloud storage management
KR20140140974A (en) * 2013-05-30 2014-12-10 고려대학교 산학협력단 Method for data security using secret sharing system in cloud environments
US20150052354A1 (en) * 2013-08-16 2015-02-19 Vinay Purohit Distributed fragments file system
US20150178007A1 (en) * 2013-03-15 2015-06-25 Cloudifyd, Inc. Method and system for integrated cloud storage management

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627446B1 (en) * 2009-09-30 2014-01-07 Emc Corporation Federating data between groups of servers
US20130305039A1 (en) * 2011-05-14 2013-11-14 Anthony Francois Gauda Cloud file system
KR20140034222A (en) * 2011-05-14 2014-03-19 비트카사, 인코포레이티드 Cloud file system with server-side deduplication of user-agnostic encrypted files
US20130073691A1 (en) * 2011-06-17 2013-03-21 Alibaba Group Holding Limited File Processing Method, System and Server-clustered System for Cloud Storage
KR20130022613A (en) * 2011-08-25 2013-03-07 주식회사 팬택 Apparatus and method for securing contents in cloud computing
US20140172929A1 (en) * 2012-12-14 2014-06-19 Jeffrey C. Sedayao Adaptive data striping and replication across multiple storage clouds for high availability and performance
US20140282938A1 (en) * 2013-03-15 2014-09-18 Adam Moisa Method and system for integrated cloud storage management
US20150178007A1 (en) * 2013-03-15 2015-06-25 Cloudifyd, Inc. Method and system for integrated cloud storage management
KR20140140974A (en) * 2013-05-30 2014-12-10 고려대학교 산학협력단 Method for data security using secret sharing system in cloud environments
US20150052354A1 (en) * 2013-08-16 2015-02-19 Vinay Purohit Distributed fragments file system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200027102A (en) * 2018-08-31 2020-03-12 주식회사 피풀 Method for storing file based upon cloud storage and apparatus therefor
KR102150806B1 (en) * 2019-11-15 2020-09-02 (주)키프코프롬투 Method for protecting data
KR20210131256A (en) * 2020-04-23 2021-11-02 김종호 USB based cloud disk and disk segment management system

Also Published As

Publication number Publication date
KR102480414B1 (en) 2022-12-23

Similar Documents

Publication Publication Date Title
US10586063B2 (en) Method and apparatus for storing file by using a plurality of cloud storages
US11477211B2 (en) Apparatus and method for securely managing the accessibility to content and applications
US10171994B2 (en) Mobile device and method of sharing content
US11669465B1 (en) Secure storage of data through a multifaceted security scheme
US9781123B2 (en) Methods of providing social network service and server performing the same
US10733304B2 (en) Method and apparatus for protecting digital content using device authentication
US10122534B2 (en) Apparatus and method for managing use of secure tokens
US11269487B2 (en) Method and apparatus for recommending content based on activities of a plurality of users
KR101707462B1 (en) Mobile computing device technology and systems and methods utilizing the same
US10164984B2 (en) Method and apparatus for sharing data
CN108595970A (en) Configuration method, device, terminal and the storage medium of processing component
KR102154737B1 (en) Method of encrypting/decrypting content
KR102312336B1 (en) Method for sharing data and apparatus thereof
CN103081494A (en) Adaptive media content scrubbing on a remote device
KR20150123748A (en) User terminal and method for displaying lock screen
KR101832394B1 (en) Terminal apparatus, server and contol method thereof
US20180024976A1 (en) Annotation providing method and device
KR20140081220A (en) user terminal apparatus and contol method thereof
KR102480414B1 (en) Method for storing a file by using a plurality of cloud storage and apparatus thereof
US20150334185A1 (en) Terminal device, program, data transmission/reception system, and data transmission/reception method
KR20140105681A (en) Apparatus and method for encryption data in secure mode
KR20140033545A (en) Method for protecting and managing a digital contents and device thereof

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
GRNT Written decision to grant