JP5119844B2 - File transfer system, file transfer method, file transfer program, and index server - Google Patents
File transfer system, file transfer method, file transfer program, and index server Download PDFInfo
- Publication number
- JP5119844B2 JP5119844B2 JP2007263383A JP2007263383A JP5119844B2 JP 5119844 B2 JP5119844 B2 JP 5119844B2 JP 2007263383 A JP2007263383 A JP 2007263383A JP 2007263383 A JP2007263383 A JP 2007263383A JP 5119844 B2 JP5119844 B2 JP 5119844B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- transfer
- node
- terminal
- source node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明はファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバに関し、例えば、同一のファイルを多数のノードに転送する場合に適用して好適なものである。 The present invention relates to a file transfer system, a file transfer method, a file transfer program, and an index server. For example, the present invention is suitable for application when transferring the same file to many nodes.
例えば、コンテンツ配信システムにおいては、同一のコンテンツ(ファイル)を多くの端末に配信する。このようなシステムでは、端末の能力や仕様などが様々であるため、IP(Internet Protocol)を中心とした汎用ネットワークプロトコルにより相互通信可能な環境下でコンテンツを配信する。例えば、10MBを越えるような大容量のコンテンツは、転送が困難であり、転送中、送信元装置(サーバ)側のリソースが転送処理に傾注されるため、該当サーバへの負荷が集中すると、ネットワークが輻輳したり送信元装置の処理が追いつかずサービス不能になったりという事象が生じやすい。 For example, in a content distribution system, the same content (file) is distributed to many terminals. In such a system, since the capabilities and specifications of the terminals vary, content is distributed in an environment where mutual communication is possible using a general-purpose network protocol centering on IP (Internet Protocol). For example, a large-capacity content exceeding 10 MB is difficult to transfer, and the resources on the transmission source device (server) side are concentrated on the transfer process during the transfer. Are likely to become congested or the processing of the transmission source device cannot catch up and the service becomes impossible.
そのため、送信元装置の負荷を軽減し、輻輳を回避することが望まれている。また、ファイルを適当なサイズに分割した上で配信し、途中で転送が中断しても修復可能なようにすることが望まれている。 Therefore, it is desired to reduce the load on the transmission source device and avoid congestion. In addition, it is desired to distribute a file after dividing it into an appropriate size so that it can be repaired even if the transfer is interrupted.
このような要求に応えるべく、P2P型ファイル交換技術を利用することが考えられている。 In order to meet such a demand, it is considered to use a P2P type file exchange technology.
クライアント/サーバ型のシステムでは、ファイルはサーバに存在するので、ファイルの「場所」を探す必要はない。 In a client / server type system, since the file exists in the server, it is not necessary to search for the “location” of the file.
一方、P2P型のシステムでは、ファイルは各ピアが保持しており、固定的な場所にファイルがまとまって存在しているわけではない。そのため、ファイルを要求するノードは、ファイルの取得を開始する前に、何らかの方法でファイルの所在情報を得る「データ探索」が必要である。P2Pアプリケーションは、探索方法にそれぞれ様々な工夫を凝らしており、その工夫により、(1)ハイブリッドP2P、(2)ピュアP2P、(3)スーパーノード型ハイブリッドP2Pなどに分類できる(非特許文献1参照)。 On the other hand, in the P2P system, the file is held by each peer, not the file is exist collectively in a fixed location. Therefore, a node that requests a file needs “data search” to obtain the location information of the file by some method before starting to acquire the file. P2P applications have various contrivances in the search method, and can be classified into (1) hybrid P2P, (2) pure P2P, (3) super node type hybrid P2P, etc. (see Non-Patent Document 1). ).
「ハイブリッドP2P」は、クライアント/サーバ型とP2P型のハイブリッドである。ファイルの所在情報は固定的なサーバが一手に引き受ける。各ノードは、予め知っているサーバに問い合わせることで、ファイルの場所を知る。ファイルの探索を行うサーバのことを「インデックスサーバ」という。インデックスサーバは、ファイルの所在情報のみを扱い、ファイルの実体は、ピア同士でやり取りする点が、クライアント/サーバ型と異なっている。 “Hybrid P2P” is a hybrid of a client / server type and a P2P type. File location information is handled by a fixed server. Each node knows the location of the file by making an inquiry to a server that it knows in advance. A server that searches for a file is called an “index server”. The index server handles only the file location information, and the file entity is different from the client / server type in that peers communicate with each other.
特許文献1は、このようなハイブリッドP2Pを、コンテンツ配信システムに適用した技術を記載している。特許文献1に記載のシステムは、コンテンツを相互に配信する多数のダイナミックピアと、コンテンツの配信を管理するセンタサーバとを備える。各ダイナミックピアは、自身の動作状況をセンタサーバに通知し、センタサーバは、その動作状況に基づいて、各ダイナミックピアの負荷を計算し、登録する。各ダイナミックピアは、センタサーバからコンテンツリストを取得し、所望のコンテンツを取得している他のダイナミックピアを探し、負荷が最も低いダイナミックピアからコンテンツをダウンロードする。
特許文献1に記載のようなP2P型のシステムでは、ピア同士で効率的なトポロジを構成し、ピア同士のファイル転送を行うことによってサーバ(やスタチックピア)への負荷集中という問題を軽減できる。 In the P2P type system described in Patent Document 1, an efficient topology is configured between peers, and file concentration between peers can reduce the problem of load concentration on a server (or static peer).
しかしながら、特許文献1の記載技術では、各ダイナミックピアにコンテンツを複製して分散配置させているが、その時点で負荷が最も小さいダイナミックピアを配信元に決定するようにしているため、センタサーバは、各ダイナミックピアの負荷状況を常時把握していなければならず、また、負荷が常時変化する中で、各コンテンツを保持しているダイナミックピアを認識していなければならず、これらの処理の負担は大きい。また、ダイナミックピアやスタチックピアも、頻繁に負荷をセンタサーバに報告しなければならない。 However, in the technology described in Patent Document 1, content is replicated and distributed in each dynamic peer, but since the dynamic peer with the smallest load at that time is determined as the distribution source, the center server It is necessary to keep track of the load status of each dynamic peer, and to recognize the dynamic peer holding each content while the load is constantly changing. Is big. Also, dynamic peers and static peers must frequently report the load to the center server.
なお、P2P型を適用したとしても、ファイルを保持しているノード(サーバ又はピア)が一つの場合には、アクセスは、そのファイルを持つノードに集中せざるを得ない。 Even if the P2P type is applied, when there is one node (server or peer) holding a file, access must be concentrated on the node having the file.
また、P2P型システムは、中身とは異なるファイル名による偽装捏造、ウィルスを混入させた悪質ファイルの流通等、ファイルの正当性の保証に問題があると共に、著作権の侵害がある場合や個人情報・国家機密・企業機密等の流通が望ましくない情報も一度ファイルが広まったら流通を止められないといった問題も、最近の情報漏洩等の数々の事件から顕在化してきている。 In addition, P2P type systems have problems in guaranteeing the legitimacy of files, such as fake forgery with a file name different from the contents, and the distribution of malicious files mixed with viruses.・ The problem that the distribution of information that is not desirable for distribution, such as national secrets and corporate secrets, cannot be stopped once the file has spread, has become apparent from numerous incidents such as recent information leaks.
さらに、従来のファイル転送方式では、目的とするファイルがネットワーク内に極端に少ない状況では、一度転送元との接続が切れてしまうと転送元を再度見つけるのが容易ではないという問題が生じる恐れがある。例えば、特許文献1の記載技術の場合、コンテンツの転送を受けていたダイナミックピアが、接続が切れる異常により、転送元の情報を消失した場合、センタサーバに、どの転送元から転送していたかの情報が残っていないため、転送元を再度見つけるのが容易ではなく、転送元の決定から再度やり直さなければならないという課題を有する。 Furthermore, with the conventional file transfer method, there may be a problem that it is not easy to find the transfer source again once the connection with the transfer source is broken once the target file is extremely few in the network. is there. For example, in the case of the technology described in Patent Document 1, when the dynamic peer that has received the content transfer loses the information of the transfer source due to the disconnection abnormality, information on which transfer source was transferred to the center server Therefore, it is not easy to find the transfer source again, and there is a problem that it is necessary to start again from the determination of the transfer source.
本発明は、以上の点に鑑みなされたものであり、ネットワーク輻輳、サーバへの負荷集中というインフラ系の課題を解決でき、さらに、正当性の保証、望ましくない情報流通の阻止、情報流通の効率化を達成できるファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバを提供しようとするものである。 The present invention has been made in view of the above points, and can solve the problems of the infrastructure system such as network congestion and load concentration on the server. Further, the present invention guarantees validity, prevents undesired information distribution, and efficiency of information distribution. An object of the present invention is to provide a file transfer system, a file transfer method, a file transfer program, and an index server that can achieve the above.
第1の本発明は、ファイルを欲するノードが、インデックスサーバにそのファイルを保持している転送元ノードとなるノードを問合せ、インデックスサーバが決定した転送元ノードの返信を受け、その転送元ノードからファイルの転送を受けるファイル転送システムにおいて、上記インデックスサーバは、過去の転送における転送元及び転送先ノードを方向を持ったリンクで結んだツリー構造のトポロジ情報を、ファイル毎に、管理するトポロジ情報管理手段と、トポロジ構造面以外で転送元ノードを決定するためのパラメータであって、転送元ノードとなり得るノード毎に、少なくともノードが属する地域及び利用可能な帯域を管理する決定用パラメータ管理手段と、上記転送元ノードを決定する転送元ノード決定手段とを備え、上記転送元ノード決定手段は、転送元ノードの候補の中から、ファイルを欲するノードの近傍地域に属するノードであって利用帯域が大きなノードを、上記転送元ノードに決定することを特徴とする。 In the first aspect of the present invention, a node that desires a file inquires a node serving as a transfer source node holding the file to the index server, receives a reply of the transfer source node determined by the index server, and receives a response from the transfer source node. In a file transfer system that receives file transfers, the index server manages topology information in a tree structure in which transfer sources and transfer destination nodes in past transfers are connected by links having directions, for each file. Parameters for determining a transfer source node other than the topology structure , and for each node that can be a transfer source node, a parameter management unit for determination that manages at least a region to which the node belongs and an available bandwidth; and a forwarding node determining means for determining the forwarding node, the upper Symbol transfers Node determining means, from the candidates of the source node, bandwidth usage by a node belonging to the neighborhood local node wants the file is large node, and determines on the forwarding node.
第2の本発明は、ファイルを欲するノードが、インデックスサーバにそのファイルを保持している転送元ノードとなるノードを問合せ、インデックスサーバが決定した転送元ノードの返信を受け、その転送元ノードからファイルの転送を受けるファイル転送システムにおけるインデックスサーバにおいて、(1)過去の転送における転送元及び転送先ノードを方向を持ったリンクで結んだツリー構造のトポロジ情報を、ファイル毎に、管理するトポロジ情報管理手段と、(2)トポロジ構造面以外で転送元ノードを決定するためのパラメータであって、転送元ノードとなり得るノード毎に、少なくともノードが属する地域及び利用可能な帯域を管理する決定用パラメータ管理手段と、(3)上記転送元ノードを決定する転送元ノード決定手段とを備え、(4)上記転送元ノード決定手段は、転送元ノードの候補の中から、ファイルを欲するノードの近傍地域に属するノードであって利用帯域が大きなノードを、上記転送元ノードに決定することを特徴とする。 In the second aspect of the present invention, a node that desires a file inquires a node serving as a transfer source node holding the file to the index server, receives a reply of the transfer source node determined by the index server, and receives a response from the transfer source node. In an index server in a file transfer system that receives a file transfer, (1) topology information for managing, for each file , topology information of a tree structure in which a transfer source and a transfer destination node in a past transfer are connected by a link having a direction. (2) Parameters for determining a transfer source node other than the topology structure, and for each node that can be a transfer source node, a determination parameter for managing at least a region to which the node belongs and an available bandwidth a management unit, (3) the forwarding node determining means for determining the forwarding node Comprising a, (4) above Symbol forwarding node determining means determines from the candidates of the source node, a large node bandwidth usage is a node belonging to the neighborhood local node wants the file to the forwarding node characterized in that it.
第3の本発明は、ファイルを欲するノードが、インデックスサーバにそのファイルを保持している転送元ノードとなるノードを問合せ、インデックスサーバが決定した転送元ノードの返信を受け、その転送元ノードからファイルの転送を受けるファイル転送方法において、(1)上記インデックスサーバは、トポロジ情報管理手段、決定用パラメータ管理手段及び転送元ノード決定手段を備え、(2)上記トポロジ情報管理手段は、過去の転送における転送元及び転送先ノードを方向を持ったリンクで結んだ、ツリー構造のトポロジ情報を、ファイル毎に管理し、(3)上記決定用パラメータ管理手段は、トポロジ構造面以外で転送元ノードを決定するためのパラメータであって、転送元ノードとなり得るノード毎に、少なくともノードが属する地域及び利用可能な帯域を管理し、(4)上記転送元ノード決定手段は、転送元ノードの候補の中から、ファイルを欲するノードの近傍地域に属するノードであって利用帯域が大きなノードを、上記転送元ノードに決定することを特徴とする。 In the third aspect of the present invention, a node that desires a file inquires a node serving as a transfer source node holding the file to the index server, receives a reply of the transfer source node determined by the index server, and receives a response from the transfer source node. In the file transfer method for receiving a file transfer, (1) the index server includes topology information management means, determination parameter management means, and transfer source node determination means, and (2) the topology information management means includes past transfer information. connecting the transfer source and the transfer destination node links having direction in the topology information of the tree structure, and managed for each file, (3) the determined parameter managing means, the forwarding node outside topology structure surface For each node that can be a transfer source node. (4) The transfer source node determination means selects a node that belongs to the vicinity of the node that wants the file and has a large use band from among the transfer source node candidates. The transfer source node is determined .
第4の本発明は、ファイルを欲するノードが、インデックスサーバにそのファイルを保持している転送元ノードとなるノードを問合せ、インデックスサーバが決定した転送元ノードの返信を受け、その転送元ノードからファイルの転送を受けるファイル転送システムのインデックスサーバに搭載されるファイル転送プログラムにおいて、上記インデックスサーバに搭載されるコンピュータを、(1)過去の転送における転送元及び転送先ノードを方向を持ったリンクで結んだツリー構造のトポロジ情報を、ファイル毎に、管理するトポロジ情報管理手段と、(2)トポロジ構造面以外で転送元ノードを決定するためのパラメータであって、転送元ノードとなり得るノード毎に、少なくともノードが属する地域及び利用可能な帯域を管理する決定用パラメータ管理手段と、(3)転送元ノードの候補の中から、ファイルを欲するノードの近傍地域に属するノードであって利用帯域が大きなノードを、上記転送元ノードに決定する転送元ノード決定手段として機能させることを特徴とする。 According to a fourth aspect of the present invention, a node that wants a file inquires a node serving as a transfer source node holding the file to the index server, receives a reply of the transfer source node determined by the index server, and receives a response from the transfer source node. In a file transfer program mounted on an index server of a file transfer system that receives a file transfer, the computer mounted on the index server is connected to (1) a link having a direction between a transfer source and a transfer destination node in the past transfer. Topology information management means for managing the topology information of the connected tree structure for each file, and (2) parameters for determining a transfer source node other than the topology structure surface, and for each node that can be a transfer source node Decision to manage at least the region to which the node belongs and the available bandwidth And use parameter management unit, (3) transfer from the source node of the candidate, a large node bandwidth usage is a node belonging to the neighborhood local node wants the file, the source node determining means for determining to the forwarding node It is made to function as.
本発明によれば、ネットワーク輻輳、サーバへの負荷集中というインフラ系の課題を解決でき、さらに、正当性の保証、望ましくない情報流通の阻止、情報流通の効率化を達成できるようになる。 According to the present invention, it is possible to solve infrastructure problems such as network congestion and load concentration on a server, and further, it is possible to achieve guarantee of legitimacy, prevention of undesirable information distribution, and efficiency of information distribution.
(A)第1の実施形態
以下、本発明によるファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバの第1の実施形態を、図面を参照しながら詳述する。ここで、第1の実施形態に係るファイル転送システムは、P2P型ファイル交換技術の分類から言えば、ハイブリッドP2P型に属するものとなっている。
(A) First Embodiment Hereinafter, a first embodiment of a file transfer system, a file transfer method, a file transfer program, and an index server according to the present invention will be described in detail with reference to the drawings. Here, the file transfer system according to the first embodiment belongs to the hybrid P2P type in terms of the classification of the P2P type file exchange technology.
(A−1)第1の実施形態の構成
図2は、第1の実施形態に係るファイル転送システム10の構成要素のネットワーク接続構成を示している。
(A-1) Configuration of First Embodiment FIG. 2 shows a network connection configuration of components of the file transfer system 10 according to the first embodiment.
図2において、第1の実施形態に係るファイル転送システム10は、ファイル探索情報を全て把握している1又は複数のインデックスサーバ12と、エンドユーザが利用するファイルの転送元、転送先となり得る複数のクライアント端末(以下、端末と略する)13がそれぞれ、インターネット11に接続されて構成されている。
In FIG. 2, the file transfer system 10 according to the first embodiment includes one or a plurality of
各インデックスサーバ12は、ハードウェアとして汎用サーバを利用することが可能であり、各端末13は、ハードウェアとして汎用端末を利用することが可能であり、サーバ側処理もクライアント側処理も、ソフトウェア(第1の実施形態のファイル転送プログラム)として、各々のハードウェアに機能収容される。端末13のソフトウェアは、例えば、P2Pアプリケーションとして搭載される。インデックスサーバ12は、1台のインデックスサーバで構成されても良く、負荷分散や、信頼性確保のための冗長を目的とし、複数台を分散配備して構成されても良い(図2は複数台を分散配備して構成している場合を示している)。複数台での分散処理の場合は、リアルタイムで後述する各種データベースの同期がなされることが望ましく、このため、1つのデータベースを複数台のサーバで共用したり、複数のデータベースで冗長構成をとったりする方式も適用するようにしても良い。
Each
図1は、インデックスサーバ12の論理的な機能構成と、端末13の論理的な機能構成を示すブロック図である。
FIG. 1 is a block diagram showing a logical functional configuration of the
インデックスサーバ12は、図1(A)に示すように、制御部21、端末選定部22、情報修正部23、ログ記録・格納部24、入出力部25、端末データベース部26及びファイルデータベース部27を有する。なお、図1(A)では通信部を省略している。
As shown in FIG. 1A, the
端末データベース部26及びファイルデータベース部27は、インデックスサーバ12内に機能縮退されていても良いし、別装置であっても良い。縮退の場合は、入出力部25は、PCI、ATAPI、SCSI、USB等の装置内インタフェース機能であり、別装置の場合は、入出力部25はネットワークインタフェース機能である。
The
制御部21は、CPU及びCPUが実行するプログラムで構成され、バスを介して他の各機能部の処理を制御するものである。
The
端末選定部22は、転送元探索要求を送信した端末13にとって最適な接続先端末(転送元端末)を選択し、指定接続先として転送元探索要求を送信した端末13に対して通知する。端末選定部22は、転送元探索要求に係るファイル情報に基づいて、ファイルデータベース部27を検索して得られる保持している端末13の情報と、端末データベース部26を検索して得られる端末情報(利用帯域、所属地域情報、端末当り最大許容転送数、現在の端末の転送数)を用いて、転送元探索要求を送信した端末13にとって最適な接続先端末を選択するものである。 The terminal selection unit 22 selects a connection destination terminal (transfer source terminal) that is optimal for the terminal 13 that has transmitted the transfer source search request, and notifies the terminal 13 that has transmitted the transfer source search request as the designated connection destination. The terminal selection unit 22 is based on the file information related to the transfer source search request, information on the terminal 13 that is obtained by searching the file database unit 27, and terminal information that is obtained by searching the terminal database unit 26 A connection destination terminal that is optimal for the terminal 13 that has transmitted the transfer source search request is selected using (use band, affiliation area information, maximum permissible transfer number per terminal, and current terminal transfer number).
第1の実施形態の場合、端末選定部22は、基本的には、バケツリレー方式又は回覧方式と呼ぶのが相応しい方式(以下、回覧方式と呼ぶ)に従って接続先端末(転送元端末)を選択(決定)するようになされている。回覧方式による1直線上の直近の端末13が、利用帯域、所属地域情報、端末当り最大許容転送数、現在の端末の転送数などの接続先制約条件から見て、接続先端末になれない場合に、その直線上の他の端末を候補とし、接続先制約条件を満足する他の端末13を接続先端末(転送元端末)に選択する。従って、上述のように、ファイルの流れは回覧方式を基本としながら、上流側で枝分かれすることがあり、トポロジ的にはツリー構造である。
In the case of the first embodiment, the terminal selection unit 22 basically selects a connection destination terminal (transfer source terminal) according to a method suitable for calling a bucket relay method or a circulation method (hereinafter referred to as a circulation method). (Decision) is made. When the
端末データベース部26は、当該ファイル転送システム10に収容されている各端末13の情報(端末情報)を管理するものである。端末情報(1レコード)は、図3に示すように、利用者のID・パスワード26a、端末のアドレス26b、利用帯域26c、ファイル当り最大許容転送数26d、端末当り最大許容転送数26e、現在の端末の転送数26f、所属地域情報26g、保有ファイル26h等である。
The
利用者のID・パスワード26aは、利用者の認証に利用するものである。
The user ID /
端末のアドレス26bは、例えば、ICMPによるtraceroute等を用いて得られたホップ数の小さい方を優先接続先として選択するのに利用される。すなわち、同様なレベルの接続先候補がある場合には、ホップ数を考慮して接続先が決定される。
The
利用帯域26cは、その端末13が接続先端末(転送元端末)として転送可能な帯域の上限である。すなわち、ファイルの種類を問わず、転送元として転送している総帯域がこの利用帯域を越えることはできない。利用帯域26cは、例えば、より大きな値を持つ端末13を優先接続先として選択するのに利用される。
The
ファイル当り最大許容転送数26dは、システムとして転送可能な1ファイル当りの上限の数であり、言い換えると、ファイル転送可能な最大リンク(分岐)数である。すなわち、あるファイルについて、転送元として転送する数は、このファイル当り最大許容転送数を超えることができない。同様な接続先の候補が複数ある場合には、後述する端末当り最大許容転送数26eに余裕が大きい方を優先させることもできる。また、ファイル当り最大許容転送数26dに満たない場合には、複数の転送元から同時に異なる部分の情報を受信することも可能である。
The maximum
端末当り最大許容転送数26eは、その端末13が、ファイルの種類を問わず、転送元として送信し得る転送の上限である。
The maximum
現在の端末の転送数26fは、その時点までに、その端末13が接続先端末(転送元端末)として転送した延べファイル数(ファイルの種類を問わない総転送数)や、ファイル毎の転送数である。
The
所属地域情報26gは、その端末13が所属している地域の情報である。例えば、端末選定部22は、ファイル転送を許容する地域間の情報(例えば、同一地域や、近傍地域など)を内部記憶している。所属地域情報26gは、同一あるいは近傍の所属地域情報を持つ端末13を優先接続先として選択するのに利用される。なお、所属地域情報26gは、ファイル転送を許容する地域間か否かの判定に利用するようにしても良い。
The
保有ファイル26hは、その端末13が保守しているファイルの種類(ファイル名)と各ファイルについて転送した数である。
The owned
ファイルデータベース部27には、端末13から提供されるアップロードリスト27Aの情報に加え、ファイル毎(ファイルの種類毎)に、ファイル転送経路に関するトポロジ情報27Bが格納されている。ファイルデータベース部27には、その他、判定未受信リスト27Cも設けられている。
In the file database unit 27, topology information 27B related to the file transfer path is stored for each file (for each file type) in addition to the information of the upload
ファイルの流れは、回覧方式を基本としながら、上流側で枝分かれすることがあるので、トポロジ情報27Bは、直線状、又は、下方に向かって枝分かれしているツリー構造をとる。 Since the file flow is based on the circulation method and may be branched on the upstream side, the topology information 27B has a linear structure or a tree structure branched downward.
アップロードリスト27Aは、各端末が送信可能なファイルのリストであり、図4に示すように、各ファイルに関し、ファイル名27Aa、ファイルサイズ27Ab、ハッシュ情報27Ac、ファイル種別27Ad、検索キーワード27Ae、サンプリングレート27Afや利用コーデック27Agや解像度27Ah等の関連パラメータといった情報を含んでいる。
The upload
ファイル名27Aa、ファイルサイズ27Ab、ハッシュ情報27Ac及びファイル種別27Adという4つのパラメータの組によって、各ファイルを一意に識別可能となっている。 Each file can be uniquely identified by a set of four parameters: file name 27Aa, file size 27Ab, hash information 27Ac, and file type 27Ad.
検索キーワード27Aeは、端末13に対して、利用者がこの検索キーワード27Aeを用いてファイルの検索を指示するようにすることができるものであり、検索キーワード27Aeを含むファイルの存在を識別するために利用される。 The search keyword 27Ae allows the user to instruct the terminal 13 to search for a file using the search keyword 27Ae. In order to identify the presence of a file including the search keyword 27Ae. Used.
ファイル種別27Ad、サンプリングレート27Af、利用コーデック27Ag、解像度27Ahは、音声、動画像ファイルに関して、端末13(利用者)が再生可能な環境を準備できているか否かを識別するために利用される。例えば、再生可能な環境が準備できていない場合は、転送終了後、端末13にその旨を通知する仕組みを加えることで利用者の使い勝手を向上させることができる。 The file type 27Ad, the sampling rate 27Af, the use codec 27Ag, and the resolution 27Ah are used for identifying whether or not the terminal 13 (user) can prepare a reproducible environment for audio and moving image files. For example, when a reproducible environment is not prepared, it is possible to improve the usability of the user by adding a mechanism for notifying the terminal 13 after the transfer is completed.
判定未受信リスト27Cは、ある端末が転送元としてファイルを転送したときに、その転送先の端末が、受信したファイルの正当性を判定してインデックスサーバ12に通知するが、その通知を受けていない場合に、このリスト27Cに転送元の端末をリストアップしておくものである。
In the determination
ログ記録・格納部24は、当該インデックスサーバ12の転送、情報送受信等の各種処理や障害イベント等に関わる情報を蓄積するものである。
The log recording / storage unit 24 accumulates information related to various processes such as transfer and information transmission / reception of the
情報修正部23は、端末データベース部26やファイルデータベース部27の情報を更新するための演算や情報修正を行うものである。
The information correction unit 23 performs calculations and information correction for updating information in the
一方、各端末13は、図1(B)に示すように、制御部31、設定格納部32、ログ記録・格納部33、ファイル格納部34、入出力部35、部分キャッシュ格納部36及び接続状態監視部37を有する。なお、図1(B)では通信部を省略している。
On the other hand, as shown in FIG. 1B, each terminal 13 includes a
制御部31は、CPU及びCPUが実行するプログラムで構成され、バスを介して他の各機能部の処理を制御するものである。
The
設定格納部32は、当該端末13についての、利用者のID・パスワード、端末のアドレス、利用帯域などなどの設定を格納しているものである。
The setting
ログ記録・格納部33は、当該端末13の転送、情報送受信等の各種処理や障害イベント等に関わる情報を蓄積するものである。
The log recording /
ファイル格納部34は、ハードディスクその他の大容量記憶装置が該当し、ファイルの情報を保持しているものである。ファイルの情報は、例えば、ファイル名、ファイルサイズ、ハッシュ情報、ファイル種別、検索キーワード、サンプリングレートや利用コーデックや解像度等の関連パラメータ等である。
The
入出力部35は、キーボードやマウスなどの入力部と、ディスプレイやプリンタなどの出力部とが該当する。入出力部35は、利用者によるファイル転送の要求を受け付けたり、転送されたファイルを表示出力したり印刷出力したりするものである。
The input /
部分キャッシュ格納部36は、転送の送信中のファイル、若しくは、転送されてきているファイルを一時的に格納しておくものである。当該端末13が、転送元端末として動作する際には、ファイル格納部34に格納されている該当するファイルが部分キャッシュ格納部36に移動される。当該端末13が、転送先端末として動作する際には、受信中のファイルは部分キャッシュ格納部36に格納され、転送終了時に、ファイルは部分キャッシュ格納部36からファイル格納部34に移動される。
The partial
接続状態監視部37は、インターネット11を介した、他の端末13やインデックスサーバ12との接続状態を関し、必要に応じて、再送制御などを行うものである。
The connection
(A−2)第1の実施形態の動作
次に、第1の実施形態に係るファイル転送システム10の各種動作を説明である。インデックスサーバ12が、複数台で負荷分散して動作しても良いことは上述の通りである。但し、以下の説明では、説明の簡単化のため、インデックスサーバ12が1台で構成されているように説明する。
(A-2) Operation of the First Embodiment Next, various operations of the file transfer system 10 according to the first embodiment will be described. As described above, the
まず、インデックスサーバ12におけるサービス起動時及びサービス停止時の動作を説明する。
First, the operation of the
初期状態(サービスの待機状態)にあるインデックスサーバ12は、起動操作に応じて起動処理を行い、起動処理の正常性を確認し、正常と判断されると、サービスの運用状態となる。起動処理の正常性の確認結果が異常と判断されると、インデックスサーバ12は初期状態を維持する。
The
また、運用状態にあるインデックスサーバ12は、停止操作に応じてサービスの停止処理を行い、停止処理の正常性を確認し、正常と判断されると初期状態となる。停止処理の正常性確認の結果が異常と判断されると、運用状態を維持する。
Further, the
次に、端末13のシステム接続時の動作を、図5のフローチャートを参照しながら説明する。また、端末13のシステム接続時の動作に呼応するインデックスサーバ12の動作も併せて説明する。
Next, the operation when the terminal 13 is connected to the system will be described with reference to the flowchart of FIG. The operation of the
インデックスサーバ12が運用状態にあるとき、端末13は、システム切断状態(ステップ101)から、インターネット11を介して、所定のインデックスサーバ12に対して、端末情報を伴って認証要求を行う(ステップ102)。この要求に先立ち、端末13は、利用者から利用者のID及びパスワードを取込み、これらに加え、端末のアドレス、利用帯域、転送されるファイル当りの最大許容転送数、端末当りの最大許容被転送数、所属地域情報を、端末情報に含めて認証要求を行う。
When the
ここで、端末情報を伴って認証要求が到来したインデックスサーバ12は、認証要求元の端末13の利用者のID及びパスワードにより、認証を行い、認証結果を端末13へ返信し、端末13は、認証結果を確認する(ステップ103)。なお、認証が失敗した場合には、インデックスサーバ12は端末13の接続を拒否し、端末13は、認証結果の返信に基づいて切断状態を維持する。認証が成功した場合には、端末13は、アップロードリスト情報をインデックスサーバ12へ送信する(ステップ104)。
Here, the
インデックスサーバ12は、端末13からアップロードリスト情報を受信すると、このアップロードリスト情報に基づいて、ファイルの捏造・不良率を確認し、その結果を端末13に通知する(ステップ105)。ファイルの捏造・不良率とは、アップロードリスト情報に記載されているファイルの総数を分母とし、アップロードリスト情報に記載されているファイルのうちの捏造又は不良などの異常なファイルの数を分子にとった比率である。捏造・不良率が所定の閾値以上の場合には、インデックスサーバ13は端末13の接続を拒否し、端末13は切断状態を維持する。捏造・不良率が閾値未満の場合には、端末13は接続状態に移行する(ステップ106)。
When the
第1の実施形態の場合、ファイル転送の際、ファイルを授受する端末13同士は、互いにツリー型のトポロジを採っており、ファイルの流れは回覧型である。転送先(下流側)の端末は、転送元(上流側)の端末の部分キャッシュ格納部36の容量以上のファイルの情報を受信することはできない。
In the case of the first embodiment, at the time of file transfer, the
次に、端末13が所望するファイルの転送を受ける場合の動作を、図6及び図7のフローチャートを参照しながら詳述する。図6は、端末13側の動作を示し、図7は、インデックスサーバ側の動作を示している。 Next, the operation when the terminal 13 receives a desired file transfer will be described in detail with reference to the flowcharts of FIGS. FIG. 6 shows the operation on the terminal 13 side, and FIG. 7 shows the operation on the index server side.
端末13は、システムの接続状態にあるときに(ステップ151)、利用者から所望するファイルの受信要求操作がなされた場合(例えば、検索キーワードなどでファイルを特定する)には、そのファイルの転送を受けるための接続先となる他の端末を、インデックスサーバ12へ問い合わせる(ステップ152)。
When the terminal 13 is connected to the system (step 151) and the user performs a request for receiving a desired file (for example, the file is specified by a search keyword), the file is transferred. The
インデックスサーバ12は、運用状態において(ステップ201)、端末13から問合せを受けると(ステップ202)、所望ファイルの有無や、利用可能な接続先端末有無の確認を行う(ステップ203)。所望ファイルが存在しない場合には、その旨を問合せの返答として端末13に返信し(ステップ210)、所望ファイルが存在するが利用可能な接続先端末が存在しない場合には、待機を指示する旨を問合せの返答として端末13に返信し(ステップ209)、所望ファイルが存在し、かつ、利用可能な接続先端末が存在する場合には、指定接続先を決定した上で(候補が1個の場合には自動的にその端末に決定される)、決定された指定接続先情報を問合せの返答として端末13に返信する(ステップ204)。
When the
インデックスサーバ12は、問合せの返答を行う際には、適宜、端末データベース部26やファイルデータベース部27の更新や、ログ記録・格納部24に対するログの格納などを行う。例えば、ファイルデータベース部27のトポロジ情報に、問合せ端末を「受信中端末」として追加する。
The
所望ファイルが存在するが利用可能な接続先端末が存在しない場合とは、例えば、接続先端末となり得る端末が、現在転送中であって、並列転送の能力がない場合や、並列転送の能力はあっても利用帯域の未使用帯域では所望ファイルを転送できない場合などが該当する。 The case where the desired file exists but there is no usable connection destination terminal means that, for example, a terminal that can be a connection destination terminal is currently transferring and has no parallel transfer capability, or the parallel transfer capability is Even in such a case, a case where a desired file cannot be transferred in the unused bandwidth of the usage bandwidth is applicable.
端末13から問合せを受けたインデックスサーバ12は、例えば、以下のようにして指定接続先を決定する。
The
まず、保持端末が接続先になり得るかを確認し、接続先になり得る保持端末が一つのときには、その保持端末を接続先端末に決定する。「保持端末」とは、第1の実施形態においては当該ファイル転送システム10内に、そのファイルが導入された際の端末(ツリー構造のトップノードとなる端末)をいう。なお、後述する第2の実施形態においては、「保持端末」とは、ファイルの全体を格納した端末をいい、当該ファイル転送システム10内にそのファイルが導入された際の端末だけでなく、転送を受けたためにファイルの全体を格納した端末も保持端末の概念に含まれる。 First, it is confirmed whether a holding terminal can be a connection destination. When there is one holding terminal that can be a connection destination, the holding terminal is determined as a connection destination terminal. In the first embodiment, the “holding terminal” refers to a terminal (terminal serving as a top node in a tree structure) when the file is introduced into the file transfer system 10. In the second embodiment to be described later, the “holding terminal” means a terminal that stores the entire file, and not only the terminal when the file is introduced into the file transfer system 10 but also the transfer. The terminal that stores the entire file because it received the message is also included in the concept of the holding terminal.
複数の保持端末が接続先になり得る場合には、問合せ端末の近傍地域(同一地域を含む概念)の端末で、かつ、利用帯域の大きな端末が優先される。この面での優先レベルが高い保持端末も複数ある場合には、上述した種々のパラメータにおける値から決定する。各種パラメータ間の優先関係は任意に定めて良く、各パラメータの段階を数値化し、それら数値の重み付け加算値を評価値として算出し、評価値が高いものを選定するようにしても良い。すなわち、優先度判断のアルゴリズムに関しては、パラメータによる重み付け設定が可能であることが望ましい。 When a plurality of holding terminals can be connection destinations, a terminal in a vicinity area (concept including the same area) of the inquiry terminal and a terminal having a large use band is given priority. In the case where there are a plurality of holding terminals having a high priority level in this aspect, it is determined from the values in the various parameters described above. The priority relationship between the various parameters may be arbitrarily determined, and the stage of each parameter may be converted into a numerical value, a weighted addition value of those numerical values may be calculated as an evaluation value, and a higher evaluation value may be selected. In other words, regarding the priority determination algorithm, it is desirable that weighting setting by parameters is possible.
全ての保持端末が、他の端末への転送で新たな接続要求を受け付ける余地がない場合や、端末当り最大許容転送数の割当に達してもはや転送元になり得ない場合など、接続先になれない場合には、保持端末以外の非保持端末のうち、ファイルを受信中でないものの中から、接続先を決定する。このような端末が複数ある場合の接続先の選定アルゴリズムは、保持端末の場合と同様であり、接続先端末を一つ決定する。 If all holding terminals have no room to accept new connection requests for transfer to other terminals, or if the maximum allowable transfer number per terminal has been reached and it can no longer be the transfer source, it can become the connection destination. If not, the connection destination is determined from non-holding terminals other than the holding terminal that are not receiving the file. The connection destination selection algorithm when there are a plurality of such terminals is the same as that of the holding terminal, and one connection destination terminal is determined.
非保持端末のうちファイルを受信中でない端末が存在しない場合には、受信中端末の中から接続先を選定する。受信中端末からの接続先の選定アルゴリズムにおいては、上位階層(トップノードに近い上流側)の端末が優先され、同一階層における複数の端末の中からの選定では、保持端末における選定アルゴリズムを準用する。受信中端末も、転送元端末になることもこの実施形態の一つの特徴となっている。受信中端末については、上位階層(トップノードに近い上流側)の端末を優先するようにしたので、受信しているファイル部分が、下位階層の端末より多いためである。 If there is no terminal that is not receiving a file among the non-holding terminals, a connection destination is selected from the receiving terminals. In the selection algorithm of the connection destination from the receiving terminal, priority is given to the terminal of the upper layer (upstream side close to the top node), and the selection algorithm in the holding terminal is applied mutatis mutandis when selecting from a plurality of terminals in the same layer. . One feature of this embodiment is that the receiving terminal is also the transfer source terminal. This is because the terminal being received is given priority to the terminal of the upper layer (upstream side close to the top node), and therefore the received file portion is larger than the terminal of the lower layer.
接続先の決定処理に際し、ファイル当り最大許容転送数、端末当り最大許容転送数の割当に達した保持端末又は非保持端末は、接続先としての選定対象から外される。 When determining the connection destination, the holding terminal or the non-holding terminal that has reached the allocation of the maximum permissible transfer number per file and the maximum permissible transfer number per terminal is excluded from the selection target as the connection destination.
以上のような接続先の決定方法により、一定期間に多数の転送元探索要求が集中するような場合に、受信端末によるツリー構造の転送経路トポロジが形成されることになる。 With the connection destination determination method as described above, when a large number of transfer source search requests are concentrated in a certain period, a transfer path topology having a tree structure by the receiving terminal is formed.
端末13は、問い合せたインデックスサーバ12から、所望ファイルが存在しない旨、又は、所望ファイルが存在するが利用可能な接続先端末が存在しない旨が返信された場合(ステップ153)、接続状態(待機状態)に戻る。
The terminal 13 replies from the inquired
これに対して、端末13は、問い合せたインデックスサーバ12から、接続先端末の指定が返信されると(ステップ154)、指定された接続先の端末に、該当するファイルの転送を要求し(ステップ155)、転送されてきたファイルを受信し(ステップ156)、ファイル転送が完了するのを待ち受ける(ステップ157)。 On the other hand, when the terminal 13 returns the designation of the connection destination terminal from the inquired index server 12 (step 154), the terminal 13 requests the designated connection destination terminal to transfer the corresponding file (step 154). 155) Receives the transferred file (step 156) and waits for the completion of the file transfer (step 157).
端末13は、ファイル転送が完了する前に、接続先端末(転送元端末)との接続が切断された場合には(ファイル転送が未了の場合には)、インデックスサーバ12への問合せから処理をやり直す。なお、図7では省略しているが、インデックスサーバ12は過去のログなどから、同一の端末13が再び問合せしてきたことを認識し、過去の決定を考慮して接続先端末を決定する。
If the connection with the connection destination terminal (transfer source terminal) is disconnected before the file transfer is completed (if the file transfer has not been completed), the terminal 13 processes from the inquiry to the
端末13は、ファイル転送が完了すると、インデックスサーバ12に対し転送完了通知(受信完了通知)を送信する(ステップ158)。 When the file transfer is completed, the terminal 13 transmits a transfer completion notification (reception completion notification) to the index server 12 (step 158).
インデックスサーバ12は、転送完了通知を受信すると(ステップ205)、その受信時の処理を行う(ステップ206)。例えば、送信端末の転送数を1つ削減すると共に、ファイルデータベース部27のトポロジ情報において、受信端末を「受信中端末」から該当ファイルを保持している「非保持端末」へ書き換えたり、配下の受信端末の階層情報を該当受信端末を基準として書き換えたりする。また例えば、正当性の判定結果を未受信である端末リストに、接続先端末(転送元端末)の情報を追加する。
When the
端末13は、転送されたファイルが捏造されたもの(例えばハッシュ情報から判断する)であるかや、不良なファイル(例えばウィルスに感染しているファイル)であるかなどの正当性を判定し、その判定結果を、インデックスサーバ12に送信し(ステップ159)、その接続状態(待機状態)に戻る。正当性の判定方法としては、既存の種々のものを適用できる。 The terminal 13 determines the legitimacy of whether the transferred file is forged (e.g., determined from hash information) or a defective file (e.g., a file infected with a virus). The determination result is transmitted to the index server 12 (step 159), and the connection state (standby state) is restored. Various existing methods can be applied as a method of determining validity.
インデックスサーバ12は、正当性の判定結果を受信すると、その受信時の処理を行う(ステップ208)。例えば、捏造・不良率情報を計算し直したり、判定未受信リストから、接続先(転送元)端末を削除したりする。また、判定結果が捏造又は不良ファイルを表している場合には、今回の接続先(転送元)端末を、今後、接続先端末として決定できないように情報を更新する処理を行う。
Upon receiving the validity determination result, the
接続先端末(転送元端末)の具体的な決定例を、図8を用いて説明する。図8は、端末13Aが保持端末であり、保持端末13Aから端末13B及び13Cがファイルの転送を受け、端末13Bから端末13Dがファイルの転送を受け、このようなトポロジ情報がインデックスサーバ12に記憶されている場合である。このような場合において、端末13Eがインデックスサーバ12に問合せを行ったとする。
A specific example of determining the connection destination terminal (transfer source terminal) will be described with reference to FIG. In FIG. 8, the terminal 13A is a holding terminal, the
唯一の保持端末13Aが接続先端末になり得る場合であれば、保持端末13Aが接続先端末に決定される。 If the only holding terminal 13A can be the connection destination terminal, the holding terminal 13A is determined as the connection destination terminal.
例えば、保持端末13Aのファイル当り最大許容転送数が「2」であって、保持端末13Aがもはや接続先端末になり得ない場合であれば、インデックスサーバ12は、端末13B〜13Dの中から接続先端末を決定する。まず、端末13B〜13Dの中でファイル受信を完了しているものがあるか否かを確認する。ファイル受信を完了しているものが端末13Bだけであれば、この端末13Bを接続先端末に決定する。ファイル受信を完了しているものが端末13B及び13Cであれば(端末13Dは受信中)、これら端末13B及び13Cを、まず、端末13Eとの地域の一致性と利用帯域の多少とで比較し、一方の端末13B又は13Cを接続先端末に決定する。地域の一致性と利用帯域の多少との面が同レベルであれば、他のパラメータから優先する端末を決定する。
For example, if the maximum allowable transfer number per file of the holding terminal 13A is “2” and the holding terminal 13A can no longer be a connection destination terminal, the
また例えば、保持端末13A及び端末13Bがもはや接続先端末になり得ない場合であれば、インデックスサーバ12は、端末13C及び13Dの中から接続先端末を決定する。端末13C及び13Dが共にファイル受信を完了している場合には、階層の相違は関係なく、上述した、ファイル受信を完了している端末が端末13B及び13Cである場合と同様な方法で接続先端末を決定する。端末13C及び13Dが共に受信中端末である場合には、端末13Cの方が上位階層であるので、端末13Cを接続先端末に決定する。
Further, for example, if the holding terminal 13A and the terminal 13B can no longer be the connection destination terminals, the
例えば、端末13Eの接続先端末として端末13Cが決定された場合には、トポロジ情報には、端末13E及び13Cを結ぶリンクが追加され、また、端末データベース部26における端末13E及び13Cの情報の更新などが実行される。
For example, if it is determined the terminal 13C as the connection destination terminal of the terminal 13E is the topology information,
フローチャートの図示は省略しているが、ある端末13において、ファイル格納部34から、あるファイルが削除された場合は、その旨が、端末13からインデックスサーバ12に通知され、インデックスサーバ12は、それを契機として、ファイルデータベース部27から、該当端末13がそのファイルを保持していることを表す情報を削除する。
Although illustration of the flowchart is omitted, in a
次に、端末13のシステム切断時の動作を説明する。端末13が接続状態(待機状態)のときに、切断操作がなされると、インターネット11を介して、所定のインデックスサーバ12に対して、切断要求を行う。インデックスサーバ12では、切断要求を受信すると、システム切断処理を行い、切断応答を端末13へ送信する。端末13は、切断応答を受信すると、切断状態となる。また、端末13の接続状態時あるいは切断要求時に、ネットワークやシステムに障害が起こると、端末13は強制的に切断状態となる。
Next, the operation of the terminal 13 when the system is disconnected will be described. When a disconnection operation is performed while the terminal 13 is in a connected state (standby state), a disconnection request is made to a
(A−3)第1の実施形態の効果
第1の実施形態によれば、ハイブリッドP2P型に属するファイル転送システムであるので、ネットワーク輻輳、サーバへの負荷集中というインフラ系の課題を解決できる。すなわち、ファイル保持端末が分散するため、アクセスの集中による輻輳が避けられる。
(A-3) Effects of the First Embodiment According to the first embodiment, since the file transfer system belongs to the hybrid P2P type, it is possible to solve infrastructure problems such as network congestion and load concentration on servers. That is, since the file holding terminals are distributed, congestion due to concentration of access can be avoided.
また、ファイル転送に関する情報を、インデックスサーバ側で管理できるため、違法ファイル(例えば著作権侵害ファイル)やウィルス等が入った有害ファイルの流通を防止し易い。 In addition, since information related to file transfer can be managed on the index server side, it is easy to prevent the circulation of harmful files containing illegal files (for example, copyright infringing files) or viruses.
さらに、ツリー状トポロジによるファイル流通であるため、流通の効率化を達成することができ、また、ダウンロードしたユーザを記録に残せるため、ファイル(情報)の流通を管理し易い。 Furthermore, since file distribution is based on a tree-like topology, distribution efficiency can be achieved, and since downloaded users can be recorded, it is easy to manage file (information) distribution.
さらにまた、既存のP2Pアプリケーションのように、端末同士のトポロジ構成は全てのファイル検索やダウンロードで一意というわけではなく、転送ファイル毎に異なる構成が自律的に発生し、そのため、より効率的な帯域利用が可能になる。 Furthermore, unlike existing P2P applications, the topology configuration between terminals is not unique for all file searches and downloads, and a different configuration for each transfer file occurs autonomously. Can be used.
また、ファイル転送が途中で中断しても、インデックスサーバなどのログ情報などに基づいて、接続先を容易に検索することができる。 Even if the file transfer is interrupted in the middle, the connection destination can be easily searched based on the log information of the index server or the like.
(B)第2の実施形態
次に、本発明によるファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバの第2の実施形態を、図面を参照しながら説明する。
(B) Second Embodiment Next, a file transfer system, a file transfer method, a file transfer program, and an index server according to a second embodiment of the present invention will be described with reference to the drawings.
上述した第1の実施形態において、ファイルの転送元となり得る端末は、当該ファイル転送システム10内にそのファイルが導入された際の保持端末、保持端末以外の端末であってファイルの全体を保持している端末、ファイルを受信中の端末、の3分類に分けられ、これら分類の相違も、接続先端末の決定に影響するものであった。 In the first embodiment described above, a terminal that can be a file transfer source is a terminal other than the holding terminal and the holding terminal when the file is introduced into the file transfer system 10 and holds the entire file. The terminals are classified into three categories, that is, the terminal that is receiving the file and the terminal that is receiving the file. Differences in these categories also affect the determination of the connection destination terminal.
この第2の実施形態では、当該ファイル転送システム10内にそのファイルが導入された際の端末であるためにファイルの全体を格納しているか、ファイル転送を受けたためにファイルの全体を格納しているかを問わず、ファイルの全体を格納している端末を保持端末としている。従って、第2の実施形態では、保持端末と受信中端末との2分類しかなく、接続先端末の決定にはこの2分類の相違を反映する。保持端末と受信中端末との間では、インデックスサーバ12で設定されたファイル当り最大許容転送数(転送チェーン数)に満たない場合には、保持端末を優先させる。 In the second embodiment, the entire file is stored because it is a terminal when the file is introduced into the file transfer system 10, or the entire file is stored because the file transfer is received. Regardless of whether the terminal stores the entire file is the holding terminal. Therefore, in the second embodiment, there are only two classifications of the holding terminal and the receiving terminal, and the difference between the two classifications is reflected in the determination of the connection destination terminal. In between the holding terminal and the reception in the terminal, if less than the file per maximum allowable number of transfers is set by the index server 12 (the number of transfer chain) is to prioritize the holding terminal.
インデックスサーバ12は、ファイルの転送完了通知を受信したときに行う、上述した図7のステップ206の処理において、「受信中端末」を「保持端末」に書き直す処理を実行すれば良い。その他は、第1の実施形態と同様である。
The
「受信中端末」を「保持端末」に書き直すことは、図9に示すように、その受信中の端末を転送元端末としてファイル転送を受けている端末があれば、その端末に係るトポロジも変更したと同様になる。 Rewriting “receiving terminal” to “holding terminal” means that if there is a terminal receiving file transfer with the receiving terminal as the transfer source terminal as shown in FIG. 9, the topology related to that terminal is also changed. It will be the same as
第2の実施形態によっても、第1の実施形態と同様な効果を奏することができる。これに加え、端末の分類数を少なくしたので、接続先(転送元)端末の決定アルゴリズムを簡易にすることができるという効果をも奏する。 According to the second embodiment, the same effect as that of the first embodiment can be obtained. In addition to this, since the number of classifications of terminals is reduced, it is possible to simplify the determination algorithm of the connection destination (transfer source) terminal.
(C)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
(C) Other Embodiments In the description of each of the above-described embodiments, various modified embodiments have been referred to. However, modified embodiments as exemplified below can be given.
上記各実施形態では、ファイルを転送し合うノードが端末であるものを示したが、本発明は端末に限定されないものである。すなわち、ファイルを転送し合うノードが対応であれば良く、端末に限定されるものではない。例えば、放送のキー局の装置が、その傘下の地方局の装置にコンテンツを配信し、各局の装置が有線で各利用者の装置にコンテンツを配信するようなシステムにおいて、各局の装置へのコンテンツの配信にも本発明を適用することができる。 In each of the above embodiments, the node that transfers files is a terminal, but the present invention is not limited to a terminal. That is, it is only necessary that the nodes that transfer files correspond to each other, and the file is not limited to a terminal. For example, in a system in which a broadcast key station device distributes content to local station devices under its control, and each station device distributes content to each user's device by wire, content to each station device The present invention can also be applied to the distribution of the above.
また、上記各実施形態では、ファイルの転送先端末へは、一つの転送元装置からファイルを転送する場合を示したが、複数の転送元装置から一つの転送先装置へファイルを転送するようにしても良い。例えば、ある端末Cへの転送元端末として、端末Aからのファイルを受信中の端末Bが決定された場合、端末Bは端末Cからの転送要求が与えられたときに、受信済みのファイル部分を端末Cへ転送し、端末Aは、端末Bからの指示に従い、端末Bへ転送する残りのファイル部分をコピーして、端末B及び端末Cに並列に転送するようにしても良い。 Further, in each of the above embodiments, a case where a file is transferred from one transfer source device to a file transfer destination terminal has been described. However, a file may be transferred from a plurality of transfer source devices to one transfer destination device. May be. For example, when a terminal B that is receiving a file from the terminal A is determined as a transfer source terminal to a certain terminal C, the terminal B receives the file portion that has been received when a transfer request from the terminal C is given. May be transferred to the terminal C, and the terminal A may copy the remaining file portion to be transferred to the terminal B in accordance with an instruction from the terminal B and transfer it to the terminals B and C in parallel.
上記実施形態では、受信中端末間で、上位階層の端末を優先させるものを示したが、問合せ時刻又は受信開始時刻が早いものを優先させるようにしても良い。 In the above-described embodiment, the priority is given to the terminal of the higher layer among the receiving terminals. However, the terminal with the earlier inquiry time or reception start time may be prioritized.
また、転送元端末として、受信中端末を認めないようにしても良い。この場合において、受信完了が直近の端末を接続先端末の決定で優先させるようにしても良い。また、システムを構成するノード数が少ない場合には、各ノードは他の1つのノードにのみ1つのファイルを転送できるようにしても良い。なお、受信中端末を含めても、受信開始時刻が遅いものを接続先端末の決定で優先させるようにしても良い。 In addition, the receiving terminal may not be recognized as the transfer source terminal. In this case, the terminal with the latest reception completion may be given priority in determining the connection destination terminal. Further, when the number of nodes constituting the system is small, each node may be able to transfer one file only to one other node. Note that, even if the terminal being received is included, priority may be given to determining the connection destination terminal that has a later reception start time.
上記説明は、転送されるファイルが動画コンテンツのイメージで説明したが、転送ファイルの種類は限定されるものではない。 In the above description, the file to be transferred is described as an image of moving image content, but the type of transfer file is not limited.
10…ファイル転送システム、11…インターネット、12…インデックスサーバ、13…クライアント端末、21…制御部、22…端末選定部、23…情報修正部、24…ログ記録・格納部、25…入出力部、26…端末データベース部、27…ファイルデータベース部、31…制御部、32…設定格納部、33…ログ記録・格納部、34…ファイル格納部、35…入出力部、36…部分キャッシュ格納部、37…接続状態監視部。
DESCRIPTION OF SYMBOLS 10 ... File transfer system, 11 ... Internet, 12 ... Index server, 13 ... Client terminal, 21 ... Control part, 22 ... Terminal selection part, 23 ... Information correction part, 24 ... Log recording / storage part, 25 ... Input / output part , 26 ... terminal database part, 27 ... file database part, 31 ... control part, 32 ... setting storage part, 33 ... log recording / storage part, 34 ... file storage part, 35 ... input / output part, 36 ... partial
Claims (5)
上記インデックスサーバは、
過去の転送における転送元及び転送先ノードを方向を持ったリンクで結んだツリー構造のトポロジ情報を、ファイル毎に、管理するトポロジ情報管理手段と、
トポロジ構造面以外で転送元ノードを決定するためのパラメータであって、転送元ノードとなり得るノード毎に、少なくともノードが属する地域及び利用可能な帯域を管理する決定用パラメータ管理手段と、
上記転送元ノードを決定する転送元ノード決定手段とを備え、
上記転送元ノード決定手段は、転送元ノードの候補の中から、ファイルを欲するノードの近傍地域に属するノードであって利用帯域が大きなノードを、上記転送元ノードに決定する
ことを特徴とするファイル転送システム。 File transfer in which a node that wants a file queries the index server for the node that is the transfer source node holding the file, receives a reply from the transfer source node determined by the index server, and receives a file transfer from the transfer source node In the system,
The index server
Topology information management means for managing, for each file , topology information of a tree structure in which transfer sources and transfer destination nodes in the past transfer are connected by links having directions;
Parameters for determining a transfer source node other than in the topology structure, and for each node that can be a transfer source node, a parameter management unit for determination that manages at least a region to which the node belongs and an available bandwidth,
A transfer source node determining means for determining the transfer source node,
Upper Symbol forwarding node determining means from the candidates of the source node, a large node bandwidth usage is a node belonging to the neighborhood local node wants the file, and determines on the forwarding node File transfer system.
過去の転送における転送元及び転送先ノードを方向を持ったリンクで結んだツリー構造のトポロジ情報を、ファイル毎に、管理するトポロジ情報管理手段と、
トポロジ構造面以外で転送元ノードを決定するためのパラメータであって、転送元ノードとなり得るノード毎に、少なくともノードが属する地域及び利用可能な帯域を管理する決定用パラメータ管理手段と、
上記転送元ノードを決定する転送元ノード決定手段とを備え、
上記転送元ノード決定手段は、転送元ノードの候補の中から、ファイルを欲するノードの近傍地域に属するノードであって利用帯域が大きなノードを、上記転送元ノードに決定する
ことを特徴とするインデックスサーバ。 File transfer in which a node that wants a file queries the index server for the node that is the transfer source node holding the file, receives a reply from the transfer source node determined by the index server, and receives a file transfer from the transfer source node In the index server in the system,
Topology information management means for managing, for each file , topology information of a tree structure in which transfer sources and transfer destination nodes in the past transfer are connected by links having directions;
Parameters for determining a transfer source node other than in the topology structure, and for each node that can be a transfer source node, a parameter management unit for determination that manages at least a region to which the node belongs and an available bandwidth,
A transfer source node determining means for determining the transfer source node,
Upper Symbol forwarding node determining means from the candidates of the source node, a large node bandwidth usage is a node belonging to the neighborhood local node wants the file, and determines on the forwarding node Index server.
上記インデックスサーバは、トポロジ情報管理手段、決定用パラメータ管理手段及び転送元ノード決定手段を備え、
上記トポロジ情報管理手段は、過去の転送における転送元及び転送先ノードを方向を持ったリンクで結んだ、ツリー構造のトポロジ情報を、ファイル毎に管理し、
上記決定用パラメータ管理手段は、トポロジ構造面以外で転送元ノードを決定するためのパラメータであって、転送元ノードとなり得るノード毎に、少なくともノードが属する地域及び利用可能な帯域を管理し、
上記転送元ノード決定手段は、転送元ノードの候補の中から、ファイルを欲するノードの近傍地域に属するノードであって利用帯域が大きなノードを、上記転送元ノードに決定する
ことを特徴とするファイル転送方法。 File transfer in which a node that wants a file queries the index server for the node that is the transfer source node holding the file, receives a reply from the transfer source node determined by the index server, and receives a file transfer from the transfer source node In the method
The index server includes topology information management means, determination parameter management means and transfer source node determination means,
The topology information management means connecting the transfer source and the transfer destination node in a past transfer link having a direction, the topology information of the tree structure, and managed for each file,
The determination parameter management means is a parameter for determining a transfer source node other than the topology structure, and for each node that can be a transfer source node, manages at least a region to which the node belongs and an available bandwidth,
The transfer source node determining means determines, from the transfer source node candidates, a node belonging to an area near the node that desires the file and having a large use band as the transfer source node. Transfer method.
過去の転送における転送元及び転送先ノードを方向を持ったリンクで結んだツリー構造のトポロジ情報を、ファイル毎に、管理するトポロジ情報管理手段と、
トポロジ構造面以外で転送元ノードを決定するためのパラメータであって、転送元ノードとなり得るノード毎に、少なくともノードが属する地域及び利用可能な帯域を管理する決定用パラメータ管理手段と、
転送元ノードの候補の中から、ファイルを欲するノードの近傍地域に属するノードであって利用帯域が大きなノードを、上記転送元ノードに決定する転送元ノード決定手段と
して機能させることを特徴とするファイル転送プログラム。 File transfer in which a node that wants a file queries the index server for the node that is the transfer source node holding the file, receives a reply from the transfer source node determined by the index server, and receives a file transfer from the transfer source node In the file transfer program installed in the index server of the system,
Topology information management means for managing, for each file , topology information of a tree structure in which transfer sources and transfer destination nodes in the past transfer are connected by links having directions;
Parameters for determining a transfer source node other than in the topology structure, and for each node that can be a transfer source node, a parameter management unit for determination that manages at least a region to which the node belongs and an available bandwidth,
A node that belongs to the neighborhood of the node that wants the file and that has a large bandwidth is made to function as a transfer source node determination unit that determines the transfer source node from among the transfer source node candidates. File transfer program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007263383A JP5119844B2 (en) | 2007-10-09 | 2007-10-09 | File transfer system, file transfer method, file transfer program, and index server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007263383A JP5119844B2 (en) | 2007-10-09 | 2007-10-09 | File transfer system, file transfer method, file transfer program, and index server |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009093417A JP2009093417A (en) | 2009-04-30 |
JP5119844B2 true JP5119844B2 (en) | 2013-01-16 |
Family
ID=40665348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007263383A Active JP5119844B2 (en) | 2007-10-09 | 2007-10-09 | File transfer system, file transfer method, file transfer program, and index server |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5119844B2 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102947821A (en) * | 2010-03-26 | 2013-02-27 | 日电(中国)有限公司 | Indexing server and method therefor |
KR101226476B1 (en) * | 2010-11-05 | 2013-01-25 | (주)윌비솔루션 | Peer-to-Peer OLAP system |
JP5506640B2 (en) * | 2010-11-24 | 2014-05-28 | 日本電信電話株式会社 | Content delivery method and system |
US9098344B2 (en) * | 2011-12-27 | 2015-08-04 | Microsoft Technology Licensing, Llc | Cloud-edge topologies |
US9374420B2 (en) * | 2012-12-14 | 2016-06-21 | Microsoft Technology Licensing, Llc | Content source selection in a P2P network |
US10391387B2 (en) | 2012-12-14 | 2019-08-27 | Microsoft Technology Licensing, Llc | Presenting digital content item with tiered functionality |
US9716749B2 (en) | 2012-12-14 | 2017-07-25 | Microsoft Technology Licensing, Llc | Centralized management of a P2P network |
US9413846B2 (en) | 2012-12-14 | 2016-08-09 | Microsoft Technology Licensing, Llc | Content-acquisition source selection and management |
JP6389407B2 (en) * | 2014-09-25 | 2018-09-12 | Kddi株式会社 | Content sharing system and content sharing method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007193602A (en) * | 2006-01-19 | 2007-08-02 | Fujitsu Ltd | Method and apparatus for managing stream data distribution |
JP2007228558A (en) * | 2006-01-27 | 2007-09-06 | Ricoh Co Ltd | System and method for distributing file |
-
2007
- 2007-10-09 JP JP2007263383A patent/JP5119844B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009093417A (en) | 2009-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5119844B2 (en) | File transfer system, file transfer method, file transfer program, and index server | |
JP4317522B2 (en) | Network traffic control in a peer-to-peer environment | |
US7610333B2 (en) | Method and apparatus for operating a computer network | |
US8924460B2 (en) | Method and system of administrating a peer-to-peer file sharing network | |
EP2058980B1 (en) | A method, system and device for establishing a peer to peer connection in a p2p network | |
JP5526137B2 (en) | Selective data transfer storage | |
US8195742B2 (en) | Distributed client services based on execution of service attributes and data attributes by multiple nodes in resource groups | |
US7634566B2 (en) | Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality | |
US20050027862A1 (en) | System and methods of cooperatively load-balancing clustered servers | |
US20150201036A1 (en) | Gateway device, file server system, and file distribution method | |
US10412188B2 (en) | Data caching, distribution and request consolidation in a local network | |
US20100293294A1 (en) | Peer-to-peer communication optimization | |
US20090248804A1 (en) | Access request transfer system, access request transfer method, and recording medium storing access request transfer program | |
JP2007507760A (en) | Secure cluster configuration dataset transfer protocol | |
CN102866995B (en) | File access method for PPN (Peer-to-Peer Network), management method and distributed file system | |
US20110307564A1 (en) | Data node apparatus, peer information acquisition method and system | |
US10873645B2 (en) | Software application updating in a local network | |
Bhuvana Suganth et al. | Fault tolerance communication in mobile distributed networks | |
US20110093534A1 (en) | System For Delivery Of Content To Be Played Autonomously | |
US11606415B2 (en) | Method, apparatus and system for processing an access request in a content delivery system | |
CN101401388A (en) | Method for operating a decentralized data network | |
JP2008304982A (en) | Information management method and information processor | |
US20060136487A1 (en) | Clustering apparatus and method for content delivery system by content classification | |
CN109347991A (en) | Document distribution method, device, equipment and medium | |
US20080091740A1 (en) | Method for managing a partitioned database in a communication network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100316 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120925 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121008 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151102 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5119844 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |