1 |
1
다수 개의 계정 그룹들이 할당된 복수 개의 샤드들 및 각 샤드의 부하 분산을 제어하는 로드 발란서를 구비하는 이더리움 샤딩 시스템에 있어서, 상기 로드 발란서는, 각 샤드들의 각 주기에 대한 트랜잭션 수행 시간, 트랜잭션 가스비 및 트랜잭션을 발생시킨 계정 그룹 번호를 수집하는 데이터 수집기;각 샤드로부터 수집된 트랜잭션 수행 시간 및 트랜잭션 가스비를 이용하여, 다음 주기에 발생될 트랜잭션 가스비와 트랜잭션 수행 시간을 예측하는 예측 모듈;상기 예측 모듈에 의하여 예측된 트랜잭션 수행 시간 예측값을 이용하여 각 샤드의 계정 그룹을 재배치하는 계정 재배치 모듈;을 구비하는 것을 특징으로 하는 이더리움 샤딩 시스템
|
2 |
2
제1항에 있어서, 상기 계정 재배치 모듈은 상기 예측 모듈에 의하여 예측된 각 계정 그룹별 트랜잭션 수행 시간 예측값과 각 샤드별 트랜잭션 수행 시간 예측값을 기반으로 하여 각 샤드의 계정 그룹을 재배치하는 것을 특징으로 하는 이더리움 샤딩 시스템
|
3 |
3
제2항에 있어서, 상기 계정 재배치 모듈은 제1 우선순위 큐와 제2 우선순위 큐를 구비하고, 상기 제1 우선순위 큐에 각 계정 그룹별 트랜잭션 수행 시간 예측값을 기준으로 각 계정 그룹 번호를 내림차순으로 정렬시키고, 상기 제2 우선순위 큐에 각 샤드별 트랜잭션 수행 시간 예측값을 기준으로 각 샤드 번호를 오름차순으로 정렬시킨 후, 제1 및 제2 우선순위 큐들로부터 계정 그룹 번호와 샤드 번호를 하나씩 꺼내어, 해당 샤드에 해당 계정 그룹을 배치시키는 것을 특징으로 하는 이더리움 샤딩 시스템
|
4 |
4
제1항에 있어서, 상기 예측 모듈은,각 계정 그룹이 다음 주기에 요청할 트랜잭션 수행 시간을 예측하고, 각 샤드의 트랜잭션 풀에 남아 있는 트랜잭션 수행 시간을 예측하는 것을 특징으로 하는 이더리움 샤딩 시스템
|
5 |
5
제4항에 있어서, 상기 예측 모듈은 계정 그룹이 이전 주기에서 발생시킨 트랜잭션을 기반으로 다음 주기에 발생시킬 가스비를 예측하고, 이전 주기의 1가스당 트랜잭션 수행시간을 예측하고, 계정 그룹의 다음 주기의 트랜잭션 가스비 예측값과 상기 1가스당 트랜잭션 수행시간을 곱하여, 계정 그룹의 총 트랜잭션 수행 시간 예측값을 구하고, 각 샤드의 트랜잭션 풀에 남아있는 트랜잭션의 가스비를 예측하고, 각 샤드의 1 가스당 트랜잭션 수행 시간을 예측하고, 각 샤드의 1 가스당 트랜잭션 수행 시간 예측값과 트랜잭션 가스비를 이를 이용하여 각 샤드의 트랜잭션 수행 시간 예측값을 설정하는 것을 특징으로 하는 이더리움 샤딩 시스템
|
6 |
6
제1항에 있어서, 상기 계정 재배치 모듈은,각 샤드의 콜레이션이 생성될 때 콜레이션 생성 주기만큼 생성되었는지 여부를 확인하고, 콜레이션이 콜레이션 생성 주기만큼 생성되면 생성된 콜레이션의 트랜잭션 가스비와 트랜잭션 수행시간을 분석하여 다음 주기의 계정별 트랜잭션 수행 시간을 예측하고, 각 샤드의 콜레이션 수행 시간 예측값이 사전 설정된 콜레이션 수행 시간 한계값을 초과하면 계정 재배치를 진행하고, 한계값을 초과하지 않으면 계정 재배치를 수행하지 않는 것을 특징으로 하는 이더리움 샤딩 시스템
|
7 |
7
제1항에 있어서, 상기 데이터 수집기는,각 샤드의 검증자(Validator)로부터 각 샤드의 트랜잭션 가스비, 트랜잭션 수행 시간 및 트랜잭션을 발생한 계정 그룹 번호를 제공받아 수집하는 것을 특징으로 하는 이더리움 샤딩 시스템
|
8 |
8
다수 개의 계정 그룹들이 할당된 복수 개의 샤드들과 로드 발란서를 구비하는 이더리움 샤딩 환경에서의 로드 발란서에 의한 부하 분산 방법에 있어서, (a) 각 샤드들의 각 주기에 대한 트랜잭션 수행 시간, 트랜잭션 가스비 및 트랜잭션을 발생시킨 계정 그룹 번호를 수집하는 단계; (b) 각 샤드로부터 수집된 트랜잭션 수행 시간 및 트랜잭션 가스비를 이용하여, 다음 주기에 발생될 각 계정 그룹별 트랜잭션 수행 시간 에측값과 각 샤드별 트랜잭션 수행 시간 예측값을 구하는 단계; (c) 상기 각 계정별 트랜잭션 수행 시간 예측값과 각 샤드별 트랜잭션 수행 시간 예측값을 이용하여 각 샤드의 계정 그룹을 재배치하는 단계;를 구비하는 것을 특징으로 하는 이더리움 샤딩 환경에서의 부하 분산 방법
|
9 |
9
제8항에 있어서, 상기 (c) 단계는제1 우선순위 큐에 각 계정 그룹별 트랜잭션 수행 시간 예측값을 기준으로 각 계정 그룹 번호를 내림차순으로 정렬시키고, 제2 우선순위 큐에 각 샤드별 트랜잭션 수행 시간 예측값을 기준으로 각 샤드 번호를 오름차순으로 정렬시킨 후, 제1 및 제2 우선순위 큐들로부터 계정 그룹 번호와 샤드 번호를 하나씩 꺼내어, 해당 샤드에 해당 계정 그룹을 배치시키는 것을 특징으로 하는 이더리움 샤딩 환경에서의 부하 분산 방법
|
10 |
10
제8항에 있어서, 상기 (b) 단계는,각 계정 그룹이 이전 주기에서 발생시킨 트랜잭션을 기반으로 다음 주기에 발생시킬 가스비를 예측하고, 각 계정 그룹의 이전 주기의 1가스당 트랜잭션 수행시간을 예측하고, 각 계정 그룹의 다음 주기의 트랜잭션 가스비 예측값과 상기 1가스당 트랜잭션 수행시간을 곱하여, 계정 그룹의 총 트랜잭션 수행 시간 예측값을 구하고, 각 샤드의 트랜잭션 풀에 남아있는 트랜잭션의 가스비를 예측하고, 각 샤드의 1 가스당 트랜잭션 수행 시간을 예측하고, 각 샤드의 1 가스당 트랜잭션 수행 시간 예측값과 트랜잭션 가스비를 이를 이용하여 각 샤드의 트랜잭션 수행 시간 예측값을 설정하는 것을 특징으로 하는 이더리움 샤딩 환경에서의 부하 분산 방법
|