説明

ファイル配信方法、配信サーバ、ファイル配信システム、およびプログラム

【課題】複数のファイルを多数の端末に高速に効率良く配信できるファイル配信方法、ファイル配信システム、配信サーバ、およびプログラムを提供する。
【解決手段】本発明のファイル配信方法は、配信サーバが、複数のファイルをそれぞれ複数のブロックに分割し(ステップS105)、各ファイルの識別情報を一次アドレスとし(ステップS103)、各ファイルのブロックの識別情報を二次アドレスとし(ステップS105)、一次アドレスと二次アドレスから各ブロックの順序を示すブロックアドレスを生成し、各ブロックにブロックアドレスを付与し(ステップS107)、各ブロックを順次ネットワーク上にマルチキャスト配信する(ステップS109)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイル配信方法、ファイル配信システム、配信サーバ、およびプログラムに関し、特に、複数のファイルを複数の端末に配信するファイル配信方法、ファイル配信システム、配信サーバ、およびプログラムに関する。
【背景技術】
【0002】
多数のPC(Personal Computer)等の端末群に対して、所定のアプリケーションプログラム(AP:Application Program)群を展開する際、カーネルなど共通バイナリ以外の、APバイナリや当該バイナリが依存するミドルウェアなどのバイナリデータの差分データのみを抽出して展開することで、高速に配信を行うことが可能になる。
【0003】
たとえば、数10台の端末に配信する場合であれば、この差分データをNAS(Network Attached Storage)に配備して、多数のPCで共有することで、全てのデータをマルチキャスト配信する場合に比べ、高速化が可能になる。しかし、数100〜数1000台規模の端末に配信するとなると、NAS自体がボトルネックとなり、全てのデータをマルチキャスト配信する場合の方が高速に配信できてしまう可能性がある。
【0004】
このような背景から、近年、差分データのみを配信する差分AP配信のマルチキャスト対応が求められている。
【0005】
この種のファイル配信システムの一例が特許文献1に記載されている。この特許文献1のファイル配信システムは、マルチキャストプロトコルを利用してオリジナルサーバから複数のリーフサーバへ同時にファイル配信する。オリジナルサーバの差分ファイルを抽出し、それらのファイルをアーカイブにまとめ配信データを準備する。配信データは、あらかじめ定められたサイズのブロックに分割し、それぞれのブロックにシリアル番号を付加し、順次配信する。そして、受信側のリーフサーバでは、ブロックを受信し、シリアル番号順に並べて配信データを復元する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−223384号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した特許文献1に記載のファイル配信システムにおいては、多数のファイルをアーカイブにまとめて配信データを準備するため、数万個のファイルをアーカイブにまとめるためには、数100MB〜数GBの大容量の作業領域が必要となり、かつ、配信データの生成にも時間がかかるという問題点があった。
【0008】
本発明の目的は、複数のファイルを多数の端末に高速に効率良く配信できるファイル配信方法、ファイル配信システム、配信サーバ、およびプログラムを提供することにある。
【課題を解決するための手段】
【0009】
本発明のファイル配信方法は、
配信サーバが、
複数のファイルをそれぞれ複数のブロックに分割し、
各前記ファイルの識別情報を一次アドレスとし、各前記ファイルの前記ブロックの識別情報を二次アドレスとし、前記一次アドレスと前記二次アドレスから各前記ブロックの順序を示すブロックアドレスを生成し、
各前記ブロックに前記ブロックアドレスを付与し、
各前記ブロックを順次ネットワーク上にマルチキャスト配信する。
【0010】
本発明の配信サーバは、
複数のファイルをそれぞれ複数のブロックに分割する分割手段と、
各前記ファイルの識別情報を一次アドレスとし、各前記ファイルの前記ブロックの識別情報を二次アドレスとし、前記一次アドレスと前記二次アドレスから各前記ブロックの順序を示すブロックアドレスを生成する生成手段と、
各前記ブロックに前記ブロックアドレスを付与するアドレス付与手段と、
各前記ブロックを順次ネットワーク上にマルチキャスト配信する配信手段と、を備える。
【0011】
本発明のファイル配信システムは、
配信サーバと、ネットワークを介して接続される端末と、を備え、
前記配信サーバは、
複数のファイルをそれぞれ複数のブロックに分割する分割手段と、
各前記ファイルの識別情報を一次アドレスとし、各前記ファイルの前記ブロックの識別情報を二次アドレスとし、前記一次アドレスと前記二次アドレスから各前記ブロックの順序を示すブロックアドレスを生成する生成手段と、
各前記ブロックに前記ブロックアドレスを付与するアドレス付与手段と、
各前記ブロックを順次ネットワーク上にマルチキャスト配信する配信手段と、を有し、
前記端末は、
一時記憶装置と、
二次記憶装置と、
各前記ブロックを受信し、前記一時記憶装置に記憶する受信手段と、
前記一時記憶装置に記憶された各前記ブロックの前記ブロックアドレスにしたがって、各前記ブロックを順に並べ、各前記ファイルを再構成して前記二次記憶装置に記憶するデータ構成手段と、を有する。
【0012】
本発明のプログラムは、
コンピュータに、
複数のファイルをそれぞれ複数のブロックに分割する手順、
各前記ファイルの識別情報を一次アドレスとし、各前記ファイルの前記ブロックの識別情報を二次アドレスとし、前記一次アドレスと前記二次アドレスから各前記ブロックの順序を示すブロックアドレスを生成する手順、
各前記ブロックに前記ブロックアドレスを付与する手順、
各前記ブロックを順次ネットワーク上にマルチキャスト配信する手順、を実行させるように記述されている。
【0013】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【0014】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【0015】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【0016】
さらに、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【0017】
本発明によれば、複数のファイルを多数の端末に高速に効率良く配信できるファイル配信方法、ファイル配信システム、配信サーバ、およびプログラムが提供される。
【図面の簡単な説明】
【0018】
【図1】本発明の実施の形態に係るファイル配信システムの構成を示す機能ブロック図である。
【図2】本発明の実施の形態に係るアドレシッング方法を説明するための図である。
【図3】本発明の実施の形態に係る配信データの構造の一例を示す図である。
【図4】本発明の実施の形態に係るファイル配信システムにおける配信サーバの配信時の動作の一例を示すフローチャートである。
【図5】本発明の実施の形態に係るファイル配信システムにおける端末のパケット受信時の動作の一例を示すフローチャートである。
【図6】本発明の実施の形態に係るファイル配信システムの構成を示す機能ブロック図である。
【図7】本発明の実施の形態に係るファイル配信システムのパケット再送時の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0020】
(第1の実施の形態)
図1は、本発明の実施の形態に係るファイル配信システム1の構成を示す機能ブロック図である。
本実施形態のファイル配信システム1は、たとえば、多数のPCなどの端末群に対し、複数の所定のアプリケーション群を展開する際、カーネルなど共通バイナリ以外の、APバイナリやミドルウェアなどのバイナリデータの差分データのみを抽出して展開して、配信を行い、各PCのアプリケーションプログラムの更新を行うものである。図1に示すように、ファイル配信システム1は、配信サーバ100と、ネットワーク3を介して接続される複数の端末200と、を備える。
【0021】
本実施形態では、配信サーバ100および端末200は、たとえば、図示しないCPU(Central Processing Unit)やメモリ、ハードディスク、および通信装置を備え、キーボードやマウス等の入力装置やディスプレイやプリンタ等の出力装置と接続されるサーバコンピュータやPC、またはそれらに相当する装置により実現することができる。そして、CPUが、ハードディスクなどの二次記憶装置に記憶されるプログラムをメモリに読み出して実行することにより、後述する各ユニットの各機能を実現することができる。また、ハードディスクに記憶される各種のアプリケーションプログラムをメモリに読み出して実行することができる。
なお、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。
【0022】
本実施形態において、端末200は、複数のアプリケーションプログラムや依存ミドルウェアを実行する。また、端末200は、本実施形態では、たとえば、数100〜数1000台がネットワーク3に接続される。ネットワーク3上には、図示されないスイッチやルータが設けられており、配信サーバ100からネットワーク3上の多数の端末200へのパケットのマルチキャスト配信の経路が制御される。この経路制御については、本発明の本質に関わらないので、詳細な説明は省略する。
【0023】
また、ファイル配信システム1の各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【0024】
本実施形態のファイル配信システム1において、配信サーバ100は、複数のファイルをそれぞれ複数のブロックに分割する分割部108と、各ファイルの識別情報を一次アドレスとし、各ファイルのブロックの識別情報を二次アドレスとし、一次アドレスと二次アドレスから各ブロックの順序を示すブロックアドレスを生成する生成部106と、各ブロックにブロックアドレスを付与するアドレス付与部110と、各ブロックを順次ネットワーク上にマルチキャスト配信する配信部112と、を備える。
【0025】
詳細には、配信サーバ100は、二次記憶装置102と、一時記憶装置104と、生成部106と、分割部108と、アドレス付与部110と、配信部112と、を備える。端末200は、受信部202と、一時記憶装置204と、データ構成部206と、二次記憶装置208と、を備える。
【0026】
配信サーバ100において、二次記憶装置102は、たとえば、ハードディスクなどの記憶装置である。二次記憶装置102には、配信データとなる複数のバイナリデータと、その差分データのファイルが複数格納されている。この二次記憶装置102に格納されている差分データのファイルは、複数の端末200に配信されるマスタデータとなる。本実施形態において、この差分データに含まれるファイル数は、たとえば、数1000〜数万個程度である。
【0027】
一時記憶装置104は、一時的にデータを記憶する作業領域であり、たとえば、後述するファイルリストを作成して一時的に格納するとともに、配信する前のパケット(ブロック)を一時的に格納する。本明細書において、ブロックとパケットは、同議語として使用するものとする。
【0028】
生成部106は、複数のファイルのファイルリストを生成し、ファイルリストの複数のファイルに順にシリアル番号を付与して一次アドレスとする。
分割部108は、各ファイルを複数のブロックに分割する。分割するブロックのブロック長は、予め定めておくのが好ましい。なお、ファイルの最後のブロックは、可変長となる。各ブロックのブロック長は、パケットのヘッダに情報として含むことができる。
【0029】
アドレス付与部110は、生成部106で生成された一次アドレスに加え、ファイル毎に複数のブロックに順にシリアル番号を付与して二次アドレスとする。アドレス付与部110は、一次アドレスを上位ビット(たとえば、64ビット)とし、二次アドレスを下位ビット(たとえば、64ビット)として、ビット連結して、合計ビット長(たとえば、128ビット)のブロックアドレスを生成し、各ブロックに付与する。
配信部112は、アドレス付与部110で生成されたブロックを順次ネットワーク3上の複数の端末200宛にマルチキャスト配信する。本実施形態では、UDP(User Datagram Protocol)を利用するが、これに限定さるものではなく、たとえば、IP(Internet Protocol)またはイーサネット(登録商標)などの一般的なブロードキャストプロトコルも利用できる。配信部112は、複数のファイルを互いに連結して一連の配信データとして扱い、この配信データをブロック単位で配信する。
【0030】
端末200において、受信部202は、配信サーバ100からネットワーク3を介して配信された各ブロックを受信する。一時記憶装置204は、一時的にデータを記憶する作業領域であり、受信部202が受信したブロックを一時的に格納するとともに、二次記憶装置208に記憶する前に、ブロックアドレス順にブロックを並べて再構成される差分データのファイルを一時的に格納する。
【0031】
データ構成部206は、受信したブロックに含まれるブロックアドレスに従って、各ブロックをブロックアドレス順に並べ、一時記憶装置204に格納する。各ブロックのブロックアドレスに含まれる一次アドレスが同じブロックを、同じファイルを構成するブロックと見なし、一次アドレスが同じブロックについて二次アドレス順にブロックを並べて、ファイルを再構成する。
【0032】
二次記憶装置208は、たとえば、ハードディスクなどの記憶装置である。二次記憶装置208には、配信サーバ100から配信された複数のバイナリデータと、その差分データのファイルが格納さる。本実施形態では、データ構成部206で再構成された差分データのファイルのバイナリデータを記憶する。
端末200では、二次記憶装置208に記憶されたアプリケーションプログラムをCPU(不図示)が読み出し実行することができる。
【0033】
このように構成された本実施形態のファイル配信システム1の動作について、以下に説明する。
図4は、本実施形態のファイル配信システム1の配信サーバ100における配信処理の手順を示すものである。
本実施形態のファイル配信方法は、配信サーバ100が、複数のファイルをそれぞれ複数のブロックに分割し(ステップS105)、各ファイルの識別情報を一次アドレスとし(ステップS103)、各ファイルのブロックの識別情報を二次アドレスとし(ステップS105)、一次アドレスと二次アドレスから各ブロックの順序を示すブロックアドレスを生成し、各ブロックにブロックアドレスを付与し(ステップS107)、各ブロックを順次ネットワーク上にマルチキャスト配信する(ステップS109)。
【0034】
詳細には、ファイル配信システム1の配信サーバ100において、二次記憶装置102には、配信対象の差分データが複数格納されている。まず、生成部106が、二次記憶装置102を走査し、複数のファイルをファイル名の辞書順(降順または昇順)など、予め定めた順序で並べ換えて、ファイルリストを生成する(ステップS101)。
【0035】
そして、アドレス付与部110が、生成部106が生成したファイルリストの各レコードに順に1からシリアル番号を付与する(ステップS103)。このようにして、図2(a)に示すように、ファイルリスト300は、各レコードに一次アドレス302と、ファイル名304と、が関連付けて記憶される。ファイルリスト300は、たとえば、CVS形式ファイルなどとすることができ、そのファイルサイズは、ファイルリスト300に含まれるファイル数が、数万個程度であっても、数MBとなる。
【0036】
一方、分割部108が、図2(b)に示すように、二次記憶装置102内に格納されている差分データ310の多数のファイル群(図中、ファイルA、ファイルB、ファイルC、・・・と示す)をそれぞれ複数のブロックに分割する(ステップS105)。そして、アドレス付与部110が、さらに、ファイル毎に、先頭ブロックから順にシリアル番号を付与する(ステップS105)。このようにして、図2(b)に示すように、二次アドレス312が各ブロックに付与される。
【0037】
そして、アドレス付与部110が、一次アドレス302と二次アドレス312をビット連結して、図2(c)に示すように、ブロック毎にブロックアドレス320を生成する(ステップS107)。そして、配信部112が、図3に示すように、配信データ330をブロック(パケット340)単位で、ネットワーク3上の複数の端末200にマルチキャスト配信する(ステップS109)。各パケット340は、ヘッダ342とデータ344を含み、パケット340のヘッダ342に、ステップS107で生成されたブロックアドレス320を含むことができる。なお、パケット340の構成は、一般的な構成とすることができ、本発明の本質に関わらない部分については省略する。
【0038】
図5は、本実施形態のファイル配信システム1における端末200の受信動作の一例を示すフローチャートである。
本実施形態のファイル配信方法において、端末200が、配信サーバ100から配信された各ブロックを順に受信し、一時記憶装置204に記憶し(ステップS201)、一時記憶装置204に記憶された各ブロックのブロックアドレスにしたがって、各ブロックを順に並べ、各ファイルを再構成して二次記憶装置208に記憶する(ステップS203)。
【0039】
具体的には、端末200において、受信部202が、ネットワーク3を介して配信サーバ100から配信された各パケットを順次受信し、一時記憶装置204に一時的に記憶する(ステップS201)。そして、データ構成部206が、一時記憶装置204に格納された各パケット340のヘッダ342に含まれるブロックアドレス320を参照し、ブロックアドレス320順に各ブロックを並べる。そして、ブロックアドレス320に含まれる一次アドレス302が同じであるブロック群を、一つのファイルとして、ブロックアドレス320に含まれる二次アドレス312の順に並べられたブロックを連結して再構成する(ステップS203)。
【0040】
本実施形態のファイル配信システム1では、配信サーバ100から配信された各パケットが、配信途中で、順序が入れ替わった場合にも、ブロックアドレス320に基づいてブロックを正しい順に並べ変えることができる。
【0041】
なお、本実施形態のコンピュータプログラムは、配信サーバ100を構成するコンピュータに、複数のファイルをそれぞれ複数のブロックに分割する手順、各ファイルの識別情報を一次アドレスとし、各ファイルのブロックの識別情報を二次アドレスとし、一次アドレスと二次アドレスから各ブロックの順序を示すブロックアドレスを生成する手順、各ブロックに前記ブロックアドレスを付与する手順、各ブロックを順次ネットワーク上にマルチキャスト配信する手順、を実行させるように記述されている。
【0042】
さらに、本実施形態のコンピュータプログラムは、配信サーバ100にネットワーク3を介して接続される端末200を構成するコンピュータに、各ブロックを受信し、一時記憶装置204に記憶する手順、一時記憶装置204に記憶された各ブロックのブロックアドレスにしたがって、各ブロックを順に並べ、各ファイルを再構成して二次記憶装置208に記憶する手順、を実行させるように記述されている。
【0043】
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。
【0044】
以上説明したように、本発明の実施の形態のファイル配信システム1では、ファイルを配信するために、ファイルリストを作成するのに必要な作業領域の容量が確保できればよく、この容量は、ファイルリスト300に含まれるファイル数が、数万個程度であっても、数100KB〜数MB程度と少なくて済む。また、ファイルリスト300の生成時間は、二次記憶装置102のファイル、すなわち、二次記憶装置102に格納されているファイルのファイルアロケーションテーブル等をスキャンする時間が必要となるが、数10秒と短い。さらに、複数のファイルを別に配信するのではなく、一連の配信データとして複数のファイルを連結して配信することができるので、受信側の通信ポートを複数占有するようなことがない。
【0045】
このように、本実施形態のファイル配信システム1によれば、マスタ装置(配信サーバ100)から多数の端末200に複数のアプリケーションプログラムやミドルウェアを配備させる場合に、アプリケーションやミドルウェアのバイナリデータの差分データのみを抽出し、多数の端末200にネットワーク3を介してマルチキャスト配信することで、高速に、かつ効率よく配信できるという効果を奏する。
【0046】
(第2の実施の形態)
図6は、本発明の実施の形態に係るファイル配信システム20の構成を示す機能ブロック図である。
本実施形態のファイル配信システム20は、上記実施の形態のファイル配信システム1とは、配信途中でのパケットの欠落を検出し、再送要求を行う点で相違する。
図6に示すように、本実施形態のファイル配信システム20は、配信サーバ120と、ネットワーク3を介して接続される複数の端末220と、を備える。
配信サーバ120は、図1の上記実施形態のファイル配信システム1の配信サーバ100と同様な構成に加え、さらに、再送要求受付部122と、ブロック再送部124と、を有する。また、端末220は、図1の上記実施形態のファイル配信システム1の端末200と同様な構成に加え、さらに、検出部222と、再送要求部224と、を有する。
【0047】
端末220において、検出部222は、一時記憶装置204に記憶された各ブロックのブロックアドレスに基づいて、受信できなかったロスブロックを検出する。再送要求部224は、検出したロスブロックのブロックアドレスを配信サーバ120にネットワーク3を介して通知して再送を要求する。再送通知手順などは、一般的なUDPに従って行うものとし、本発明の本質に関わらないので、詳細な説明は省略する。
【0048】
また、配信サーバ120において、再送要求受付部122は、端末220からネットワーク3を介してロスブロックの再送要求を受け付ける。ブロック再送部124は、端末220から通知されたロスブロックのブロックアドレスに基づいて、ロスブロックを端末220に再送するよう配信部112に指示する。
【0049】
このように構成された本実施形態のファイル配信システム20の動作について、以下に説明する。
図7は、本実施形態のファイル配信システム20の再送動作の一例を示すフローチャートである。
本実施形態のファイル配信方法は、端末220が、一時記憶装置204に記憶された各ブロックのブロックアドレスに基づいて、受信できなかったロスブロックを検出し(ステップS301のYES)、検出したロスブロックのブロックアドレスを配信サーバ120に通知して再送を要求し(ステップS303)、さらに、配信サーバ120が、端末220からロスブロックの再送要求を受け付け(ステップS311のYES)、端末220から通知されたロスブロックのブロックアドレスに基づいて、ロスブロックを端末220に再送する(ステップS313〜ステップS319)。
【0050】
具体的には、本実施形態のファイル配信システム20の端末220において、検出部222が、一時記憶装置204にブロックアドレス順にブロックを並べ、ブロックアドレスが欠落しているブロックを受信できなかったロスブロックとして検出する(ステップS301)。なお、受信部202でパケット受信時に、所定時間をタイムアウトした場合に、そのパケットは受信できなかったものとして、次のパケットの受信を行う。あるいは、検出部222は、パケットのヘッダ情報に基づいて、パケット長が正常か否かを判定したり、チェックサムを確認したりすることで、パケットの受信エラーを検出し、パケットの再送を要求することもできる。
【0051】
受信ロスが検出された場合(ステップS301のYES)、再送要求部224が、受信できなかったブロックのブロックアドレス、すなわち、欠落しているブロックアドレスを配信サーバ120にネットワーク3を介して通知して、ブロックの再送を要求する(ステップS303)。配信サーバ120では、再送要求受付部122が、端末220からの再送要求を受け付けると(ステップS311のYES)、ブロック再送部124が、受信した再送要求に含まれるブロックアドレスを一次アドレスと二次アドレスに分割する(ステップS313)。そして、再送要求受付部122が、ファイルリスト300を参照し、その一次アドレスに対応するファイル名を特定する(ステップS315)。
【0052】
さらに、ブロック再送部124が、ブロックアドレスの二次アドレスから、ステップS315で特定されたファイル名を有するファイルのブロックを抽出する(ステップS317)。そして、ブロック再送部124が、抽出したブロックをネットワーク3を介して端末220に配信するように配信部112に指示する(ステップS319)。
ここで、端末220でのブロックの再送要求処理は、他のブロックの配信が全て終了してから行ってもよいし、途中で行ってもよい。配信サーバ120でのブロックの再送処理は、他のブロックの配信が全て終了してから行うのが好ましい。また、ブロックの再送は、マルチキャストで配信してもよいし、再送を要求してきた端末220を指定して配信してもよい。ブロックが配信サーバ120から端末220に再送されたとき、端末220は、ブロックアドレスに基づいて同じブロックを重複して受信していないかを判定し、重複している場合は、重複しているブロックを一時記憶装置204に格納せずに破棄または、一時記憶装置204から削除する処理を行う。この処理は、受信部202またはデータ構成部206で行うことができる。
【0053】
以上説明したように、本実施形態のファイル配信システム20によれば、上記実施形態と同様な効果を奏するとともに、受信できなかったブロックを再送要求して、再配信させることができるので、データ配信の信頼性が向上するという効果を奏する。
【0054】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、上記実施形態のファイル配信システム1またはファイル配信システム20において、配信サーバ100(120)は、ファイルリスト300を生成し、ファイルリスト300の複数のファイルに順にシリアル番号を付与して一次アドレスとする構成としたが、これに限定されない。たとえば、シリアル番号の代わりに、ファイルリスト300に含まれる各ファイルに対してそれぞれユニークな数値を付与し、一次アドレスとすることもできる。
【0055】
たとえば、生成部106は、ファイルのファイル名をハフマン符号化などの可逆符号化圧縮処理を施してファイル名から一意に決まる数値に換算し、一次アドレスとしてもよい。端末200(220)のデータ構成部206は、配信サーバ100(120)の同じ法則を用いて受信したブロックアドレスの一次アドレスの数値を伸張してファイル名を復元することができる。ファイル名は必ずしも復元する必要はなく、同じ一次アドレスまたは同じ復元されたファイル名を有するブロックを特定すれば、二次アドレスに基づいて、ファイルを再構成することができる。
この構成によれば、ファイルリスト300を作成する必要がないので、符号化圧縮処理を行うための作業領域以外の作業領域も不要となる。また、上述したように、一次アドレスを伸張すれば、ファイル名を特定できる。
【0056】
この場合、好適には、アドレス付与部110によって付与される二次アドレスは、固定長であることが望ましい。たとえば、二次アドレスのビット長を64ビットに固定すれば、以下の数式(1)でブロックアドレスをユニークかつ高速に算出することができる。
(ブロックアドレス)=(一次アドレス)×(2の64乗)+(二次アドレス) ・・・式(1)
【0057】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0058】
1 ファイル配信システム
3 ネットワーク
20 ファイル配信システム
100 配信サーバ
102 二次記憶装置
104 一時記憶装置
106 生成部
108 分割部
110 アドレス付与部
112 配信部
120 配信サーバ
122 再送要求受付部
124 ブロック再送部
200 端末
202 受信部
204 一時記憶装置
206 データ構成部
208 二次記憶装置
220 端末
222 検出部
224 再送要求部
300 ファイルリスト
302 一次アドレス
304 ファイル名
310 差分データ
312 二次アドレス
320 ブロックアドレス
330 配信データ
340 パケット
342 ヘッダ
344 データ

【特許請求の範囲】
【請求項1】
配信サーバが、
複数のファイルをそれぞれ複数のブロックに分割し、
各前記ファイルの識別情報を一次アドレスとし、各前記ファイルの前記ブロックの識別情報を二次アドレスとし、前記一次アドレスと前記二次アドレスから各前記ブロックの順序を示すブロックアドレスを生成し、
各前記ブロックに前記ブロックアドレスを付与し、
各前記ブロックを順次ネットワーク上にマルチキャスト配信するファイル配信方法。
【請求項2】
請求項1に記載のファイル配信方法において、
前記ネットワークに接続される端末が、一時記憶装置と二次記憶装置を有し、
前記端末が、
各前記ブロックを前記ネットワークを介して受信し、前記一時記憶装置に記憶し、
前記一時記憶装置に記憶された各前記ブロックの前記ブロックアドレスにしたがって、各前記ブロックを順に並べ、各前記ファイルを再構成して前記二次記憶装置に記憶するファイル配信方法。
【請求項3】
請求項2に記載のファイル配信方法において、
前記ブロックを前記ブロックアドレス順に並べた後、前記ブロックアドレスの前記一次アドレスが同じブロックを一つのファイルとして再構成するファイル配信方法。
【請求項4】
請求項1乃至3いずれかに記載のファイル配信方法において、
前記配信サーバが、
複数の前記ファイルのファイルリストを生成し、
前記ファイルリストの複数の前記ファイルに順にシリアル番号を付与して前記一次アドレスとするファイル配信方法。
【請求項5】
請求項1乃至3いずれかに記載のファイル配信方法において、
前記配信サーバが、
前記ファイルのファイル名を数値に可逆符号化し、前記一次アドレスとするファイル配信方法。
【請求項6】
請求項1乃至5いずれかに記載のファイル配信方法において、
前記二次アドレスは、前記ファイル毎に複数の前記ブロックに順に付与したシリアル番号であるファイル配信方法。
【請求項7】
請求項1乃至6いずれかに記載のファイル配信方法において、
前記ネットワークに接続される端末が、一時記憶装置と二次記憶装置を有し、
前記端末が、
前記一時記憶装置に記憶された各前記ブロックの前記ブロックアドレスに基づいて、受信できなかったロスブロックを検出し、
検出した前記ロスブロックの前記ブロックアドレスを前記配信サーバに通知して再送を要求するファイル配信方法。
【請求項8】
請求項7に記載のファイル配信方法において、
前記配信サーバが、
前記端末から前記ロスブロックの再送要求を受け付け、
前記端末から通知された前記ロスブロックの前記ブロックアドレスに基づいて、前記ロスブロックを前記端末に再送するファイル配信方法。
【請求項9】
複数のファイルをそれぞれ複数のブロックに分割する分割手段と、
各前記ファイルの識別情報を一次アドレスとし、各前記ファイルの前記ブロックの識別情報を二次アドレスとし、前記一次アドレスと前記二次アドレスから各前記ブロックの順序を示すブロックアドレスを生成する生成手段と、
各前記ブロックに前記ブロックアドレスを付与するアドレス付与手段と、
各前記ブロックを順次ネットワーク上にマルチキャスト配信する配信手段と、を備える配信サーバ。
【請求項10】
配信サーバと、ネットワークを介して接続される端末と、を備え、
前記配信サーバは、
複数のファイルをそれぞれ複数のブロックに分割する分割手段と、
各前記ファイルの識別情報を一次アドレスとし、各前記ファイルの前記ブロックの識別情報を二次アドレスとし、前記一次アドレスと前記二次アドレスから各前記ブロックの順序を示すブロックアドレスを生成する生成手段と、
各前記ブロックに前記ブロックアドレスを付与するアドレス付与手段と、
各前記ブロックを順次前記ネットワーク上にマルチキャスト配信する配信手段と、を有し、
前記端末は、
一時記憶装置と、
二次記憶装置と、
各前記ブロックを前記ネットワークを介して受信し、前記一時記憶装置に記憶する受信手段と、
前記一時記憶装置に記憶された各前記ブロックの前記ブロックアドレスにしたがって、各前記ブロックを順に並べ、各前記ファイルを再構成して前記二次記憶装置に記憶するデータ構成手段と、を有するファイル配信システム。
【請求項11】
コンピュータに、
複数のファイルをそれぞれ複数のブロックに分割する手順、
各前記ファイルの識別情報を一次アドレスとし、各前記ファイルの前記ブロックの識別情報を二次アドレスとし、前記一次アドレスと前記二次アドレスから各前記ブロックの順序を示すブロックアドレスを生成する手順、
各前記ブロックに前記ブロックアドレスを付与する手順、
各前記ブロックを順次ネットワーク上にマルチキャスト配信する手順、を実行させるためのプログラム。
【請求項12】
請求項11に記載のプログラムにおいて、
前記コンピュータにネットワークを介して接続される第2のコンピュータが、一時記憶装置と二次記憶装置を有し、
前記第2のコンピュータに、
各前記ブロックを受信し、前記一時記憶装置に記憶する手順、
前記一時記憶装置に記憶された各前記ブロックの前記ブロックアドレスにしたがって、各前記ブロックを順に並べ、各前記ファイルを再構成して前記二次記憶装置に記憶する手順、を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−237924(P2011−237924A)
【公開日】平成23年11月24日(2011.11.24)
【国際特許分類】
【出願番号】特願2010−107325(P2010−107325)
【出願日】平成22年5月7日(2010.5.7)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】