[go: up one dir, main page]

JP4361498B2 - Data processing system, request source device, data processing method, request source device control method, and program - Google Patents

Data processing system, request source device, data processing method, request source device control method, and program Download PDF

Info

Publication number
JP4361498B2
JP4361498B2 JP2005018606A JP2005018606A JP4361498B2 JP 4361498 B2 JP4361498 B2 JP 4361498B2 JP 2005018606 A JP2005018606 A JP 2005018606A JP 2005018606 A JP2005018606 A JP 2005018606A JP 4361498 B2 JP4361498 B2 JP 4361498B2
Authority
JP
Japan
Prior art keywords
auxiliary
request
central
response
fragment
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.)
Expired - Fee Related
Application number
JP2005018606A
Other languages
Japanese (ja)
Other versions
JP2006209343A (en
Inventor
昌二 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co 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 Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2005018606A priority Critical patent/JP4361498B2/en
Publication of JP2006209343A publication Critical patent/JP2006209343A/en
Application granted granted Critical
Publication of JP4361498B2 publication Critical patent/JP4361498B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、ネットワーク経由でデータを取得する際に、一つの中央装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、これらをコンピュータにて実現するプログラムに関する。   The present invention provides a data processing system, a central device, an auxiliary device, a request source device, a central service method, which are suitable for preventing as much access as possible from being concentrated on one central device when acquiring data via a network, The present invention relates to an auxiliary service method, a request source method, and a program for realizing these on a computer.

従来から、インターネットを経由して、ネットワークごしに各種のデータを端末にダウンロードする技術が利用されている。このような技術については、たとえば以下の文献に開示がある。
特開2004−287631号公報
Conventionally, a technique of downloading various data to a terminal via a network via the Internet has been used. Such techniques are disclosed in the following documents, for example.
Japanese Patent Application Laid-Open No. 2004-287731

この文献に開示される技術は、以下の通りである。すなわち、中央装置は、複数の端末にダウンロードさせるべきファイルの入力を受け付け、入力を受け付けられたファイルを複数に分割し、分割された結果(以下、それぞれを「セクタ」という。)のそれぞれと、当該セクタの当該ファイルにおける位置と、の対を、送信する。一方、複数の端末のそれぞれは、ダウンロード中央装置から送信される対を受信し、受信された対に指定されたセクタと、当該セクタの当該ファイルにおける位置と、を取得し、取得されたセクタの内容を、ダウンロードすべきファイルを復元するための記憶域のうち取得された位置に、記憶させ、当該記憶域中にすべてのセクタの内容が記憶された場合、当該記憶域に記憶された内容をダウンロードされたファイルとする。   The technology disclosed in this document is as follows. That is, the central device accepts input of files to be downloaded to a plurality of terminals, divides the accepted file into a plurality of pieces, and each of the divided results (hereinafter referred to as “sectors”), A pair with the position of the sector in the file is transmitted. On the other hand, each of the plurality of terminals receives the pair transmitted from the download central device, acquires the sector specified in the received pair and the position of the sector in the file, and acquires the sector of the acquired sector. When the contents are stored in the obtained location in the storage area for restoring the file to be downloaded and the contents of all sectors are stored in the storage area, the contents stored in the storage area are stored. Let it be a downloaded file.

一方で、たとえばネットワークゲームや各種のウェブサービスにおいてユーザにデータを提供しようとする場合、データ提供サーバに対するアクセスが集中してしまうという問題が生じている。   On the other hand, for example, when trying to provide data to a user in a network game or various web services, there is a problem that access to the data providing server is concentrated.

従来は、データ提供サーバを複数用意して各ユーザが別々のサーバにアクセスするようにしたり、あるサーバに問い合わせを行って実際にダウンロード処理を行うサーバの指定を受け、当該サーバの指定をラウンドロビンやランダムに行う技術が広く用いられてきた。   Conventionally, a plurality of data providing servers are prepared so that each user can access a separate server, or a server to which an actual download process is performed by inquiring to a certain server is specified. Random techniques have been widely used.

一方で、データ提供サーバへのアクセス集中をできるだけ防止するための技術は、従来から用いられているもので十分ではなく、用途に応じた種々の技術が強く求められている。
本発明は、上記のような課題を解決するためになされたもので、ネットワーク経由でデータを取得する際に、一つの装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
On the other hand, the technology for preventing concentration of access to the data providing server as much as possible is not sufficient from the conventional technology, and various technologies according to the application are strongly demanded.
The present invention has been made to solve the above-described problems, and is a data processing system suitable for preventing as much as possible access from being concentrated on one device when acquiring data via a network, It is an object of the present invention to provide a central device, an auxiliary device, a request source device, a central service method, an auxiliary service method, a request source method, and a program for realizing them on a computer.

以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係るデータ処理システムは、中央装置と、複数の補助装置と、要求元装置と、を備え、以下のように構成する。
In order to achieve the above object, the following invention is disclosed in accordance with the principle of the present invention.
A data processing system according to a first aspect of the present invention includes a central device, a plurality of auxiliary devices, and a request source device, and is configured as follows.

まず、中央装置は、データ記憶部、分割部、配送部を備える。
ここで、データ記憶部は、データを識別子に対応付けて記憶し、分割部は、記憶されたデータを複数の断片に分割し、配送部は、分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を、複数の補助装置のいずれか少なくとも1つに配送する。
First, the central device includes a data storage unit, a division unit, and a delivery unit.
Here, the data storage unit stores the data in association with the identifier, the dividing unit divides the stored data into a plurality of fragments, and the delivery unit, for each of the plurality of divided fragments, And a position where the data identifier and the fragment are arranged in the data (hereinafter referred to as “arrangement position”) are delivered to at least one of the plurality of auxiliary devices.

すなわち、中央装置は、将来要求元装置にダウンロードされるであろうデータを記憶部に記憶しているが、これを複数の断片に分割する。そして、元のデータを将来復元できるような情報とともに三つ組とし、その三つ組のそれぞれを、適当な補助装置に配送する。たとえば、三つ組の個数が128個で、補助装置の個数が512個である場合は、各三つ組を4個の補助装置に配送し、各補助装置が1個の三つ組の配送を受けるようにする、の如くである。   That is, the central device stores data that will be downloaded to the requesting device in the future in the storage unit, but divides it into a plurality of pieces. Then, the original data is made into a triple with information that can be restored in the future, and each of the triples is delivered to an appropriate auxiliary device. For example, if the number of triplets is 128 and the number of auxiliary devices is 512, each triplet is delivered to four auxiliary devices, and each auxiliary device receives delivery of one triplet. It is like this.

もっとも、たとえば、各三つ組を6個の補助装置に配送し、各補助装置が1個ないし2個の三つ組の配送を受けるようにするような態様を採用してもよい。ただし、各補助装置に配送される三つ組の個数は(異なっても良いが)偏りがないようにし、各三つ組が配送される補助装置の個数も(異なっても良いが)偏りがないようにすることが望ましい。   However, for example, a mode may be adopted in which each triplet is delivered to six auxiliary devices and each auxiliary device receives delivery of one or two triplets. However, the number of triplets delivered to each auxiliary device should not be biased (although it may be different), and the number of auxiliary devices to which each triplet is delivered (may be different) should also be biased. It is desirable.

一方、複数の補助装置のそれぞれは、受付部、断片記憶部を備える。
ここで、受付部は、中央装置から配送される断片と識別子と配置位置との三つ組を受け付け、断片記憶部は、受け付けられた断片と識別子と配置位置とを対応付けて記憶する。
On the other hand, each of the plurality of auxiliary devices includes a reception unit and a fragment storage unit.
Here, the accepting unit accepts a triplet of fragments, identifiers, and arrangement positions delivered from the central apparatus, and the fragment storage unit stores the accepted fragments, identifiers, and arrangement positions in association with each other.

すなわち、各補助装置は、中央装置から配送された断片と識別子とその断片がもとのデータ内のどの位置にあったかを示す配置位置との三つ組を記憶する。中央装置から配送される三つ組の個数は、上記のように、必ずしも1つとは限らず、複数の場合もありうる。これにより、将来要求元装置から要求があった場合に、この三つ組に含まれる情報を応答する準備をする。   That is, each auxiliary device stores a triple of a fragment delivered from the central device, an identifier, and an arrangement position indicating where the fragment was in the original data. As described above, the number of triplets delivered from the central device is not necessarily one, and may be plural. As a result, when there is a request from the request source device in the future, preparations are made for responding to the information included in this triplet.

さらに、要求元装置は、補助要求送信部を備える。
ここで、補助要求送信部は、所望のデータの識別子を指定する補助要求を、複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置に送信する。
Further, the request source device includes an auxiliary request transmission unit.
Here, the auxiliary request transmission unit transmits an auxiliary request designating an identifier of desired data to an auxiliary device that is communicably connected to the request source device among a plurality of auxiliary devices.

たとえば、中央装置、補助装置、要求元装置がインターネット内に配置されている場合、理論的には、すべての装置が相互に通信可能であるが、実際には、要求元装置は一部の補助装置としか通信できない場合が多い。この制限は、通信路の容量によるもののほか、そもそも補助装置と通信するための前提となるIPアドレスやポート番号がわからないことがあるからである。   For example, if the central device, auxiliary device, and requesting device are located in the Internet, all devices can theoretically communicate with each other, but in practice, the requesting device has some auxiliary devices. In many cases, communication is possible only with a device. This restriction is due not only to the capacity of the communication path, but also because the IP address and port number, which are prerequisites for communicating with the auxiliary device, may not be known in the first place.

対戦型ネットワークゲームの場合、各プレイヤーは自身の端末を用いて、まずロビーと呼ばれるサーバにアクセスし、このサーバに紹介された端末同士で対戦を行うことがある。たとえば、このような紹介の段階で、(一部の)補助装置のIPアドレスやポート番号といった情報が提供されるのである。   In the case of a competitive network game, each player may first access a server called a lobby using his / her terminal and play a battle between the terminals introduced to this server. For example, information such as the IP address and port number of (some) auxiliary devices is provided at the stage of such introduction.

そして、複数の補助装置のそれぞれは、補助要求受信部、補助応答送信部をさらに備える。
ここで、補助要求受信部は、要求元装置から送信される補助要求を受信し、補助応答送信部は、断片記憶部に記憶された断片のうち、受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、要求元装置に送信する。
Each of the plurality of auxiliary devices further includes an auxiliary request receiving unit and an auxiliary response transmitting unit.
Here, the auxiliary request receiving unit receives the auxiliary request transmitted from the request source device, and the auxiliary response transmitting unit uses the identifier specified in the received auxiliary request among the fragments stored in the fragment storage unit. An auxiliary response designating the fragment stored in association with the arrangement position stored in association with the fragment is transmitted to the request source apparatus.

すなわち、要求元装置から補助装置への補助要求の送受が行われた場合、各補助装置は、自身が記憶している三つ組の識別子の項目を見て、要求元装置が要求しているデータの断片を持っているか否かを判断し、持っている場合は、断片の内容と、元のデータ内における断片の配置位置と、要求元装置に送信する。これによって、要求元装置は、所望のデータを復元できるようになるのである。   In other words, when an auxiliary request is sent and received from the request source device to the auxiliary device, each auxiliary device looks at the items of the triple identifier stored by itself and determines the data requested by the request source device. It is determined whether or not it has a fragment, and if so, the content of the fragment, the arrangement position of the fragment in the original data, and the request source apparatus are transmitted. As a result, the request source apparatus can restore the desired data.

一方、要求元装置は、補助応答受信部、中央要求送信部をさらに備える。
ここで、補助応答受信部は、複数の補助装置のいずれかから送信される補助応答を受信し、中央要求送信部は、受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を中央装置に送信する。
On the other hand, the request source device further includes an auxiliary response receiver and a central request transmitter.
Here, the auxiliary response receiving unit receives an auxiliary response transmitted from any of the plurality of auxiliary devices, and the central request transmitting unit receives the desired data from the fragment and the arrangement position specified in the received auxiliary response. If there is a fragment that is insufficient to restore, a central request specifying the identifier of the desired data and the location of the fragment is transmitted to the central device.

すなわち、各補助装置から送信される断片と配置位置から、元のデータを復元するのに必要な情報を収集し、もし足りなければ、足りない部分を中央装置に要求するのである。もし足りていれば、中央装置への要求は行わない。   That is, information necessary to restore the original data is collected from the fragments and the arrangement positions transmitted from each auxiliary device, and if it is not sufficient, the missing portion is requested from the central device. If so, no request is made to the central unit.

さらに、中央装置は、中央要求受信部、中央応答送信部を備える。
ここで、中央要求受信部は、要求元装置から、識別子と配置位置とを指定する中央要求を受信し、中央応答送信部は、分割された断片のうち、受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を送信する。
Further, the central device includes a central request reception unit and a central response transmission unit.
Here, the central request receiving unit receives a central request for designating an identifier and an arrangement position from the request source device, and the central response transmitting unit is specified in the received central request among the divided fragments. A central response is transmitted that specifies what is to be arranged at the designated arrangement position in the data of the identifier.

上記のように、補助装置から収集した情報では、所望のデータが復元できない場合、要求元装置は中央装置に、不足分を要求し、中央装置は、その不足分を要求元装置に送信するのである。   As described above, in the information collected from the auxiliary device, when the desired data cannot be restored, the request source device requests the shortage from the central device, and the central device transmits the shortage to the request source device. is there.

そして、要求元装置は、中央応答受信部、復元部をさらに備える。
ここで、中央応答受信部は、中央装置から送信される中央応答を受信し、復元部は、受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、当該中央要求を送信した場合は受信された補助応答に指定される断片および配置位置と、から、当該所望のデータを復元する。
すなわち、補助装置から収集した断片に関する情報と、それで足りない場合にはさらに中央装置から取得した断片に関する情報と、から、元のデータを復元するのである。
The request source apparatus further includes a central response reception unit and a restoration unit.
Here, the central response receiving unit receives the central response transmitted from the central device, and the restoration unit includes the fragment specified in the received central response, the arrangement position specified in the central request, and the central request. Is transmitted, the desired data is restored from the fragment and arrangement position specified in the received auxiliary response.
That is, the original data is restored from the information related to the fragments collected from the auxiliary device and the information related to the fragments acquired from the central device if that is not enough.

本発明によれば、要求元装置があるデータを取得したいと考えた場合に、中央装置へのアクセスをできるだけ少なくし、補助装置に分散された記憶されたデータの断片を収集することによって、所望のデータを復元するようなデータ処理システムを提供することができる。   In accordance with the present invention, if a requesting device wishes to obtain certain data, it can reduce the access to the central device as much as possible, and collect the stored pieces of data distributed in the auxiliary device as desired. It is possible to provide a data processing system that restores the data.

また、本発明のデータ処理システムは、以下のように構成することができる。
すなわち、要求元装置において、補助要求送信部は、当該補助要求に他の補助要求と重複しない識別子と、当該要求の寿命と、を指定して送信する。
この識別子と寿命の情報を用いて、以降に説明するように、補助要求をネットワーク内で伝播させるのである。寿命の情報は、典型的には0以上の整数であり、いわゆる最長ホップ数に相当するものである。
The data processing system of the present invention can be configured as follows.
In other words, in the request source apparatus, the auxiliary request transmission unit transmits the auxiliary request by designating an identifier that does not overlap with other auxiliary requests and the lifetime of the request.
By using this identifier and life information, the auxiliary request is propagated in the network as will be described later. The lifetime information is typically an integer greater than or equal to 0 and corresponds to the so-called longest hop count.

一方、複数の補助装置のそれぞれは、補助要求転送部をさらに備える。
ここで、補助要求転送部は、
(p)受信された補助要求に指定された識別子が、過去に受信された補助要求に指定された識別子のいずれとも異なる場合、受信された補助要求に指定された寿命を減ずる。
(q)そして、当該寿命が尽きない場合、当該寿命を減じた補助要求を、他の補助装置のうち、当該受信された補助要求を当該補助装置に転送していないものに転送する。
On the other hand, each of the plurality of auxiliary devices further includes an auxiliary request transfer unit.
Here, the auxiliary request transfer unit
(P) If the identifier specified in the received auxiliary request is different from any of the identifiers specified in the previously received auxiliary request, the lifetime specified in the received auxiliary request is reduced.
(Q) If the lifetime is not exhausted, the auxiliary request with the reduced lifetime is transferred to the other auxiliary devices that have not transferred the received auxiliary request to the auxiliary device.

上記のように、補助要求の「寿命」は、当該補助要求を補助装置間で転送してたらい廻しにできる最大回数と考えることができる。そして、補助装置は、要求元装置がその所在を知らない(要求元装置からは通信可能でない)他の補助装置に補助要求をたらい廻しにする。   As described above, the “lifetime” of an auxiliary request can be considered as the maximum number of times that the auxiliary request can be transferred between auxiliary devices. Then, the auxiliary device circulates an auxiliary request to another auxiliary device that does not know the location of the requesting device (it cannot communicate from the requesting device).

なお、寿命を減ずるのは、さらに、受信された補助要求に指定された識別子に対応付けられる断片が、断片記憶部に記憶されていない場合に限ることとしても良い。この場合は、寿命は、断片を記憶している補助装置に限った最長ホップ数を意味することになる。   The life may be reduced only when the fragment associated with the identifier specified in the received auxiliary request is not stored in the fragment storage unit. In this case, the lifetime means the maximum number of hops limited to the auxiliary device storing the fragment.

なお、過去に転送したことのある補助要求か否かは、補助要求に指定される識別子(いわゆる「メッセージID」である。)によって判別される。   Whether or not an auxiliary request has been transferred in the past is determined by an identifier (so-called “message ID”) specified in the auxiliary request.

さらに、複数の補助装置のそれぞれにおいて、補助要求受信部は、複数の補助装置のうち他の補助装置から転送される補助要求をさらに受信する。
これは、他の補助装置からたらい廻しにされた補助要求も受信する、ということであり、受信された補助要求は、上記のように、補助応答送信部と、補助要求転送部によって処理される。
Further, in each of the plurality of auxiliary devices, the auxiliary request receiving unit further receives an auxiliary request transferred from another auxiliary device among the plurality of auxiliary devices.
This means that an auxiliary request that is routed from another auxiliary device is also received, and the received auxiliary request is processed by the auxiliary response transmission unit and the auxiliary request transfer unit as described above. .

本発明によれば、要求元端末が直接その所在を知らない補助装置であっても、その補助装置へ達するような所定のホップ数以下の経路が存在する場合には、当該補助装置からも断片の提供を受けることができるようになる。   According to the present invention, even if the requesting terminal does not directly know the location of the auxiliary device, if there is a route with a predetermined number of hops or less that reaches the auxiliary device, the auxiliary device also fragments You will be able to receive the offer.

また、本発明のデータ処理システムの要求元装置において、補助要求送信部は、当該補助要求を、放送型送信もしくはブロードキャスト送信により送信するように構成することができる。
すなわち、要求元装置から通信可能な補助装置がある種のローカルエリアネットワークを構成すると考えることができる場合等には、放送型送信やブロードキャスト送信を用いて、要求元装置から補助装置へ補助要求を送信するのである。
本発明は上記発明の好適実施形態の一つであり、本発明によれば、補助要求を効率良く補助装置に送信することができる。
In the request source device of the data processing system of the present invention, the auxiliary request transmission unit can be configured to transmit the auxiliary request by broadcast transmission or broadcast transmission.
That is, when it can be considered that an auxiliary device that can communicate from the request source device constitutes a certain local area network, an auxiliary request is sent from the request source device to the auxiliary device using broadcast type transmission or broadcast transmission. Send it.
The present invention is one of the preferred embodiments of the present invention, and according to the present invention, an auxiliary request can be efficiently transmitted to an auxiliary device.

また、本発明のデータ処理システムの中央装置において、配送部は、当該三つ組のそれぞれを、複数の補助装置からランダムに選択したもの、もしくは、配送のコストが最も低いものに配送するように構成することができる。
すなわち、各三つ組を配送すべき補助装置をランダムに決定することにより、三つ組の分布の偏りを少なくするのである。
もしくは、配送のコストが最も低いもの、たとえば、配送に係る通信の際のホップ数が小さく、通信ネットワークのトポロジー上最も近くにある補助装置や通信帯域の太さが最も太いものを配送先とすることにより、三つ組の分布の偏りを少なくするのである。
本発明によれば、各補助装置が保有する三つ組の個数が均等となることが期待され、特定の補助装置にのみアクセスが集中する等の弊害をできるだけ防止することができる。
Further, in the central device of the data processing system of the present invention, the delivery unit is configured to deliver each of the triplets to a device selected at random from a plurality of auxiliary devices or to a device having the lowest delivery cost. be able to.
In other words, by randomly determining an auxiliary device to which each triplet is to be delivered, the bias in the distribution of the triplet is reduced.
Or, the delivery destination is the one with the lowest delivery cost, for example, the auxiliary device that has the smallest number of hops during communication related to delivery and the communication network topology is closest, or the one with the largest communication bandwidth. By doing so, the bias of the triple distribution is reduced.
According to the present invention, it is expected that the number of triplets held by each auxiliary device is equalized, and it is possible to prevent adverse effects such as concentration of access only on a specific auxiliary device as much as possible.

本発明のその他の観点に係る中央装置は、上記データ処理システムにおける中央装置である。
本発明のその他の観点に係る補助装置は、上記データ処理システムにおける補助装置である。
本発明のその他の観点に係る要求元装置は、上記データ処理システムにおける要求元装置である。
A central device according to another aspect of the present invention is a central device in the data processing system.
An auxiliary device according to another aspect of the present invention is an auxiliary device in the data processing system.
A request source device according to another aspect of the present invention is a request source device in the data processing system.

本発明のその他の観点に係る中央サービス方法は、複数の補助装置および要求元装置と通信する中央装置にて実行され、中央装置は、データを識別子に対応付けて記憶するデータ記憶部、分割部、配送部、中央要求受信部、中央応答送信部を有し、分割工程、配送工程、中央要求受信工程、中央応答送信工程を備え、以下のように構成する。   A central service method according to another aspect of the present invention is executed by a central device that communicates with a plurality of auxiliary devices and a request source device, and the central device stores data in association with an identifier, a data storage unit, and a division unit And a delivery unit, a central request reception unit, and a central response transmission unit, which include a dividing step, a delivery step, a central request reception step, and a central response transmission step, and is configured as follows.

すなわち、分割工程では、分割部が、記憶されたデータを複数の断片に分割する。   That is, in the dividing step, the dividing unit divides the stored data into a plurality of pieces.

一方、配送工程では、配送部が、分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を複数の補助装置のいずれか少なくとも1つに配送する。   On the other hand, in the delivery process, for each of the plurality of divided fragments, the delivery unit includes the fragment, the identifier of the data, and the position where the fragment is placed in the data (hereinafter referred to as “placement position”). The triplet is delivered to at least one of the plurality of auxiliary devices.

さらに、中央要求受信工程では、中央要求受信部が要求元装置から、識別子と配置位置とを指定する中央要求を受信する。   Further, in the central request receiving step, the central request receiving unit receives a central request designating an identifier and an arrangement position from the request source device.

そして、中央応答送信工程では、中央応答送信部が、分割された断片のうち、受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を送信する。   Then, in the central response transmission step, the central response transmission unit designates the divided fragment that is to be arranged at the designated arrangement position in the data of the identifier designated in the received central request. Send.

本発明のその他の観点に係る補助サービス方法は、中央装置、および、要求元装置と通信する補助装置にて実行され、補助装置は、受付部、断片記憶部、補助要求受信部、補助応答送信部を有し、受付工程、断片記憶工程、補助要求受信工程、補助応答送信受信工程を備え、以下のように構成する。   An auxiliary service method according to another aspect of the present invention is executed by a central device and an auxiliary device that communicates with a request source device. The auxiliary device includes a reception unit, a fragment storage unit, an auxiliary request reception unit, and an auxiliary response transmission. And includes a reception process, a fragment storage process, an auxiliary request reception process, and an auxiliary response transmission reception process, and is configured as follows.

すなわち、受付工程では、受付部が、中央装置から配送される断片と識別子と配置位置との三つ組を受け付ける。   That is, in the reception process, the reception unit receives a triple of a fragment, an identifier, and an arrangement position delivered from the central device.

一方、断片記憶工程では、断片記憶部が、受け付けられた断片と識別子と配置位置とを対応付けて記憶する。   On the other hand, in the fragment storage step, the fragment storage unit stores the received fragment, the identifier, and the arrangement position in association with each other.

さらに、補助要求受信工程では、補助要求受信部が、要求元装置から送信される補助要求を受信する。   Further, in the auxiliary request receiving step, the auxiliary request receiving unit receives an auxiliary request transmitted from the request source device.

そして、補助応答送信工程では、補助応答送信部が、断片記憶部に記憶された断片のうち、受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、要求元装置に送信する。   Then, in the auxiliary response transmission step, the auxiliary response transmission unit associates the fragment stored in association with the identifier specified in the received auxiliary request among the fragments stored in the fragment storage unit and the fragment. An auxiliary response designating the stored arrangement position is transmitted to the request source apparatus.

本発明のその他の観点に係る要求元方法は、中央装置、および、複数の補助装置と通信する要求元装置にて実行され、要求元装置は、補助要求送信部、補助応答受信部、中央要求送信部、中央応答受信部、復元部を有し、補助要求送信工程、補助応答受信工程、中央要求送信工程、中央応答受信工程、復元工程を備え、以下のように構成する。   A request source method according to another aspect of the present invention is executed by a central apparatus and a request source apparatus that communicates with a plurality of auxiliary apparatuses. The request source apparatus includes an auxiliary request transmission unit, an auxiliary response reception unit, and a central request. It has a transmission unit, a central response reception unit, and a restoration unit, and includes an auxiliary request transmission step, an auxiliary response reception step, a central request transmission step, a central response reception step, and a restoration step, and is configured as follows.

すなわち、補助要求送信工程では、補助要求送信部が、所望のデータの識別子を指定する補助要求を、複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置に送信する。   That is, in the auxiliary request transmitting step, the auxiliary request transmitting unit transmits an auxiliary request designating an identifier of desired data to an auxiliary device that is communicably connected to the request source device among a plurality of auxiliary devices.

一方、補助応答受信工程では、補助応答受信部が、複数の補助装置のいずれかから送信される補助応答を受信する。   On the other hand, in the auxiliary response receiving step, the auxiliary response receiving unit receives an auxiliary response transmitted from any of the plurality of auxiliary devices.

さらに、中央要求送信工程では、中央要求送信部が、受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を中央装置に送信する。   Further, in the central request transmission step, if there is a fragment that is insufficient for the central request transmission unit to restore the desired data from the fragment specified in the received auxiliary response and the arrangement position, the identifier of the desired data And a central request designating the location of the missing fragment is transmitted to the central unit.

そして、中央応答受信工程では、中央応答受信部が、中央装置から送信される中央応答を受信する。   In the central response receiving step, the central response receiving unit receives the central response transmitted from the central device.

一方、復元工程では、復元部が、受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、当該中央要求を送信した場合は受信された補助応答に指定される断片および配置位置と、から、当該所望のデータを復元する。   On the other hand, in the restoration step, the restoration unit designates the fragment specified in the received central response and the arrangement position specified in the central request, and the fragment specified in the received auxiliary response when the central request is transmitted. Then, the desired data is restored from the arrangement position.

本発明のその他の観点に係るプログラムは、コンピュータを中央装置、補助装置、または、要求元装置として機能させ、または、コンピュータに中央サービス方法、補助サービス方法、または、要求元方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
A program according to another aspect of the present invention causes a computer to function as a central device, an auxiliary device, or a request source device, or causes a computer to execute a central service method, an auxiliary service method, or a request source method. Constitute.
The program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.
The above program can be distributed and sold via a computer communication network independently of the computer on which the program is executed. The information storage medium can be distributed and sold independently from the computer.

本発明によれば、ネットワーク経由でデータを取得する際に、一つの装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。   According to the present invention, a data processing system, a central device, an auxiliary device, a request source device, and a central service method suitable for preventing the concentration of access to one device as much as possible when acquiring data via a network. Further, it is possible to provide an auxiliary service method, a request source method, and a program that realizes these on a computer.

以下に本発明の実施形態を説明する。以下では、理解を容易にするため、インターネット内の各種装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、PDA(Personal Data Assistants)、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。   Embodiments of the present invention will be described below. In the following, for ease of understanding, an embodiment in which the present invention is applied to various devices in the Internet will be described. However, the same applies to information processing devices such as various computers, PDAs (Personal Data Assistants), and mobile phones. The present invention can be applied to. That is, the embodiment described below is for explanation, and does not limit the scope of the present invention. Therefore, those skilled in the art can employ embodiments in which each or all of these elements are replaced with equivalent ones, and these embodiments are also included in the scope of the present invention.

(データ処理システムの構成)
図1は、本発明の実施形態の1つに係るデータ処理システムの概要構成を示す説明図である。以下、本図を参照して説明する。
(Data processing system configuration)
FIG. 1 is an explanatory diagram showing a schematic configuration of a data processing system according to one embodiment of the present invention. Hereinafter, a description will be given with reference to FIG.

データ処理システム101は、中央装置102と、複数の補助装置103と、要求元装置104と、を備える。典型的には、中央装置102と複数の補助装置103は、データの提供者が維持管理するデータサーバ機器であり、要求元装置104は、データの利用者が維持管理する端末機器であるが、複数の補助装置103として、データの利用者が維持管理する端末機器を利用し、さらにデータの分散管理を図ることも可能である。この場合、一つの端末機器が、補助装置103としても要求元装置104としても機能することとなる。   The data processing system 101 includes a central device 102, a plurality of auxiliary devices 103, and a request source device 104. Typically, the central device 102 and the plurality of auxiliary devices 103 are data server devices that are maintained and managed by a data provider, and the request source device 104 is a terminal device that is maintained and managed by a data user. As the plurality of auxiliary devices 103, it is possible to use terminal devices maintained and managed by data users, and to further manage data distribution. In this case, one terminal device functions as both the auxiliary device 103 and the request source device 104.

これらの中央装置102、補助装置103、要求元装置104は、インターネット105を介して接続されている。
また、本図に示すように、複数の要求元装置104が存在するのが一般的であるが、個数に制限はない。
These central device 102, auxiliary device 103, and request source device 104 are connected via the Internet 105.
Further, as shown in the figure, there are generally a plurality of request source devices 104, but the number is not limited.

図2は、本実施形態における各種の通信のやりとりの様子を示すシーケンス図である。以下、本図を参照して説明する。   FIG. 2 is a sequence diagram showing how various communications are exchanged in the present embodiment. Hereinafter, a description will be given with reference to FIG.

まず、提供すべきデータを記憶する中央装置102は、そのデータを複数の断片に分割して、そのそれぞれの断片・そのデータの識別子・その断片のデータ内における位置の三つ組を、できるだけ各補助装置103に均等になるように、配送する(201)。各補助装置103は、配送された三つ組を受け付けて、記憶する。これによって、データ提供の準備ができたことになる。   First, the central device 102 for storing the data to be provided divides the data into a plurality of fragments, and each auxiliary device has a triplet of each fragment, the identifier of the data, and the position of the fragment in the data as much as possible. Deliver to equalize 103 (201). Each auxiliary device 103 receives and stores the delivered triplet. Thus, preparation for data provision is completed.

なお、データは、「ファイル」と呼ばれる形式で提供されることが最も多いが、いわゆるバイト列やビット列として構成されるものであれば、どのようなものであっても良い。また、「識別子」としては、ファイル名を使用するのが最も一般的である。データがある大きなデータ内の一部を構成するものである場合(たとえば、プログラム内のオーバレイモジュールの場合等)、当該大きなデータにおける当該データの位置情報とサイズ情報の組合せが「識別子」となる。また、データベースによって検索された結果を「データ」とする場合には、検索に用いる検索式(SQL式など)を「識別子」としても良い。   The data is most often provided in a format called “file”, but any data may be used as long as it is configured as a so-called byte string or bit string. As the “identifier”, a file name is most commonly used. When data constitutes a part of certain large data (for example, in the case of an overlay module in a program), the combination of the position information and the size information of the data in the large data becomes the “identifier”. Further, when the result searched by the database is “data”, a search expression (SQL expression or the like) used for the search may be “identifier”.

さて、要求元装置104が、何らかの契機でデータの提供を受けようとする場合、要求元装置104は、自身が知る補助装置103に、当該識別子を指定する補助要求を送信する(202)。   When the request source device 104 tries to receive the provision of data at some opportunity, the request source device 104 transmits an auxiliary request designating the identifier to the auxiliary device 103 known by the request source device 104 (202).

補助要求を受け付けた補助装置103は、自身が持つ断片の識別子と補助要求に指定される識別子を対比して、もしマッチする断片があれば、当該断片と当該断片の位置とを指定する補助応答を、要求元装置104に送信する(203)。   The auxiliary device 103 that has received the auxiliary request compares the identifier of the fragment held by the auxiliary device 103 with the identifier specified in the auxiliary request, and if there is a matching fragment, the auxiliary device 103 specifies the fragment and the position of the fragment. Is transmitted to the request source apparatus 104 (203).

また、適宜、当該補助応答を他の補助装置103に転送する(204)。転送された補助装置103も、マッチする断片があれば、同様に補助応答を要求元装置104に送信する(203)。   Also, the auxiliary response is transferred to another auxiliary device 103 as appropriate (204). If there is a matching fragment, the transferred auxiliary device 103 similarly transmits an auxiliary response to the request source device 104 (203).

そして、要求元装置104は、各補助装置103から送信された補助応答を受信して、断片を蓄積する。すべての断片が蓄積されるか一定時間が経過する等、所定条件が満たされるまで補助装置103からの補助応答を受信し続ける。   The request source device 104 receives the auxiliary response transmitted from each auxiliary device 103 and accumulates the fragments. The auxiliary response from the auxiliary device 103 is continuously received until a predetermined condition is satisfied, for example, all fragments are accumulated or a predetermined time elapses.

次に、所定条件が満たされたら、断片の位置から、データの復元に必要なすべての断片が得られたか否かを判定し、得られていなければ、中央装置102に、識別子と不足している断片の位置情報を指定する中央要求を送信する(205)。   Next, if a predetermined condition is satisfied, it is determined from the fragment position whether all fragments necessary for data restoration have been obtained. If not, the central device 102 lacks an identifier. A central request designating the location information of the fragment is sent (205).

この場合、中央要求を受信した中央装置102は、必要な断片を指定する中央応答を要求元装置104に送信する(206)。   In this case, the central device 102 that has received the central request transmits a central response designating the required fragment to the requesting device 104 (206).

要求元装置104にすでにすべての断片が揃っている場合、もしくは、中央装置102が送信した中央応答を受信した場合、要求元装置104は、断片から元のデータを復元する。   If all the fragments are already in the request source device 104 or if the central response transmitted by the central device 102 is received, the request source device 104 restores the original data from the fragments.

このような処理手順によって、要求元装置104は、中央装置102からデータの提供を受けるのである。この場合、データを分割する断片の数に比べて十分な数の補助装置103があれば、中央装置102へのアクセス集中は防止できる。   By such a processing procedure, the request source apparatus 104 receives provision of data from the central apparatus 102. In this case, if there are a sufficient number of auxiliary devices 103 as compared with the number of pieces into which data is divided, concentration of access to the central device 102 can be prevented.

また、複数の補助装置103に同じ断片が記憶されていれば、通信帯域に余裕がなくなって、ある補助装置103との通信が一時的に到達不可能になったり、ある補助装置103の計算負荷が高く応答が出せなかったり、そもそも宛先に到達したか否かを判定しないが高速な通信が可能な通信プロトコル、たとえばUDP(User Datagram Protocol)を採用した場合であっても、他の補助装置103からの提供が期待できる。   Also, if the same piece is stored in a plurality of auxiliary devices 103, there is no room in the communication band, and communication with a certain auxiliary device 103 becomes temporarily unreachable, or the computational load of a certain auxiliary device 103 Even if a communication protocol capable of high-speed communication, for example, UDP (User Datagram Protocol) is employed, it is not determined whether or not the response is high or the destination has been reached. Can be expected from

UDPは、2つの機器間で、ベストエフォート型のデータグラム指向の通信を行うプロトコルであり、IP(Internet Protocol)パケットをそのままアプリケーションから利用できるようにしただけのプロトコルである。   UDP is a protocol that performs best-effort datagram-oriented communication between two devices, and is a protocol that allows an IP (Internet Protocol) packet to be directly used by an application.

したがって、パケットが相手に確実に届くという保証はなく、再送や受信確認応答、フロー制御、大きなデータの分割や再合成(フラグメント化)などはすべてアプリケーション側で制御する必要がある。本発明は、この制御を行う技術に関連している。   Therefore, there is no guarantee that the packet will surely arrive at the other party, and retransmission, reception confirmation response, flow control, large data division and recombination (fragmentation) must all be controlled by the application side. The present invention relates to a technique for performing this control.

一方で、UDPは、処理が簡単であり、通信が高速であるという特徴があり、本実施形態のようなデータ処理には好適である。   On the other hand, UDP is characterized by simple processing and high-speed communication, and is suitable for data processing as in this embodiment.

図3は、本実施形態の中央装置102、補助装置103、要求元装置104を実現するのに好適な、情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。   FIG. 3 is a schematic diagram showing a schematic configuration of an information processing apparatus suitable for realizing the central device 102, the auxiliary device 103, and the request source device 104 of the present embodiment. Hereinafter, a description will be given with reference to FIG.

情報処理装置301は、CPU(Central Processing Unit)302と、ROM(Read Only Memory)303と、RAM(Random Access Memory)304と、キーボードやマウス、コントローラからなる入力装置305と、モニタなどの表示装置306と、ハードディスクなどの外部記憶装置307と、CD−ROMドライブなどの媒体読取装置308と、NIC(Network Interface Card)309と、を備える。   The information processing apparatus 301 includes a CPU (Central Processing Unit) 302, a ROM (Read Only Memory) 303, a RAM (Random Access Memory) 304, an input device 305 including a keyboard, a mouse, and a controller, and a display device such as a monitor. 306, an external storage device 307 such as a hard disk, a medium reading device 308 such as a CD-ROM drive, and a NIC (Network Interface Card) 309.

中央装置として機能するための各種のプログラムを、媒体読取装置308に装着されたCD−ROMなどから外部記憶装置307にインストールし、当該サーバ用プログラムを実行させることによって、情報処理装置301は、本発明の中央装置102として機能する。特に、情報処理装置301の電源を投入した後の処理すべき手順を記述した初期化データを適切に外部記憶装置307に用意しておくことにより、情報処理装置301の電源を投入すると、必要な各種プログラムが実行され、本発明の中央装置102、補助装置103、あるいは、要求元装置104として機能するようになる。   Various programs for functioning as a central device are installed in the external storage device 307 from a CD-ROM or the like mounted on the medium reading device 308, and the information processing device 301 is executed by executing the server program. It functions as the central device 102 of the invention. In particular, the initialization data describing the procedure to be processed after the information processing device 301 is turned on is appropriately prepared in the external storage device 307. Various programs are executed and function as the central device 102, the auxiliary device 103, or the request source device 104 of the present invention.

CPU 302は、情報処理装置301の全体の動作を制御し、各構成要素と接続され、これらを制御する制御信号を与えたり、これらとの情報のやりとりを行うためにデータの送受を行う。
ROM 303には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、外部記憶装置307や媒体読取装置308に装着されたCD−ROM等に記録されたプログラムをRAM 304に読み出してCPU 302による実行が開始される。
The CPU 302 controls the overall operation of the information processing apparatus 301, is connected to each component, gives control signals for controlling them, and transmits and receives data to exchange information with them.
The ROM 303 records an IPL (Initial Program Loader) that is executed immediately after the power is turned on, and is recorded on a CD-ROM or the like attached to the external storage device 307 or the medium reader 308 by executing this. The program is read into the RAM 304 and execution by the CPU 302 is started.

RAM 304は、データやプログラムを一時的に記憶するためのもので、外部記憶装置307や媒体読取装置308に装着されたCD−ROM等に記録されたプログラムやデータを保持し、また、これが中央装置102や補助装置103として機能する場合には、各種のサービスを提供するために必要な情報を一時的に記憶したり、サービスの提供の過程を記録するために用いられる。   The RAM 304 is for temporarily storing data and programs. The RAM 304 stores programs and data recorded on a CD-ROM or the like mounted on the external storage device 307 or the medium reading device 308. In the case of functioning as the device 102 or the auxiliary device 103, it is used for temporarily storing information necessary for providing various services or recording a service providing process.

また、要求元装置104として機能する場合には、各種通信パケットを一時的に記憶したり、提供を受けるデータの復元の処理に一時的に使用したりするために用いられる。   Further, when functioning as the request source apparatus 104, it is used for temporarily storing various communication packets or temporarily using them for the restoration processing of data to be provided.

入力装置305は、当該情報処理装置301を直接使用したりこれを管理したりする際に、中央装置102や補助装置103の管理者、要求元装置104の利用者が各種の指示を与えるためのものであり、表示装置306は、当該指示の結果等、各種の報告を管理者に提示するためのものである。   The input device 305 is used by the administrator of the central device 102 and the auxiliary device 103 and the user of the request source device 104 to give various instructions when directly using or managing the information processing device 301. The display device 306 is for presenting various reports such as the result of the instruction to the administrator.

典型的には、これらは、当該情報処理装置301に直接接続されるキーボードやマウス、コントローラならびにモニタが相当するが、NIC 309、シリアル通信線、パラレル通信線などを介して接続される他の情報処理装置を入力装置305として機能させることとして、情報処理装置301自身には、キーボードやマウス、コントローラ、モニタなどを備えない態様も広く用いられている。   Typically, these correspond to a keyboard, a mouse, a controller, and a monitor that are directly connected to the information processing apparatus 301, but other information that is connected via a NIC 309, a serial communication line, a parallel communication line, or the like. As a function of the processing device as the input device 305, an aspect in which the information processing device 301 itself does not include a keyboard, a mouse, a controller, a monitor, or the like is also widely used.

外部記憶装置307は、上述したように、情報処理装置301が中央装置102、補助装置103、あるいは、要求元装置104として機能するための各種のプログラムや設定データ、提供するサービスに関する各種のデータ、端末からのアクセス統計等を不揮発的かつ読み書き可能に記録するのに用いられる。   As described above, the external storage device 307 includes various programs and setting data for the information processing device 301 to function as the central device 102, the auxiliary device 103, or the request source device 104, various data related to the provided service, It is used to record access statistics from a terminal in a nonvolatile and readable / writable manner.

媒体読取装置308は、当該情報処理装置301に対して種々のソフトウェアをインストールしたり、外部記憶装置307の記憶容量の空きを広くするため情報処理装置301が利用するデータを記憶させるのに利用される。利用可能な媒体は、典型的にはCD−ROMやDVD−ROMである。尚、このような媒体読取装置308を利用しなくとも、NIC 309を介したネットワークインストールの技術を利用して、他の情報処理装置からインターネットやLANを介して提供される各種のソフトウェアをインストールすることが可能である。   The medium reading device 308 is used to install various software in the information processing device 301 or to store data used by the information processing device 301 in order to widen the storage capacity of the external storage device 307. The An available medium is typically a CD-ROM or a DVD-ROM. Even if the medium reading device 308 is not used, various software provided from other information processing devices via the Internet or LAN is installed using the network installation technology via the NIC 309. It is possible.

NIC 309は、情報処理装置301をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 302との仲立ちを行う内部インターフェース(図示せず)により構成される。   The NIC 309 is used to connect the information processing apparatus 301 to a computer communication network (not shown) such as the Internet, and is used in configuring a LAN (Local Area Network). The 10BASE-T / 100BASE-T standard is used. To connect to the Internet using an analog modem, ISDN (Integrated Services Digital Network) modem, ADSL (Asymmetric Digital Subscriber Line) modem, cable television line A cable modem or the like and an internal interface (not shown) that mediates between these and the CPU 302 are configured.

(中央装置)
図4は、本実施形態に係る中央装置の概要構成を示す模式図である。図5は、本実施形態に係る中央装置にて実行される分割配送処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、以下の説明では、中央装置102が上記の情報処理装置301上に実現されている場合を例にあげて説明する。
(Central device)
FIG. 4 is a schematic diagram showing a schematic configuration of the central apparatus according to the present embodiment. FIG. 5 is a flowchart showing a control flow of the divided delivery process executed by the central apparatus according to the present embodiment. Hereinafter, a description will be given with reference to FIG. In the following description, a case where the central apparatus 102 is realized on the information processing apparatus 301 will be described as an example.

中央装置102は、データ記憶部501、分割部502、配送部503、中央要求受信部504、中央応答送信部505を備える。   The central apparatus 102 includes a data storage unit 501, a division unit 502, a delivery unit 503, a central request reception unit 504, and a central response transmission unit 505.

ここで、データ記憶部501は、データを識別子に対応付けて記憶する。当該データは、将来要求元装置104にダウンロードされるであろうデータである。   Here, the data storage unit 501 stores the data in association with the identifier. The data is data that will be downloaded to the request source apparatus 104 in the future.

したがって、上記情報処理装置301によって中央装置102を構成した場合、外部記憶装置307がデータ記憶部501として機能することとなる。   Therefore, when the central device 102 is configured by the information processing device 301, the external storage device 307 functions as the data storage unit 501.

本処理は、データ記憶部501に記憶されるデータが、将来要求元装置104にダウンロードされることが決まることを契機に開始される。   This process is started when the data stored in the data storage unit 501 is determined to be downloaded to the request source apparatus 104 in the future.

まず、分割部502は、記憶されたデータを複数の断片に分割する(ステップS501)。   First, the dividing unit 502 divides the stored data into a plurality of fragments (step S501).

各断片の大きさは、UDP通信のパケットとして伝送するのに適したサイズとすることが望ましい。これは、ネットワークの状況によって変化するが、過去の通信履歴から統計的にサイズを求めることができる。   The size of each fragment is preferably a size suitable for transmission as a UDP communication packet. This varies depending on the network conditions, but the size can be statistically obtained from the past communication history.

次に、分割部502は、分割された断片のそれぞれについて、少なくとも、
(a)当該断片
(b)元のデータの識別子
(c)元のデータにおいて当該断片が配置される配置位置
の三種の情報を含む断片パケットを生成する(ステップS502)。
Next, the dividing unit 502 at least for each of the divided fragments,
(A) The fragment (b) The identifier of the original data (c) A fragment packet including three types of information of the arrangement position where the fragment is arranged in the original data is generated (step S502).

断片の配置位置は、たとえば、分割総数○○個の断片のうち当該断片は先頭から数えて○○番目の断片である、という情報を、所定のフォーマットで指定するものとする。   As for the arrangement position of the fragment, for example, information that the fragment is the XXth fragment counted from the top among the total number of divided fragments is designated in a predetermined format.

元のデータの識別子は、適当な文字列の形式を定めてこれによって表現しても良いし、整数により識別番号形式で表現しても良い。   The identifier of the original data may be expressed by determining an appropriate character string format, or may be expressed in an identification number format by an integer.

断片そのものを指定する際には、通信路の途中での通信障害によりデータが壊れたり、第三者の妨害によってデータが改変されたりしたことを検出するため、チェックサムなどを合わせて指定しても良い。   When specifying the fragment itself, specify the checksum etc. together to detect that the data has been corrupted due to a communication failure in the middle of the communication path, or that the data has been altered due to interference from a third party. Also good.

ついで、当該断片パケットのそれぞれを外部記憶装置307に保存する(ステップS503)。この際に、上記のようにチェックサムを利用するほか、電子署名を付すことによって、補助装置103や要求元装置104において、データの改変を検出することができるようになる。   Next, each fragment packet is stored in the external storage device 307 (step S503). At this time, in addition to using the checksum as described above, by attaching an electronic signature, the auxiliary device 103 and the request source device 104 can detect data alteration.

上記の情報処理装置201を用いて中央装置102を構成した場合、CPU 302がRAM 304や外部記憶装置307と共働して、分割部502として機能することとなる。   When the central apparatus 102 is configured using the information processing apparatus 201 described above, the CPU 302 functions as the dividing unit 502 in cooperation with the RAM 304 and the external storage device 307.

さらに、配送部503は、上記のように生成されたすべての断片パケットについて、以下の処理を行う(ステップS504)。すなわち、すべての断片パケットについて処理が終わっていなければ(ステップS504;No)、未処理の断片パケットを1つ取得し(ステップS505)、当該断片パケットの配送先となる補助装置103を決める(ステップS506)。配送先となる補助装置103の決め方には、種々の技術が考えられるが、たとえば以下のようにすることもできる。
(1) 配送先となりうる補助装置103がm (m≧2)個あり、現在処理している断片パケットがn (n≧0)番目のものである場合、n mod m + 1番目の補助装置103を、当該n番目の断片パケットの配送先とする。ラウンドロビン形式に類似する、最も単純な手法である。
(2) 配送先となりうる補助装置103がm個ある場合、整数1からmまでの乱数iを生成し、i番目の補助装置103を、当該n番目の断片パケットの配送先とする。乱数によって断片パケットの配送先を均等とする手法である。
(3) これまでの補助装置103の通信の履歴から、m個の補助装置103のそれぞれについて、それがk番目である場合に、その負荷を表すパラメータp[k] (p[k]>0)を取得しておく。このパラメータは正の数値で、値が大きければ大きいほど負荷が大きく、補助装置103が使用する通信路の帯域に余裕がないことを意味する。そして、乱数を用いて、k番目の補助装置103が選択される確率が、たとえば、
(1/p[k]) / Σi=1 m (1/p[i])
となるようにして、配送先の補助装置103を決定する。
Further, the delivery unit 503 performs the following processing for all fragment packets generated as described above (step S504). That is, if processing has not been completed for all fragment packets (step S504; No), one unprocessed fragment packet is acquired (step S505), and the auxiliary device 103 that is the delivery destination of the fragment packet is determined (step S505). S506). Various techniques are conceivable as a method for determining the auxiliary device 103 as a delivery destination. For example, the following method may be used.
(1) If there are m (m ≧ 2) auxiliary devices 103 that can be delivery destinations, and the currently processed fragment packet is the n (n ≧ 0) th packet, n mod m + 1st auxiliary device 103 is the delivery destination of the nth fragment packet. It is the simplest method similar to the round robin format.
(2) When there are m auxiliary devices 103 that can be delivery destinations, a random number i from integer 1 to m is generated, and the i-th auxiliary device 103 is set as the delivery destination of the n-th fragment packet. This is a technique for equalizing the delivery destinations of fragment packets by random numbers.
(3) From the communication history of the auxiliary device 103 so far, when each of the m auxiliary devices 103 is k-th, the parameter p [k] (p [k]> 0 representing the load thereof ). This parameter is a positive numerical value. The larger the value, the greater the load, which means that there is no room in the bandwidth of the communication path used by the auxiliary device 103. Then, using a random number, the probability that the kth auxiliary device 103 is selected is, for example,
(1 / p [k]) / Σ i = 1 m (1 / p [i])
Thus, the delivery destination auxiliary device 103 is determined.

なお、当該確率の計算については、逆数を用いるのではなく、所定の単調減少関数f(・)、すなわち、任意の正の数x,yについてx < yであればf(x) ≧ f(y) > 0を満たすものを用いて、
f(p[k]) / Σi=1 m f(p[i])
のように定めても良い。
In calculating the probability, instead of using the reciprocal, a predetermined monotonically decreasing function f (•), that is, if x <y for any positive number x, y, f (x) ≧ f ( y)> 0
f (p [k]) / Σ i = 1 m f (p [i])
It may be determined as follows.

このようにして、たとえば、断片パケットの個数が128個で、補助装置103の個数が512個である場合は、各断片パケットを約4個の補助装置103に配送し、各補助装置103が約1個の断片パケット配送を受けるようにしたり、各断片パケットを約6個の補助装置103に配送し、各補助装置がおよそ1個〜2個の断片パケットの配送を受けるようにするような態様とすることができる。   Thus, for example, when the number of fragment packets is 128 and the number of auxiliary devices 103 is 512, each fragment packet is delivered to about four auxiliary devices 103, and each auxiliary device 103 is reduced to about A mode in which delivery of one fragment packet is received or each fragment packet is delivered to about six auxiliary devices 103 so that each auxiliary device receives delivery of approximately one or two fragment packets. It can be.

すなわち、各補助装置103に配送される断片パケットの個数は(異なっても良いが)偏りがないようにし、各断片パケットが配送される補助装置103の個数も(異なっても良いが)偏りがないようにすることが望ましい。また、ここでいう「偏り」を考える場合には、補助装置103が接続される通信路の帯域の余裕や、補助装置103自身の性能を考慮しても良い。   That is, the number of fragment packets delivered to each auxiliary device 103 is not biased (although it may be different), and the number of auxiliary devices 103 to which each fragment packet is delivered is also biased (although it may be different). It is desirable not to do so. Further, when considering “bias” here, the bandwidth of the communication path to which the auxiliary device 103 is connected and the performance of the auxiliary device 103 itself may be considered.

また、補助装置103の候補を決める場合には、コンピュータ通信網におけるネットワークトポロジー上最も近くにあるホップ数が小さいものから順に選択したり、所定の範囲に含まれるものを選択したり、当該機器との間の通信帯域が太いものから順に選択したりなど、通信コストの低いものから選択する手法を採用しても良い。   Further, when determining candidates for the auxiliary device 103, it is selected in order from the smallest number of hops closest to the network topology in the computer communication network, or a device included in a predetermined range, A method may be adopted in which the communication band is selected in ascending order of communication cost, such as selecting the communication band in descending order.

そして、配送部503は、決定された配送先の補助装置103に、当該断片パケットを配送して(ステップS507)、ステップS504に戻る。   Then, the delivery unit 503 delivers the fragment packet to the determined delivery destination auxiliary device 103 (step S507), and returns to step S504.

一方、すべての断片パケットの配送が終了したら(ステップS504;Yes)、本処理を終了する。このように、CPU 302は、RAM 304や外部記憶装置307、NIC 309と共働して、配送部503として機能することとなる。   On the other hand, when the delivery of all the fragment packets is completed (step S504; Yes), this process ends. As described above, the CPU 302 functions as the delivery unit 503 in cooperation with the RAM 304, the external storage device 307, and the NIC 309.

なお、外部記憶装置307の容量によっては、一旦記憶された断片パケットは削除しても良い。元のデータが記憶されている限り、断片パケットは必要に応じて生成することができるからである。また逆に、断片パケットが外部記憶装置307に残っている場合には、元のデータを削除しても良い。中央装置102で必要になったときには、断片パケットから元のデータが復元できるからである。   Depending on the capacity of the external storage device 307, the fragment packet once stored may be deleted. This is because the fragment packet can be generated as needed as long as the original data is stored. Conversely, when the fragment packet remains in the external storage device 307, the original data may be deleted. This is because the original data can be restored from the fragment packet when it becomes necessary in the central apparatus 102.

なお、パケットの配送の際には、当該パケットの送信元と送信先を指定する必要があり、これらの情報も当該パケットに付加される。また、パケットが何らかの要求を行うことを示す場合には、その応答先(一般には当該パケットの送信元であるが、中継や転送をした場合には、当該パケットを初めて発した通信機器が応答先となり、中継や転送の送信元ではない)も当該パケットに付加・指定される。以下、同様であるが、理解を容易にするため、適宜説明は省略する。   When delivering a packet, it is necessary to specify a transmission source and a transmission destination of the packet, and such information is also added to the packet. In addition, when the packet indicates that a request is made, the response destination (generally the transmission source of the packet, but when relaying or forwarding, the communication device that first issued the packet receives the response destination And is not added to or specified in the packet. Hereinafter, although the same, the description will be omitted as appropriate for easy understanding.

さて、各断片パケットの配送が終わった後は、上記のように、複数の補助装置103が十分な数あり、要求元装置104と補助装置103との通信が必要なだけ成功すれば、以下の処理は必要がなくなるが、実際には、補助装置103の処理では不十分で、要求元装置104から中央装置102に直接、断片を送るようにパケットが送付されることがある。このパケットを「中央要求」と呼ぶ。図6は、この中央要求を処理する中央応答処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   Now, after the delivery of each fragmented packet, as described above, there are a sufficient number of auxiliary devices 103, and if communication between the request source device 104 and the auxiliary device 103 is successful enough, Although the processing is not necessary, in reality, the processing of the auxiliary device 103 is insufficient, and the packet may be sent so as to send the fragment directly from the requesting device 104 to the central device 102. This packet is called a “central request”. FIG. 6 is a flowchart showing the control flow of the central response process for processing the central request. Hereinafter, a description will be given with reference to FIG.

まず、中央装置102は、NIC 309を介して、他の通信機器(補助装置103や要求元端末104のほか、種々の通信機器を含む。)から送信されたパケットを受信する(ステップS601)。そして、当該パケットの種類を判別する(ステップS602)。当該パケットの種類が中央要求でない場合(ステップS602;その他)は、これに対応する処理を適宜実行して(ステップS603)、次のパケットが来るまで待機し(ステップS604)、パケットが到達したことを検出するとステップS601に戻る。   First, the central apparatus 102 receives packets transmitted from other communication devices (including various communication devices in addition to the auxiliary device 103 and the request source terminal 104) via the NIC 309 (step S601). Then, the type of the packet is determined (step S602). If the type of the packet is not a central request (step S602; other), the corresponding processing is appropriately executed (step S603), waits for the next packet to arrive (step S604), and the packet has arrived If detected, the process returns to step S601.

なお、ステップS604におけるパケットの到達の待機には、適宜タイムアウトを設け、タイムアウトが生じた場合にはこれに対応する処理を実行してからステップS604に戻る等の処理を実行しても良い。以下でも、パケットの到達を待つ場合には、同様の処理を行うことができるが、理解を容易にするため、説明は適宜省略する。   It should be noted that a time-out may be provided as appropriate for waiting for the arrival of the packet in step S604, and processing such as returning to step S604 after executing processing corresponding to the time-out may be executed. In the following, when waiting for the arrival of a packet, the same processing can be performed, but the description will be omitted as appropriate for easy understanding.

一方、当該パケットが中央要求である場合(ステップS602;中央要求)、NIC 309がCPU 302と共働して中央要求受信部504として機能したこととなる。そこで、中央要求受信部504は、中央要求に指定される
(a)識別子
(b)必要な断片の個数およびそれぞれの断片のデータにおける配置位置
の情報を抽出する(ステップS605)。
On the other hand, when the packet is a central request (step S602; central request), the NIC 309 functions as the central request receiving unit 504 in cooperation with the CPU 302. Therefore, the central request receiving unit 504 extracts (a) identifier (b) the number of required fragments and information on the arrangement position in the data of each fragment specified in the central request (step S605).

ついで、中央応答送信部505は、断片パケットのうち、中央要求に指定された識別子と指定された配置位置に相当するものが取得できるか判断し(ステップS606)、可能であれば(ステップS606;Yes)、これを取得する(ステップS607)。上記のように、ステップS503で外部記憶装置307に保存された断片パケットがそのまま残っている場合は、条件に適合するものをそのまま取得すれば良いし、そうでなければ、元のデータから再度断片パケットを生成しても良い。   Next, the central response transmission unit 505 determines whether or not a fragment packet corresponding to the identifier designated in the central request and the designated arrangement position can be acquired (step S606), and if possible (step S606; Yes), this is acquired (step S607). As described above, when the fragment packet stored in the external storage device 307 in step S503 remains as it is, it is only necessary to obtain a packet that satisfies the conditions as it is. Otherwise, the fragment data is re-fragmented from the original data. A packet may be generated.

そして、当該断片パケットを指定する中央応答を、要求元端末に送信して(ステップS608)、ステップS604に進む。なお、中央応答1つに複数の断片パケットを含むように構成しても良いし、中央応答1つに断片パケットは1つと設定して、データの復元に複数の断片が必要な場合は、複数の中央応答を要求元端末104に順次送信することとしても良い。   Then, a central response designating the fragment packet is transmitted to the request source terminal (step S608), and the process proceeds to step S604. A single central response may be configured to include a plurality of fragment packets. If a single central response is set to one fragment packet and a plurality of fragments are required for data restoration, a plurality of fragment packets may be included. These central responses may be sequentially transmitted to the requesting terminal 104.

一方、可能でなければ(ステップS606;No)、中央要求に指定された情報が誤りである旨を要求元端末にエラー通知を送信して(ステップS609)、ステップS604に進む。   On the other hand, if it is not possible (step S606; No), an error notification is transmitted to the requesting terminal that the information specified in the central request is incorrect (step S609), and the process proceeds to step S604.

上記のように、補助装置103から収集した情報では、所望のデータが復元できない場合、要求元装置104は中央装置102に、不足分を要求し、中央装置102は、その不足分を要求元装置104に送信するのである。   As described above, if the information collected from the auxiliary device 103 cannot restore desired data, the request source device 104 requests the central device 102 for the shortage, and the central device 102 requests the shortage for the request source device. 104 is transmitted.

このように、本実施形態においては、中央装置102が単体でデータの提供を行うのではなく、補助装置103に断片を配布して提供の大部分を補助装置103に任せるので、中央装置102にアクセスが集中することを防止することができる。   As described above, in this embodiment, the central device 102 does not provide data alone, but distributes fragments to the auxiliary device 103 and leaves most of the provision to the auxiliary device 103. Access concentration can be prevented.

また、ラウンドロビンや乱数を用い、場合によっては負荷を考慮して断片パケットの配布先を決定するので、各補助装置103が保有する断片パケットの個数が均等となるか、あるいは、負荷が均等となることが期待され、特定の補助装置103にのみアクセスが集中する等の弊害をできるだけ防止することができる。   In addition, since round robin or random numbers are used and the distribution destination of fragment packets is determined in consideration of the load in some cases, the number of fragment packets held by each auxiliary device 103 is equal or the load is equal. Therefore, it is possible to prevent adverse effects such as concentration of access only on a specific auxiliary device 103 as much as possible.

(補助装置)
図7は、本実施形態に係る補助装置の概要構成を示す模式図である。図8は、本実施形態に係る補助装置にて実行される補助応答処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、以下の説明では、補助装置103が上記の情報処理装置301上に実現されている場合を例にあげて説明する。
(Auxiliary device)
FIG. 7 is a schematic diagram illustrating a schematic configuration of the auxiliary device according to the present embodiment. FIG. 8 is a flowchart showing the flow of control of auxiliary response processing executed by the auxiliary device according to the present embodiment. Hereinafter, a description will be given with reference to FIG. In the following description, a case where the auxiliary device 103 is realized on the information processing device 301 will be described as an example.

複数の補助装置103のそれぞれは、受付部701、断片記憶部702、補助要求受信部703、補助応答送信部704を備える。また、後述する実施形態では、補助要求転送部705を備えることとしており、本図においてもこれをあらかじめ図示している。   Each of the plurality of auxiliary devices 103 includes a receiving unit 701, a fragment storage unit 702, an auxiliary request receiving unit 703, and an auxiliary response transmitting unit 704. In an embodiment described later, an auxiliary request transfer unit 705 is provided, and this is also illustrated in advance in this figure.

本処理が開始されると、補助装置103は、NIC 309を介して、他の通信機器(中央装置102、他の補助装置103や要求元装置104のほか、種々の通信機器を含む。)から送信されたパケットを受信し(ステップS801)、当該パケットの種類を調べる(ステップS802)。   When this processing is started, the auxiliary device 103 includes other communication devices (including the central device 102, the other auxiliary devices 103, the request source device 104, and various communication devices) via the NIC 309. The transmitted packet is received (step S801), and the type of the packet is examined (step S802).

当該パケットが、中央装置102から送信された断片パケットである場合(ステップS802;断片パケット)、NIC 309は、CPU 302やRAM 304等と共働して、受付部701として機能したこととなる。そして、当該断片パケットを、外部記憶装置307に保存し(ステップS803)、次のパケットが到達するまで待機した後(ステップS804)、到達を検知したらステップS801に戻る。   When the packet is a fragment packet transmitted from the central apparatus 102 (step S802; fragment packet), the NIC 309 functions as the reception unit 701 in cooperation with the CPU 302, the RAM 304, and the like. Then, the fragment packet is stored in the external storage device 307 (step S803), waits until the next packet arrives (step S804), and returns to step S801 when arrival is detected.

なお、断片パケットに電子署名が付されている場合には、ステップS803において、当該電子署名を確認し、電子署名が承認された場合にのみ、当該断片パケットを外部記憶装置307に保存することとしても良い。   If an electronic signature is attached to the fragment packet, the electronic signature is confirmed in step S803, and the fragment packet is stored in the external storage device 307 only when the electronic signature is approved. Also good.

なお、断片パケットの保存の際には、不要な情報を適宜削除したり、情報の検索を高速化するための各種の技術を適用しても良い。したがって、外部記憶装置307は、CPU 302等と共働して、断片記憶部702として機能する。中央装置102から配送される断片パケットの個数は、上記のように、必ずしも1つとは限らず、複数の場合もありうる。これにより、将来要求元装置104から要求があった場合に、この断片パケットに含まれる情報を応答する準備をする。   When storing the fragment packet, various techniques for deleting unnecessary information or for speeding up information retrieval may be applied. Therefore, the external storage device 307 functions as the fragment storage unit 702 in cooperation with the CPU 302 and the like. As described above, the number of fragment packets delivered from the central apparatus 102 is not necessarily one, and may be plural. As a result, when there is a request from the request source apparatus 104 in the future, preparations are made for responding the information contained in this fragment packet.

一方、当該パケットが要求元装置104から送信された補助要求である場合(ステップS802;補助要求)、NIC 309は、CPU 302やRAM 304等と共働して、補助要求受信部703として機能したこととなり、補助要求受信部703は、断片記憶部702に記憶された断片パケットのうち、受信された補助要求に指定される識別子を持つものが取得できるか判断し(ステップS805)、可能であれば(ステップS805;Yes)、これを取得して(ステップS806)、当該断片パケットを指定する補助応答を要求元装置104に送信し(ステップS807)、ステップS804に進む。   On the other hand, when the packet is an auxiliary request transmitted from the request source apparatus 104 (step S802; auxiliary request), the NIC 309 functions as the auxiliary request receiving unit 703 in cooperation with the CPU 302, the RAM 304, and the like. Thus, the auxiliary request receiving unit 703 determines whether or not the fragment packet stored in the fragment storage unit 702 can be obtained with the identifier specified in the received auxiliary request (step S805). If this is acquired (step S805; Yes), this is acquired (step S806), an auxiliary response designating the fragment packet is transmitted to the request source apparatus 104 (step S807), and the process proceeds to step S804.

すなわち、要求元装置104から補助装置103への補助要求の送受が行われた場合、各補助装置103は、自身が記憶している断片パケットの識別子の項目を見て、要求元装置104が要求しているデータの断片を持っているか否かを判断し、持っている場合は、記憶している断片の内容と、元のデータ内における断片の配置位置とを、要求元装置104に送信する。これによって、要求元装置104は、所望のデータを復元できるようになるのである。   That is, when an auxiliary request is transmitted / received from the request source apparatus 104 to the auxiliary apparatus 103, each auxiliary apparatus 103 looks at the item of the identifier of the fragment packet stored in itself, and the request source apparatus 104 requests It is determined whether or not it has a fragment of the data that is being processed, and if so, the contents of the stored fragment and the arrangement position of the fragment in the original data are transmitted to the request source apparatus 104. . As a result, the request source apparatus 104 can restore the desired data.

一方、可能でなければ(ステップS805;No)、ステップS804に進む。すなわち、本発明においては、断片パケットを持っていない旨の通知を補助装置103から要求元装置104に対して行うことはない。補助要求は、複数の補助装置103に対して送られるので、断片パケットを返送することができる場合にのみ、補助応答を返せば十分だからである。   On the other hand, if it is not possible (step S805; No), it will progress to step S804. That is, in the present invention, the notification that there is no fragment packet is not sent from the auxiliary device 103 to the request source device 104. This is because an auxiliary request is sent to a plurality of auxiliary devices 103, and it is sufficient to return an auxiliary response only when a fragment packet can be returned.

一方、当該パケットが、他の種類のパケットである場合(ステップS802;その他)、補助装置103は、対応する処理を実行して(ステップS808)、ステップS804に進む。   On the other hand, when the packet is another type of packet (step S802; other), the auxiliary device 103 executes a corresponding process (step S808) and proceeds to step S804.

このように、本実施形態では、補助装置103が中央装置102から配布された断片を「キャッシュ」し、要求元装置104からのデータの要求に応じて当該断片を提供するので、中央装置102の負荷集中を防止することができる。   In this way, in this embodiment, the auxiliary device 103 “caches” the fragment distributed from the central device 102 and provides the fragment in response to a request for data from the requesting device 104. Load concentration can be prevented.

なお、上記のように、到達確認のないプロトコル、たとえばUDP通信によって補助応答の送受が行われる場合には、当該補助装置103自身のCPU 302の負荷や、NIC 309に接続される通信経路の帯域の余裕をステップS802の後で検知して、当該負荷が一定の閾値を超えない場合にのみ、ステップS805〜S807の処理を実行することとしても良い。   As described above, when an auxiliary response is transmitted and received by a protocol without arrival confirmation, for example, UDP communication, the load on the CPU 302 of the auxiliary device 103 itself and the bandwidth of the communication path connected to the NIC 309 The process of steps S805 to S807 may be executed only when the margin is detected after step S802 and the load does not exceed a certain threshold.

(要求元装置)
図9は、本実施形態に係る要求元装置の概要構成を示す模式図である。図10は、当該要求元装置にて実行されるファイル(データ)取得処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、以下の説明では、要求元装置104が上記の情報処理装置301上に実現されている場合を例にあげて説明する。
(Requesting device)
FIG. 9 is a schematic diagram illustrating a schematic configuration of the request source apparatus according to the present embodiment. FIG. 10 is a flowchart showing the flow of control of a file (data) acquisition process executed by the request source apparatus. Hereinafter, a description will be given with reference to FIG. In the following description, a case where the request source device 104 is realized on the information processing device 301 will be described as an example.

要求元装置104は、補助要求送信部901、補助応答受信部902、中央要求送信部903、中央応答受信部904、復元部905を備える。   The request source device 104 includes an auxiliary request transmission unit 901, an auxiliary response reception unit 902, a central request transmission unit 903, a central response reception unit 904, and a restoration unit 905.

まず、補助要求送信部901は、所望のデータの識別子を指定する補助要求を、複数の補助装置103のうち、当該要求元装置104に通信可能に接続される補助装置103に送信する(ステップS1001)。この補助要求のパケットには、要求の応答先として、当該要求元装置104が指定されている。したがって、CPU 302は、NIC 309等と共働して、補助要求送信部901として機能する。   First, the auxiliary request transmission unit 901 transmits an auxiliary request designating an identifier of desired data to the auxiliary device 103 that is communicably connected to the request source device 104 among the plurality of auxiliary devices 103 (step S1001). ). In the auxiliary request packet, the request source apparatus 104 is designated as a response destination of the request. Therefore, the CPU 302 functions as the auxiliary request transmission unit 901 in cooperation with the NIC 309 and the like.

たとえば、中央装置102、補助装置103、要求元装置104がインターネット内に配置されている場合、理論的には、すべての装置が相互に通信可能であるが、実際には、要求元装置104は一部の補助装置103としか通信できない場合が多い。この制限は、通信路の容量によるもののほか、そもそも補助装置103と通信するための前提となるIPアドレスやポート番号がわからないことがあるからである。   For example, when the central device 102, the auxiliary device 103, and the request source device 104 are arranged in the Internet, all devices can theoretically communicate with each other, but in practice, the request source device 104 is In many cases, communication is possible only with some auxiliary devices 103. This limitation is due to the fact that the IP address and port number that are the preconditions for communicating with the auxiliary device 103 may not be known in addition to the communication path capacity.

対戦型ネットワークゲームの場合、各プレイヤーは自身の端末を用いて、まずロビーと呼ばれるサーバにアクセスし、このサーバに紹介された端末同士で対戦を行うことがある。たとえば、このような紹介の段階で、(一部の)補助装置103のIPアドレスやポート番号といった情報が提供されるのである。   In the case of a competitive network game, each player may first access a server called a lobby using his / her terminal and play a battle between the terminals introduced to this server. For example, information such as the IP address and port number of (a part of) the auxiliary device 103 is provided at the stage of such introduction.

このほか、過去に当該サービスを利用する上で当該要求元装置104が通信したことのある他の通信機器を補助要求の送信先の補助装置103として選択することも可能である。   In addition, it is also possible to select another communication device that the request source apparatus 104 has communicated with when using the service in the past as the auxiliary apparatus 103 that is the transmission destination of the auxiliary request.

また、プロトコルの上で、放送型のブロードキャスト通信が可能である場合には、補助要求をこの形式で行うことにより、応答可能な補助装置103に補助要求を送付することができる。   Further, when broadcast-type broadcast communication is possible according to the protocol, the auxiliary request can be sent to the auxiliary device 103 that can respond by making the auxiliary request in this format.

この後、要求元装置104は、パケットを受信して(ステップS1002)、当該パケットの種類を調べる(ステップS1003)。このパケットの種類が補助応答である場合(ステップS1003;補助応答)、当該補助応答に指定される断片パケットの断片の配置位置がすでに受信済みのものであるか否かを調べ(ステップS1004)、受信済みのものでなければ(ステップS1004;No)、RAM 304や外部記憶装置307などの一時的な記憶装置に、当該断片パケットを記憶する(ステップS1005)。   Thereafter, the request source device 104 receives the packet (step S1002) and checks the type of the packet (step S1003). When the type of this packet is an auxiliary response (step S1003; auxiliary response), it is checked whether or not the fragment arrangement position of the fragment packet specified in the auxiliary response has already been received (step S1004). If it has not been received (step S1004; No), the fragment packet is stored in a temporary storage device such as the RAM 304 or the external storage device 307 (step S1005).

そして、補助装置103からの補助応答をさらに待つか判断し(ステップS1006)、さらに待つ場合(ステップS1007;Yes)、次のパケットが検出されるまで待機してから(ステップS1007)、ステップS1002に戻る。   Then, it is determined whether or not to wait further for an auxiliary response from the auxiliary device 103 (step S1006). When waiting further (step S1007; Yes), after waiting until the next packet is detected (step S1007), the process proceeds to step S1002. Return.

なお、補助応答をさらに待つか否かの判断であるが、データの復元に必要な断片パケットがすべて揃えば、補助応答をさらに待つ必要はない。これがまだ不足している場合には、以下のような基準を設けて判断を行うことができる。
(a)補助要求を送信してから所定の時間が経過したか否か。
(b)補助要求を送信してから、補助応答が順次受信される時間間隔を調べ、当該時間間隔が所定の閾値よりも長くなったか否か。
(c)補助要求を送信してから、補助応答が順次受信される時間間隔の履歴から、次の時間間隔の期待値を種々の補外技術により推測し、当該推測された時間間隔が所定の閾値よりも長くなったか否か。
Although it is determined whether or not to wait for an auxiliary response, if all the fragment packets necessary for data restoration are prepared, there is no need to wait for an additional response. If this is still insufficient, the following criteria can be set for judgment.
(A) Whether or not a predetermined time has passed since the auxiliary request was transmitted.
(B) After transmitting the auxiliary request, the time interval at which the auxiliary responses are sequentially received is checked, and whether or not the time interval has become longer than a predetermined threshold value.
(C) From the history of time intervals in which auxiliary responses are sequentially received after the transmission of the auxiliary request, the expected value of the next time interval is estimated by various extrapolation techniques, and the estimated time interval is a predetermined value. Whether it has become longer than the threshold.

一方、それ以外のパケットである場合(ステップS1003;その他)、当該パケットに対応する処理を実行して(ステップS1008)、ステップS1007に進む。   On the other hand, if the packet is other than that (step S1003; other), the process corresponding to the packet is executed (step S1008), and the process proceeds to step S1007.

また、断片パケットに電子署名が付されている場合は、ステップS1005において、当該電子署名から見て当該断片パケットが有効か否かを判断し、これが認証された場合にのみ、外部記憶装置307に断片パケットを保存することとしても良い。以下同様である。   If an electronic signature is attached to the fragment packet, it is determined in step S1005 whether or not the fragment packet is valid as viewed from the electronic signature, and only when the fragment packet is authenticated, the external storage device 307 stores the fragment packet. The fragment packet may be saved. The same applies hereinafter.

このように、CPU 302は、RAM 304や外部記憶装置307、NIC 309等と共働して、補助応答受信部902として機能することとなる。   As described above, the CPU 302 functions as the auxiliary response receiving unit 902 in cooperation with the RAM 304, the external storage device 307, the NIC 309, and the like.

さて、補助応答を待たないこととした場合(ステップS1006;No)、要求元装置104は、データの復元に必要な断片パケットがすべて揃っているか否かを判断し(ステップS1009)、揃っていなければ(ステップS1009;No)、断片パケットが不足している配置位置を取得して(ステップS1010)、当該識別子と、当該不足している断片の配置位置を指定する中央要求を、中央装置102に送信する(ステップS1011)。   If it is decided not to wait for an auxiliary response (step S1006; No), the request source apparatus 104 determines whether all the fragment packets necessary for data restoration are prepared (step S1009). If this is the case (step S1009; No), the arrangement position where the fragment packet is insufficient is acquired (step S1010), and a central request for designating the identifier and the arrangement position of the insufficient fragment is sent to the central apparatus 102. Transmit (step S1011).

したがって、CPU 302は、RAM 304や外部記憶装置307、NIC 309等と共働して、中央要求送信部903として機能することとなる。   Therefore, the CPU 302 functions as the central request transmission unit 903 in cooperation with the RAM 304, the external storage device 307, the NIC 309, and the like.

この後、要求元装置104は、パケットを受信して(ステップS1012)、当該パケットの種類を調べる(ステップS1013)。このパケットの種類が中央応答もしくは補助応答である場合(ステップS1013;中央応答/補助応答)、当該中央応答・補助応答に指定される断片パケットの断片の配置位置がすでに受信済みのものであるか否かを調べ(ステップS1014)、受信済みのものでなければ(ステップS1014;No)、RAM 304や外部記憶装置307などの一時的な記憶装置に、当該断片パケットを記憶する(ステップS1015)。   Thereafter, the request source apparatus 104 receives the packet (step S1012), and checks the type of the packet (step S1013). If this packet type is a central response or an auxiliary response (step S1013; central response / auxiliary response), whether the fragment arrangement position of the fragment packet specified in the central response / auxiliary response has already been received. If it has not been received (step S1014; No), the fragment packet is stored in a temporary storage device such as the RAM 304 or the external storage device 307 (step S1015).

そして、中央装置102もしくは補助装置103からの中央応答・補助応答をさらに待つか判断し(ステップS1016)、さらに待つ場合(ステップS1016;Yes)、次のパケットが検出されるまで待機してから(ステップS1017)、ステップS1012に戻る。   Then, it is determined whether or not to wait for a central response / auxiliary response from the central device 102 or the auxiliary device 103 (step S1016), and when waiting further (step S1016; Yes), after waiting until the next packet is detected ( Step S1017) and return to Step S1012.

ここで、中央応答のみならず補助応答も考慮するのは、補助装置103の通信ネットワーク内でのトポロジー的な位置や通信路の帯域の状況によっては、補助応答がこのように遅れて到達する可能性があるからである。   Here, not only the central response but also the auxiliary response is considered because the auxiliary response can arrive with such a delay depending on the topological position of the auxiliary device 103 in the communication network and the condition of the bandwidth of the communication path. Because there is sex.

したがって、CPU 302は、RAM 304や外部記憶装置307、NIC 309等と共働して、中央応答受信部904として機能することとなる。   Therefore, the CPU 302 functions as the central response receiving unit 904 in cooperation with the RAM 304, the external storage device 307, the NIC 309, and the like.

ここで、中央応答・補助応答をさらに待つかの基準は、上記のステップS1007における補助応答の場合と同様に考えれば良い。   Here, the criteria for whether to wait for the central response / auxiliary response may be considered in the same manner as in the case of the auxiliary response in step S1007.

一方、パケットの種類が存在しないデータを要求した旨のエラー通知である場合(ステップS1013;エラー通知)、その旨を報告して(ステップS1018)、本処理を終了する。   On the other hand, if it is an error notification indicating that data whose packet type does not exist is requested (step S1013; error notification), that fact is reported (step S1018), and this processing ends.

パケットの種類がこれ以外のものである場合(ステップS1013;その他)、当該パケットに対応する処理を実行して(ステップS1019)、ステップS1017に進む。   If the packet type is other than this (step S1013; other), the process corresponding to the packet is executed (step S1019), and the process proceeds to step S1017.

さて、中央応答・補助応答を待たない場合(ステップS1016;No)、データの復元に必要な断片パケットがすべて揃っているか否かを判断し(ステップS1020)、揃っていなければ(ステップS1020;No)、その旨を報告して(ステップS1021)、本処理を終了する。   When the central response / auxiliary response is not waited (step S1016; No), it is determined whether all fragment packets necessary for data restoration are prepared (step S1020). ) To that effect (step S1021), and this processing is terminated.

一方、必要な断片パケットがすべてが揃っていれば(ステップS1009;Yes、ステップS1020;Yes)、各断片パケットから配置位置の順に断片を取得して連結することにより、所望のデータを復元し(ステップS1022)、本処理を終了する。   On the other hand, if all the necessary fragment packets are available (step S1009; Yes, step S1020; Yes), the desired data is restored by acquiring and concatenating the fragments from the fragment packets in the order of arrangement positions ( Step S1022), the process is terminated.

したがって、CPU 302は、RAM 304や外部記憶装置307等と共働して、復元部905として機能することとなる。   Therefore, the CPU 302 functions as the restoration unit 905 in cooperation with the RAM 304, the external storage device 307, and the like.

このように、本実施形態の要求元装置104は、補助装置103から収集した断片に関する情報と、それで足りない場合にはさらに中央装置102から取得した断片に関する情報と、から、元のデータを復元するのである。   As described above, the request source device 104 of the present embodiment restores the original data from the information about the fragments collected from the auxiliary device 103 and the information about the fragments acquired from the central device 102 if it is not enough. To do.

このように、本実施形態によれば、要求元装置104があるデータを取得したいと考えた場合に、中央装置102へのアクセスをできるだけ少なくし、補助装置103に分散された記憶されたデータの断片を収集することによって、所望のデータを復元するようなデータ処理システムを提供することができる。   As described above, according to the present embodiment, when the request source device 104 wishes to acquire certain data, the access to the central device 102 is reduced as much as possible, and the stored data distributed to the auxiliary device 103 is stored. By collecting fragments, it is possible to provide a data processing system that restores desired data.

なお、上記の実施形態では、中央応答にデータの断片が含まれることとなるが、中央装置102は、データの断片にかえて必要なデータの断片を所有する補助装置103を指定するあっせん情報を中央応答に含めることとし、中央応答を受信した要求元装置104が、中央応答内のあっせん情報に指定される補助装置103に補助要求を発することとしても良い。一般に、データの断片のサイズよりも補助装置103を指定する情報のサイズの方が圧倒的に小さいため、この実施態様を採用することによって、中央装置102の負荷を補助装置103に分散させることができるようになる。   In the above embodiment, the central response includes a data fragment. However, the central device 102 specifies mediation information for specifying the auxiliary device 103 that owns the necessary data fragment instead of the data fragment. It may be included in the central response, and the request source device 104 that has received the central response may issue an auxiliary request to the auxiliary device 103 specified in the mediation information in the central response. In general, since the size of the information specifying the auxiliary device 103 is overwhelmingly smaller than the size of the data fragment, by adopting this embodiment, the load of the central device 102 can be distributed to the auxiliary device 103. become able to.

また、「識別子」としてファイル名とバージョン番号の組合せを使用することも可能である。データの指定にファイル名のみが指定された場合には、最新のファイルが指定されたものとして扱い、バージョン番号も指定された場合には、そのバージョンのファイルが指定されたものとして扱うのである。   Further, a combination of a file name and a version number can be used as the “identifier”. If only the file name is specified in the data specification, it is treated as if the latest file was specified, and if the version number is also specified, the file of that version is handled as specified.

「識別子」として「ファイル○○のうちバージョン○○以降のいずれかのバージョン」なども使用できることとしても良い。この場合は、補助応答で複数のバージョンの断片が収集された場合には、要求元装置104では最新のバージョンを採用するか、最初にすべての断片が揃ったバージョンを採用する等、種々の態様を採用することができる。   As the “identifier”, “any version after the version XX in the file XX” or the like may be used. In this case, when multiple versions of fragments are collected in the auxiliary response, the request source apparatus 104 adopts the latest version, or adopts a version in which all the fragments are prepared first, for example. Can be adopted.

このように、本実施形態は、種々の補助装置103に分散して配置することができるため、負荷分散に好適であるほか、頻繁に使用されるバージョンが複数ある場合であっても、ファイルのバージョン管理を適切に行うのにも好適である。   As described above, since the present embodiment can be distributed and arranged in various auxiliary devices 103, it is suitable for load distribution and even when there are a plurality of frequently used versions, It is also suitable for performing version management appropriately.

上記実施形態では、要求元装置104から送信された補助要求は、直接これを受信した補助装置103によってのみ処理されており、これらが保存していない断片パケットを要求元装置104と直接通信しない補助装置103が所有している場合であっても、中央装置102への中央要求の送信が生じてしまっていた。本実施形態では、このような場合であっても、できるだけ中央要求を行わないようにするものである。   In the above-described embodiment, the auxiliary request transmitted from the request source apparatus 104 is processed only by the auxiliary apparatus 103 that directly receives the auxiliary request, and the auxiliary packet that is not stored is not directly communicated with the request source apparatus 104. Even when the device 103 is owned, transmission of the central request to the central device 102 has occurred. In this embodiment, even in such a case, the central request is made as little as possible.

すなわち、要求元装置104において、補助要求送信部901は、当該補助要求の断片パケットに、さらに以下の情報を付加する。
(a)他の補助要求と重複しない識別子
(b)当該要求の寿命
That is, in the request source device 104, the auxiliary request transmission unit 901 adds the following information to the auxiliary request fragment packet.
(A) Identifier not duplicated with other auxiliary requests (b) Lifetime of the request

この識別子と寿命の情報を用いて、以降に説明するように、補助要求をネットワーク内で伝播させるのである。寿命の情報は、典型的には0以上の整数であり、いわゆる最長ホップ数に相当するものである。   By using this identifier and life information, the auxiliary request is propagated in the network as will be described later. The lifetime information is typically an integer greater than or equal to 0 and corresponds to the so-called longest hop count.

そして、上記の補助装置103における応答処理において、適宜処理を追加する。図11は、本実施形態における応答処理の制御の流れを示すフローチャートのうち、上述の実施形態との相異点を示す部分である。   And in the response process in said auxiliary | assistant apparatus 103, a process is added suitably. FIG. 11 is a portion showing a difference from the above-described embodiment in a flowchart showing a control flow of response processing in the present embodiment.

すなわち、補助装置103は、上記実施形態のステップS802とステップS805との間で、以下の処理を行うのである。   That is, the auxiliary device 103 performs the following processing between step S802 and step S805 of the above embodiment.

まず、受信された補助要求に指定された識別子が、過去に受信された補助要求に指定された識別子のいずれとも異なるか否かを判断する(ステップS851)。いずれとも異なる場合(ステップS851;Yes)、受信された補助要求に指定された寿命を減じ(ステップS852)、当該寿命が尽きたか否かを判断し(ステップS853)、尽きない場合は(ステップS853;No)、減じた寿命を指定する補助要求を、他の補助装置103に転送して(ステップS854)、ステップS805に進む。   First, it is determined whether the identifier specified in the received auxiliary request is different from any of the identifiers specified in the previously received auxiliary requests (step S851). If they are different from each other (step S851; Yes), the life specified in the received auxiliary request is reduced (step S852), it is determined whether or not the life is exhausted (step S853), and if not (step S853). No), the auxiliary request designating the reduced lifetime is transferred to the other auxiliary device 103 (step S854), and the process proceeds to step S805.

転送の際は、当該補助要求が、要求元装置104から受信したものか、他の補助装置103の中継を経たものかを判断して、中継を経ている場合には、当該中継元の補助装置103には、ステップS854における転送は必要がない。   At the time of transfer, it is determined whether the auxiliary request is received from the request source apparatus 104 or relayed by another auxiliary apparatus 103. 103 does not need to be transferred in step S854.

また、転送の際には、当該補助要求の応答先の情報については、維持するものとし、転送先の補助装置103が補助応答を返す場合には、要求元装置104に直接返送ができるようにしておく。   In addition, during transfer, information on the response destination of the auxiliary request is maintained, and when the auxiliary device 103 at the transfer destination returns an auxiliary response, it can be directly returned to the request source device 104. Keep it.

また、上記のように、寿命は典型的には整数で表現されるので、寿命を減ずるには1を減算し、寿命が尽きたか否かは値が0以下(0未満)になったか否かで判断すれば良い。   In addition, as described above, since the life is typically expressed as an integer, 1 is subtracted to reduce the life, and whether or not the life is exhausted is a value of 0 or less (less than 0). You can judge it.

一方、過去に受信された補助要求に指定された識別子に一致するものがある場合(ステップS851;No)や、寿命が尽きた場合(ステップS853;Yes)、転送は行わずにステップS805に進む。   On the other hand, when there is an identifier that matches the identifier specified in the auxiliary request received in the past (step S851; No), or when the lifetime is exhausted (step S853; Yes), the process proceeds to step S805 without performing the transfer. .

なお、寿命を減ずるのは、さらに、受信された補助要求に指定された識別子に対応付けられる断片が、断片記憶部702に記憶されていない場合に限ることとしても良い。この場合は、寿命は、断片を記憶している補助装置103に限った最長ホップ数を意味することになる。   Note that the lifetime may be reduced only when the fragment associated with the identifier specified in the received auxiliary request is not stored in the fragment storage unit 702. In this case, the lifetime means the maximum number of hops limited to the auxiliary device 103 storing the fragment.

また、過去に転送したことのある補助要求か否かは、補助要求に指定される識別子(いわゆる「メッセージID」である。)によって判別される。   Further, whether or not an auxiliary request has been transferred in the past is determined by an identifier (so-called “message ID”) specified in the auxiliary request.

さて、適宜転送を行った後は、受信された補助要求の吟味に入るが、本実施形態では、受信された補助要求の直近の送信元は、要求元装置104である場合と、他の補助装置103である場合とが考えられる。しかしながら、上記のように、補助要求を転送する場合であっても、補助応答の送信先、すなわち、大元の要求元装置104を指定する情報はそのまま維持されるので、ステップS807においては、直接要求元装置104に断片パケットを指定する補助応答を送信することになる。   Now, after appropriately transferring, the received auxiliary request is examined. In this embodiment, the immediate transmission source of the received auxiliary request is the request source apparatus 104 and other auxiliary requests. It is conceivable that the device 103 is used. However, as described above, even when the auxiliary request is transferred, the information specifying the auxiliary response transmission destination, that is, the original request source apparatus 104 is maintained as it is. An auxiliary response designating the fragment packet is transmitted to the request source apparatus 104.

本発明によれば、要求元装置104が直接その所在を知らない補助装置103であっても、その補助装置103へ達するような所定のホップ数以下の経路が存在する場合には、当該補助装置103からも断片の提供を受けることができるようになる。   According to the present invention, even when the request source device 104 is the auxiliary device 103 that does not directly know the location, if there is a route with a predetermined number of hops or less that reaches the auxiliary device 103, the auxiliary device 103 The fragment can be provided from 103 as well.

上記実施形態の要求元装置104は、所望のデータの断片パケットをすべて収集することが期待される。したがって、当該断片パケットの一部を外部記憶装置307に記憶することとし、当該要求元装置104が実現される情報処理装置301を、上記の補助装置103として機能させることも可能である。   The request source apparatus 104 of the above embodiment is expected to collect all pieces of desired data fragment packets. Therefore, it is possible to store a part of the fragment packet in the external storage device 307 and cause the information processing device 301 in which the request source device 104 is realized to function as the auxiliary device 103.

この場合、断片パケットは、中央装置102から直接送信されたものではなく、過去に自身がデータを復元しようとして他の補助装置から受信したもの、ということになる。   In this case, the fragment packet is not directly transmitted from the central apparatus 102, but is a packet received by another auxiliary apparatus in the past in an attempt to restore data.

どの断片パケットを利用して自身を補助装置103としても機能するようにするか、であるが、残すべき断片パケットは、以下のような判断基準で選択することができる。
(a)乱数を発生させて、当該乱数に基づいてランダムに選択する。最も容易な選択方法である。
(b)中央装置102から中央応答により提供された断片パケットを選択する。複数ある場合には、適宜ランダムに選択する。
(c)補助装置103から補助応答により提供された断片パケットのうち、最も後に到達したものを選択する。最も後に到達したもの複数の中から、適宜ランダムに選択しても良い。
(d)上記(b)(c)のいずれか、もしくは、双方を用いる。たとえば、中央要求を出さなかった場合は(c)、出した場合は(b)とする等である。また、(b)(c)の両方で選択されたものを両方採用することとしても良い。
Which fragment packet is used to function as the auxiliary device 103, the fragment packet to be left can be selected based on the following criteria.
(A) A random number is generated and selected randomly based on the random number. It is the easiest selection method.
(B) Select the fragment packet provided by the central response from the central device 102. When there are a plurality, they are selected at random as appropriate.
(C) Of the fragment packets provided by the auxiliary response from the auxiliary device 103, the packet that has arrived last is selected. You may select at random suitably from multiple things which arrived later.
(D) Either or both of the above (b) and (c) are used. For example, (c) when a central request is not issued, (b) when a central request is issued, and so on. Moreover, it is good also as employ | adopting what was selected by both (b) and (c).

上記(b)〜(d)によれば、当該情報処理装置301周辺の機器には、当該断片パケットを保持している補助装置103がないか、少ないと予想されるので、補助装置103における断片パケットの分布の不均衡をならすことが期待され、データ処理システム101全体の性能向上に貢献することができる。   According to the above (b) to (d), it is expected that the peripheral devices of the information processing apparatus 301 have no or few auxiliary devices 103 holding the fragment packets. It is expected that the distribution of packets will be unbalanced, which can contribute to improving the performance of the entire data processing system 101.

このほか、上記実施形態からもわかる通り、要求元装置104、補助装置103、中央装置102の間での断片パケットの送受を中継する他の情報処理装置が、断片パケットの内容を当該データが自身にとって必要なものであるか否かをチェックし、必要なものである場合には、自ら要求パケットを送ることなく、中継する断片パケットを自身でも使用するように構成することもできる。このように構成することにより、全体としてのパケット流通量を減少させることができ、データ処理システム101全体の性能向上に貢献することができる。   In addition, as can be seen from the above embodiment, another information processing apparatus that relays the transmission / reception of the fragment packet among the request source apparatus 104, the auxiliary apparatus 103, and the central apparatus 102, It is also possible to check whether or not the packet is necessary, and if it is necessary, it is possible to use the fragment packet to be relayed by itself without sending the request packet. With this configuration, it is possible to reduce the overall packet distribution amount and contribute to improving the performance of the entire data processing system 101.

また、補助要求や中央要求、断片パケットに、それが過去に通過した機器を記録すれば、経路探索情報を収集することができるとともに、過去に通過した機器への送信を行わず、未通過の機器のみに送信することができるようになる。これによって、無駄なパケットの送受を防止することができ、データ処理システム101全体の性能向上に貢献することができる。   In addition, if a device that has passed in the past is recorded in an auxiliary request, a central request, or a fragment packet, route search information can be collected, and transmission to a device that has passed in the past is not performed and an unpassed It becomes possible to transmit only to the device. As a result, useless packet transmission / reception can be prevented, which contributes to an improvement in the performance of the entire data processing system 101.

以上説明したように、本発明によれば、ネットワーク経由でデータを取得する際に、一つの装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができ、各種のデータ配布技術に適用することができる。   As described above, according to the present invention, when acquiring data via a network, a data processing system, a central device, an auxiliary device, and a request suitable for preventing as much access as possible from being concentrated on one device. An original apparatus, a central service method, an auxiliary service method, a request source method, and a program for realizing them on a computer can be provided, and can be applied to various data distribution techniques.

本発明の実施形態の1つに係るデータ処理システムの概要構成を示す説明図である。It is explanatory drawing which shows schematic structure of the data processing system which concerns on one of embodiment of this invention. 本実施形態における通信の様子を示すシーケンス図である。It is a sequence diagram which shows the mode of communication in this embodiment. 本実施形態における中央装置、補助装置、あるいは、要求元装置が実現される情報処理装置の概要構成を示す模式図である。It is a mimetic diagram showing an outline composition of an information processor with which a central device, an auxiliary device, or a request origin device in this embodiment is realized. 本実施形態に係る中央装置の概要構成を示す模式図である。It is a mimetic diagram showing an outline composition of a central device concerning this embodiment. 本実施形態に係る中央装置にて実行される分割配送処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the division delivery process performed with the central apparatus which concerns on this embodiment. 本実施形態に係る中央装置にて実行される中央応答処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the central response process performed with the central apparatus which concerns on this embodiment. 本実施形態に係る補助装置の概要構成を示す模式図である。It is a mimetic diagram showing an outline composition of an auxiliary device concerning this embodiment. 本実施形態に係る補助装置にて実行される補助応答処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the auxiliary | assistant response process performed with the auxiliary | assistant apparatus which concerns on this embodiment. 本実施形態に係る要求元装置の概要構成を示す模式図である。It is a schematic diagram which shows schematic structure of the request origin apparatus which concerns on this embodiment. 当該要求元装置にて実行されるファイル(データ)取得処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the file (data) acquisition process performed with the said request origin apparatus. その他の実施形態における応答処理の制御の流れのうち、上述の実施形態との相異点を示すフローチャートである。It is a flowchart which shows a difference with the above-mentioned embodiment among the control flow of the response process in other embodiment.

符号の説明Explanation of symbols

101 データ処理システム
102 中央装置
103 補助装置
104 要求元装置
105 インターネット
301 情報処理装置
302 CPU
303 ROM
304 RAM
305 入力装置
306 表示装置
307 外部記憶装置
308 媒体読取装置
309 NIC
501 データ記憶部
502 分割部
503 配送部
504 中央要求受信部
505 中央応答送信部
701 受付部
702 断片記憶部
703 補助要求受信部
704 補助応答送信部
705 補助要求転送部
901 補助要求送信部
902 補助応答受信部
903 中央要求送信部
904 中央応答受信部
905 復元部
DESCRIPTION OF SYMBOLS 101 Data processing system 102 Central apparatus 103 Auxiliary apparatus 104 Request origin apparatus 105 Internet 301 Information processing apparatus 302 CPU
303 ROM
304 RAM
305 Input device 306 Display device 307 External storage device 308 Medium reader 309 NIC
501 Data storage unit 502 Division unit 503 Delivery unit 504 Central request reception unit 505 Central response transmission unit 701 Reception unit 702 Fragment storage unit 703 Auxiliary request reception unit 704 Auxiliary response transmission unit 705 Auxiliary request transfer unit 901 Auxiliary request transmission unit 902 Auxiliary response Reception unit 903 Central request transmission unit 904 Central response reception unit 905 Restoration unit

Claims (11)

中央装置と、複数の補助装置と、複数の要求元装置と、を備えるデータ処理システムであって、
(a)前記中央装置は、
データを識別子に対応付けて記憶するデータ記憶部、
前記記憶されたデータを複数の断片に分割する分割部、
前記分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を、前記複数の補助装置のいずれか少なくとも1つに配送する配送部を備え、
(b)前記複数の補助装置のそれぞれは、
前記中央装置から配送される断片と識別子と配置位置との三つ組を受け付ける受付部、
前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶部を備え、
(c)前記複数の要求元装置のそれぞれは、
所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置、ならびに、前記複数の要求元装置のうち、過去に通信したことのある他の要求元装置に送信する補助要求送信部を備え、
(d)前記複数の補助装置のそれぞれは、
前記複数の要求元装置のいずれかから送信される補助要求を受信する補助要求受信部、
前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記補助要求を送信した要求元装置に送信する補助応答送信部をさらに備え、
(e)前記複数の要求元装置のそれぞれは、
前記補助要求の送信先のいずれかから送信される補助応答を受信する補助応答受信部、
前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信部をさらに備え、
(f)前記中央装置は、
前記複数の要求元装置のいずれかから、識別子と配置位置とを指定する中央要求を受信する中央要求受信部、
前記分割された断片のうち、前記受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を前記中央要求を送信した要求元装置に送信する中央応答送信部をさらに備え、
(g)前記複数の要求元装置のそれぞれは、
前記中央装置から送信される中央応答を受信する中央応答受信部、
前記受信された補助応答に指定される断片および配置位置と、前記中央要求を送信した場合は前記受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、から、当該所望のデータを復元する復元部、
前記中央要求を送信した場合、前記受信された中央応答に指定された断片と当該中央要求に指定された識別子と当該中央要求に指定された配置位置との三つ組を受け付け、前記中央要求を送信しなかった場合、前記受信された補助応答のうち最後に受信された補助応答に指定された断片と当該最後に受信された補助応答に対する補助要求に指定された識別子と当該最後に受信された補助応答に対する補助要求に指定された配置位置との三つ組を受け付ける受付部、
前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶部、
前記複数の要求元装置のうち、他の要求元装置のいずれかから送信される補助要求を受信する補助要求受信部、
前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記補助要求を送信した要求元装置に送信する補助応答送信部をさらに備える
ことを特徴とするデータ処理システム。
A data processing system comprising a central device, a plurality of auxiliary devices, and a plurality of requesting devices,
(A) The central device is
A data storage unit for storing data in association with an identifier;
A dividing unit for dividing the stored data into a plurality of fragments;
For each of the plurality of divided fragments, a triplet of the fragment, the identifier of the data, and a position where the fragment is arranged in the data (hereinafter referred to as “arrangement position”) A delivery unit that delivers to at least one of the
(B) Each of the plurality of auxiliary devices is
A reception unit that receives a triplet of a fragment, an identifier, and an arrangement position delivered from the central device;
A fragment storage unit that stores the received fragment, the identifier, and the arrangement position in association with each other;
(C) Each of the plurality of request source devices
An auxiliary request designating an identifier of desired data has been communicated in the past among the plurality of auxiliary devices, the auxiliary device communicatively connected to the request source device, and the plurality of request source devices. An auxiliary request transmitter for transmitting to other request source devices
(D) Each of the plurality of auxiliary devices is
An auxiliary request receiving unit that receives an auxiliary request transmitted from any of the plurality of request source devices;
Of the fragments stored in the fragment storage unit, an auxiliary response that specifies a fragment stored in association with the identifier specified in the received auxiliary request and an arrangement position stored in association with the fragment , Further comprising an auxiliary response transmission unit that transmits the auxiliary request to the request source device.
(E) Each of the plurality of request source devices includes:
An auxiliary response receiving unit for receiving an auxiliary response transmitted from any one of the transmission destinations of the auxiliary request;
If there is a fragment that is insufficient to restore the desired data from the fragment and arrangement position specified in the received auxiliary response, the center that specifies the identifier of the desired data and the arrangement position of the insufficient fragment A central request transmitter for transmitting a request to the central device;
(F) The central device is
A central request receiving unit that receives a central request designating an identifier and an arrangement position from any of the plurality of request source devices;
A central response that designates one of the divided pieces to be arranged at the designated arrangement position in the data of the identifier designated in the received central request is transmitted to the request source apparatus that has transmitted the central request. Further comprising a central response transmission unit,
(G) Each of the plurality of request source devices includes:
A central response receiver for receiving a central response transmitted from the central device;
The fragment and location specified in the received auxiliary response, and the fragment specified in the received central response and the location specified in the central request when the central request is transmitted, A restoration unit for restoring desired data;
When the central request is transmitted, it accepts a triple of the fragment specified in the received central response, the identifier specified in the central request, and the placement position specified in the central request, and transmits the central request. If not, the fragment specified in the last received auxiliary response among the received auxiliary responses, the identifier specified in the auxiliary request for the last received auxiliary response, and the last received auxiliary response A reception unit that accepts a triple with the arrangement position specified in the auxiliary request for
A fragment storage unit that stores the received fragment, the identifier, and the arrangement position in association with each other;
An auxiliary request receiving unit that receives an auxiliary request transmitted from any of the other request source devices among the plurality of request source devices,
Of the fragments stored in the fragment storage unit, an auxiliary response that specifies a fragment stored in association with the identifier specified in the received auxiliary request and an arrangement position stored in association with the fragment A data processing system further comprising: an auxiliary response transmission unit that transmits the auxiliary request to the request source apparatus that has transmitted the auxiliary request.
請求項1に記載のデータ処理システムであって、
前記要求元装置において、前記補助要求送信部は、当該補助要求に他の補助要求と重複しない識別子と、当該要求の寿命と、を指定して送信し、
前記複数の補助装置ならびに前記複数の要求元装置のそれぞれは、前記受信された補助要求に指定された識別子が、過去に受信された補助要求に指定された識別子のいずれとも異なる場合、前記受信された補助要求に指定された寿命を減じ、当該寿命が尽きない場合、当該寿命を減じた補助要求を、前記複数の補助装置のうち他の補助装置ならびに前記複数の要求元装置のうち過去に通信したことのある他の要求元装置のうち、当該受信された補助要求を、自身に転送していないものに転送する補助要求転送部をさらに備え、
前記複数の補助装置ならびに前記複数の要求元装置のそれぞれにおいて、前記補助要求受信部は、前記複数の補助装置のうち他の補助装置ならびに前記複数の要求元装置のうち過去に通信したことのある他の要求元装置から転送される補助要求をさらに受信する
ことを特徴とするデータ処理システム。
A data processing system according to claim 1,
In the request source device, the auxiliary request transmission unit specifies an identifier that does not overlap with other auxiliary requests and transmits the lifetime of the request by designating the auxiliary request,
Each of the plurality of auxiliary devices and the plurality of requesting devices is received when the identifier specified in the received auxiliary request is different from any of the identifiers specified in the previously received auxiliary requests. If the life specified in the auxiliary request is reduced and the life is not exhausted, the auxiliary request with reduced life is communicated in the past among the other auxiliary devices of the plurality of auxiliary devices and the plurality of requesting devices. An auxiliary request transfer unit that transfers the received auxiliary request to those that have not been transferred to itself among other request source devices that have been
In each of the plurality of auxiliary devices and the plurality of request source devices, the auxiliary request receiving unit may have communicated in the past among other auxiliary devices of the plurality of auxiliary devices and the plurality of request source devices. A data processing system, further receiving an auxiliary request transferred from another request source device.
請求項1または2に記載のデータ処理システムであって、
前記要求元装置は、所定のロビーサーバから、前記複数の補助装置のうち当該要求元装置に通信可能に接続される補助装置ならびに前記複数の要求元装置のうち当該要求元装置と通信する他の要求元装置のアドレスの情報を取得する
ことを特徴とするデータ処理システム。
A data processing system according to claim 1 or 2,
The request source device includes an auxiliary device that is communicably connected to the request source device among the plurality of auxiliary devices from a predetermined lobby server, and another request device that communicates with the request source device among the plurality of request source devices. A data processing system characterized by acquiring address information of a request source device.
請求項1から3のいずれか1項に記載のデータ処理システムであって、
前記中央装置において、前記配送部は、当該三つ組のそれぞれを、前記複数の補助装置からランダムに選択したもの、もしくは、配送のコストが最も低いものに配送する
ことを特徴とするデータ処理システム。
The data processing system according to any one of claims 1 to 3,
In the central device, the delivery unit delivers each of the triplets to a device selected at random from the plurality of auxiliary devices or a device having the lowest delivery cost.
請求項1から4のいずれか1項に記載のデータ処理システムであって、
前記要求元装置の受付部は、前記三つ組にかえて、前記受信された中央応答ならびに前記受信された補助応答からランダムに選択された応答に指定される断片と当該応答に対する中央要求もしくは補助要求に指定される識別子と当該応答に対する中央要求もしくは補助要求に指定される配置位置との三つ組を受け付ける
ことを特徴とするデータ処理システム。
A data processing system according to any one of claims 1 to 4,
The accepting unit of the request source device replaces the triple with the received central response and a fragment specified in a randomly selected response from the received auxiliary response and a central request or auxiliary request for the response. A data processing system that accepts a triple of a specified identifier and an arrangement position specified in a central request or an auxiliary request for the response.
中央装置、複数の補助装置、複数の要求元装置を備えるデータ処理システムにおける要求元装置であって、
所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置、ならびに、前記複数の要求元装置のうち、過去に通信したことのある他の要求元装置に送信する補助要求送信部、
前記補助要求の送信先のいずれかから送信される補助応答を受信する補助応答受信部、
前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信部、
前記中央装置から送信される中央応答を受信する中央応答受信部、
前記受信された補助応答に指定される断片および配置位置と、前記中央要求を送信した場合は前記受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、から、当該所望のデータを復元する復元部、
前記中央要求を送信した場合、前記受信された中央応答に指定された断片と当該中央要求に指定された識別子と当該中央要求に指定された配置位置との三つ組を受け付け、前記中央要求を送信しなかった場合、前記受信された補助応答のうち最後に受信された補助応答に指定された断片と当該最後に受信された補助応答に対する補助要求に指定された識別子と当該最後に受信された補助応答に対する補助要求に指定された配置位置との三つ組を受け付ける受付部、
前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶部、
前記複数の要求元装置のうち、他の要求元装置のいずれかから送信される補助要求を受信する補助要求受信部、
前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記補助要求を送信した要求元装置に送信する補助応答送信部
を備えることを特徴とする要求元装置。
A request source device in a data processing system comprising a central device, a plurality of auxiliary devices, and a plurality of request source devices,
An auxiliary request designating an identifier of desired data has been communicated in the past among the plurality of auxiliary devices, the auxiliary device communicatively connected to the request source device, and the plurality of request source devices. Auxiliary request transmitter that transmits to other request source device,
An auxiliary response receiving unit for receiving an auxiliary response transmitted from any one of the transmission destinations of the auxiliary request;
If there is a fragment that is insufficient to restore the desired data from the fragment and arrangement position specified in the received auxiliary response, the center that specifies the identifier of the desired data and the arrangement position of the insufficient fragment A central request transmitter for transmitting a request to the central device;
A central response receiver for receiving a central response transmitted from the central device;
The fragment and location specified in the received auxiliary response, and the fragment specified in the received central response and the location specified in the central request when the central request is transmitted, A restoration unit for restoring desired data;
When the central request is transmitted, it accepts a triple of the fragment specified in the received central response, the identifier specified in the central request, and the placement position specified in the central request, and transmits the central request. If not, the fragment specified in the last received auxiliary response among the received auxiliary responses, the identifier specified in the auxiliary request for the last received auxiliary response, and the last received auxiliary response A reception unit that accepts a triple with the arrangement position specified in the auxiliary request for
A fragment storage unit that stores the received fragment, the identifier, and the arrangement position in association with each other;
An auxiliary request receiving unit that receives an auxiliary request transmitted from any of the other request source devices among the plurality of request source devices,
Of the fragments stored in the fragment storage unit, an auxiliary response that specifies a fragment stored in association with the identifier specified in the received auxiliary request and an arrangement position stored in association with the fragment A request source apparatus comprising: an auxiliary response transmission unit that transmits the auxiliary request to the request source apparatus that has transmitted the auxiliary request.
請求項6に記載の要求元装置であって、
所定のロビーサーバから、前記複数の補助装置のうち当該要求元装置に通信可能に接続される補助装置ならびに前記複数の要求元装置のうち当該要求元装置と通信する他の要求元装置のアドレスの情報を取得する
ことを特徴とする要求元装置。
The request source device according to claim 6,
Of the plurality of auxiliary devices, the auxiliary device connected to the request source device in a communicable manner from the predetermined lobby server and the addresses of other request source devices communicating with the request source device among the plurality of request source devices. A request source device characterized by acquiring information.
請求項6または7に記載の要求元装置であって、
前記受付部は、前記三つ組にかえて、前記受信された中央応答ならびに前記受信された補助応答からランダムに選択された応答に指定される断片と当該応答に対する中央要求もしくは補助要求に指定される識別子と当該応答に対する中央要求もしくは補助要求に指定される配置位置との三つ組を受け付ける
ことを特徴とする要求元装置。
The request source device according to claim 6 or 7,
The reception unit replaces the triple with the received central response and a fragment specified in a randomly selected response from the received auxiliary response and an identifier specified in the central request or auxiliary request for the response A request source apparatus that accepts a triple of a central request for the response and an arrangement position specified in an auxiliary request.
中央装置と、複数の補助装置と、複数の要求元装置と、が実行するデータ処理方法であって、
前記中央装置は、データ記憶部、分割部、配送部、中央要求受信部、中央応答送信部を有し、
前記複数の補助装置のそれぞれは、受付部、断片記憶部、補助要求受信部、補助応答送信部を有し、
前記複数の要求元装置のそれぞれは、補助要求送信部、補助応答受信部、中央要求送信部、中央応答受信部、復元部、受付部、断片記憶部、補助要求受信部、補助応答送信部を有し、
(a)前記中央装置において、前記データ記憶部には、データが識別子に対応付けて記憶され、
前記分割部が、前記記憶されたデータを複数の断片に分割する分割工程、
前記配送部が、前記分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を、前記複数の補助装置のいずれか少なくとも1つに配送する配送工程を備え、
(b)前記複数の補助装置のそれぞれにおいて、
前記受付部が、前記中央装置から配送される断片と識別子と配置位置との三つ組を受け付ける受付工程、
前記断片記憶部に、前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶工程を備え、
(c)前記複数の要求元装置のそれぞれにおいて、
前記補助要求送信部が、所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置、ならびに、前記複数の要求元装置のうち、過去に通信したことのある他の要求元装置に送信する補助要求送信工程を備え、
(d)前記複数の補助装置のそれぞれにおいて、
前記補助要求受信部が、前記複数の要求元装置のいずれかから送信される補助要求を受信する補助要求受信工程、
前記補助応答送信部が、前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記補助要求を送信した要求元装置に送信する補助応答送信工程をさらに備え、
(e)前記複数の要求元装置のそれぞれにおいて、
前記補助応答受信部が、前記補助要求の送信先のいずれかから送信される補助応答を受信する補助応答受信工程、
前記中央要求送信部が、前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信工程をさらに備え、
(f)前記中央装置において、
前記中央要求受信部が、前記複数の要求元装置のいずれかから、識別子と配置位置とを指定する中央要求を受信する中央要求受信工程、
前記中央応答送信部が、前記分割された断片のうち、前記受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を前記中央要求を送信した要求元装置に送信する中央応答送信工程をさらに備え、
(g)前記複数の要求元装置のそれぞれにおいて、
前記中央応答受信部が、前記中央装置から送信される中央応答を受信する中央応答受信工程、
前記復元部が、前記受信された補助応答に指定される断片および配置位置と、前記中央要求を送信した場合は前記受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、から、当該所望のデータを復元する復元工程、
前記受付部が、前記中央要求を送信した場合、前記受信された中央応答に指定された断片と当該中央要求に指定された識別子と当該中央要求に指定された配置位置との三つ組を受け付け、前記中央要求を送信しなかった場合、前記受信された補助応答のうち最後に受信された補助応答に指定された断片と当該最後に受信された補助応答に対する補助要求に指定された識別子と当該最後に受信された補助応答に対する補助要求に指定された配置位置との三つ組を受け付ける受付工程、
前記断片記憶部に、前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶工程、
前記補助要求受信部が、前記複数の要求元装置のうち、他の要求元装置のいずれかから送信される補助要求を受信する補助要求受信工程、
前記補助応答送信部が、前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記補助要求を送信した要求元装置に送信する補助応答送信工程をさらに備える
ことを特徴とするデータ処理方法。
A data processing method executed by a central device, a plurality of auxiliary devices, and a plurality of request source devices,
The central device has a data storage unit, a division unit, a delivery unit, a central request reception unit, a central response transmission unit,
Each of the plurality of auxiliary devices has a reception unit, a fragment storage unit, an auxiliary request reception unit, an auxiliary response transmission unit,
Each of the plurality of request source devices includes an auxiliary request transmission unit, an auxiliary response reception unit, a central request transmission unit, a central response reception unit, a restoration unit, a reception unit, a fragment storage unit, an auxiliary request reception unit, and an auxiliary response transmission unit. Have
(A) In the central device, the data storage unit stores data in association with an identifier,
A dividing step in which the dividing unit divides the stored data into a plurality of pieces;
The delivery unit, for each of the plurality of divided fragments, includes a triplet of the fragment, an identifier of the data, and a position where the fragment is disposed in the data (hereinafter referred to as “arrangement position”). A delivery process for delivering to at least one of the plurality of auxiliary devices;
(B) In each of the plurality of auxiliary devices,
A receiving step in which the receiving unit receives a triplet of a fragment, an identifier, and an arrangement position delivered from the central device;
A fragment storage step of storing the received fragment, the identifier, and the arrangement position in association with each other in the fragment storage unit;
(C) In each of the plurality of request source devices,
The auxiliary request transmitting unit transmits an auxiliary request designating an identifier of desired data among the plurality of auxiliary devices so as to be communicably connected to the request source device, and the plurality of request source devices. Among them, it has an auxiliary request transmission step for transmitting to other request source devices that have communicated in the past,
(D) In each of the plurality of auxiliary devices,
An auxiliary request receiving step in which the auxiliary request receiving unit receives an auxiliary request transmitted from any of the plurality of request source devices;
Of the fragments stored in the fragment storage unit, the auxiliary response transmission unit stores a fragment stored in association with the identifier specified in the received auxiliary request and an arrangement position stored in association with the fragment. Further comprising an auxiliary response transmission step of transmitting an auxiliary response designating the request to the requesting device that has transmitted the auxiliary request,
(E) In each of the plurality of request source devices,
An auxiliary response receiving step in which the auxiliary response receiving unit receives an auxiliary response transmitted from any of the transmission destinations of the auxiliary request;
If there is a fragment that is insufficient for the central request transmission unit to restore the desired data from the fragment specified in the received auxiliary response and the arrangement position, the identifier of the desired data and the missing fragment A central request transmitting step of transmitting a central request designating a placement position to the central device;
(F) In the central device,
A central request receiving step in which the central request receiving unit receives a central request designating an identifier and an arrangement position from any of the plurality of request source devices;
The central response transmission unit sends a central response that designates one of the divided fragments to be arranged at the designated arrangement position in the data of the identifier designated in the received central request to the central request. Further comprising a central response transmission step of transmitting to the transmitted requesting device;
(G) In each of the plurality of request source devices,
A central response receiving step in which the central response receiving unit receives a central response transmitted from the central device;
The fragment and arrangement position specified in the received auxiliary response by the restoration unit, and the fragment specified in the received central response and the arrangement position specified in the central request when the central request is transmitted. And a restoration process for restoring the desired data from
When the reception unit has transmitted the central request, it accepts a triple of the fragment specified in the received central response, the identifier specified in the central request, and the placement position specified in the central request, If the central request is not transmitted, the fragment specified in the last received auxiliary response among the received auxiliary responses, the identifier specified in the auxiliary request for the last received auxiliary response, and the last An accepting step of accepting a triple with the arrangement position designated in the auxiliary request for the received auxiliary response;
A fragment storage step of storing the received fragment, identifier, and arrangement position in association with each other in the fragment storage unit,
An auxiliary request receiving step in which the auxiliary request receiving unit receives an auxiliary request transmitted from any of the other request source devices among the plurality of request source devices.
Of the fragments stored in the fragment storage unit, the auxiliary response transmission unit stores a fragment stored in association with the identifier specified in the received auxiliary request and an arrangement position stored in association with the fragment. A data processing method, further comprising: an auxiliary response transmission step of transmitting an auxiliary response that designates to the request source device that has transmitted the auxiliary request.
中央装置と、複数の補助装置と、複数の要求元装置と、を有するデータ処理システムにおける要求元装置を制御する制御方法であって、
前記要求元装置は、補助要求送信部、補助応答受信部、中央要求送信部、中央応答受信部、復元部、受付部、断片記憶部、補助要求受信部、補助応答送信部を有し、
前記補助要求送信部が、所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置、ならびに、前記複数の要求元装置のうち、過去に通信したことのある他の要求元装置に送信する補助要求送信工程、
前記補助応答受信部が、前記補助要求の送信先のいずれかから送信される補助応答を受信する補助応答受信工程、
前記中央要求送信部が、前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信工程、
前記中央応答受信部が、前記中央装置から送信される中央応答を受信する中央応答受信工程、
前記復元部が、前記受信された補助応答に指定される断片および配置位置と、前記中央要求を送信した場合は前記受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、から、当該所望のデータを復元する復元工程、
前記受付部が、前記中央要求を送信した場合、前記受信された中央応答に指定された断片と当該中央要求に指定された識別子と当該中央要求に指定された配置位置との三つ組を受け付け、前記中央要求を送信しなかった場合、前記受信された補助応答のうち最後に受信された補助応答に指定された断片と当該最後に受信された補助応答に対する補助要求に指定された識別子と当該最後に受信された補助応答に対する補助要求に指定された配置位置との三つ組を受け付ける受付工程、
前記断片記憶部に、前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶工程、
前記補助要求受信部が、前記複数の要求元装置のうち、他の要求元装置のいずれかから送信される補助要求を受信する補助要求受信工程、
前記補助応答送信部が前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記補助要求を送信した要求元装置に送信する補助応答送信工程を備える
ことを特徴とする制御方法。
A control method for controlling a request source device in a data processing system having a central device, a plurality of auxiliary devices, and a plurality of request source devices,
The request source device has an auxiliary request transmission unit, an auxiliary response reception unit, a central request transmission unit, a central response reception unit, a restoration unit, a reception unit, a fragment storage unit, an auxiliary request reception unit, an auxiliary response transmission unit,
The auxiliary request transmitting unit transmits an auxiliary request designating an identifier of desired data among the plurality of auxiliary devices so as to be communicably connected to the request source device, and the plurality of request source devices. Among them, an auxiliary request transmission step for transmitting to other request source devices that have communicated in the past,
An auxiliary response receiving step in which the auxiliary response receiving unit receives an auxiliary response transmitted from any of the transmission destinations of the auxiliary request;
If there is a fragment that is insufficient for the central request transmission unit to restore the desired data from the fragment specified in the received auxiliary response and the arrangement position, the identifier of the desired data and the missing fragment A central request transmission step of transmitting a central request designating a placement position to the central device;
A central response receiving step in which the central response receiving unit receives a central response transmitted from the central device;
The fragment and arrangement position specified in the received auxiliary response by the restoration unit, and the fragment specified in the received central response and the arrangement position specified in the central request when the central request is transmitted. And a restoration process for restoring the desired data from
When the reception unit has transmitted the central request, it accepts a triple of the fragment specified in the received central response, the identifier specified in the central request, and the placement position specified in the central request, If the central request is not transmitted, the fragment specified in the last received auxiliary response among the received auxiliary responses, the identifier specified in the auxiliary request for the last received auxiliary response, and the last An accepting step of accepting a triple with the arrangement position designated in the auxiliary request for the received auxiliary response;
A fragment storage step of storing the received fragment, identifier, and arrangement position in association with each other in the fragment storage unit,
An auxiliary request receiving step in which the auxiliary request receiving unit receives an auxiliary request transmitted from any of the other request source devices among the plurality of request source devices.
Of the fragments stored in the fragment storage unit by the auxiliary response transmission unit, a fragment stored in association with the identifier specified in the received auxiliary request, and an arrangement position stored in association with the fragment A control method comprising: an auxiliary response transmission step of transmitting an auxiliary response that designates the request to the request source device that has transmitted the auxiliary request.
コンピュータを、中央装置と、複数の補助装置と、複数の要求元装置と、を備えるデータ処理システムにおける要求元装置として機能させるプログラムであって、前記プログラムは、前記コンピュータを、A program that causes a computer to function as a request source device in a data processing system that includes a central device, a plurality of auxiliary devices, and a plurality of request source devices, the program comprising:
所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置、ならびに、前記複数の要求元装置のうち、過去に通信したことのある他の要求元装置に送信する補助要求送信部、  An auxiliary request designating an identifier of desired data has been communicated in the past among the plurality of auxiliary devices, the auxiliary device communicatively connected to the request source device, and the plurality of request source devices. Auxiliary request transmitter that transmits to other request source device,
前記補助要求の送信先のいずれかから送信される補助応答を受信する補助応答受信部、  An auxiliary response receiving unit for receiving an auxiliary response transmitted from any one of the transmission destinations of the auxiliary request;
前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信部、  If there is a fragment that is insufficient to restore the desired data from the fragment and arrangement position specified in the received auxiliary response, the center that specifies the identifier of the desired data and the arrangement position of the insufficient fragment A central request transmitter for transmitting a request to the central device;
前記中央装置から送信される中央応答を受信する中央応答受信部、  A central response receiver for receiving a central response transmitted from the central device;
前記受信された補助応答に指定される断片および配置位置と、前記中央要求を送信した場合は前記受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、から、当該所望のデータを復元する復元部、  The fragment and location specified in the received auxiliary response, and the fragment specified in the received central response and the location specified in the central request when the central request is transmitted, A restoration unit for restoring desired data;
前記中央要求を送信した場合、前記受信された中央応答に指定された断片と当該中央要求に指定された識別子と当該中央要求に指定された配置位置との三つ組を受け付け、前記中央要求を送信しなかった場合、前記受信された補助応答のうち最後に受信された補助応答に指定された断片と当該最後に受信された補助応答に対する補助要求に指定された識別子と当該最後に受信された補助応答に対する補助要求に指定された配置位置との三つ組を受け付ける受付部、  When the central request is transmitted, it accepts a triple of the fragment specified in the received central response, the identifier specified in the central request, and the placement position specified in the central request, and transmits the central request. If not, the fragment specified in the last received auxiliary response among the received auxiliary responses, the identifier specified in the auxiliary request for the last received auxiliary response, and the last received auxiliary response A reception unit that accepts a triple with the arrangement position specified in the auxiliary request for
前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶部、  A fragment storage unit that stores the received fragment, the identifier, and the arrangement position in association with each other;
前記複数の要求元装置のうち、他の要求元装置のいずれかから送信される補助要求を受信する補助要求受信部、  An auxiliary request receiving unit that receives an auxiliary request transmitted from any of the other request source devices among the plurality of request source devices,
前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記補助要求を送信した要求元装置に送信する補助応答送信部として機能させる  Of the fragments stored in the fragment storage unit, an auxiliary response that specifies a fragment stored in association with the identifier specified in the received auxiliary request and an arrangement position stored in association with the fragment And function as an auxiliary response transmission unit that transmits the auxiliary request to the request source apparatus that has transmitted the auxiliary request.
ことを特徴とするプログラム。  A program characterized by that.
JP2005018606A 2005-01-26 2005-01-26 Data processing system, request source device, data processing method, request source device control method, and program Expired - Fee Related JP4361498B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005018606A JP4361498B2 (en) 2005-01-26 2005-01-26 Data processing system, request source device, data processing method, request source device control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005018606A JP4361498B2 (en) 2005-01-26 2005-01-26 Data processing system, request source device, data processing method, request source device control method, and program

Publications (2)

Publication Number Publication Date
JP2006209343A JP2006209343A (en) 2006-08-10
JP4361498B2 true JP4361498B2 (en) 2009-11-11

Family

ID=36966147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005018606A Expired - Fee Related JP4361498B2 (en) 2005-01-26 2005-01-26 Data processing system, request source device, data processing method, request source device control method, and program

Country Status (1)

Country Link
JP (1) JP4361498B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009022207B4 (en) * 2009-05-20 2015-06-18 Institut für Rundfunktechnik GmbH Peer-to-peer transmission system for data streams
JP5250065B2 (en) * 2011-03-04 2013-07-31 株式会社コナミデジタルエンタテインメント Distribution system, terminal device, distribution method, terminal method, and program
JP7119324B2 (en) * 2017-09-26 2022-08-17 富士フイルムビジネスイノベーション株式会社 Information processing device and information processing program

Also Published As

Publication number Publication date
JP2006209343A (en) 2006-08-10

Similar Documents

Publication Publication Date Title
US8620889B2 (en) Managing data transfer between endpoints in a distributed computing environment
JP5337633B2 (en) Method and apparatus for improving file access performance of distributed storage system
JP4198053B2 (en) Method and apparatus for facilitating distribution and delivery of content over a computer network
JP4160642B2 (en) Network data transfer method
US8914429B2 (en) Method for creating global distributed namespace
CN100496037C (en) access relay
US7287136B2 (en) Cache device, and method and computer program for controlling cached data
EP2216955B1 (en) Network interface device
US20010052024A1 (en) Affinity-based router and routing method
US20050188109A1 (en) Path control method
US20050138184A1 (en) Efficient method for sharing data between independent clusters of virtualization switches
CN108023812B (en) Content distribution method and device, computing node and system of cloud computing system
US20040049546A1 (en) Mail processing system
US8352602B2 (en) Arrangements and methods for access to stored data
WO2002093846A1 (en) Method of transferring a divided file
JP2010108508A (en) Satellite anticipatory bandwidth acceleration
CN114253707B (en) Micro-service request method based on API gateway
US20070043842A1 (en) Method and system for managing client-server affinity
US20030126197A1 (en) Efficient content placement using network proximity
CN1650586A (en) Method and system for pushing e-mail to multiple wireless communication devices
CA2640696A1 (en) Storing and retrieving user context data
US20040177171A1 (en) Message processing scheme for realizing unified handling and management of messages using a portable message processing device
US20060206699A1 (en) Network boot system
JP4361498B2 (en) Data processing system, request source device, data processing method, request source device control method, and program
KR100521361B1 (en) a method of collaborating in transferring a file in a networking environment

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4361498

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120821

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130821

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130821

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140821

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees