JP2007272540A - Data distributing method and data distributing system - Google Patents

Data distributing method and data distributing system Download PDF

Info

Publication number
JP2007272540A
JP2007272540A JP2006097047A JP2006097047A JP2007272540A JP 2007272540 A JP2007272540 A JP 2007272540A JP 2006097047 A JP2006097047 A JP 2006097047A JP 2006097047 A JP2006097047 A JP 2006097047A JP 2007272540 A JP2007272540 A JP 2007272540A
Authority
JP
Japan
Prior art keywords
data
node device
distribution
file
divided
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.)
Withdrawn
Application number
JP2006097047A
Other languages
Japanese (ja)
Inventor
Noburo Okura
信郎 大倉
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.)
PFU Ltd
Original Assignee
PFU 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 PFU Ltd filed Critical PFU Ltd
Priority to JP2006097047A priority Critical patent/JP2007272540A/en
Publication of JP2007272540A publication Critical patent/JP2007272540A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To mutually transfer data configuring a large amount of data between a plurality of nodes, and to effectively distribute a large amount of data by dynamically changing a transfer route. <P>SOLUTION: A data distributing method distributes data divided into a plurality of pieces of data. In the data distributing method, a route node device 1 transmits distribution information to terminal node devices 3. The terminal node device 3 requests the distribution to the route node device 1 after deciding the divided data to be first distributed to the route node device 1 based on the distribution information. The terminal node device 3 decides the other terminal node devices 3 to distribute the other divided data based on the distribution information, and the distribution is requested to the other terminal node devices 3. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、データ配信方法及びデータ配信システムに関し、特に、複数のノードが接続されるネットワークシステムにおいて複数のノードの協調的な動作により大容量のデータを効率良く配信するデータ配信方法及びデータ配信システムに関する。   The present invention relates to a data distribution method and a data distribution system, and in particular, a data distribution method and a data distribution system for efficiently distributing a large amount of data by cooperative operation of a plurality of nodes in a network system in which a plurality of nodes are connected. About.

コンピュータで使用される基本ソフトウェア(オペレーティングシステム:OS) 及びそのアプリケーションソフトウェアは、機能の向上、不具合の修正又はセキュリティ対策等の観点から、定期的に更新され、ユーザに配信される。即ち、これらのソフトウェアは、コンピュータに簡単にインストールし設定できるように、パッケージ化され、ネットワーク上の配信サーバに公開され、ユーザによりダウンロードされる。このようなパッケージ化されたソフトウェアとしては、例えばCD−ROMやDVD用のイメージファイルがある。このため、そのファイル容量は極めて大きい。   Basic software (operating system: OS) and its application software used in a computer are regularly updated and distributed to users from the viewpoint of improving functions, correcting defects, security measures, and the like. That is, such software is packaged so that it can be easily installed and set in a computer, released to a distribution server on a network, and downloaded by a user. Examples of such packaged software include image files for CD-ROM and DVD. For this reason, the file capacity is extremely large.

また、様々な業務において、動画映像を使ったマニュアル、説明書、コマーシャル映像(いわゆるコンテンツ)等が使用されることが多くなっている。これらの動画映像も、定期的に新しいものが作成され配信される。このような動画映像としては、例えば操作手順を表現するマニュアル動画映像、細かな部分までを表現している動画、高精細画像を使用した説明書、訴求力を必要とするコマーシャル等がある。このファイル容量は極めて大きい。   In various business operations, manuals, instructions, commercial videos (so-called content) using moving image are often used. New videos are also created and distributed regularly. Examples of such a moving image include a manual moving image that expresses an operation procedure, a moving image that expresses a detailed portion, a manual that uses high-definition images, and a commercial that requires appealing power. This file size is extremely large.

このように配信サーバから大容量のファイルを定期的に多くの拠点(ノード即ちネットワークコンピュータ)に配信する需要は多く、それを効率的に行う方法が望まれている。例えば、ユーザのプロファイルを用いて、ある情報を得たユーザが、プロファイルの類似するユーザに対して、当該情報を配信することが知られている(特許文献1参照)。また、例えば、コンテンツ配信サーバからコンテンツを取得して保存しているクライアントが、コンテンツに付加されている送り先指定情報に従って、当該コンテンツを他のクライアントに配信することが知られている(特許文献2参照)。
特開2002−298007号公報 特開2003−345692号公報
As described above, there is a great demand for regularly distributing a large-capacity file from a distribution server to many bases (nodes, that is, network computers), and a method for efficiently performing this is desired. For example, it is known that a user who has obtained certain information using a user's profile distributes the information to users with similar profiles (see Patent Document 1). Also, for example, it is known that a client that acquires and stores content from a content distribution server distributes the content to other clients in accordance with destination designation information added to the content (Patent Document 2). reference).
JP 2002-298007 A JP 2003-345692 A

前述のように、配信サーバから大容量ファイルを多数のノードに配信する場合、以下のような問題がある。   As described above, when a large file is distributed from a distribution server to a large number of nodes, there are the following problems.

即ち、配信サーバは、同時に接続可能なノードの数に上限を設ける。従って、ダウンロード要求が前記上限を超えた後にダウンロード要求を行ったノードは、その時点でダウンロードしているノードのいずれかが当該ダウンロードを終了するまで、自己のダウンロードの実行を待たされる。従って、ユーザの数の増加に比例して、ダウンロード設備とネットワーク帯域の増強が必要となる。   That is, the distribution server sets an upper limit on the number of nodes that can be connected simultaneously. Therefore, a node that has made a download request after the download request has exceeded the upper limit waits for execution of its own download until any of the nodes that are currently downloading ends the download. Therefore, it is necessary to increase download facilities and network bandwidth in proportion to the increase in the number of users.

また、全てのネットワークの実行速度が上り(送信方向)及び下り(受信方向)の双方向共に例えば10Mbpsである場合、配信サーバの前記上限(同時接続数)が「3」であるとすると、1個のノードあたりの下りの帯域は、3.3(=10/3)Mbpsとなる。これは、10Mbpsの帯域で接続されているノードからみると、その一部しか用いていないことになるので、効率的ではない。これに加えて、ノードの上りの帯域が、大容量ファイルの配信のためには活用されていない。   Further, if the execution speeds of all networks are both 10 Mbps for both upstream (transmission direction) and downstream (reception direction), and the upper limit (number of simultaneous connections) of the distribution server is “3”, then 1 The downlink bandwidth per node is 3.3 (= 10/3) Mbps. This is not efficient when viewed from a node connected in a 10 Mbps band because only a part of the node is used. In addition, the upstream bandwidth of the node is not utilized for distributing large files.

一方、前述のように、ユーザ間で情報を転送する場合やクライアント間でコンテンツを配信する場合、以下のような問題がある。即ち、ユーザ間で情報を転送する場合、ユーザのプロファイルを用いなければならず、また、クライアント間でコンテンツを配信する場合、コンテンツに付加されている送り先指定情報を用いなければならない。これらのプロファイルや送り先指定情報は固定的なものであり、動的に変更することはできない。このため、実際にどのノードにどの情報又はコンテンツが配信されているかに応じて、又は、ネットワークの状況に応じて、情報又はコンテンツの配信のルートを変更することができない。   On the other hand, as described above, when transferring information between users or distributing contents between clients, there are the following problems. That is, when transferring information between users, a user profile must be used, and when distributing content between clients, destination designation information added to the content must be used. These profiles and destination designation information are fixed and cannot be changed dynamically. For this reason, the route of information or content distribution cannot be changed depending on which node is actually distributed with which information or content, or depending on the situation of the network.

本発明は、複数のノードの間で大容量のデータを構成するデータを相互に転送すると共に、当該転送ルートを動的に変更することにより、大容量のデータを効率的に配信するデータ配信方法を提供することを目的とする。   The present invention relates to a data distribution method for efficiently distributing large-capacity data by transferring the data constituting the large-capacity data among a plurality of nodes and dynamically changing the transfer route. The purpose is to provide.

また、本発明は、複数のノードの間で大容量のデータを構成するデータを相互に転送すると共に、当該転送ルートを動的に変更することにより、大容量のデータを効率的に配信するデータ配信システムを提供することを目的とする。   In addition, the present invention transfers data constituting a large amount of data between a plurality of nodes, and dynamically changes the transfer route, thereby efficiently distributing large amounts of data. An object is to provide a distribution system.

本発明のデータ配信方法は、データを配信する元となるルートノード装置と、前記データを配信される複数の末端ノード装置と、これらの間を接続するネットワークとからなり、前記データを複数の分割データに分割して配信するデータ配信装置におけるデータ配信方法である。本発明のデータ配信方法において、前記ルートノード装置が、少なくとも、その末端ノード装置に割り当てられたノードIDと、前記複数の末端ノード装置の総数と、前記データを分割した分割データの総数とを含む配信情報を、前記複数の末端ノード装置の各々に送信する。前記複数の末端ノード装置が、各々、前記配信情報に基づいてその末端ノード装置が最初に前記ルートノード装置に配信を要求する分割データを決定して、その分割データの配信を前記ルートノード装置に要求する。前記ルートノード装置が、前記分割データの配信の要求に応じて、その分割データを前記複数の末端ノード装置の各々に配信する。前記複数の末端ノード装置が、各々、前記配信情報に基づいて、前記ルートノード装置から配信された分割データ以外の分割データについて他の末端ノード装置のいずれに配信を要求するかを決定して、その分割データの配信を前記決定した他の末端ノード装置に要求する。   The data distribution method of the present invention comprises a root node device that is a source of data distribution, a plurality of terminal node devices to which the data is distributed, and a network that connects them, and divides the data into a plurality of divisions This is a data distribution method in a data distribution apparatus that divides and distributes data. In the data distribution method of the present invention, the root node device includes at least a node ID assigned to the terminal node device, a total number of the plurality of terminal node devices, and a total number of divided data obtained by dividing the data. Distribution information is transmitted to each of the plurality of end node devices. Each of the plurality of terminal node devices determines division data that the terminal node device first requests distribution to the root node device based on the distribution information, and distributes the divided data to the root node device. Request. The root node device distributes the divided data to each of the plurality of terminal node devices in response to the distribution data distribution request. Each of the plurality of terminal node devices determines, based on the distribution information, which of the other terminal node devices requests distribution of divided data other than the divided data distributed from the root node device; The distribution of the divided data is requested to the determined other end node device.

また、好ましくは、本発明のデータ配信方法の一実施態様において、前記ルートノード装置が、前記データの配信を行う場合に、これに先立って、前記配信情報を前記複数の末端ノード装置の各々に送信する。   Preferably, in an embodiment of the data distribution method of the present invention, when the root node device distributes the data, prior to this, the distribution information is sent to each of the plurality of end node devices. Send.

また、好ましくは、本発明のデータ配信方法の一実施態様において、前記複数の末端ノード装置が、各々、前記他の末端ノード装置毎に分割データが配信される配信速度を計測し、前記配信速度に基づいて、前記決定した他の末端ノード装置を前記配信速度の速い末端ノード装置に変更し、前記変更した末端ノード装置にその分割データの配信を要求する。   Preferably, in one embodiment of the data distribution method of the present invention, each of the plurality of terminal node devices measures a distribution speed at which divided data is distributed to each of the other terminal node devices, and the distribution speed Based on the above, the determined other end node device is changed to the end node device having a high distribution speed, and the changed end node device is requested to distribute the divided data.

また、好ましくは、本発明のデータ配信方法の一実施態様において、前記ルートノード装置が、その末端ノード装置が前記データの配信の要求を開始する時間である配信時間を、前記配信情報と共に前記複数の末端ノード装置の各々に送信し、前記複数の末端ノード装置が、各々、前記配信時間の経過の後に、前記ルートノード装置に対する前記データの配信の要求を開始する。   Preferably, in one embodiment of the data distribution method of the present invention, the root node device sets a distribution time, which is a time when the terminal node device starts a request for distribution of the data, together with the distribution information. And each of the plurality of terminal node devices starts a request for distribution of the data to the root node device after the distribution time elapses.

また、好ましくは、本発明のデータ配信方法の一実施態様において、前記ルートノード装置が、前記データを分割した分割データの各々についてそのハッシュ値を算出し、前記算出したハッシュ値を、前記配信情報の一部として前記複数の末端ノード装置の各々に送信し、前記複数の末端ノード装置が、各々、前記ルートノード装置から受信した分割データについてそのハッシュ値を算出し、当該ハッシュ値と前記配信情報に含まれる前記受信した分割データについてのハッシュ値とを比較し、両者が一致した場合、前記受信した分割データを正しいデータとして管理する。   Preferably, in one embodiment of the data distribution method of the present invention, the root node device calculates a hash value for each of the divided data obtained by dividing the data, and the calculated hash value is used as the distribution information. Is transmitted to each of the plurality of terminal node devices, and each of the plurality of terminal node devices calculates a hash value for the divided data received from the root node device, and the hash value and the distribution information Are compared with the hash values of the received divided data included in the received data, and if they match, the received divided data is managed as correct data.

本発明のデータ配信システムは、データを配信する元となるルートノード装置と、前記データを配信される複数の末端ノード装置と、これらの間を接続するネットワークとからなり、前記データを複数の分割データに分割して配信する。データ配信システムにおいて、前記ルートノード装置が、少なくとも、その末端ノード装置に割り当てられたノードIDと、前記複数の末端ノード装置の総数と、前記データを分割した分割データの総数とを含む配信情報を、前記複数の末端ノード装置の各々に送信する手段と、前記複数の末端ノード装置の各々からの分割データの配信の要求に応じて、その分割データを前記複数の末端ノード装置の各々に配信する手段とを備える。また、前記複数の末端ノード装置が、各々、前記配信情報に基づいてその末端ノード装置が最初に前記ルートノード装置に配信を要求する分割データを決定して、その分割データの配信を前記ルートノード装置に要求する手段を備える。   The data distribution system of the present invention comprises a root node device that is a source of data distribution, a plurality of end node devices to which the data is distributed, and a network that connects them, and divides the data into a plurality of divisions Distribute into data. In the data distribution system, the root node device includes distribution information including at least a node ID assigned to the terminal node device, a total number of the plurality of terminal node devices, and a total number of divided data obtained by dividing the data. , A means for transmitting to each of the plurality of terminal node devices, and distributing the divided data to each of the plurality of terminal node devices in response to a request for distribution of the divided data from each of the plurality of terminal node devices. Means. Further, each of the plurality of terminal node devices determines divided data that the terminal node device first requests the root node device to distribute based on the distribution information, and distributes the divided data to the root node Means for requesting the apparatus are provided.

本発明のデータ配信方法及びデータ配信システムによれば、末端ノード装置が、配信情報に基づいて、最初にルートノード装置に配信を要求する分割データの配信をルートノード装置に要求し、更に、配信情報に基づいて、ルートノード装置から配信された分割データ以外の分割データについて、その配信を他の末端ノード装置に要求する。   According to the data distribution method and data distribution system of the present invention, the terminal node device requests the root node device to distribute the divided data that first requests the root node device based on the distribution information, and further distributes the data. Based on the information, with respect to the divided data other than the divided data distributed from the root node device, the distribution is requested to other end node devices.

これにより、ダウンロード要求がルートノード装置に集中せず複数の末端ノード装置に分散され、また、複数の末端ノード装置の各々に割り当てられる上り及び下りの帯域のほぼ全体を使用することができるので、大容量ファイルの配信のために有効に活用することができる。従って、末端ノード装置に対して他の末端ノード装置から分割データを効率的に配信することができる。一方、ユーザのプロファイルやコンテンツに付加されている送り先指定情報を用いる必要が無い。従って、どの末端ノード装置にどの分割データが配信されているかに応じて、配信のルートを変更することができ、また、配信情報の要素である複数の末端ノード装置の総数と分割データの総数の変化に応じて、分割データの配信のルートを変更することができる。従って、データ配信システムの規模と配信すべきデータの大きさ(容量)の双方に応じて、システム管理者の介入無しで、最適な配信のルートを選択することができる。以上に加えて、ルートノード装置は、同時に接続可能なノードの数に上限を設ける必要が無い。従って、他の末端ノード装置より遅くダウンロード要求を行った末端ノード装置であっても、他の末端ノード装置のダウンロードを終了するまで、自己のダウンロードの実行を待つ必要が無い。   As a result, the download requests are not concentrated on the root node device but distributed to the plurality of terminal node devices, and it is possible to use almost the entire upstream and downstream bands assigned to each of the plurality of terminal node devices. It can be used effectively for distributing large files. Therefore, the divided data can be efficiently distributed from the other end node devices to the end node device. On the other hand, there is no need to use destination designation information added to a user profile or content. Therefore, the distribution route can be changed according to which divided data is distributed to which end node device, and the total number of the plurality of end node devices and the total number of divided data which are elements of the distribution information can be changed. The distribution route of the divided data can be changed according to the change. Therefore, an optimal distribution route can be selected without intervention of the system administrator in accordance with both the scale of the data distribution system and the size (capacity) of data to be distributed. In addition to the above, the root node device does not need to set an upper limit on the number of nodes that can be connected simultaneously. Therefore, even a terminal node device that has made a download request later than the other terminal node devices does not need to wait for its own download execution until the downloading of the other terminal node devices is completed.

また、本発明の一実施態様によれば、データの配信を行う場合に配信情報が末端ノード装置に送信される。これにより、末端ノード装置はルートノード装置が配信を希望する場合にその配信情報を得て、これに基づいてデータの配信のルートを動的に変更することができ、結果として、最適な配信のルートを選択することができる。   According to an embodiment of the present invention, distribution information is transmitted to the end node device when data is distributed. As a result, the end node device can obtain the distribution information when the route node device desires distribution, and can dynamically change the data distribution route based on the distribution information. A route can be selected.

また、本発明の一実施態様によれば、分割データが配信される配信速度に基づいて、配信速度の速い末端ノード装置に分割データの配信を要求する。これにより、末端ノード装置は、ネットワークの状況に応じてデータの配信のルートを動的に変更することができ、結果として、最適な配信のルートを選択することができる。   Further, according to one embodiment of the present invention, based on the distribution speed at which the divided data is distributed, the terminal node device having a high distribution speed is requested to distribute the divided data. As a result, the terminal node device can dynamically change the data distribution route according to the network status, and as a result, can select the optimum distribution route.

また、本発明の一実施態様によれば、配信時間が配信情報と共に送信され、末端ノード装置が配信時間の経過の後にルートノード装置にデータの配信の要求を開始する。これにより、ダウンロード要求をルートノード装置と末端ノード装置とに分散した上で、更に、ルートノード装置に対するダウンロード要求を時間的に分散することができる。   Also, according to one embodiment of the present invention, the distribution time is transmitted together with the distribution information, and the end node device initiates a data distribution request to the root node device after the distribution time has elapsed. Thereby, after the download request is distributed to the root node device and the terminal node device, the download request to the root node device can be further distributed in time.

また、本発明の一実施態様によれば、末端ノード装置が、受信した分割データのハッシュ値と予め受信したハッシュ値とを比較することにより、受信した分割データの正誤を判定する。これにより、大容量データを分割データに分割して配信することを利用して、データの配信におけるセキュリティを向上することができる。   Further, according to one embodiment of the present invention, the end node device determines whether the received divided data is correct by comparing the hash value of the received divided data with the hash value received in advance. Accordingly, it is possible to improve security in data distribution by utilizing the distribution of large-capacity data divided into divided data.

図1は本発明のデータ配信システムの構成図であり、図2は本発明のルートノード装置の説明図である。   FIG. 1 is a configuration diagram of a data distribution system of the present invention, and FIG. 2 is an explanatory diagram of a root node device of the present invention.

本発明のデータ配信システムは、ルートノード装置1と、複数の末端ノード装置3と、これらの間を接続するネットワーク2とからなる。ネットワーク2は、例えばインターネットからなる。即ち、ネットワーク2は、多くのLAN(Local Area Network)及びWAN(Wide Area Network )等を相互に接続することにより構築され、その物理的なトポロジーを明確に知ることはできないネットワークである。   The data distribution system according to the present invention includes a root node device 1, a plurality of end node devices 3, and a network 2 connecting them. The network 2 is composed of the Internet, for example. That is, the network 2 is constructed by connecting many LANs (Local Area Networks) and WANs (Wide Area Networks) to each other, and the physical topology cannot be clearly understood.

ルートノード装置1は、データである大容量ファイル16を配信する、即ち送信する(即ち、配信元となる)コンピュータ又は配信サーバであり、末端ノード管理手段11、ファイル配信手段12、データ管理手段13からなる。末端ノード装置3は、各々、大容量ファイル16を配信される、即ち受信する(即ち、配信先となる)コンピュータであり、状況報告手段31、ファイル配信要求手段32、ファイル配信手段33で構成される。複数の末端ノード装置3を相互に区別する場合には、A、B等の符号を付加して区別する。末端ノード装置3の状況報告手段31等についても同様である。   The root node device 1 is a computer or a distribution server that distributes, that is, transmits (that is, a distribution source) a large-capacity file 16 that is data, and includes a terminal node management unit 11, a file distribution unit 12, and a data management unit 13. Consists of. Each of the terminal node devices 3 is a computer that distributes, that is, receives (that is, becomes a distribution destination) the large-capacity file 16, and includes a status report unit 31, a file distribution request unit 32, and a file distribution unit 33. The In order to distinguish a plurality of terminal node devices 3 from each other, a code such as A or B is added to distinguish them. The same applies to the status reporting means 31 and the like of the terminal node device 3.

本発明のデータ配信システムは、データを複数の配信単位データ(分割データ)に分割して配信する。具体的には、1個の大容量ファイル16を小さな容量の複数のファイル(以下、分割ファイルと言う)161に分割した上で、配信を行う。従って、大容量ファイル16は、配信されるべき1個のデータ(ソフトウェア)であり、分割ファイル161は、配信(ダウンロード又は転送)の単位である。分割ファイル161の大きさは予め定められる。大容量ファイル16の配信の途中においては、複数の分割ファイル161がネットワーク2(の複数の末端ノード装置3)上に、分散されて存在する。大容量ファイル16は、例えばOS等のプログラム、映像等のコンテンツ等からなるが、複数の転送の単位に分割することができるものであれば良く、特に制限されない。   The data distribution system of the present invention distributes data by dividing it into a plurality of distribution unit data (divided data). Specifically, distribution is performed after a single large-capacity file 16 is divided into a plurality of small-capacity files (hereinafter referred to as divided files) 161. Accordingly, the large capacity file 16 is one piece of data (software) to be distributed, and the divided file 161 is a unit of distribution (download or transfer). The size of the divided file 161 is determined in advance. In the middle of distribution of the large capacity file 16, a plurality of divided files 161 are distributed on the network 2 (a plurality of terminal node devices 3 thereof). The large-capacity file 16 includes, for example, a program such as an OS, content such as video, and the like, but may be any file that can be divided into a plurality of transfer units, and is not particularly limited.

本発明のデータ配信システムにおいて、ルートノード装置1が、末端ノード装置3に対して、大容量ファイル16を構成する分割ファイル161を配信する。これと共に、分割ファイル161を既に受信した末端ノード装置3が、他の末端ノード装置3に対して、当該受信した分割ファイル161を配信する。これにより、多くの末端ノード装置3が、相互に協調しながら、最終的には、全ての末端ノード装置3に全ての分割ファイル161即ち大容量ファイル16を配信する。   In the data distribution system of the present invention, the root node device 1 distributes the divided file 161 constituting the large capacity file 16 to the terminal node device 3. At the same time, the terminal node device 3 that has already received the divided file 161 distributes the received divided file 161 to the other terminal node device 3. Thus, many end node devices 3 finally distribute all the divided files 161, that is, the large capacity files 16, to all the end node devices 3 while cooperating with each other.

大容量ファイル16の配信を希望する場合、末端ノード装置3において、状況報告手段31又はファイル配信要求手段32は、予めルートノード装置1の末端ノード管理手段11にアクセスして、受信したい旨と自己のアクセス情報とを通知する。この例では、アクセス情報は、例えばそのIPアドレス及びポート番号からなる。末端ノード装置3は、各々、ルートノード装置1へのアクセス情報を予め備える。   When desiring to distribute the large-capacity file 16, in the terminal node device 3, the status report means 31 or the file distribution request means 32 accesses the terminal node management means 11 of the root node device 1 in advance and receives information indicating that it wants to receive it. Access information. In this example, the access information includes, for example, its IP address and port number. Each terminal node device 3 includes access information to the root node device 1 in advance.

ルートノード装置1において、末端ノード管理手段11は、図2に示すように、大容量ファイル16の配信に先立って、複数の末端ノード装置3からそのアクセス情報を受信して、これに基づいて、ノードIDテーブル14を作成して、末端ノード装置3を管理する。ノードIDテーブル14にそのアクセス情報が登録された末端ノード装置3に対して(のみ)、大容量ファイル16の配信が行われる。図3(A)は、本発明のノードIDテーブル14の一例を示す。ノードIDテーブル14は、ノードID毎に、IPアドレス及びポート番号(即ち、当該アクセス情報)を格納する。ノードIDは、当該データ配信システムにおいてユニークなものとされ、末端ノード管理手段11により末端ノード装置3毎に付与される。即ち、末端ノード管理手段11が、アクセス情報を受信した順に、当該末端ノード装置3に対してノードIDを発行する。   In the root node device 1, the end node managing means 11 receives the access information from the plurality of end node devices 3 prior to the delivery of the large capacity file 16, as shown in FIG. A node ID table 14 is created to manage the end node device 3. The large-capacity file 16 is distributed to (only) the terminal node device 3 whose access information is registered in the node ID table 14. FIG. 3A shows an example of the node ID table 14 of the present invention. The node ID table 14 stores an IP address and a port number (that is, the access information) for each node ID. The node ID is unique in the data distribution system, and is assigned to each terminal node device 3 by the terminal node management unit 11. That is, the terminal node management unit 11 issues node IDs to the terminal node device 3 in the order in which the access information is received.

末端ノード管理手段11は、作成したノードIDテーブル14を、図3(B)に示すように、所定の時間間隔で定期的に又は逐次、IPアドレス(の数字の大きさ)の昇順にソートする。IPアドレスが同じ場合、ポート番号(の数字の大きさ)の昇順にソートされる。このソート処理において、ノードIDは、再度当該昇順に付与し直される。これにより、ノードIDテーブル14は、その利用時(配信時)においては、IPアドレス及びポート番号によりソートされている。   The terminal node management means 11 sorts the created node ID table 14 in ascending order of IP addresses (numbers thereof) periodically or sequentially at predetermined time intervals as shown in FIG. 3B. . If the IP addresses are the same, they are sorted in ascending order of port numbers (numbers of numbers). In this sorting process, node IDs are assigned again in ascending order. Thus, the node ID table 14 is sorted by IP address and port number when used (distributed).

この例では、末端ノード管理手段11は、全ての末端ノード装置3からアクセス情報を受信してノードIDテーブル14の最終的なソートが終了した場合、末端ノード装置3(状況報告手段31又はファイル配信要求手段32)の各々に対して、最終的に割り当てたノードIDを通知する。即ち、末端ノード管理手段11は、ノードIDテーブル14を参照して、末端ノード装置3のIPアドレスを求め、更に、これに対応するノードIDを求め、当該IPアドレスに対して当該ノードIDを通知する。   In this example, the terminal node management unit 11 receives the access information from all the terminal node devices 3 and when the final sorting of the node ID table 14 is completed, the terminal node device 3 (the status report unit 31 or the file distribution) Each of the requesting means 32) is notified of the finally assigned node ID. That is, the end node management unit 11 refers to the node ID table 14 to obtain the IP address of the end node device 3, further obtains the corresponding node ID, and notifies the IP address of the node ID. To do.

例えば、図4(B)に示すように、最終的なノードIDテーブル14が得られたとする。この場合、末端ノード装置3が全部で1000ノード有る。末端ノード装置3のIPアドレスが「10.8.2.5」である場合、ノードIDは「00125 」である。即ち、IPアドレス「10.8.2.5」を持つ末端ノード装置3は、大容量ファイル16の配信についてノードID「00125 」を有する。このノードIDは、当該大容量ファイル16の配信についてのみ有効である。   For example, assume that a final node ID table 14 is obtained as shown in FIG. In this case, the terminal node device 3 has 1000 nodes in total. When the IP address of the terminal node device 3 is “10.8.2.5”, the node ID is “00125”. That is, the terminal node device 3 having the IP address “10.8.2.5” has the node ID “00125” for distribution of the large capacity file 16. This node ID is valid only for distribution of the large-capacity file 16.

ルートノード装置1において、ユーザの指示入力に従って、配信を行う大容量ファイル16が予めデータ管理手段13に登録される。データ管理手段13は、図2に示すように、登録された大容量ファイル16を、その配信に先立って予め複数の分割ファイル(サンプルとも言う)161に分割する。分割ファイル161のサイズは、例えば予め定められたデータ容量とされる。データ管理手段13は、分割した各々の分割ファイル161に対して、ファイル名を付加する。ファイル名は、少なくとも分割ファイル番号を含み、当該データ配信システムにおいてユニークなものとされる。分割ファイル番号は、元の大容量ファイル16における先頭の分割ファイル161の番号を「1」として、以下分割ファイル161の並び順に連続した番号とされる。なお、大容量ファイル16の分割は配信前のいずれの時点において行っても良い。   In the root node device 1, a large capacity file 16 to be distributed is registered in advance in the data management means 13 in accordance with a user instruction input. As shown in FIG. 2, the data management unit 13 divides the registered large-capacity file 16 into a plurality of divided files (also referred to as samples) 161 in advance of the distribution. The size of the divided file 161 is, for example, a predetermined data capacity. The data management means 13 adds a file name to each divided file 161 divided. The file name includes at least a divided file number and is unique in the data distribution system. The divided file numbers are numbers that are consecutive in the order of the divided files 161 below, with the number of the first divided file 161 in the original large-capacity file 16 being “1”. Note that the division of the large-capacity file 16 may be performed at any time before distribution.

データ管理手段13は、図2に示すように、大容量ファイル16(即ち、全ての分割ファイル161)についてのファイル名テーブル17を生成する。このために、データ管理手段13は、分割ファイル161の各々について、そのハッシュ(Hash)値を求める。図4(A)は、本発明のファイル名テーブル17の一例を示す。ファイル名テーブル17は、ファイル名毎に、そのハッシュ値を格納する。大容量ファイル16とこれに対応するファイル名テーブル17とにより、登録データ15が構成される。   As shown in FIG. 2, the data management unit 13 generates a file name table 17 for the large capacity file 16 (that is, all the divided files 161). For this purpose, the data management means 13 obtains a hash value for each of the divided files 161. FIG. 4A shows an example of the file name table 17 of the present invention. The file name table 17 stores the hash value for each file name. The large-capacity file 16 and the corresponding file name table 17 constitute registration data 15.

図4(A)において、例えば、大容量ファイル16が、ファイル名「sample.dat」を持ち、1ギガバイトの容量を持つとする。データ管理手段13は、これを1000個(n=1000)の1メガバイト毎の分割ファイル161に分割し、各々の分割ファイル161についてのハッシュ値を求め、ファイル名テーブル17を生成する。分割ファイル161のファイル名は、例えば「サンプル#1」等とされる。末端ノード装置3は、各々、大容量ファイル16のファイル名「sample.dat」とファイル数nの値とを予め備える。   In FIG. 4A, for example, it is assumed that a large-capacity file 16 has a file name “sample.dat” and a capacity of 1 gigabyte. The data management means 13 divides this into 1000 (n = 1000) divided files 161 for each megabyte, obtains a hash value for each divided file 161, and generates a file name table 17. The file name of the divided file 161 is, for example, “sample # 1”. Each of the terminal node devices 3 includes a file name “sample.dat” of the large capacity file 16 and a value of the number of files n in advance.

データ管理手段13(又はファイル配信手段12、以下同じ)は、ノードIDテーブル14とファイル名テーブル17とに基づいて、末端ノード装置3毎に対応するリスト18を生成する。この生成処理は、例えば全ての末端ノード装置3についてのノードIDテーブル14の作成を終了した時点で実行される。リスト18は、少なくとも、その末端ノード装置3に割り当てられたノードIDと、複数の末端ノード装置3の総数と、大容量ファイル16を分割した分割ファイル161の総数とを含む。ルートノード装置1はリスト18を複数の末端ノード装置3の各々に送信する。   The data management unit 13 (or the file distribution unit 12, the same applies hereinafter) generates a list 18 corresponding to each terminal node device 3 based on the node ID table 14 and the file name table 17. This generation process is executed, for example, when the creation of the node ID tables 14 for all the terminal node devices 3 is finished. The list 18 includes at least the node ID assigned to the terminal node device 3, the total number of the plurality of terminal node devices 3, and the total number of divided files 161 obtained by dividing the large capacity file 16. The root node device 1 transmits the list 18 to each of the plurality of end node devices 3.

図5は、本発明のリスト18の一例を示す。リスト18は、ノード情報を格納するノード情報部分181、ファイル名テーブル17に対応するファイル名テーブル部分182、ノードIDテーブル14に対応するノードIDテーブル部分183からなる。データ管理手段13は、ノードIDテーブル14を参照して最大のノードID番号「01000 」を抽出し、これと当該末端ノード装置3のノードID「00125 」とに基づいて、ノード情報部分181を生成する。また、データ管理手段13は、ファイル名テーブル17を取得して、これに基づいて、ファイル名テーブル部分182を生成する。また、データ管理手段13は、ノードIDテーブル14を参照して、隣接する複数の末端ノード装置3のアクセス情報(ノードID、IPアドレス、ポート番号)を取得し、ノードIDテーブル部分183を生成する。即ち、その「ノードID」の「次ノードID」「次々ノードID」等の「IPアドレス」等を用いて、ノードIDテーブル部分183を生成する。ノードIDテーブル部分183は、ノードIDテーブル14からなるようにしても良い。   FIG. 5 shows an example of the list 18 of the present invention. The list 18 includes a node information part 181 for storing node information, a file name table part 182 corresponding to the file name table 17, and a node ID table part 183 corresponding to the node ID table 14. The data management means 13 refers to the node ID table 14 and extracts the maximum node ID number “01000” and generates a node information portion 181 based on this and the node ID “00125” of the terminal node device 3. To do. Further, the data management means 13 acquires the file name table 17 and generates a file name table portion 182 based on the file name table 17. Further, the data management means 13 refers to the node ID table 14 to obtain access information (node ID, IP address, port number) of a plurality of adjacent end node devices 3 and generates a node ID table portion 183. . That is, the node ID table portion 183 is generated using “IP address” such as “next node ID” and “next node ID” of the “node ID”. The node ID table portion 183 may be composed of the node ID table 14.

データ管理手段13は、生成したリスト18を末端ノード装置3に対して、ファイル要求への応答として返送する。この時、この例においては、データ管理手段13は、リスト18と共に、配信時間を通知する。配信時間は、末端ノード装置3が分割ファイル161の取得動作を、リスト18を取得(受信)してからどれだけ時間が経過してから開始するかを定める時間である。配信時間は、例えばリスト18を受信してからの相対時間として定められるが、絶対時間として定めるようにしても良い。   The data management means 13 returns the generated list 18 to the end node device 3 as a response to the file request. At this time, in this example, the data management means 13 notifies the distribution time together with the list 18. The distribution time is a time that determines how long the terminal node device 3 starts to acquire the divided file 161 after the list 18 is acquired (received). For example, the distribution time is determined as a relative time after receiving the list 18, but may be determined as an absolute time.

末端ノード装置3において、ファイル配信要求手段32は、ルートノード装置1からのリスト18を受信して、これに基づいて、自己がルートノード装置1から最初に取得すべき分割ファイル161がいずれであるかを判断する。即ち、ルートノード装置1から最初に取得すべき分割ファイル161のファイル番号を算出する。取得すべき分割ファイル161の数(取得数)は1又は複数である。この算出処理のために、ファイル配信要求手段32は、リスト18におけるその末端ノード装置3に割り当てられた(自己の)ノードID(以下、自ノードID)と、分割ファイル161の総数(以下、ファイル数)と、末端ノード装置3の総数(以下、ノード数)とを用いる。この算出結果に基づいて、複数の末端ノード装置3が、各々、当該分割ファイル161の配信を、ルートノード装置1に要求する。   In the terminal node device 3, the file distribution request unit 32 receives the list 18 from the root node device 1, and based on this, which is the divided file 161 that it should obtain first from the root node device 1. Determine whether. That is, the file number of the divided file 161 to be acquired first from the root node device 1 is calculated. The number (number of acquisitions) of the divided files 161 to be acquired is one or more. For this calculation process, the file distribution request means 32 (node) assigned to the end node device 3 in the list 18 (hereinafter referred to as own node ID) and the total number of divided files 161 (hereinafter referred to as file). Number) and the total number of terminal node devices 3 (hereinafter referred to as the number of nodes). Based on the calculation result, each of the plurality of end node devices 3 requests the root node device 1 to distribute the divided file 161.

第1に、ファイル配信要求手段32は、ノード数とファイル数とが等しい場合、自ノードIDと等しい分割ファイル番号をファイル名に含む分割ファイル161を、最初に取得すべき分割ファイル161とする。具体的には、図12(B)に示すように、末端ノード装置3は、図5(A)に示すリスト18において、最大ノードIDのノード番号「01000 」と、ファイル名テーブル部分182からファイル名「sample.xxxxx」の「xxxxx 」の最大値「01000 」とを得て、両者を比較する。この比較の結果、両者が等しい場合、リスト18における自ノードIDと同じ分割ファイル番号を含むファイル名「sample.00125」の分割ファイル161を、配信依頼の対象とする。なお、図5(A)に示すリスト18は、ノード数とファイル数とが等しい場合のリスト18の一例を示す。   First, when the number of nodes is equal to the number of files, the file distribution request unit 32 sets the divided file 161 including the divided file number equal to the own node ID in the file name as the divided file 161 to be acquired first. Specifically, as shown in FIG. 12B, the end node device 3 uses the node number “01000” of the maximum node ID and the file name table portion 182 in the list 18 shown in FIG. The maximum value “01000” of “xxxxx” of the name “sample.xxxxx” is obtained and compared. As a result of the comparison, if both are equal, the divided file 161 having the file name “sample.00125” including the same divided file number as the own node ID in the list 18 is set as a distribution request target. Note that the list 18 illustrated in FIG. 5A illustrates an example of the list 18 when the number of nodes is equal to the number of files.

第2に、ファイル配信要求手段32は、前記比較の結果、ノード数がファイル数より大きい場合、(自ノードID)÷((ノード数)÷(ファイル数))により定まる分割ファイル番号をファイル名に含む分割ファイル161を、最初に取得すべき分割ファイル161とする。具体的には、図12(A)に示すように、末端ノード装置3は、(自ノードID)÷((ノード数)÷(分割ファイル数))の値の小数点以下を繰り上げた自然数を求め、これと同じ分割ファイル番号を含むファイル名を求める。例えば、リスト18(図5(A)とは異なる)において、最大ノードIDのノード番号が「01000 」、ファイル名「sample.xxxxx」の「xxxxx 」の最大値が「00250 」、自ノードIDの分割ファイル番号が「00125 」であるとすると、125/(1000/250)=32から、ファイル名「sample.00032」の分割ファイル161を、配信依頼の対象とする。   Secondly, the file distribution request means 32 determines that the divided file number determined by (own node ID) / ((number of nodes) / (number of files)) is the file name when the number of nodes is larger than the number of files as a result of the comparison. The divided file 161 included in is a divided file 161 to be acquired first. Specifically, as shown in FIG. 12A, the end node device 3 obtains a natural number obtained by rounding up the decimal point of the value of (own node ID) / ((number of nodes) / (number of divided files)). The file name including the same divided file number is obtained. For example, in the list 18 (different from FIG. 5A), the node number of the maximum node ID is “01000”, the maximum value of “xxxxx” of the file name “sample.xxxxx” is “00250”, and the own node ID is Assuming that the division file number is “00125”, the division file 161 with the file name “sample.00032” is the target of the distribution request from 125 / (1000/250) = 32.

第3に、ファイル配信要求手段32は、前記比較の結果、ノード数がファイル数より小さい場合、最初に、(ファイル数)÷(ノード数)により取得する(すべき)分割ファイル161の数(取得数)を求め、次に、(ファイル数)÷(取得数)によりオフセットを求め、更に、これらに基づいて定まる分割ファイル番号をファイル名に含む分割ファイル161を、最初に取得すべき分割ファイル161とする。   Third, if the number of nodes is smaller than the number of files as a result of the comparison, the file delivery requesting unit 32 first (number of files) ÷ (number of nodes) to obtain (the number of divided files 161 to be obtained) Acquisition number), and then the offset is obtained by (number of files) ÷ (number of acquisitions). Further, the division file 161 whose division file number is determined based on these is first obtained. 161.

具体的には、図12(C)に示すように、自ノードIDから(ファイル数)÷(ノード数)の計算結果値の小数点以下を繰り上げた自然数を求め、これと同じ数だけ、それらの番号が付いたファイル名を求める。例えば、前述のように、最大ノードIDのノード番号が「00250 」、ファイル名「sample.xxxxx」の「xxxxx 」の最大値が「01000 」、自ノードIDの分割ファイル番号が「00125 」であるとすると、取得数は1000/250=4となり、オフセットは1000/4=250となる。従って、自ノードIDと同じ分割ファイル番号を初期値(基準)として、取得数の回数だけ、オフセットの数のインクリメントを繰り返す。即ち、ファイル名「sample.00125」「sample.00375」「sample.00625」「sample.00875」の分割ファイル161を、配信依頼の対象とする。ファイル数を超えた場合は、最初のsample.00001に折り返して取得数の分だけの分割ファイル161を配信依頼の対象とする。   Specifically, as shown in FIG. 12C, a natural number obtained by rounding up the decimal point of the calculation result value of (number of files) / (number of nodes) is calculated from its own node ID, and the same number as those is obtained. Find a numbered file name. For example, as described above, the node number of the maximum node ID is “00250”, the maximum value of “xxxxx” of the file name “sample.xxxxx” is “01000”, and the divided file number of the own node ID is “00125”. Then, the number of acquisitions is 1000/250 = 4, and the offset is 1000/4 = 250. Accordingly, with the same division file number as that of the own node ID as an initial value (reference), the number of offsets is incremented by the number of acquisitions. That is, the division file 161 having the file names “sample.00125”, “sample.00375”, “sample.00625”, and “sample.00875” is targeted for distribution. When the number of files is exceeded, the file is returned to the first sample.00001 and the divided files 161 corresponding to the number of acquisitions are targeted for distribution.

配信依頼を受信したルートノード装置1のファイル配信手段12は、例えば、ファイル名「sample.00125」の分割ファイル161(以下、これを分割ファイルsample.00125と表す、他の分割ファイル161も同じ)を末端ノード装置3に配信する。分割ファイルsample.00125を受信した末端ノード装置3は、そのファイルのハッシュ値を求め、リスト18のファイル名テーブル部分182からファイル名「sample.00125」のハッシュ値を取得して、両者を比較する。   The file distribution means 12 of the root node device 1 that has received the distribution request, for example, the divided file 161 having the file name “sample.00125” (hereinafter, this is also referred to as the divided file sample.00125, and the other divided files 161 are also the same). Is distributed to the terminal node device 3. The terminal node device 3 that has received the divided file sample.00125 obtains the hash value of the file, obtains the hash value of the file name “sample.00125” from the file name table portion 182 of the list 18, and compares the two. .

この比較の結果、両者が同じであれば、末端ノード装置3は自分のデータ管理手段(図示せず)にそれを通知し、分割ファイルsample.00125を正しいデータとして保持し、他の末端ノード装置3に対しては既に当該分割ファイル161を所持しているとして管理する。なお、このデータ管理手段はルートノード装置1のデータ管理手段13と同様の機能を備える。即ち、末端ノード装置3は、受信した分割ファイル161の各々に基づいて、ルートノード装置1と同様のファイル名テーブル(図示せず)を作成し、これにより(正しく)受信した分割ファイル161を管理する。   As a result of this comparison, if both are the same, the end node device 3 notifies its own data management means (not shown), holds the divided file sample.00125 as correct data, and other end node devices. 3 is managed on the assumption that the divided file 161 is already possessed. This data management means has the same function as the data management means 13 of the root node device 1. That is, the end node device 3 creates a file name table (not shown) similar to that of the root node device 1 based on each of the received divided files 161, and thereby manages the (correctly) received divided files 161. To do.

ルートノード装置1及び末端ノード装置3は、共に、ルートノード装置1から末端ノード装置3への応答の通信ルート自体又は通信データを暗号化し、その通信の機密性を保持する。具体的には、この例においては、ハッシュ値の比較によりデータの正確性を保つために、ルートノード装置1からのリスト18の送信を、例えばSSL等により暗号化する。これにより、この通信の機密性を保持することができる。   Both the root node device 1 and the end node device 3 encrypt the communication route itself or the communication data in response from the root node device 1 to the end node device 3, and maintain the confidentiality of the communication. Specifically, in this example, in order to maintain data accuracy by comparing hash values, transmission of the list 18 from the root node device 1 is encrypted using, for example, SSL. Thereby, the confidentiality of this communication can be maintained.

このように片側の機密性を保てる場合、分割ファイル161の送受信において、ルートノード装置1と末端ノード装置3ともに、SSL等による暗号化を行わない。即ち、リスト18の送受信を暗号化した通信により行い、分割ファイル161の送受信を暗号化しない(暗号化を省略した)通信により行う。この暗号化の省略により、暗号化処理のためにコストが高くなることを回避することができる。なお、この場合でも、ファイルの受信側において、ルートノード装置1と末端ノード装置3ともに、SSL等暗号化を行うようにしても良い。   When the confidentiality of one side can be maintained in this way, in the transmission / reception of the divided file 161, neither the root node device 1 nor the end node device 3 performs encryption by SSL or the like. That is, the transmission / reception of the list 18 is performed by encrypted communication, and the transmission / reception of the divided file 161 is performed by communication without encryption (encryption is omitted). By omitting the encryption, it is possible to avoid an increase in cost for the encryption process. Even in this case, both the root node device 1 and the terminal node device 3 may perform encryption such as SSL on the file receiving side.

以上の処理を、複数の末端ノード装置3の各々が行うことにより、大容量ファイル16(分割ファイル161)の配信の途中においては、ルートノード装置1に存在した全ての「分割ファイル161」が、複数の末端ノード装置3に分散して存在することになる。この状態の一例を、図6に示す。   When each of the plurality of terminal node devices 3 performs the above processing, all the “divided files 161” existing in the root node device 1 during the distribution of the large capacity file 16 (divided file 161) The plurality of terminal node devices 3 exist in a distributed manner. An example of this state is shown in FIG.

図6は、本発明のデータ配信処理の説明図である。図6の例は、図5(A)に示すリスト18に対応する。即ち、図6は、ノード数とファイル数とが等しい場合における分割ファイル161の分散の一例を示し、具体的には、この場合において、末端ノード装置3がルートノード装置1に最初の分割データ161の配信を要求し、これが配信された状態を示す。   FIG. 6 is an explanatory diagram of data distribution processing according to the present invention. The example of FIG. 6 corresponds to the list 18 shown in FIG. That is, FIG. 6 shows an example of distribution of the divided file 161 when the number of nodes is equal to the number of files. Specifically, in this case, the end node device 3 sends the first divided data 161 to the root node device 1. The distribution of the request is requested, and the distribution state is indicated.

図6において、末端ノード装置3Aには、ファイル名「サンプル#i」の分割ファイル161が分散され、保持される。ここで、末端ノード装置3AのノードIDは「00125 」であり、ファイル名「サンプル#i」は「sample.00125」である。同様に、末端ノード装置3B、3C及び3DのノードIDは「00126 」、「00127 」及び「00128 」であり、各々に、分割ファイル「sample.00126」、「sample.00127」及び「sample.00128」が分散保持される。   In FIG. 6, the divided file 161 having the file name “sample #i” is distributed and held in the terminal node device 3A. Here, the node ID of the terminal node device 3A is “00125”, and the file name “sample #i” is “sample.00125”. Similarly, the node IDs of the end node devices 3B, 3C, and 3D are “00126”, “00127”, and “00128”, respectively, and the divided files “sample.00126”, “sample.00127”, and “sample.00128”, respectively. "Is distributed and held.

なお、この例においては、前述のように、リスト18と共に配信時間が送信される。従って、全ての末端ノード装置3が同時にルートノード装置1に対して分割ファイル161の配信を要求することはない。例えば、1000個の末端ノード装置3が存在する場合、50個づつの末端ノード装置3が、時間的にずらして設定された配信時間に従って、ルートノード装置1への配信の要求を行う。これにより、ルートノード装置1のネットワーク2の帯域が少ない場合、又は、ルートノード装置1が同時に配信できる末端ノード装置3の数が限られている場合であっても、ルートノード装置1に配信の要求が集中することを防止することができる。   In this example, as described above, the distribution time is transmitted together with the list 18. Therefore, all the terminal node devices 3 do not request the root node device 1 to distribute the divided file 161 at the same time. For example, when 1000 terminal node devices 3 exist, 50 terminal node devices 3 each make a distribution request to the root node device 1 according to the distribution time set by shifting in time. As a result, even if the bandwidth of the network 2 of the root node device 1 is small or the number of terminal node devices 3 that the root node device 1 can simultaneously deliver is limited, the distribution to the root node device 1 is possible. It is possible to prevent requests from being concentrated.

この例のデータ配信システムにおいては、IPアドレスの連続性に着目して、これを利用する。即ち、IPアドレスは、それを管理する団体により、まとまって1つの組織に割り当てられることが多い。このため、上位ビットが同じであるIPアドレスは、論理的なネットワークトポロジーが近いことが多い。換言すれば、自己のIPアドレスの次のIPアドレスを有する他の末端ノード装置3は、その末端ノード装置3の近傍(例えば、同一組織内)に存在し、かつ、他の分割ファイル161(連続する分割ファイル161)を保持している可能性が大きい。そこで、末端ノード装置3は、図7に示すように、ルートノード装置1ではなく、他の末端ノード装置3から、他の分割ファイル161を配信されるようにする。図7は、本発明のデータ配信処理の説明図であり、図6に対応する。   In the data distribution system of this example, paying attention to the continuity of IP addresses, this is used. That is, an IP address is often assigned to one organization as a whole by an organization that manages the IP address. For this reason, IP addresses having the same high-order bits often have a close logical network topology. In other words, the other end node device 3 having the IP address next to its own IP address exists in the vicinity of the end node device 3 (for example, in the same organization), and other divided files 161 (continuous) There is a high possibility that the divided file 161) to be held is held. Therefore, as shown in FIG. 7, the end node device 3 distributes the other divided file 161 not from the root node device 1 but from another end node device 3. FIG. 7 is an explanatory diagram of data distribution processing according to the present invention, and corresponds to FIG.

図7において、末端ノード装置3は、リスト18にある「次ノード」「次々ノード」等の複数のアクセス情報(IPアドレス等)を使用して、他の分割ファイル161を順次取得する。例えば、ルートノード装置1から自ノードID「00125 」と同じ番号がついた分割ファイルsample.00125を受信した末端ノード装置3(3A)は、リスト18からノードIDが「00126 」(次ノードID)である末端ノード装置3(3B)のIPアドレスを得る。これは自ノードのIPアドレスに番号が隣接するIPアドレスである。これにより、末端ノード装置3Aは、末端ノード装置3Bに対して、分割ファイルsample.00126の配信を要求する。この時点で、ノードIDが「00126 」の末端ノード装置3Bは、既に分割ファイルsample.00126を取得しているので、これを末端ノード装置3Aに配信する。   In FIG. 7, the end node device 3 sequentially acquires other divided files 161 using a plurality of pieces of access information (such as IP addresses) such as “next node” and “next node” in the list 18. For example, the terminal node device 3 (3A) that has received the divided file sample.00125 with the same number as its own node ID “00125” from the root node device 1 has the node ID “00126” (next node ID) from the list 18. The IP address of the terminal node device 3 (3B) is obtained. This is an IP address whose number is adjacent to the IP address of its own node. Accordingly, the end node device 3A requests the end node device 3B to distribute the divided file sample.00126. At this time, the terminal node device 3B having the node ID “00126” has already acquired the divided file sample.00126, and distributes it to the terminal node device 3A.

ノードIDが「00125 」の末端ノード装置3Aは、分割ファイルsample.00126を受信しながら、その平均ダウンロード時間を計測する。この後、末端ノード装置3Aは、前述のように、ハッシュ値によるチェック処理を行い、自己のデータ管理手段(図示せず)に分割ファイルsample.00126を登録し、これを「取得済み」であること、その平均ダウンロード時間を登録し、分割ファイルsample.00126を管理する。   The terminal node device 3A with the node ID “00125” measures the average download time while receiving the divided file sample.00126. Thereafter, as described above, the end node device 3A performs the check process using the hash value, registers the divided file sample.00126 in its own data management means (not shown), and has acquired this. The average download time is registered, and the divided file sample.00126 is managed.

次に、以上と同様にして、ノードIDが「00125 」の末端ノード装置3Aは、リスト18から「次々ノードID」即ちノードIDが「00127 」の末端ノード装置3CのIPアドレスを得て、これに対して、分割ファイルsample.00126の次の分割ファイルsample.00127の配信を要求する。この時、ノードIDが「00127 」の末端ノード装置3Cは、既に分割ファイルsample.00127を取得している。   Next, in the same manner as described above, the end node device 3A having the node ID “00125” obtains the IP address of the end node device 3C having the “node ID”, that is, the node ID “00127” from the list 18, In response to the request, distribution of the divided file sample.00127 next to the divided file sample.00126 is requested. At this time, the terminal node device 3C with the node ID “00127” has already acquired the divided file sample.00127.

従って、ノードIDが「00125 」の末端ノード装置3Aは、分割ファイルsample.00127を受信しながら、その平均ダウンロード時間を計測する。この後、末端ノード装置3Aは、前述のように、ハッシュ値によるチェック処理を行い、自己のデータ管理手段(図示せず)に分割ファイルsample.00127を登録し、これを「取得済み」であること、その平均ダウンロード時間を登録し、分割ファイルsample.00127を管理する。   Therefore, the terminal node device 3A having the node ID “00125” measures the average download time while receiving the divided file sample.00127. Thereafter, as described above, the end node device 3A performs the check process using the hash value, registers the divided file sample.00127 in its own data management means (not shown), and “acquired”. The average download time is registered, and the divided file sample.00127 is managed.

末端ノード装置3は、予め指定された任意の回数(指定回数)だけ、複数の分割ファイル161を順次取得する(配信される)。指定回数は、経験的に定めることができ、例えばファイル数の約1/10の値とされる。末端ノード装置3は、各々の配信における平均ダウンロード時間を計測し、管理する。例えば、図5(B)に示すように、リスト18において、ダウンロード時間部分184を付加する(他の部分182及び183はその図示を省略する)。   The terminal node device 3 sequentially acquires (distributes) the plurality of divided files 161 by an arbitrary number of times (specified number of times) specified in advance. The specified number of times can be determined empirically, and is, for example, about 1/10 of the number of files. The terminal node device 3 measures and manages the average download time in each distribution. For example, as shown in FIG. 5B, a download time portion 184 is added to the list 18 (the other portions 182 and 183 are not shown).

これにより、末端ノード装置3は、リスト18に基づいて、他のいずれの末端ノード装置3が分割ファイル161を取得するために良好なネットワーク2の回線状態で接続されているかを判断する。また、末端ノード装置3は、同一の末端ノード装置3から他の分割ファイル161の配信を受ける場合、以前の平均ダウンロード時間を参照して、平均ダウンロード時間の変化が事前に設定されたある条件に該当する際、又は、平均ダウンロード時間にそれ程の変化がなくても意図的に、配信の数回毎に、配信の要求先を他の末端ノード装置3に変更する。これにより、特定の末端ノード装置3に配信の要求が集中することを防止することができる。   As a result, the end node device 3 determines, based on the list 18, which other end node device 3 is connected in a good line state of the network 2 in order to obtain the divided file 161. Further, when receiving the distribution of the other divided file 161 from the same end node device 3, the end node device 3 refers to the previous average download time, and changes the average download time to a certain condition set in advance. When applicable, or intentionally even if there is no significant change in the average download time, the distribution request destination is changed to another terminal device 3 every several distributions. Thereby, it is possible to prevent distribution requests from being concentrated on a specific terminal node device 3.

末端ノード装置3(3B)から分割ファイル161を配信された他の末端ノード装置3(3A)は、末端ノード装置3Bに対して、その完了通知として当該平均ダウンロード時間(又は、これに基づく平均ダウンロード速度)を通知する。この平均ダウンロード時間を受信した末端ノード装置3Bは、前述のように、分割ファイル161の平均ダウンロード時間を管理して、「次ノード」「次々ノード」等の他の末端ノード装置3のそれと比べて、前述のようにある条件に合致(該当)した場合(例えば、所定の速度よりも遅い場合)等において、他の分割ファイル161の取得を、末端ノード装置3ではなく、ルートノード装置1から行う。   The other end node device 3 (3A) to which the divided file 161 is distributed from the end node device 3 (3B) is notified to the end node device 3B of the average download time (or an average download based on this) as a completion notification. Speed). The end node device 3B that has received this average download time manages the average download time of the divided file 161 as described above, and compares it with that of other end node devices 3 such as “next node” and “next node”. As described above, when a certain condition is met (corresponding) (for example, when it is slower than a predetermined speed), the other divided file 161 is acquired from the root node device 1 instead of the end node device 3. .

更に、ノードID「00125 」を持つ末端ノード装置3Aは、例えば、ノードIDが「00126 」の末端ノード装置3Bからの平均ダウンロード時間と、ノードIDが「00127 」の末端ノード装置3Cからの平均ダウンロード時間を比較し(双方からのダウンロードが事前にあったとする)、より速いほうの末端ノード装置3に対して、次以降の分割ファイル161の配信要求を行う。例えば、図7に「×」で示すように、末端ノード装置3Cからの平均ダウンロード時間が末端ノード装置3Bからのそれより所定の条件(予め経験的に定まる)以上に遅い場合、末端ノード装置3Aは、図7に点線で示すように、以後の配信の要求先を末端ノード装置3Bに変更して、これから分割ファイル161の配信を受ける。なお、両者の平均ダウンロード時間に所定の条件以上の違いがない場合であっても、数回毎に、配信の要求先を交互に変更する。   Further, the end node device 3A having the node ID “00125”, for example, downloads the average download time from the end node device 3B having the node ID “00126” and the average download from the end node device 3C having the node ID “00127”. The time is compared (assuming that downloads from both sides are made in advance), and the next and subsequent divided file 161 is requested to be delivered to the faster end node device 3. For example, as shown by “x” in FIG. 7, when the average download time from the end node device 3C is slower than a predetermined condition (preliminarily determined empirically) than that from the end node device 3B, the end node device 3A As shown by a dotted line in FIG. 7, the destination of subsequent distribution is changed to the terminal node device 3B, and distribution file 161 is received from now on. Even if the average download time between the two is not more than a predetermined condition, the distribution request destination is alternately changed every several times.

この場合、所定の条件以上に遅い末端ノード装置3のIPアドレスが連続している場合、当該遅い末端ノード装置3のために、隣接したノードIDを持つ末端ノード装置3以降が、全て影響を受ける結果、全体への分割ファイル161の配信が遅れてしまう可能性がある。そこで、この例では、末端ノード装置3は、所定の条件以上に遅い末端ノード装置3のIPアドレスが連続している場合、全ての分割ファイル161を持つルートノード装置1に対して配信要求を出す。   In this case, if the IP addresses of the end node devices 3 that are slower than the predetermined condition are continuous, all the end node devices 3 and subsequent nodes having adjacent node IDs are affected by the late end node device 3. As a result, there is a possibility that delivery of the divided file 161 to the whole will be delayed. Therefore, in this example, the terminal node device 3 issues a distribution request to the root node device 1 having all the divided files 161 when the IP addresses of the terminal node devices 3 that are slower than a predetermined condition are continuous. .

このために、末端ノード装置3は、分割ファイル161の配信要求を他の末端ノード装置3に出す際に、自ノードがその末端ノード装置3から配信を受信した際の平均ダウンロード時間を通知する。末端ノード装置3は、他の末端ノード装置3から受信した自ノードの平均ダウンロード時間と、自ノードIDに対して「次ノードID」「次々ノードID」の関係にある他の末端ノード装置3の平均ダウンロード時間とを比べて、「次ノードID」「次々ノードID」である末端ノード装置3の平均ダウンロード時間」が所定の条件以上に遅い場合、ルートノード装置1に対して配信の要求を行う。   For this reason, when the terminal node device 3 issues a distribution request for the divided file 161 to the other terminal node device 3, the terminal node device 3 notifies the average download time when the node receives the distribution from the terminal node device 3. The terminal node device 3 is connected to the average download time of the own node received from the other terminal node device 3 and other terminal node devices 3 having a relationship of “next node ID” and “next node ID” to the own node ID. If the “next node ID” and “average node download time of the terminal node device 3 that is next node ID” are slower than a predetermined condition compared with the average download time, a distribution request is made to the root node device 1. .

以上によっても、複数の末端ノード装置3の間に、分割ファイル161の配信の程度に差が出ることも考えられる。そこで、この例では、末端ノード装置3は、各々、分割ファイル161の取得済み状況と、その時点の自ノードの配信帯域とからなる取得済みリスト(図示せず)を生成して、これをルートノード装置1の末端ノード管理手段11に対して通知することにより、所定の時間ごとに定期的に状況報告を行う。   As described above, it is also conceivable that there is a difference in the degree of distribution of the divided file 161 among the plurality of terminal node devices 3. Therefore, in this example, each terminal node device 3 generates an acquired list (not shown) that includes the acquired status of the divided file 161 and the distribution band of the current node at that time, and uses this as a route. By notifying the terminal node management means 11 of the node device 1, a status report is periodically made every predetermined time.

末端ノード装置3は、分割ファイル161を順次他の末端ノード装置3から取得する場合、他の末端ノード装置3から完了通知として取得した自ノードの現時点のアップロード状況(配信帯域)と、分割ファイル161の取得状況とを、予め定められた時間ごとに定期的に、ルートノード装置1に対して通知する。ルートノード装置1は、その通知を受信して、分割ファイル161の取得が完了しており、また、現時点のアップロード状況に余裕がある末端ノード装置3のアクセス情報を、末端ノード装置3からの通知に対して、応答として返信する。末端ノード装置3は、ルートノード装置1への分割ファイル161の配信の要求を、当該通知された末端ノード装置3への配信の要求に変更する。これにより、ルートノード装置1への配信の要求の集中を防止することができる。   When the terminal node device 3 sequentially acquires the split file 161 from the other terminal node device 3, the current node upload status (distribution band) of the own node acquired as a completion notification from the other terminal node device 3, and the split file 161 Is periodically notified to the root node device 1 at predetermined time intervals. The root node device 1 receives the notification, the acquisition of the split file 161 is completed, and the access information of the end node device 3 that has a margin in the current upload status is notified from the end node device 3 Is returned as a response. The terminal node device 3 changes the request for distribution of the split file 161 to the root node device 1 to the notified request for distribution to the terminal node device 3. As a result, concentration of distribution requests to the root node device 1 can be prevented.

ルートノード装置1は、末端ノード装置3からの状況報告の中に、全ての分割ファイル161を取得済みの末端ノード装置3があった場合、その時点の後に、状況報告が届いた末端ノード装置3に対して、完了済みでかつ配信帯域の少ない末端ノード装置3のノードIDとIPアドレスを応答として返信する。この応答を受信した末端ノード装置3は、当該応答にあるノードIDとIPアドレスを利用して、ルートノード装置1ではなく、当該末端ノード装置3に対して、分割ファイル161の配信要求を出す。これにより、ルートノード装置1への配信の要求の集中を防止することができる。なお、実際は、以上に述べた種々の配信要求先を変更する手段をランダムに(即ち、柔軟に又は適宜)組み合わせて実行する。   When there is a terminal node device 3 that has acquired all the divided files 161 in the status report from the terminal node device 3, the root node device 1 receives the status report after that point. In response, the node ID and IP address of the terminal node device 3 that has been completed and has a small distribution band are returned as a response. The terminal node device 3 that has received this response uses the node ID and IP address in the response to issue a distribution file 161 distribution request to the terminal node device 3 instead of the root node device 1. As a result, concentration of distribution requests to the root node device 1 can be prevented. In practice, the means for changing the various delivery request destinations described above are executed randomly (ie, flexibly or appropriately) in combination.

末端ノード装置3は、全ての分割ファイル161を受信した場合、それらのファイルを統合して本来の配信の対象であった大容量ファイル16に再構成する。この後、末端ノード装置3は、ルートノード装置1への状況通知を継続的に行い、未だ全部の分割ファイル161を取得していない他の末端ノード装置3に対して、分割ファイル161の配信の要求を受信した場合、その配信を行う。ルートノード装置1は、末端ノード装置3からの状況通知を受信して、全ての末端ノード装置3がファイル取得を完了した場合、これに基づいて、複数の末端ノード装置3の全てに対して、完了応答を行う。複数の末端ノード装置3は、各々、完了通知を受信した場合、全ての末端ノード装置3への大容量ファイル16の配信が完了したと判断して、ルートノード装置1への状況通知を停止する。   When the terminal node device 3 receives all the divided files 161, the terminal node device 3 integrates these files and reconfigures them into a large-capacity file 16 that was originally targeted for distribution. Thereafter, the terminal node device 3 continuously notifies the root node device 1 of the status, and the distribution of the divided file 161 is distributed to the other terminal node devices 3 that have not yet acquired all the divided files 161. If a request is received, it is delivered. When the root node device 1 receives the status notification from the end node device 3 and all the end node devices 3 have completed the file acquisition, based on this, all of the plurality of end node devices 3 Send a completion response. When each of the plurality of terminal node devices 3 receives the completion notification, each of the terminal node devices 3 determines that the distribution of the large capacity file 16 to all the terminal node devices 3 is completed, and stops the status notification to the root node device 1. .

以下、本発明のデータ配信システムにおけるデータ配信方法について、図8〜図19に示すフローチャートを参照しつつ説明する。   Hereinafter, a data distribution method in the data distribution system of the present invention will be described with reference to the flowcharts shown in FIGS.

大容量ファイル16の配信を希望する末端ノード装置3が、自己のアクセス情報をルートノード装置1に登録する。これに応じて、ルートノード装置1が、図8に示すように、当該末端ノード装置3を登録し、管理する。図8は、本発明の末端ノード管理処理フローである。   The terminal node device 3 that desires to distribute the large-capacity file 16 registers its access information in the root node device 1. In response to this, the root node device 1 registers and manages the terminal node device 3 as shown in FIG. FIG. 8 is an end node management processing flow of the present invention.

図8において、ルートノード装置1の末端ノード管理手段11が、末端ノード装置(末端ノード)3の情報を受け付け待ちの状態にある状態で(ステップS11)、新たに大容量ファイル16の配信を受信したい末端ノード装置3が「IPアドレス」及び「ポート番号」からなる自己のアクセス情報を送信してくると、これを受信してノードIDテーブル14に当該アクセス情報を追加して(ステップS12)、ノードIDテーブル14のソートを行う(ステップS13)。   In FIG. 8, the terminal node management means 11 of the root node device 1 is in a state of waiting for receiving the information of the terminal node device (terminal node) 3 (step S11), and newly receives the delivery of the large file 16. When the terminal device 3 to be transmitted transmits its own access information consisting of “IP address” and “port number”, it receives it and adds the access information to the node ID table 14 (step S12). The node ID table 14 is sorted (step S13).

一方、ルートノード装置1は、図9に示すように、大容量ファイル16をデータ管理手段13に登録した後、全ての末端ノード装置3からのアクセス情報の登録が終了しノードIDテーブル14の作成が終了すると、リスト18を作成する。図9は、本発明のデータ管理処理フローである。   On the other hand, as shown in FIG. 9, after registering the large capacity file 16 in the data management means 13, the root node device 1 completes registration of access information from all the terminal node devices 3, and creates the node ID table 14. When is finished, a list 18 is created. FIG. 9 is a data management processing flow of the present invention.

図9において、ルートノード装置1のデータ管理手段13が、ユーザの指示入力に従って大容量ファイル16を読み込んで(ステップS21)、これを複数の分割ファイル161に分割し(ステップS22)、当該大容量ファイル16についてのファイル名テーブル17を作成する(ステップS23)。これにより、登録データ15が生成される。この後、データ管理手段13が、分割ファイル161のファイルの数を取得して(ステップS24)、ユーザの指示入力に従って当該大容量ファイル16の配信時間を決定し(ステップS25)、末端ノード管理手段11からノードIDテーブル14を取得して(ステップS26)、これらに基づいてリスト18を作成し(ステップS27)、これを全ての末端ノード装置3にネットワーク2を介して配信する(ステップS28)。   In FIG. 9, the data management means 13 of the root node device 1 reads the large file 16 in accordance with the user's instruction input (step S21), divides it into a plurality of divided files 161 (step S22), and the large file A file name table 17 for the file 16 is created (step S23). Thereby, registration data 15 is generated. Thereafter, the data management unit 13 obtains the number of files of the divided file 161 (step S24), determines the delivery time of the large-capacity file 16 according to the user's instruction input (step S25), and the end node management unit. The node ID table 14 is acquired from 11 (step S26), the list 18 is created based on these (step S27), and this is distributed to all the terminal node devices 3 via the network 2 (step S28).

前述のように、リスト18の生成の過程で、ルートノード装置1が、大容量ファイル16を分割した分割ファイル161の各々についてそのハッシュ値を算出し、これをリスト18の一部とする。更に、前述のように、ルートノード装置1が、その末端ノード装置3が大容量ファイル16の配信の要求を開始する時間である配信時間を決定する。従って、ハッシュ値と配信時間は、リスト18と共に、複数の末端ノード装置3の各々に送信される。   As described above, in the process of generating the list 18, the root node device 1 calculates a hash value for each of the divided files 161 obtained by dividing the large-capacity file 16 and uses this as a part of the list 18. Further, as described above, the root node device 1 determines a delivery time which is a time when the end node device 3 starts a request for delivery of the large capacity file 16. Therefore, the hash value and the distribution time are transmitted to each of the plurality of terminal node devices 3 together with the list 18.

更に、ルートノード装置1は、図10に示すように、複数の末端ノード装置3の各々に対して、ルートノード情報(自己のアクセス情報)を送信する。図10は、本発明の状況報告の初期登録処理フローである。   Furthermore, as shown in FIG. 10, the root node device 1 transmits root node information (own access information) to each of the plurality of terminal node devices 3. FIG. 10 is an initial registration process flow of the status report of the present invention.

図10において、末端ノード装置3の状況報告手段31は、ルートノード装置1からそのIPアドレス及びポート番号を受信すると、これを自己の所有するメモリ領域(図示せず)に登録する(ステップS31)。   In FIG. 10, when the status report means 31 of the terminal node device 3 receives the IP address and port number from the root node device 1, it registers it in its own memory area (not shown) (step S31). .

リスト18を受信した複数の末端ノード装置3は、各々、大容量ファイル16の配信をルートノード装置1に要求する。このために、図11及び図12に示すように、複数の末端ノード装置3は、各々、リスト18に基づいてその末端ノード装置3が最初にルートノード装置1に配信を要求する分割ファイル161を決定して、その分割ファイル161の配信をルートノード装置1に要求する。この時、複数の末端ノード装置3は、各々、配信時間の経過の後に、当該要求を開始する。図11は、本発明のファイル配信要求処理フローであり、図12は、本発明のファイル配信要求処理の説明図である。   The plurality of end node devices 3 that have received the list 18 request the root node device 1 to distribute the large capacity file 16. For this purpose, as shown in FIG. 11 and FIG. 12, each of the plurality of end node devices 3 has divided files 161 that the end node device 3 first requests distribution to the root node device 1 based on the list 18. Then, it requests the root node device 1 to distribute the divided file 161. At this time, each of the plurality of terminal node devices 3 starts the request after the elapse of the distribution time. FIG. 11 is a flowchart of the file distribution request process according to the present invention, and FIG. 12 is an explanatory diagram of the file distribution request process according to the present invention.

図11において、末端ノード装置3のファイル配信要求手段32は、通知された配信時間か否かを調べ(ステップS41)、配信時間でない場合、ステップS41を繰り返す。配信時間である場合、ファイル配信要求手段32は、ノード数とファイル数とを比較して(ステップS42)、これに基づいて、以下のように取得すべき分割ファイル161の数及びファイル番号を決定する。   In FIG. 11, the file distribution request means 32 of the terminal node device 3 checks whether or not the notified distribution time is reached (step S41), and if it is not the distribution time, repeats step S41. If it is the distribution time, the file distribution request means 32 compares the number of nodes with the number of files (step S42), and based on this, determines the number and file numbers of the divided files 161 to be acquired as follows. To do.

即ち、ノード数がファイル数より大きい場合、ファイル配信要求手段32は、図12(A)に示すように、取得するファイル番号を(自ノードID)÷((ノード数)÷(ファイル数))により算出して(ステップS43)、これに基づいてルートノード装置1に対して当該ファイル番号の分割ファイル161の配信を要求する(ステップS48)。ステップS43において、少数点以下は繰り上げる(ステップS45において同じ)。   That is, when the number of nodes is larger than the number of files, the file distribution request unit 32 sets the file number to be acquired as (own node ID) / ((number of nodes) / (number of files)) as shown in FIG. (Step S43), based on this, the root node device 1 is requested to distribute the divided file 161 having the file number (Step S48). In step S43, the decimal point is moved up (the same in step S45).

ノード数がファイル数と等しい場合、ファイル配信要求手段32は、図12(B)に示すように、取得するファイル番号を自ノードIDと同じ番号とし(ステップS44)、この後、ステップS48を実行する。   If the number of nodes is equal to the number of files, the file distribution request means 32 sets the file number to be acquired to the same number as its own node ID as shown in FIG. 12B (step S44), and then executes step S48. To do.

ノード数がファイル数より小さい場合、ファイル配信要求手段32は、図12(C)に示すように、取得するファイルの数(取得数)を(ファイル数)÷(ノード数)により算出して(ステップS45)、これに基づいて、取得するファイルのオフセット(即ち、ファイル番号の間隔)を(ファイル数)÷(取得数)により算出して(ステップS46)、以上に基づいて、取得する分割ファイル161を決定する(ステップS47)。即ち、自ノードIDと同じ番号のファイル番号を取得の対象とし、更に、取得数になるまで、自ノードIDにオフセットを加えたファイル番号を取得の対象とする。この後、ステップS48を実行する。   When the number of nodes is smaller than the number of files, the file distribution request means 32 calculates the number of files to be acquired (number of acquisitions) by (number of files) / (number of nodes) as shown in FIG. Step S45) Based on this, the offset of the file to be acquired (that is, the file number interval) is calculated by (number of files) ÷ (number of acquisition) (step S46), and the divided file to be acquired based on the above 161 is determined (step S47). That is, the file number having the same number as the own node ID is acquired, and further, the file number obtained by adding an offset to the own node ID until the number of acquisition is reached. Thereafter, step S48 is executed.

以上のような複数の末端ノード装置3の各々からの分割ファイル161の配信の要求に応じて、ルートノード装置1が、要求された分割ファイル161を複数の末端ノード装置3の各々に配信する。   In response to the request for distributing the divided file 161 from each of the plurality of terminal node devices 3 as described above, the root node device 1 distributes the requested divided file 161 to each of the plurality of terminal node devices 3.

複数の末端ノード装置3が、各々、ルートノード装置1から受信した分割ファイル161についてそのハッシュ値を算出し、当該ハッシュ値とリスト18に含まれる前記受信した分割ファイル161についてのハッシュ値とを比較し、両者が一致した場合、前記受信した分割ファイル161を正しいデータとして管理する。   Each of the plurality of end node devices 3 calculates the hash value of the divided file 161 received from the root node device 1, and compares the hash value with the hash value of the received divided file 161 included in the list 18 If the two match, the received divided file 161 is managed as correct data.

この後、複数の末端ノード装置3は、各々、図13(A)及び図13(B)に示すように、リスト18に基づいて、配信を要求する分割ファイル161と、当該分割ファイル161の配信を要求する他の末端ノード装置3を決定する。図13(A)は、本発明のファイル配信要求処理フローであり、図13(B)は本発明のファイル配信要求処理の説明図である。   Thereafter, as shown in FIGS. 13A and 13B, each of the plurality of terminal node devices 3 distributes the divided file 161 that requests distribution and the distribution of the divided file 161 based on the list 18. To determine the other end node device 3 that requests. FIG. 13A is a flowchart of the file distribution request process of the present invention, and FIG. 13B is an explanatory diagram of the file distribution request process of the present invention.

図13(A)において、末端ノード装置3のファイル配信要求手段32は、ノード数とファイル数とを比較して(ステップS51)、ノード数がファイル数と等しいかそれより大きい場合、更に、取得済みの分割ファイル161のファイル番号はファイル数の最大番号か否かを調べる(ステップS52)。最大番号でない場合、ファイル配信要求手段32は、取得済みの分割ファイル161のファイル番号の次のファイル番号を持つ分割ファイル161を取得すべき分割ファイル161の候補とする(ステップS53)。ステップS52において最大番号である場合、ファイル配信要求手段32は、ファイル番号「1」を持つ分割ファイル161を取得すべき分割ファイル161の候補とする(ステップS54)。   In FIG. 13A, the file distribution request means 32 of the terminal node device 3 compares the number of nodes with the number of files (step S51), and if the number of nodes is equal to or larger than the number of files, further acquisition is performed. It is checked whether the file number of the already divided file 161 is the maximum number of files (step S52). If it is not the maximum number, the file distribution request means 32 sets the divided file 161 having the file number next to the file number of the acquired divided file 161 as a candidate for the divided file 161 to be acquired (step S53). If the number is the maximum number in step S52, the file distribution request unit 32 sets the divided file 161 having the file number “1” as a candidate for the divided file 161 to be acquired (step S54).

ステップS51において、ノード数がファイル数より小さい場合、ファイル配信要求手段32は、図13(B)に示すように、取得済みの分割ファイル161のファイル番号の次のファイル番号を持つ分割ファイル161を、オフセットの数の分だけ、順に取得すべき分割ファイル161の候補とする(ステップS55)。   If the number of nodes is smaller than the number of files in step S51, the file distribution request unit 32 selects a divided file 161 having a file number next to the file number of the acquired divided file 161 as shown in FIG. The number of the divided files 161 to be acquired in order is the same as the number of offsets (step S55).

この後、図14に示すように、複数の末端ノード装置3は、各々、決定した分割ファイル161の配信を決定した他の末端ノード装置3に要求する。図14は、本発明のファイル配信要求処理フローである。   Thereafter, as shown in FIG. 14, each of the plurality of end node devices 3 makes a request to the other end node device 3 that has decided to distribute the determined divided file 161. FIG. 14 is a file delivery request processing flow according to the present invention.

図14において、末端ノード装置3のファイル配信要求手段32は、指定回数以上か否かを調べ(ステップS61)、指定回数以上である場合、以下のステップS62〜S65の処理を省略する。指定回数以上でない場合、ファイル配信要求手段32は、次ノードIDを持つ末端ノード装置3に対する分割ファイル161の配信の要求を作成し(ステップS62)、当該末端ノード装置3が当該分割ファイル161を所有しているか否かを調べ(ステップS63)、当該分割ファイル161を所有していない場合、ステップS61以下を繰り返す。ステップS63において、当該分割ファイル161を所有している場合、ファイル配信要求手段32は、これを取得して(ステップS64)、平均ダウンロード時間を算出する(ステップS65)。   In FIG. 14, the file distribution request means 32 of the terminal node device 3 checks whether or not the number of times is greater than or equal to the specified number (step S61). If the specified number of times is not exceeded, the file delivery requesting means 32 creates a delivery request for the divided file 161 to the terminal node device 3 having the next node ID (step S62), and the terminal node device 3 owns the divided file 161. Whether the divided file 161 is not owned or not is repeated (step S63). In step S63, when the divided file 161 is owned, the file distribution request unit 32 acquires it (step S64) and calculates an average download time (step S65).

この後、ファイル配信要求手段32は、指定回数以上か否かを調べ(ステップS66)、指定回数以上である場合、以下のステップS67〜S610の処理を省略する。指定回数以上でない場合、ファイル配信要求手段32は、次次ノードIDを持つ末端ノード装置3に対する分割ファイル161の配信の要求を作成し(ステップS67)、当該末端ノード装置3が当該分割ファイル161を所有しているか否かを調べ(ステップS68)、当該分割ファイル161を所有していない場合、ステップS66以下を繰り返す。ステップS68において、当該分割ファイル161を所有している場合、ファイル配信要求手段32は、これを取得して(ステップS69)、平均ダウンロード時間を算出する(ステップS610)。   Thereafter, the file distribution request unit 32 checks whether or not the number of times is greater than or equal to the specified number of times (step S66). If it is not the specified number of times or more, the file distribution request means 32 creates a distribution file 161 distribution request to the terminal node device 3 having the next node ID (step S67), and the terminal node device 3 stores the divided file 161. It is checked whether or not the file is owned (step S68). If the divided file 161 is not owned, step S66 and subsequent steps are repeated. In step S68, if the divided file 161 is owned, the file distribution request unit 32 acquires it (step S69) and calculates the average download time (step S610).

この後、ファイル配信要求手段32は、指定回数か否かを調べ(ステップS611)、指定回数でない場合、以上の処理を任意のノードIDまで任意の回数だけ(即ち、指定回数に達するまで)繰り返す。指定回数である場合、ファイル配信要求手段32は、平均ダウンロード時間を比較して、IDを決定する(ステップS612)。   Thereafter, the file distribution request unit 32 checks whether or not the number of times is the specified number (step S611), and if it is not the specified number of times, repeats the above process up to the arbitrary number of node IDs (that is, until the specified number of times is reached). . If it is the specified number of times, the file distribution request means 32 compares the average download time and determines the ID (step S612).

複数の末端ノード装置3は、各々、図14に示す処理を任意の回数だけ繰り返した後、図15及び図16に示すように、ネットワーク2の状況、即ち、平均ダウンロード時間に基づいて、決定した分割ファイル161の配信の要求先を動的に変更しながら、他の末端ノード装置3に要求する。図15及び図16は、本発明のファイル配信要求処理フローであり、両者が一体となって1個のファイル配信要求処理フローを構成する。   Each of the plurality of end node devices 3 repeats the process shown in FIG. 14 an arbitrary number of times, and then determines based on the status of the network 2, that is, the average download time, as shown in FIGS. A request is made to the other end node device 3 while dynamically changing the distribution request destination of the divided file 161. 15 and 16 show the file distribution request processing flow of the present invention, and both constitute a single file distribution request processing flow.

図15において、末端ノード装置3のファイル配信要求手段32は、指定回数以上か否かを調べ(ステップS71)、指定回数以上である場合、以下のステップS72〜S78の処理を省略する。指定回数以上でない場合、ファイル配信要求手段32は、決定したノードIDを持つ末端ノード装置3に対して分割ファイル161の配信を要求し(ステップS72)、この要求に対する応答として当該末端ノード装置3から代替のノードIDの提示があったか否かを調べる(ステップS73)。代替のノードIDの提示があった場合、ファイル配信要求手段32は、分割ファイル161の要求先を当該代替のノードIDを持つ末端ノード装置3に変更し(ステップS74)、この後、ステップS71以下を繰り返す。   In FIG. 15, the file distribution request means 32 of the terminal node device 3 checks whether or not the number of times is greater than or equal to the designated number (step S71). If it is not the specified number of times or more, the file distribution request means 32 requests the terminal node device 3 having the determined node ID to distribute the divided file 161 (step S72), and from the terminal node device 3 as a response to this request. It is checked whether an alternative node ID has been presented (step S73). When the alternative node ID is presented, the file distribution request unit 32 changes the request destination of the divided file 161 to the terminal node device 3 having the alternative node ID (step S74), and thereafter, the steps after step S71. repeat.

代替のノードIDの提示がなかった場合、ファイル配信要求手段32は、決定したノードIDを持つ末端ノード装置3に対して平均ダウンロード時間を通知し(ステップS75)、当該分割ファイル161を所有しているか否かを調べ(ステップS76)、所有していない場合、ステップS71以下を繰り返す。所有している場合、ファイル配信要求手段32は、当該末端ノード装置3から当該分割ファイル161を取得して(ステップS77)、平均ダウンロード時間を算出する(ステップS78)。   When the alternative node ID is not presented, the file distribution request means 32 notifies the average download time to the terminal node device 3 having the determined node ID (step S75), and owns the divided file 161. Whether or not it is present (step S76), and if not owned, step S71 and subsequent steps are repeated. If it is owned, the file distribution request unit 32 acquires the divided file 161 from the terminal node device 3 (step S77), and calculates the average download time (step S78).

図16において、ファイル配信要求手段32は、算出した平均ダウンロード時間と他の末端ノード装置3から受信した平均ダウンロード時間とを比較して、前者が後者より極端に遅いか否かを調べ(ステップS79)、極端に遅くない場合、ステップS71以下を繰り返す。極端に遅い場合、ファイル配信要求手段32は、分割ファイル161の配信を要求する要求先をルートノード装置1に変更し(ステップS710)、分割ファイル161の取得状況をルートノード装置1に通知する(ステップS711)。   In FIG. 16, the file distribution request means 32 compares the calculated average download time with the average download time received from the other end node device 3, and checks whether the former is extremely late compared to the latter (step S79). ) If it is not extremely late, step S71 and subsequent steps are repeated. If it is extremely slow, the file delivery requesting means 32 changes the request destination for requesting delivery of the split file 161 to the root node device 1 (step S710), and notifies the root node device 1 of the acquisition status of the split file 161 ( Step S711).

この後、ファイル配信要求手段32は、分割ファイル161の全てを取得したか否かを調べ(ステップS712)、全てを取得していない場合、ステップS71以下を繰り返す。全てを取得している場合、ファイル配信要求手段32は、取得した分割ファイル161を結合して元の大容量ファイル16を復元し(ステップS713)、分割ファイル161の全てを取得したことをルートノード装置1に通知し(ステップS714)、この後、自己が取得した分割ファイル161の他の末端ノード装置1への配信状況を、定期的にルートノード装置1に対して通知する(ステップS715)。   Thereafter, the file distribution request unit 32 checks whether or not all of the divided files 161 have been acquired (step S712). If all of the divided files 161 have not been acquired, step S71 and subsequent steps are repeated. When all the files are acquired, the file distribution request unit 32 combines the acquired divided files 161 to restore the original large-capacity file 16 (step S713), and indicates that all the divided files 161 have been acquired. The device 1 is notified (step S714), and thereafter, the distribution status to the other end node device 1 of the divided file 161 acquired by itself is periodically notified to the root node device 1 (step S715).

一方、ルートノード装置1は、分割ファイル161の配信を開始した後に末端ノード装置3からの配信の要求を受信すると、図17に示すように、当該配信を行うか、又は、これに代わる通知を行う。図17は、本発明のルートノードにおけるファイル配信処理フローである。   On the other hand, when the root node device 1 receives the distribution request from the end node device 3 after starting the distribution of the divided file 161, as shown in FIG. 17, the root node device 1 performs the distribution or sends a notification instead of the distribution. Do. FIG. 17 is a file distribution processing flow in the root node of the present invention.

図17において、ルートノード装置1のファイル配信手段12は、末端ノード装置3から分割ファイル161の配信の要求を受信すると(ステップS81)、全ての分割ファイル161を取得した末端ノード装置3が存在するか否かを調べ(ステップS82)、存在しない場合、当該要求された分割ファイル161を当該末端ノード装置3に配信し(ステップS83)、存在する場合、全ての分割ファイル161を取得した末端ノード装置3のノードIDを、代替ノードIDとして、当該要求をした末端ノード装置3に対して通知する(ステップS84)。   In FIG. 17, when the file distribution unit 12 of the root node device 1 receives a request for distribution of the divided file 161 from the terminal node device 3 (step S81), the terminal node device 3 that has acquired all the divided files 161 exists. Whether or not the requested split file 161 is distributed to the end node device 3 (step S83), and if it exists, the end node device that has acquired all the split files 161. 3 is notified as an alternative node ID to the terminal node device 3 that made the request (step S84).

また、ルートノード装置1は、図17のステップS84における通知を可能とするために、図18に示すように、末端ノード装置3からの状況報告に応じて、大容量ファイル16の配信状況を管理する。図18は、本発明の末端ノード管理処理フローである。   Further, the root node device 1 manages the distribution status of the large-capacity file 16 according to the status report from the end node device 3 as shown in FIG. 18 in order to enable the notification in step S84 of FIG. To do. FIG. 18 is a terminal node management processing flow of the present invention.

図18において、ルートノード装置1の末端ノード管理手段11は、末端ノード装置3から状況管理のための情報を受け付けると(ステップS91)、これを所定のメモリ領域(図示せず)に格納して、これに基づいて、大容量ファイル16についての配信状況を管理する(ステップS92)。   In FIG. 18, when receiving the information for status management from the end node device 3 (step S91), the end node management means 11 of the root node device 1 stores it in a predetermined memory area (not shown). Based on this, the distribution status of the large capacity file 16 is managed (step S92).

末端ノード装置3から分割ファイル161の配信を要求された他の末端ノード装置3は、図19に示すように、要求元の末端ノード装置3への当該分割ファイル161の配信を行う。図19は、本発明の末端ノード装置3におけるファイル配信処理フローである。   The other end node device 3 requested to distribute the divided file 161 from the end node device 3 distributes the divided file 161 to the requesting end node device 3, as shown in FIG. FIG. 19 is a file delivery processing flow in the end node device 3 of the present invention.

図19において、末端ノード装置3のファイル配信手段33は、他の末端ノード装置3から分割ファイル161の配信の要求を受信すると(ステップS101)、当該要求された分割ファイル161は取得済みであるか否かを調べ(ステップS102)、取得済みである場合、当該分割ファイル161を当該他の末端ノード装置3に配信し(ステップS103)、取得済みで無い場合、当該他の末端ノード装置3に未取得を通知する(ステップS104)。   In FIG. 19, when the file distribution means 33 of the end node device 3 receives a request for distribution of the divided file 161 from the other end node device 3 (step S101), has the requested divided file 161 been acquired? (Step S102), if it has been acquired, the divided file 161 is distributed to the other end node device 3 (step S103). If it has not been acquired, it is not transferred to the other end node device 3. Acquisition is notified (step S104).

以上のようにして、全ての分割ファイル161を受信した末端ノード装置3は、分割ファイル161を元の一つのファイルに合体して、元の大容量ファイル16を復元する。末端ノード装置3は、自ノードは全ての分割ファイル161を受信し終わっていても、他の末端ノード装置3からの要求に応じて、これに対して分割ファイル161の配信を行う。このために、末端ノード装置3は、例えば以下の完了応答を受信するまで、全ての分割ファイル161を自己のデータ管理手段(図示せず)に保持する。また、末端ノード装置3は、予め定められた周期で定期的に、分割ファイル161の受信の状況報告をルートノード装置1に対して行う。   As described above, the terminal node device 3 that has received all the divided files 161 merges the divided files 161 into one original file, and restores the original large-capacity file 16. Even if the terminal node device 3 has received all the divided files 161, the terminal node device 3 distributes the divided file 161 in response to a request from another terminal device 3. For this purpose, the terminal node device 3 holds all the divided files 161 in its own data management means (not shown) until, for example, the following completion response is received. Further, the end node device 3 periodically reports the reception status of the divided file 161 to the root node device 1 at a predetermined cycle.

この状況報告に基づいて、ルートノード装置1は、全ての末端ノード装置3が分割ファイル161の全てを受信したことを知ると、この旨を示す完了応答を、末端ノード装置3からの状況報告に対して通知する。この完了応答を受信した末端ノード装置3は、大容量ファイル16の受信処理を終了する。   When the root node device 1 knows that all the end node devices 3 have received all of the divided files 161 based on this status report, it sends a completion response indicating this to the status report from the end node device 3. Notify them. The terminal node device 3 that has received this completion response ends the reception process of the large-capacity file 16.

以上説明したように、本発明によれば、データ配信方法及びシステムにおいて、ダウンロード要求を分散し、ネットワークの帯域のほぼ全体を試用することにより、大容量ファイルを効率的に配信することができる。また、本発明によれば、分割データの配信の状況、ネットワークの状況、データ配信システムの規模、配信すべきデータの大きさに応じて、配信のルートを動的に変更することができる。従って、本発明によれば、ダウンロード設備とネットワーク帯域の増強を図ることなく、大容量のデータを、最小の時間で、全ての末端ノード装置にダウンロードすることができる。   As described above, according to the present invention, in a data distribution method and system, a large file can be distributed efficiently by distributing download requests and using almost the entire network bandwidth. Furthermore, according to the present invention, the distribution route can be dynamically changed according to the distribution status of the divided data, the network status, the scale of the data distribution system, and the size of the data to be distributed. Therefore, according to the present invention, a large amount of data can be downloaded to all the terminal node devices in a minimum time without increasing the download facility and the network bandwidth.

本発明のデータ配信システムの構成図である。It is a block diagram of the data delivery system of this invention. 本発明のルートノード装置の説明図である。It is explanatory drawing of the root node apparatus of this invention. 本発明のノードIDテーブルの説明図である。It is explanatory drawing of the node ID table of this invention. 本発明のファイル名テーブル及びノードIDテーブルの説明図である。It is explanatory drawing of the file name table and node ID table of this invention. 本発明のリストの説明図である。It is explanatory drawing of the list | wrist of this invention. 本発明のデータ配信処理の説明図である。It is explanatory drawing of the data delivery process of this invention. 本発明のデータ配信処理の説明図である。It is explanatory drawing of the data delivery process of this invention. 本発明の末端ノード管理処理フローである。It is a terminal node management processing flow of the present invention. 本発明のデータ管理処理フローである。It is a data management processing flow of this invention. 本発明の状況報告の初期登録処理フローである。It is an initial registration processing flow of the status report of this invention. 本発明のファイル配信要求処理フローである。It is a file delivery request processing flow of the present invention. 本発明のファイル配信要求処理の説明図である。It is explanatory drawing of the file delivery request | requirement process of this invention. 本発明のファイル配信要求処理フロー及びその説明図である。It is the file delivery request processing flow of this invention, and its explanatory drawing. 本発明のファイル配信要求処理フローである。It is a file delivery request processing flow of the present invention. 本発明のファイル配信要求処理フローである。It is a file delivery request processing flow of the present invention. 本発明のファイル配信要求処理フローである。It is a file delivery request processing flow of the present invention. 本発明のルートノードにおけるファイル配信処理フローである。It is a file delivery processing flow in the root node of the present invention. 本発明の末端ノード管理処理フローである。It is a terminal node management processing flow of the present invention. 本発明の末端ノードにおけるファイル配信処理フローである。It is the file delivery processing flow in the terminal node of this invention.

符号の説明Explanation of symbols

1 ルートノード装置
2 ネットワーク
3 末端ノード装置
11 末端ノード管理手段
12 ファイル配信手段
13 データ管理手段
16 大容量ファイル
31 状況報告手段
32 ファイル配信要求手段
33 ファイル配信手段
DESCRIPTION OF SYMBOLS 1 Root node apparatus 2 Network 3 Terminal node apparatus 11 Terminal node management means 12 File distribution means 13 Data management means 16 Large capacity file 31 Status report means 32 File distribution request means 33 File distribution means

Claims (6)

データを配信する元となるルートノード装置と、前記データを配信される複数の末端ノード装置と、これらの間を接続するネットワークとからなり、前記データを複数の分割データに分割して配信するデータ配信装置におけるデータ配信方法であって、
前記ルートノード装置が、少なくとも、その末端ノード装置に割り当てられたノードIDと、前記複数の末端ノード装置の総数と、前記データを分割した分割データの総数とを含む配信情報を、前記複数の末端ノード装置の各々に送信し、
前記複数の末端ノード装置が、各々、前記配信情報に基づいてその末端ノード装置が最初に前記ルートノード装置に配信を要求する分割データを決定して、その分割データの配信を前記ルートノード装置に要求し、
前記ルートノード装置が、前記分割データの配信の要求に応じて、その分割データを前記複数の末端ノード装置の各々に配信し、
前記複数の末端ノード装置が、各々、前記配信情報に基づいて前記ルートノード装置から配信された分割データ以外の分割データについて他の末端ノード装置のいずれに配信を要求するかを決定して、その分割データの配信を前記決定した他の末端ノード装置に要求する
ことを特徴とするデータ配信方法。
Data comprising a root node device that is a source of data, a plurality of terminal node devices to which the data is distributed, and a network that connects them, and the data is divided into a plurality of divided data and distributed. A data distribution method in a distribution device,
The root node device has distribution information including at least a node ID assigned to the terminal node device, a total number of the plurality of terminal node devices, and a total number of divided data obtained by dividing the data. Sent to each of the node devices,
Each of the plurality of terminal node devices determines division data that the terminal node device first requests distribution to the root node device based on the distribution information, and distributes the divided data to the root node device. Request,
In response to a request for distribution of the divided data, the root node device distributes the divided data to each of the plurality of terminal node devices,
Each of the plurality of terminal node devices determines which of the other terminal node devices to distribute the divided data other than the divided data distributed from the root node device based on the distribution information; Requesting the delivery of the divided data to the other terminal node device determined as described above.
前記ルートノード装置が、前記データの配信を行う場合に、これに先立って、前記配信情報を前記複数の末端ノード装置の各々に送信する
ことを特徴とする請求項1記載のデータ配信方法。
The data distribution method according to claim 1, wherein, when the root node device distributes the data, the distribution information is transmitted to each of the plurality of end node devices prior to the distribution.
前記複数の末端ノード装置が、各々、前記他の末端ノード装置毎に分割データが配信される配信速度を計測し、前記配信速度に基づいて、前記決定した他の末端ノード装置を前記配信速度の速い末端ノード装置に変更し、前記変更した末端ノード装置にその分割データの配信を要求する
ことを特徴とする請求項1記載のデータ配信方法。
Each of the plurality of terminal node devices measures a distribution speed at which the divided data is distributed to each of the other terminal node devices, and determines the other terminal node device determined based on the distribution speed of the distribution speed. 2. The data distribution method according to claim 1, wherein a change is made to a fast end node device, and distribution of the divided data is requested to the changed end node device.
前記ルートノード装置が、その末端ノード装置が前記データの配信の要求を開始する時間である配信時間を、前記配信情報と共に前記複数の末端ノード装置の各々に送信し、
前記複数の末端ノード装置が、各々、前記配信時間の経過の後に、前記ルートノード装置に対する前記データの配信の要求を開始する
ことを特徴とする請求項1記載のデータ配信方法。
The root node device transmits a delivery time, which is a time at which the end node device starts a request for delivery of the data, to each of the plurality of end node devices together with the delivery information;
2. The data distribution method according to claim 1, wherein each of the plurality of terminal node devices starts a request for distribution of the data to the root node device after the elapse of the distribution time.
前記ルートノード装置が、前記データを分割した分割データの各々についてそのハッシュ値を算出し、前記算出したハッシュ値を、前記配信情報の一部として前記複数の末端ノード装置の各々に送信し、
前記複数の末端ノード装置が、各々、前記ルートノード装置から受信した分割データについてそのハッシュ値を算出し、当該ハッシュ値と前記配信情報に含まれる前記受信した分割データについてのハッシュ値とを比較し、両者が一致した場合、前記受信した分割データを正しいデータとして管理する
ことを特徴とする請求項1記載のデータ配信方法。
The root node device calculates a hash value for each of the divided data obtained by dividing the data, and transmits the calculated hash value to each of the plurality of terminal node devices as part of the distribution information,
Each of the plurality of terminal node devices calculates a hash value for the divided data received from the root node device, and compares the hash value with the hash value for the received divided data included in the distribution information. The data distribution method according to claim 1, wherein if the two match, the received divided data is managed as correct data.
データを配信する元となるルートノード装置と、前記データを配信される複数の末端ノード装置と、これらの間を接続するネットワークとからなり、前記データを複数の分割データに分割して配信するデータ配信装置であって、
前記ルートノード装置が、
少なくとも、その末端ノード装置に割り当てられたノードIDと、前記複数の末端ノード装置の総数と、前記データを分割した分割データの総数とを含む配信情報を、前記複数の末端ノード装置の各々に送信する手段と、
前記複数の末端ノード装置の各々からの分割データの配信の要求に応じて、その分割データを前記複数の末端ノード装置の各々に配信する手段とを備え、
前記複数の末端ノード装置が、各々、
前記配信情報に基づいてその末端ノード装置が最初に前記ルートノード装置に配信を要求する分割データを決定して、その分割データの配信を前記ルートノード装置に要求する手段を備える
ことを特徴とするデータ配信システム。
Data comprising a root node device that is a source of data, a plurality of terminal node devices to which the data is distributed, and a network that connects them, and the data is divided into a plurality of divided data and distributed. A distribution device,
The root node device is
Transmission information including at least a node ID assigned to the terminal node device, a total number of the plurality of terminal node devices, and a total number of divided data obtained by dividing the data is transmitted to each of the plurality of terminal node devices. Means to
Means for distributing the divided data to each of the plurality of terminal node devices in response to a request for distribution of the divided data from each of the plurality of terminal node devices;
The plurality of end node devices are each
The terminal node device first determines divided data to request distribution to the root node device based on the distribution information, and includes means for requesting the root node device to distribute the divided data. Data distribution system.
JP2006097047A 2006-03-31 2006-03-31 Data distributing method and data distributing system Withdrawn JP2007272540A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006097047A JP2007272540A (en) 2006-03-31 2006-03-31 Data distributing method and data distributing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006097047A JP2007272540A (en) 2006-03-31 2006-03-31 Data distributing method and data distributing system

Publications (1)

Publication Number Publication Date
JP2007272540A true JP2007272540A (en) 2007-10-18

Family

ID=38675285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006097047A Withdrawn JP2007272540A (en) 2006-03-31 2006-03-31 Data distributing method and data distributing system

Country Status (1)

Country Link
JP (1) JP2007272540A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199335A (en) * 2008-02-21 2009-09-03 Kyocera Mita Corp Program distribution system, program distribution server device, and information processor
JP2009302887A (en) * 2008-06-13 2009-12-24 Kyocera Mita Corp Information security method and information security device
JP2012008616A (en) * 2010-06-22 2012-01-12 Nec Corp Terminal device, download method, and program
WO2012005016A1 (en) * 2010-07-08 2012-01-12 株式会社日立製作所 Method of calculating feature-amount of digital sequence, and apparatus for calculating feature-amount of digital sequence
JP2019533233A (en) * 2016-09-14 2019-11-14 アマゾン・テクノロジーズ、インコーポレイテッド Media storage

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199335A (en) * 2008-02-21 2009-09-03 Kyocera Mita Corp Program distribution system, program distribution server device, and information processor
JP2009302887A (en) * 2008-06-13 2009-12-24 Kyocera Mita Corp Information security method and information security device
JP2012008616A (en) * 2010-06-22 2012-01-12 Nec Corp Terminal device, download method, and program
WO2012005016A1 (en) * 2010-07-08 2012-01-12 株式会社日立製作所 Method of calculating feature-amount of digital sequence, and apparatus for calculating feature-amount of digital sequence
JP2012018549A (en) * 2010-07-08 2012-01-26 Hitachi Ltd Method and device for calculating digital sequence feature amount
JP2019533233A (en) * 2016-09-14 2019-11-14 アマゾン・テクノロジーズ、インコーポレイテッド Media storage
US10701377B2 (en) 2016-09-14 2020-06-30 Amazon Technologies, Inc. Media storage
US11553196B2 (en) 2016-09-14 2023-01-10 Amazon Technologies, Inc. Media storage
US11785232B2 (en) 2016-09-14 2023-10-10 Amazon Technologies, Inc. Media storage

Similar Documents

Publication Publication Date Title
US11297140B2 (en) Point of presence based data uploading
EP2901308B1 (en) Load distribution in data networks
EP2972957B1 (en) Method and apparatus for implementing distributed content caching in a content delivery network
KR101585146B1 (en) Distribution storage system of distributively storing objects based on position of plural data nodes, position-based object distributive storing method thereof, and computer-readable recording medium
US11553014B2 (en) Downloading of server-based content through peer-to-peer networks
KR20010088742A (en) Parallel Information Delievery Method Based on Peer-to-Peer Enabled Distributed Computing Technology
EP3087722B1 (en) Peer-to-peer network prioritizing propagation of objects through the network
CN113875206B (en) Dedicated virtual network replication of cloud databases
JP6301413B2 (en) Data transmission control method and apparatus
CN103023928A (en) P2P (peer-to-peer) node matching system and method
US20120179778A1 (en) Applying networking protocols to image file management
US7739364B2 (en) Method and apparatus for dynamically reconfiguring a server system
JP2007272540A (en) Data distributing method and data distributing system
US20100111102A1 (en) Resource allocation in peer-to-peer streaming
JP2004199578A (en) Content delivery method, device, program, and storage medium
US7475128B2 (en) Information processing device, information processing method, and computer program
US9860171B2 (en) Large scale message routing in a distributed network
KR101600717B1 (en) Method and apparatus for download virtual machine operating system image
CN108512877B (en) Method and device for sharing data in server cluster
JP2006319466A (en) Information distribution system, processing program, management program, and information distribution method or the like
CN102017568A (en) System for delivery of content to be played autonomously
CN113382050B (en) Message transmission method, system, computing device and storage medium
US9942314B2 (en) System and method for optimizing web service availability with a node group agreement protocol
US20130111068A1 (en) Creating an optimized distribution network for the efficient transfer of data between endpoints using crossover connections
Liu et al. Cooper: Expedite Batch Data Dissemination in Computer Clusters with Coded Gossips

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090602