Abstract
To perform on-line maintenance for Distributed Information System, it is indispensable to disseminate files to participant nodes in the network. When users' requests for file deployment occur simultaneously in a short period a deployment server falls into overload phase, which is often called Flash Crowds. h common solution to avoid Flash Crowds is to increase hardware capacity. In this paper, we propose a software solution based on P2P, which does not cost any additional expense. In the proposed solution, nodes in the network are grouped into subnetworks one of which is composed of only neighboring nodes. In each subnetwork, copies of deployment files can be transferred to each other. Consequently, it brings about the effect of load balancing in deployment server. To raise the effectiveness, target files for deployment are packed into one package. Before being transferred, each package is divided into multiple equal-sized segments. A deployment server in a normal phase transmits a package requested from nodes in segment units. However a deployment server is overloaded, if segments already exist in the subnetwork participant nodes in the subnetwork receive necessary segments from neighboring nodes. In this paper, we propose data structures and algorithm for this approach and show performance improvement through simulation.
분산 정보 시스템의 온-라인 유지보수를 위해서는 네트워크 내의 참여 노드들에게 파일을 배포하는 작업이 필수적이다. 이때 파일 배포에 대한 사용자들의 요청이 단기간에 집중되면, 배포 서버는 과부하 상태에 빠지며, 이를 플래시 크라우드(Flash Crowds)라 부른다. 플래시 크라우드를 회피하기 위한 일반적인 해결책은 하드웨어의 용량을 증설하는 것이다. 본 논문에서는 추가 비용의 발생 없이 P2P 기반의 소프트웨어적 해결책을 제안한다. 제안된 해결책에서 네트워크의 노드들은 인접한 노드들을 중심으로 서브네트워크들로 구성된다. 각 서브네트워크 내에서 배포 파일의 복사본은 노드들 상호간에 전송될 수 있어 배포 서버의 부하를 분산시킨다. 효율성을 높이기 위해 배포 대상 파일들은 하나의 패키지로 묶여지고 전송에 앞서 패키지는 동일한 크기를 갖는 다수의 세그먼트들로 분할된다. 정상 상태에서 배포 서버는 노드가 요청한 패키지를 세그먼트 단위로 전송한다. 그러나 배포 서버의 과부하 상태에서 노드가 필요한 세그먼트가 이미 서브네트워크 내에 존재할 경우, 서브네트워크 내의 노드는 필요한 세그먼트를 인접 노드로부터 전송받을 수 있다. 본 논문에서는 이를 처리하기 위한 자료구조와 알고리즘을 제안하고 시뮬레이션을 통해 성능 개선을 확인하였다.