KR102034528B1 - Method and apparatus for transceiving data based on multiple channels - Google Patents

Method and apparatus for transceiving data based on multiple channels Download PDF

Info

Publication number
KR102034528B1
KR102034528B1 KR1020160147618A KR20160147618A KR102034528B1 KR 102034528 B1 KR102034528 B1 KR 102034528B1 KR 1020160147618 A KR1020160147618 A KR 1020160147618A KR 20160147618 A KR20160147618 A KR 20160147618A KR 102034528 B1 KR102034528 B1 KR 102034528B1
Authority
KR
South Korea
Prior art keywords
user data
data
remote server
scattering
channels
Prior art date
Application number
KR1020160147618A
Other languages
Korean (ko)
Other versions
KR20180050952A (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 KR1020160147618A priority Critical patent/KR102034528B1/en
Publication of KR20180050952A publication Critical patent/KR20180050952A/en
Application granted granted Critical
Publication of KR102034528B1 publication Critical patent/KR102034528B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

다중 채널 기반 데이터 송수신 방법 및 장치가 개시된다. 본 개시의 일 실시 예에 따른 클라이언트 장치에 의한 원격지 서버와 사용자 데이터를 송수신하는 방법은, 상기 원격지 서버와 제어 채널을 구성하는 단계; 상기 원격지 서버와 사용자 데이터를 송신 또는 수신하기 위한 복수의 데이터 채널의 설정을 위한 제어 정보를 상기 제어 채널을 통해서 상기 원격지 서버와 교환하는 단계; 상기 제어 정보에 기초하여 상기 원격지 서버와 상기 복수의 데이터 채널을 구성하는 단계; 및 상기 사용자 데이터를 구성하는 복수의 사용자 데이터 요소를, 상기 복수의 데이터 채널을 통하여 상기 원격지 서버로 송신 또는 상기 원격지 서버로부터 수신하는 단계를 포함할 수 있다.Disclosed are a method and apparatus for multi-channel based data transmission and reception. According to an embodiment of the present disclosure, a method of transmitting and receiving user data with a remote server by a client device includes configuring a control channel with the remote server; Exchanging control information for setting up a plurality of data channels for transmitting or receiving user data with the remote server through the control channel with the remote server; Configuring the plurality of data channels with the remote server based on the control information; And transmitting to or receiving from the remote server a plurality of user data elements constituting the user data via the plurality of data channels.

Description

다중 채널 기반 데이터 송수신 방법 및 장치{METHOD AND APPARATUS FOR TRANSCEIVING DATA BASED ON MULTIPLE CHANNELS}METHOD AND APPARATUS FOR TRANSCEIVING DATA BASED ON MULTIPLE CHANNELS}

본 개시는 데이터 송수신 방법 및 장치에 대한 것이며, 보다 구체적으로는 다중 채널 기반 데이터 송수신 방법 및 장치에 대한 것이다.The present disclosure relates to a method and apparatus for transmitting and receiving data, and more particularly, to a method and apparatus for transmitting and receiving multi-channel data.

정보 통신 서비스의 발전에 따라서, 원격지에 존재하는 물리적 컴퓨팅 자원에 연결가능한 클라이언트 장치를 통해서 데이터를 송수신하거나 애플리케이션을 실행하는 등의 서비스를 제공하는 클라우드 컴퓨팅에 대한 수요가 높아지고 있다. 예를 들어, 기업의 데이터 센터 또는 비즈니스 애플리케이션이 클라우드 상에 구현되거나, 클라우드를 이용한 온-디맨드(on-demand) 방식 서비스가 제공되고 있다. With the development of information and communication services, there is a growing demand for cloud computing that provides services such as transmitting and receiving data or executing applications through client devices that can connect to physical computing resources that exist in remote locations. For example, corporate data centers or business applications are implemented in the cloud, or on-demand services are provided using the cloud.

한편, 클라우드 컴퓨팅 기반 서비스가 확대됨에 따라, 사용자 데이터를 위변조, 유출하기 위한 기술도 함께 발전하고 있다. 따라서, 클라우드 환경에서 현재보다 더 높은 수준의 안전성 및 보안성을 제공할 수 있는 방안이 필요하다. Meanwhile, as cloud computing-based services expand, technologies for forgering and leaking user data are also developing. Therefore, there is a need for a method that can provide a higher level of safety and security in the cloud environment.

본 개시의 기술적 과제는 사용자 측의 클라이언트 장치와 원격지 서버 사이의 다중 데이터 채널을 구성 및 이용하는 방법 및 장치를 제공하는 것이다. It is an object of the present disclosure to provide a method and apparatus for configuring and using multiple data channels between a client device on a user side and a remote server.

본 개시의 다른 기술적 과제는 사용자 측의 클라이언트 장치와 원격지 서버 사이에 구성되는 다중 데이터 채널을 이용하여 데이터를 스캐터링 방식으로 송수신하는 방법 및 장치를 제공하는 것이다. Another technical problem of the present disclosure is to provide a method and apparatus for transmitting and receiving data in a scattering manner by using a multiple data channel configured between a client device on a user side and a remote server.

본 개시의 또 다른 기술적 과제는 원격지 서버에 데이터를 스캐터링 방식으로 저장 및 관리하는 방법 및 장치를 제공하는 것이다. Another technical problem of the present disclosure is to provide a method and apparatus for storing and managing data in a scattering manner on a remote server.

본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Technical problems to be achieved in the present disclosure are not limited to the above-mentioned technical problems, and other technical problems not mentioned above will be clearly understood by those skilled in the art from the following description. Could be.

본 개시의 일 양상에 따르면 클라이언트 장치가 원격지 서버와 사용자 데이터를 송수신하는 방법이 제공될 수 있다. 상기 방법은, 상기 원격지 서버와 제어 채널을 구성하는 단계; 상기 원격지 서버와 사용자 데이터를 송신 또는 수신하기 위한 복수의 데이터 채널의 설정을 위한 제어 정보를 상기 제어 채널을 통해서 상기 원격지 서버와 교환하는 단계; 상기 제어 정보에 기초하여 상기 원격지 서버와 상기 복수의 데이터 채널을 구성하는 단계; 및 상기 사용자 데이터를 구성하는 복수의 사용자 데이터 요소를, 상기 복수의 데이터 채널을 통하여 상기 원격지 서버로 송신 또는 상기 원격지 서버로부터 수신하는 단계를 포함할 수 있다.According to an aspect of the present disclosure, a method of transmitting and receiving user data with a remote server by a client device may be provided. The method comprises: establishing a control channel with the remote server; Exchanging control information for setting up a plurality of data channels for transmitting or receiving user data with the remote server through the control channel with the remote server; Configuring the plurality of data channels with the remote server based on the control information; And transmitting to or receiving from the remote server a plurality of user data elements constituting the user data via the plurality of data channels.

본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.The features briefly summarized above with respect to the present disclosure are merely exemplary aspects of the detailed description of the present disclosure described below, and do not limit the scope of the present disclosure.

본 개시에 따르면, 사용자 측의 클라이언트 장치와 원격지 서버 사이의 다중 데이터 채널을 구성 및 이용하는 방법 및 장치가 제공될 수 있다. According to the present disclosure, a method and apparatus for configuring and using multiple data channels between a client device on a user side and a remote server may be provided.

본 개시에 따르면, 사용자 측의 클라이언트 장치와 원격지 서버 사이에 구성되는 다중 데이터 채널을 이용하여 데이터를 스캐터링 방식으로 송수신하는 방법 및 장치가 제공될 수 있다. According to the present disclosure, a method and apparatus for transmitting and receiving data in a scattering manner using multiple data channels configured between a client device on a user side and a remote server may be provided.

본 개시에 따르면, 원격지 서버에 데이터를 스캐터링 방식으로 저장 및 관리하는 방법 및 장치가 제공될 수 있다.According to the present disclosure, a method and apparatus for storing and managing data in a scattering manner at a remote server may be provided.

본 개시에 따르면, 클라이언트 장치가 원격지 서버로 데이터를 안전하게 송신 및 저장하고, 원격지 서버에 저장된 데이터에 효율적으로 액세스하거나, 원격지 서버에 저장된 데이터를 효율적으로 수신 및 복구하는 방법 및 장치가 제공될 수 있다. According to the present disclosure, a method and apparatus for safely transmitting and storing data to a remote server, efficiently accessing data stored at a remote server, or efficiently receiving and recovering data stored at a remote server may be provided. .

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned above may be clearly understood by those skilled in the art from the following description. will be.

도 1은 본 개시에 따른 스캐터링 방식 데이터 서비스 시스템의 구조를 설명하기 위한 도면이다.
도 2는 본 개시에 따른 다중 데이터 채널을 구성하는 방법을 설명하기 위한 도면이다.
도 3은 본 개시에 따른 다중 데이터 채널 기반 데이터 저장 방법을 설명하기 위한 도면이다.
도 4는 본 개시에 따른 다중 데이터 채널과 사용자 데이터 요소의 대응 관계를 설명하기 위한 도면이다.
도 5는 본 개시에 따른 다중 데이터 채널 기반 데이터 복구 방법을 설명하기 위한 도면이다.
도 6은 본 개시에 따른 데이터 저장 채널 및 데이터 복구 채널을 설명하기 위한 도면이다.
1 is a view for explaining the structure of a scattering data service system according to the present disclosure.
2 is a diagram illustrating a method of configuring multiple data channels according to the present disclosure.
3 is a diagram for describing a multiple data channel based data storage method according to the present disclosure.
4 is a diagram for describing a correspondence relationship between multiple data channels and user data elements according to the present disclosure.
5 is a diagram illustrating a multi-data channel based data recovery method according to the present disclosure.
6 is a diagram illustrating a data storage channel and a data recovery channel according to the present disclosure.

이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present disclosure. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention.

본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In the following description of embodiments of the present disclosure, when it is determined that a detailed description of a known structure or function may obscure the subject matter of the present disclosure, a detailed description thereof will be omitted. In the drawings, parts irrelevant to the description of the present disclosure are omitted, and like reference numerals designate like parts.

본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the present disclosure, when a component is "connected", "coupled" or "connected" with another component, it is not only a direct connection, but also an indirect connection in which another component exists in the middle. It may also include. In addition, when a component "includes" or "having" another component, it means that it may further include another component, without excluding the other component unless otherwise stated. .

본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다. In the present disclosure, terms such as first and second are used only for the purpose of distinguishing one component from other components, and do not limit the order or importance between the components unless specifically mentioned. Accordingly, within the scope of the present disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and likewise, a second component in one embodiment may be referred to as a first component in another embodiment. It may also be called.

본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, components that are distinguished from each other are for clearly describing each feature, and do not necessarily mean that the components are separated. That is, a plurality of components may be integrated into one hardware or software unit, or one component may be distributed and formed into a plurality of hardware or software units. Therefore, even if not mentioned otherwise, such integrated or distributed embodiments are included in the scope of the present disclosure.

본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, components described in various embodiments are not necessarily required components, and some may be optional components. Therefore, an embodiment composed of a subset of components described in an embodiment is also included in the scope of the present disclosure. In addition, embodiments including other components in addition to the components described in the various embodiments are included in the scope of the present disclosure.

본 개시에서 사용하는 용어에 대한 정의는 다음과 같다.Definitions of terms used in the present disclosure are as follows.

- 클라우드 컴퓨팅: 클라이언트 장치(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, TV 등)측에서는 사용자 데이터의 입력, 출력 및 일시적 저장을 주로 담당하고, 원격지 서버에서 사용자 데이터를 저장 및 유지 관리하는 컴퓨팅 서비스. 예를 들어, 클라이언트 장치 자체는 저장소, 데이터베이스, 네트워킹, 소프트웨어, 분석 등의 컴퓨팅 서비스를 제공할 수 없지만, 사용자는 인터넷 등을 통해 원격지 서버에 접속가능한 환경에서 클라이언트 장치를 통해 위와 같은 컴퓨팅 서비스를 제공받을 수 있음.Cloud computing: Computing that stores, maintains, and maintains user data on remote servers, primarily on the client device (e.g., desktop computers, notebook computers, smartphones, TVs, etc.) and is responsible for the input, output, and temporary storage of user data. service. For example, the client device itself cannot provide computing services such as storage, database, networking, software, analytics, etc., but the user provides such computing services through the client device in an environment where the user can access a remote server via the Internet. Available.

- 클라우드: 클라우드 컴퓨팅 서비스를 제공하는 원격지 서버를 포함하는 가상의 공간.Cloud: A virtual space that includes a remote server that provides cloud computing services.

- 세션: 클라이언트 장치와 원격지 서버간 제어 정보 또는 사용자 데이터의 송수신을 지원하는 논리적 연결, 또는 상기 논리적 연결이 지속되는 기간.Session: A logical connection that supports the transmission and reception of control information or user data between a client device and a remote server, or how long the logical connection lasts.

- 데이터 채널: 클라이언트 장치와 원격지 서버간 사용자 데이터가 송수신되는 경로. 예를 들어, 다중 데이터 채널의 각각은, 스캐터링 프로세서 식별 정보, IP(Internet Protocol) 주소, 포트 번호 등의 조합에 의해서 특정될 수 있음.Data channel: The path through which user data is sent and received between a client device and a remote server. For example, each of the multiple data channels may be specified by a combination of scattering processor identification information, an Internet Protocol (IP) address, a port number, and the like.

- 제어 채널: 클라이언트 장치와 원격지 서버간 제어 정보가 송수신되는 경로. 예를 들어, 제어 정보는 하나 이상의 데이터 채널의 설정을 위한 정보를 포함할 수 있음.Control channel: Path through which control information is transmitted and received between the client device and the remote server. For example, the control information may include information for setting up one or more data channels.

- 스캐터링(scattering) 클라이언트: 사용자 데이터를 다중 데이터 채널을 통하여 원격지 서버에 송신하여 원격지 서버에 저장할 것을 요청하고, 원격지 서버에 저장된 사용자 데이터에 다중 데이터 채널을 통하여 액세스할 수 있는 개체(entity).Scattering client: An entity that sends user data to a remote server via multiple data channels and requests that it be stored on the remote server and has access to user data stored on the remote server through multiple data channels.

- 스캐터링 매니저: 원격지 서버에서 사용자 데이터의 다중 데이터 채널을 통한 송수신, 사용자 데이터의 저장 등을 관리하는 개체.Scattering Manager: An entity that manages the sending and receiving of user data through multiple data channels, storage of user data, etc. at remote servers.

- 스캐터링 프로세서: 다중 데이터 채널 중의 하나의 데이터 채널을 통한 사용자 데이터의 송수신, 사용자 데이터의 저장 등을 수행하는 개체. Scattering processor: An entity that performs transmission and reception of user data, storage of user data, and the like, through one of the multiple data channels.

전술한 용어들의 정의에 있어서 본 개시의 범위는 스캐터링이라는 표현에 의해 제한되는 것은 아니다. 예를 들어, 본 개시에서 스캐터링이라는 용어는 클라이언트 장치와 원격지 서버 사이에서 사용자 데이터의 분산된(distributed) 또는 분리된(divided) 사용자 데이터 요소(element)(또는 사용자 데이터 부분)들이 다중 데이터 채널의 각각을 통해서 송수신되는 경우(즉, 서로 다른 데이터 채널에서 서로 다른 사용자 데이터 요소들이 송수신되는 경우)는 물론, 어떤 사용자 데이터 요소가 다중 데이터 채널 중의 둘 이상에서 중복되어 전송되는 경우(즉, 서로 다른 데이터 채널에서 동일한 사용자 데이터 요소가 송수신되는 경우)를 의미할 수 있다.The scope of the present disclosure in the definitions of the above terms is not limited by the expression scattering. For example, in the present disclosure, the term scattering refers to the distributed or divided user data elements (or user data portions) of user data between a client device and a remote server. Of course, when different user data elements are transmitted and received over each other (i.e., when different user data elements are transmitted and received on different data channels), as well as when a user data element is transmitted in duplicate in two or more of the multiple data channels (i.e., different data The same user data element is transmitted and received on the channel).

본 개시는 다중 데이터 채널을 이용한 스캐터링 방식 데이터 서비스에 대한 다양한 예시들을 포함한다. The present disclosure includes various examples of scattered data services using multiple data channels.

클라우드 기반 데이터 서비스는, 사용자 측의 클라이언트 장치의 저장소에(즉, 로컬 방식으로) 데이터가 저장되는 것이 아니라, 인터넷을 통해 연결된 서버의 저장소에(즉, 원격 방식으로) 데이터가 저장되고 이를 위해서 클라이언트 장치와 원격지 서버 간의 데이터 송수신이 요구된다. 따라서, 사용자 입장에서는, 원격지 서버와의 데이터 송수신 및 원격지 서버에의 데이터 저장에 대한 안전성 또는 보안성에 대한 우려를 가질 수 있다. 예를 들어, 기존의 가상사설망(VPN), 방화벽 등의 기술은 데이터가 클라우드에 저장된 후 어디서든 사용자가 데이터에 액세스할 수 있는 환경(예를 들어, BYOD(Bring Your Own Device) 환경)에 취약할 수 있다. Cloud-based data services do not store data (i.e. locally) in the storage of the client device on the user side, but rather store data (i.e. remotely) in the storage of a server connected via the Internet and Data transmission and reception between the device and the remote server is required. Therefore, from the user's point of view, there may be a concern about the safety or security of transmitting and receiving data to and from the remote server. For example, traditional virtual private network (VPN), firewall, and other technologies are vulnerable to environments where users can access the data from anywhere after it is stored in the cloud (e.g., Bring Your Own Device (BYOD) environment). can do.

이러한 문제점으로 인해 클라우드와 같은 새로운 환경(예를 들어, 원격 방식 데이터 저장 및 액세스)에 적합한 보안 기술이 요구되고 있다. 예를 들어, 인터넷 상의 정보 송수신의 보안을 위한 암호화 및 인증을 지원하는 보안 프로토콜을 적용하는 기술, 보호하려는 서비스 및 사용자에 따라 소프트웨어 방식으로 보안 네트워킹을 설정하도록 하는 기술(예를 들어, CSA(Cloud Security Alliance)의 SDP(Software Defined Perimeter)) 등이 연구되고 있다. 그러나, 클라우드와 같은 새로운 환경에서 스캐터링 방식 데이터 서비스를 지원하기 위한 구체적인 방안에 대해서는 아직까지 정하여진 바 없다. These challenges require security technologies that are suitable for new environments such as cloud (eg, remote data storage and access). For example, technologies that apply security protocols that support encryption and authentication to secure the sending and receiving of information over the Internet, and technologies that allow you to set up secure networking in software, depending on the services and users you want to protect (for example, CSA (Cloud Security Alliance (SDP) Software Defined Perimeter (SDP). However, there are no specific plans for supporting scattered data services in a new environment such as cloud.

본 개시에 따르면 클라우드 상의 데이터 서비스의 안전성 및 보안성을 위해서 암호화 및 인증을 적용하는 것에 그치지 않고, 스캐터링 방식을 추가적으로 적용함으로써 보다 높은 수준의 데이터 서비스 안전성을 제공할 수 있다. According to the present disclosure, in addition to applying encryption and authentication for the security and security of the data service on the cloud, a higher level of data service security may be provided by additionally applying a scattering scheme.

또한, 본 개시에 따르면 클라우드에 사용자 데이터를 분산 저장하는 것 자체에 그치지 않고, 복수의 스캐터링 프로세서에 각각 연관되는 다중 데이터 채널을 정의 및 이용함으로써, 개별 데이터 채널에서 구성되는 데이터 세션에 대한 높은 안전성 및 보안성, 및 전체 사용자 데이터(즉, 스캐터링된 데이터 부분들의 조합)에 대한 높은 안전성 및 보안성을 제공할 수 있다.In addition, according to the present disclosure, not only distributed storage of user data in the cloud itself, but also high security for data sessions configured in individual data channels by defining and using multiple data channels each associated with a plurality of scattering processors. And security, and high safety and security for the entire user data (ie, a combination of scattered data portions).

본 개시의 예시들에서는, 데이터 채널과 별도로 구성되는 제어 채널을 통하여 다중 데이터 채널을 설정하는 방안, 사용자 데이터의 스캐터링 방식 송신 또는 수신 방안, 사용자 데이터의 스캐터링 방식 저장 및 복구 방안에 대해서 설명한다. In the examples of the present disclosure, a method of establishing a multiple data channel through a control channel configured separately from the data channel, a method of transmitting or receiving a scattering method of user data, a method of storing and restoring a scattering method of user data will be described. .

이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings.

도 1은 본 개시에 따른 스캐터링 방식 데이터 서비스 시스템의 구조를 설명하기 위한 도면이다.1 is a view for explaining the structure of a scattering data service system according to the present disclosure.

도 1의 스캐터링 방식 데이터 서비스 시스템(100)은 스캐터링 클라이언트(110) 및 원격지 서버(150)를 포함할 수 있다. 스캐터링 클라이언트(110)는 사용자 측의 클라이언트 장치에 포함될 수 있고, 원격지 서버(150)는 클라우드에 포함될 수 있다. 원격지 서버(150)는 스캐터링 매니저(120), N 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_N), 데이터 저장소(140)를 포함할 수 있다. 원격지 서버(150)는 하나의 서버로서 구성될 수도 있고, 또는 복수의 서버의 결합으로 구성될 수도 있다.The scattering data service system 100 of FIG. 1 may include a scattering client 110 and a remote server 150. The scattering client 110 may be included in the client device of the user side, and the remote server 150 may be included in the cloud. The remote server 150 may include the scattering manager 120, the N scattering processors 130_1, 130_2,..., 130_N, and the data store 140. The remote server 150 may be configured as one server or a combination of a plurality of servers.

스캐터링 클라이언트(110)는 사용자 측의 클라이언트 장치에 포함될 수 있다. 스캐터링 클라이언트(110)는 소프트웨어 또는 소프트웨어 모듈에 의해 구현될 수 있지만, 이에 제한되는 것은 아니고, 하드웨어 또는 펌웨어로 구현될 수도 있다. 스캐터링 클라이언트(110)는 원격지 서버(150)의 데이터 저장소(140)에 사용자 데이터를 저장할 것을 요청할 수 있다. 이를 위해 스캐터링 클라이언트(110)는 원격지 서버(150)와 다중 데이터 채널(예를 들어, 제1 데이터 채널(131_1), 제2 데이터 채널(131_2), ..., 제N 데이터 채널(131_N))을 구성하고, 이를 통해 사용자 데이터를 송수신할 수 있다.The scattering client 110 may be included in the client device of the user side. The scattering client 110 may be implemented by software or a software module, but is not limited thereto and may be implemented in hardware or firmware. The scattering client 110 may request to store the user data in the data store 140 of the remote server 150. To this end, the scattering client 110 is connected to the remote server 150 with multiple data channels (eg, the first data channel 131_1, the second data channel 131_2, ..., the N-th data channel 131_N). ), Through which user data can be sent and received.

스캐터링 매니저(120)는 원격지 서버(150)에 포함될 수 있다. 스캐터링 매니저(120)는 소프트웨어 또는 소프트웨어 모듈에 의해 구현될 수 있지만, 이에 제한되는 것은 아니고, 하드웨어 또는 펌웨어로 구현될 수도 있다. 스캐터링 매니저(120)는 원격지 서버(150)와 스캐터링 클라이언트(110) 사이의 제어 세션 및/또는 데이터 세션을 관리할 수 있다. The scattering manager 120 may be included in the remote server 150. The scattering manager 120 may be implemented by software or a software module, but is not limited thereto and may be implemented by hardware or firmware. The scattering manager 120 may manage a control session and / or a data session between the remote server 150 and the scattering client 110.

스캐터링 프로세서(130_1, 130_2, ..., 130_N)는 원격지 서버(150)에 포함될 수 있다. 스캐터링 프로세서(130_1, 130_2, ..., 130_N)는 소프트웨어 또는 소프트웨어 모듈에 의해 구현될 수 있지만, 이에 제한되는 것은 아니고, 하드웨어 또는 펌웨어로 구현될 수도 있다. 스캐터링 프로세서(130_1, 130_2, ..., 130_N)는 원격지 서버(150)와 스캐터링 클라이언트(110) 사이의 다중 데이터 채널(131_1, 131_2, ..., 131_N)을 통한 데이터 송수신을 수행할 수 있다. The scattering processors 130_1, 130_2,..., 130_N may be included in the remote server 150. The scattering processors 130_1, 130_2,..., 130_N may be implemented by software or software modules, but are not limited thereto and may be implemented in hardware or firmware. The scattering processor 130_1, 130_2,..., 130_N transmits / receives data through the multiple data channels 131_1, 131_2,..., 131_N between the remote server 150 and the scattering client 110. Can be.

예를 들어, 스캐터링 프로세서(130_1, 130_2, ..., 130_N)는 N 개의 데이터 채널(131_1, 131_2, ..., 131_N)에 일-대-일로 대응될 수 있다. 그러나, 본 개시의 범위가 이에 제한되는 것은 아니고, 하나의 스캐터링 프로세서가 복수의 데이터 채널을 관리하거나, 복수의 스캐터링 프로세서가 하나의 데이터 채널을 관리하는 경우를 배제하는 것은 아니다.For example, the scattering processors 130_1, 130_2,..., And 130_N may correspond one-to-one to N data channels 131_1, 131_2,..., 131_N. However, the scope of the present disclosure is not limited thereto and does not exclude a case in which one scattering processor manages a plurality of data channels or a plurality of scattering processors manages one data channel.

또한, N 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)는 스캐터링 매니저(120)에 의해서 관리될 수 있다. 예를 들어, 스캐터링 매니저(120)는 N 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)를 생성 또는 설정하고, 각각의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)에 대해 데이터 채널(131_1, 131_2, ..., 131_N)을 할당할 수 있다. 이에 대한 구체적인 예시에 대해서는 도 2를 참조하여 설명한다.In addition, the N scattering processors 130_1, 130_2,..., 130_N may be managed by the scattering manager 120. For example, the scattering manager 120 creates or sets N scattering processors 130_1, 130_2,..., 130_N, and assigns to each scattering processor 130_1, 130_2,..., 130_N. The data channels 131_1, 131_2, ..., 131_N may be allocated to each other. A detailed example thereof will be described with reference to FIG. 2.

스캐터링 클라이언트(110)와 스캐터링 매니저(120) 사이에는 제어 채널(121)이 구성될 수 있다. 스캐터링 클라이언트(110)와 스캐터링 매니저(120)는, 다중 데이터 채널(131_1, 131_2, ..., 131_N)의 생성에 대한 제어 정보를 제어 채널(121)을 통해서 교환할 수 있다. 이에 대한 구체적인 예시에 대해서는 도 2를 참조하여 설명한다.The control channel 121 may be configured between the scattering client 110 and the scattering manager 120. The scattering client 110 and the scattering manager 120 may exchange control information for generation of the multiple data channels 131_1, 131_2,..., 131_N through the control channel 121. A detailed example thereof will be described with reference to FIG. 2.

도 1에서는 스캐터링 클라이언트(110)과 원격지 서버(150)를 포함하는 스캐터링 방식 데이터 서비스 시스템(100)을 예시적으로 나타내지만, 본 개시의 범위가 이에 제한되는 것은 아니다. 예를 들어, 본 개시에 따른 스캐터링 방식 데이터 서비스 시스템(100)에서 데이터를 송수신하는 두 개체가 P2P(Peer-to-Peer)통신을 수행할 수도 있다. 이러한 경우, 제1 피어에 해당하는 개체가 제1 스캐터링 클라이언트, 제1 스캐터링 매니저, 제1 스캐터링 프로세서(들)를 포함하고, 제2 피어에 해당하는 개체가 제2 스캐터링 클라이언트, 제2 스캐터링 매니저, 제2 스캐터링 프로세서(들)를 포함할 수 있다. 예를 들어, 제1 피어의 제1 스캐터링 클라이언트와 제2 피어의 제2 스캐터링 매니저 및 제2 스캐터링 프로세서(들) 간에 제어 채널 및 데이터 채널(들)이 구성될 수 있고, 제2 피어의 제2 스캐터링 클라이언트와 제1 피어의 제1 스캐터링 매니저 및 제1 스캐터링 프로세서(들) 간에 제어 채널 및 데이터 채널(들)이 구성될 수 있다. Although FIG. 1 exemplarily illustrates a scattering data service system 100 including a scattering client 110 and a remote server 150, the scope of the present disclosure is not limited thereto. For example, two entities transmitting and receiving data in the scattering data service system 100 according to the present disclosure may perform peer-to-peer communication. In this case, the entity corresponding to the first peer includes the first scattering client, the first scattering manager, the first scattering processor (s), and the entity corresponding to the second peer includes the second scattering client, the first Two scattering manager, second scattering processor (s). For example, a control channel and data channel (s) may be configured between the first scattering client of the first peer and the second scattering manager of the second peer and the second scattering processor (s), and the second peer The control channel and data channel (s) may be configured between the second scattering client of and the first scattering manager of the first peer and the first scattering processor (s).

도 2는 본 개시에 따른 다중 데이터 채널을 구성하는 방법을 설명하기 위한 도면이다. 2 is a diagram illustrating a method of configuring multiple data channels according to the present disclosure.

단계 S210에서 스캐터링 클라이언트(110) 및 스캐터링 매니저(120)는 제어 채널(121)을 구성할 수 있다. 제어 채널(121)은 스캐터링 클라이언트(110)와 스캐터링 매니저(120) 간의 제어 정보가 송수신되는 경로에 해당하고, 제어 정보는 데이터 채널(131_1, 131_2, ..., 131_N)의 설정을 위한 정보를 포함할 수 있다. In operation S210, the scattering client 110 and the scattering manager 120 may configure the control channel 121. The control channel 121 corresponds to a path through which control information is transmitted and received between the scattering client 110 and the scattering manager 120, and the control information is used for setting the data channels 131_1, 131_2,..., 131_N. May contain information.

예를 들어, 스캐터링 클라이언트(110)와 스캐터링 매니저(120)는 인증을 통한 보안 채널 협상의 방식으로 제어 채널(121)을 구성할 수 있다. 구체적으로, 스캐터링 클라이언트(110)와 스캐터링 매니저(120) 사이에서 사용자 인증, 장치 인증, 서버 인증 등을 통해서 상호 인증된 안전한 보안 채널을 구성하기 위해서 협상 과정이 수행될 수 있다. 이 때, 보안 채널 구성을 위해서 보안 프로토콜(예를 들어, SSL(Secure Sockets Layer), TLS(Transport Layer Security) 등)이 적용될 수 있다. For example, the scattering client 110 and the scattering manager 120 may configure the control channel 121 in a manner of secure channel negotiation through authentication. Specifically, a negotiation process may be performed between the scattering client 110 and the scattering manager 120 to configure a secure secure channel mutually authenticated through user authentication, device authentication, server authentication, and the like. At this time, a security protocol (for example, Secure Sockets Layer (SSL), Transport Layer Security (TLS), etc.) may be applied to configure a secure channel.

단계 S220에서는, 단계 S210에서 구성된 제어 채널(121) 상에서의 제어 세션이 개시 또는 생성되면, 스캐터링 클라이언트(110)는 상기 제어 세션을 통해 다중 데이터 채널(131_1, 131_2, ..., 131_N)의 설정을 위한 제어 정보를 스캐터링 매니저(120)와 주고 받을 수 있다. 구체적으로, 스캐터링 클라이언트(110)는 스캐터링 매니저(120)와, 데이터 채널(131_1, 131_2, ..., 131_N)의 개수(즉, N 값), 원격지 서버(150)의 데이터 저장소(140)에 사용자 데이터를 저장하는 방식 또는 정책 등을 결정하기 위한 협상 과정을 수행할 수 있다. 데이터 채널(131_1, 131_2, ..., 131_N)의 개수, 사용자 데이터를 저장하는 방식 또는 정책 등은, 클라이언트 장치 및/또는 원격지 서버(150)의 캐퍼빌리티(capability), 사용자 선호설정(preference) 등에 기초하여 결정될 수 있다.In step S220, when a control session on the control channel 121 configured in step S210 is started or created, the scattering client 110 performs the control of the multiple data channels 131_1, 131_2,..., 131_N through the control session. The control information for setting may be exchanged with the scattering manager 120. In detail, the scattering client 110 includes the scattering manager 120, the number of data channels 131_1, 131_2,..., 131_N (ie, N values), and the data storage 140 of the remote server 150. ) Can be negotiated to determine how to store user data or policies. The number of data channels 131_1, 131_2, ..., 131_N, the manner or policy of storing the user data, and the likeness of the client device and / or the remote server 150, and the user preferences. May be determined based on the like.

단계 S230에서 스캐터링 매니저(120)는 스캐터링 클라이언트가 요청하는 또는 협상된 다중 데이터 채널의 개수에 기초하여 스캐터링 프로세서(130_1, 130_2, ..., 130_N)를 구성할 수 있다. 예를 들어, N 개의 데이터 채널(131_1, 131_2, ..., 131_N)에 일-대-일로 대응되는 N 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)가 생성 또는 설정될 수 있다. In operation S230, the scattering manager 120 may configure the scattering processors 130_1, 130_2,..., 130_N based on the number of multiple data channels requested or negotiated by the scattering client. For example, N scattering processors 130_1, 130_2,..., 130_N corresponding to one-to-one correspond to N data channels 131_1, 131_2,..., 131_N may be generated or configured. .

만약 스캐터링 매니저(120)에 의해서 이미 구성된 스캐터링 프로세서(들)가 존재한다면, 해당 스캐터링 프로세서(들)은 N 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)에 포함될 수 있다. 예를 들어, 스캐터링 매니저(120)는 이미 구성된 스캐터링 프로세서(들)를 제외한 나머지 필요한 만큼의 스캐터링 프로세서를 구성하여, 최종적으로 N 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)를 구성할 수도 있다.If there are scattering processor (s) configured by the scattering manager 120, the scattering processor (s) may be included in the N scattering processors 130_1, 130_2, ..., 130_N. For example, the scattering manager 120 configures as many scattering processors as necessary except for the scattering processor (s) already configured, so that finally, N scattering processors 130_1, 130_2,..., 130_N It can also be configured.

또한, 스캐터링 매니저(120)는 스캐터링 프로세서(130_1, 130_2, ..., 130_N)의 각각에 대해서 스캐터링 클라이언트(120)와 데이터를 송수신하기 위한 데이터 채널 정보를 할당할 수 있다. 여기서, 데이터 채널 정보는 스캐터링 프로세서 식별정보(ID), IP 주소, 포트 번호 등을 포함할 수 있다. 즉, 서로 다른 데이터 채널들은, 스캐터링 프로세서 식별정보(ID), IP 주소, 또는 포트 번호 중에서 하나 이상이 상이한 값을 가짐으로써 서로 구분될 수 있다. In addition, the scattering manager 120 may allocate data channel information for transmitting and receiving data with the scattering client 120 for each of the scattering processors 130_1, 130_2,..., 130_N. Here, the data channel information may include scattering processor identification information (ID), an IP address, a port number, and the like. That is, different data channels may be distinguished from one another by one or more of scattering processor identification information (ID), an IP address, or a port number.

단계 S240에서 스캐터링 매니저(120)는 스캐터링 클라이언트(120)에게 스캐터링 프로세서 구성 정보 또는 데이터 채널 구성 정보를 전달할 수 있다. 예를 들어, 스캐터링 프로세서 구성 정보 또는 데이터 채널 구성 정보는 스캐터링 프로세서(130_1, 130_2, ..., 130_N) 각각에 할당된 ID, IP 주소, 포트 번호 등을 포함할 수 있다. In operation S240, the scattering manager 120 may transmit scattering processor configuration information or data channel configuration information to the scattering client 120. For example, the scattering processor configuration information or the data channel configuration information may include an ID, an IP address, a port number, etc. assigned to each of the scattering processors 130_1, 130_2,..., 130_N.

도 3은 본 개시에 따른 다중 데이터 채널 기반 데이터 저장 방법을 설명하기 위한 도면이다. 3 is a diagram for describing a multiple data channel based data storage method according to the present disclosure.

단계 S310에서 스캐터링 클라이언트(110)는 다중 데이터 채널의 개수에 대응하는 사용자 데이터 요소를 구성할 수 있다. 예를 들어, 다중 데이터 채널의 개수가 N 개인 경우, 사용자 데이터를 분리하여 M 개의 사용자 데이터 요소를 구성할 수 있다. In operation S310, the scattering client 110 may configure user data elements corresponding to the number of multiple data channels. For example, when the number of multiple data channels is N, user data may be separated to form M user data elements.

도 4는 본 개시에 따른 다중 데이터 채널과 사용자 데이터 요소의 대응 관계를 설명하기 위한 도면이다.4 is a diagram for describing a correspondence relationship between multiple data channels and user data elements according to the present disclosure.

전술한 바와 같이 사용자 데이터(400)는 복수의 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)로 분리될 수 있다. 여기서, 복수의 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)의 크기, 속성, 타입 등이 서로 동일할 수도 있지만, 서로 다를 수도 있다. 예를 들어, 제1 사용자 데이터 요소(410_1)과 제2 사용자 데이터 요소(410_2)의 크기가 동일할 수도 있지만, 제1 사용자 데이터 요소(410_1)의 크기가 제2 사용자 데이터 요소(410_2)의 크기에 비해 더 크거나 또는 더 작을 수도 있다. As described above, the user data 400 may be divided into a plurality of user data elements 410_1, 410_2,..., 410_M. Here, the sizes, attributes, types, etc. of the plurality of user data elements 410_1, 410_2,..., 410_M may be the same, but may be different. For example, the size of the first user data element 410_1 and the second user data element 410_2 may be the same, but the size of the first user data element 410_1 is the size of the second user data element 410_2. It may be larger or smaller than.

또한, 도 4(a)의 예시에서와 같이, 복수의 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)은 다중 데이터 채널(131_1, 131_2, ..., 131_N)과 일-대-일 대응할 수도 있다. 예를 들어, 사용자 데이터 요소들의 개수인 M의 값과 데이터 채널들의 개수인 N의 값이 동일하고, 데이터 채널들의 각각에 하나의 사용자 데이터 요소가 매핑되고, 하나의 사용자 데이터 요소는 하나의 데이터 채널에만 매핑될 수 있다. Also, as in the example of FIG. 4A, the plurality of user data elements 410_1, 410_2,..., 410_M are one-to-one with the multiple data channels 131_1, 131_2,..., 131_N. One may correspond. For example, the value of M, the number of user data elements, and the value of N, the number of data channels, are the same, one user data element is mapped to each of the data channels, and one user data element is one data channel. Can only be mapped to.

또는, 도 4(b)의 예시에서와 같이, 복수의 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)은 다중 데이터 채널(131_1, 131_2, ..., 131_N)과 일-대-다 대응할 수도 있다. 예를 들어, 사용자 데이터 요소들의 개수인 M의 값은 데이터 채널들의 개수인 N의 값보다 작고, 데이터 채널들의 각각에 하나의 사용자 데이터 요소가 매핑되고, 하나의 사용자 데이터 요소는 하나 또는 복수의 데이터 채널에 중복하여 매핑될 수 있다. 이와 같이 동일한 하나의 사용자 데이터 요소가 서로 다른 데이터 채널을 통해 전송됨으로써, 사용자 데이터 요소 송수신의 에러 강인성(robustness)을 높이고 보다 안전한 데이터 저장을 지원할 수 있다. Alternatively, as in the example of FIG. 4B, the plurality of user data elements 410_1, 410_2,..., 410_M are one-to-one with the multiple data channels 131_1, 131_2,..., 131_N. You can also respond. For example, the value of M, the number of user data elements, is less than the value of N, the number of data channels, one user data element is mapped to each of the data channels, and one user data element is one or a plurality of data. It can be mapped to the channel redundantly. As such, the same user data element is transmitted through different data channels, thereby increasing error robustness of transmitting and receiving user data elements and supporting more secure data storage.

다시 도 3을 참조하면, 단계 S320에서 스캐터링 클라이언트(110)는 스캐터링 매니저(120)로부터 수신된 스캐터링 프로세서 구성 정보 또는 데이터 채널 구성 정보(예를 들어, 스캐터링 프로세서 ID, IP 주소, 포트 번호)에 기초하여, 스캐터링 프로세서의 각각(즉, 스캐터링 프로세서(130_n) (1≤n≤N))과의 사이에서 데이터 채널(131_n) (1≤n≤N)을 구성할 수 있다. 데이터 채널(131_n)은 스캐터링 클라이언트(110)와 스캐터링 프로세서(130_n) 간의 사용자 데이터(또는 사용자 데이터 요소)가 송수신되는 경로에 해당할 수 있다. Referring back to FIG. 3, in step S320, the scattering client 110 receives scattering processor configuration information or data channel configuration information (eg, scattering processor ID, IP address, port) received from the scattering manager 120. Based on the number, the data channel 131_n (1 ≦ n ≦ N) can be configured between each of the scattering processors (that is, the scattering processor 130_n (1 ≦ n ≦ N)). The data channel 131_n may correspond to a path through which user data (or user data element) is transmitted and received between the scattering client 110 and the scattering processor 130_n.

예를 들어, 스캐터링 클라이언트(110)와 스캐터링 프로세서(130_n)는 인증을 통한 보안 채널 협상의 방식으로 데이터 채널(131_n)을 구성할 수 있다. 구체적으로, 스캐터링 클라이언트(110)와 스캐터링 프로세서(130_n) 사이에서 사용자 인증, 장치 인증, 서버 인증 등을 통해서 상호 인증된 안전한 보안 채널을 구성하기 위해서 협상 과정이 수행될 수 있다. 이 때, 보안 채널 구성을 위해서 보안 프로토콜(예를 들어, SSL, TLS 등)이 적용될 수 있다. For example, the scattering client 110 and the scattering processor 130_n may configure the data channel 131_n in a manner of secure channel negotiation through authentication. Specifically, a negotiation process may be performed between the scattering client 110 and the scattering processor 130_n to configure a secure secure channel mutually authenticated through user authentication, device authentication, server authentication, and the like. At this time, a security protocol (for example, SSL, TLS, etc.) may be applied for configuring a secure channel.

단계 S330에서는, 단계 S320에서 구성된 데이터 채널(131_n) 상에서의 데이터 세션이 개시 또는 생성되면, 스캐터링 클라이언트(110)는 상기 데이터 세션을 통해 사용자 데이터 요소를 스캐터링 프로세서(130_n)에게 전송할 수 있다. 이에 따라, 스캐터링 프로세서(130_n)는 스캐터링 클라이언트(110)로부터 자신에게 할당된 데이터 채널(131_n)을 통해 사용자 데이터 요소를 수신할 수 있다. In operation S330, when a data session on the data channel 131_n configured in operation S320 is started or created, the scattering client 110 may transmit a user data element to the scattering processor 130_n through the data session. Accordingly, the scattering processor 130_n may receive the user data element from the scattering client 110 through the data channel 131_n allocated thereto.

또한, 각각의 데이터 채널(131_n)에서 개시된 데이터 세션은 스캐터링 클라이언트(110)이 해당 데이터 세션을 종료할 때까지, 추가적인 사용자 데이터의 요소를 전송하기 위해 사용될 수 있다. 예를 들어, 스캐터링 클라이언트(110)와 스캐터링 프로세서(130_n) 사이에서 데이터 채널(130_n) 상에서 개시 또는 생성된 데이터 세션은, 해당 데이터 세션에서 이전 전송된 사용자 데이터와 동일한 사용자 데이터의 동일한 사용자 데이터 요소의 전송(즉, 재전송), 해당 데이터 세션에서 이전 전송된 사용자 데이터와 동일한 사용자 데이터의 다른 사용자 데이터 요소의 전송(즉, 동일한 사용자 데이터 내의 다른 사용자 데이터 요소의 신규 전송), 해당 데이터 세션에서 이전 전송된 사용자 데이터와 상이한 사용자 데이터의 특정 사용자 데이터 요소(즉, 새로운 사용자 데이터의 사용자 데이터 요소의 신규 전송)을 위해 사용될 수 있다. In addition, the data session initiated in each data channel 131_n may be used to transmit additional elements of user data until the scattering client 110 terminates the data session. For example, a data session initiated or created on the data channel 130_n between the scattering client 110 and the scattering processor 130_n may be the same user data of the same user data as the user data previously transmitted in that data session. Transfer of an element (ie retransmission), transfer of another user data element of the same user data as the previously transferred user data in that data session (ie a new transfer of another user data element within the same user data), transfer in that data session It may be used for specific user data elements of user data different from the transmitted user data (ie new transmission of user data elements of new user data).

단계 S340에서 스캐터링 프로세서(130_n)는 단계 S330에서 수신된 사용자 데이터 요소를, 설정된 저장 방식 또는 정책(예를 들어, 도 2의 단계 S220에서의 협상에 의해서 결정된 사용자 데이터를 저장하는 방식 또는 정책)에 따라서 원격지 서버(150)의 데이터 저장소(140)에 저장할 수 있다. 예를 들어, 사용자 데이터 저장 방식 또는 정책은 복수의 사용자 데이터 요소(410_1, 410_2, ..., 410_M)로부터 원래의 사용자 데이터(400)를 복구하기 위해 필요한 부가 정보를 사용자 데이터 요소들과 함께 저장하는 것을 요구할 수 있다. In step S340, the scattering processor 130_n stores the user data element received in step S330 in a set storage method or policy (for example, a method or policy for storing user data determined by negotiation in step S220 of FIG. 2). As a result, it may be stored in the data storage 140 of the remote server 150. For example, the user data storage method or policy stores additional information necessary for recovering the original user data 400 from the plurality of user data elements 410_1, 410_2, ..., 410_M together with the user data elements. You may need to do it.

예를 들어, 상기 부가 정보는, 해당 사용자 데이터 요소가 속한 사용자 데이터의 소유주, 해당 사용자 데이터 요소가 속한 사용자 데이터의 명칭, 해당 사용자 데이터 요소의 전송을 위한 데이터 채널의 구성을 위한 제어 정보 송수신을 위해 제어 채널 상에서 개시 또는 생성되는 제어 세션의 식별 정보(ID), 해당 사용자 데이터 요소의 전송을 위한 데이터 채널 상에서 개시 또는 생성되는 데이터 세션의 식별 정보(ID), 데이터 채널의 개수(N), 사용자 데이터 요소의 개수(M), 사용자 데이터 요소와 데이터 채널의 대응 관계에 대한 정보 등을 포함할 수 있다. For example, the additional information may be used to transmit and receive control information for the owner of the user data to which the user data element belongs, the name of the user data to which the user data element belongs, and the configuration of a data channel for transmission of the user data element. Identification information (ID) of the control session initiated or created on the control channel, identification information (ID) of the data session initiated or created on the data channel for transmission of the corresponding user data element, number of data channels (N), user data The number M of elements, information on a corresponding relationship between the user data element and the data channel, and the like may be included.

또한, 도 3의 단계 S540에서와 같이 스캐터링 프로세서(130_n)에서 스캐터링 클라이언트(110)으로부터 사용자 데이터 요소를 수신하는 과정이, 복수의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)에서 수행되면, 하나의 사용자 데이터(400)을 구성하는 모든 사용자 데이터 요소들(410_1, 410_2, ..., 410_M) 및 각각의 부가 정보가 원격지 서버(150)의 데이터 저장소(140)에 저장될 수 있다. In addition, as in step S540 of FIG. 3, the process of receiving the user data element from the scattering client 110 in the scattering processor 130_n is performed by the plurality of scattering processors 130_1, 130_2,..., 130_N. When performed, all user data elements 410_1, 410_2,..., 410_M constituting one user data 400 and each additional information may be stored in the data store 140 of the remote server 150. have.

여기서, 복수의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)를 관리하는 스캐터링 매니저(120)에 의해서, 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)은 원래의 사용자 데이터(400)로 합쳐져서 저장될 수도 있고, 각각의 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)이 분리된 상태로 분산 저장될 수도 있다. 만약 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)이 분리되어 저장되는 경우에는, 상기 부가 정보에는 각각의 분리된 사용자 데이터 요소를 인덱싱하는 정보가 더 포함될 수 있다. Here, by the scattering manager 120 managing the plurality of scattering processors 130_1, 130_2,..., 130_N, the user data elements 410_1, 410_2,..., 410_M are original user data. 400 may be combined and stored, or each of the user data elements 410_1, 410_2,..., 410_M may be stored in a separated state. If the user data elements 410_1, 410_2,..., 410_M are stored separately, the additional information may further include information for indexing each of the separated user data elements.

원격지 서버(150)의 데이터 저장소(140)에 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)이 합쳐져서 또는 분리되어 저장되는 경우 모두, 사용자 데이터(400)의 명칭을 기준으로 가장 최신의 데이터가 유지될 수 있도록 관련 정보(예를 들어, 사용자 데이터(400)의 생성 시간 정보, 버전, 하나 이상의 업데이트된 사용자 데이터 요소의 인덱싱 정보 등)가 스캐터링 매니저(120)에 의해서 업데이트될 수 있다. When the user data elements 410_1, 410_2, ..., 410_M are combined or stored separately in the data store 140 of the remote server 150, the latest data based on the name of the user data 400 is used. Related information (eg, creation time information, version, indexing information of one or more updated user data elements, etc.) of the user data 400 may be updated by the scattering manager 120 so that data can be maintained. .

도 5는 본 개시에 따른 다중 데이터 채널 기반 데이터 복구 방법을 설명하기 위한 도면이다. 5 is a diagram illustrating a multi-data channel based data recovery method according to the present disclosure.

단계 S510에서 스캐터링 프로세서(130_n)는 설정된 저장 방식 또는 정책(예를 들어, 도 2의 단계 S220에서의 협상에 의해서 결정된 사용자 데이터를 저장하는 방식 또는 정책)에 따라서 사용자 데이터 요소를 추출할 수 있다. In operation S510, the scattering processor 130_n may extract user data elements according to a set storage method or policy (for example, a method or policy for storing user data determined by negotiation in step S220 of FIG. 2). .

만약 원격지 서버(150)의 데이터 저장소(140)에 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)이 합쳐져서 하나의 사용자 데이터(400)의 형태로 저장되어 있는 경우에는, 스캐터링 클라이언트(110)에서 사용자 데이터(400)로부터 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)을 구성하여 스캐터링 프로세서(130_n)로 전송하는 방법과 유사하게 사용자 데이터 복구 과정이 수행될 수 있다. 즉, 도 3을 참조하여 설명한 사용자 데이터 저장 과정에서의 스캐터링 클라이언트(110) 및 스캐터링 프로세서(130_n)의 동작은 각각, 사용자 데이터 복구 과정에서의 스캐터링 프로세서(130_n) 및 스캐터링 클라이언트(110)의 동작에 대응할 수 있다. If the user data elements 410_1, 410_2,..., 410_M are combined in the data store 140 of the remote server 150 and stored in the form of one user data 400, the scattering client ( The user data recovery process may be performed similarly to the method of configuring and transmitting the user data elements 410_1, 410_2,..., 410_M from the user data 400 to the scattering processor 130_n at 110. That is, operations of the scattering client 110 and the scattering processor 130_n in the user data storage process described with reference to FIG. 3 are respectively performed by the scattering processor 130_n and the scattering client 110 during the user data recovery process. ) Can be used.

단계 S520에서 스캐터링 클라이언트(110)는 데이터 채널 구성 정보(예를 들어, 스캐터링 프로세서 ID, IP 주소, 포트 번호)에 기초하여, 스캐터링 프로세서의 각각(즉, 스캐터링 프로세서(130_n) (1≤n≤N))과의 사이에서 데이터 채널(131_n) (1≤n≤N)을 구성할 수 있다. 데이터 채널(131_n)은 스캐터링 클라이언트(110)와 스캐터링 프로세서(130_n) 간의 사용자 데이터(또는 사용자 데이터 요소)가 송수신되는 경로에 해당할 수 있다. In operation S520, the scattering client 110 may determine each of the scattering processors (ie, the scattering processor 130_n) based on the data channel configuration information (eg, scattering processor ID, IP address, and port number). The data channel 131_n (1 ≦ n ≦ N) can be configured with ≦ n ≦ N). The data channel 131_n may correspond to a path through which user data (or user data element) is transmitted and received between the scattering client 110 and the scattering processor 130_n.

예를 들어, 스캐터링 클라이언트(110)와 스캐터링 프로세서(130_n)는 인증을 통한 보안 채널 협상의 방식으로 데이터 채널(131_n)을 구성할 수 있다. 구체적으로, 스캐터링 클라이언트(110)와 스캐터링 프로세서(130_n) 사이에서 사용자 인증, 장치 인증, 서버 인증 등을 통해서 상호 인증된 안전한 보안 채널을 구성하기 위해서 협상 과정이 수행될 수 있다. 이 때, 보안 채널 구성을 위해서 보안 프로토콜(예를 들어, SSL, TLS 등)이 적용될 수 있다. For example, the scattering client 110 and the scattering processor 130_n may configure the data channel 131_n in a manner of secure channel negotiation through authentication. Specifically, a negotiation process may be performed between the scattering client 110 and the scattering processor 130_n to configure a secure secure channel mutually authenticated through user authentication, device authentication, server authentication, and the like. At this time, a security protocol (for example, SSL, TLS, etc.) may be applied for configuring a secure channel.

단계 S530에서는, 단계 S320에서 구성된 데이터 채널(131_n) 상에서의 데이터 세션이 개시 또는 생성되면, 스캐터링 프로세서(130_n)는 상기 데이터 세션을 통해 사용자 데이터 요소를 스캐터링 클라이언트(110)에게 전송할 수 있다. 이에 따라, 스캐터링 클라이언트(110)는 스캐터링 프로세서(130_n)로부터 자신에게 할당된 데이터 채널(131_n)을 통해 사용자 데이터 요소를 수신할 수 있다. In operation S530, when a data session on the data channel 131_n configured in operation S320 is started or created, the scattering processor 130_n may transmit a user data element to the scattering client 110 through the data session. Accordingly, the scattering client 110 may receive the user data element from the scattering processor 130_n through the data channel 131_n allocated thereto.

또한, 각각의 데이터 채널(131_n)에서 개시된 데이터 세션은 스캐터링 클라이언트(110)이 해당 데이터 세션을 종료할 때까지, 추가적인 사용자 데이터의 요소를 전송하기 위해 사용될 수 있다. 예를 들어, 스캐터링 클라이언트(110)와 스캐터링 프로세서(130_n) 사이에서 데이터 채널(130_n) 상에서 개시 또는 생성된 데이터 세션은, 해당 데이터 세션에서 이전 전송된 사용자 데이터와 동일한 사용자 데이터의 동일한 사용자 데이터 요소의 전송(즉, 재전송), 해당 데이터 세션에서 이전 전송된 사용자 데이터와 동일한 사용자 데이터의 다른 사용자 데이터 요소의 전송(즉, 동일한 사용자 데이터 내의 다른 사용자 데이터 요소의 신규 전송), 해당 데이터 세션에서 이전 전송된 사용자 데이터와 상이한 사용자 데이터의 특정 사용자 데이터 요소(즉, 새로운 사용자 데이터의 사용자 데이터 요소의 신규 전송)을 위해 사용될 수 있다. In addition, the data session initiated in each data channel 131_n may be used to transmit additional elements of user data until the scattering client 110 terminates the data session. For example, a data session initiated or created on the data channel 130_n between the scattering client 110 and the scattering processor 130_n may be the same user data of the same user data as the user data previously transmitted in that data session. Transfer of an element (ie retransmission), transfer of another user data element of the same user data as the previously transferred user data in that data session (ie a new transfer of another user data element within the same user data), transfer in that data session It may be used for specific user data elements of user data different from the transmitted user data (ie new transmission of user data elements of new user data).

단계 S530에서와 같이 스캐터링 클라이언트(110)가 스캐터링 프로세서(130_n)로부터 사용자 데이터 요소를 수신하는 과정이, 복수의 스캐터링 프로세서(130_1, 130_2, ..., 130_N)로부터 사용자 데이터 요소를 수신할 때까지 수행될 수 있다. 이에 따라, 스캐터링 클라이언트(110)는 하나의 사용자 데이터(400)을 구성하는 모든 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)을 수신할 수 있다. 이에 따라, 스캐터링 클라이언트(110)에 의해서, 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)은 원래의 사용자 데이터(400)로 합쳐져서 복구될 수 있다. As in step S530, the process of receiving the user data elements from the scattering processor 130_n by the scattering client 110 receives the user data elements from the plurality of scattering processors 130_1, 130_2,..., 130_N. May be performed until Accordingly, the scattering client 110 may receive all user data elements 410_1, 410_2,..., 410_M constituting one user data 400. Accordingly, by the scattering client 110, the user data elements 410_1, 410_2,..., 410_M may be combined into the original user data 400 and restored.

한편, 단계 S510에서 사용자 데이터(400)가 복수의 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)로 분리되어 저장된 경우에는, 스캐터링 매니저(120)는 하나의 사용자 데이터가 분리된 사용자 데이터 요소들의 개수(즉, M)과, 스캐터링 클라이언트(110)와의 다중 데이터 채널 협상 과정에서 결정된 데이터 채널의 개수(즉, N)이 동일하지 않은 경우에는, 상기 도 4와 같은 사용자 데이터 요소와 데이터 채널의 대응 관계를 정의하고, 이에 따라 사용자 데이터 요소들을 스캐터링 클라이언트(110)에게 전송할 수 있다. 이 경우, 스캐터링 매니저(120)는 스캐터링 클라이언트(110)에게 사용자 데이터 요소와 데이터 채널의 대응 관계에 대한 정보를 부가 정보로서 제공할 수 있다.On the other hand, when the user data 400 is divided into a plurality of user data elements 410_1, 410_2, ..., 410_M and stored in step S510, the scattering manager 120 is a user having one user data separated If the number of data elements (ie, M) and the number of data channels (ie, N) determined in the multi-data channel negotiation process with the scattering client 110 are not the same, the user data element as shown in FIG. Correspondence relationships of the data channels may be defined, and thus user data elements may be sent to the scattering client 110. In this case, the scattering manager 120 may provide the scattering client 110 with additional information about the correspondence between the user data element and the data channel.

또는, 스캐터링 클라이언트(110)가 데이터 복구 요청을 하는 경우, 스캐터링 클라이언트(110) 및/또는 스캐터링 매니저(120)는 사용자 데이터 요소의 개수(즉, M)와 데이터 채널의 개수(즉, N)가 동일하게 되도록, 다중 데이터 채널 협상 과정을 수행할 수도 있다. Alternatively, when the scattering client 110 makes a data recovery request, the scattering client 110 and / or the scattering manager 120 may determine the number of user data elements (ie, M) and the number of data channels (ie, Multiple data channel negotiation procedures may be performed such that N) is the same.

도 6은 본 개시에 따른 데이터 저장 채널 및 데이터 복구 채널을 설명하기 위한 도면이다.6 is a diagram illustrating a data storage channel and a data recovery channel according to the present disclosure.

도 6(a)는 NT 개의 데이터 저장 채널(또는 데이터 전송 채널)이 구성되는 경우를 나타내고, 도 6(b)는 NR 개의 데이터 복구 채널(또는 데이터 수신 채널)이 구성되는 경우를 나타낸다. 6 (a) shows a case where N T data storage channels (or data transmission channels) are configured, and FIG. 6 (b) shows a case where N R data recovery channels (or data receiving channels) are configured.

도 6(a)의 예시에서는 스캐터링 클라이언트(110)가 사용자 데이터(400)로부터 복수의 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)을 구성하고, 이를 NT 개의 데이터 저장 채널을 통해서(즉, 사용자 데이터 요소들과 데이터 저장 채널의 대응 관계에 따라서) NT 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_NT)로 전송할 수 있다. NT 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_NT)는 수신된 사용자 데이터 요소들을 합쳐서 또는 분리하여 데이터 저장소(140)에 저장할 수 있다. 데이터 저장소(140)는 원격지 서버(150)에 포함될 수 있다. In the example of FIG. 6A, the scattering client 110 configures a plurality of user data elements 410_1, 410_2,..., 410_M from the user data 400, and the N T data storage channels Can be transmitted to the N T scattering processors 130_1, 130_2,..., 130_N T ) (ie, depending on the correspondence relationship between the user data elements and the data storage channel). The N T scattering processors 130_1, 130_2,..., 130_N T may combine or separate the received user data elements and store them in the data store 140. The data store 140 may be included in the remote server 150.

도 6(b)의 예시에서는 원격지 서버(150)에 포함된 데이터 저장소(140)에 저장된 사용자 데이터(400) 또는 복수의 사용자 데이터 요소들(410_1, 410_2, ..., 410_M)이, NR 개의 스캐터링 프로세서(130_1, 130_2, ..., 130_NR)로부터 NR 개의 데이터 복구 채널을 통해서 스캐터링 클라이언트(110)에게 제공될 수 있다. In the example of FIG. 6B, the user data 400 or the plurality of user data elements 410_1, 410_2,..., 410_M stored in the data store 140 included in the remote server 150 are N R. The number of scattering processors 130_1, 130_2,..., 130_N R may be provided to the scattering client 110 through N R data recovery channels.

여기서, 데이터 저장 채널의 개수(즉, NT)와 데이터 복구 채널의 개수(즉, NR)는 서로 독립적으로 설정될 수 있다. 즉, 데이터 저장 채널의 개수와 데이터 복구 채널의 개수가 동일할 수도 있고(즉, NT=NR), 또는 서로 다를 수도 있다(즉, NT>NR 또는 NT<NR).Here, the number of data storage channels (ie, N T ) and the number of data recovery channels (ie, N R ) may be set independently of each other. That is, the number of data storage channels and the number of data recovery channels may be the same (ie, N T = N R ), or may be different from each other (ie, N T > N R or N T <N R ).

본 개시에 따르면 클라우드 상에 사용자 데이터를 저장하거나 클라우드에 저장된 사용자 데이터를 조회 또는 복구하는 경우, 사용자와 클라우드 사이에 다중 데이터 채널을 구성 및 이용하는 스캐터링 방식 데이터 서비스가 제공될 수 있다. 이에 따라, 클라우드 데이터 서비스에서의 인증 및 암호화에 따른 안정성 및 보안성에 비하여, 스캐터링 방식 데이터 서비스의 적용으로 인해 복수의 데이터 채널에 대한 동시 공격이 모두 성공할 가능성이 매우 희박함으로 인해 데이터 침해 가능성은 크게 낮추고 안전성과 보안성을 크게 높일 수 있다. 또한, 사용자 데이터를 클라우드에 저장하는 경우의 데이터 채널의 구성과, 사용자 데이터를 클라우드로부터 복구하는 경우의 데이터 채널 구성이 서로 독립적이므로, 일 방향의 데이터 채널 구성이 다른 일 방향의 데이터 채널 구성에 영향을 받지 않도록 할 수 있고, 사용자가 클라우드에 저장된 데이터에 효율적으로 액세스하도록 할 수 있다. According to the present disclosure, when storing user data on the cloud or querying or recovering user data stored in the cloud, a scattering data service may be provided that configures and uses multiple data channels between the user and the cloud. Accordingly, compared to the stability and security of authentication and encryption in cloud data services, the possibility of data breaches is greatly increased because the application of scattered data services is very unlikely to succeed in all simultaneous attacks on multiple data channels. Lower the safety and security significantly. In addition, since the configuration of the data channel when storing user data in the cloud and the configuration of the data channel when recovering user data from the cloud are independent of each other, the configuration of the data channel in one direction affects the configuration of the data channel in another direction. You can prevent them from receiving data, and enable users to efficiently access data stored in the cloud.

본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.Exemplary methods of the present disclosure are represented as a series of operations for clarity of description, but are not intended to limit the order in which the steps are performed, and each step may be performed simultaneously or in a different order as necessary. In order to implement the method according to the present disclosure, the illustrated step may further include other steps, may include other steps except some, or may include additional other steps except some.

본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.The various embodiments of the present disclosure are not an exhaustive list of all possible combinations and are intended to describe representative aspects of the present disclosure, and the matters described in the various embodiments may be applied independently or in combination of two or more.

또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다. In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. For hardware implementations, one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), General Purpose It may be implemented by a general processor, a controller, a microcontroller, a microprocessor, and the like.

본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다. It is intended that the scope of the disclosure include software or machine-executable instructions (eg, an operating system, an application, firmware, a program, etc.) to cause an operation in accordance with various embodiments of the method to be executed on an apparatus or a computer, and such software or Instructions, and the like, including non-transitory computer-readable media that are stored and executable on a device or computer.

100 스캐터링 방식 데이터 서비스 시스템
110 스캐터링 클라이언트 120 스캐터링 매니저
121 제어 채널
130_1, 130_2, ..., 130_N 스캐터링 프로세서
131_1, 131_2, ..., 131_N 데이터 채널
140 데이터 저장소 150 원격지 서버
400 사용자 데이터
410_1, 410_2, ..., 410_M 사용자 데이터 요소
100 scattering data service system
110 Scattering Client 120 Scattering Manager
121 control channels
130_1, 130_2, ..., 130_N scattering processor
131_1, 131_2, ..., 131_N data channels
140 Data Store 150 Remote Server
400 user data
410_1, 410_2, ..., 410_M user data elements

Claims (10)

클라이언트 장치가 원격지 서버와 사용자 데이터를 송수신하는 방법에 있어서,
상기 원격지 서버와 제어 채널을 구성하는 단계;
상기 원격지 서버와 사용자 데이터를 송신 또는 수신하기 위한 복수의 데이터 채널의 설정을 위한 제어 정보를 상기 제어 채널을 통해서 상기 원격지 서버와 교환하는 단계;
상기 제어 정보에 기초하여 상기 원격지 서버와 상기 복수의 데이터 채널을 구성하는 단계; 및
상기 사용자 데이터를 구성하는 복수의 사용자 데이터 요소를, 상기 복수의 데이터 채널을 통하여 상기 원격지 서버로 송신 또는 상기 원격지 서버로부터 수신하는 단계를 포함하고,
상기 클라이언트 장치는 상기 원격지 서버로부터 상기 복수의 데이터 채널을 통해서 수신한 복수의 사용자 데이터 요소를 합쳐서 상기 사용자 데이터로 복구하는, 사용자 데이터 송수신 방법.
A method for a client device to send and receive user data with a remote server, the method comprising:
Establishing a control channel with the remote server;
Exchanging control information for setting up a plurality of data channels for transmitting or receiving user data with the remote server through the control channel with the remote server;
Configuring the plurality of data channels with the remote server based on the control information; And
Transmitting to or receiving from the remote server a plurality of user data elements constituting the user data via the plurality of data channels;
And the client device combines the plurality of user data elements received from the remote server through the plurality of data channels and recovers the user data.
제 1 항에 있어서,
상기 제어 채널은 상기 클라이언트 장치와 상기 원격지 서버의 매니저 사이에 구성되고,
상기 복수의 데이터 채널의 각각은 상기 클라이언트 장치와 상기 원격지 서버의 복수의 프로세서 각각의 사이에 구성되는, 사용자 데이터 송수신 방법.
The method of claim 1,
The control channel is configured between the client device and a manager of the remote server,
Wherein each of the plurality of data channels is configured between the client device and each of a plurality of processors of the remote server.
제 1 항에 있어서,
상기 제어 정보는, 상기 복수의 데이터 채널의 개수, 또는 상기 사용자 데이터를 저장하는 방식 또는 정책 중의 하나 이상을 포함하고,
상기 사용자 데이터를 저장하는 방식 또는 정책은, 상기 클라이언트 장치와 상기 원격지 서버의 캐퍼빌리티 또는 사용자 선호설정 중의 하나 이상에 기초하여 결정되는, 사용자 데이터 송수신 방법.
The method of claim 1,
The control information may include one or more of the number of the plurality of data channels or a scheme or policy of storing the user data.
The manner or policy of storing the user data is determined based on one or more of the capabilities or user preferences of the client device and the remote server.
제 1 항에 있어서,
상기 복수의 사용자 데이터 요소의 개수와 상기 복수의 데이터 채널의 개수는 동일하고, 상기 복수의 데이터 채널의 각각에 하나의 사용자 데이터 요소가 매핑되고, 하나의 사용자 데이터 요소는 하나의 데이터 채널에만 매핑되는, 사용자 데이터 송수신 방법.
The method of claim 1,
The number of the plurality of user data elements and the number of the plurality of data channels are the same, one user data element is mapped to each of the plurality of data channels, and one user data element is mapped to only one data channel. , User data transmission and reception method.
제 1 항에 있어서,
상기 복수의 사용자 데이터 요소의 개수는 상기 복수의 데이터 채널의 개수보다 작고, 상기 복수의 데이터 채널들의 각각에 하나의 사용자 데이터 요소가 매핑되고, 하나의 사용자 데이터 요소는 하나 또는 복수의 데이터 채널에 중복하여 매핑되는, 사용자 데이터 송수신 방법.
The method of claim 1,
The number of the plurality of user data elements is smaller than the number of the plurality of data channels, one user data element is mapped to each of the plurality of data channels, and one user data element overlaps one or more data channels. Mapped by the user data transmission / reception method.
제 1 항에 있어서,
상기 원격지 서버에 상기 복수의 사용자 데이터 요소가 합쳐져서 저장되거나 또는 분리된 상태로 분산 저장되는, 사용자 데이터 송수신 방법.
The method of claim 1,
And storing the plurality of user data elements in the remote server in a combined state or distributed in a separated state.
제 1 항에 있어서,
상기 원격지 서버에 사용자 데이터 요소와 함께 부가 정보가 저장되고,
상기 부가 정보는,
상기 사용자 데이터 요소가 속한 사용자 데이터의 소유주,
상기 사용자 데이터 요소가 속한 사용자 데이터의 명칭,
상기 사용자 데이터 요소의 전송을 위한 데이터 채널의 구성을 위한 제어 정보 송수신을 위해 제어 채널 상에서 개시 또는 생성되는 제어 세션의 식별 정보,
상기 사용자 데이터 요소의 전송을 위한 데이터 채널 상에서 개시 또는 생성되는 데이터 세션의 식별 정보,
상기 복수의 데이터 채널의 개수,
상기 복수의 사용자 데이터 요소의 개수,
상기 사용자 데이터 요소와 데이터 채널의 대응 관계에 대한 정보, 또는
분리된 사용자 데이터 요소를 인덱싱하는 정보
중의 하나 이상을 포함하는, 사용자 데이터 송수신 방법.
The method of claim 1,
Additional information is stored at the remote server along with user data elements,
The additional information,
Owner of user data to which said user data element belongs,
The name of the user data to which the user data element belongs,
Identification information of a control session initiated or generated on a control channel for transmitting and receiving control information for configuration of a data channel for transmission of the user data element,
Identification information of a data session initiated or created on a data channel for transmission of the user data element,
The number of the plurality of data channels,
The number of said plurality of user data elements,
Information on a corresponding relationship between the user data element and a data channel, or
Information Indexing Detached User Data Elements
And one or more of the following.
제 1 항에 있어서, 상기 클라이언트 장치로부터 상기 원격지 서버로 상기 사용자 데이터를 송신하는 경우의 상기 복수의 데이터 채널의 개수와, 상기 클라이언트 장치가 상기 원격지 서버로부터 상기 사용자 데이터를 수신하는 경우의 상기 복수의 데이터 채널의 개수는 서로 독립적으로 설정되는, 사용자 데이터 송수신 방법.
2. The number of the plurality of data channels when transmitting the user data from the client device to the remote server, and the plurality of data when the client device receives the user data from the remote server. The number of data channels is set independently of each other.
삭제delete 원격지 서버가 클라이언트 장치와 사용자 데이터를 송수신하는 방법에 있어서,
상기 클라이언트 장치와 제어 채널을 구성하는 단계;
상기 클라이언트 장치와 사용자 데이터를 송신 또는 수신하기 위한 복수의 데이터 채널의 설정을 위한 제어 정보를 상기 제어 채널을 통해서 상기 클라이언트 장치와 교환하는 단계;
상기 제어 정보에 기초하여 상기 원격지 서버와 상기 복수의 데이터 채널을 구성하는 단계; 및
상기 사용자 데이터를 구성하는 복수의 사용자 데이터 요소를 상기 클라이언트 장치로부터 수신하여 상기 원격지 서버의 데이터 저장소에 저장하거나, 또는 상기 데이터 저장소에 저장된 상기 사용자 데이터를 구성하는 복수의 사용자 데이터 요소를 상기 복수의 데이터 채널을 통하여 상기 클라이언트 장치로 송신하는 단계를 포함하고,
상기 원격지 서버가 상기 복수의 데이터 채널을 통해서 송신한 복수의 사용자 데이터 요소는 상기 클라이언트 장치에 의해 합쳐져서 상기 사용자 데이터로 복구되는, 사용자 데이터 송수신 방법.




In the method for the remote server to send and receive user data with the client device,
Establishing a control channel with the client device;
Exchanging control information for setting up a plurality of data channels for transmitting or receiving user data with the client device via the control channel;
Configuring the plurality of data channels with the remote server based on the control information; And
Receiving the plurality of user data elements constituting the user data from the client device and storing the plurality of user data elements constituting the user data stored in the data store; Transmitting to the client device via a channel;
And a plurality of user data elements transmitted by the remote server via the plurality of data channels are combined by the client device and restored to the user data.




KR1020160147618A 2016-11-07 2016-11-07 Method and apparatus for transceiving data based on multiple channels KR102034528B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160147618A KR102034528B1 (en) 2016-11-07 2016-11-07 Method and apparatus for transceiving data based on multiple channels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160147618A KR102034528B1 (en) 2016-11-07 2016-11-07 Method and apparatus for transceiving data based on multiple channels

Publications (2)

Publication Number Publication Date
KR20180050952A KR20180050952A (en) 2018-05-16
KR102034528B1 true KR102034528B1 (en) 2019-10-21

Family

ID=62452240

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160147618A KR102034528B1 (en) 2016-11-07 2016-11-07 Method and apparatus for transceiving data based on multiple channels

Country Status (1)

Country Link
KR (1) KR102034528B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014047384A2 (en) * 2012-09-22 2014-03-27 Nest Labs, Inc. Multi-tiered authentication methods for facilitating communications amongst smart home devices and cloud-based servers

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014047384A2 (en) * 2012-09-22 2014-03-27 Nest Labs, Inc. Multi-tiered authentication methods for facilitating communications amongst smart home devices and cloud-based servers

Also Published As

Publication number Publication date
KR20180050952A (en) 2018-05-16

Similar Documents

Publication Publication Date Title
AU2017204316B2 (en) Providing devices as a service
US8117317B2 (en) Systems and methods for integrating local systems with cloud computing resources
EP3054649B1 (en) Peer to peer networking and sharing systems and methods
US10776489B2 (en) Methods and systems for providing and controlling cryptographic secure communications terminal operable to provide a plurality of desktop environments
US11777865B2 (en) Discovery and adjustment of path maximum transmission unit
US20120084544A1 (en) Methods and systems for providing and controlling cryptographically secure communications across unsecured networks between a secure virtual terminal and a remote system
CN110771124B (en) Cloud-based management of access to data storage systems on local networks
EP3417367B1 (en) Implementing a storage system using a personal user device and a data distribution device
KR102034528B1 (en) Method and apparatus for transceiving data based on multiple channels

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant