JP2006209343A - データ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、プログラム - Google Patents

データ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、プログラム Download PDF

Info

Publication number
JP2006209343A
JP2006209343A JP2005018606A JP2005018606A JP2006209343A JP 2006209343 A JP2006209343 A JP 2006209343A JP 2005018606 A JP2005018606 A JP 2005018606A JP 2005018606 A JP2005018606 A JP 2005018606A JP 2006209343 A JP2006209343 A JP 2006209343A
Authority
JP
Japan
Prior art keywords
auxiliary
request
central
fragment
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005018606A
Other languages
English (en)
Other versions
JP4361498B2 (ja
Inventor
Shoji Mori
昌二 森
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/ja
Publication of JP2006209343A publication Critical patent/JP2006209343A/ja
Application granted granted Critical
Publication of JP4361498B2 publication Critical patent/JP4361498B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract


【課題】 ネットワーク経由でデータを取得する際に、一つの装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム等を提供する。
【解決手段】 データ処理システム101の中央装置102は、提供するデータを複数の断片に分割して、これらを複数の補助装置103に配布し、要求元装置104は、補助要求により所望の識別子を補助装置103に送信すると、各補助装置103は自身が持つ当該データの断片を補助応答として要求元装置104に返送し、一定時間が経過しても復元に不足する断片がある場合は要求元装置104と中央装置102の間で同様の要求・応答を行い、断片がすべて揃ったら、要求元装置104は断片から所望のデータを復元する。要求元装置104は、一旦断片を受信した後は、いずれかの断片を蓄積して補助装置103としても機能することができる。
【選択図】 図1

Description

本発明は、ネットワーク経由でデータを取得する際に、一つの中央装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
従来から、インターネットを経由して、ネットワークごしに各種のデータを端末にダウンロードする技術が利用されている。このような技術については、たとえば以下の文献に開示がある。
特開2004−287631号公報
この文献に開示される技術は、以下の通りである。すなわち、中央装置は、複数の端末にダウンロードさせるべきファイルの入力を受け付け、入力を受け付けられたファイルを複数に分割し、分割された結果(以下、それぞれを「セクタ」という。)のそれぞれと、当該セクタの当該ファイルにおける位置と、の対を、送信する。一方、複数の端末のそれぞれは、ダウンロード中央装置から送信される対を受信し、受信された対に指定されたセクタと、当該セクタの当該ファイルにおける位置と、を取得し、取得されたセクタの内容を、ダウンロードすべきファイルを復元するための記憶域のうち取得された位置に、記憶させ、当該記憶域中にすべてのセクタの内容が記憶された場合、当該記憶域に記憶された内容をダウンロードされたファイルとする。
一方で、たとえばネットワークゲームや各種のウェブサービスにおいてユーザにデータを提供しようとする場合、データ提供サーバに対するアクセスが集中してしまうという問題が生じている。
従来は、データ提供サーバを複数用意して各ユーザが別々のサーバにアクセスするようにしたり、あるサーバに問い合わせを行って実際にダウンロード処理を行うサーバの指定を受け、当該サーバの指定をラウンドロビンやランダムに行う技術が広く用いられてきた。
一方で、データ提供サーバへのアクセス集中をできるだけ防止するための技術は、従来から用いられているもので十分ではなく、用途に応じた種々の技術が強く求められている。
本発明は、上記のような課題を解決するためになされたもので、ネットワーク経由でデータを取得する際に、一つの装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係るデータ処理システムは、中央装置と、複数の補助装置と、要求元装置と、を備え、以下のように構成する。
まず、中央装置は、データ記憶部、分割部、配送部を備える。
ここで、データ記憶部は、データを識別子に対応付けて記憶し、分割部は、記憶されたデータを複数の断片に分割し、配送部は、分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を、複数の補助装置のいずれか少なくとも1つに配送する。
すなわち、中央装置は、将来要求元装置にダウンロードされるであろうデータを記憶部に記憶しているが、これを複数の断片に分割する。そして、元のデータを将来復元できるような情報とともに三つ組とし、その三つ組のそれぞれを、適当な補助装置に配送する。たとえば、三つ組の個数が128個で、補助装置の個数が512個である場合は、各三つ組を4個の補助装置に配送し、各補助装置が1個の三つ組の配送を受けるようにする、の如くである。
もっとも、たとえば、各三つ組を6個の補助装置に配送し、各補助装置が1個ないし2個の三つ組の配送を受けるようにするような態様を採用してもよい。ただし、各補助装置に配送される三つ組の個数は(異なっても良いが)偏りがないようにし、各三つ組が配送される補助装置の個数も(異なっても良いが)偏りがないようにすることが望ましい。
一方、複数の補助装置のそれぞれは、受付部、断片記憶部を備える。
ここで、受付部は、中央装置から配送される断片と識別子と配置位置との三つ組を受け付け、断片記憶部は、受け付けられた断片と識別子と配置位置とを対応付けて記憶する。
すなわち、各補助装置は、中央装置から配送された断片と識別子とその断片がもとのデータ内のどの位置にあったかを示す配置位置との三つ組を記憶する。中央装置から配送される三つ組の個数は、上記のように、必ずしも1つとは限らず、複数の場合もありうる。これにより、将来要求元装置から要求があった場合に、この三つ組に含まれる情報を応答する準備をする。
さらに、要求元装置は、補助要求送信部を備える。
ここで、補助要求送信部は、所望のデータの識別子を指定する補助要求を、複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置に送信する。
たとえば、中央装置、補助装置、要求元装置がインターネット内に配置されている場合、理論的には、すべての装置が相互に通信可能であるが、実際には、要求元装置は一部の補助装置としか通信できない場合が多い。この制限は、通信路の容量によるもののほか、そもそも補助装置と通信するための前提となるIPアドレスやポート番号がわからないことがあるからである。
対戦型ネットワークゲームの場合、各プレイヤーは自身の端末を用いて、まずロビーと呼ばれるサーバにアクセスし、このサーバに紹介された端末同士で対戦を行うことがある。たとえば、このような紹介の段階で、(一部の)補助装置のIPアドレスやポート番号といった情報が提供されるのである。
そして、複数の補助装置のそれぞれは、補助要求受信部、補助応答送信部をさらに備える。
ここで、補助要求受信部は、要求元装置から送信される補助要求を受信し、補助応答送信部は、断片記憶部に記憶された断片のうち、受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、要求元装置に送信する。
すなわち、要求元装置から補助装置への補助要求の送受が行われた場合、各補助装置は、自身が記憶している三つ組の識別子の項目を見て、要求元装置が要求しているデータの断片を持っているか否かを判断し、持っている場合は、断片の内容と、元のデータ内における断片の配置位置と、要求元装置に送信する。これによって、要求元装置は、所望のデータを復元できるようになるのである。
一方、要求元装置は、補助応答受信部、中央要求送信部をさらに備える。
ここで、補助応答受信部は、複数の補助装置のいずれかから送信される補助応答を受信し、中央要求送信部は、受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を中央装置に送信する。
すなわち、各補助装置から送信される断片と配置位置から、元のデータを復元するのに必要な情報を収集し、もし足りなければ、足りない部分を中央装置に要求するのである。もし足りていれば、中央装置への要求は行わない。
さらに、中央装置は、中央要求受信部、中央応答送信部を備える。
ここで、中央要求受信部は、要求元装置から、識別子と配置位置とを指定する中央要求を受信し、中央応答送信部は、分割された断片のうち、受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を送信する。
上記のように、補助装置から収集した情報では、所望のデータが復元できない場合、要求元装置は中央装置に、不足分を要求し、中央装置は、その不足分を要求元装置に送信するのである。
そして、要求元装置は、中央応答受信部、復元部をさらに備える。
ここで、中央応答受信部は、中央装置から送信される中央応答を受信し、復元部は、受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、当該中央要求を送信した場合は受信された補助応答に指定される断片および配置位置と、から、当該所望のデータを復元する。
すなわち、補助装置から収集した断片に関する情報と、それで足りない場合にはさらに中央装置から取得した断片に関する情報と、から、元のデータを復元するのである。
本発明によれば、要求元装置があるデータを取得したいと考えた場合に、中央装置へのアクセスをできるだけ少なくし、補助装置に分散された記憶されたデータの断片を収集することによって、所望のデータを復元するようなデータ処理システムを提供することができる。
また、本発明のデータ処理システムは、以下のように構成することができる。
すなわち、要求元装置において、補助要求送信部は、当該補助要求に他の補助要求と重複しない識別子と、当該要求の寿命と、を指定して送信する。
この識別子と寿命の情報を用いて、以降に説明するように、補助要求をネットワーク内で伝播させるのである。寿命の情報は、典型的には0以上の整数であり、いわゆる最長ホップ数に相当するものである。
一方、複数の補助装置のそれぞれは、補助要求転送部をさらに備える。
ここで、補助要求転送部は、
(p)受信された補助要求に指定された識別子が、過去に受信された補助要求に指定された識別子のいずれとも異なる場合、受信された補助要求に指定された寿命を減ずる。
(q)そして、当該寿命が尽きない場合、当該寿命を減じた補助要求を、他の補助装置のうち、当該受信された補助要求を当該補助装置に転送していないものに転送する。
上記のように、補助要求の「寿命」は、当該補助要求を補助装置間で転送してたらい廻しにできる最大回数と考えることができる。そして、補助装置は、要求元装置がその所在を知らない(要求元装置からは通信可能でない)他の補助装置に補助要求をたらい廻しにする。
なお、寿命を減ずるのは、さらに、受信された補助要求に指定された識別子に対応付けられる断片が、断片記憶部に記憶されていない場合に限ることとしても良い。この場合は、寿命は、断片を記憶している補助装置に限った最長ホップ数を意味することになる。
なお、過去に転送したことのある補助要求か否かは、補助要求に指定される識別子(いわゆる「メッセージID」である。)によって判別される。
さらに、複数の補助装置のそれぞれにおいて、補助要求受信部は、複数の補助装置のうち他の補助装置から転送される補助要求をさらに受信する。
これは、他の補助装置からたらい廻しにされた補助要求も受信する、ということであり、受信された補助要求は、上記のように、補助応答送信部と、補助要求転送部によって処理される。
本発明によれば、要求元端末が直接その所在を知らない補助装置であっても、その補助装置へ達するような所定のホップ数以下の経路が存在する場合には、当該補助装置からも断片の提供を受けることができるようになる。
また、本発明のデータ処理システムの要求元装置において、補助要求送信部は、当該補助要求を、放送型送信もしくはブロードキャスト送信により送信するように構成することができる。
すなわち、要求元装置から通信可能な補助装置がある種のローカルエリアネットワークを構成すると考えることができる場合等には、放送型送信やブロードキャスト送信を用いて、要求元装置から補助装置へ補助要求を送信するのである。
本発明は上記発明の好適実施形態の一つであり、本発明によれば、補助要求を効率良く補助装置に送信することができる。
また、本発明のデータ処理システムの中央装置において、配送部は、当該三つ組のそれぞれを、複数の補助装置からランダムに選択したもの、もしくは、配送のコストが最も低いものに配送するように構成することができる。
すなわち、各三つ組を配送すべき補助装置をランダムに決定することにより、三つ組の分布の偏りを少なくするのである。
もしくは、配送のコストが最も低いもの、たとえば、配送に係る通信の際のホップ数が小さく、通信ネットワークのトポロジー上最も近くにある補助装置や通信帯域の太さが最も太いものを配送先とすることにより、三つ組の分布の偏りを少なくするのである。
本発明によれば、各補助装置が保有する三つ組の個数が均等となることが期待され、特定の補助装置にのみアクセスが集中する等の弊害をできるだけ防止することができる。
本発明のその他の観点に係る中央装置は、上記データ処理システムにおける中央装置である。
本発明のその他の観点に係る補助装置は、上記データ処理システムにおける補助装置である。
本発明のその他の観点に係る要求元装置は、上記データ処理システムにおける要求元装置である。
本発明のその他の観点に係る中央サービス方法は、複数の補助装置および要求元装置と通信する中央装置にて実行され、中央装置は、データを識別子に対応付けて記憶するデータ記憶部、分割部、配送部、中央要求受信部、中央応答送信部を有し、分割工程、配送工程、中央要求受信工程、中央応答送信工程を備え、以下のように構成する。
すなわち、分割工程では、分割部が、記憶されたデータを複数の断片に分割する。
一方、配送工程では、配送部が、分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を複数の補助装置のいずれか少なくとも1つに配送する。
さらに、中央要求受信工程では、中央要求受信部が要求元装置から、識別子と配置位置とを指定する中央要求を受信する。
そして、中央応答送信工程では、中央応答送信部が、分割された断片のうち、受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を送信する。
本発明のその他の観点に係る補助サービス方法は、中央装置、および、要求元装置と通信する補助装置にて実行され、補助装置は、受付部、断片記憶部、補助要求受信部、補助応答送信部を有し、受付工程、断片記憶工程、補助要求受信工程、補助応答送信受信工程を備え、以下のように構成する。
すなわち、受付工程では、受付部が、中央装置から配送される断片と識別子と配置位置との三つ組を受け付ける。
一方、断片記憶工程では、断片記憶部が、受け付けられた断片と識別子と配置位置とを対応付けて記憶する。
さらに、補助要求受信工程では、補助要求受信部が、要求元装置から送信される補助要求を受信する。
そして、補助応答送信工程では、補助応答送信部が、断片記憶部に記憶された断片のうち、受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、要求元装置に送信する。
本発明のその他の観点に係る要求元方法は、中央装置、および、複数の補助装置と通信する要求元装置にて実行され、要求元装置は、補助要求送信部、補助応答受信部、中央要求送信部、中央応答受信部、復元部を有し、補助要求送信工程、補助応答受信工程、中央要求送信工程、中央応答受信工程、復元工程を備え、以下のように構成する。
すなわち、補助要求送信工程では、補助要求送信部が、所望のデータの識別子を指定する補助要求を、複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置に送信する。
一方、補助応答受信工程では、補助応答受信部が、複数の補助装置のいずれかから送信される補助応答を受信する。
さらに、中央要求送信工程では、中央要求送信部が、受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を中央装置に送信する。
そして、中央応答受信工程では、中央応答受信部が、中央装置から送信される中央応答を受信する。
一方、復元工程では、復元部が、受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、当該中央要求を送信した場合は受信された補助応答に指定される断片および配置位置と、から、当該所望のデータを復元する。
本発明のその他の観点に係るプログラムは、コンピュータを中央装置、補助装置、または、要求元装置として機能させ、または、コンピュータに中央サービス方法、補助サービス方法、または、要求元方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
本発明によれば、ネットワーク経由でデータを取得する際に、一つの装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、インターネット内の各種装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、PDA(Personal Data Assistants)、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
(データ処理システムの構成)
図1は、本発明の実施形態の1つに係るデータ処理システムの概要構成を示す説明図である。以下、本図を参照して説明する。
データ処理システム101は、中央装置102と、複数の補助装置103と、要求元装置104と、を備える。典型的には、中央装置102と複数の補助装置103は、データの提供者が維持管理するデータサーバ機器であり、要求元装置104は、データの利用者が維持管理する端末機器であるが、複数の補助装置103として、データの利用者が維持管理する端末機器を利用し、さらにデータの分散管理を図ることも可能である。この場合、一つの端末機器が、補助装置103としても要求元装置104としても機能することとなる。
これらの中央装置102、補助装置103、要求元装置104は、インターネット105を介して接続されている。
また、本図に示すように、複数の要求元装置104が存在するのが一般的であるが、個数に制限はない。
図2は、本実施形態における各種の通信のやりとりの様子を示すシーケンス図である。以下、本図を参照して説明する。
まず、提供すべきデータを記憶する中央装置102は、そのデータを複数の断片に分割して、そのそれぞれの断片・そのデータの識別子・その断片のデータ内における位置の三つ組を、できるだけ各補助装置103に均等になるように、配送する(201)。各補助装置103は、配送された三つ組を受け付けて、記憶する。これによって、データ提供の準備ができたことになる。
なお、データは、「ファイル」と呼ばれる形式で提供されることが最も多いが、いわゆるバイト列やビット列として構成されるものであれば、どのようなものであっても良い。また、「識別子」としては、ファイル名を使用するのが最も一般的である。データがある大きなデータ内の一部を構成するものである場合(たとえば、プログラム内のオーバレイモジュールの場合等)、当該大きなデータにおける当該データの位置情報とサイズ情報の組合せが「識別子」となる。また、データベースによって検索された結果を「データ」とする場合には、検索に用いる検索式(SQL式など)を「識別子」としても良い。
さて、要求元装置104が、何らかの契機でデータの提供を受けようとする場合、要求元装置104は、自身が知る補助装置103に、当該識別子を指定する補助要求を送信する(202)。
補助要求を受け付けた補助装置103は、自身が持つ断片の識別子と補助要求に指定される識別子を対比して、もしマッチする断片があれば、当該断片と当該断片の位置とを指定する補助応答を、要求元装置104に送信する(203)。
また、適宜、当該補助応答を他の補助装置103に転送する(204)。転送された補助装置103も、マッチする断片があれば、同様に補助応答を要求元装置104に送信する(203)。
そして、要求元装置104は、各補助装置103から送信された補助応答を受信して、断片を蓄積する。すべての断片が蓄積されるか一定時間が経過する等、所定条件が満たされるまで補助装置103からの補助応答を受信し続ける。
次に、所定条件が満たされたら、断片の位置から、データの復元に必要なすべての断片が得られたか否かを判定し、得られていなければ、中央装置102に、識別子と不足している断片の位置情報を指定する中央要求を送信する(205)。
この場合、中央要求を受信した中央装置102は、必要な断片を指定する中央応答を要求元装置104に送信する(206)。
要求元装置104にすでにすべての断片が揃っている場合、もしくは、中央装置102が送信した中央応答を受信した場合、要求元装置104は、断片から元のデータを復元する。
このような処理手順によって、要求元装置104は、中央装置102からデータの提供を受けるのである。この場合、データを分割する断片の数に比べて十分な数の補助装置103があれば、中央装置102へのアクセス集中は防止できる。
また、複数の補助装置103に同じ断片が記憶されていれば、通信帯域に余裕がなくなって、ある補助装置103との通信が一時的に到達不可能になったり、ある補助装置103の計算負荷が高く応答が出せなかったり、そもそも宛先に到達したか否かを判定しないが高速な通信が可能な通信プロトコル、たとえばUDP(User Datagram Protocol)を採用した場合であっても、他の補助装置103からの提供が期待できる。
UDPは、2つの機器間で、ベストエフォート型のデータグラム指向の通信を行うプロトコルであり、IP(Internet Protocol)パケットをそのままアプリケーションから利用できるようにしただけのプロトコルである。
したがって、パケットが相手に確実に届くという保証はなく、再送や受信確認応答、フロー制御、大きなデータの分割や再合成(フラグメント化)などはすべてアプリケーション側で制御する必要がある。本発明は、この制御を行う技術に関連している。
一方で、UDPは、処理が簡単であり、通信が高速であるという特徴があり、本実施形態のようなデータ処理には好適である。
図3は、本実施形態の中央装置102、補助装置103、要求元装置104を実現するのに好適な、情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
情報処理装置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と、を備える。
中央装置として機能するための各種のプログラムを、媒体読取装置308に装着されたCD−ROMなどから外部記憶装置307にインストールし、当該サーバ用プログラムを実行させることによって、情報処理装置301は、本発明の中央装置102として機能する。特に、情報処理装置301の電源を投入した後の処理すべき手順を記述した初期化データを適切に外部記憶装置307に用意しておくことにより、情報処理装置301の電源を投入すると、必要な各種プログラムが実行され、本発明の中央装置102、補助装置103、あるいは、要求元装置104として機能するようになる。
CPU 302は、情報処理装置301の全体の動作を制御し、各構成要素と接続され、これらを制御する制御信号を与えたり、これらとの情報のやりとりを行うためにデータの送受を行う。
ROM 303には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、外部記憶装置307や媒体読取装置308に装着されたCD−ROM等に記録されたプログラムをRAM 304に読み出してCPU 302による実行が開始される。
RAM 304は、データやプログラムを一時的に記憶するためのもので、外部記憶装置307や媒体読取装置308に装着されたCD−ROM等に記録されたプログラムやデータを保持し、また、これが中央装置102や補助装置103として機能する場合には、各種のサービスを提供するために必要な情報を一時的に記憶したり、サービスの提供の過程を記録するために用いられる。
また、要求元装置104として機能する場合には、各種通信パケットを一時的に記憶したり、提供を受けるデータの復元の処理に一時的に使用したりするために用いられる。
入力装置305は、当該情報処理装置301を直接使用したりこれを管理したりする際に、中央装置102や補助装置103の管理者、要求元装置104の利用者が各種の指示を与えるためのものであり、表示装置306は、当該指示の結果等、各種の報告を管理者に提示するためのものである。
典型的には、これらは、当該情報処理装置301に直接接続されるキーボードやマウス、コントローラならびにモニタが相当するが、NIC 309、シリアル通信線、パラレル通信線などを介して接続される他の情報処理装置を入力装置305として機能させることとして、情報処理装置301自身には、キーボードやマウス、コントローラ、モニタなどを備えない態様も広く用いられている。
外部記憶装置307は、上述したように、情報処理装置301が中央装置102、補助装置103、あるいは、要求元装置104として機能するための各種のプログラムや設定データ、提供するサービスに関する各種のデータ、端末からのアクセス統計等を不揮発的かつ読み書き可能に記録するのに用いられる。
媒体読取装置308は、当該情報処理装置301に対して種々のソフトウェアをインストールしたり、外部記憶装置307の記憶容量の空きを広くするため情報処理装置301が利用するデータを記憶させるのに利用される。利用可能な媒体は、典型的にはCD−ROMやDVD−ROMである。尚、このような媒体読取装置308を利用しなくとも、NIC 309を介したネットワークインストールの技術を利用して、他の情報処理装置からインターネットやLANを介して提供される各種のソフトウェアをインストールすることが可能である。
NIC 309は、情報処理装置301をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 302との仲立ちを行う内部インターフェース(図示せず)により構成される。
(中央装置)
図4は、本実施形態に係る中央装置の概要構成を示す模式図である。図5は、本実施形態に係る中央装置にて実行される分割配送処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、以下の説明では、中央装置102が上記の情報処理装置301上に実現されている場合を例にあげて説明する。
中央装置102は、データ記憶部501、分割部502、配送部503、中央要求受信部504、中央応答送信部505を備える。
ここで、データ記憶部501は、データを識別子に対応付けて記憶する。当該データは、将来要求元装置104にダウンロードされるであろうデータである。
したがって、上記情報処理装置301によって中央装置102を構成した場合、外部記憶装置307がデータ記憶部501として機能することとなる。
本処理は、データ記憶部501に記憶されるデータが、将来要求元装置104にダウンロードされることが決まることを契機に開始される。
まず、分割部502は、記憶されたデータを複数の断片に分割する(ステップS501)。
各断片の大きさは、UDP通信のパケットとして伝送するのに適したサイズとすることが望ましい。これは、ネットワークの状況によって変化するが、過去の通信履歴から統計的にサイズを求めることができる。
次に、分割部502は、分割された断片のそれぞれについて、少なくとも、
(a)当該断片
(b)元のデータの識別子
(c)元のデータにおいて当該断片が配置される配置位置
の三種の情報を含む断片パケットを生成する(ステップS502)。
断片の配置位置は、たとえば、分割総数○○個の断片のうち当該断片は先頭から数えて○○番目の断片である、という情報を、所定のフォーマットで指定するものとする。
元のデータの識別子は、適当な文字列の形式を定めてこれによって表現しても良いし、整数により識別番号形式で表現しても良い。
断片そのものを指定する際には、通信路の途中での通信障害によりデータが壊れたり、第三者の妨害によってデータが改変されたりしたことを検出するため、チェックサムなどを合わせて指定しても良い。
ついで、当該断片パケットのそれぞれを外部記憶装置307に保存する(ステップS503)。この際に、上記のようにチェックサムを利用するほか、電子署名を付すことによって、補助装置103や要求元装置104において、データの改変を検出することができるようになる。
上記の情報処理装置201を用いて中央装置102を構成した場合、CPU 302がRAM 304や外部記憶装置307と共働して、分割部502として機能することとなる。
さらに、配送部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を決定する。
なお、当該確率の計算については、逆数を用いるのではなく、所定の単調減少関数f(・)、すなわち、任意の正の数x,yについてx < yであればf(x) ≧ f(y) > 0を満たすものを用いて、
f(p[k]) / Σi=1 m f(p[i])
のように定めても良い。
このようにして、たとえば、断片パケットの個数が128個で、補助装置103の個数が512個である場合は、各断片パケットを約4個の補助装置103に配送し、各補助装置103が約1個の断片パケット配送を受けるようにしたり、各断片パケットを約6個の補助装置103に配送し、各補助装置がおよそ1個〜2個の断片パケットの配送を受けるようにするような態様とすることができる。
すなわち、各補助装置103に配送される断片パケットの個数は(異なっても良いが)偏りがないようにし、各断片パケットが配送される補助装置103の個数も(異なっても良いが)偏りがないようにすることが望ましい。また、ここでいう「偏り」を考える場合には、補助装置103が接続される通信路の帯域の余裕や、補助装置103自身の性能を考慮しても良い。
また、補助装置103の候補を決める場合には、コンピュータ通信網におけるネットワークトポロジー上最も近くにあるホップ数が小さいものから順に選択したり、所定の範囲に含まれるものを選択したり、当該機器との間の通信帯域が太いものから順に選択したりなど、通信コストの低いものから選択する手法を採用しても良い。
そして、配送部503は、決定された配送先の補助装置103に、当該断片パケットを配送して(ステップS507)、ステップS504に戻る。
一方、すべての断片パケットの配送が終了したら(ステップS504;Yes)、本処理を終了する。このように、CPU 302は、RAM 304や外部記憶装置307、NIC 309と共働して、配送部503として機能することとなる。
なお、外部記憶装置307の容量によっては、一旦記憶された断片パケットは削除しても良い。元のデータが記憶されている限り、断片パケットは必要に応じて生成することができるからである。また逆に、断片パケットが外部記憶装置307に残っている場合には、元のデータを削除しても良い。中央装置102で必要になったときには、断片パケットから元のデータが復元できるからである。
なお、パケットの配送の際には、当該パケットの送信元と送信先を指定する必要があり、これらの情報も当該パケットに付加される。また、パケットが何らかの要求を行うことを示す場合には、その応答先(一般には当該パケットの送信元であるが、中継や転送をした場合には、当該パケットを初めて発した通信機器が応答先となり、中継や転送の送信元ではない)も当該パケットに付加・指定される。以下、同様であるが、理解を容易にするため、適宜説明は省略する。
さて、各断片パケットの配送が終わった後は、上記のように、複数の補助装置103が十分な数あり、要求元装置104と補助装置103との通信が必要なだけ成功すれば、以下の処理は必要がなくなるが、実際には、補助装置103の処理では不十分で、要求元装置104から中央装置102に直接、断片を送るようにパケットが送付されることがある。このパケットを「中央要求」と呼ぶ。図6は、この中央要求を処理する中央応答処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
まず、中央装置102は、NIC 309を介して、他の通信機器(補助装置103や要求元端末104のほか、種々の通信機器を含む。)から送信されたパケットを受信する(ステップS601)。そして、当該パケットの種類を判別する(ステップS602)。当該パケットの種類が中央要求でない場合(ステップS602;その他)は、これに対応する処理を適宜実行して(ステップS603)、次のパケットが来るまで待機し(ステップS604)、パケットが到達したことを検出するとステップS601に戻る。
なお、ステップS604におけるパケットの到達の待機には、適宜タイムアウトを設け、タイムアウトが生じた場合にはこれに対応する処理を実行してからステップS604に戻る等の処理を実行しても良い。以下でも、パケットの到達を待つ場合には、同様の処理を行うことができるが、理解を容易にするため、説明は適宜省略する。
一方、当該パケットが中央要求である場合(ステップS602;中央要求)、NIC 309がCPU 302と共働して中央要求受信部504として機能したこととなる。そこで、中央要求受信部504は、中央要求に指定される
(a)識別子
(b)必要な断片の個数およびそれぞれの断片のデータにおける配置位置
の情報を抽出する(ステップS605)。
ついで、中央応答送信部505は、断片パケットのうち、中央要求に指定された識別子と指定された配置位置に相当するものが取得できるか判断し(ステップS606)、可能であれば(ステップS606;Yes)、これを取得する(ステップS607)。上記のように、ステップS503で外部記憶装置307に保存された断片パケットがそのまま残っている場合は、条件に適合するものをそのまま取得すれば良いし、そうでなければ、元のデータから再度断片パケットを生成しても良い。
そして、当該断片パケットを指定する中央応答を、要求元端末に送信して(ステップS608)、ステップS604に進む。なお、中央応答1つに複数の断片パケットを含むように構成しても良いし、中央応答1つに断片パケットは1つと設定して、データの復元に複数の断片が必要な場合は、複数の中央応答を要求元端末104に順次送信することとしても良い。
一方、可能でなければ(ステップS606;No)、中央要求に指定された情報が誤りである旨を要求元端末にエラー通知を送信して(ステップS609)、ステップS604に進む。
上記のように、補助装置103から収集した情報では、所望のデータが復元できない場合、要求元装置104は中央装置102に、不足分を要求し、中央装置102は、その不足分を要求元装置104に送信するのである。
このように、本実施形態においては、中央装置102が単体でデータの提供を行うのではなく、補助装置103に断片を配布して提供の大部分を補助装置103に任せるので、中央装置102にアクセスが集中することを防止することができる。
また、ラウンドロビンや乱数を用い、場合によっては負荷を考慮して断片パケットの配布先を決定するので、各補助装置103が保有する断片パケットの個数が均等となるか、あるいは、負荷が均等となることが期待され、特定の補助装置103にのみアクセスが集中する等の弊害をできるだけ防止することができる。
(補助装置)
図7は、本実施形態に係る補助装置の概要構成を示す模式図である。図8は、本実施形態に係る補助装置にて実行される補助応答処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、以下の説明では、補助装置103が上記の情報処理装置301上に実現されている場合を例にあげて説明する。
複数の補助装置103のそれぞれは、受付部701、断片記憶部702、補助要求受信部703、補助応答送信部704を備える。また、後述する実施形態では、補助要求転送部705を備えることとしており、本図においてもこれをあらかじめ図示している。
本処理が開始されると、補助装置103は、NIC 309を介して、他の通信機器(中央装置102、他の補助装置103や要求元装置104のほか、種々の通信機器を含む。)から送信されたパケットを受信し(ステップS801)、当該パケットの種類を調べる(ステップS802)。
当該パケットが、中央装置102から送信された断片パケットである場合(ステップS802;断片パケット)、NIC 309は、CPU 302やRAM 304等と共働して、受付部701として機能したこととなる。そして、当該断片パケットを、外部記憶装置307に保存し(ステップS803)、次のパケットが到達するまで待機した後(ステップS804)、到達を検知したらステップS801に戻る。
なお、断片パケットに電子署名が付されている場合には、ステップS803において、当該電子署名を確認し、電子署名が承認された場合にのみ、当該断片パケットを外部記憶装置307に保存することとしても良い。
なお、断片パケットの保存の際には、不要な情報を適宜削除したり、情報の検索を高速化するための各種の技術を適用しても良い。したがって、外部記憶装置307は、CPU 302等と共働して、断片記憶部702として機能する。中央装置102から配送される断片パケットの個数は、上記のように、必ずしも1つとは限らず、複数の場合もありうる。これにより、将来要求元装置104から要求があった場合に、この断片パケットに含まれる情報を応答する準備をする。
一方、当該パケットが要求元装置104から送信された補助要求である場合(ステップS802;補助要求)、NIC 309は、CPU 302やRAM 304等と共働して、補助要求受信部703として機能したこととなり、補助要求受信部703は、断片記憶部702に記憶された断片パケットのうち、受信された補助要求に指定される識別子を持つものが取得できるか判断し(ステップS805)、可能であれば(ステップS805;Yes)、これを取得して(ステップS806)、当該断片パケットを指定する補助応答を要求元装置104に送信し(ステップS807)、ステップS804に進む。
すなわち、要求元装置104から補助装置103への補助要求の送受が行われた場合、各補助装置103は、自身が記憶している断片パケットの識別子の項目を見て、要求元装置104が要求しているデータの断片を持っているか否かを判断し、持っている場合は、記憶している断片の内容と、元のデータ内における断片の配置位置とを、要求元装置104に送信する。これによって、要求元装置104は、所望のデータを復元できるようになるのである。
一方、可能でなければ(ステップS805;No)、ステップS804に進む。すなわち、本発明においては、断片パケットを持っていない旨の通知を補助装置103から要求元装置104に対して行うことはない。補助要求は、複数の補助装置103に対して送られるので、断片パケットを返送することができる場合にのみ、補助応答を返せば十分だからである。
一方、当該パケットが、他の種類のパケットである場合(ステップS802;その他)、補助装置103は、対応する処理を実行して(ステップS808)、ステップS804に進む。
このように、本実施形態では、補助装置103が中央装置102から配布された断片を「キャッシュ」し、要求元装置104からのデータの要求に応じて当該断片を提供するので、中央装置102の負荷集中を防止することができる。
なお、上記のように、到達確認のないプロトコル、たとえばUDP通信によって補助応答の送受が行われる場合には、当該補助装置103自身のCPU 302の負荷や、NIC 309に接続される通信経路の帯域の余裕をステップS802の後で検知して、当該負荷が一定の閾値を超えない場合にのみ、ステップS805〜S807の処理を実行することとしても良い。
(要求元装置)
図9は、本実施形態に係る要求元装置の概要構成を示す模式図である。図10は、当該要求元装置にて実行されるファイル(データ)取得処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、以下の説明では、要求元装置104が上記の情報処理装置301上に実現されている場合を例にあげて説明する。
要求元装置104は、補助要求送信部901、補助応答受信部902、中央要求送信部903、中央応答受信部904、復元部905を備える。
まず、補助要求送信部901は、所望のデータの識別子を指定する補助要求を、複数の補助装置103のうち、当該要求元装置104に通信可能に接続される補助装置103に送信する(ステップS1001)。この補助要求のパケットには、要求の応答先として、当該要求元装置104が指定されている。したがって、CPU 302は、NIC 309等と共働して、補助要求送信部901として機能する。
たとえば、中央装置102、補助装置103、要求元装置104がインターネット内に配置されている場合、理論的には、すべての装置が相互に通信可能であるが、実際には、要求元装置104は一部の補助装置103としか通信できない場合が多い。この制限は、通信路の容量によるもののほか、そもそも補助装置103と通信するための前提となるIPアドレスやポート番号がわからないことがあるからである。
対戦型ネットワークゲームの場合、各プレイヤーは自身の端末を用いて、まずロビーと呼ばれるサーバにアクセスし、このサーバに紹介された端末同士で対戦を行うことがある。たとえば、このような紹介の段階で、(一部の)補助装置103のIPアドレスやポート番号といった情報が提供されるのである。
このほか、過去に当該サービスを利用する上で当該要求元装置104が通信したことのある他の通信機器を補助要求の送信先の補助装置103として選択することも可能である。
また、プロトコルの上で、放送型のブロードキャスト通信が可能である場合には、補助要求をこの形式で行うことにより、応答可能な補助装置103に補助要求を送付することができる。
この後、要求元装置104は、パケットを受信して(ステップS1002)、当該パケットの種類を調べる(ステップS1003)。このパケットの種類が補助応答である場合(ステップS1003;補助応答)、当該補助応答に指定される断片パケットの断片の配置位置がすでに受信済みのものであるか否かを調べ(ステップS1004)、受信済みのものでなければ(ステップS1004;No)、RAM 304や外部記憶装置307などの一時的な記憶装置に、当該断片パケットを記憶する(ステップS1005)。
そして、補助装置103からの補助応答をさらに待つか判断し(ステップS1006)、さらに待つ場合(ステップS1007;Yes)、次のパケットが検出されるまで待機してから(ステップS1007)、ステップS1002に戻る。
なお、補助応答をさらに待つか否かの判断であるが、データの復元に必要な断片パケットがすべて揃えば、補助応答をさらに待つ必要はない。これがまだ不足している場合には、以下のような基準を設けて判断を行うことができる。
(a)補助要求を送信してから所定の時間が経過したか否か。
(b)補助要求を送信してから、補助応答が順次受信される時間間隔を調べ、当該時間間隔が所定の閾値よりも長くなったか否か。
(c)補助要求を送信してから、補助応答が順次受信される時間間隔の履歴から、次の時間間隔の期待値を種々の補外技術により推測し、当該推測された時間間隔が所定の閾値よりも長くなったか否か。
一方、それ以外のパケットである場合(ステップS1003;その他)、当該パケットに対応する処理を実行して(ステップS1008)、ステップS1007に進む。
また、断片パケットに電子署名が付されている場合は、ステップS1005において、当該電子署名から見て当該断片パケットが有効か否かを判断し、これが認証された場合にのみ、外部記憶装置307に断片パケットを保存することとしても良い。以下同様である。
このように、CPU 302は、RAM 304や外部記憶装置307、NIC 309等と共働して、補助応答受信部902として機能することとなる。
さて、補助応答を待たないこととした場合(ステップS1006;No)、要求元装置104は、データの復元に必要な断片パケットがすべて揃っているか否かを判断し(ステップS1009)、揃っていなければ(ステップS1009;No)、断片パケットが不足している配置位置を取得して(ステップS1010)、当該識別子と、当該不足している断片の配置位置を指定する中央要求を、中央装置102に送信する(ステップS1011)。
したがって、CPU 302は、RAM 304や外部記憶装置307、NIC 309等と共働して、中央要求送信部903として機能することとなる。
この後、要求元装置104は、パケットを受信して(ステップS1012)、当該パケットの種類を調べる(ステップS1013)。このパケットの種類が中央応答もしくは補助応答である場合(ステップS1013;中央応答/補助応答)、当該中央応答・補助応答に指定される断片パケットの断片の配置位置がすでに受信済みのものであるか否かを調べ(ステップS1014)、受信済みのものでなければ(ステップS1014;No)、RAM 304や外部記憶装置307などの一時的な記憶装置に、当該断片パケットを記憶する(ステップS1015)。
そして、中央装置102もしくは補助装置103からの中央応答・補助応答をさらに待つか判断し(ステップS1016)、さらに待つ場合(ステップS1016;Yes)、次のパケットが検出されるまで待機してから(ステップS1017)、ステップS1012に戻る。
ここで、中央応答のみならず補助応答も考慮するのは、補助装置103の通信ネットワーク内でのトポロジー的な位置や通信路の帯域の状況によっては、補助応答がこのように遅れて到達する可能性があるからである。
したがって、CPU 302は、RAM 304や外部記憶装置307、NIC 309等と共働して、中央応答受信部904として機能することとなる。
ここで、中央応答・補助応答をさらに待つかの基準は、上記のステップS1007における補助応答の場合と同様に考えれば良い。
一方、パケットの種類が存在しないデータを要求した旨のエラー通知である場合(ステップS1013;エラー通知)、その旨を報告して(ステップS1018)、本処理を終了する。
パケットの種類がこれ以外のものである場合(ステップS1013;その他)、当該パケットに対応する処理を実行して(ステップS1019)、ステップS1017に進む。
さて、中央応答・補助応答を待たない場合(ステップS1016;No)、データの復元に必要な断片パケットがすべて揃っているか否かを判断し(ステップS1020)、揃っていなければ(ステップS1020;No)、その旨を報告して(ステップS1021)、本処理を終了する。
一方、必要な断片パケットがすべてが揃っていれば(ステップS1009;Yes、ステップS1020;Yes)、各断片パケットから配置位置の順に断片を取得して連結することにより、所望のデータを復元し(ステップS1022)、本処理を終了する。
したがって、CPU 302は、RAM 304や外部記憶装置307等と共働して、復元部905として機能することとなる。
このように、本実施形態の要求元装置104は、補助装置103から収集した断片に関する情報と、それで足りない場合にはさらに中央装置102から取得した断片に関する情報と、から、元のデータを復元するのである。
このように、本実施形態によれば、要求元装置104があるデータを取得したいと考えた場合に、中央装置102へのアクセスをできるだけ少なくし、補助装置103に分散された記憶されたデータの断片を収集することによって、所望のデータを復元するようなデータ処理システムを提供することができる。
なお、上記の実施形態では、中央応答にデータの断片が含まれることとなるが、中央装置102は、データの断片にかえて必要なデータの断片を所有する補助装置103を指定するあっせん情報を中央応答に含めることとし、中央応答を受信した要求元装置104が、中央応答内のあっせん情報に指定される補助装置103に補助要求を発することとしても良い。一般に、データの断片のサイズよりも補助装置103を指定する情報のサイズの方が圧倒的に小さいため、この実施態様を採用することによって、中央装置102の負荷を補助装置103に分散させることができるようになる。
また、「識別子」としてファイル名とバージョン番号の組合せを使用することも可能である。データの指定にファイル名のみが指定された場合には、最新のファイルが指定されたものとして扱い、バージョン番号も指定された場合には、そのバージョンのファイルが指定されたものとして扱うのである。
「識別子」として「ファイル○○のうちバージョン○○以降のいずれかのバージョン」なども使用できることとしても良い。この場合は、補助応答で複数のバージョンの断片が収集された場合には、要求元装置104では最新のバージョンを採用するか、最初にすべての断片が揃ったバージョンを採用する等、種々の態様を採用することができる。
このように、本実施形態は、種々の補助装置103に分散して配置することができるため、負荷分散に好適であるほか、頻繁に使用されるバージョンが複数ある場合であっても、ファイルのバージョン管理を適切に行うのにも好適である。
上記実施形態では、要求元装置104から送信された補助要求は、直接これを受信した補助装置103によってのみ処理されており、これらが保存していない断片パケットを要求元装置104と直接通信しない補助装置103が所有している場合であっても、中央装置102への中央要求の送信が生じてしまっていた。本実施形態では、このような場合であっても、できるだけ中央要求を行わないようにするものである。
すなわち、要求元装置104において、補助要求送信部901は、当該補助要求の断片パケットに、さらに以下の情報を付加する。
(a)他の補助要求と重複しない識別子
(b)当該要求の寿命
この識別子と寿命の情報を用いて、以降に説明するように、補助要求をネットワーク内で伝播させるのである。寿命の情報は、典型的には0以上の整数であり、いわゆる最長ホップ数に相当するものである。
そして、上記の補助装置103における応答処理において、適宜処理を追加する。図11は、本実施形態における応答処理の制御の流れを示すフローチャートのうち、上述の実施形態との相異点を示す部分である。
すなわち、補助装置103は、上記実施形態のステップS802とステップS805との間で、以下の処理を行うのである。
まず、受信された補助要求に指定された識別子が、過去に受信された補助要求に指定された識別子のいずれとも異なるか否かを判断する(ステップS851)。いずれとも異なる場合(ステップS851;Yes)、受信された補助要求に指定された寿命を減じ(ステップS852)、当該寿命が尽きたか否かを判断し(ステップS853)、尽きない場合は(ステップS853;No)、減じた寿命を指定する補助要求を、他の補助装置103に転送して(ステップS854)、ステップS805に進む。
転送の際は、当該補助要求が、要求元装置104から受信したものか、他の補助装置103の中継を経たものかを判断して、中継を経ている場合には、当該中継元の補助装置103には、ステップS854における転送は必要がない。
また、転送の際には、当該補助要求の応答先の情報については、維持するものとし、転送先の補助装置103が補助応答を返す場合には、要求元装置104に直接返送ができるようにしておく。
また、上記のように、寿命は典型的には整数で表現されるので、寿命を減ずるには1を減算し、寿命が尽きたか否かは値が0以下(0未満)になったか否かで判断すれば良い。
一方、過去に受信された補助要求に指定された識別子に一致するものがある場合(ステップS851;No)や、寿命が尽きた場合(ステップS853;Yes)、転送は行わずにステップS805に進む。
なお、寿命を減ずるのは、さらに、受信された補助要求に指定された識別子に対応付けられる断片が、断片記憶部702に記憶されていない場合に限ることとしても良い。この場合は、寿命は、断片を記憶している補助装置103に限った最長ホップ数を意味することになる。
また、過去に転送したことのある補助要求か否かは、補助要求に指定される識別子(いわゆる「メッセージID」である。)によって判別される。
さて、適宜転送を行った後は、受信された補助要求の吟味に入るが、本実施形態では、受信された補助要求の直近の送信元は、要求元装置104である場合と、他の補助装置103である場合とが考えられる。しかしながら、上記のように、補助要求を転送する場合であっても、補助応答の送信先、すなわち、大元の要求元装置104を指定する情報はそのまま維持されるので、ステップS807においては、直接要求元装置104に断片パケットを指定する補助応答を送信することになる。
本発明によれば、要求元装置104が直接その所在を知らない補助装置103であっても、その補助装置103へ達するような所定のホップ数以下の経路が存在する場合には、当該補助装置103からも断片の提供を受けることができるようになる。
上記実施形態の要求元装置104は、所望のデータの断片パケットをすべて収集することが期待される。したがって、当該断片パケットの一部を外部記憶装置307に記憶することとし、当該要求元装置104が実現される情報処理装置301を、上記の補助装置103として機能させることも可能である。
この場合、断片パケットは、中央装置102から直接送信されたものではなく、過去に自身がデータを復元しようとして他の補助装置から受信したもの、ということになる。
どの断片パケットを利用して自身を補助装置103としても機能するようにするか、であるが、残すべき断片パケットは、以下のような判断基準で選択することができる。
(a)乱数を発生させて、当該乱数に基づいてランダムに選択する。最も容易な選択方法である。
(b)中央装置102から中央応答により提供された断片パケットを選択する。複数ある場合には、適宜ランダムに選択する。
(c)補助装置103から補助応答により提供された断片パケットのうち、最も後に到達したものを選択する。最も後に到達したもの複数の中から、適宜ランダムに選択しても良い。
(d)上記(b)(c)のいずれか、もしくは、双方を用いる。たとえば、中央要求を出さなかった場合は(c)、出した場合は(b)とする等である。また、(b)(c)の両方で選択されたものを両方採用することとしても良い。
上記(b)〜(d)によれば、当該情報処理装置301周辺の機器には、当該断片パケットを保持している補助装置103がないか、少ないと予想されるので、補助装置103における断片パケットの分布の不均衡をならすことが期待され、データ処理システム101全体の性能向上に貢献することができる。
このほか、上記実施形態からもわかる通り、要求元装置104、補助装置103、中央装置102の間での断片パケットの送受を中継する他の情報処理装置が、断片パケットの内容を当該データが自身にとって必要なものであるか否かをチェックし、必要なものである場合には、自ら要求パケットを送ることなく、中継する断片パケットを自身でも使用するように構成することもできる。このように構成することにより、全体としてのパケット流通量を減少させることができ、データ処理システム101全体の性能向上に貢献することができる。
また、補助要求や中央要求、断片パケットに、それが過去に通過した機器を記録すれば、経路探索情報を収集することができるとともに、過去に通過した機器への送信を行わず、未通過の機器のみに送信することができるようになる。これによって、無駄なパケットの送受を防止することができ、データ処理システム101全体の性能向上に貢献することができる。
以上説明したように、本発明によれば、ネットワーク経由でデータを取得する際に、一つの装置にアクセスが集中することをできるだけ防止するのに好適なデータ処理システム、中央装置、補助装置、要求元装置、中央サービス方法、補助サービス方法、要求元方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができ、各種のデータ配布技術に適用することができる。
本発明の実施形態の1つに係るデータ処理システムの概要構成を示す説明図である。 本実施形態における通信の様子を示すシーケンス図である。 本実施形態における中央装置、補助装置、あるいは、要求元装置が実現される情報処理装置の概要構成を示す模式図である。 本実施形態に係る中央装置の概要構成を示す模式図である。 本実施形態に係る中央装置にて実行される分割配送処理の制御の流れを示すフローチャートである。 本実施形態に係る中央装置にて実行される中央応答処理の制御の流れを示すフローチャートである。 本実施形態に係る補助装置の概要構成を示す模式図である。 本実施形態に係る補助装置にて実行される補助応答処理の制御の流れを示すフローチャートである。 本実施形態に係る要求元装置の概要構成を示す模式図である。 当該要求元装置にて実行されるファイル(データ)取得処理の制御の流れを示すフローチャートである。 その他の実施形態における応答処理の制御の流れのうち、上述の実施形態との相異点を示すフローチャートである。
符号の説明
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 復元部

Claims (13)

  1. 中央装置と、複数の補助装置と、要求元装置と、を備えるデータ処理システムであって、
    (a)前記中央装置は、
    データを識別子に対応付けて記憶するデータ記憶部、
    前記記憶されたデータを複数の断片に分割する分割部、
    前記分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を、前記複数の補助装置のいずれか少なくとも1つに配送する配送部を備え、
    (b)前記複数の補助装置のそれぞれは、
    前記中央装置から配送される断片と識別子と配置位置との三つ組を受け付ける受付部、
    前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶部を備え、
    (c)前記要求元装置は、
    所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置に送信する補助要求送信部を備え、
    (d)前記複数の補助装置のそれぞれは、
    前記要求元装置から送信される補助要求を受信する補助要求受信部、
    前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記要求元装置に送信する補助応答送信部をさらに備え、
    (e)前記要求元装置は、
    前記複数の補助装置のいずれかから送信される補助応答を受信する補助応答受信部、
    前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信部をさらに備え、
    (f)前記中央装置は、
    前記要求元装置から、識別子と配置位置とを指定する中央要求を受信する中央要求受信部、
    前記分割された断片のうち、前記受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を送信する中央応答送信部をさらに備え、
    (g)前記要求元装置は、
    前記中央装置から送信される中央応答を受信する中央応答受信部、
    前記受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、当該中央要求を送信した場合は前記受信された補助応答に指定される断片および配置位置と、から、当該所望のデータを復元する復元部をさらに備える
    ことを特徴とする物。
  2. 請求項1に記載のデータ処理システムであって、
    前記要求元装置において、前記補助要求送信部は、当該補助要求に他の補助要求と重複しない識別子と、当該要求の寿命と、を指定して送信し、
    前記複数の補助装置のそれぞれは、前記受信された補助要求に指定された識別子が、過去に受信された補助要求に指定された識別子のいずれとも異なる場合、前記受信された補助要求に指定された寿命を減じ、当該寿命が尽きない場合、当該寿命を減じた補助要求を、他の補助装置のうち、当該受信された補助要求を当該補助装置に転送していないものに転送する補助要求転送部をさらに備え、
    前記複数の補助装置のそれぞれにおいて、前記補助要求受信部は、前記複数の補助装置のうち他の補助装置から転送される補助要求をさらに受信する
    ことを特徴とする物。
  3. 請求項1または2に記載のデータ処理システムであって、
    前記要求元装置において、前記補助要求送信部は、当該補助要求を、放送型送信もしくはブロードキャスト送信により送信する
    ことを特徴とする物。
  4. 請求項1から3のいずれか1項に記載のデータ処理システムであって、
    前記中央装置において、前記配送部は、当該三つ組のそれぞれを、前記複数の補助装置からランダムに選択したもの、もしくは、配送のコストが最も低いものに配送する
    ことを特徴とする物。
  5. 複数の補助装置、および、要求元装置と通信する中央装置であって、
    データを識別子に対応付けて記憶するデータ記憶部、
    前記記憶されたデータを複数の断片に分割する分割部、
    前記分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を、前記複数の補助装置のいずれか少なくとも1つに配送する配送部、
    前記要求元装置から、識別子と配置位置とを指定する中央要求を受信する中央要求受信部、
    前記分割された断片のうち、前記受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を送信する中央応答送信部
    を備えることを特徴とする物。
  6. 中央装置、および、要求元装置と通信する補助装置であって、
    前記中央装置から配送される断片と識別子と配置位置との三つ組を受け付ける受付部、
    前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶部、
    前記要求元装置から送信される補助要求を受信する補助要求受信部、
    前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記要求元装置に送信する補助応答送信部
    を備えることを特徴とする物。
  7. 中央装置、および、複数の補助装置と通信する要求元装置であって、
    所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置に送信する補助要求送信部、
    前記複数の補助装置のいずれかから送信される補助応答を受信する補助応答受信部、
    前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信部、
    前記中央装置から送信される中央応答を受信する中央応答受信部、
    前記受信された補助応答に指定される断片および配置位置、当該中央要求を送信した場合はさらに前記受信された中央応答に指定される断片および配置位置から、当該所望のデータを復元する復元部
    を備えることを特徴とする物。
  8. 複数の補助装置および要求元装置と通信する中央装置にて実行される中央サービス方法であって、
    前記中央装置は、データを識別子に対応付けて記憶するデータ記憶部、分割部、配送部、中央要求受信部、中央応答送信部を有し、
    前記分割部が、前記記憶されたデータを複数の断片に分割する分割工程、
    前記配送部が、前記分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を前記複数の補助装置のいずれか少なくとも1つに配送する配送工程、
    前記中央要求受信部が前記要求元装置から、識別子と配置位置とを指定する中央要求を受信する中央要求受信工程、
    前記中央応答送信部が、前記分割された断片のうち、前記受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を送信する中央応答送信工程
    を備えることを特徴とする方法。
  9. 中央装置、および、要求元装置と通信する補助装置にて実行される補助サービス方法であって、
    前記補助装置は、受付部、断片記憶部、補助要求受信部、補助応答送信部を有し、
    前記受付部が、前記中央装置から配送される断片と識別子と配置位置との三つ組を受け付ける受付工程、
    前記断片記憶部が、前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶工程、
    前記補助要求受信部が、前記要求元装置から送信される補助要求を受信する補助要求受信工程、
    前記補助応答送信部が、前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記要求元装置に送信する補助応答送信工程、
    を備えることを特徴とする方法。
  10. 中央装置、および、複数の補助装置と通信する要求元装置にて実行される要求元方法であって、
    前記要求元装置は、補助要求送信部、補助応答受信部、中央要求送信部、中央応答受信部、復元部を有し、
    前記補助要求送信部が、所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置に送信する補助要求送信工程、
    前記補助応答受信部が、前記複数の補助装置のいずれかから送信される補助応答を受信する補助応答受信工程、
    前記中央要求送信部が、前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信工程、
    前記中央応答受信部が、前記中央装置から送信される中央応答を受信する中央応答受信工程、
    前記復元部が、前記受信された中央応答に指定される断片および当該中央要求に指定される配置位置と、当該中央要求を送信した場合は前記受信された補助応答に指定される断片および配置位置と、から、当該所望のデータを復元する復元工程
    を備えることを特徴とする方法。
  11. 複数の補助装置、および、要求元装置と通信するコンピュータを、
    データを識別子に対応付けて記憶するデータ記憶部、
    前記記憶されたデータを複数の断片に分割する分割部、
    前記分割された複数の断片のそれぞれについて、当該断片と当該データの識別子と当該断片が当該データ内に配置される位置(以下「配置位置」という。)との三つ組を、前記複数の補助装置のいずれか少なくとも1つに配送する配送部、
    前記要求元装置から、識別子と配置位置とを指定する中央要求を受信する中央要求受信部、
    前記分割された断片のうち、前記受信された中央要求に指定された識別子のデータにおける当該指定された配置位置に配置されるものを指定する中央応答を送信する中央応答送信部
    として機能させることを特徴とするプログラム。
  12. 中央装置、および、要求元装置と通信するコンピュータを、
    前記中央装置から配送される断片と識別子と配置位置との三つ組を受け付ける受付部、
    前記受け付けられた断片と識別子と配置位置とを対応付けて記憶する断片記憶部、
    前記要求元装置から送信される補助要求を受信する補助要求受信部、
    前記断片記憶部に記憶された断片のうち、前記受信された補助要求に指定される識別子に対応付けて記憶された断片と当該断片に対応付けて記憶された配置位置とを指定する補助応答を、前記要求元装置に送信する補助応答送信部
    として機能させることを特徴とするプログラム。
  13. 中央装置、および、複数の補助装置と通信するコンピュータを、
    所望のデータの識別子を指定する補助要求を、前記複数の補助装置のうち、当該要求元装置に通信可能に接続される補助装置に送信する補助要求送信部、
    前記複数の補助装置のいずれかから送信される補助応答を受信する補助応答受信部、
    前記受信された補助応答に指定される断片と配置位置から当該所望のデータを復元するのに不足する断片がある場合、当該所望のデータの識別子と当該不足する断片の配置位置とを指定する中央要求を前記中央装置に送信する中央要求送信部、
    前記中央装置から送信される中央応答を受信する中央応答受信部、
    前記受信された補助応答に指定される断片および配置位置、当該中央要求を送信した場合はさらに前記受信された中央応答に指定される断片および配置位置から、当該所望のデータを復元する復元部
    として機能させることを特徴とするプログラム。
JP2005018606A 2005-01-26 2005-01-26 データ処理システム、要求元装置、データ処理方法、要求元装置の制御方法、ならびに、プログラム Active JP4361498B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005018606A JP4361498B2 (ja) 2005-01-26 2005-01-26 データ処理システム、要求元装置、データ処理方法、要求元装置の制御方法、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005018606A JP4361498B2 (ja) 2005-01-26 2005-01-26 データ処理システム、要求元装置、データ処理方法、要求元装置の制御方法、ならびに、プログラム

Publications (2)

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

Family

ID=36966147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005018606A Active JP4361498B2 (ja) 2005-01-26 2005-01-26 データ処理システム、要求元装置、データ処理方法、要求元装置の制御方法、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP4361498B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012185601A (ja) * 2011-03-04 2012-09-27 Konami Digital Entertainment Co Ltd 配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにプログラム
JP2013526731A (ja) * 2009-05-20 2013-06-24 インスティテュート フューア ランドファンクテクニック ゲーエムベーハー データストリームのピアツーピア送信システム
JP2019061408A (ja) * 2017-09-26 2019-04-18 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013526731A (ja) * 2009-05-20 2013-06-24 インスティテュート フューア ランドファンクテクニック ゲーエムベーハー データストリームのピアツーピア送信システム
JP2012185601A (ja) * 2011-03-04 2012-09-27 Konami Digital Entertainment Co Ltd 配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにプログラム
JP2019061408A (ja) * 2017-09-26 2019-04-18 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP7119324B2 (ja) 2017-09-26 2022-08-17 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム

Also Published As

Publication number Publication date
JP4361498B2 (ja) 2009-11-11

Similar Documents

Publication Publication Date Title
US8620889B2 (en) Managing data transfer between endpoints in a distributed computing environment
DK2852125T3 (en) SELECTION OF SERVER FOR DISTRIBUTION OF CONTENT
US8914429B2 (en) Method for creating global distributed namespace
JP5337633B2 (ja) 分散型ストレージシステムのファイルアクセス性能を改善する方法と装置
US7287136B2 (en) Cache device, and method and computer program for controlling cached data
JP4160642B2 (ja) ネットワークデータ転送方法
JP4198053B2 (ja) コンピューターネットワークを通るコンテンツの配給送達を容易にする方法および装置
JP4098610B2 (ja) アクセス中継装置
CN108023812B (zh) 云计算系统的内容分发方法及装置、计算节点及系统
US20050138184A1 (en) Efficient method for sharing data between independent clusters of virtualization switches
US20060206699A1 (en) Network boot system
US7453865B2 (en) Communication channels in a storage network
JP2004318743A (ja) ファイル移送装置
US8352602B2 (en) Arrangements and methods for access to stored data
WO2002093846A1 (en) Method of transferring a divided file
JP2010108508A (ja) 衛星の予想帯域幅促進
US7937435B2 (en) Identifying, storing, and retrieving context data for a network message
US20030126197A1 (en) Efficient content placement using network proximity
US20020078461A1 (en) Incasting for downloading files on distributed networks
JP6540063B2 (ja) 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム
JP4361498B2 (ja) データ処理システム、要求元装置、データ処理方法、要求元装置の制御方法、ならびに、プログラム
WO2013153694A1 (ja) クライアントとサーバ間の通信を中継する通信装置、システム、及び方法
JP2007193602A (ja) ストリーム・データ配信管理方法及び装置
KR100521361B1 (ko) 네트워크 환경에서의 파일 공동 전송 방법
JP2010113460A (ja) コンテンツ配信支援システムと方法およびプログラム

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