JP2012252593A - ファイル配布方法、ファイル配布システム、マスタサーバ、ファイル配布プログラム、データ配布方法、及びデータ配布システム - Google Patents

ファイル配布方法、ファイル配布システム、マスタサーバ、ファイル配布プログラム、データ配布方法、及びデータ配布システム Download PDF

Info

Publication number
JP2012252593A
JP2012252593A JP2011125588A JP2011125588A JP2012252593A JP 2012252593 A JP2012252593 A JP 2012252593A JP 2011125588 A JP2011125588 A JP 2011125588A JP 2011125588 A JP2011125588 A JP 2011125588A JP 2012252593 A JP2012252593 A JP 2012252593A
Authority
JP
Japan
Prior art keywords
distribution
file
server
node
configuration
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.)
Granted
Application number
JP2011125588A
Other languages
English (en)
Other versions
JP5776339B2 (ja
Inventor
Taketoshi Yoshida
武俊 吉田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011125588A priority Critical patent/JP5776339B2/ja
Priority to US13/476,117 priority patent/US20120311099A1/en
Priority to EP12170585.9A priority patent/EP2530613A3/en
Publication of JP2012252593A publication Critical patent/JP2012252593A/ja
Application granted granted Critical
Publication of JP5776339B2 publication Critical patent/JP5776339B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】ファイル配布システムの冗長性を動的に構成しながらファイル配布を高速に行なう技術を提供する。
【解決手段】複数の配布ファイルを保持するマスタサーバ2から複数のサーバ3に複数の配布ファイルを配布するファイル配布方法100は、配布ファイル群の部分集合となる配布構成20を作成し、マスタサーバ2及び/又は複数のサーバ3の状態を示すシステム状態情報に基づいて、配布構成20のノードのそれぞれに対してサーバ3を割り当て、配布構成に基づいて、各サーバ3に対して、当該サーバ3に対応するノードに割り当てられる配布ファイルを配布し、配布ファイル管理情報に基づいて、当該ノードに対応するサーバ3が未所有の配布ファイルを、相互直接授受方式により配布ファイルを授受する。また、ファイル配布システム1、マスタサーバ2及びファイル配布プログラムも開示される。
【選択図】図1

Description

本発明は、ファイル(データ)の配布方法、配布システム、マスタサーバ、配布プログラムに関する。
複数台のサーバ間でファイル(データ)を共有すべく、ファイル(データ)を各サーバに配布する機能を備えたシステムが広く利用されている。
例えば、システム内に1つのマスタサーバを配置し、このマスタサーバが、システム内の各サーバに対して共有すべきファイルを配布するとともに、配布に関する管理情報を一元的に管理するシステム(例えば、ビットトレント(BitTorrent)(登録商標))が利用されている。
その際、マスタサーバを頂点とするツリー形状により配布経路を予め設定しておき、そのツリー形状に沿って各サーバは、受信したファイル(データ)を下位サーバに送信するといった配布を行なうこともできる。
国際公開第2006/080083号
しかし、ツリー形状の配布形態では、送信方向は一方向で行われ、通信相手ごとにファイル(データ)の送信時間を要することを考慮すると、ツリーの末端の通信装置に対して共有すべき全てのデータを配布し終わるまでの時間が長い。
また、予め設定されたツリー形状は固定的であるため、システムの状況に応じた臨機応変な対応ができない。
更に、ツリーの頂点に対応する通信装置及びツリーの途中に存在する通信装置における障害発生時に、下位の通信装置への配信が途絶えてしまう。
1つの側面では、本発明は、ファイル(データ)の配布に要する時間の短縮化を図ることを目的とする。
また、他の側面では、本発明は、システムの状況に応じてファイル(データ)の配布経路を変更可能とすることを目的とする。
また、他の側面では、本発明は、ファイル(データ)の配布の際の、配信経路に冗長性を持たせることを目的とする。
このため、このファイル配布方法は、複数の配布ファイルを保持するマスタサーバから複数のサーバに前記複数の配布ファイルを配布するファイル配布方法であって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成し、前記マスタサーバ及び前記複数のサーバの少なくともいずれかの状態を示すシステム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当て、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布し、各ノードに対応するサーバ間において、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを含む配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受する。
また、このファイル配布システムは、複数の配布ファイルを保持するマスタサーバと、該配布ファイルが配布される複数のサーバとをそなえるファイル配布システムであって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成する、配布構成作成部と、前記システムの状態をシステム状態情報として管理するシステム状態データベースと、前記システム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当てる割当部と、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを、配布ファイル管理情報として管理する、配布ファイル管理データベースと、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布する配布部とをそなえ、各ノードに対応するサーバ間において、前記配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受する。
また、このマスタサーバは、複数のサーバに複数の配布ファイルを保持するマスタサーバであって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成する、配布構成作成部と、前記システムの状態をシステム状態情報として管理するシステム状態データベースと、前記システム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当てる割当部と、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを、配布ファイル管理情報として管理する、配布ファイル管理データベースと、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布する配布部とをそなえる。
また、このファイル配布プログラムは、複数の配布ファイルを保持するマスタサーバから複数のサーバに前記複数の配布ファイルを配布するファイル配布プログラムであって、前記ファイル配布プログラムは前記マスタサーバによって実行されると、前記マスタサーバに、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成させ、前記マスタサーバ及び前記複数のサーバの少なくともいずれかの状態を示すシステム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当て、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布させ、前記複数のサーバによって実行されたときに、各ノードに対応するサーバ間において、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを含む配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受させる。
また、複数の通信装置間で複数のデータを共有するためのデータ配布方法は、ツリー状の配布構成において同じ階層に属する複数の通信装置は、上位の通信装置から受信した複数のデータのうち、一部のデータを除くデータを下位の通信装置に送信して、前記複数の通信装置の中で未受信のデータが異なる複数のグループを生じさせ、前記複数の通信装置の各々は、自通信装置が未受信の第1のデータを受信した他のグループに属する通信装置との間で、該他のグループに属する通信装置が未受信の第2のデータの該他の通信装置への送信と、該他の通信装置からの前記第1のデータの受信を並行して行なうことで1以上の不足データを補完する。
また、複数の通信装置間で複数のデータを共有するためのデータ配布システムにおいて、ツリー状の配布構成において同じ階層に属する複数の通信装置が、上位の通信装置から受信した複数のデータのうち、一部のデータを除くデータを下位の通信装置に送信して、前記複数の通信装置の中で未受信のデータが異なる複数のグループを生じさせ、前記複数の通信装置の各々において、自通信装置が未受信の第1のデータを受信した他のグループに属する通信装置との間で、該他のグループに属する通信装置が未受信の第2のデータの該他の通信装置への送信と、該他の通信装置からの前記第1のデータの受信を並行して行なうことで1以上の不足データを補完する手段を有する。
1態様によれば、ファイル(データ)の配布に要する時間の短縮化を図ることができる。
また、1態様によれば、他の側面では、本発明は、システムの状況に応じてファイル(データ)の配布経路が変更可能となる。
また、1態様によれば、ファイル(データ)の配布の際の、配信経路に冗長性を持たせることができる。
さらに、1態様によれば、データの送信と受信とが同時に行なわれるため、配布速度を向上させることができる。
実施形態の一例としてのファイル配布システムの構成を示す模式図である。 実施形態の一例としてのファイル配布システムのネットワーク構成の例を示す模式図である。 実施形態の一例としての状態監視データベースのCPU負荷データベースの例を示す図である。 実施形態の一例としての状態監視データベースのネットワーク負荷データベースの例を示す図である。 実施形態の一例としての状態監視データベースのネットワーク物理構成データベースの例を示す図である。 実施形態の一例としての配布ファイルデータベースのデータ構造を示す図である。 実施形態の一例としての配布ファイルデータベースのデータ例の一部を示す図である。 実施形態の一例としての配布構成の作成例を示す模式図である。 実施形態の一例としてのサーバの割り当て方法を示す模式図である。 実施形態の一例としてのネットワーク物理構成を考慮したサーバの選択方法を示す模式図である。 実施形態の一例としてのファイル配布システムの構成の配布構成作成部の処理を示す模式図である。 実施形態の一例としてのファイル配布システムにおける配布構造を表すベン図である。 実施形態の一例としてのファイル配布方法を示すフローチャートである。 実施形態の第一変形例としてのファイル配布システムにおける配布構造を示す模式図である。図13の配布構造である。 図14の配布構造を表すベン図である。 実施形態の第二変形例としてのファイル配布システムにおける配布構造を示す模式図である。
(A)システム構成
以下、図面を参照して本技術の実施形態の一例の構成を説明する。
図1は実施形態の一例としてのファイル配布システム1の構成を示す模式図であり、図2は、当ファイル配布システム1のネットワーク構成の例を示す模式図である。
本ファイル配布システム1は、配布ファイル(データ)を配布(共有)するためのシステムである。
本ファイル配布システム1は、マスタサーバ(通信装置)2と、複数のサーバ(通信装置)3とから構成され、マスタサーバ2と、複数台のサーバ3とが接続されている。
マスタサーバ2と、複数のサーバ3とは、図2に示すように、ネットワーク10を介して相互に接続されている。ネットワーク10は、例えばLAN(Local Area Network)である。
ファイル配布システム1においては、例えば、サーバ3に記憶されているファイルの修正ファイルあるいは更新ファイル(例えば、オペレーティングシステムやドライバ、アプリケーションプログラムのパッチなど)が、配布ファイルとして、マスタサーバ2からサーバ3に配布される。
マスタサーバ2は、このような配布ファイルの全てを管理し、配布するサーバ機能を備えたコンピュータ(サーバコンピュータ)である。
マスタサーバ2は、図示しないCPU、メモリ(ROMやRAM)、ハードディスクドライブ等を備える。
以下、実施形態の一例としてのマスタサーバ2の構成について説明する。
マスタサーバ2は、図1に示すように、サーバ割当部11、配布構成作成部12、配布部13、状態監視データベース(DB:Data Base)14、及び配布ファイルデータベース(DB)18を備える。
サーバ3のハードディスクドライブには、状態監視データベース(DB:Data Base)14及び配布ファイルデータベース(DB)18が格納されているほか、配布対象の配布ファイルも格納されている。
サーバ割当部11は、配布元サーバとするサーバ3を選出する。サーバ割当部11は、後述する状態監視データベース14に保持されている、サーバ3のCPU負荷、ネットワーク負荷及びネットワーク物理構成などの条件を統合的に鑑みて、配布元サーバとするサーバ3を選出する。
例えば、CPU負荷を優先して配布元サーバとするサーバ3を選出する場合には、サーバ割当部11は、後述するCPU負荷データベース15を参照して、全てのサーバ3をCPU負荷の軽いものから順に並べ、上位の数台のサーバ3もしくは上位数パーセントのサーバ3を選択する。
また、例えば、サーバ3間のネットワーク負荷を優先して配布元サーバとするサーバ3を選出する場合には、サーバ割当部11は、後述するネットワーク負荷データベース16を参照して、全てのサーバ3をネットワーク負荷の軽いものから順に並べ、上位の数台のサーバ3もしくは上位数パーセントのサーバ3を選択する。
また、配布元サーバとするサーバ3を、CPU負荷とネットワーク負荷との両方に応じて選択してもよい。その際、CPU負荷データベース15とネットワーク負荷データベース16とを参照して、重み付けにより、CPU負荷とネットワーク負荷との複合値を算出して、この複合値が低い上位の数台のサーバ3もしくは上位数パーセントのサーバ3を選択してもよい。
そして、選択されたこれらのサーバ3を、後述する配布構成作成部12が作成する配布構成に、配布元サーバとして割り当てる。
配布構成作成部12は、配布ファイルの配布経路を定義している配布構成を作成する。
その際、配布構成作成部12は、配布ファイルの種類(サイズや用途など)に応じ、配布ファイルをグループ化する。以下、本ファイル配布システム1において配布すべき配布ファイルの数をn(個)(n=2以上の整数)とする。
また、その際、配布ファイルの種類が少なく、ファイルサイズが大きい場合には、配布構成作成部12は、一つの配布ファイルを幾つかのファイルに分割する。このようにして、配布構成作成部12は、本ファイル配布システム1において配布すべきファイルを、グループ化したり適宜分割することにより、n個の配布ファイルとする。なお、ファイルを分割したりグループ化することにより、後述の交換時に、複数グループ(ファイル)の送信と受信とが同時に行なわれ、これら複数グループ(ファイル)のデータサイズが揃っていることにより、タイムロスを減らし、交換の効率を向上できる。
なお、以下の記載においては、1つのファイルを分割することにより形成されたファイルも、複数のファイルをグループ化したものも、総称して「配布ファイル」を称する。そして、これらのファイルの部分集合からなるノードを定義して、サーバ割当部11に通知する。
更に、配布構成作成部12は、これらのグループに基づいて、配布ファイルを配布するための配布構成を作成する。配布構成作成部12における配布ファイルの配布構成の作成手順を以下に述べる。
例えば、配布構成作成部12は、最上位のノードには配布ファイルの全てが含まれ、下位ノードに行くほど配布ファイル数が少なくなる階層構造を有する配布構成を作成する。このような階層構造の例として、ツリー形式が挙げられる。ツリー形式を用いた説明は後述する。
配布部13は、配布ファイルが配布対象の全てのサーバ3に配布されるように制御を行なう。例えば、配布部13は、サーバ3を配布元サーバとして機能させるために、サーバ割当部11が選択した、配布元サーバとして機能させたいサーバ3に配布ファイルをプッシュする。また、配布部13は、サーバ3間でP2P方式によるファイル配布を開始させるための命令を発行する。
状態監視データベース14は、サーバ3の状態(CPU負荷など)、サーバ3のネットワーク物理構成、サーバ3間のネットワークトラフィック情報などのシステム状態を管理するデータベースである。本実施形態では、状態監視データベース14は、CPU負荷データベース15、ネットワーク負荷データベース16、及びネットワーク物理構成データベース17を有する。状態監視データベース14のCPU負荷データベース15の例を図3に、状態監視データベース14のネットワーク負荷データベース16の例を図4に、状態監視データベース14のネットワーク物理構成データベース17の例を図5にそれぞれ示す。
CPU負荷データベース15は、各サーバ3のCPU負荷を管理するデータベースであって、図3に示す例においては、ファイル配布システム1に存在する各サーバ3を特定するためのサーバID(本例においてはIPアドレス)と、そのサーバのCPU負荷(パーセント表記)とが管理されている。
ネットワーク負荷データベース16は、各サーバ3間を接続する個々のリンクの負荷を管理するデータベースであって、図4に示す例においては、ファイル配布システム1に存在する各リンクの始点のサーバ3のサーバIDである「From:サーバID」(本例においてはIPアドレス)と、当該リンクの終点のサーバ3のサーバIDである「To:サーバID」(本例においてはIPアドレス)と、当該リンクのネットワーク負荷(パーセント表記)とが管理されている。なお、リンクの「始点」及び「終点」とは、スイッチに近いほうを「始点」、スイッチから遠いほうを「終点」と便宜上表す。
ネットワーク物理構成データベース17は、本ファイル配布システム1を構成するネットワークの構成を管理するデータベースであって、図5に示す例においては、例えば、ファイル配布システム1に存在する各スイッチを特定するためのスイッチID(本例においてはIPアドレス)と、そのスイッチの配下のサーバ3のサーバID(本例においてはIPアドレス)とが管理されている。
配布ファイルデータベース18は、サーバ3に配布すべきファイルを管理するデータベースである。配布ファイルデータベース18のデータ構造の具体例を図6に示す。
図6に示す例においては、配布ファイルデータベース18は、配布元サーバIDリスト31、全配布ファイルIDリスト32、自サーバ取得ファイルIDリスト33、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35を有する。配布元サーバIDリスト31は、配布元サーバとして設定されたサーバ3のIDのリストである。また、全配布ファイルIDリスト32は、その配布元サーバが下位のサーバ3に配布すべき配布ファイルのIDリストである。自サーバ取得ファイルIDリスト33は、各サーバ3が既に取得している配布ファイルを識別するIDの一覧をリストとして表す。配布先サーバIDリスト34は、配布ファイルの配布先である一階層下のノードのサーバ3を識別するIDの一覧をリストとして表す。更に、配布先サーバ取得ファイルIDリスト35は、一階層下のノードのサーバ3に配布すべきファイルを識別するIDのリストを一覧をして表す。
なお、本願では、サーバ3のIDとしてサーバ3のIPアドレスを使用しているが、IPアドレスに限定されない。
状態監視データベース14、CPU負荷データベース15、ネットワーク負荷データベース16、ネットワーク物理構成データベース17、及び配布ファイルデータベース18のデータは、例えば図示しないHDDに記憶されている。
この配布ファイルデータベース18の具体的なデータ例の一部を、図7に示す。
また、サーバ3は、マスタサーバ2によって配布ファイルが配布される先の配布先サーバとして機能するほか、この配布された配布ファイルを、他のサーバ3に配布する配布元サーバとしても機能することができる。サーバ3は、相互にピアツーピア(P2P)通信が可能である。なお、P2P通信とは、マスタサーバ2を介さないサーバ3間での通信であり、既知の種々の手法で実施することができる。
各サーバ3は、スイッチ(図10参照)やルータを介して、それぞれネットワーク10に接続されている。
次に、サーバ3の構成を説明する。
サーバ3は、図示しないCPU、メモリ(ROMやRAM)、ハードディスクドライブ等を備えるコンピュータまたは通信装置である。
本ファイル配布システム1に含まれる複数のサーバ3は、互いに同じもしくはほぼ同じ構成を有している。
各サーバ3は、図1に示すように、それぞれ、ファイル配布制御部21、ファイル管理部22及び前述した配布ファイルデータベース18と同様の配布ファイルデータベース23を備える。
サーバ3のハードディスクドライブには、配布ファイルデータベース23が格納されるほか、マスタサーバ2や他のサーバ3から取得した配布ファイルが格納される。 ファイル配布制御部21は、マスタサーバ2又は上位のサーバ3からの指示に従って、後述する配布ファイルデータベース23を参照して、自身が属するノードの一階層下のノードのサーバへの配布ファイルの配布を開始する。
ファイル管理部22は、後述する配布ファイルデータベース23を参照して、自サーバ3において不足している配布ファイルが存在する場合に、その不足配布ファイルを、P2Pによって他のサーバ3から取得するために問合わせを行ない、その配布ファイルを取得する。また、ファイル管理部22は、他のサーバ3からの配布ファイルの問合せを受信した場合、後述する配布ファイルデータベース23を参照して、その配布ファイルを自身が所有している場合には当該配布ファイルを他のサーバ3に送信する。配布する不足データを補完すべきペアは事前に各サーバ3に記憶しておいても、配布ファイルの付加情報としてマスタサーバ2から付加情報として配布し、この付加情報を参照することにより各サーバ3が自律的に見つけてもよい。 配布ファイルデータベース23は、上記のマスタサーバ1の配布ファイルデータベース18と同様のデータ構造を有する。配布ファイルデータベース23は、後述のごとく、配布ファイルデータベース18や、他のサーバ3の配布ファイルデータベース23と一致するように更新される。
配布ファイルデータベース23は、配布元サーバIDリスト31、全配布ファイルIDリスト32、自サーバ取得ファイルIDリスト33、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35を有する。配布元サーバIDリスト31は、配布元サーバとして設定されたサーバ3を識別するIDの一覧をリストとして表す。また、全配布ファイルIDリスト32は、その配布元サーバが下位のサーバ3に配布すべき配布ファイルのIDリストである。自サーバ取得ファイルIDリスト33は、自サーバ3が既に取得している配布ファイルを識別するIDの一覧リストである。配布先サーバIDリスト34は、配布ファイルの配布先である一階層下のノードのサーバ3を識別するIDの一覧リストとして表す。更に、配布先サーバ取得ファイルIDリスト35は、一階層下のノードのサーバ3に配布すべきファイルを識別するIDの一覧をリスト35として表す。
なお、本願では、サーバ3のIDとしてサーバ3のIPアドレスを使用しているが、サーバ3のIDはIPアドレスに限定されない。
ファイル管理部22は、自サーバ3のID(本実施形態ではIPアドレス)をキーとして、配布ファイルデータベース23の配布元サーバIDリスト31を検索し、自サーバ3の上位のノードのサーバIDを知ることができる。なお、「上位」及び「下位」とは、ルートに近い方を「上位」、末端に近いほうを「下位」と呼ぶ。
また、ファイル管理部22は、配布ファイルデータベース23の全配布ファイルIDリスト32のエントリと、自サーバ3のIDをキーとして検索した自サーバ3の自サーバ取得ファイルIDリスト33のエントリとを比較して、不足している配布ファイルを知ることができる。
また、ファイル管理部22は、自サーバ3のIDをキーとして、配布ファイルデータベース23の配布先サーバIDリスト34を検索することによって、自サーバ3が、上位サーバから受け取った配布ファイルの部分集合を配布すべき相手先の下位サーバ3を知ることができる。
また、ファイル管理部22は、自サーバ3のIDをキーとして、配布ファイルデータベース23の配布先サーバ取得ファイルIDリスト35を検索することによって、自サーバ3が、下位サーバ3に配布すべき配布ファイルを知ることができる。
なお、上記の実施形態の一例では、マスタサーバ2の配布ファイルデータベース18と、サーバ3の配布ファイルデータベース23とが同様であると説明したが、配布ファイルデータベース18と配布ファイルデータベース23とが異なっていてもよい。例えば、サーバ3の配布ファイルデータベース23に、自サーバ3の上位の配布元サーバと、これに対応する情報のみが格納されていてもよい。
(B)システム動作
次に、上記の如く構成された実施形態の一例としてのファイル配布システム1の動作を説明する。
[1]以下に、図8を参照して、配布構成作成部12による配布構成20の作成例を説明する。ここでは、配布構成20の一例として、複数のノードからなるツリー構成を生成する例を示す。
この例において、サーバ3の総数をi(台)、配布元として選択するサーバ3の割合をj(%)とする。
(1−1)サーバ3全i台のうちのj%のサーバを配布元サーバとして選択する。jは、事前にシステムの状態などによって決定してもよい。
(1−2)次に、配布すべき配布ファイル数の総数がnのとき、n!(階乗)>i×jが成立する場合には、n個の配布ファイルをm個のグループに分割する。その際、mの値は、n/m<i×jとなるように決定する。
(1−3)次に、ツリーを生成する。m(本例ではm=n:但し、n<i×j)個のグループから、図8のツリーのように、m−1分木から分岐しm−1=1になるまで、配布構成20としてのツリーを生成する。例えば、図8に示す例ではルートからm−1本の分岐を生成させ、その一階層下のノードからはそれぞれm−2の分岐を生成させ、この枝の生成を枝の本数が1本になるまで繰り返す。
この際のツリーの形成方法は、以下の通りである。なお、本例では、1ファイルが1つのグループとなる(m=n)ため、以下の説明では「グループ」を「ファイル」と称する。
m−1本木を生成する。ファイルをファイル1、ファイル2、ファイル3、ファイル4…のようにソートする。そして、ソートしたファイルの並びの先頭のファイルを始点とし、m−1個のファイルを取得する。次に、ソートしたファイルの並びのファイルの並びの2番目のファイルを始点としてm−1個のファイルを取得する。次に、ソートした3番目のファイルを始点としてm−1個のファイルを取得していき、上記の処理を繰り返す。このとき、ソートしたファイルの並びの最後まで達しても、取得したファイルの数がm−1に達しない場合には、ソートしたファイルの並びの先頭から不足分を取得する。この操作を、枝の本数がm−1本になるまで繰り返す。
次に、生成したm−1本木の各ノードからそれぞれ、m−2本木を生成する。m−1本木の先頭のノードの先頭のファイルを始点とし、m−2個のファイルを取得する。この操作を繰り返してm−2本の枝を生成し、次のノードに移る。
上記の操作を、枝の本数が1本になるまで繰り返す。
[2]次に、図9に示すように、サーバ機能プランニング部11は、上記のように生成した配布構成20としてのツリーに、サーバ3を割り当てる。サーバ3の割り当て方法を以下に説明する。
(2−1)まず、サーバ3全i台のうちのj%の台数のサーバ3を、CPU負荷やネットワーク負荷を考慮して選択しソートする。
(2−2)次に、上記で作成したツリーに対し(2−1)のソート順にi×j台のサーバ3を、ツリーの上位のノードから下位のノードに、(i×j/100)/(ノード総数)台ずつそれぞれ割り当てる。
例えば、サーバ3全10,000万台のうちの5%を、図11の22のノードに割り当てる場合には、i=10000、j=5、ノード総数=22となり、(10000×0.05)/22≒22となり、各ノードに22台ずつサーバを割り当てることになる。
なお、上記(2−1)において、CPU負荷やネットワーク負荷を考慮してサーバ3を選択する以外にも、ネットワーク物理構成を考慮してサーバ3を選択することも可能である。その方法を、図10を参照して説明する。
例えば、図10の例では、サーバ3−1〜3−6の6台のサーバ3が存在する。当該選択処理実行時点におけるCPU負荷が軽い順に並べると、サーバ3−3、サーバ3−4、サーバ3−1、サーバ3−5、サーバ3−2、サーバ3−6となり、サーバ3−3が負荷が最も軽く、サーバ3−6が最も高負荷であるとする。
このとき、CPU負荷に鑑みて、配布元サーバとするサーバ3を2台選択する場合には、サーバ3−3とサーバ3−4とが選択される。
しかし、図10に示すように、サーバ3−3とサーバ3−4とはいずれも、スイッチS2の配下に存在する。したがって、サーバ3−3とサーバ3−4とに配布ファイルを割り当てた場合、スイッチS2が故障した場合には冗長性が維持できなくなる。
そこで、サーバ3−1を選択した後に、次点の候補のサーバ3−4とサーバ3−3が接続されているスイッチをチェックする。接続元のスイッチが一致する場合には、サーバ3−3とはスイッチが異なるサーバ3のうち、CPU負荷の最も軽いサーバ3−1を選択して、最終的には、サーバ3−3と3−1との2台を選択する。このように選択を行なうことにより、スイッチS2が故障してサーバ3−3が使用不可となった場合でも、スイッチS1の配下にあるサーバ3−1により配布ファイルの配布が行われることが保証される。
次に、配布ファイルのグループの配布構成の作成ならびに配布構成へのサーバの割り当てについて、図11を参照して、配布ファイル数n=4、配布構成が階層構造を有する場合を例に説明する。
図11の例では、配布ファイルは、分割の必要のない、ほぼ同じサイズのファイルが4つ存在するとする。この場合、配布すべき配布ファイル数nは4であり、グループ数mも4である。このように、例では、各グループに配布すべき配布ファイルが1つずつ含まれる場合、グループを「配布ファイル」と称することもある。
以下、これらの4つのファイルをそれぞれ、「1」、「2」、「3」、「4」で表すものとする。
マスタサーバ3の配布構成作成部12は、これら4つの配布ファイルのすべてが含まれる集合であるファイル群{1,2,3,4}をノード1とし、これら4つの配布ファイルのうちの3つが含まれる部分集合であるファイル群{1,2,3}をノード2、ファイル群{2,3,4}をノード3、ファイル群{3,4,1}をノード4とする。前述のように、この際のノードの形成方法は、以下の通りである。ファイルをファイル1、ファイル2、ファイル3、ファイル4のように、ファイルサイズ順やファイル名順などでソートする。そして、ソートしたファイルの並びの先頭のファイルを始点とし、n−1個のファイルを取得する。次に、ソートしたファイルの並びのファイルの並びの2番目のファイルを始点としてn−1個のファイルを取得する。次に、ソートした3番目のファイルを始点としてn−1個のファイルを取得していき、上記の処理を繰り返す。このとき、ソートしたファイルの並びの最後まで達しても、取得したファイルの数がn−1に達しない場合には、ソートしたファイルの並びの先頭から不足分を取得する。
そして、配布構成作成部12は、ノード2{1,2,3}の部分集合である下位ノードとして、ノード5{1,2}とノード6{2,3}とを形成する。また、ノード3{2,3,4}の部分集合である下位ノードとして、ノード7{2,3}とノード8{3,4}とを形成する。また、ノード4{3,4,1}の部分集合である下位ノードとして、ノード9{3,4}とノード10{4,1}とを形成し、グループの部分集合であるノードを作成する。
最後に、配布構成作成部12は、最下位のノードとして、ノード5{1,2}の部分集合である下位ノードとして、ノード11{1}とノード12{2}とを作成し、同様に、最下位のノード13〜22を作成し、グループの部分集合であるノードを作成する。
そして、これらのノード1〜22のそれぞれにサーバ3を割り当てる。
例えば、ノード1にサーバa、ノード2にサーバb、ノード3にサーバc、ノード4にサーバd、ノード5にサーバe、ノード6にサーバf、ノード7にサーバg、ノード8にサーバh、ノード9にサーバi、ノード10にサーバj、ノード11にサーバk、ノード12にサーバl…をそれぞれ割り当てる。この際、割り当てるサーバa〜uは、前述のごとくサーバをCPU負荷及び/又はネットワーク負荷に応じてソートし、ネットワーク構成を鑑みて選択する。
次に、例えば、マスタサーバ2の配布部13によって、4つのファイルのうち4つ全てが含まれるノード1に割り当てられたサーバaに、グループ1〜4の4つのファイルの全てがプッシュされる。4つのファイルがプッシュされるサーバaには、後に行なわれるP2Pでのファイル配布により負荷がかかることが予測されるため、元々のCPU負荷あるいはネットワーク負荷の低いサーバを割り当てることが望ましい。
また、ファイル1〜4のプッシュと同時に、マスタサーバ2によって、配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35もプッシュされる。サーバaは、これらの情報により、自サーバの配布ファイルデータベース23の配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35を更新すると共に、自サーバの配布ファイルデータベース23の自サーバ取得ファイルIDリスト33も更新する。
次に、4つのファイルのうち3つが含まれるノード2に割り当てられたサーバbに、サーバaによってグループ1〜3のファイルがプッシュされる。同様にノード3に割り当てられたサーバcに、サーバaによってグループ1,2,4のファイルがプッシュされる。ノード4に割り当てられたサーバdに、サーバaによってグループ3,4,1のファイルがプッシュされる。その際、同様に、サーバaによって、配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35も、サーバb、c、dにプッシュされる。これらのリストと配布された配布ファイルIDとに基づいて、サーバa、b、c、dは、上記と同様に配布ファイルデータベース23を更新する。
更に、4つのグループのうち2つのグループが含まれるノードに割り当てられたサーバに、上位のサーバ3によって、2つのグループのファイルがプッシュされる。例えば、ノード5に割り当てられたサーバeに、サーバbによってグループ1,2のファイルがプッシュされる。ノード6に割り当てられたサーバfに、サーバbによってグループ2,3のファイルがプッシュされる。ノード7に割り当てられたサーバgに、サーバcによってグループ2,3のファイルがプッシュされる。ノード8に割り当てられたサーバhに、サーバcによってグループ3,4のファイルがプッシュされる。ノード9に割り当てられたサーバiに、サーバdによってグループ3,4のファイルがプッシュされる。ノード10に割り当てられたサーバjに、サーバdによってグループ4,1のファイルがプッシュされる。同様に、その際、配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35もサーバにプッシュされる。これらのリストと配布された配布ファイルIDとに基づいて、サーバe〜jは配布ファイルデータベース23を更新する。
最後に、4つのグループのうち1つのグループだけが含まれる最下位ノードに割り当てられたサーバk〜vに、上位のサーバ3によって、1つのグループのファイルがプッシュされる。同様に、その際、配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35もサーバにプッシュされる。これらのリストと配布された配布ファイルIDとに基づいて、サーバk〜vは配布ファイルデータベース23を更新する。
この際、ノードに複数台のサーバ3が割り当てられている場合、当該ノードのサーバ3のうちの1台にファイルがプッシュされ、ノードの残りのサーバ3は、ファイルのプッシュを受けたサーバ3から、P2Pでファイルを受け取ってもよい。
次に、各サーバ3は不足している配布ファイルを取得する。各サーバ3のファイル管理部22は、配布ファイルデータベース23を参照して、他のサーバ3に、不足している配布ファイルを要求する。要求されたサーバ3は、要求してきたサーバ3が属するノードに、既に同ファイルを取得したサーバ3が存在すれば、そのサーバ3に不足している配布ファイルを要求し、同ファイルを送信する。更に、同ノードにないファイルであれば、隣接するノードのサーバに問い合わせる。この問い合わせは再帰的に行なわれるため、このファイルを取得できる。
例えば、ノード2に属し、グループ1,2,3のファイルがプッシュされたサーバbは、配布ファイルデータベース23を参照する。そして、配布ファイルデータベース23の全配布ファイルIDリスト32と自サーバ取得ファイルIDリスト33とを参照し、サーバaから、不足しているグループ4のファイルをP2Pで取得する。サーバbは、自サーバ取得ファイルIDリスト33リストを送信する。また、サーバaも、配布先サーバ取得ファイルIDリストを更新する。
この不足ファイルの取得の際には、同じ階層に属するサーバ3間でファイルの送信と受信とを並行して行なうことができるため、ファイル配布速度を向上させることができる。
不足する配布ファイルを補完しあうペアは、事前に定義して各サーバ3に記憶させておいても、配布ファイルの付加情報としてマスタサーバ2から送信されてもよい
また、上記の配布構成は、ベン図でも表すことができる。図12は、図11の配布構成をベン図で表した配布構成を示す。
図12において、「1(図中では○付き数字)」で示すA1領域はファイル1、「2(図中では○付き数字)」で示す領域A2はファイル2、「3(図中では○付き数字)」で示す領域A3はファイル3、「4(図中では○付き数字)」で示す領域A4はファイル4の配布をそれぞれ示す。また、各領域A1〜A4の積は、複数ファイルの配布を示す。
このように、配布構成の作成は、配布ファイルの部分集合を定義する作業であると考えることもできる。
なお、上記の例においては、配布構成と配布構成へのサーバの割り当てとを動的に定義する例を記載した。このように、配布構成と配布構成へのサーバの割り当てとを動的に定義する場合は、作成した配布構成を、配布ファイルの付加情報として、マスタサーバ2からサーバ3に配布してもよい。
あるいは、別の実施形態として、マスタサーバ2が配布構成とサーバの割り当てとを定義して、定義した配布構成とサーバの割り当てとをサーバ3に記憶させておいてもよい。
また、本件は、ファイル配布方法も考察するものであり、図13のフローチャートを参照して、本ファイル配布方法100を説明する。
まず、ステップS101において、マスタサーバ2の配布構成作成部12により、配布ファイルの種類やサイズが大きい場合はそれを分割し、m個のグループを作成する。
次に、ステップS102において、マスタサーバ3のサーバ機能プランニング部11により、m個のグループからツリーを定義して、ツリーのそれぞれのノードにグループの部分集合を割り当てる。その際、最上位のノードにはグループの全てが含まれ、下位ノードに行くほどグループ数が少なくなるようなツリーを形成する。
次に、ステップS103において、マスタサーバ2のサーバ機能プランニング部11により、全サーバ3の内、CPUもしくはネットワーク負荷が小さいものを、i×j(iはサーバ3の総数、jはサーバ3全i台のうち選択する割合%)台、配布元サーバとして選択し、ツリーの各ノードにi×j/(ノード総数)台ずつサーバ3を割り当てる。
次に、ステップS104において、マスタサーバ2の配布部13により、m個の配布ファイルを持つノードに属するサーバ3が、m個の配布ファイルを持つルートノードに属する任意の1台のサーバ3に、そのノードに属するm個の配布ファイルをプッシュする。なお、その際、ルートノードに複数のサーバ3が存在する場合、ファイルの配布を受けたサーバ3から、ルートノードに属する他の全てのサーバ3が、m個の配布ファイルをP2Pで取得してもよい。ルートノードの配布ファイルを取得したサーバ3は、配布完了の旨の通知をマスタサーバ2へ通知する。
次に、ステップS105において、m個の配布ファイルを持つノードに属するサーバ3が、m−1個の配布ファイルを持つノードに属する任意の1台のサーバ3に、そのノードに属するm−1個の配布ファイルをプッシュする。同様に、その際、m−1個の配布ファイルを持つノードに複数のサーバ3が存在する場合、ファイルの配布を受けたサーバ3から、m−1個を持つノードに属する他の全てのサーバ3が、m−1個の配布ファイルをP2Pで取得してもよい。当該ノードの配布ファイルを取得したサーバ3は、配布完了の旨の通知をマスタサーバ2へ通知する。
次に、ステップS106において、m−1個の配布ファイルを持つノードに属するサーバ3が、m−2個を持つノードに属するサーバ3に対し、上記の処理を繰り返す。処理を、m−i(k=1,…,m−1)=1になるまで繰り返し、各ノードに属するサーバ3が、ノードが持つ配布ファイルを共有する。
次に、ステップS107において、マスタサーバ2は、全てのサーバ3から、ノードに属する配布ファイルの受領完了通知を受ける。
ステップS108において、マスタサーバ2は、配布元サーバとして選択した全てのサーバ3に対し、残りの配布ファイルの配布を開始する指示を出す。
ステップS109において、各サーバ3は、自分の属するノードのファイル数+1のノードから、不足している配布ファイルをP2Pで取得する。
次に、ステップS110において、ファイル数+2のノードから不足している配布ファイルを取得し、これをファイル数+k(=m−ファイル数)分繰り返し、最終的にはn個全ての配布ファイルが、配布元サーバとして選択されたサーバ3に配布される。
次に、ステップS111において、n個全てのファイルを取得したサーバ3は、マスタサーバ2に対し、配布を完了した旨の通知を送信する。
最後に、ステップS112において、マスターサーバ2の配布部13が、サーバ3間でP2P方式によるファイル配布を開始させるための命令を発行し、これにより、配布元サーバとして選択されていない他のサーバ3にも全ての配布ファイルが配布される。
このように、実施形態の一例としてのファイル配布システム1及びファイル配布方法100においては、マスタサーバ2が、全ての配下のサーバ3に配布ファイルを個々に配布するのではなく、マスタサーバ2が、配布ファイルをグループ化し、これらのグループを少なくとも1つ含む配布構成を作成して、配布構成に配布元サーバとする選択されたサーバを割り当てる。その際の割り当ては、サーバ3の負荷及び/又はネットワーク構成に応じて行なう。そして、配布構成の各ノードのサーバ3に、グループのファイルを配布する。その後、不足している配布ファイルを、サーバ3がピアツーピア(P2P)で相互に取得し合うように構成されている。
このため、サーバ3が配布元サーバとして機能するため、マスタサーバ2に冗長性を持たせることができる。このため、マスタサーバ2に万が一障害が生じた場合であっても、配布元サーバとして選択されたサーバ3により、ファイル配布システム1内の各サーバに配布ファイルを配布することができる。
更には、マスタサーバ2が一部のサーバ3にのみ配布ファイルを配布するので、ネットワーク負荷を低減することができる。
上述した実施形態においては、配布構成を示すツリーにおいて、上位のノードから下位のノードに向かって、各ノードから出る枝数が減少する例を示しているが、これに限定されるものではない。
(C)第一変形例
以下、図面を参照して本技術の実施形態の変形例の構成を説明する。
本第一変形例において、上記実施形態とは異なる配布構成の作成方法を示す。
図14は実施形態の変形例としてのファイル配布システムにおける配布構造を示す模式図であり、図15は、この配布構造を表すベン図である。
図14の変形例では、配布構成の作成方法が上記例とは異なり、枝の本数が、上位ノードと下位ノードとで等しい。それ以外のマスタサーバ2及びサーバ3の機能及び構成については、上記の実施形態と同じである。
マスタサーバ2は、サーバ3−1,3−2に、配布ファイル1とファイル2とを配布する。
サーバ3−1は、サーバ3−3,3−4に配布ファイル1を配布し、サーバ3−2は、サーバ3−5,3−6に配布ファイル2を配布する。
その後、サーバ3−3とサーバ3−5とが配布ファイル1,2を交換し、サーバ3−4とサーバ3−6とが配布ファイル1,2を交換しあう。この交換時には、サーバ3−3による配布ファイル1の送信、サーバ3−5による配布ファイル1の受信、サーバ3−5による配布ファイル2の送信、サーバ3−3による配布ファイル2の受信が同時に行われる。これにより、配布速度を向上させることができる。
なお、不足する配布ファイルを補完しあうペアは、事前に定義して各サーバ3に記憶させておいても、配布ファイルの付加情報としてマスタサーバ2から送信されてもよい。
図15は、図14の配布形態をベン図で表した図である。
図15において、「1(図中では○付き数字)」で示す領域A1はファイル1、「2(図中では○付き数字)」で示す領域A2はファイル2の配布をそれぞれ示す。また、各領域A1,A2の積A1∩A2は、ファイル1,2の配布を示す。
このように、配布構成の作成は、配布ファイルの部分集合を定義する作業であると考えることもできる。
このように、前述の実施形態の効果に加えて、第一変形例においては、サーバ3−3による配布ファイル1の送信、サーバ3−5による配布ファイル1の受信、サーバ3−5による配布ファイル2の送信、サーバ3−3による配布ファイル2の受信が同時に行われるため、配布速度を向上させることができる。
(D)第二変形例
以下、図面を参照して本技術の実施形態の第二変形例の構成を説明する。
本第二変形例において、上記実施形態とは異なる配布構成の作成方法を示す。
図16は実施形態の第2変形例としてのファイル配布システムにおける配布構造を示す模式図である。
図16に示す例においては、図14と同様にマスタサーバ2からサーバ3に配布ファイル1と2を配布する場合を示すが、2階層目よりも3階層目のほうが枝の本数が多い。すなわち、図16に示すように、上位のノードから出る枝数よりも、下位のノードから出る枝数を多くしてもよい。それ以外のマスタサーバ2及びサーバ3の機能及び構成については、上記の実施形態と同じである。
例えば、ファイル1の配布にかかる時間と、ファイル2の配布にかかる時間とをともにTとすると、サーバ3−1,サーバ3−2がそれぞれ、ファイル1とファイル2とを下位サーバ3に配布する場合には、マスターサーバからサーバ3−1,サーバ3−2へのファイル1,2の配信に4T、サーバ3−1からサーバ3−3,3−4,3−5へのファイル1およびファイル2の配布に6Tを要する。また、この6Tの間に、サーバ3−2からサーバ3−6,3−7,3−8へのファイル1およびファイル2の配布も行なわれるため、全サーバ3−1〜3−8へのファイル1およびファイル2の配布に要する時間は、4T+6T=10Tとなる。
しかし、図16の配布構成を採用する場合には、マスターサーバからサーバ3−1,サーバ3−2へのファイル1,2の配信には同じく4Tがかかるものの、サーバ3−1からサーバ3−3,3−4,3−5へのファイル1の配布は3Tで済み、この同じ3Tの間に、サーバ3−2からサーバ3−6,3−7,3−8へのファイル2の配布も行なわれる。さらに、サーバ3−3とサーバ3−6の間のファイル交換、サーバ3−4とサーバ3−7の間のファイル交換、およびサーバ3−5とサーバ3−8の間のファイル交換が、Tの間に一度に行なわれる。このため、全サーバ3−1〜3−8へのファイル1およびファイル2の配布に要する時間は、4T+3T+T=8Tとなり、サーバ3−1,サーバ3−2がそれぞれ、ファイル1とファイル2とを下位サーバ3に配布する場合に比べ、配布時間を短縮できる。
このように、前述の実施形態および第一変形例の効果に加えて、第二変形例においては、枝の本数を増やすことにより、同じ配布時間で、より多くのサーバ3に配布ファイルを配布することが可能となる。これにより、配布時間を短縮することが可能となる。
(E)その他
なお、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
上記の実施形態では、CPU負荷及び/又はネットワーク負荷、ならびにネットワーク構成に鑑みて、配布元とするサーバを選択したが、例えば、サーバを他のステータスによって選択してもよい。
また、上記の実施形態においては、配布ファイルを、更新ファイルや修正ファイルとして説明したが、例えば、配布ファイルが、マルチメディアファイルなど、他の形式のファイルでもよい。
また、上記の実施形態においては、配布構成として、ツリーのような階層構造を定義したが、ファイルのグループの部分集合を、ベン図などによって定義してもよい。
また、上記の実施形態においては、マスタサーバ2の配布部13による制御に従い、各サーバ3に、マスタサーバ2または上位のサーバ3からファイルがプッシュされるが、そのファイルの分配の数及び/又はファイルサイズが、例えば、サーバの負荷(CPU負荷、ネットワーク負荷など)に応じて異なってもよい。
また、上記の実施形態においては、マスタサーバや、サーバ、スイッチのIDをこれらのIPアドレスによって管理したが、これに限られず、MACアドレスなど他の識別情報によって管理してもよい。
本技術においては、マスタサーバ2のCPU(Central Processing Unit)が、ファイル配布プログラムを実行することにより、サーバ割当部11、配布構成作成部12、配布部13、状態監視データベース14、及び配布ファイルデータベース18として機能するようになっている。
また、サーバ3のCPU(Central Processing Unit)が、ファイル配布プログラムを実行することにより、ファイル配布制御部21、ファイル管理部22、及び配布ファイルデータベース23として機能するようになっている。
なお、これらのサーバ割当部11、配布構成作成部12、配布部13、状態監視データベース14、配布ファイルデータベース18、ファイル配布制御部21、ファイル管理部22、及び配布ファイルデータベース23としての機能を実現するためのプログラム(ファイル配布プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
サーバ割当部11、配布構成作成部12、配布部13、状態監視データベース14、配布ファイルデータベース18、ファイル配布制御部21、ファイル管理部22、及び配布ファイルデータベース23としての機能を実現する際には、内部記憶装置(サーバのRAMやROM)に格納されたファイル配布プログラムがコンピュータのマイクロプロセッサ(本実施形態ではサーバのCPU)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、マスタサーバ2及びサーバ3がコンピュータとしての機能を有しているのである。
1 ファイル配布システム
11 サーバ割当部(割当部)
12 配布構成作成部(作成部)
13 配布部(配布部)
14 状態監視データベース(システム状態データベース)
15 CPU負荷データベース
16 ネットワーク負荷データベース
17 ネットワーク物理構成データベース
18,23 配布ファイルデータベース(配布ファイル管理情報)
100 ファイル配布方法
2 マスタサーバ
20 配布構成
21 ファイル配布制御部
22 ファイル管理部
3 サーバ(通信装置)
31 配布元サーバIDリスト(上位ノード情報)
32 全配布ファイルIDリスト(配布対象ファイル情報)
33 自サーバ取得ファイルIDリスト(保持配布ファイル情報)
34 配布先サーバIDリスト(下位ノード情報)
35 配布先サーバ取得ファイルIDリスト(下位保持配布ファイル情報)

Claims (12)

  1. 複数の配布ファイルを保持するマスタサーバから複数のサーバに前記複数の配布ファイルを配布するファイル配布方法であって、
    前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成し、
    前記マスタサーバ及び前記複数のサーバの少なくともいずれかの状態を示すシステム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当て、
    前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布し、
    各ノードに対応するサーバ間において、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを含む配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受することを特徴とする、ファイル配布方法。
  2. CPU負荷が低いサーバを前記配布構成の上位のノードに割り当てることを特徴とする請求項1に記載の方法。
  3. ネットワーク負荷が低いサーバを前記配布構成の上位のノードに割り当てることを特徴とする請求項1に記載の方法。
  4. サーバのネットワーク構成に基づいてサーバを前記配布構成の上位のノードに割り当てることを特徴とする請求項1〜3のいずれか1項に記載の方法。
  5. 複数の配布ファイルを保持するマスタサーバと、該配布ファイルが配布される複数のサーバとをそなえるファイル配布システムであって、
    前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成する、配布構成作成部と、
    前記システムの状態をシステム状態情報として管理するシステム状態データベースと、
    前記システム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当てる割当部と、
    前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを、配布ファイル管理情報として管理する、配布ファイル管理データベースと、
    前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布する配布部とをそなえ、
    各ノードに対応するサーバ間において、前記配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受することを特徴とする、ファイル配布システム。
  6. 複数のサーバに複数の配布ファイルを保持するマスタサーバであって、
    前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成する、配布構成作成部と、
    前記システムの状態をシステム状態情報として管理するシステム状態データベースと、
    前記システム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当てる割当部と、
    前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを、配布ファイル管理情報として管理する、配布ファイル管理データベースと、
    前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布する配布部とをそなえること特徴とするマスタサーバ。
  7. 前記割当部は、CPU負荷が低いサーバを前記配布構成の上位のノードに割り当てることを特徴とする請求項6に記載のマスタサーバ。
  8. 前記割当部は、ネットワーク負荷が低いサーバを前記配布構成の上位のノードに割り当てることを特徴とすることを特徴とする請求項6又は7に記載のマスタサーバ。
  9. 前記サーバ割当部は、前記複数のサーバのネットワーク構成に基づいて前記配布構成を構成することを特徴とする請求項6〜8のいずれか1項に記載のマスタサーバ。
  10. 複数の配布ファイルを保持するマスタサーバから複数のサーバに前記複数の配布ファイルを配布するファイル配布プログラムであって、
    前記ファイル配布プログラムは前記マスタサーバによって実行されると、前記マスタサーバに、
    前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成させ、
    前記マスタサーバ及び前記複数のサーバの少なくともいずれかの状態を示すシステム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当て、
    前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布させ、
    前記複数のサーバによって実行されたときに、
    各ノードに対応するサーバ間において、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを含む配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受させることを特徴とする、ファイル配布プログラム。
  11. 複数の通信装置間で複数のデータを共有するためのデータ配布方法において、
    ツリー状の配布構成において同じ階層に属する複数の通信装置は、上位の通信装置から受信した複数のデータのうち、一部のデータを除くデータを下位の通信装置に送信して、前記複数の通信装置の中で未受信のデータが異なる複数のグループを生じさせ、
    前記複数の通信装置の各々は、自通信装置が未受信の第1のデータを受信した他のグループに属する通信装置との間で、該他のグループに属する通信装置が未受信の第2のデータの該他の通信装置への送信と、該他の通信装置からの前記第1のデータの受信を並行して行なうことで1以上の不足データを補完する、
    ことを特徴とするデータ配布方法。
  12. 複数の通信装置間で複数のデータを共有するためのデータ配布システムにおいて、
    ツリー状の配布構成において同じ階層に属する複数の通信装置が、上位の通信装置から受信した複数のデータのうち、一部のデータを除くデータを下位の通信装置に送信して、前記複数の通信装置の中で未受信のデータが異なる複数のグループを生じさせ、
    前記複数の通信装置の各々において、自通信装置が未受信の第1のデータを受信した他のグループに属する通信装置との間で、該他のグループに属する通信装置が未受信の第2のデータの該他の通信装置への送信と、該他の通信装置からの前記第1のデータの受信を並行して行なうことで1以上の不足データを補完する手段
    を有することを特徴とするデータ配布システム。
JP2011125588A 2011-06-03 2011-06-03 ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム Expired - Fee Related JP5776339B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011125588A JP5776339B2 (ja) 2011-06-03 2011-06-03 ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム
US13/476,117 US20120311099A1 (en) 2011-06-03 2012-05-21 Method of distributing files, file distribution system, master server, computer readable, non-transitory medium storing program for distributing files, method of distributing data, and data distribution system
EP12170585.9A EP2530613A3 (en) 2011-06-03 2012-06-01 Method of distributing files, file distribution system, master server, computer readable, non-transitory medium storing program for distributing files, method of distributing data, and data distribution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011125588A JP5776339B2 (ja) 2011-06-03 2011-06-03 ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム

Publications (2)

Publication Number Publication Date
JP2012252593A true JP2012252593A (ja) 2012-12-20
JP5776339B2 JP5776339B2 (ja) 2015-09-09

Family

ID=46384138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011125588A Expired - Fee Related JP5776339B2 (ja) 2011-06-03 2011-06-03 ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム

Country Status (3)

Country Link
US (1) US20120311099A1 (ja)
EP (1) EP2530613A3 (ja)
JP (1) JP5776339B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014185167A1 (ja) * 2013-05-16 2014-11-20 株式会社Skeed データ配信システム、データ配信のためのデータ通信装置およびプログラム
JP2019049938A (ja) * 2017-09-12 2019-03-28 株式会社オービック 配信管理システムおよび配信管理方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930416B2 (en) * 2012-08-13 2015-01-06 Hulu, LLC Job dispatcher of transcoding jobs for media programs
US9155013B2 (en) * 2013-01-14 2015-10-06 Qualcomm Incorporated Cell range expansion elasticity control
JP6303300B2 (ja) * 2013-06-25 2018-04-04 富士通株式会社 制御依頼方法、情報処理装置、システム、およびプログラム
CN103455577A (zh) * 2013-08-23 2013-12-18 中国科学院计算机网络信息中心 云主机镜像文件的多备份就近存储和读取方法及系统
US10108692B1 (en) * 2013-10-15 2018-10-23 Amazon Technologies, Inc. Data set distribution
CN104092719B (zh) * 2013-12-17 2015-10-07 深圳市腾讯计算机系统有限公司 文件传输方法、装置及分布式集群文件系统
JP2016042284A (ja) * 2014-08-18 2016-03-31 富士通株式会社 並列計算機システム、管理装置、並列計算機システムの制御方法及び管理装置の制御プログラム
US20180336061A1 (en) * 2017-05-16 2018-11-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Storing file portions in data storage space available to service processors across a plurality of endpoint devices
CN107770170B (zh) * 2017-10-18 2020-08-18 陕西云基华海信息技术有限公司 一种数据共享平台系统
US10367957B1 (en) * 2018-10-12 2019-07-30 Xerox Corporation Highly-scalable native fleet management
US10366086B1 (en) * 2018-10-12 2019-07-30 Xerox Corporation Sorting of devices for file distribution
US10979488B2 (en) 2018-11-16 2021-04-13 International Business Machines Corporation Method for increasing file transmission speed
US10983714B2 (en) * 2019-08-06 2021-04-20 International Business Machines Corporation Distribution from multiple servers to multiple nodes
CN113094177A (zh) * 2021-04-21 2021-07-09 上海商汤科技开发有限公司 一种任务分发系统、方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051805A (ja) * 1999-08-11 2001-02-23 Fujitsu Ltd リモートファイル制御装置
JP2001067279A (ja) * 1999-08-27 2001-03-16 Pfu Ltd 情報配付システムおよび記録媒体
JP2004213508A (ja) * 2003-01-08 2004-07-29 Hitachi Software Eng Co Ltd ピアツーピア技術を用いたファイルダウンロード方法及びシステム
JP2008011147A (ja) * 2006-06-29 2008-01-17 Brother Ind Ltd 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
JP2010500804A (ja) * 2006-08-10 2010-01-07 トムソン ライセンシング 分散型ネットワークにおける情報拡散のための方法
JP2010166240A (ja) * 2009-01-14 2010-07-29 Panasonic Corp 端末装置およびパケット送信方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4953080A (en) * 1988-04-25 1990-08-28 Hewlett-Packard Company Object management facility for maintaining data in a computer system
US5721914A (en) * 1995-09-14 1998-02-24 Mci Corporation System and method for hierarchical data distribution
US6216140B1 (en) * 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
US7117273B1 (en) * 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US6947963B1 (en) * 2000-06-28 2005-09-20 Pluris, Inc Methods and apparatus for synchronizing and propagating distributed routing databases
WO2002069608A2 (en) * 2001-01-16 2002-09-06 Akamai Technologies, Inc. Using virtual domain name service (dns) zones for enterprise content delivery
US7209973B2 (en) * 2001-04-09 2007-04-24 Swsoft Holdings, Ltd. Distributed network data storage system and method
US7039669B1 (en) * 2001-09-28 2006-05-02 Oracle Corporation Techniques for adding a master in a distributed database without suspending database operations at extant master sites
US7073038B2 (en) * 2002-05-22 2006-07-04 Storage Technology Corporation Apparatus and method for implementing dynamic structure level pointers
US7225118B2 (en) * 2002-10-31 2007-05-29 Hewlett-Packard Development Company, L.P. Global data placement
US7457822B1 (en) * 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US7251670B1 (en) * 2002-12-16 2007-07-31 Cisco Technology, Inc. Methods and apparatus for replicating a catalog in a content distribution network
US7512701B2 (en) * 2003-01-16 2009-03-31 Hewlett-Packard Development Company, L.P. System and method for efficiently replicating a file among a plurality of recipients in a reliable manner
US20050050115A1 (en) * 2003-08-29 2005-03-03 Kekre Anand A. Method and system of providing cascaded replication
US7631021B2 (en) * 2005-03-25 2009-12-08 Netapp, Inc. Apparatus and method for data replication at an intermediate node
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
EP1901525A1 (en) * 2006-09-15 2008-03-19 THOMSON Licensing File repair method for a content distribution system
JP2008129694A (ja) * 2006-11-17 2008-06-05 Brother Ind Ltd 情報配信システム、情報配信方法、配信装置及びノード装置等
US8892625B2 (en) * 2007-03-20 2014-11-18 Thomson Licensing Hierarchically clustered P2P streaming system
US8386629B2 (en) * 2007-12-27 2013-02-26 At&T Intellectual Property I, L.P. Network optimized content delivery for high demand non-live contents
JP5092877B2 (ja) * 2008-04-30 2012-12-05 ブラザー工業株式会社 ツリー型放送システム、パケット送信方法、ノード装置、及びノード処理プログラム
US7793002B2 (en) * 2008-06-06 2010-09-07 Fisher-Rosemount Systems, Inc. Methods and apparatus for implementing a sequential synchronization hierarchy among networked devices
JP5462252B2 (ja) * 2008-07-02 2014-04-02 トムソン ライセンシング 2部ピアオーバレイを用いてp2pモードにおいてピア間でコンテンツデータを伝送する装置及び方法
US8516082B2 (en) * 2009-03-25 2013-08-20 Limelight Networks, Inc. Publishing-point management for content delivery network
US8560639B2 (en) * 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US20100332634A1 (en) * 2009-06-25 2010-12-30 Keys Gregory C Self-distribution of a peer-to-peer distribution agent
BRPI1014815A2 (pt) * 2010-05-20 2017-01-31 ERICSSON TELEFON AB L M (publ) módulo rastreador para uso em uma rede de comunicações não hieráquicas, sistema e método para gerenciar transferências de dados de conteúdo em uma rede de comunicações não hierárquicas, elemento de rede, método para gerenciar dados em uma rede de comunicações não hierárquicas, programa de computador, e, produto de programa de computador.
EP2643771B1 (en) * 2010-11-26 2017-11-08 Telefonaktiebolaget LM Ericsson (publ) Real time database system
US10114701B2 (en) * 2011-01-28 2018-10-30 International Business Machines Corporation Space efficient cascading point in time copying
US20120297405A1 (en) * 2011-05-17 2012-11-22 Splendorstream, Llc Efficiently distributing video content using a combination of a peer-to-peer network and a content distribution network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051805A (ja) * 1999-08-11 2001-02-23 Fujitsu Ltd リモートファイル制御装置
JP2001067279A (ja) * 1999-08-27 2001-03-16 Pfu Ltd 情報配付システムおよび記録媒体
JP2004213508A (ja) * 2003-01-08 2004-07-29 Hitachi Software Eng Co Ltd ピアツーピア技術を用いたファイルダウンロード方法及びシステム
JP2008011147A (ja) * 2006-06-29 2008-01-17 Brother Ind Ltd 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
JP2010500804A (ja) * 2006-08-10 2010-01-07 トムソン ライセンシング 分散型ネットワークにおける情報拡散のための方法
JP2010166240A (ja) * 2009-01-14 2010-07-29 Panasonic Corp 端末装置およびパケット送信方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014185167A1 (ja) * 2013-05-16 2014-11-20 株式会社Skeed データ配信システム、データ配信のためのデータ通信装置およびプログラム
JP2014225169A (ja) * 2013-05-16 2014-12-04 株式会社Skeed データ配信システム、データ配信のためのデータ通信装置およびプログラム
JP2019049938A (ja) * 2017-09-12 2019-03-28 株式会社オービック 配信管理システムおよび配信管理方法

Also Published As

Publication number Publication date
EP2530613A3 (en) 2014-07-02
EP2530613A2 (en) 2012-12-05
US20120311099A1 (en) 2012-12-06
JP5776339B2 (ja) 2015-09-09

Similar Documents

Publication Publication Date Title
JP5776339B2 (ja) ファイル配布方法、ファイル配布システム、マスタサーバ、及びファイル配布プログラム
CN102075402B (zh) 虚拟网络映射处理方法和系统
US9015342B2 (en) Two-level structured overlay design for cluster management in a peer-to-peer network
EP3811597A1 (en) Zone redundant computing services using multiple local services in distributed computing systems
US20070038679A1 (en) Dynamic configuration updating in a storage area network
US20110047272A1 (en) Dissemination of Network Management Tasks in a Distributed Communication Network
CN109905164B (zh) 集群范围内无人机的通信与数据回传方法
US20100080144A1 (en) Resilient 1:n first-hop gateway selection mechanism
CN101202746B (zh) 节点标识符生成方法及负载均衡方法及装置
CN110417883B (zh) 一种应用于区块链的点对点网络结构的设计方法
CN103532741A (zh) 一种接入级网络拓扑管理方法与系统
CN102726031A (zh) 内容处理方法、装置和系统
US20090154476A1 (en) Overlay network system which constructs and maintains an overlay network
KR20110021931A (ko) 라우팅 경로를 결정하는 방법
Houidi et al. A distributed and autonomic virtual network mapping framework
JP2010148087A (ja) 多階層資源転送網経路計算に必要な資源管理及び再帰的経路計算方法及び装置
Di Modica et al. Resource and service discovery in SOAs: A P2P oriented semantic approach
WO2005094017A1 (en) Distribution of identifiers in serverless networks
KR20100060304A (ko) 네트워크 구조를 고려한 분산형 컨텐트 전달 시스템 및 그 방법
CN114500523A (zh) 一种基于容器云平台的固定ip应用发布方法
WO2004040846A2 (en) Method and apparatus for network management
CN101902388A (zh) 可扩充的多级排序资源快速发现技术
de Souza Pereira et al. Model Ontology for Future Internet Networks
CN102316018B (zh) 一种网络节点设备中路由表的更新方法以及网络节点设备
CN108512877A (zh) 一种服务器集群中分享数据的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150520

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: 20150609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150622

R150 Certificate of patent or registration of utility model

Ref document number: 5776339

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees