KR101704538B1 - Data communication apparatus using cloud service and method for data processing thereof - Google Patents
Data communication apparatus using cloud service and method for data processing thereof Download PDFInfo
- Publication number
- KR101704538B1 KR101704538B1 KR1020160039576A KR20160039576A KR101704538B1 KR 101704538 B1 KR101704538 B1 KR 101704538B1 KR 1020160039576 A KR1020160039576 A KR 1020160039576A KR 20160039576 A KR20160039576 A KR 20160039576A KR 101704538 B1 KR101704538 B1 KR 101704538B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- pieces
- cloud servers
- data communication
- fragments
- Prior art date
Links
Images
Classifications
-
- G06F17/30575—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G06F17/30194—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 클라우드 서버와 데이터를 주고 받는 데이터 통신 장치 및 그것의 데이터 처리 방법에 관한 것이다.
본 발명에 다른 데이터 통신 장치의 데이터 처리 방법은, 원본 데이터를 분산 코딩하여 복수의 조각들을 생성하는 단계, 생성된 복수의 조각들 중 적어도 일부의 조각들을 복수의 클라우드 서버들에 분산 전송하는 단계를 포함하되, 복수의 클라우드 서버들은 각각이 상이한 클라우드 서비스 제공자들에 의해 운영되는 적어도 두 개의 클라우드 서버를 포함한다. The present invention relates to a data communication apparatus for exchanging data with a cloud server and a data processing method thereof.
A data processing method of a data communication apparatus according to the present invention includes the steps of generating a plurality of pieces of data by distributing original data, and distributing at least some pieces of the generated plurality of pieces to a plurality of cloud servers Wherein the plurality of cloud servers includes at least two cloud servers, each of which is operated by different cloud service providers.
Description
본 발명은 데이터 통신 장치 및 그것의 데이터 처리 방법에 관한 것으로서, 더욱 상세하게는 클라우드 서버와 데이터를 주고 받는 데이터 통신 장치 및 그것의 데이터 처리 방법에 관한 것이다.BACKGROUND OF THE
클라우드 서비스는 가상화 컴퓨팅, 유틸리티 컴퓨팅, 온디맨드(on demand) 컴퓨팅 등과 같은 다양한 컴퓨팅 방식과 통신 서비스를 혼합된 것으로서, 일반적으로는 가상화된 컴퓨터 시스템을 구축하여 사용자에게 다양한 소프트웨어, 보안 솔루션 또는 컴퓨팅 리소스를 제공하는 서비스를 의미한다. Cloud services are a mix of computing and communication services, such as virtualization, utility, and on demand computing. Typically, virtualized computer systems are used to provide users with a variety of software, security solutions, or computing resources. Means the service provided.
특히, 클라우드 서비스는 사용자에게 폭넓은 데이터 저장 서비스를 제공할 수 있으며, 이를 통해 사용자는 개인용 컴퓨터 장치에 개별적으로 저장하던 프로그램이나 문서를 인터넷 기반의 클라우드 서버에 저장할 수 있다. 그리고, 사용자는 개인용 컴퓨터나 스마트폰과 같은 다양한 단말기를 통해 클라우드 서버에 저장된 프로그램이나 문서를 구동 또는 열람할 수 있다. 이러한, 클라우드 서비스는 사용자가 장소에 영향받지 않고 저장한 데이터에 자유롭게 접근할 수 있게 하고, 사용자가 개인적으로 구비할 수 있는 것보다 더욱 풍부한 컴퓨팅 리소스를 활용할 수 있게 하는 장점이 있다. In particular, the cloud service can provide a wide range of data storage services to the user, allowing the user to store programs or documents individually stored in the personal computer device in an Internet-based cloud server. And, the user can drive or browse a program or a document stored in the cloud server through various terminals such as a personal computer or a smart phone. This cloud service has the advantage of allowing the user to freely access the stored data without being affected by the place, and to utilize a richer computing resource than the user can personally provide.
한편, 클라우드를 이용한 데이터 저장 서비스가 널리 이용됨에 따라, 개인 정보나 사생활 자료, 기업의 영업 비밀과 같은 비밀 자료들을 클라우드 서버에 저장하는 경우가 늘어나고 있다. 따라서, 클라우드 서비스를 안전하게 이용하기 위해서는, 클라우드 서버에 저장되는 자료들을 제 3 자로부터 보호하기 위한 보안 수단이 요구된다. On the other hand, as the data storage service using the cloud is widely used, secret data such as personal information, private data, and business secrets of the enterprise are increasingly stored in the cloud server. Therefore, in order to use the cloud service safely, a security measure for protecting the data stored in the cloud server from a third party is required.
또한, 클라우드 서비스를 이용할 때, 클라우드 서버가 통신 장애, 고장 또는 기타 장애 사유로 불능이 되면 사용자는 클라우드 서버에 저장한 데이터를 이용할 수 없으며, 클라우드 서버의 장애 종류에 따라 저장된 데이터를 유실할 가능성도 있다. 따라서, 클라우드 서비스를 안정하게 이용하기 위해서는, 그러한 클라우드 서버의 장애에도 불구하고 저장한 원본 데이터를 성공적으로 복원할 수 있는 수단이 요구된다. In addition, when the cloud service is used, the cloud server can not use the data stored in the cloud server if the cloud server is disabled due to communication failure, malfunction, or other reasons for failure, and the possibility that the stored data may be lost have. Therefore, in order to utilize the cloud service stably, a means for successfully restoring the stored original data despite the failure of such a cloud server is required.
본 발명의 목적은 보안성이 강화된 방법으로 클라우드 서버에 데이터를 저장하거나 클라우드 서버로부터 데이터를 읽어내는 데이터 통신 장치 및 그것의 데이터 처리 방법을 제공하는 데 있다. An object of the present invention is to provide a data communication apparatus and a data processing method thereof for storing data in a cloud server or reading data from a cloud server in a security-enhanced manner.
본 발명의 다른 목적은 데이터가 저장된 클라우드 서버가 불능이 되어도, 원래의 원본 데이터를 성공적으로 복원하게 하는 데이터 통신 장치 및 그것의 데이터 처리 방법을 제공하는 데 있다. Another object of the present invention is to provide a data communication apparatus and a data processing method for the same that can restore original source data successfully even if a cloud server storing data is disabled.
본 발명의 또 다른 목적은 클라우드 서비스의 데이터 전송 속도 및 공간 효율성이 향상된 데이터 통신 장치 및 그것의 데이터 처리 방법을 제공하는 데 있다. It is another object of the present invention to provide a data communication apparatus and a data processing method of the same that have improved data transmission speed and space efficiency of a cloud service.
본 발명의 실시 예들에 따른, 데이터 통신 장치의 데이터 처리 방법은 원본 데이터를 분산 코딩하여 복수의 조각들을 생성하는 단계; 상기 생성된 복수의 조각들 중 적어도 일부의 조각들을 복수의 클라우드 서버들에 분산 전송하는 단계를 포함하되, 상기 복수의 클라우드 서버들은 각각이 상이한 클라우드 서비스 제공자들에 의해 운영되는 적어도 두 개의 클라우드 서버를 포함한다. According to embodiments of the present invention, a data processing method of a data communication apparatus includes the steps of: generating a plurality of pieces by dispersively coding original data; Distributing at least some pieces of the generated plurality of pieces to a plurality of cloud servers, wherein the plurality of cloud servers each include at least two cloud servers operated by different cloud service providers .
실시 예로서, 상기 복수의 조각들은 하나 이상의 데이터 조각들 및 하나 이상의 패리티 조각들을 포함한다. In an embodiment, the plurality of pieces comprise one or more pieces of data and one or more pieces of parity.
실시 예로서, 상기 원본 데이터는 상기 복수의 조각들 중 상기 적어도 일부의 조각들로부터 복원 가능하고, 상기 적어도 일부의 조각들의 개수는 상기 하나 이상의 데이터 조각들의 개수보다 크거나 같다.In an embodiment, the original data is recoverable from the at least a portion of the plurality of pieces, and the number of the at least some pieces is equal to or greater than the number of the one or more data pieces.
실시 예로서, 상기 적어도 일부의 조각들은 상기 하나 이상의 패리티 조각들 중 적어도 하나를 포함한다. In an embodiment, the at least some fragments comprise at least one of the one or more parity fragments.
실시 예로서, 상기 적어도 일부의 조각들은 상기 하나 이상의 데이터 조각들을 포함하지 않는다.In an embodiment, the at least some fragments do not include the one or more data fragments.
실시 예로서, 복수의 조각들을 생성하는 단계는 상기 원본 데이터를 암호화하는 단계; 및 상기 암호화된 상기 원본 데이터를 분산 코딩하여 상기 복수의 조각들을 생성하는 단계를 포함한다.As an embodiment, generating a plurality of fragments may include encrypting the source data; And generating the plurality of fragments by variably coding the encrypted original data.
실시 예로서, 상기 원본 데이터의 상기 암호화에 사용된 키는 분산 코딩되어 상기 복수의 클라우드 서버들에 분산 저장된다.In an embodiment, the keys used for encryption of the original data are distributed coded and distributed to the plurality of cloud servers.
실시 예로서, 상기 생성된 복수의 조각들의 개수 또는 상기 생성된 복수의 조각들 각각의 크기는 상기 복수의 클라우드 서버들의 개수 또는 상기 복수의 클라우드 서버들의 저장 가능한 공간을 참조하여 결정된다.In an embodiment, the number of the generated plurality of pieces or the size of each of the generated plurality of pieces is determined by referring to the number of the plurality of cloud servers or the storable space of the plurality of the cloud servers.
실시 예로서, 상기 복수의 클라우드 서버들에 분산 전송하는 단계는, 미리 결정된 레이드 레벨에 따라, 상기 적어도 일부의 조각들을 상기 복수의 클라우드 서버들 중 적어도 일부에 순차적으로 또는 병렬적으로 전송하는 단계를 포함한다.In an embodiment, the step of distributedly transmitting to the plurality of cloud servers comprises transmitting the at least some fragments to at least a part of the plurality of cloud servers sequentially or in parallel according to a predetermined level of the raid .
본 발명의 실시 예들에 따른, 데이터 통신 장치의 데이터 처리 방법은 복수의 클라우드 서버들로부터 복수의 조각들을 읽어내는 단계; 및 상기 읽어낸 복수의 조각들을 복호하여 원본 데이터를 복원하는 단계를 포함하되, 상기 복수의 클라우드 서버들은 각각이 상이한 클라우드 서비스 제공자들에 의해 운영되는 적어도 두 개의 클라우드 서버를 포함한다.According to embodiments of the present invention, a data processing method of a data communication apparatus includes: reading a plurality of pieces from a plurality of cloud servers; And decoding the read pieces to restore original data, wherein the plurality of cloud servers each include at least two cloud servers operated by different cloud service providers.
실시 예로서, 상기 원본 데이터를 복원하는 단계는, 상기 읽어낸 복수의 조각들을 복호하여 암호화된 데이터를 복원하는 단계; 및 상기 암호화된 데이터를 복호하여 상기 원본 데이터를 복원하는 단계를 포함한다.In one embodiment of the present invention, the step of restoring the original data comprises: decrypting the read pieces to restore encrypted data; And decoding the encrypted data to restore the original data.
실시 예로서, 상기 읽어낸 복수의 조각들의 복호는 상기 복수의 조각들을 생성하는 데 사용된 분산 코딩 방법의 복호 알고리즘을 통해 수행된다.As an embodiment, the decoding of the read plurality of fragments is performed through a decoding algorithm of the distributed coding method used to generate the plurality of fragments.
실시 예로서, 상기 암호화된 데이터의 복호는 상기 원본 데이터를 암호화하는 데 사용된 암호화 방법의 복호 알고리즘을 통해 수행된다.As an embodiment, the decryption of the encrypted data is performed through a decryption algorithm of the encryption method used to encrypt the original data.
본 발명의 실시 예들에 따른, 클라우드 저장 서비스를 제공하는 클라우드 서버는 원본 데이터를 분산 코딩하여 생성된 복수의 조각들 중 일부 조각을 데이터 통신 장치로부터 수신하여 저장하고, 상기 저장한 일부 조각을 외부 장치로부터의 요청에 응답하여 상기 외부 장치에 제공하되, 상기 복수의 조각들은 상기 일부 조각과는 상이한 다른 일부 조각을 더 포함하고, 상기 다른 일부 조각은 상기 클라우드 저장 서비스와는 상이한 다른 클라우드 저장 서비스를 제공하는 다른 클라우드 서버에 저장되고, 상기 외부 장치로부터의 요청에 응답하여, 상기 외부 장치에 제공된다.According to embodiments of the present invention, a cloud server that provides a cloud storage service receives and stores a part of a plurality of pieces generated by distributing and encoding original data from a data communication device, and stores the stored pieces into an external device Wherein the plurality of pieces further comprise a different piece of the piece that is different from the piece, and the other piece of piece comprises another cloud storage service different from the cloud storage service And is provided to the external device in response to a request from the external device.
실시 예로서, 상기 일부 조각 또는 상기 다른 일부 조각은 상기 분산 코딩에 의해 생성된 패리티 조각을 포함한다.In some embodiments, the fractional fragments or the fractional fragments comprise parity fragments generated by the distributed coding.
본 발명의 실시 예들에 따르면, 데이터 암호화, 분산 코딩 또는 복수의 클라우드 서버에 대한 분산 저장을 통해, 보안성이 강화된 방법으로 클라우드 서버에 데이터를 저장하거나 클라우드 서버로부터 데이터를 읽어낼 수 있다.According to embodiments of the present invention, data can be stored in the cloud server or read from the cloud server in a security-enhanced manner through data encryption, distributed coding, or distributed storage for a plurality of cloud servers.
또한, 데이터를 분산 코딩하여 복수의 클라우드 서버에 나누어 저장하므로, 일부 클라우드 서버가 불능이 되어도 나머지 클라우드 서버로부터 원래의 원본 데이터를 성공적으로 복원할 수 있다.In addition, since the data is distributed and stored in a plurality of cloud servers, even if some cloud servers are disabled, the original data can be successfully restored from the remaining cloud servers.
또한, 전체 데이터를 복수의 클라우드 서버에 병렬적으로 저장하므로, 데이터 업로드 속도 및 다운로드 속도가 향상되고, 클라우드 서버의 저장 공간을 효율적으로 활용할 수 있다. In addition, since the entire data is stored in parallel in a plurality of cloud servers, the data upload speed and download speed are improved, and the storage space of the cloud server can be efficiently utilized.
도 1은 본 발명의 일 실시 예에 따른, 클라우드 서비스를 이용한 데이터 처리 방법을 나타내는 블록도이다.
도 2는 본 발명의 일 실시 예에 따른, 분산 코딩을 개략적으로 나타내는 개요도이다.
도 3은 본 발명의 다른 실시 예에 따른, 클라우드 서비스를 이용한 데이터 처리 방법을 나타내는 블록도이다.
도 4는 본 발명의 또 다른 실시 예에 따른, 클라우드 서비스를 이용한 데이터 처리 방법을 나타내는 블록도이다.
도 5는 본 발명의 실시 예들에 따른, 복수의 클라우드 서버에 데이터를 업로드하는 방법 및 복수의 클라우드 서버로부터 데이터를 다운로드하는 방법을 나타내는 블록도들이다.
도 6은 클라우드 서버들의 저장 가능한 공간에 따라, 데이터를 분산 코딩하여 클라우드 서버들에 전송하는 방법을 나타내는 블록도이다.
도 7은 저장 가능한 클라우드 서버들의 저장 가능한 공간에 따라, 레이드 레벨을 달리하여 데이터를 전송하는 방법을 나타내는 블록도이다.
도 8은 본 발명의 실시 예들에 따른, 클라우드 서비스를 이용한 데이터 처리 방법을 나타내는 순서도이다.
도 9는 본 발명의 일 실시 예에 따라, 도 8의 S110 단계를 구체화한 순서도이다.
도 10은 본 발명의 일 실시 예에 따라, 도 8의 S140 단계를 구체화한 순서도이다.1 is a block diagram illustrating a data processing method using a cloud service according to an embodiment of the present invention.
Figure 2 is a schematic diagram that schematically illustrates distributed coding, in accordance with one embodiment of the present invention.
3 is a block diagram illustrating a data processing method using a cloud service according to another embodiment of the present invention.
4 is a block diagram illustrating a data processing method using a cloud service according to another embodiment of the present invention.
5 is a block diagram illustrating a method of uploading data to a plurality of cloud servers and a method of downloading data from a plurality of cloud servers, according to embodiments of the present invention.
6 is a block diagram illustrating a method of distributing and transmitting data to cloud servers according to a storable space of cloud servers.
7 is a block diagram illustrating a method for transmitting data at different raid levels according to the storable space of storable cloud servers.
8 is a flowchart illustrating a data processing method using a cloud service according to embodiments of the present invention.
FIG. 9 is a flow chart embodying step S110 of FIG. 8 according to an embodiment of the present invention.
FIG. 10 is a flowchart illustrating the step S140 of FIG. 8 according to an embodiment of the present invention.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 사상 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment.
또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 사상 및 범위를 벗어나지 않는 범위 내에서 다양하게 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 의도된 것이 아니며, 본 발명의 범위는 원칙적으로 첨부한 청구항들에 정해지고, 청구항들에 기재된 것 및 그와 균등한 범위의 가능한 실시 예들을 포괄한다. 유사한 참조부호가 도면들에서 사용되는 경우, 유사한 참조부호는 여러 실시 예들에 대해서 동일하거나 유사한 기능을 지칭한다.It should also be understood that the position or arrangement of the individual components within each disclosed embodiment can be variously modified without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is principally defined by the appended claims, encompassed by the appended claims and their equivalents. Where similar reference numerals are used in the figures, like reference numerals refer to the same or similar functions for various embodiments.
이하에서는, 첨부한 도면들을 참조하여, 구체적인 실시 예를 통해 본 발명의 내용 및 사상을 설명한다. Hereinafter, the contents and ideas of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 일 실시 예에 따른, 클라우드 서비스를 이용한 데이터 처리 방법을 나타내는 블록도이다. 도 1을 참조하면, 클라우드 데이터 저장 시스템은 데이터 통신 장치(110), 네트워크(120) 및 복수의 클라우드 서버들(131, 132, 133)을 포함한다. 1 is a block diagram illustrating a data processing method using a cloud service according to an embodiment of the present invention. Referring to FIG. 1, a cloud data storage system includes a
도 1에서, 데이터 통신 장치(110)는 원본 데이터(111)를 분산 코딩하여 복수의 조각들(112)을 생성한 후, 네트워크(120)를 통해 복수의 클라우드 서버들(131, 132, 133)에 분산 저장한다. 이때, 데이터 통신 장치(110)는 분산 코딩된 복수의 조각들(112) 전부를 저장 데이터(122)로서 클라우드 서버들(131, 132, 133)에 제공할 수도 있고, 또는 복수의 조각들(112) 중 일부만을 저장 데이터(122)로서 클라우드 서버들(131, 132, 133)에 제공할 수도 있다. 1, the
데이터 통신 장치(110)는 네트워크(120)와 연결되어 클라우드 서버들(131, 132, 133)에 데이터를 전송하거나, 클라우드 서버들(131, 132, 133)로부터 데이터를 수신하는 장치이다. 데이터 통신 장치(110)는 개인용 컴퓨터, 공용 컴퓨터, 서버 또는 데이터 통신 수단을 구비한 홈 어플리케이션(예를 들어, 스마트 TV, 냉장고, 가정용 보안장치 등)이나 사무용 어플리케이션(예를 들어, 프린터, 스캐너, 복합기, 사무실용 보안장치 등)을 포함할 수 있다. 또는, 데이터 통신 장치(110)는 모바일 단말기, 핸드폰, 스마트폰, 랩톱 컴퓨터, 노트북 컴퓨터 또는 무선 통신 수단을 구비한 모바일 디바이스(예를 들어, GPS 단말기, 스마트워치 등)를 포함할 수 있다. The
데이터 통신 장치(110)는 원본 데이터(111)를 클라우드 서버들(131, 132, 133)에 분산 저장하기 위해, 원본 데이터(111)를 분산 코딩하여 복수의 조각들(112)을 생성한다. 여기서, 분산 코딩은 원본 데이터로부터 복수의 조각들을 생성하는 코딩 방법으로서, 원본 데이터를 분할하여 n개의 조각들을 생성하면 이후 n개의 조각들 중 k개의 조각들만 획득하여도 원래의 데이터를 온전히 복원할 수 있는 특징을 갖는다(단, n≥k≥1). 이때, 원본 데이터를 몇 개(n)의 조각들로 분할할지 및 원본 데이터의 복원이 가능한 조각들의 최소 수(k)를 몇 개로 할지는 임의로 정할 수 있다. 예를 들어, 데이터 통신 장치(110)가 원본 데이터(111)에 대해 [n, k] 분산 코딩을 수행하면, 원본 데이터(111)의 데이터 내용을 담은 k개의 데이터 조각들 및 그것들에 대한 n-k개의 패리티 조각들로 구성된 전체 n개의 조각들이 생성된다. 그리고, 생성된 n개의 조각들 중 임의의 서로 다른 k개의 조각들을 획득하면, 데이터 통신 장치(110)는 원본 데이터(111)를 성공적으로 복원할 수 있다.The
본 발명에서 사용되는 분산 코딩은 예를 들어, 삭제 코딩(erasure coding)일 수 있다. 삭제 코딩의 대표적인 예로서는 리드-솔로몬 코딩(reed-solomon coding)이 있으며, 삭제 코딩 및 리드-솔로몬 코딩에 관한 구체적인 내용은 당해 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 설명을 생략한다.The distributed coding used in the present invention may be, for example, erasure coding. A typical example of erasure coding is reed-solomon coding, and detailed contents of erasure coding and Reed-Solomon coding are well known in the art, and a description thereof will be omitted here.
그리고, 데이터 통신 장치(110)는 생성된 복수의 조각들(112) 중 적어도 일부(122)를 복수의 클라우드 서버들(131, 132, 133)에 분산 저장한다. 실시 예로서, 분산 저장되는 적어도 일부의 조각들(122)은 원본 데이터(111)의 복원이 가능한 최소 수(예를 들어, k개) 이상의 조각들을 포함한다. 이때, 적어도 일부의 조각들(122)은 각각이 서로 다른 클라우드 서버에 저장될 수도 있고, 그렇지 않으면 그 중 둘 이상의 조각들이 동일한 클라우드 서버에 저장될 수도 있다. 한편, 여기서 클라우드 서버들(131, 132, 133)은 세 개가 도시되었지만, 이는 예시적인 것으로서 본 발명은 이에 한정되지 않는다. 예를 들어, 데이터 통신 장치(110)는 복수의 조각들(112) 중 적어도 일부의 조각들(122)을 네 개 이상의 클라우드 서버들에 분산 저장할 수 있다. The
네트워크(120)는 데이터 통신 장치(110)와 클라우드 서버들(131, 132, 133)을 중계하는 통신망이다. 네트워크(120)는 유선 네트워크 또는 무선 네트워크를 포함하는 다양한 형태의 네트워크, 예를 들어 WiBro, UMTS(3G), E-UMTS(4G) 또는 Femtocell과 같은 이동통신 네트워크, WiFi 또는 Bluetooth와 같은 무선 네트워크, LAN, 전화망 또는 유선 케이블과 같은 유선 네트워크를 포함할 수 있으나, 이에 한정되는 것은 아니다.The
복수의 클라우드 서버들(131, 132, 133)은 클라이언트(예를 들어, 데이터 통신 장치(110))에게 클라우드 저장 서비스를 제공하는 컴퓨팅 장치들로서, 서로 다른 클라우드 저장 서비스 제공자들에 의해 운영되며, 서로 독립적으로 동작하도록 구성된다. 예를 들어, 복수의 클라우드 서버들(131, 132, 133)은 동일한 데이터 통신 장치(110)에 대해 별도의 사용자 인증 절차(예를 들어, 로그인)를 각각 요구할 수 있다. 클라우드 서버들(131, 132, 133) 각각은 네트워크(120)를 통해 데이터 통신 장치(110)와 통신적으로(communicatively) 연결되며, 자체적으로 구비한 처리 수단들을 이용하여 자신과 연결된 데이터 통신 장치(110)에 일반적인 또는 개별화된(customized) 데이터 저장 서비스를 제공한다. 클라우드 서버들(131, 132, 133) 각각은 데이터 통신 장치(110)의 접속을 개별적으로 또는 통합적으로 제어하는 로그-온(log-on) 수단을 구비할 수 있다. A plurality of
본 발명에서, 클라우드 서버들(131, 132, 133) 각각은 통상 서로 다른 클라우드 저장 서비스 제공자들(예를 들어, Dropbox, SkyDrive, Google Drive 등)에 의해 운영되는 것으로 예시되지만, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 클라우드 서버들(131, 132, 133) 중 어느 두 개는 동일한 클라우드 사업자에 의해 운영되는 서버일 수 있다. 클라우드 서버들(131, 132, 133) 각각의 구체적인 구성 및 일반적인 서비스 제공 방법은 당해 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 설명을 생략한다.In the present invention, each of the
상기와 같은 구성에 따르면, 원본 데이터의 분산 코딩된 조각들을 복수의 클라우드 서버에 분산 저장하므로, 그 중 일부(단, 복원 가능한 최소 수(k) 미만)의 클라우드 서버가 해킹된다 하더라도 원본 데이터는 외부로 유출되지 않는다. 따라서, 클라우드 저장 서비스의 안전성이 향상된다.According to the above configuration, since the distributed coded pieces of original data are distributed and stored in a plurality of cloud servers, even if a part of the cloud servers (less than the minimum recoverable number k) is hacked, . Therefore, the security of the cloud storage service is improved.
또한, 클라우드 서버들에 저장된 조각들 중 일부(단, 복원 가능한 최소 수(k) 이상)만 획득하여도 원본 데이터의 복원이 가능하므로, 일부 클라우드 서버가 불능이 되어도 나머지 클라우드 서버로부터 원래의 원본 데이터를 성공적으로 복원할 수 있다. 따라서, 클라우드 저장 서비스의 신뢰성 및 안정성이 향상된다.In addition, even if some of the pieces stored in the cloud servers (only the minimum number (k) that can be restored) are acquired, the original data can be restored. Therefore, even if some cloud servers are disabled, Can be restored successfully. Therefore, the reliability and stability of the cloud storage service are improved.
또한, 원본 데이터를 나누어 복수의 클라우드 서버에 병렬적으로 저장하므로, 데이터 업로드 속도 및 다운로드 속도가 향상될 수 있고, 작은 저장 용량을 제공하는 클라우드 서버들을 모아서 큰 용량의 데이터를 저장하는 등 클라우드 서버의 저장 공간을 효율적으로 활용할 수 있다. 따라서, 클라우드 저장 서비스의 효율성이 향상된다.In addition, since the original data is divided and stored in parallel in a plurality of cloud servers, data uploading speed and downloading speed can be improved, and cloud servers providing small storage capacity can be collected to store a large amount of data. The storage space can be efficiently utilized. Thus, the efficiency of the cloud storage service is improved.
도 2는 본 발명의 일 실시 예에 따른, 분산 코딩을 개략적으로 나타내는 개요도이다. 도 2를 참조하면, [5, 2] 분산 코딩 방법(10)이 도시된다. Figure 2 is a schematic diagram that schematically illustrates distributed coding, in accordance with one embodiment of the present invention. Referring to FIG. 2, a [5, 2] distributed
앞서 간략하게 설명한 바와 같이, [n, k] 분산 코딩 방법은 원본 데이터를 분할하여 k개의 데이터 조각들과 n-k개의 패리티 조각들을 생성하는 분산 코딩 방법이다. 이러한 분산 코딩 방법은, 생성된 조각들 중 k개의 데이터 조각들을 획득하여 복호하면 원래의 원본 데이터가 복원됨은 물론이고, 굳이 데이터 조각들에 한정하지 않더라도 전체 n개의 조각(k개의 데이터 조각 + n-k개의 패리티조각)들 중 k개의 임의의 조각을 획득하기만 하면(심지어는 k개 전부가 패리티 조각인 경우에도) 원본 데이터를 성공적으로 복원할 수 있다. 이러한 분산 코딩의 예로서 삭제 코딩이 있음은 앞서 설명한 바 있다. As described briefly above, the [n, k] distributed coding method is a distributed coding method for generating k pieces of data pieces and n-k pieces of parity pieces by dividing original data. In this distributed coding method, when k data pieces among the generated pieces are acquired and decoded, not only original data but also all n pieces (k pieces of data pieces + nk Parity fragments) (even if all k pieces are parity fragments), the original data can be successfully restored. As an example of such distributed coding, deletion coding has been described above.
도 2를 참조하여 예시하면, 원본 데이터(11)를 [5, 2] 분산 코딩 방법으로 인코딩하면 2개의 데이터 조각들(12, 13)과 3개의 패리티 조각들이 생성된다. 데이터 조각들(12, 13)에는 원본 데이터(11)의 내용이 그대로 드러나지만, 패리티 조각들(14, 15, 16)에는 원본 데이터(11)의 내용이 겉으로는 드러나지 않는다.2, when the
그리고, 원본 데이터 복원 과정에서, 사용자(또는, 데이터 통신 장치)는 생성된 5개의 조각들(12, 13, 14, 15, 16) 중 적어도 두 개의 조각만을 획득하여 동일한 분산 코딩 방법의 복호 알고리즘을 통해 디코딩하면 원본 데이터를 복원할 수 있다. 이때, 사용자가 획득하여야 하는 조각들은 데이터 조각들(12, 13)일 필요가 없으며, 데이터 조각들(12, 13) 중 어느 하나와 패리티 조각들(14, 15, 16) 중 어느 하나를 각각 획득하거나 두 개의 조각들을 전부 패리티 조각들(14, 15, 16)로부터 획득하여도 무방하다.Then, in the original data restoring process, the user (or the data communication apparatus) obtains only at least two pieces of the generated five
여기서는, 사용자가 패리티 조각들(14, 15, 16) 중 두 개의 조각들(14, 15)을 획득한 것으로 가정한다. 사용자는 획득한 패리티 조각들(14, 15)을 앞서 인코딩시와 동일한 분산 코딩 방법의 복호 알고리즘을 통해 디코딩한다. 디코딩이 완료되면, 결과로서 원본 데이터(17)가 복원된다.Here, it is assumed that the user has acquired two
한편, 원본 데이터로부터 n개의 데이터 조각들을 생성하고 그 중 k개의 임의의 조각들을 획득하여 원본 데이터를 복원하는 분산 코딩 방법 및 그것의 복호 알고리즘에 대한 구체적인 내용은 당해 기술 분야에 널리 알려져 있으므로, 여기서는 그에 대한 설명을 생략한다.On the other hand, since details of the distributed coding method and its decoding algorithm for generating n pieces of data from original data and recovering original data by acquiring k pieces of arbitrary pieces of the data pieces are well known in the art, .
도 3은 본 발명의 다른 실시 예에 따른, 클라우드 서비스를 이용한 데이터 처리 방법을 나타내는 블록도이다. 도 3을 참조하면, 클라우드 데이터 저장 시스템은 데이터 통신 장치(210), 네트워크(220) 및 복수의 클라우드 서버들(231, 232, 233)을 포함한다. 3 is a block diagram illustrating a data processing method using a cloud service according to another embodiment of the present invention. Referring to FIG. 3, a cloud data storage system includes a
도 3에서, 데이터 통신 장치(210), 네트워크(220) 및 복수의 클라우드 서버들(231, 232, 233)의 구성 및 동작 방법은 도 1의 데이터 통신 장치(110), 네트워크(120) 및 복수의 클라우드 서버들(131, 132, 133)과 실질적으로 동일하다. 다만, 도 3에서는 데이터 통신 장치(210)가 원본 데이터(211)를 분산 코딩할 때 생성되는 데이터 조각들의 수(예를 들어, k개) 이상의 패리티 조각들을 생성하고(즉, n-k ≥ k), 패리티 조각들만을 복수의 클라우드 서버들(231, 232, 233)에 분산 저장하는 것으로 예시된다. 패리티 조각들에는 원본 데이터의 내용이 직접적으로 드러나지 않기 때문에, 이 경우 분산 저장된 패리티 조각들이 해킹되더라도 원본 데이터의 내용은 안전하게 보호될 수 있다.3, the configuration and method of operation of the
좀 더 구체적으로 설명하면, 데이터 통신 장치(210)는 먼저 원본 데이터(211)를 예를 들어 [6, 3] 분산 코딩하여 3개의 데이터 조각들(212)과 3개의 패리티 조각들(213)로 구성된 복수의 조각들을 생성한다. 그리고, 원본 데이터의 안전성을 강화하기 위해, 3개의 패리티 조각들(213)만을 네트워크(120)를 통해 복수의 클라우드 서버들(231, 232, 233)에 분산 저장한다. [6, 3] 분산 코딩 방법에서, 사용자는 전체 6개의 조각들(212, 213) 중 3개 이상의 조각들을 획득하기만 하면, 획득한 조각들이 데이터 조각인지 또는 패리티 조각인지를 불문하고 원본 데이터를 복원할 수 있다. 따라서, 도 3의 실시 예에 따르면, 사용자가 클라우드 서버들(231, 232, 233)에 저장된 패리티 조각들(222)을 다운로드하여 원본 데이터를 복원하는 데는 아무런 문제가 없으면서도, 동시에 원본 데이터의 내용이 드러나지 않는 패리티 조각들만을 이용하므로 해킹에 더욱 안전해지는 장점이 있다. More specifically, the
한편, 앞서 생성된 데이터 조각들(212)은 사용되지 않은 상태로 방치 또는 폐기된다(221).Meanwhile, the previously generated
도 4는 본 발명의 또 다른 실시 예에 따른, 클라우드 서비스를 이용한 데이터 처리 방법을 나타내는 블록도이다. 도 4를 참조하면, 클라우드 데이터 저장 시스템은 데이터 통신 장치(310), 네트워크(320) 및 복수의 클라우드 서버들(331, 332, 333)을 포함한다. 4 is a block diagram illustrating a data processing method using a cloud service according to another embodiment of the present invention. 4, a cloud data storage system includes a
도 4에서, 데이터 통신 장치(310), 네트워크(320) 및 복수의 클라우드 서버들(331, 332, 333)의 구성 및 동작 방법은 도 1의 데이터 통신 장치(110), 네트워크(120) 및 복수의 클라우드 서버들(131, 132, 133)과 유사하다. 다만, 도 4에서는 데이터 통신 장치(310)가 원본 데이터(311)를 먼저 암호화하고, 암호화된 데이터(312)를 분산 코딩하여 클라우드 서버들(131, 132, 133)에 저장될 복수의 조각들(313)을 생성하는 점이 상이하다. 클라우드 서버들(131, 132, 133)에 분산 저장되는 조각들(322)은 암호화된 조각들이므로, 이 경우 외부로부터의 해킹에 더욱 안전해지는 장점이 있다.4, the configuration and operation of the
본 실시 예에서, 데이터 통신 장치(310)는 먼저 원본 데이터(311)를 암호화하여 암호화한다. 이때, 암호화는 대칭키 암호화 또는 비대칭키 암호화일 수 있다. 대칭키 암호화는 상대적으로 짧은 길이의 키를 이용하여 빠르게 암호화 및 복호화를 하는 방법이다. 반면에, 비대칭키 암호화는 암호화 시에는 공개된 공개키를 이용하여, 복호화 시에는 공개키에 대응되는 개인키를 이용하는 방법이다. 대칭키 암호화의 예로서는 AES(Advanced Encryption Standard) 암호화가 있고, 비대칭키 암호화의 예로서는 RSA(Rivest Shamir Adleman) 암호화가 있다. 본 실시 예에서는 원본 데이터(311)의 암호화를 위해, 대칭키 암호화 중 AES 암호화를 이용하는 것으로 가정한다. 다만, 이는 예시적인 것으로서 본 발명의 범위는 이에 한정되지 않으며, AES 암호화 외에도 다양한 데이터 암호화 알고리즘이 원본 데이터(311)의 암호화에 사용될 수 있다 In this embodiment, the
그리고, 데이터 통신 장치(310)는 암호화된 데이터(312)를 분산 코딩하여 복수의 조각들(313)을 생성하고, 생성된 조각들(313) 중 적어도 일부(322)를 네트워크(320)를 통해 복수의 클라우드 서버들(331, 332, 333)에 전송 및 분산 저장한다(321). 데이터 통신 장치(310)가 생성된 조각들(313)을 클라우드 서버들(331, 332, 333)에 분산 저장하는 방법은 도 1에서 설명한 바와 실질적으로 동일하다. The
실시 예로서, 데이터 통신 장치(310)는 암호화에 사용된 키를 안전하게 보호하기 위해서, 새로운 데이터를 암호화할 때마다 랜덤하게(randomly) 새로운 키를 생성하여 사용한다. 그리고 사용된 키를 데이터 통신 장치(310) 내부에 보관하거나, 또는 사용된 키를 클라우드 서버들(331, 332, 333)에 저장할 수 있다. 사용된 키를 클라우드 서버들(331, 332, 333)에 저장하는 경우, 데이터 통신 장치(310)는 저장되는 키의 안정성 및 신뢰성을 담보하기 위해 키를 분산 코딩하여 복수의 키 조각들을 생성한 후, 키 조각들을 클라우드 서버들(331, 332, 333)에 분산 저장할 수 있다. 이 경우, 일부 키 조각들을 잃어버려도 나머지 키 조각들로부터 원래의 키를 복원할 수 있다. 한편, 키를 분산 코딩하는 방법은 암호화된 데이터(312)를 분산 코딩하는 데 사용된 방법과 상이할 수 있다. 예를 들어, 키를 분산 코딩하기 위해서 샤미르 비밀 분산 방법(shamir secret sharing)을 사용할 수 있다. As an embodiment, the
그리고, 분산 저장된 조각들(322)로부터 원본 데이터(311)를 복원할 때, 데이터 통신 장치(310)는 클라우드 서버들(331, 332, 333)로부터 복원에 필요한 최소 개수(예를 들어, 도 1에서 설명된 k개)이상의 조각들을 다운로드 또는 획득한다. 그리고, 획득한 조각들을 복호하여 암호화된 데이터(312)를 복원한다. 그리고, 데이터 통신 장치(310)가 앞서 암호화에 사용된 키를 이용하여, 암호화된 데이터(312)로부터 원본 데이터(311)를 복원한다. 이때, 키 조각들의 형태로 키를 클라우드 서버들(331, 332, 333)에 분산 저장하고 있는 경우, 원본 데이터(311)의 복원에 앞서, 데이터 통신 장치(310)는 키 조각들을 클라우드 서버들(331, 332, 333)로부터 다운로드하고, 다운로드 된 키 조각들을 복호하여 원래의 키를 미리 복원할 필요가 있다. When restoring the
위와 같은 구성에 따르면, 데이터를 분산 저장하기에 앞서 데이터를 암호화하는 단계를 거치므로, 외부로부터의 해킹에 대해 더욱 안전해질 수 있다.According to the above configuration, since data is encrypted prior to data distribution, it can be more secure against hacking from the outside.
도 5는 본 발명의 실시 예들에 따른, 복수의 클라우드 서버에 데이터를 업로드하는 방법 및 복수의 클라우드 서버로부터 데이터를 다운로드하는 방법을 나타내는 블록도들이다. 도 5의 업로드 방법 및 다운로드 방법은 도 1 내지 4에서 설명된 실시 예들에 공통적으로 적용될 수 있다.5 is a block diagram illustrating a method of uploading data to a plurality of cloud servers and a method of downloading data from a plurality of cloud servers, according to embodiments of the present invention. The uploading method and downloading method of Fig. 5 can be applied in common to the embodiments described in Figs. 1-4.
(a) 업로드시, 데이터 통신 장치(410)는 [n, k] 분산 코딩을 통해 원본 데이터(411)를 인코딩하여 복수의 조각들을 생성한다. 단, 데이터 통신 장치(410)는 [n, k] 분산 코딩을 하기 전에 원본 데이터(411)를 먼저 암호화할 수도 있다. 이 경우, [n, k] 분산 코딩은 암호화된 데이터에 대해 수행된다.(a) Upon uploading, the
그리고, 데이터 통신 장치(410)는 생성된 조각들을 네트워크(420)를 통해 복수의 클라우드 서버들(430)에 분산 저장한다. 이때, 데이터 통신 장치(410)는 도 5에서와 같이 생성된 조각들의 전부(421)를 분산 저장할 수도 있고, 생성된 조각들의 일부만을 분산 저장할 수도 있다. 단, 일부만을 분산 저장하는 경우, 분산 저장되는 조각들의 개수는 원본 데이터의 복원에 필요한 최소 개수(여기서는, k개) 이상이어야 한다. The
(b) 다운로드시, 데이터 통신 장치(410)는 네트워크(420)를 통해 복수의 클라우드 서버들(430)에 분산 저장된 조각들(422)을 다운로드한다. 이때, 데이터 통신 장치(410)는 복수의 클라우드 서버들(430)에 분산 저장된 모든 조각들을 다운로드할 필요가 없이, 원본 데이터의 복원에 필요한 최소 개수(k개) 이상의 데이터만 다운로드하면 된다. (b) Upon downloading, the
가령, 복수의 클라우드 서버들(430) 중 일부(431)가 장애로 인해 불능이 되었다고 가정한다. 이러한 경우에도, 나머지 클라우드 서버들(432, 433)에 저장된 조각들의 개수가 복원에 필요한 최소 개수(k개) 이상이기만 하면, 데이터 통신 장치(410)는 나머지 클라우드 서버들(432, 433)에 저장된 조각들만을 다운로드하여 분산 코딩 방법의 복호 알고리즘을 통해 디코딩함으로써 원본 데이터(412)를 복원할 수 있다.For example, assume that a
이때, 다운로드한 조각들(422)이 암호화된 데이터를 분산 코딩한 것들이면, 데이터 통신 장치(410)는 다운로드한 조각들(422)로부터 암호화된 데이터를 먼저 복원하고, 그 다음 암호화된 데이터를 다시 복호하여 원본 데이터(412)를 복원하게 된다.At this time, if the downloaded
도 6은 클라우드 서버들의 저장 가능한 공간에 따라, 데이터를 분산 코딩하여 클라우드 서버들에 전송하는 방법을 나타내는 블록도이다. 도 6에서 데이터 통신 장치(510)는 클라우드 서버들(531, 532, 533)의 저장 가능한 공간을 모니터링 또는 확인하고, 그에 따라 분산 코딩 방법을 조정한다.6 is a block diagram illustrating a method of distributing and transmitting data to cloud servers according to a storable space of cloud servers. In FIG. 6, the
도 6에서, 제 1 클라우드 서버(531), 제 2 클라우드 서버(532) 및 제 3 클라우드 서버(533)에 대해 데이터 통신 장치(510)가 사용 가능한 공간이 각각 15기가바이트, 2기가바이트 및 7기가바이트라고 가정한다. 이때, 제 2 클라우드 서버(532)는 저장 가능한 공간이 2기가바이트이므로, 2기가바이트를 초과하는 조각을 저장할 수 없다. 6, the available space of the
따라서, 데이터 통신 장치(510)는 클라우드 서버들(531, 532, 533)의 사용 가능한 공간을 확인하고, 확인 결과에 따라 생성되는 조각들(512, 513)의 크기가 2기가바이트 이하가 되도록 분산 코딩 방법을 조정한다. 예를 들어, 생성되는 조각들(512, 513)의 크기를 2기가바이트로 하는 경우, 원본 데이터(511)로부터 두 개의 데이터 조각이 생성된다. 따라서, 이 경우에는 [n, 2] 분산 코딩 방법이 사용된다. 반면에, 생성되는 조각들(512, 513)의 크기를 1기가바이트로 하는 경우, 원본 데이터(511)로부터는 네 개의 데이터 조각이 생성된다. 따라서, 이 경우에는 [n, 4] 분산 코딩 방법이 사용된다. n은 데이터 조각의 개수에 패리티 조각의 개수를 더한 것이므로, 사용자가 원하는 패리티 조각의 개수에 따라 자유롭게 결정될 수 있다.Accordingly, the
도 6의 실시 예에서는, 생성되는 조각들(512, 513)의 크기가 2기가바이트이고 패리티 조각의 개수는 3인 [3+2, 2] 분산 코딩 방법이 예시되었다. 이 예에서, 데이터 통신 장치(510)는 생성된 조각들(512, 513) 중 3개의 조각(B, C, D)을 제 1 클라우드 서버(531), 제 2 클라우드 서버(532) 및 제 3 클라우드 서버(533)에 각각 나누어 저장하고, 나머지 조각들(A, E)은 사용하지 않는다. 한편, 이 경우, 데이터 통신 장치(510)가 클라우드 서버들(531, 532, 533)로부터 단지 두 개의 조각들만을 획득하기만 하면 원본 데이터(511)를 복원할 수 있음은 도 1 내지 도 5에서 설명한 바와 동일하다.In the embodiment of FIG. 6, the [3 + 2, 2] distributed coding method in which the generated
도 7은 저장 가능한 클라우드 서버들의 저장 가능한 공간에 따라, 레이드 레벨을 달리하여 데이터를 전송하는 방법을 나타내는 블록도이다. 도 7에서 데이터 통신 장치는 도 6에서와 유사하게 클라우드 서버들(631, 632, 633)의 저장 가능한 공간을 모니터링 또는 확인하고, 그에 따라 원본 데이터를 분산 코딩 및 분산 저장한다. 다만, 도 7에서는 복수의 클라우드 서버들(631, 632, 633)에 조각들을 저장할 때 미리 결정된 레이드 레벨들을 적용하여, 조각들을 각각 순차적으로 또는 병렬적으로 저장한다.7 is a block diagram illustrating a method for transmitting data at different raid levels according to the storable space of storable cloud servers. In FIG. 7, the data communication apparatus monitors or confirms the storable space of the
도 7에서, 제 1 클라우드 서버(631), 제 2 클라우드 서버(632) 및 제 3 클라우드 서버(633)의 저장 가능한 공간 및 구성 상태는 도 6의 제 1 클라우드 서버(531), 제 2 클라우드 서버(532) 및 제 3 클라우드 서버(533)와 각각 동일하다.7, the storable space and the configuration state of the
본 실시 예에서, 데이터 통신 장치(미도시)는 사용 가능한 클라우드 서버들(631, 632, 633)의 개수 및 그것들의 저장 공간에 따라, 특정한 레이드 레벨을 적용하여 조각들을 저장할 수 있다. 예를 들어, 데이터 통신 장치가 다섯 개의 원본 데이터들을 분산 코딩하여 다섯 개의 조각 세트(set)(641, 642, 643, 644, 645)를 생성하고, 각각의 개별 조각들은 1기가바이트의 크기를 갖는다고 가정한다. 또한, 제 1 조각 세트(641) 및 제 2 조각 세트(642)는 각각 하나의 데이터 조각과 두 개의 패리티 조각들을 포함하는 총 세 개의 조각들로 구성되고, 제 3 조각 세트(643)는 두 개의 데이터 조각과 네 개의 패리티 조각들을 포함하는 총 여섯 개의 조각들로 구성되고, 제 4 조각 세트(644) 및 제 5 조각 세트(645)는 각각 데이터 조각 및 패리티 조각을 하나씩 포함하는 총 두 개의 조각들로 구성된다고 가정한다. In this embodiment, a data communication device (not shown) can store pieces by applying a specific raid level, depending on the number of
이러한 가정들 하에서, 데이터 통신 장치는 제 1 조각 세트(641)부터 제 5 조각 세트(645)까지 순차적으로 클라우드 서버들(631, 632, 633)에 분산 저장한다. 제 2 클라우드 서버(632)의 저장 가능한 공간이 2기가바이트이므로, 제 1 조각 세트(641) 및 제 2 조각 세트(642)에 대해서는 레이드5를 적용하여 세 개의 클라우드 서버들(631, 632, 633)에 하나씩 번갈아 저장하는 방식으로 조각들을 분산 저장할 수 있다. 제 3 조각 세트(643)를 저장할 때는 사용 가능한 클라우드 서버가 두 개이므로, 데이터 통신 장치는 레이드5를 적용하여 제 3 조각 세트(643)를 저장하되 두 개의 클라우드 서버들(631, 633)에 조각들을 하나씩 번갈아 저장하는 방식으로 저장한다. 제 4 조각 세트(644)를 저장할 때는, 저장할 조각이 하나의 데이터 조각과 하나의 패리티 조각이므로, 레이드1을 적용하여 미러(mirror) 형태로 데이터 조각을 제 1 클라우드 서버(631)에 패리티 조각을 제 3 클라우드 서버(633)에 각각 저장한다. 한편, 이와는 달리, 레이드0을 적용하여 복수의 조각들을 하나의 클라우드 서버에 저장할 수도 있다. 예를 들어, 데이터 통신 장치는 제 5 조각 세트(645) 전부를 제 1 클라우드 서버(631)에 저장할 수 있다. Under these assumptions, the data communication device distributes and stores the data sequentially from the first piece set 641 to the fifth piece set 645 to the
복수의 클라우드 서버들에 어떤 레이드 레벨을 적용할 것인지는, 사용가능한 클라우드 서버들의 개수 및 그것들의 저장 공간에 따라 데이터 통신 장치가 선택할 수 있다.The data communication apparatus can select which level of the RAID level to apply to the plurality of cloud servers, depending on the number of available cloud servers and their storage space.
도 8은 본 발명의 실시 예들에 따른, 클라우드 서비스를 이용한 데이터 처리 방법을 나타내는 순서도이다. 도 8을 참조하면, 데이터 처리 방법은 S110 단계 내지 S140 단계를 포함한다.8 is a flowchart illustrating a data processing method using a cloud service according to embodiments of the present invention. Referring to FIG. 8, the data processing method includes steps S110 to S140.
S110 단계에서, 데이터 통신 장치(예를 들어, 도 1의 110)는 원본 데이터(예를 들어, 도 1의 111)를 분산 코딩하여, 복수의 조각들을 생성한다. 이때의 분산 코딩 방법은 예를 들어, 삭제 코딩 방법 중 리드-솔로몬 코딩 방법일 수 있다. 생성된 조각들은 적어도 하나의 데이터 조각 및 적어도 하나의 패리티 조각을 포함할 수 있다.In step S110, the data communication device (for example, 110 in FIG. 1) distributes the original data (for example, 111 in FIG. 1) to generate a plurality of pieces. The distributed coding method at this time may be, for example, a Reed-Solomon coding method among deletion coding methods. The generated pieces may include at least one data piece and at least one parity piece.
S120 단계에서, 데이터 통신 장치는 생성된 조각들 중 적어도 일부의 조각들을 네트워크(예를 들어, 도 1의 120)를 통해 복수의 클라우드 서버들(예를 들어, 도 1의 131, 132, 133)에 분산 저장한다. 이때, 분산 저장되는 적어도 일부의 조각들의 개수는 원본 데이터를 복원하는 데 필요한 조각들의 최소 개수보다 크거나 같다. In step S120, the data communication device transmits the pieces of at least some of the generated pieces to a plurality of cloud servers (e.g., 131, 132, and 133 in FIG. 1) through a network (e.g., . At this time, the number of at least some fragments to be dispersively stored is equal to or greater than the minimum number of fragments required to restore the original data.
S110 단계 및 S120 단계는 데이터 저장 단계로서, S120 단계가 종료되면 원본 데이터는 복수의 클라우드 서버들에 분산 저장된다. 이어지는 S130 단계 및 S140 단계는 데이터 읽기 단계 또는 데이터 복원 단계로서, 데이터 통신 장치가 분산 저장된 조각들로부터 원본 데이터를 복원할 때 수행된다.The steps S110 and S120 are data storing steps. When the step S120 is completed, the original data is distributed and stored in a plurality of cloud servers. Subsequent steps S130 and S140 are a data reading step or a data restoring step, which is performed when the data communication apparatus restores the original data from the scattered pieces.
S130 단계에서, 데이터 통신 장치는 복수의 클라우드 서버들 중 적어도 일부로부터 분산 저장된 조각들을 읽어낸다. 이때 읽어내는 조각들의 개수는 원본 데이터를 복원하는 데 필요한 조각들의 최소 개수보다 크거나 같다. In step S130, the data communication apparatus reads out distributedly stored pieces from at least a part of the plurality of cloud servers. The number of pieces to read is equal to or greater than the minimum number of pieces needed to restore the original data.
S140 단계에서, 데이터 통신 장치는 S110 단계에서 사용된 것과 동일한 분산 코딩 방법의 복호 알고리즘을 통해 읽어낸 조각들을 복호하여 원본 데이터를 복원한다. 한편, 데이터 통신 장치의 구성 및 동작 방법에 대해 여기서 설명되지 않은 다른 구체적인 내용은 도 1 내지 도 7에서 설명한 바와 동일하다.In step S140, the data communication apparatus decodes the read fragments through a decoding algorithm of the same distributed coding method used in step S110, and restores the original data. Meanwhile, other details of the configuration and operation method of the data communication apparatus not described here are the same as those described in Figs. 1 to 7.
상기와 같은 구성에 따르면, 원본 데이터의 분산 코딩된 조각들을 복수의 클라우드 서버에 분산 저장하므로, 그 중 일부(단, 복원 가능한 최소 수(k) 미만)의 클라우드 서버가 해킹된다 하더라도 원본 데이터는 외부로 유출되지 않는다. 따라서, 클라우드 저장 서비스의 안전성이 향상된다.According to the above configuration, since the distributed coded pieces of original data are distributed and stored in a plurality of cloud servers, even if a part of the cloud servers (less than the minimum recoverable number k) is hacked, . Therefore, the security of the cloud storage service is improved.
또한, 클라우드 서버들에 저장된 조각들 중 일부(단, 복원 가능한 최소 수(k) 이상)만 획득하여도 원본 데이터의 복원이 가능하므로, 일부 클라우드 서버가 불능이 되어도 나머지 클라우드 서버로부터 원래의 원본 데이터를 성공적으로 복원할 수 있다. 따라서, 클라우드 저장 서비스의 신뢰성 및 안정성이 향상된다.In addition, even if some of the pieces stored in the cloud servers (only the minimum number (k) that can be restored) are acquired, the original data can be restored. Therefore, even if some cloud servers are disabled, Can be restored successfully. Therefore, the reliability and stability of the cloud storage service are improved.
또한, 원본 데이터를 나누어 복수의 클라우드 서버에 병렬적으로 저장하므로, 데이터 업로드 속도 및 다운로드 속도가 향상될 수 있고, 작은 저장 용량을 제공하는 클라우드 서버들을 모아서 큰 용량의 데이터를 저장하는 등 클라우드 서버의 저장 공간을 효율적으로 활용할 수 있다. 따라서, 클라우드 저장 서비스의 효율성이 향상된다.In addition, since the original data is divided and stored in parallel in a plurality of cloud servers, data uploading speed and downloading speed can be improved, and cloud servers providing small storage capacity can be collected to store a large amount of data. The storage space can be efficiently utilized. Thus, the efficiency of the cloud storage service is improved.
도 9는 본 발명의 일 실시 예에 따라, 도 8의 S110 단계를 구체화한 순서도이다. 도 9를 참조하면, S110 단계는 S111 단계 및 S112 단계를 포함한다.FIG. 9 is a flow chart embodying step S110 of FIG. 8 according to an embodiment of the present invention. Referring to FIG. 9, step S110 includes steps S111 and S112.
S111 단계에서, 데이터 통신 장치는 원본 데이터를 암호화한다. 이때, 원본 데이터를 암호화하는 방법에 대한 구체적인 내용은 도 4에서 설명된 바와 동일하다.In step S111, the data communication apparatus encrypts the original data. At this time, the details of the method of encrypting the original data are the same as those described in Fig.
S112 단계에서, 데이터 통신 장치는 암호화된 데이터를 분산 코딩하여, 복수의 조각들을 생성한다. 이때의 분산 코딩 방법은 예를 들어, 삭제 코딩 방법 중 리드-솔로몬 코딩 방법일 수 있다. 생성된 조각들은 적어도 하나의 암호화된 데이터 조각 및 적어도 하나의 패리티 조각을 포함할 수 있다.In step S112, the data communication apparatus variably codes the encrypted data to generate a plurality of pieces. The distributed coding method at this time may be, for example, a Reed-Solomon coding method among deletion coding methods. The generated fragments may include at least one encrypted data fragment and at least one parity fragment.
S112 단계가 종료하면, 도 8의 S120 단계로 진행한다.When the step S112 ends, the process proceeds to the step S120 of FIG.
상기와 같은 구성들에 따르면, 원본 데이터를 암호화하여 클라우드 서버들에 분산 저장하므로, 저장된 데이터의 안전성이 향상된다.According to the above-described configurations, since the original data is encrypted and distributed to the cloud servers, the security of the stored data is improved.
도 10은 본 발명의 일 실시 예에 따라, 도 8의 S140 단계를 구체화한 순서도이다. 도 10을 참조하면, S140 단계는 S141 단계 및 S142 단계를 포함한다.FIG. 10 is a flowchart illustrating the step S140 of FIG. 8 according to an embodiment of the present invention. Referring to FIG. 10, step S140 includes steps S141 and S142.
도 8의 S130 단계가 종료하면, S141 단계가 시작된다.When step S130 of FIG. 8 is finished, step S141 is started.
S141 단계에서, 데이터 통신 장치(110)는 읽어낸 조각들을 복호하여 암호화된 데이터를 복원한다. 이때, 도 9의 S112 단계에서 사용된 것과 동일한 분산 코딩 방법을 사용하여 읽어낸 조각들을 복호할 수 있다.In step S141, the
S142 단계에서, 데이터 통신 장치(110)는 암호화된 데이터를 복호하여 원본 데이터를 복원한다. 이때, 암호화된 데이터로부터 원본 데이터를 복원하는 방법에 대한 구체적인 내용은 도 4에서 설명된 바와 동일하다.In step S142, the
상기와 같은 구성에 따르면, 암호화되어 분산 저장된 조각들로부터 원래의 원본 데이터가 복원된다.According to the above arrangement, the original original data is restored from the encrypted and distributed pieces.
한편, 본 명세서의 표현들 중 데이터 통신 장치가 클라우드 서버에 조각을 저장한다는 표현은, 클라우드 서버에 조각이 저장되도록 데이터 통신 장치가 클라우드 서버를 향해 조각을 전송하는 것을 의미한다.On the other hand, the expression that the data communication device stores fragments in the cloud server means that the data communication device transmits the fragments to the cloud server so that the fragments are stored in the cloud server.
본 명세서의 상세한 설명에서는 구체적인 실시 예를 들어 설명하였으나, 본 명세서의 범위에서 벗어나지 않는 한 각 실시 예는 여러 가지 형태로 변형될 수 있다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments.
또한, 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 명세서의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 명세서의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 및 그 균등물에 의해 정해져야 한다. Also, although specific terms are used herein, they are used for the purpose of describing the invention only and are not used to limit the scope of the present disclosure as defined in the claims or the claims. Therefore, the scope of the present specification should not be limited to the above-described embodiments, but should be defined by the appended claims and their equivalents.
110, 210, 310, 410, 510: 데이터 통신 장치
131, 132, 133, 231, 232, 233, 331, 332, 333, 431, 432, 433, 531, 532, 533, 631, 632, 633: 클라우드 서버
120, 220, 320, 420: 네트워크
111, 211, 311, 411, 511: 원본 데이터110, 210, 310, 410, 510: Data communication device
631, 633, 633, 633, 631, 432, 433, 531, 532, 533, 631, 332, 333, 331, 332, 333,
120, 220, 320, 420: network
111, 211, 311, 411, 511: original data
Claims (8)
상기 데이터 통신 장치가 원본 데이터를 분산 코딩하여, 하나 이상의 데이터 조각들 및 하나 이상의 패리티 조각들을 포함하는 복수의 조각들을 생성하는 단계;
상기 데이터 통신 장치가 상기 데이터 통신 장치에 의해 생성된 복수의 조각들 중 적어도 일부의 조각들을 복수의 클라우드 서버들에 분산 전송하는 단계를 포함하되,
상기 복수의 클라우드 서버들은 각각이 상이한 클라우드 서비스 제공자들에 의해 운영되는 적어도 두 개의 클라우드 서버를 포함하며,
상기 복수의 조각들을 생성하는 단계는,
상기 원본 데이터에 대응하여 생성된 랜덤 키를 이용하여 상기 원본 데이터를 암호화하는 단계; 및
상기 암호화된 상기 원본 데이터를 분산 코딩하여 상기 복수의 조각들을 생성하는 단계를 포함하고,
상기 데이터 통신 장치의 데이터 처리 방법은,
상기 원본 데이터의 상기 암호화에 사용된 상기 키를 상기 데이터 통신 장치가 상기 원본 데이터의 상기 분산 코딩에 사용된 방법과 상이한 방법으로 분산 코딩하여 복수의 키 조각들을 생성하는 단계; 및
상기 데이터 통신 장치가 상기 복수의 키 조각들을 상기 복수의 클라우드 서버들에 분산 저장하는 단계를 더 포함하며,
상기 데이터 통신 장치는 네트워크를 통해 상기 복수의 클라우드 서버들에 직접 연결되어 데이터 통신을 수행하는 사용자 단말인 것을 특징으로 하는, 데이터 통신 장치의 데이터 처리 방법.
A data processing method for a data communication apparatus,
The data communication device distribcibly coding the original data to generate a plurality of pieces comprising one or more pieces of data and one or more pieces of parity;
The data communication device distributing at least some pieces of the plurality of pieces generated by the data communication device to a plurality of cloud servers,
The plurality of cloud servers each including at least two cloud servers operated by different cloud service providers,
Wherein generating the plurality of pieces comprises:
Encrypting the original data using a random key generated corresponding to the original data; And
And distributing the encrypted original data to generate the plurality of fragments,
The data processing method of the data communication apparatus includes:
Distributing the key used for the encryption of the original data to the data communication apparatus in a manner different from the method used for the distributed coding of the original data to generate a plurality of key fragments; And
Further comprising: the data communication device distributing the plurality of key pieces to the plurality of cloud servers,
Wherein the data communication device is a user terminal directly connected to the plurality of cloud servers through a network to perform data communication.
상기 분산 전송하는 단계는,
상기 데이터 통신 장치에 의해 생성된 생성된 복수의 조각들 중 하나 이상의 패리티 조각들 만을 상기 복수의 클라우드 서버들에 분산 전송하되, 상기 복수의 클라우드 서버들에 분산 전송되는 패리티 조각들의 수는 상기 데이터 조각들의 수 이상인, 데이터 통신 장치의 데이터 처리 방법.
The method according to claim 1,
Wherein the distributed transmission comprises:
Wherein the number of parity fragments distributed and transmitted to the plurality of cloud servers is determined by dividing the number of parity fragments transmitted to the plurality of cloud servers by the number of parity fragments distributed to the plurality of cloud servers, Of the data communication apparatus.
상기 생성된 복수의 조각들의 개수 또는 상기 생성된 복수의 조각들 각각의 크기는 상기 복수의 클라우드 서버들의 개수 또는 상기 복수의 클라우드 서버들의 저장 가능한 공간을 참조하여 결정되는, 데이터 통신 장치의 데이터 처리 방법.
The method according to claim 1,
Wherein the number of generated pieces or the size of each of the generated plurality of pieces is determined by referring to the number of the plurality of cloud servers or the storable space of the plurality of cloud servers .
상기 복수의 클라우드 서버들에 분산 전송하는 단계는,
미리 결정된 레이드 레벨에 따라, 상기 적어도 일부의 조각들을 상기 복수의 클라우드 서버들 중 적어도 일부에 순차적으로 또는 병렬적으로 전송하는 단계를 포함하는, 데이터 통신 장치의 데이터 처리 방법.
The method according to claim 1,
The method of claim 1,
And sending said at least some pieces to said at least some of said plurality of cloud servers sequentially or in parallel according to a predetermined level of raid.
상기 데이터 통신 장치가 상기 읽어낸 복수의 조각들을 복호하여 암호화된 데이터를 복원하는 단계;
상기 데이터 통신 장치가 상기 복수의 클라우드 서버들로부터 상기 복수의 클라우드 서버에 분산 저장된 복수의 키 조각들을 읽어내는 단계;
상기 데이터 통신 장치가 상기 읽어낸 복수의 키 조각들을 복호하여, 상기 암호화된 데이터에 대응되는 랜덤 키를 복원하는 단계; 및
상기 데이터 통신 장치가, 복원된 상기 키를 이용하여, 상기 암호화된 데이터를 복호하여 원본 데이터를 복원하는 단계를 포함하되,
상기 복수의 클라우드 서버들은 각각이 상이한 클라우드 서비스 제공자들에 의해 운영되는 적어도 두 개의 클라우드 서버를 포함하며,
상기 복수의 키 조각들은 상기 복수의 조각들의 분산 코딩에 사용된 방법과 상이한 방법으로 분산 코딩된 것이고,
상기 데이터 통신 장치는 네트워크를 통해 상기 복수의 클라우드 서버들에 직접 연결되어 데이터 통신을 수행하는 사용자 단말인 것을 특징으로 하는, 데이터 통신 장치의 데이터 처리 방법.
Reading a plurality of pieces of data, the data communication device being distributed from a plurality of cloud servers to the plurality of cloud servers and storing one or more pieces of data and one or more pieces of parity;
Decrypting the plurality of fragments read by the data communication apparatus and restoring the encrypted data;
Reading the plurality of key pieces distributed to the plurality of cloud servers from the plurality of cloud servers;
Decrypting the plurality of key fragments read by the data communication device and restoring a random key corresponding to the encrypted data; And
The data communication apparatus decrypting the encrypted data using the recovered key to recover original data,
The plurality of cloud servers each including at least two cloud servers operated by different cloud service providers,
Wherein the plurality of key fragments are distributed coded in a manner different from the method used for distributed coding of the plurality of fragments,
Wherein the data communication device is a user terminal directly connected to the plurality of cloud servers through a network to perform data communication.
상기 읽어낸 복수의 조각들의 복호는 상기 복수의 조각들을 생성하는 데 사용된 분산 코딩 방법의 복호 알고리즘을 통해 수행되는, 데이터 통신 장치의 데이터 처리 방법.
6. The method of claim 5,
Wherein the decoding of the read plurality of fragments is performed through a decoding algorithm of a distributed coding method used to generate the plurality of fragments.
상기 암호화된 데이터의 복호는 상기 원본 데이터를 암호화하는 데 사용된 암호화 방법의 복호 알고리즘을 통해 수행되는, 데이터 통신 장치의 데이터 처리 방법.
The method according to claim 6,
Wherein the decryption of the encrypted data is performed through a decryption algorithm of an encryption method used to encrypt the original data.
상기 읽어낸 복수의 조각들은 상기 데이터 통신 장치에 의해 원본 데이터로부터 생성되어 상기 복수의 클라우드 서버들에 분산 저장된 패리티 조각들 중 적어도 일부만으로 구성되며, 적어도 일부의 패리티 조각들의 수는 상기 데이터 통신 장치에 의해 상기 원본 데이터로부터 생성된 데이터 조각들의 수 이상인, 데이터 통신 장치의 데이터 처리 방법.
6. The method of claim 5,
Wherein the plurality of fragments read from the data communication device comprises at least a portion of parity fragments generated from original data and distributed to the plurality of cloud servers, Wherein the number of data fragments generated from the source data is equal to or greater than the number of data fragments generated from the source data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160039576A KR101704538B1 (en) | 2016-03-31 | 2016-03-31 | Data communication apparatus using cloud service and method for data processing thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160039576A KR101704538B1 (en) | 2016-03-31 | 2016-03-31 | Data communication apparatus using cloud service and method for data processing thereof |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140029397A Division KR20150107062A (en) | 2014-03-13 | 2014-03-13 | Data communication apparatus using cloud service and method for data processing thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160042839A KR20160042839A (en) | 2016-04-20 |
KR101704538B1 true KR101704538B1 (en) | 2017-02-09 |
Family
ID=55917511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160039576A KR101704538B1 (en) | 2016-03-31 | 2016-03-31 | Data communication apparatus using cloud service and method for data processing thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101704538B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113780798B (en) * | 2021-09-07 | 2024-05-28 | 杭州天宽科技有限公司 | Key index display system based on cloud computing |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130097350A (en) * | 2012-02-24 | 2013-09-03 | 한국전자통신연구원 | Apparatus and method for converting replication-based file into parity-based file in the asymmetric clustering file system |
-
2016
- 2016-03-31 KR KR1020160039576A patent/KR101704538B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
박승제 외 1명, ‘멀티 클라우드 기반의 안전한 기업 정보 저장 시스템 설계 및 구현’, 한국정보기술학회논문지 제11권 제3호 , 2013.3, pp.151-157 |
Also Published As
Publication number | Publication date |
---|---|
KR20160042839A (en) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3078179B1 (en) | Data transfer optimizations | |
US10037330B1 (en) | Security via dynamic data movement in a cloud-based environment | |
US8392474B2 (en) | Web distributed storage system | |
US20090063861A1 (en) | Information security transmission system | |
JP2016513825A (en) | Safety communication method and apparatus | |
CN110868291B (en) | Data encryption transmission method, device, system and storage medium | |
US11196558B1 (en) | Systems, methods, and computer-readable media for protecting cryptographic keys | |
US10476663B1 (en) | Layered encryption of short-lived data | |
CN109510826A (en) | Safe and reliable cloud storage method and device based on renewable encryption | |
US20130246789A1 (en) | Method of securing transmission data | |
JP5985884B2 (en) | Information processing apparatus, information processing method, and information processing system | |
KR20150107062A (en) | Data communication apparatus using cloud service and method for data processing thereof | |
CN112468291A (en) | Method, device and system for synchronizing sensitive data, computer equipment and computer readable storage medium | |
CN104426849A (en) | Method and system for realizing data security protection | |
CN110401689B (en) | File management method, device and storage medium | |
KR101704538B1 (en) | Data communication apparatus using cloud service and method for data processing thereof | |
US10244391B2 (en) | Secure computer file storage system and method | |
KR20170107818A (en) | Data sharing system and method based on attributed re-encryption | |
KR20170084802A (en) | Methdo and system for transmitting secure data in a terminal | |
CN115828290A (en) | Encryption and decryption method and device based on distributed object storage | |
KR101595056B1 (en) | System and method for data sharing of intercloud enviroment | |
CN116032499A (en) | Distributed cloud file storage method and system, user terminal and cloud device thereof | |
JP5821040B2 (en) | Data management device, data division device, and data restoration device | |
Kapusta et al. | Selective all-or-nothing transform: Protecting outsourced data against key exposure | |
TWI835684B (en) | Backup system and backup method for instant messaging service data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200203 Year of fee payment: 4 |