1 |
1
N - N은 N=tv의 조건을 만족하는 자연수이고, v는 v=k(k-1)t+1의 조건을 만족하는 자연수이며, k는 2이상의 자연수이고, t는 1이상의 자연수임 - 개의 메시지들에 대해 v개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 v개의 데이터 저장소들에 대응하는 v개의 메시지 분산 그룹들을 생성하는 분산 그룹 생성부;상기 v개의 메시지 분산 그룹들 각각에 대해 상기 N개의 메시지들을 tk - tk는 t와 k의 곱을 의미함 - 개씩 분산 할당 - 상기 v개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 메시지 분산 할당부; 및상기 v개의 메시지 분산 그룹들 각각에 할당되어 있는 tk개의 메시지들을 상기 v개의 메시지 분산 그룹들 별로, 상기 v개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 데이터 저장부를 포함하고,상기 메시지 분산 할당부는"0"부터 "v-1"까지의 정수들을 원소로 포함하고 있는 집합인 Zv - 상기 Zv에 포함되어 있는 원소들의 개수는 v개임 - 에 대한 k개의 원소를 갖는 복수의 부분 집합들 중, 상기 복수의 부분 집합들 각각에 포함되어 있는 k개의 원소들 중에서 서로 다른 두 원소 간의 모든 차들 각각이 상기 Zv에 포함되어 있는 원소들에서 "0"을 제외한 서로 다른 1개의 원소와만 일치하는 것으로 확인되는 t개의 부분 집합들 - 상기 t개의 부분 집합들의 모임은 (v, k, 1)의 파라미터를 갖는 순환 차족(Cyclic Difference Family)으로 정의됨 - 을 확인하는 순환 차족 확인부;상기 t개의 부분 집합들 각각에 대해서, 상기 t개의 부분 집합들 각각에 포함되어 있는 k개의 원소들에 기초하여 상기 Zv에 포함되어 있는 "0"부터 "v-1"까지의 정수들에 대해 "0"부터 "v-1" 순으로 "1"과 "0"의 코드 값을 할당함으로써, v개의 "1"과 "0"의 코드 값으로 구성된 t개의 부분 시퀀스들을 생성하고, 상기 t개의 부분 시퀀스들을 조합하여 총 N개의 "1"과 "0"의 코드 값으로 구성된 제1 시퀀스 - N=tv이며, 상기 t개의 부분 집합들 각각에 대해서 v개씩 "1"과 "0"의 코드 값을 할당함으로써 생성한 상기 t개의 부분 시퀀스들을 조합하여 상기 제1 시퀀스를 생성하였으므로, 상기 제1 시퀀스를 구성하는 "1"과 "0"의 코드 값은 총 N개가 됨 - 를 생성하는 제1 시퀀스 생성부;상기 v개의 "1"과 "0"의 코드 값으로 구성된 상기 t개의 부분 시퀀스들 각각에 대해 선정된(predetermined) 방향으로 순환시프트 연산을 v-1회 수행하면서, 각 순환시프트 연산이 수행될 때마다 순환시프트 연산이 완료된 상기 t개의 부분 시퀀스들을 조합하여 제2 시퀀스를 생성함으로써, 총 v-1개의 제2 시퀀스들을 생성하는 제2 시퀀스 생성부;상기 v개의 메시지 분산 그룹들 각각에 대해 상기 제1 시퀀스와 상기 v-1개의 제2 시퀀스들을 하나씩 매칭시키는 시퀀스 매칭부; 및상기 v개의 메시지 분산 그룹들 각각에 대해, 상기 v개의 메시지 분산 그룹들 각각에 매칭되어 있는 각 시퀀스를 구성하는 N개의 코드 값에 기초하여 상기 N개의 메시지들을 tk개씩 분산 할당하는 할당부를 포함하는 순환 차족을 활용한 데이터 분산 저장 장치
|
2 |
2
삭제
|
3 |
3
제1항에 있어서,상기 제1 시퀀스 생성부는상기 t개의 부분 집합들 각각에 대해서, 상기 Zv에 포함되어 있는 "0"부터 "v-1"까지의 정수들 중 상기 t개의 부분 집합들 각각에 포함되어 있는 k개의 원소들과 일치하는 정수들에 대해 "1"의 코드 값을 할당하고, 상기 t개의 부분 집합들 각각에 포함되어 있는 k개의 원소들과 일치하지 않는 나머지 정수들에 대해 "0"의 코드 값을 할당함으로써, 상기 v개의 "1"과 "0"의 코드 값으로 구성된 상기 t개의 부분 시퀀스들을 생성하는 순환 차족을 활용한 데이터 분산 저장 장치
|
4 |
4
제3항에 있어서,상기 메시지 분산 할당부는상기 N개의 메시지들 각각에 대해 순번 정보와 연관된 인덱스 값을 할당하는 인덱스 할당부를 더 포함하고,상기 할당부는상기 v개의 메시지 분산 그룹들 각각에 대해, 상기 v개의 메시지 분산 그룹들 각각에 매칭되어 있는 각 시퀀스를 구성하는 N개의 코드 값의 배열 순서와 상기 N개의 메시지들 각각에 할당되어 있는 인덱스 값을 비교한 후 상기 N개의 메시지들에 할당되어 있는 인덱스 값과 일치하는 배열 순서의 코드 값에 기초하여 상기 N개의 메시지들을 tk개씩 분산 할당하는 순환 차족을 활용한 데이터 분산 저장 장치
|
5 |
5
제4항에 있어서,상기 할당부는상기 v개의 메시지 분산 그룹들 각각에 대해, 상기 v개의 메시지 분산 그룹들 각각에 매칭되어 있는 각 시퀀스를 구성하는 N개의 코드 값 중 tk개씩 존재하는 "1"의 코드 값을 확인한 후, 상기 v개의 메시지 분산 그룹들 각각에 대해, 상기 N개의 메시지들 중 상기 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 tk개의 메시지들을 분산 할당하는 순환 차족을 활용한 데이터 분산 저장 장치
|
6 |
6
제5항에 있어서,상기 v개의 데이터 저장소들에 상기 N개의 메시지들이 tk개씩 분산 저장된 이후, 상기 N개의 메시지들에 대한 로드(load) 명령이 인가되면, 상기 로드 명령에 기초하여 상기 v개의 데이터 저장소들 중 tk개의 데이터 저장소들을 랜덤하게 선택하고, 상기 tk개의 데이터 저장소들 각각으로부터 상기 tk개의 데이터 저장소들 각각에 저장되어 있는 tk개의 저장 메시지들을 추출하는 저장 메시지 추출부; 및상기 tk개의 데이터 저장소들 각각으로부터 tk개씩 추출된 저장 메시지들을 상기 N개의 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 데이터 로드부를 더 포함하는 순환 차족을 활용한 데이터 분산 저장 장치
|
7 |
7
제6항에 있어서,상기 N개의 메시지들은 일부 메시지의 손실이 발생할 경우, 나머지 메시지들을 기초로 손실 메시지들의 복구가 가능한 최대 거리 분리 가능(Maximum Distance Separable: MDS) 코드이고, 상기 데이터 로드부는상기 tk개의 데이터 저장소들 각각으로부터 tk개씩 저장 메시지들이 추출되면, 상기 추출된 저장 메시지들에 할당되어 있는 인덱스 값과 상기 N개의 메시지들에 할당된 인덱스 값을 비교하여 상기 N개의 메시지들 중 상기 추출된 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 추출된 저장 메시지들을 기초로 상기 잔여 메시지를 복구하여 상기 추출된 저장 메시지들과 상기 복구된 잔여 메시지를 상기 N개의 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 순환 차족을 활용한 데이터 분산 저장 장치
|
8 |
8
컴퓨터에 의해 수행되는 순환 차족을 활용한 데이터 분산 저장 방법에 있어서,N - N은 N=tv의 조건을 만족하는 자연수이고, v는 v=k(k-1)t+1의 조건을 만족하는 자연수이며, k는 2이상의 자연수이고, t는 1이상의 자연수임 - 개의 메시지들에 대해 v개의 데이터 저장소들로의 분산 저장 명령이 인가되면, 상기 v개의 데이터 저장소들에 대응하는 v개의 메시지 분산 그룹들을 생성하는 단계;상기 v개의 메시지 분산 그룹들 각각에 대해 상기 N개의 메시지들을 tk - tk는 t와 k의 곱을 의미함 - 개씩 분산 할당 - 상기 v개의 메시지 분산 그룹들에 분산 할당되는 메시지들은 서로 중복될 수 있음 - 하는 단계; 및상기 v개의 메시지 분산 그룹들 각각에 할당되어 있는 tk개의 메시지들을 상기 v개의 메시지 분산 그룹들 별로, 상기 v개의 데이터 저장소들 중 각 메시지 분산 그룹에 대응되는 데이터 저장소에 분리해서 저장하는 단계를 포함하고,상기 v개의 메시지 분산 그룹들 각각에 대해 상기 N개의 메시지들을 tk개씩 분산 할당하는 단계는"0"부터 "v-1"까지의 정수들을 원소로 포함하고 있는 집합인 Zv - 상기 Zv에 포함되어 있는 원소들의 개수는 v개임 - 에 대한 k개의 원소를 갖는 복수의 부분 집합들 중, 상기 복수의 부분 집합들 각각에 포함되어 있는 k개의 원소들 중에서 서로 다른 두 원소 간의 모든 차들 각각이 상기 Zv에 포함되어 있는 원소들에서 "0"을 제외한 서로 다른 1개의 원소와만 일치하는 것으로 확인되는 t개의 부분 집합들 - 상기 t개의 부분 집합들의 모임은 (v, k, 1)의 파라미터를 갖는 순환 차족(Cyclic Difference Family)으로 정의됨 - 을 확인하는 단계;상기 t개의 부분 집합들 각각에 대해서, 상기 t개의 부분 집합들 각각에 포함되어 있는 k개의 원소들에 기초하여 상기 Zv에 포함되어 있는 "0"부터 "v-1"까지의 정수들에 대해 "0"부터 "v-1" 순으로 "1"과 "0"의 코드 값을 할당함으로써, v개의 "1"과 "0"의 코드 값으로 구성된 t개의 부분 시퀀스들을 생성하고, 상기 t개의 부분 시퀀스들을 조합하여 총 N개의 "1"과 "0"의 코드 값으로 구성된 제1 시퀀스 - N=tv이며, 상기 t개의 부분 집합들 각각에 대해서 v개씩 "1"과 "0"의 코드 값을 할당함으로써 생성한 상기 t개의 부분 시퀀스들을 조합하여 상기 제1 시퀀스를 생성하였으므로, 상기 제1 시퀀스를 구성하는 "1"과 "0"의 코드 값은 총 N개가 됨 - 를 생성하는 단계;상기 v개의 "1"과 "0"의 코드 값으로 구성된 상기 t개의 부분 시퀀스들 각각에 대해 선정된(predetermined) 방향으로 순환시프트 연산을 v-1회 수행하면서, 각 순환시프트 연산이 수행될 때마다 순환시프트 연산이 완료된 상기 t개의 부분 시퀀스들을 조합하여 제2 시퀀스를 생성함으로써, 총 v-1개의 제2 시퀀스들을 생성하는 단계;상기 v개의 메시지 분산 그룹들 각각에 대해 상기 제1 시퀀스와 상기 v-1개의 제2 시퀀스들을 하나씩 매칭시키는 단계; 및상기 v개의 메시지 분산 그룹들 각각에 대해, 상기 v개의 메시지 분산 그룹들 각각에 매칭되어 있는 각 시퀀스를 구성하는 N개의 코드 값에 기초하여 상기 N개의 메시지들을 tk개씩 분산 할당하는 단계를 포함하는 순환 차족을 활용한 데이터 분산 저장 방법
|
9 |
9
삭제
|
10 |
10
제8항에 있어서,상기 제1 시퀀스를 생성하는 단계는상기 t개의 부분 집합들 각각에 대해서, 상기 Zv에 포함되어 있는 "0"부터 "v-1"까지의 정수들 중 상기 t개의 부분 집합들 각각에 포함되어 있는 k개의 원소들과 일치하는 정수들에 대해 "1"의 코드 값을 할당하고, 상기 t개의 부분 집합들 각각에 포함되어 있는 k개의 원소들과 일치하지 않는 나머지 정수들에 대해 "0"의 코드 값을 할당함으로써, 상기 v개의 "1"과 "0"의 코드 값으로 구성된 상기 t개의 부분 시퀀스들을 생성하는 순환 차족을 활용한 데이터 분산 저장 방법
|
11 |
11
제10항에 있어서,상기 v개의 메시지 분산 그룹들 각각에 대해 상기 N개의 메시지들을 tk개씩 분산 할당하는 단계는상기 N개의 메시지들 각각에 대해 순번 정보와 연관된 인덱스 값을 할당하는 단계를 더 포함하고,상기 N개의 코드 값에 기초하여 상기 N개의 메시지들을 tk개씩 분산 할당하는 단계는상기 v개의 메시지 분산 그룹들 각각에 대해, 상기 v개의 메시지 분산 그룹들 각각에 매칭되어 있는 각 시퀀스를 구성하는 N개의 코드 값의 배열 순서와 상기 N개의 메시지들 각각에 할당되어 있는 인덱스 값을 비교한 후 상기 N개의 메시지들에 할당되어 있는 인덱스 값과 일치하는 배열 순서의 코드 값에 기초하여 상기 N개의 메시지들을 tk개씩 분산 할당하는 순환 차족을 활용한 데이터 분산 저장 방법
|
12 |
12
제11항에 있어서,상기 N개의 코드 값에 기초하여 상기 N개의 메시지들을 tk개씩 분산 할당하는 단계는상기 v개의 메시지 분산 그룹들 각각에 대해, 상기 v개의 메시지 분산 그룹들 각각에 매칭되어 있는 각 시퀀스를 구성하는 N개의 코드 값 중 tk개씩 존재하는 "1"의 코드 값을 확인한 후, 상기 v개의 메시지 분산 그룹들 각각에 대해, 상기 N개의 메시지들 중 상기 "1"의 코드 값에 대한 배열 순서와 일치하는 인덱스 값이 할당되어 있는 tk개의 메시지들을 분산 할당하는 순환 차족을 활용한 데이터 분산 저장 방법
|
13 |
13
제12항에 있어서,상기 v개의 데이터 저장소들에 상기 N개의 메시지들이 tk개씩 분산 저장된 이후, 상기 N개의 메시지들에 대한 로드(load) 명령이 인가되면, 상기 로드 명령에 기초하여 상기 v개의 데이터 저장소들 중 tk개의 데이터 저장소들을 랜덤하게 선택하고, 상기 tk개의 데이터 저장소들 각각으로부터 상기 tk개의 데이터 저장소들 각각에 저장되어 있는 tk개의 저장 메시지들을 추출하는 단계; 및상기 tk개의 데이터 저장소들 각각으로부터 tk개씩 추출된 저장 메시지들을 상기 N개의 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 단계를 더 포함하는 순환 차족을 활용한 데이터 분산 저장 방법
|
14 |
14
제13항에 있어서,상기 N개의 메시지들은 일부 메시지의 손실이 발생할 경우, 나머지 메시지들을 기초로 손실 메시지들의 복구가 가능한 최대 거리 분리 가능(Maximum Distance Separable: MDS) 코드이고, 상기 로드하는 단계는상기 tk개의 데이터 저장소들 각각으로부터 tk개씩 저장 메시지들이 추출되면, 상기 추출된 저장 메시지들에 할당되어 있는 인덱스 값과 상기 N개의 메시지들에 할당된 인덱스 값을 비교하여 상기 N개의 메시지들 중 상기 추출된 저장 메시지들에 포함되어 있지 않은 잔여 메시지가 존재하는 것으로 확인되면, 상기 추출된 저장 메시지들을 기초로 상기 잔여 메시지를 복구하여 상기 추출된 저장 메시지들과 상기 복구된 잔여 메시지를 상기 N개의 메시지들에 대한 로드 명령에 따른 데이터로 로드하는 순환 차족을 활용한 데이터 분산 저장 방법
|
15 |
15
제8항, 제10항, 제11항, 제12항, 제13항 또는 제14항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
|
16 |
16
제8항, 제10항, 제11항, 제12항, 제13항 또는 제14항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램
|