JP6353395B2 - 配信要求分散方法、ノード、及びプログラム - Google Patents

配信要求分散方法、ノード、及びプログラム Download PDF

Info

Publication number
JP6353395B2
JP6353395B2 JP2015078854A JP2015078854A JP6353395B2 JP 6353395 B2 JP6353395 B2 JP 6353395B2 JP 2015078854 A JP2015078854 A JP 2015078854A JP 2015078854 A JP2015078854 A JP 2015078854A JP 6353395 B2 JP6353395 B2 JP 6353395B2
Authority
JP
Japan
Prior art keywords
distribution
data
node
range
nodes
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015078854A
Other languages
English (en)
Other versions
JP2016201604A (ja
Inventor
后宏 水谷
后宏 水谷
井上 武
武 井上
暢 間野
暢 間野
修 明石
修 明石
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015078854A priority Critical patent/JP6353395B2/ja
Publication of JP2016201604A publication Critical patent/JP2016201604A/ja
Application granted granted Critical
Publication of JP6353395B2 publication Critical patent/JP6353395B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、複数のノード(PC)間で構成される分散ハッシュテーブルおいて、膨大なデータを分散管理し配信する際に特定のノードに配信要求が偏らないように配信要求を分散させる配信要求分散方法、ノード、及びプログラムに関する。
分散ハッシュテーブルとは、ひとつの論理的なID空間を複数のノードで分担し管理する技術であり、Key Value Store等の分散データベースにて利用されている。分散ハッシュテーブルにデータを配置する場合、当該データの名前をキーとし、当該キーを担当するノードに対して当該データを配置する。データを分散ハッシュテーブルから取得する場合、取得したいデータの名前をキーとし、分散ハッシュテーブル上から当該キーを担当するノードを探し、データを取得する。しかしながら、特定のデータもしくはデータ群に配信要求が集中する場合、当該データ(群)を管理するノードの配信負荷が高くなるという問題が存在している。
本問題に対して、既存手法1(例えば、非特許文献1を参照。)は、特定のデータ群に配信要求が集中する場合、配信要求が少ないノードを当該データ群のID空間の一部を担当するように、当該ノードを移動させる。図1では、ノードB,Cに配信要求が集中している分散ハッシュテーブルを既存手法1を用いて配信要求を平滑化している。具体的には、配信要求数が少ないノードDが配信要求数の多いBの担当範囲の一部:[15,20)を請け負うことで、配信要求数の平滑化を行う。この時、Dは自身の担当範囲を隣接するノードCに対して受け渡す。既存手法2(例えば、非特許文献2を参照。)では、各ノードが配信要求数の上限を超えた場合、自身の担当範囲を隣接するノードに対して譲渡する。図2では、ノードB,Cが担当範囲を狭め、A,Dは担当範囲を広めることで、配信要求数の平滑化を行っている。
A. R. Bharambe, M. Agrawal, and S. Seshan, "Mercury: supporting scalable multi−attribute range queries",pp. 353−366, 2004. I. Konstantinou, D. Tsoumakos, and N. Koziris, "Fast and cost−effective online load−balancing in distributed range−queriable systems", IEEE Transactions on Parallel and Distributed Systems, vol. 22, no. 8, pp. 1350−1364, 2011. M. Hefeeda and O. Saleh, "Traffic modeling and proportional partial caching for peer−to−peer systems", IEEE/ACM Transactions on Networking, vol. 16, no. 6, pp. 1447−1460, 2008.
しかし、既存手法1,2は逐次的かつ非同期で行うため、配信要求数が平滑化されるまでは何度もノードの担当範囲が切り替わり、ノード間でのデータ移動が多発することになる。つまり、既存手法1,2には、ノードの担当範囲の切替わりに伴うノード間でのデータ移動が多発するという課題があった。
そこで、本発明は、上記課題を解決すべく、頻繁なデータの移動を抑制しつつ、各ノード間のデータ配信数を平準化することができる配信要求分散方法、ノード、及びプログラムを提供することを目的とする。
そこで、本発明は、ある時間単位で各ノードに対する配信要求数を計測し、当該結果の元、要求数が多いノードが管理するデータを当該ノードと隣接する複数のノードで分散して管理することとした。
具体的には、本発明に係る配信要求分散方法は、共通の大きさの担当範囲Hにあるデータxをそれぞれ保持する複数のノードで構成される分散ハッシュテーブルにおいて、担当範囲Hを変化させてデータの配信要求を各ノードに分散させる配信要求分散方法であって、
1つのノードが一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査ステップと、
前記1つのノードが配信要求を受信したときに、
前記データ配信数調査ステップで取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定ステップと、
を行うことを特徴とする。
また、本発明に係るノードは、分散ハッシュテーブルを構成し、共通の大きさの担当範囲Hにあるデータxを保持するノードであって、
一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査モジュールと、
配信要求を受信したときに、
前記データ配信数調査モジュールが取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定モジュールと、
を備える。
本発明は、各ノードの配信要求数から負荷が最も平滑化できるような各ノードの担当範囲を一意に決定する。具体的には、特定の時間間隔にて配信要求数が多いノードのデータは隣接するノード間で共有することにする(図3を参照。)。これにより、配信要求数が平滑化されるまで、担当範囲が切りかわることによる頻繁なデータ転送を抑制することができる。
さらに、本発明に係るプログラムは、コンピュータに前記配信要求分散方法を実行させるためのプログラムである。
本発明に係る配信要求分散方法は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
本発明は、頻繁なデータの移動を抑制しつつ、各ノード間のデータ配信数を平準化することができる配信要求分散方法、ノード、及びプログラムを提供することができる。
従来の配信要求分散方法を説明する図である。(a)は担当範囲変更前であり、(b)は担当範囲変更後である。 従来の配信要求分散方法を説明する図である。(a)は担当範囲変更前であり、(b)は担当範囲変更後である。 本発明に係る配信要求分散方法を説明する図である。 本発明に係るノードを説明する図である。 本発明に係るノードの動作を説明する図である。 本発明に係る配信要求分散方法を説明する図である。 本発明に係る配信要求分散方法の実験結果を説明する図である。 本発明に係る配信要求分散方法の実験結果を説明する図である。 本発明に係る配信要求分散方法と従来の配信要求分散方法とを比較するシミュレーション結果である。 本発明に係る配信要求分散方法と従来の配信要求分散方法とを比較するシミュレーション結果である。
添付の図面を参照して本願発明の実施形態を説明する。以下に説明する実施形態は本願発明の実施の例であり、本願発明は、以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。また、以下の説明で配信要求数と配信数とは同数であるとする。
図4は、本実施形態のノード100を説明する図である。
ノード100は、分散ハッシュテーブルを構成し、共通の大きさの担当範囲Hにあるデータxを保持するノードであって、
一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査モジュール30と、
配信要求を受信したときに、
データ配信数調査モジュール30が取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定モジュール40と、
を備える。
ノード100は、さらに、データベース10と経路制御モジュール20を備える。
図5は、これらのモジュールの動作例である。
経路制御モジュール20、データベース10、およびデータ配信数調査モジュール30は既存手法と同様の機能である。経路制御モジュール20は、一般的な構造化オーバレイが持つべきルーティングのモジュールとなっており、ネットワーク上からデータ等を探索/配信する機能を持つ。
データベース10は、ノードの担当範囲、経路情報(他のノードのIPアドレスとID)、他のノードの配信要求数等を保存している。データベース10も一般的な構造化オーバレイの必要機能となっている。
データ配信数調査モジュール30は、既存手法1で提案されている手法を用いて、ネットワーク上の他のノードの配信数を一定時間間隔で調査し(ステップS01)、データベース10に書き込む(ステップS03)。また、データ配信数調査モジュール30は、経路制御モジュール20に対してされた自身への配信要求を受信し(ステップS02)、データベース10に書き込む(ステップS03)。データベース10は、配信要求が更新されたことを担当範囲決定モジュール40に通知する(ステップS04)。担当範囲決定モジュール40は、他のノード及び自身への配信要求数の調査結果を用いて、自身の担当範囲を決定し(ステップS05)、データベース10が保持する担当範囲を更新する(ステップS06)。
続いて、担当範囲を決定する手法を説明するが、既存手法と異なる手法は、担当範囲決定モジュール40でなされるため、以下では担当範囲決定モジュール40に関する説明を行う。
各ノードはIDを持ち、ノードi(>0)のIDをXとし、ID空間上、Xより大きくもっともIDの距離が近いノードをノードiのSuccessorと呼び、当該ノードのIDをsucとする。この時、ID空間上のノードiの担当範囲は[X,suc)とする。
本実施形態では、配信要求数が高いノードに対して、多くのノードの担当範囲を広げ、担当範囲を重複させることで、配信数の増加による負荷を分散させる。広げられた担当範囲をHとすると、ノードの担当範囲は、[X,H+X)となる(ただし、suc≦H+X)。ここで、担当範囲Hは全てのノードで同じ値である。
担当範囲Hは、各データの配信数の確率密度分布と各データがどれだけのノードの担当範囲に含まれているかを示す確率密度分布との距離を最小化するように決定する。これは、配信要求数が高いノードほど多くのノードに対してデータを多く複製する際の最適な複製数を決定することと同義である。本最小化問題の概要を図6に示す。
ここで、データ配信数調査モジュール30が、既存手法1を用い、他のノードの配信数を一定間隔で調査した結果、L個のデータの配信数を取得できたとする。データxの配信要求数をLとすると、各ノードの配信数の確率密度分布f(x)は、
Figure 0006353395
と定義できる。
また、データxがどれだけのノードの担当範囲に含まれているかを示す確率密度分布g(x,H)は、
Figure 0006353395
と定義する。Nは全ノード数である。
ここで、
Figure 0006353395
は、ノードjの担当範囲にデータxが含まれていれば1となり、そうでなければ0となるカーネル関数となる関数である。本実施形態では
Figure 0006353395
と定義する。
そして、
Figure 0006353395
で表現される両確率密度分布の二乗誤差を最小にするHを求める。但し、Qはデータ配信数調査モジュールにて得られた各データの配信数の集合(具体的には、「所定の時間内に配信されたx=jのデータ数」であり、「L個のデータの配信要求数」)である。
Hの値域はID空間の大きさに依存し、一般的に2160程度の大きさとなる。そのため、線形探索にてHを計算することは難しいため、当該二乗誤差の関数を凸関数と見立て、Hを二分探索にて求め、ノードiは自身の担当範囲を[X,H+X)と設定し、データベースの担当範囲を更新する。
複数のノードの担当範囲にまたがって管理されるデータに対する配信要求は、当該ノード群内からランダムに選ばれたノードが受信し、要求元に配信する。
(効果)
既存手法1,2との比較実験にて、本実施形態の効果を定量化する。実験パラメータは図9の通りである。なお、各ノードに対するデータ数は一様であり、各ノードのIDと各データに対する配信要求数は表2で示す各Mandelbrot−Zipf distribution(非特許文献3)の値(q,α)に依存するものとする。これらのパラメータを用いて、各ノードは、自身の配信数を10,000になるよう、各手法を用いて配信数を平滑化する。
図7に各手法を用いて配信要求数の平滑化を行った後のデータの最大配信数を示す。本実施形態における最大配信数は、他の手法よりも低い値になっていることがわかる。図8にデータの総転送数を示す。既存手法2では最大配信数を平滑化するために本実施形態の8倍程度のデータを転送しなければならない。また既存手法1では、本実施形態の3倍程度のデータ転送を行わなければならない。以上により、本実施形態は少ないデータ転送(複製配置)によって、データ配信数を平滑化できることが分かる。
10:データベース
20:経路制御モジュール
30:データ配信数調査モジュール
40:担当範囲決定モジュール
100:ノード

Claims (3)

  1. 共通の大きさの担当範囲Hにあるデータxをそれぞれ保持する複数のノードで構成される分散ハッシュテーブルにおいて、担当範囲Hを変化させてデータの配信要求を各ノードに分散させる配信要求分散方法であって、
    1つのノードが一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査ステップと、
    前記1つのノードが配信要求を受信したときに、
    前記データ配信数調査ステップで取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定ステップと、
    を行うことを特徴とする配信要求分散方法。
  2. 分散ハッシュテーブルを構成し、共通の大きさの担当範囲Hにあるデータxを保持するノードであって、
    一定の時間に他のノードにされる配信要求の数を調査するデータ配信数調査モジュールと、
    配信要求を受信したときに、
    前記データ配信数調査モジュールが取得した前記配信要求の数に基づいて、データxが配信要求される確率密度分布である配信要求関数f(x)を決定し、データxを保持するノード数の確率密度分布である包含関数g(x、H)とf(x)との二乗誤差が所望のデータxの範囲において最小となるように担当範囲Hを決定する担当範囲決定モジュールと、
    を備えることを特徴とするノード。
  3. コンピュータに請求項1に記載の配信要求分散方法を実行させるためのプログラム。
JP2015078854A 2015-04-08 2015-04-08 配信要求分散方法、ノード、及びプログラム Active JP6353395B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015078854A JP6353395B2 (ja) 2015-04-08 2015-04-08 配信要求分散方法、ノード、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015078854A JP6353395B2 (ja) 2015-04-08 2015-04-08 配信要求分散方法、ノード、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016201604A JP2016201604A (ja) 2016-12-01
JP6353395B2 true JP6353395B2 (ja) 2018-07-04

Family

ID=57423030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015078854A Active JP6353395B2 (ja) 2015-04-08 2015-04-08 配信要求分散方法、ノード、及びプログラム

Country Status (1)

Country Link
JP (1) JP6353395B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516116B2 (en) * 2006-04-07 2009-04-07 Microsoft Corporation Range and cover queries in overlay networks
JP5026388B2 (ja) * 2008-10-20 2012-09-12 日本放送協会 ノード装置及びコンピュータプログラム

Also Published As

Publication number Publication date
JP2016201604A (ja) 2016-12-01

Similar Documents

Publication Publication Date Title
CN110297799B (zh) 数据管理***及方法
US10394782B2 (en) Chord distributed hash table-based map-reduce system and method
US8832113B2 (en) Data management apparatus and system
KR101790701B1 (ko) 분산 인-메모리 환경에서 데이터 복제 및 이주를 이용한 부하 분산 시스템
US20160004571A1 (en) System and method for load balancing in a distributed system by dynamic migration
US20100023564A1 (en) Synchronous replication for fault tolerance
US9800575B1 (en) Assigning storage responsibility in a distributed data storage system with replication
JP6429262B2 (ja) 大容量メモリ内データベース用の負荷分散
Dai et al. IOGP: An incremental online graph partitioning algorithm for distributed graph databases
JP6388339B2 (ja) 分散キャッシングおよびキャッシュ分析
JP2012123544A (ja) 負荷分散装置及びプログラム
US20130007091A1 (en) Methods and apparatuses for storing shared data files in distributed file systems
CN1602480A (zh) 管理附装在数据网络上的存储器资源
US11188258B2 (en) Distributed storage system
US10534765B2 (en) Assigning segments of a shared database storage to nodes
CN104951475B (zh) 分布式文件***和实现方法
JP5723309B2 (ja) サーバおよびプログラム
US20150046399A1 (en) Computer system, data allocation management method, and program
US8041748B2 (en) Method and apparatus for managing a web cache system
JP6353395B2 (ja) 配信要求分散方法、ノード、及びプログラム
KR100983479B1 (ko) 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
WO2014103386A1 (ja) 情報処理装置、分散データベースシステム、およびバックアップ方法
KR101718739B1 (ko) 이기종 하둡을 위한 동적 데이터 복제 시스템 및 방법
JP7485046B2 (ja) 負荷分散方法、負荷分散装置、負荷分散システムおよびプログラム
CN113836238A (zh) 数据命令的批量处理方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180608

R150 Certificate of patent or registration of utility model

Ref document number: 6353395

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150