(57)【要約】  【課題】配信サーバが使用しているアプリケーションプロトコルスタックにかかわらず、当該配信サーバの負荷を軽減することのできる技術を提供すること。  【解決手段】配信サーバ１１０は予めコンテンツデータのデータ本体であるファイルオブジェクトをプライベートストレージ１２０からストレージシステム１３０のパブリックストレージにストレージネットワーク１８１を介して転送しておく。そして、配信サーバ１１０から、ＩＰネットワーク１８０を介して、アプリケーションプロトコルヘッダを含むデータコンテナを送信し、ルータ１６０において、当該アプリケーションプロトコルヘッダとパブリックストレージから取得したファイルオブジェクトとを結合して、クライアント端末１７０に送信する。【選択図】図１
2008152699.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、コンテンツデータをクライアント端末に配信する配信システムであって、
配信サーバと、ストレージ装置と、通信装置と、を備え、
前記通信装置は、前記配信サーバから受信した前記コンテンツデータに特有のヘッダ情報と、前記ストレージ装置から受信した前記コンテンツデータのデータ本体と、を結合して前記クライアント端末に送信すること、
を特徴とする配信システム。
【請求項２】
請求項１に記載の配信システムであって、
前記配信サーバは、
前記ストレージ装置に記憶されている前記コンテンツデータのデータ本体を識別する識別情報と、当該識別情報により識別される当該データ本体を記憶するストレージ装置のアドレス情報と、を記憶する記憶部と、
前記ヘッダ情報と、前記識別情報と、前記アドレス情報と、を格納した通信データを送信する処理を制御する制御部と、
を備えることを特徴とする配信システム。
【請求項３】
請求項２に記載の配信システムであって、
前記ストレージ装置は、
前記コンテンツデータを前記識別情報に対応させて記憶する記憶部と、
前記識別情報を特定した要求に応じて、前記識別情報に対応する前記データ本体を、当該要求の送信先に返信する処理を制御する制御部と、
を備えることを特徴とする配信システム。
【請求項４】
請求項３に記載の配信システムであって、
前記通信装置は、
前記配信サーバより受信した前記通信データに含まれている識別情報を特定した要求を、当該通信データに含まれているアドレス情報で特定されるストレージ装置に送信する処理と、
前記ストレージ装置から受信した前記データ本体と、前記通信データに含まれる前記ヘッダ情報と、を結合して前記クライアント端末に送信する処理と、
を制御する制御部を備えること、
を特徴とする配信システム。
【請求項５】
配信サーバと、ストレージ装置と、クライアント端末と、を備え、ネットワークを介して、コンテンツデータを該クライアント端末に配信する配信システムにおける通信装置であって、
前記配信サーバから受信した前記コンテンツデータに特有のヘッダ情報と、前記ストレージ装置から受信した前記コンテンツデータのデータ本体と、を結合して前記クライアント端末に送信すること、
を特徴とする通信装置。
【請求項６】
請求項５に記載の通信装置であって、
前記配信サーバより指定された識別情報を特定した要求を、前記配信サーバより指定されたアドレス情報で特定されるストレージ装置に送信する処理と、
前記ストレージ装置から受信した前記データ本体と、前記通信データに含まれる前記ヘッダ情報と、を結合して前記クライアント端末に送信する処理と、
を制御する制御部を備えること、
を特徴とする通信装置。
【請求項７】
ネットワークを介して、配信サーバからクライアント端末にコンテンツデータを配信する配信システムであって、
ストレージ装置と、通信装置と、を備え、
前記通信装置は、前記配信サーバから受信した前記コンテンツデータの一部の複製を生成して、当該複製を前記ストレージ装置に送信し、
前記ストレージ装置は、前記通信装置から受信した前記複製を記憶すること、
を特徴とする配信システム。
【請求項８】
請求項７に記載の配信システムであって、
前記配信サーバは、前記クライアント端末に送信するコンテンツデータを送信する前に、当該コンテンツデータのうち、前記通信装置において複製を生成する部分を特定する情報と、当該複製を識別するための識別情報と、を格納した複製管理情報を前記通信装置に送信する制御部を備えること、
を特徴とする配信システム。
【請求項９】
請求項８に記載の配信システムであって、
前記通信装置は、前記複製管理情報で指定された部分の複製を前記コンテンツデータから取得し、前記複製管理情報で指定された識別情報と共に、当該複製を前記ストレージ装置に送信する処理を制御する制御部を備え、
前記ストレージ装置は、前記通信装置から受信した前記複製を、当該複製とともに受信した識別情報とともに記憶する記憶部を備えること、
を特徴とする配信システム。
【請求項１０】
請求項９に記載の配信システムであって、
前記配信サーバは、前記識別情報をしていた取得要求を前記ストレージ装置に送信することにより、前記ストレージから前記複製を取得することができるようにされていること、を特徴とする配信システム。
【請求項１１】
配信サーバと、ストレージ装置と、クライアント端末と、を備え、ネットワークを介して、前記配信サーバからコンテンツデータを前記クライアント端末に配信する配信システムにおける通信装置であって、
前記通信装置は、前記配信サーバから受信した前記コンテンツデータの一部の複製を生成して、当該複製を前記ストレージ装置に送信して、前記ストレージ装置に記憶させること、
を特徴とする通信装置。
【請求項１２】
ネットワークを介して、配信サーバからクライアント端末にコンテンツデータを配信する配信システムであって、
ストレージ装置と、通信装置と、を備え、
前記通信装置は、前記クライアント端末から送信されたコンテンツデータを前記ストレージ装置に送信し、
前記クライアント端末は、前記ストレージ装置から前記コンテンツデータを受信することができるようにされていること、
を特徴とする配信システム。
【請求項１３】
請求項１２に記載の配信システムであって、
前記クライアント端末は、前記通信装置において前記コンテンツデータを送信するストレージ装置のアドレス情報を特定する情報を格納した蓄積管理情報を前記通信装置に送信する制御部を備え、
前記通信装置は、前記アドレス情報で特定されるストレージ装置に前記コンテンツデータを送信すること、
を特徴とする配信システム。
【請求項１４】
請求項１３に記載の配信システムであって、
前記蓄積管理情報には、前記コンテンツデータを識別するための識別情報が格納されており、
前記通信装置は、前記コンテンツデータと、前記識別情報と、を前記ストレージ装置に送信し、
前記ストレージ装置は、前記通信装置から受信した前記コンテンツデータを前記識別情報に対応させて記憶すること、
を特徴とする配信システム。
【請求項１５】
請求項１４に記載の配信システムであって、
前記クライアント端末は、前記識別情報を指定した取得要求を前記ストレージ装置に送信することにより、前記識別情報に対応した前記コンテンツデータを取得することができるようにされていること、を特徴とする配信システム。
【請求項１６】
配信サーバと、ストレージ装置と、通信装置と、クライアント端末と、を備え、ネットワークを介して、コンテンツデータを前記クライアント端末に配信する配信システムにおける配信方法であって、
前記通信装置において、前記配信サーバから前記コンテンツデータに特有のヘッダ情報を受信する過程と、
前記通信装置において、前記ストレージ装置から前記コンテンツデータのデータ本体を受信する過程と、
前記通信装置において、前記ヘッダ情報と、前記データ本体と、を結合して前記クライアント端末に送信する過程と、を備えること、
を特徴とする配信システム。
【請求項１７】
配信サーバと、ストレージ装置と、通信装置と、クライアント端末と、を備え、ネットワークを介して、コンテンツデータを前記クライアント端末に配信する配信システムにおける配信方法であって、
前記通信装置において、前記配信サーバから受信した前記コンテンツデータの一部の複製を生成する過程と、
前記通信装置において、前記複製を前記ストレージ装置に送信する過程と、
前記ストレージ装置において、前記複製を受信する過程と、
前記ストレージ装置において、前記複製を記憶する過程と、を備えること、
を特徴とする配信方法。
【請求項１８】
配信サーバと、ストレージ装置と、通信装置と、クライアント端末と、を備え、ネットワークを介して、コンテンツデータを前記クライアント端末に配信する配信システムにおける配信方法であって、
前記通信装置において、前記クライアント端末から送信されたコンテンツデータを受信する過程と、
前記通信装置において、前記コンテンツデータを前記ストレージ装置に送信する過程と、
前記クライアント端末において、前記ストレージ装置から前記コンテンツデータを受信する過程と、を備えること、
を特徴とする配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してクライアント端末に動画等のコンテンツデータを配信する技術に関する。
【背景技術】
【０００２】
ネットワークを介してコンテンツデータのような大容量データを配信サーバからクライアント端末に配信する際に、配信サーバに掛かる負荷負荷を軽減する技術として、キャッシュサーバを用いた方法が知られている（例えば、非特許文献１参照）。
【０００３】
キャッシュサーバを用いた方法では、クライアント端末と配信サーバ間に、配信サーバが使用しているアプリケーションプロトコルスタック、例えば、ＨＴＴＰ（HyperText Transfer Protocol）やＲＴＳＰ（Real Time Streaming Protocol）を実装したキャッシュサーバを配置し、配信サーバの外部記憶装置に保持されているコンテンツの一部を、キャッシュサーバの外部記憶装置に予めコピーしておく。
【０００４】
クライアント端末は、キャッシュサーバに配信要求を送信し、キャッシュサーバは、当該配信要求を受信すると、当該キャッシュサーバに実装されているアプリケーションプロトコルスタックを起動し、クライアント端末が要求しているコンテンツがキャッシュサーバの外部記憶装置に存在する場合には、当該コンテンツを読み出し、キャッシュサーバがクライアント端末に当該コンテンツを配信する。一方、クライアント端末が要求するコンテンツがキャッシュサーバの外部記憶装置に存在しない場合には、当該配信要求をキャッシュサーバから配信サーバに送信し、配信サーバが、クライアント端末に当該コンテンツの配信を行う。
【０００５】
このような手順を取ることで、キャッシュサーバの外部記憶装置に格納されたコンテンツを配信する際には、配信サーバに配信負荷が掛からなくなり、配信サーバの負荷軽減が実現できる。
【０００６】
【非特許文献１】Network Appliance, Inc.”NetCache（登録商標） 6.0 Deployment Guide”, pp168-171, Nov. 2004.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の技術のように、キャッシュサーバを用いた方法では、キャッシュサーバにアプリケーションプロトコルスタックを実装する必要があり、配信サーバにおいて、キャッシュサーバがサポートしていないアプリケーションプロトコルスタックを用いて配信を実行する場合には、当該キャッシュサーバでは配信サーバの負荷軽減を行うことができない。
【０００８】
そこで、本発明では、配信サーバが使用しているアプリケーションプロトコルスタックにかかわらず、当該配信サーバの負荷を軽減することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
以上の課題を解決するため、本発明は、配信サーバのアプリケーションプロトコルに対応するヘッダ領域と、コンテンツデータと、を別々に配信し、配信サーバとクライアント端末との間の通信ネットワーク上に配置された装置においてこれらを結合してクライアント端末に送信するようにしている。
【００１０】
例えば、本発明は、ネットワークを介して、コンテンツデータをクライアント端末に配信する配信システムであって、配信サーバと、ストレージ装置と、通信装置と、を備え、前記通信装置は、前記配信サーバから受信した前記コンテンツデータに特有のヘッダ情報と、前記ストレージ装置から受信した前記コンテンツデータのデータ本体と、を結合して前記クライアント端末に送信すること、を特徴とする。
【発明の効果】
【００１１】
以上のように、本発明によれば、コンテンツデータと、を別々に配信しているため、配信サーバが使用しているアプリケーションプロトコルスタックにかかわらず、当該配信サーバの負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の第一の実施形態である配信システム１００の概略図である。
【００１３】
配信システム１００は、配信サーバ１１０と、プライベートストレージ１２０と、ストレージシステム１３０と、ルータ１６０と、クライアント端末１７０と、を備えている。
【００１４】
そして、配信サーバ１１０とクライアント端末１７０は、ＩＰ（Internet Protocol）ネットワーク１８０を介して相互に通信を行うことができるようにされており、また、ＩＰネットワーク１８０内には、ルータ１６０が設けられている。
【００１５】
さらに、ＩＰネットワーク１８０内には、ストレージネットワーク１８１が設けられており、ストレージネットワーク１８１内に設けられているプライベートストレージ１２０とストレージシステム１３０とはストレージネットワーク１８１内において相互に通信を行うことができるようにされており、また、これらのプライベートストレージ１２０とストレージシステム１３０とは、ＩＰネットワーク１８０を介して配信サーバ１１０、ルータ１６０及びクライアント端末１７０と通信を行うことができるようにされている。
【００１６】
図２は、配信サーバ１１０の概略図である。
【００１７】
図示するように、配信サーバ１１０は、名前管理情報記憶部１１１と、ＩＤ管理情報記憶部１１２と、送信処理部１１３と、ファイル管理部１１４と、ＩＦ部１１５と、を備えている。
【００１８】
名前管理情報記憶部１１１には、パス名と、当該パス名に対応するファイルオブジェクトを識別するための情報（オブジェクトＩＤ）と、を特定する情報が記憶される。
【００１９】
例えば、本実施形態においては、名前管理情報記憶部１１１に、図３（名前管理テーブル１１１ａの概略図）に示すような名前管理テーブル１１１ａが記憶される。
【００２０】
図示するように、名前管理テーブル１１１ａは、予め定められたアドレスにルートディレクトリ１１１ｂがあり、ルートディレクトリ１１１ｂ及びその下位のディレクトリ１１１ｇ、１１１ｈ、１１１ｉは、属性フィールド１１１ｃと、名称フィールド１１１ｄと、サイズフィールド１１１ｅと、オブジェクトＩＤフィールド１１１ｆと、を有する。
【００２１】
属性フィールド１１１ｃには、当該エントリがディレクトリ又はファイルであることを示す情報が格納される。
【００２２】
名称フィールド１１１ｄには、当該エントリのディレクトリ名又はファイル名を示す情報が格納される。
【００２３】
サイズフィールド１１１ｅには、当該エントリの属性がファイルである場合には、ファイルのデータサイズが格納され、当該エントリの属性がディレクトリである場合には、例えば、「０」等の値が格納される。
【００２４】
オブジェクトＩＤフィールド１１１ｆには、当該エントリの属性がファイルである場合には、対応するパス名を持つファイルが、後述するプライベートストレージ１２０においてどの識別情報（オブジェクトＩＤ）として登録してあるかを特定する情報が格納され、当該エントリの属性が、ディレクトリである場合には、対応するパス名を持つディレクトリが、どのアドレスに格納されているかを特定する情報が格納される。
【００２５】
このような名称管理テーブル１１１ａをルートディレクトリ１１１ｂからたどることにより、後述するファイル管理部１１４は、与えられたパス名に対応するファイルが、プライベートストレージ１２０において、どのオブジェクトＩＤとして格納されているかを特定することができる。
【００２６】
ここで、本実施形態においては、プライベートストレージ１２０に予め記憶されているファイルの識別情報をオブジェクトＩＤ１とし、後述するように、プライベートストレージ１２０において複製されたファイルの識別情報をオブジェクトＩＤ２とする。
【００２７】
図２に戻り、ＩＤ管理情報記憶部１１２には、パス名と、当該パス名に対応するファイルを複製したファイルの識別情報と、当該パス名に対応するファイルを記憶したパブリックストレージ１５０のアドレス情報と、当該パス名に対応するファイルに付加された付加情報（ヘッダ情報）と、を特定する情報が格納される。
【００２８】
例えば、本実施形態においては、ＩＤ管理情報記憶部１１２に、図４（ＩＤ管理情報テーブル１１２ａの概略図）に示すようなＩＤ管理情報テーブル１１２ａが記憶される。
【００２９】
図示するように、ＩＤ管理情報テーブル１１２ａは、パス名フィールド１１２ｂと、オブジェクトＩＤフィールド１１２ｃと、パブリックストレージＩＰアドレスフィールド１１２ｄと、ＡＰヘッダフィールド１１２ｅと、を有する。
【００３０】
パス名フィールド１１２ｂには、ファイルのパス名が格納される。
【００３１】
オブジェクトＩＤフィールド１１２ｃには、パス名フィールド１１２ｂで特定されるパス名に対応するファイルが後述するプライベートストレージ１２０において複製された際の識別情報であるオブジェクトＩＤ２が格納される。
【００３２】
パブリックストレージＩＰアドレスフィールド１１２ｄには、パス名フィールド１１２ｂで特定されるパス名に対応するファイルが転送され、記憶されているパブリックストレージ１５０のＩＰアドレスが格納される。
【００３３】
ＡＰヘッダ１１２ｅフィールド１１２ｅには、パス名フィールド１１２ｂで特定されるパス名に対応するファイルのアプリケーションヘッダが格納される。
【００３４】
図２に戻り、送信処理部１１３は、クライアント端末１７０からの接続要求及び配信要求に対して、プライベートストレージ１２０に格納されているファイルオブジェクトを配信する処理を制御する。
【００３５】
ここで、本実施形態においては、ファイルオブジェクトは、ヘッダ情報を有しないデータ本体のことをいうものとする。
【００３６】
特に、本実施形態においては、送信処理部１１３は、ストレージシステム１３０のドメインサーバ１４０にストレージ領域の割り当て要求及び割り当て継続要求を発行し、パブリックストレージ１５０内に一定サイズの領域を確保する。
【００３７】
また、送信処理部１１３は、ファイル管理部１１４を介してプライベートストレージ１２０に対して、ファイルオブジェクトの複製と、複製されたファイルオブジェクトのパブリックストレージ１５０への転送を要求する。
【００３８】
さらに、送信処理部１１３は、クライアント端末１７０からの接続要求及び配信要求に対して、シーケンス番号を特定するためのシーケンス番号情報を送信し、その後、ルータ１６０にデータコンテナを送信する。
【００３９】
ここで、データコンテナについては、少なくとも、ファイルオブジェクトに付加された付加情報（ヘッダ情報）を特定する情報、ファイルオブジェクトを格納しているパブリックストレージ１５０のアドレスを特定する情報、が含まれているものとする。
【００４０】
例えば、本実施形態においては、図１３（Ａ）に示されているようなデータコンテナ１８２をルータ１６０に送信する。
【００４１】
図示するように、データコンテナ１８２には、配信サーバＩＰアドレス格納領域１８２ａと、クライアントＩＰアドレス格納領域１８２ｂと、配信サーバポート番号格納領域１８２ｃと、クライアントポート番号格納領域１８２ｄと、シーケンス番号格納領域１８２ｅと、ＡＰプロトコルヘッダ格納領域１８２ｆと、データ結合実行ドメイン格納領域１８２ｇと、ストレージＩＰアドレス格納領域１８２ｈと、オブジェクトＩＤ格納領域１８２ｉと、オフセット格納領域１８２ｊと、サイズ格納領域１８２ｋと、送信時刻格納領域１８２ｌと、を備えている。なお、これらの領域に格納される情報については後述する。
【００４２】
図２に戻り、ファイル管理部１１４は、名前管理情報記憶部１１１及びＩＤ管理情報記憶部１１２に記憶する情報を管理する処理を行う。
【００４３】
また、特に、本実施形態においては、ファイル管理部１１４は、送信処理部１１３からパス名を指定したファイルオブジェクトの複製要求を受けた場合に、当該パス名に対応するファイルオブジェクトのオブジェクトＩＤ１を特定して、オブジェクトＩＤ１を指定して、プライベートストレージ１２０に複製要求を行う。
【００４４】
そして、ファイル管理部１１４は、プライベートストレージ１２０から複製されたファイルオブジェクトのオブジェクトＩＤ２を受け取り、パス名と対応させてＩＤ管理テーブル１１２に記憶する。
【００４５】
また、ファイル管理部１１４は、送信処理部１１３からパス名を指定した問い合わせに対して、当該パス名に対応してＩＤ管理テーブル１１２に記憶されているオブジェクトＩＤ２を回答する。
【００４６】
ＩＦ部１１５は、ＩＰネットワーク１８０を介した情報の送受信を行うためのインターフェースである。
【００４７】
ここで、配信サーバ１１０については、図１４に示すようなコンピュータ１９０により実現可能である。
【００４８】
コンピュータ１９０は、ハードディスク等の外部記憶装置１９１と、メモリ１９２と、ＣＰＵ（Central Processing Unit）１９３と、キーボードやマウス等の入力装置１９４と、ディスプレイやプリンタ等の出力装置１９５と、ＮＩＣ（Network Interface Card）等の通信装置１９６と、これらを接続するバス１９７と、を備えており、例えば、名前管理情報記憶部１１１及びＩＤ管理情報記憶部１１２は、外部記憶装置１９１により実現可能であり、送信処理部１１３及びファイル管理部１１４は、外部記憶装置１９１に記憶されている所定のプログラムをメモリ１９２にロードしてＣＰＵ１９３で実行することにより実現可能であり、ＩＦ部１１５は、通信装置１９６により実現可能である。
【００４９】
図５は、プライベートストレージ１２０の概略図である。
【００５０】
図示するように、プライベートストレージ１２０は、マップ管理情報記憶部１２１と、データ記憶部１２２と、データ管理部１２３と、ＩＦ部１２４と、を備えている。
【００５１】
マップ管理情報記憶部１２１には、データ記憶部１２２に記憶するファイルオブジェクト毎に、ファイルオブジェクトを識別するための識別情報と、当該ファイルオブジェクトの格納位置を特定する情報と、が少なくとも記憶される。
【００５２】
例えば、本実施形態においては、マップ管理情報記憶部１２１には、図６（マップ管理テーブル１２１ａの概略図）に示すようなマップ管理テーブル１２１ａが記憶される。
【００５３】
図示するように、マップ管理テーブル１２１ａは、オブジェクトＩＤフィールド１２１ｂと、内部オブジェクトＩＤフィールド１２１ｃと、公開／非公開ビットフィールド１２１ｄと、サイズ情報フィールド１２１ｅと、マッピング情報フィールド１２１ｆと、空きブロックリストフィールド１２１ｇと、を有する。
【００５４】
オブジェクトＩＤフィールド１２１ｂには、当該エントリに対応するファイルオブジェクトを識別するための情報が格納される。
【００５５】
ここで、本実施形態においては、プライベートストレージ１２０において予め記憶されているコンテンツデータに対応するファイルオブジェクトを識別するためのオブジェクトＩＤをオブジェクトＩＤ１とし、送信サーバ１１０のファイル管理部１１４の指示により、オブジェクトＩＤ１で特定されるファイルオブジェクトの複製を作成した際の新たに作成されたファイルオブジェクトを識別するためのオブジェクトＩＤをオブジェクトＩＤ２とする。
【００５６】
内部オブジェクトＩＤフィールド１２１ｃには、当該エントリに対応するファイルオブジェクトを識別するための情報が格納される。
【００５７】
ここで、本実施形態においては、プライベートストレージ１２０のデータ記憶部１２２に記憶するファイルが新規に作成されるたびに、データ管理部１２３が新規に作成されたファイル毎にその識別情報（ＩＤ）を生成し、内部オブジェクトＩＤフィールド１２１ｃに格納するようにしている。
【００５８】
そして、オブジェクトＩＤフィールド１２１ｂには、どのプライベートストレージ１２０にどのファイルオブジェクトを格納しているかを識別することができるように、当該プライベートストレージ１２０のＩＰアドレスと内部オブジェクトＩＤフィールド１２１ｃに格納される識別情報（ＩＤ）を組み合わせて識別情報（オブジェクトＩＤ）とすることで、一意のＩＤが割り振られるようにしている。
【００５９】
公開／非公開ビットフィールド１２１ｄには、当該エントリのファイルオブジェクトを公開するか非公開とするかを特定する情報が格納される。
【００６０】
ここで、本フィールド１２１ｄにおいて非公開とされたファイルオブジェクトは、特定の配信サーバ１１０からのみの読み込み要求、書き込み要求、複製要求、転送要求を受け付けるようにされており、一方、本フィールド１２１ｄにおいて公開とされたファイルオブジェクトは、いかなる配信サーバ１１０及びルータ１６０からも読み込み要求、書き込み要求、転送要求を受け付けるようにされている。
【００６１】
サイズ情報フィールド１２１ｅには、当該エントリのファイルオブジェクトのデータサイズを特定する情報が格納される。なお、本実施形態においては、ブロック数が格納されるようになっている。
【００６２】
マッピング情報フィールド１２１ｆには、当該エントリのファイルオブジェクトをデータ記憶部１２２に格納する位置を特定する情報が格納される。ここで、本実施形態においては、データ記憶部１２２のブロック番号が格納されるようになっている。
【００６３】
なお、本実施形態においては、マッピング情報フィールド１２１ｆにブロック番号の他に、ＣＯＷ（Copy On Write）ビットも格納されており、後述するように、ファイルオブジェクトの仮想コピーも実現可能にされている。
【００６４】
空きブロックリストフィールド１２１ｇには、プライベートストレージ１２０のデータ記憶部１２２における空きブロックを特定する情報（リスト）が格納される。
【００６５】
データ記憶部１２２には、ファイルオブジェクトが格納される。
【００６６】
データ管理部１２３は、マップ管理情報記憶部１２１及びデータ記憶部１２２に記憶するデータを管理する処理を行う。
【００６７】
ＩＦ部１２４は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【００６８】
以上に記載したプライベートストレージ１２０は、図１５に示すようなコンピュータ２９０により実現可能である。
【００６９】
コンピュータ２９０は、ハードディスク等の外部記憶装置２９１と、メモリ２９２と、ＣＰＵ２９３と、ＮＩＣ等の通信装置２９４と、これらを接続するバス２９５と、を備えており、例えば、マップ管理情報記憶部１２１及びデータ記憶部１２２は、外部記憶装置２９１により実現可能であり、データ管理部１２３は、外部記憶装置２９１に記憶されている所定のプログラムをメモリ２９２にロードしてＣＰＵ２９３で実行することにより実現可能であり、ＩＦ部１２４は、通信装置２９４により実現可能である。
【００７０】
図７は、ストレージシステム１３０の概略図である。
【００７１】
図示するように、ストレージシステム１３０は、ドメインサーバ１４０と、少なくとも一つ以上のパブリックストレージ１５０と、を備えており、これらは、ストレージネットワーク１８１を介して相互に情報を送受信することができるようにされている。
【００７２】
ドメインサーバ１４０は、パブリックストレージ管理情報記憶部１４１と、ドメイン管理部１４２と、ＩＦ部１４３と、を備えている。ここで、ドメインサーバ１４０は、自ドメインに配置されているパブリックストレージ１５０を管理するためのサーバである。
【００７３】
パブリックストレージ管理情報記憶部１４１には、ドメインサーバ１４０で管理するパブリックストレージ１５０に記憶するファイルオブジェクトを特定する情報が記憶される。
【００７４】
例えば、本実施形態においては、パブリックストレージ管理情報記憶部１４１には、図８（パブリックストレージ管理テーブル１４１ａの概略図）に示すようなパブリックストレージ管理テーブル１４１ａが記憶される。
【００７５】
図示するように、パブリックストレージ管理テーブル１４１ａは、パブリックストレージＩＰアドレスフィールド１４１ｂと、総容量フィールド１４１ｃと、空き容量フィールド１４１ｄと、プライベートストレージＩＰアドレスフィールド１４１ｅと、オブジェクトＩＤフィールド１４１ｆと、ブロック数フィールド１４１ｇと、タイムアウトフィールド１４１ｈと、を有し、パブリックストレージ管理テーブル１４１ａは、ドメインサーバ１４０で管理するパブリックストレージ毎に生成される。
【００７６】
パブリックストレージＩＰアドレスフィールド１４１ｂには、ドメインサーバ１４０で管理するパブリックストレージ１５０のＩＰアドレスが格納される。
【００７７】
総容量フィールド１４１ｃには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ１５０において、ファイルオブジェクトを記憶するために割り当てられた総記憶容量が格納される。
【００７８】
空き容量フィールド１４１ｄには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ１５０において、ファイルオブジェクトを記憶するために割り当てられた総記憶容量のうち、空き容量が記憶される。
【００７９】
プライベートストレージＩＰアドレスフィールド１４１ｅには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ１５０に記憶されたファイルオブジェクトを送信した送信元のプライベートストレージ１２０のＩＰアドレスが格納される。
【００８０】
オブジェクトＩＤフィールド１４１ｆには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ１５０に記憶されたファイルオブジェクトを特定するための識別情報が記憶される。
【００８１】
ここで、本実施形態においては、配信サーバ１１０からの割当要求に含まれるオブジェクトＩＤ１がオブジェクトＩＤフィールド１４１ｆに格納される。
【００８２】
ブロック数フィールド１４１ｇには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ１５０にファイルオブジェクトを記憶するために割り当てるブロック数が記憶される。
【００８３】
ここで、本実施形態においては、配信サーバ１１０からの割当要求に含まれるブロック数がブロック数フィールド１４１ｇに格納される。
【００８４】
タイムアウトフィールド１４１ｈには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ１５０にファイルオブジェクトを記憶するために割り当てた領域を確保するタイムアウト値が格納される。このようなタイムアウト値を管理することにより、一定時間以上にわたり当該領域に対する割り当て継続要求が配信サーバ１１０より到達しない場合（例えば、配信サーバ１１０がダウンした場合等）に、当該領域の強制解放が可能になる。
【００８５】
図７に戻り、ドメイン管理部１４２は、ドメインサーバ１４０での全体の処理を制御し、特に、本実施形態においては、パブリックストレージ管理情報記憶部１４１に記憶する情報を管理する。
【００８６】
ＩＦ部１４３は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【００８７】
ここで、ドメインサーバ１４０についても、図１４に示すようなコンピュータ１９０により実現可能である。
【００８８】
例えば、パブリックストレージ管理情報記憶部１４１は、外部記憶装置１９１により実現可能であり、ドメイン管理部１４２は、外部記憶装置１９１に記憶されている所定のプログラムをメモリ１９２にロードしてＣＰＵ１９３で実行することにより実現可能であり、ＩＦ部１４３は、通信装置１９６により実現可能である。
【００８９】
図７に戻り、パブリックストレージ１５０は、マップ管理情報記憶部１５１と、データ記憶部１５２と、データ管理部１５３と、ＩＦ部１５４と、を備えている。
【００９０】
マップ管理情報記憶部１５１には、データ記憶部１５２に記憶するファイルオブジェクト毎に、当該ファイルオブジェクトを識別するための識別情報と、当該ファイルオブジェクトの格納位置を示す情報と、が少なくとも記憶される。
【００９１】
例えば、本実施形態においては、マップ管理情報記憶部１５１には、図９（マップ管理テーブル１５１ａの概略図）に示すようなマップ管理テーブル１５１ａが記憶される。
【００９２】
図示するように、マップ管理テーブル１５１ａは、オブジェクトＩＤフィールド１５１ｂと、内部オブジェクトＩＤフィールド１５１ｃと、公開／非公開ビットフィールド１５１ｄと、サイズ情報フィールド１５１ｅと、マッピング情報フィールド１５１ｆと、空きブロックリストフィールド１５１ｇと、を有する。
【００９３】
オブジェクトＩＤフィールド１５１ｂには、当該エントリに対応するファイルオブジェクトを識別するための情報が格納される。
【００９４】
ここで、本実施形態においては、プライベートストレージ１２０から送信されてきたコンテンツデータに対応するファイルオブジェクトを識別するためのオブジェクトＩＤ２が記憶される。
【００９５】
内部オブジェクトＩＤフィールド１５１ｃには、当該エントリに対応するファイルオブジェクトを識別するための情報が格納される。
【００９６】
ここで、本実施形態においては、パブリックストレージ１５０のデータ記憶部１５２に記憶するファイルが新規に作成されるたびに、データ管理部１５３が新規に作成されたファイル毎にその識別情報（ＩＤ）を生成し、内部オブジェクトＩＤフィールド１５１ｃに格納するようにしている。
【００９７】
公開／非公開ビットフィールド１５１ｄには、当該エントリに対応するファイルオブジェクトを公開するか非公開とするかを特定する情報が格納される。
【００９８】
ここで、本フィールド１５１ｄにおいて非公開とされたファイルオブジェクトは、特定の配信サーバ１１０からのみの読み込み要求、書き込み要求、複製要求、転送要求を受け付けるようにされており、一方、本フィールド１５１ｄにおいて公開とされたファイルオブジェクトは、いかなる配信サーバ１１０及びルータ１６０からも読み込み要求、書き込み要求、転送要求を受け付けるようにされている。
【００９９】
サイズ情報フィールド１５１ｅには、当該エントリに対応するファイルオブジェクトのデータサイズを特定する情報が格納される。なお、本実施形態においては、ブロック数が格納されるようになっている。
【０１００】
マッピング情報フィールド１５１ｆには、当該エントリのファイルオブジェクトをデータ記憶部１５２に格納する位置を特定する情報が格納される。ここで、本実施形態においては、データ記憶部１５２のブロック番号が格納されるようになっている。
【０１０１】
なお、本実施形態においては、マッピング情報フィールド１５１ｆにブロック番号の他に、ＣＯＷ（Copy On Write）ビットも格納されており、後述するように、ファイルオブジェクトの仮想コピーも実現可能にされている。
【０１０２】
空きブロックリストフィールド１５１ｇには、パブリックストレージ１５０のデータ記憶部１５２において空いているブロックを特定する情報（リスト）が格納される。
【０１０３】
データ記憶部１５２には、ファイルオブジェクトが格納される。
【０１０４】
データ管理部１５３は、マップ管理情報記憶部１５１及びデータ記憶部１５２に記憶するデータを管理する処理を行う。
【０１０５】
ＩＦ部１５４は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【０１０６】
以上に記載したパブリックストレージ１５０についても、図１５に示すようなコンピュータ２９０により実現可能である。
【０１０７】
例えば、マップ管理情報記憶部１５１及びデータ記憶部１５２は、外部記憶装置２９１により実現可能であり、データ管理部１５３は、外部記憶装置２９１に記憶されている所定のプログラムをメモリ２９２にロードしてＣＰＵ２９３で実行することにより実現可能であり、ＩＦ部１５４は、通信装置２９４により実現可能である。
【０１０８】
図１０は、ルータ１６０の概略図である。
【０１０９】
図示するように、ルータ１６０は、シーケンス管理情報記憶部１６１と、再送バッファ記憶部１６２と、ルーティング処理部１６３と、データ変換部１６４と、第一のＩＦ部１６５と、第二のＩＦ部１６６と、を有する。
【０１１０】
シーケンス管理情報記憶部１６１には、配信サーバ１１０と、クライアント端末１７０と、の間で確立される接続毎に、データストリームのどこまでを送受信したかを特定するためのシーケンス情報が記憶される。
【０１１１】
例えば、本実施形態においては、図１１（シーケンス管理テーブル１６１ａの概略図）に示されれているようなシーケンス管理テーブル１６１ａが、配信サーバ１１０と、クライアント端末１７０と、の間で確立される接続毎に記憶される。
【０１１２】
図示するように、シーケンス管理テーブル１６１ａは、snd_maxフィールド１６１ｂと、snd_nxtフィールド１６１ｃと、snd_unaフィールド１６１ｄと、配信サーバＩＰアドレスフィールド１６１ｅと、クライアントＩＰアドレスフィールド１６１ｆと、配信サーバポート番号フィールド１６１ｇと、クライアントポート番号フィールド１６１ｈと、再送タイマフィールド１６１ｉと、を備えている。
【０１１３】
snd_maxフィールド１６１ｂには、現在の時点（特定の時点）において、ルータ１６０からクライアント端末１７０に送信したＴＣＰデータのシーケンス番号の最大値（シーケンス番号の初期値＋送信したＴＣＰデータのデータサイズ）が格納される。
【０１１４】
snd_nxtフィールド１６１ｃには、現在の時点（特定の時点）において、次にルータ１６０からクライアント端末１７０に送信すべきＴＣＰデータのシーケンス番号が格納される。
【０１１５】
snd_unaフィールド１６１ｄには、現在の時点（特定の時点）までに、クライアント端末１７０からルータ１６０に到達した送達確認に格納されたシーケンス番号の最大値（シーケンス番号の初期値＋送達確認があったＴＣＰデータのデータサイズ）が格納される。
【０１１６】
配信サーバＩＰアドレスフィールド１６１ｅには、接続されている配信サーバ１１０のＩＰアドレスが格納される。
【０１１７】
クライアントＩＰアドレスフィールド１６１ｆには、接続されているクライアント端末１７０のＩＰアドレスが格納される。
【０１１８】
配信サーバポート番号フィールド１６１ｇには、接続されている配信サーバ１１０のポート番号が格納される。
【０１１９】
クライアントポート番号フィールド１６１ｈには、接続されているクライアント端末１７０のポート番号が格納される。
【０１２０】
再送タイマフィールド１６１ｉには、ルータ１６０からクライアント端末１７０にＴＣＰデータの再送を実行する再送タイマのカウンター値が格納される。
【０１２１】
再送バッファ記憶部１６２には、配信サーバ１１０と、クライアント端末１７０と、の間で確立される接続毎に、データストリームにおいて送信するデータが記憶される。
【０１２２】
例えば、本実施形態においては、図１２（受信待ちデータリスト１６２ａ、Ｉ／Ｏ待ちデータリスト１６２ｂ及び送信待ちデータリスト１６２ｃの概略図）に示されれているような受信待ちデータリスト１６２ａ、Ｉ／Ｏ待ちデータリスト１６２ｂ及び送信待ちデータリスト１６２ｃが、配信サーバ１１０と、クライアント端末１７０と、の間で確立される接続毎に記憶される。
【０１２３】
受信待ちデータリスト１６２ａは、ルータ１６０が配信サーバ１１０から受信したデータコンテナをキューイングするためのデータ構造である。
【０１２４】
後述するように、配信サーバ１１０から送信されるデータコンテナにはシーケンス番号が振られる。しかし、データコンテナが配信サーバ１１０からルータ１６０に到達するまでの間にデータの一部又は全部の欠落が発生すると、配信サーバ１１０は欠落した部分のデータを再送する。この再送されるデータが到達するまでの間、欠落しなかったデータは受信待ちデータリスト１６２ａにキューイングされる。
【０１２５】
なお、受信待ちデータリスト１６２ａには、ルータ１６０が受信したデータコンテナの他に、当該データコンテナを配信サーバ１１０の送信処理部１１３から送信する際に付随して送信したシーケンス番号（ss-seqと表記）が格納される。
【０１２６】
Ｉ／Ｏ待ちデータリスト１６２ｂは、配信サーバ１１０から受信したデータコンテナに格納されているパブリックストレージ１５０のＩＰアドレス、オブジェクトＩＤ２、オフセット、サイズの情報に基づき、パブリックストレージ１５０からファイルオブジェクトを読み込んでいる間に、当該ファイルオブジェクトに対応するデータコンテナをキューイングするためのデータ構造である。
【０１２７】
このＩ／Ｏ待ちデータリスト１６２ｂにも、ルータ１６０が受信したデータコンテナの他に、当該データコンテナを配信サーバ１１０の送信処理部１１３から送信する際に付随して送信したシーケンス番号（ss-seqと表記）が格納される。
【０１２８】
送信待ちデータリスト１６２ｃは、パブリックストレージ１５０から読み込まれたファイルオブジェクト及びアプリケーションプロトコルヘッダの組（ＴＣＰデータ）をキューイングしておくためのデータ構造である。
【０１２９】
当該ＴＣＰデータは、ルータ１６０からクライアント端末１７０に到達するまでの間に欠落が発生すると、ルータ１６０から再送する必要がある。この再送に備え、クライアント端末１７０から当該ＴＣＰデータに対する送達確認が到達するまで、本リスト１６２ｃにＴＣＰデータをキューイングしておく。本リスト１６２ｃは、アプリケーションプロトコルヘッダとデータ（ファイルオブジェクト）の組の他に、データコンテナに格納されていた送信時刻情報及びシーケンス番号（ss-seqと表記）が格納される。さらに、ルータ１６０からクライアント端末１７０にＴＣＰデータを送信する際に使用したシーケンス番号（cs-seqと表記）も格納される。
【０１３０】
ルーティング処理部１６３は、後述する第一のＩＦ部１６５又は第二のＩＦ部１６６から受信したパケットを転送するいわゆるルーティング処理を制御する。
【０１３１】
データ変換部１６４は、配信サーバ１１０より受信したデータコンテナからアプリケーションヘッダを抽出して、パブリックストレージ１５０より受信したファイルオブジェクトに付加することでＴＣＰデータを生成して、第二のＩＦ部１６６を介してクライアント端末１７０へ送信する処理を制御する。
【０１３２】
ここで、ＴＣＰデータについては、少なくとも、アプリケーションヘッダの格納領域と、ファイルオブジェクトの格納領域と、を備えればよい。
【０１３３】
例えば、本実施形態においては、図１３（Ｂ）に示されるようなおけるＴＣＰデータ１８３を生成する。
【０１３４】
図示するように、ＴＣＰデータ１８３は、配信サーバＩＰアドレス格納領域１８３ａと、クライアントＩＰアドレス格納領域１８３ｂと、配信サーバポート番号格納領域１８３ｃと、シーケンス番号格納領域１８３ｅと、ＡＰプロトコル格納領域１８３ｆと、データ格納領域１８３ｇと、を備えている。なお、これらの各領域に格納する情報については後述する。
【０１３５】
また、データ変換部１６４は、配信サーバ１１０及びクライアント端末１７０間でのシーケンス番号の変換処理を制御する。
【０１３６】
第一のＩＦ部１６５及び第二のＩＦ部１６６は、ＩＰネットワーク１８０を介してデータを送受信するためのインターフェースである。
【０１３７】
ここで、ルータ１６０については、図１６に示すようなコンピュータ３９０により実現可能である。
【０１３８】
コンピュータ３９０は、ハードディスク等の外部記憶装置３９１と、メモリ３９２と、ＣＰＵ３９３と、ＮＩＣの通信装置３９４、３９５と、これらを接続するバス３９６と、を備えており、例えば、シーケンス管理情報記憶部１６１及び再送バッファ記憶部１６２は、外部記憶装置３９１により実現可能であり、ルーティング処理部１６３及びデータ変換部１６４は、外部記憶装置３９１に記憶されている所定のプログラムをメモリ３９２にロードしてＣＰＵ３９３で実行することにより実現可能であり、第一のＩＦ部１６５は、通信装置３９４により実現可能であり、第二のＩＦ部１６６は、通信装置３９５により実現可能である。
【０１３９】
クライアント端末１７０は、配信サーバ１１０に対して、接続要求及び配信要求を送信して、ＴＣＰデータを受信して、ＴＣＰデータを受信した際に、送達確認を返信する。なお、クライアント端末１７０については、従来から使用されているＩＰを介した通信を行うことのできるコンピュータを使用すればよいため、詳細な説明を省略する。
【０１４０】
以上のように構成される配信システム１００における全体的な処理を図１７に示すフローチャートを用いて説明する。
【０１４１】
なお、配信サーバ１１０からクライアント端末１７０に送信するコンテンツデータに対応するファイルオブジェクトについては、プライベートストレージ１２０のデータ記憶部１２２に既に記憶されており、そのファイルオブジェクトの識別情報はオブジェクトＩＤ１であるものとする。
【０１４２】
まず、配信サーバ１１０の送信処理部１１３は、ＩＦ部１１５を介して、ドメインサーバ１４０にストレージ領域の割り当て要求（及び、その後の一定時間間隔ごとの割り当て継続要求）を発行し、パブリックストレージ１５０のデータ記憶部１５２内に一定サイズの領域を確保する（Ｓ１０００）。そして、ドメインサーバ１４０は、パブリックストレージ管理情報記憶部１４１に記憶されているパブリックストレージ管理テーブル１４１ａに格納する情報を更新する。
【０１４３】
次に、配信サーバ１１０の送信処理部１１３は、ファイル管理部１１４を介して、プライベートストレージ１２０に対してパスで指定されたファイルオブジェクトの複製と、複製されたファイルオブジェクトのパブリックストレージ１５０への転送を要求する。ここで、ファイル管理部１１４は、名前管理テーブル１１１ａから当該パスに対応するオブジェクトＩＤ１を導出し、当該オブジェクトＩＤ１を指定してプライベートストレージ１２０に対して、複製及び転送指示を発行する。そして、当該オブジェクトＩＤ１に対応するファイルオブジェクトがプライベートストレージ１２０において複製されて、パブリックストレージ１５０に転送される（Ｓ１００１）。なお、パブリックストレージ１５０のデータ管理部１５３及びプライベートストレージ１２０のデータ管理部１２３は、それぞれのマップ管理テーブル１２１ａ、１５１ａの更新を行う。
【０１４４】
次に、クライアント端末１７０から、接続要求及び配信要求が発行され（Ｓ１００２）、ファイルオブジェクトの配信を要求する。
【０１４５】
このような配信要求を受信した配信サーバ１１０は、データコンテナの送信に先立ち、ＴＣＰのシーケンス番号情報をルータ１６０に送信する（Ｓ１００３）。ルータ１６０のデータ変換部１６４は、このシーケンス番号情報に基づき、シーケンス管理テーブル１６１ａを更新する。この更新により、以後、配信サーバ１１０及びルータ１６０間でのデータコンテナのreliableな送信の際に使用するシーケンス番号と、ルータ１６０及びクライアント端末１７０間でのＴＣＰデータのreliableな送信の際に使用するシーケンス番号と、の間の変換が可能になる。
【０１４６】
そして、配信サーバ１１０の送信処理部１１３は、ＩＦ部１１５を介して、ルータ１６０にデータコンテナを送信する（Ｓ１００４）。
【０１４７】
ルータ１６０のデータ変換部１６４は、受信したデータコンテナからアプリケーションプロトコルヘッダを取り出す。さらに、受信したデータコンテナにおいてＩＰアドレスが指定されているパブリックストレージ１５０から、当該データコンテナで指定されたオブジェクトＩＤ２に対応するファイルオブジェクトを読み出し、アプリケーションプロトコルヘッダと結合し、ＴＣＰデータを生成する（Ｓ１００５）。さらに、ルータ１６０のデータ変換部１６４は、シーケンス管理テーブル１６１ａを用いてシーケンス番号の変換も行う。
【０１４８】
このようにして生成されたＴＣＰデータは、ルータ１６０からクライアント端末１７０に配信される（Ｓ１００６）。
【０１４９】
そして、ＴＣＰデータを受信したクライアント端末１７０は送達確認を返送し、ルータ１６０のデータ変換部１６４は、送達確認に含まれるシーケンス番号の変換を行い、配信サーバ１１０に転送する（Ｓ１００７）。
【０１５０】
なお、ルータ１６０及びクライアント端末１７０間で、ＴＣＰデータの欠落が生じた場合には、ルータ１６０のデータ変換部１６４が、再送バッファ記憶部１６２に記憶されているＴＣＰデータを再送する。
【０１５１】
また、配信サーバ１１０から送信するデータコンテナに送信時刻情報を付与しておくことにより、ルータ１６０からクライアント端末１７０に配信するＴＣＰデータの配信タイミングも制御可能になる。
【０１５２】
図１８は、配信サーバ１１０とドメインサーバ１４０との間の、ストレージ割り当て要求、および、その応答の送受信処理を示すフローチャートである。
【０１５３】
まず、配信サーバ１１０の送信処理部１１３は、ファイル管理部１１４に対して、ファイルパスを指定して、ブロック数の取得要求を発行する（Ｓ１１００）。
【０１５４】
次に、配信サーバ１１０のファイル管理部１１４は、受信したファイルパスをパス要素に分割し、名前管理情報記憶部１１１に記憶されている名前管理テーブル１１１ａをルートディレクトリ１１１ｂからたどり、指定されたファイルパスに対応するファイルオブジェクトのオブジェクトＩＤ１を取得する（Ｓ１１０１）。
【０１５５】
次に、配信サーバ１１０のファイル管理部１１４から、プライベートストレージ１２０に対して、オブジェクトＩＤ１を指定し、ブロック数の取得要求を発行する（Ｓ１１０２）。
【０１５６】
次に、プライベートストレージ１２０のデータ管理部１２３は、マップ管理情報記憶部１２１に記憶されているマップ管理テーブル１２１ａを検索し、ステップＳ１１０２で指定されたオブジェクトＩＤ１がオブジェクトＩＤフィールド１２１ｂに格納されているエントリを特定し、対応するサイズ情報フィールド１２１ｅの値をブロック数として送信処理部１１３に返信する（Ｓ１１０３）。
【０１５７】
次に、配信サーバ１１０の送信処理部１１３からドメインサーバ１４０にストレージ領域の割り当て要求を発行する（Ｓ１１０４）。ストレージ領域の割当要求では、配信サーバ１１０に対応するプライベートストレージ１２０のＩＰアドレスと、ステップＳ１１０１で取得したオブジェクトＩＤ１と、ステップＳ１１０２で取得したブロック数と、を特定する。
【０１５８】
次に、ドメインサーバ１４０のドメイン管理部１４２は、パブリックストレージ管理テーブル１４１ａを検索し、空き容量フィールド１４１ｄに最大の値が格納されているエントリを特定し、当該エントリに対応するパブリックストレージ１５０に領域を確保する（Ｓ１１０５）。そして、当該エントリに、ストレージ領域割り当て要求に含まれているプライベートストレージ１２０のＩＰアドレス、オブジェクトＩＤ１、および、ブロック数、を特定する情報を、それぞれプライベートストレージＩＤアドレスフィールド１４１ｅ、オブジェクトＩＤフィールド１４１ｆ、ブロック数フィールド１４１ｇに格納する。また、空き容量フィールド１４１ｄの値を確保したブロック数分だけ減算する。
【０１５９】
次に、ドメイン管理部１４２は、ＩＦ部１４３を介して、領域を確保したパブリックストレージ１５０のＩＰアドレスを配信サーバ１１０に返信する（Ｓ１１０６）。
【０１６０】
なお、配信サーバ１１０の送信処理部１１３は、一定時間間隔で駆動し、ＩＦ部１１５を介して、ドメインサーバ１４０にストレージ領域割り当て継続要求を発行する。この継続要求に格納される情報は、ステップＳ１１０４で送信されるストレージ領域割り当て要求と同様にすればよい。
【０１６１】
そして、このようなストレージ領域割り当て継続要求を受信したドメインサーバ１４０は、パブリックストレージ管理テーブル１４１ａのタイムアウトフィールド１４１ｈに格納されている対応するタイムアウト値を「０」にクリアする。
【０１６２】
一方、ドメインサーバ１４０のドメイン管理部１４２は、一定時間間隔で駆動し、パブリックストレージ管理テーブル１４１ａのタイムアウトフィールド１４１ｈに格納されている全てのタイムアウト値のインクリメントを実行し、このタイムアウト値が一定値以上となったストレージ領域の割り当てについて強制解除を行う。具体的には、対応するフィールド１４１ｅ〜１４１ｈを解放するとともに、空き容量フィールド１４１ｄを、登録されていたブロック数分だけ増やす。
【０１６３】
図１９は、配信サーバ１１０とプライベートストレージ１２０との間のファイルオブジェクトの複製要求、および、その応答の送受信処理を示すフローチャートである。
【０１６４】
配信サーバ１１０の送信処理部１１３は、ファイルパスを指定し、ファイルオブジェクトの複製要求をファイル管理部１１４に対して発行する（Ｓ１２００）。
【０１６５】
次に、配信サーバ１１０のファイル管理部１１４は、受信したファイルパスをパス要素に分割し、名前管理テーブル１１１ａをルートディレクトリ１１１ｂからたどり、指定されたファイルパスに対応するファイルオブジェクトのオブジェクトＩＤ１を取得する（Ｓ１２０１）。
【０１６６】
次に、配信サーバ１１０のファイル管理部１１４は、ＩＦ部１１５を介して、プライベートストレージ１２０に対してファイルオブジェクトの複製要求を発行する（Ｓ１２０２）。
【０１６７】
ここで、ステップＳ１２０２で発行するファイルオブジェクトの複製要求には、ステップＳ１２０１で取得したオブジェクトＩＤ１と、複製先のファイルオブジェクトを公開するか非公開とするかを特定する複製先ファイルオブジェクトの公開／非公開ビットと、仮想コピーを行うか物理コピーを行うかを特定するＣＯＷビットと、が含まれるものとする。なお、複製先ファイルオブジェクトの公開／非公開ビット及びＣＯＷビットは、例えば、通常はいずれか一方が選択されるようにしておき、他方にする場合には、配信サーバ１１０のオペレータが入力装置を介して個別に指示するようにすればよい。
【０１６８】
次に、プライベートストレージ１２０のデータ管理部１２３は、マップ管理情報記憶部１２１に記憶されているマップ管理テーブル１２１ａの内部オブジェクトＩＤフィールド１２１ｃにおいて使用されていない内部オブジェクトＩＤを確保して、マップ管理テーブル１２１ａに新規エントリを作成し、その内部オブジェクトＩＤフィールド１２１ｃに格納する（Ｓ１２０３）。
【０１６９】
次に、プライベートストレージ１２０のデータ管理部１２３は、ステップＳ１２０２で受信したファイルオブジェクトの複製要求に含まれるＣＯＷビットを検査して（Ｓ１２０４）、ビットが立っていればステップＳ１２０５に、ビットが立っていなければステップＳ１２０６にジャンプする。
【０１７０】
ここで、ステップＳ１２０５では、プライベートストレージ１２０のデータ管理部１２３は、マップ管理テーブル１２１ａの複製元ファイルオブジェクトのオブジェクトＩＤ１に対応するマッピング情報フィールド１２１ｆに格納されている情報を、ステップＳ１２０３で確保したエントリにコピーし、複製元及び複製先の両者のマッピング情報フィールド１２１ｆにＣＯＷビットをすべてセットする。そして、ステップＳ１２０９にジャンプする。
【０１７１】
ステップＳ１２０６では、プライベートストレージ１２０のデータ管理部１２３は、マップ管理テーブル１２１ａの空きブロックリストフィールド１２１ｇから、マップ管理テーブル１２１ａの複製元ファイルオブジェクトに対応するエントリのサイズ情報フィールド１２１ｅに格納されているブロック数に対応する空きブロックを確保する。
【０１７２】
次に、プライベートストレージ１２０のデータ管理部１２３は、マップ管理テーブル１２１ａの複製先のエントリのマッピング情報フィールド１２１ｆに、ステップＳ１２０５で確保した空きブロックのブロック番号を登録する（Ｓ１２０７）。
【０１７３】
次に、プライベートストレージ１２０のデータ管理部１２３は、マップ管理テーブル１２１ａの複製元ファイルオブジェクトに対応するエントリのマッピング情報フィールド１２１ｆで特定されているブロックから、マップ管理テーブル１２１ａの複製先ファイルオブジェクトに対応するエントリのマッピング情報フィールド１２１ｆに格納されているブロック番号で特定されているブロックに、ブロック内容の物理コピーを実行する（Ｓ１２０８）。
【０１７４】
次に、プライベートストレージ１２０のデータ管理部１２３は、マップ管理テーブル１２１ａの複製先ファイルオブジェクトに対応するエントリの公開／非公開ビットフィールド１２１ｄに格納されている公開ビットを、ステップＳ１２０２で受信したファイルオブジェクト複製要求に含まれる公開ビットに基づき設定する（Ｓ１２０９）。また、マップ管理テーブル１２１ａの複製先ファイルオブジェクトに対応するエントリのサイズ情報も、複製元ファイルオブジェクトに対応するエントリに格納されているサイズ情報と同じ値に設定する。
【０１７５】
次に、プライベートストレージ１２０のデータ管理部１２３は、自ストレージのＩＰアドレスとステップＳ１２０３で確保した内部オブジェクトＩＤとを組み合わせてオブジェクトＩＤ２を生成し、マップ管理テーブル１２１ａの複製先ファイルオブジェクトに対応するエントリのオブジェクトＩＤフィールド１２１ｂに格納する（Ｓ１２１０）。
【０１７６】
次に、プライベートストレージ１２０のデータ管理部１２３は、Ｓ１２１０で生成したオブジェクトＩＤ２をオブジェクトＩＤ１とともに配信サーバ１１０に返信する（Ｓ１２１１）。
【０１７７】
なお、このようなオブジェクトＩＤ２を受信した配信サーバ１１０のファイル管理部１１４は、ＩＤ管理情報記憶部１１２に記憶されているＩＤ管理テーブル１１２ａに新たなエントリを生成して、オブジェクトＩＤ１に対応するファイルオブジェクトのパス名と、オブジェクトＩＤ２と、をそれぞれパス名フィールド１１２ｂ、オブジェクトＩＤフィールド１１２ｃに格納し、さらに、図１８のステップＳ１１０６で返信されたパブリックストレージ１５０のＩＰアドレスをパブリックストレージＩＰアドレスフィールド１１２ｄに格納する。
【０１７８】
図１９のフローチャートで、ファイルオブジェクトの複製要求でＣＯＷビットがセットされている場合には、ブロックの物理コピーを実施せず、複製元もしくは複製先のファイルオブジェクトに対する書き込み要求が後に到達した際に、書き込み対象以外のファイルオブジェクトの内容が更新されないように、例えば、図２０に示す遅延コピーのフローチャートを実行する。
【０１７９】
まず、配信サーバ１１０の送信処理部１１３は、ファイル管理部１１４に対して、ファイルパス、オフセット、サイズ、書き込みデータを指定して書き込み要求を発行する（Ｓ１３００）。
【０１８０】
次に、配信サーバ１１０のファイル管理部１１４は、受信したファイルパスをパス要素に分割し、名前管理情報記憶部１１１に記憶されている名前管理テーブル１１１ａをルートディレクトリ１１１ｂからたどり、指定されたファイルパスに対応するオブジェクトＩＤ１を取得する（Ｓ１３０１）。
【０１８１】
次に、配信サーバ１１０のファイル管理部１１４は、プライベートストレージ１２０に対して書き込み要求を発行する（Ｓ１３０２）。この際、書き込み要求には、ステップＳ１３０１で取得したオブジェクトＩＤ１と、ステップＳ１３００で指定されたオフセット、サイズ、書き込みデータを含める。
【０１８２】
次に、プライベートストレージ１２０のデータ管理部１２３は、マップ管理情報記憶部１２１を検索して、ステップＳ１３０２で指定されたオブジェクトＩＤ１をオブジェクトＩＤフィールド１２１ｂに持つエントリを特定し、特定したエントリのマッピング情報フィールド１２１ｆにおいてステップＳ１３０２で指定されたオフセット、サイズに対応するブロック番号とＣＯＷビットを取得する（Ｓ１３０３）。
【０１８３】
次に、プライベートストレージ１２０のデータ管理部１２３は、ステップＳ１３０３で取得したＣＯＷビットを検査し（Ｓ１３０４）、セットされていればステップＳ１３０５に、クリアされていればステップＳ１３０８にジャンプする。
【０１８４】
ステップＳ１３０５では、プライベートストレージ１２０のデータ管理部１２３は、マップ管理テーブル１２１ａの空きブロックリストフィールド１２１ｇから、空きブロックを一つ確保する。
【０１８５】
次に、プライベートストレージ１２０のデータ管理部１２３は、ステップＳ１３０３で取得したブロック番号に対応するブロックから、ステップＳ１３０５で確保した空きブロックに、ブロック内容の物理コピーを実行する（Ｓ１３０６）。
【０１８６】
次に、プライベートストレージ１２０のデータ管理部１２３は、ステップＳ１３０３で取得したマッピング情報フィールド１２１ｆに格納されているブロック番号を、ステップＳ１３０５で取得した空きブロックのブロック番号に更新し、さらに、対応するＣＯＷビットをクリアする（Ｓ１３０７）。
【０１８７】
次に、プライベートストレージ１２０のデータ管理部１２３は、ステップＳ１３０２で指定されたオフセット、サイズ、書き込みデータに従い、ブロックの内容の更新を実行する（Ｓ１３０８）。
【０１８８】
図２１は、配信サーバ１１０とプライベートストレージ１２０との間での、ファイルオブジェクトの転送要求、および、その応答の送受信処理を示すフローチャートである。
【０１８９】
まず、配信サーバ１１０の送信処理部１１３は、ファイル管理部１１４に対してファイルパス名を指定してプライベートストレージ１２０へのファイル転送要求を発行する（Ｓ１４００）。この際、転送先であるパブリックストレージ１５０のＩＰアドレスには、図１８のステップＳ１１０６で取得したＩＰアドレスを指定する。
【０１９０】
次に、配信サーバ１１０のファイル管理部１１４は、受信したファイルパス名に対応するオブジェクトＩＤ２をＩＤ管理情報記憶部１１２に記憶されているＩＤ管理テーブル１１２ａから取得する（Ｓ１４０１）。
【０１９１】
次に、配信サーバ１１０のファイル管理部１１４は、ＩＦ部１１５を介して、プライベートストレージ１２０に対してファイルオブジェクトの転送要求を発行する（Ｓ１４０２）。ここで、ファイルオブジェクトの転送要求には、ステップＳ１４０１で取得したオブジェクトＩＤ２と、ステップＳ１４００で指定されたパブリックストレージ１５０のＩＰアドレスと、が含まれるものとする。
【０１９２】
次に、プライベートストレージ１２０のデータ管理部１２３は、ＩＦ部１２４を介して、マップ管理情報記憶部１２１に記憶されているマップ管理テーブル１２１ａを検索し、ステップＳ１４０２で指定されたオブジェクトＩＤ２がオブジェクトＩＤフィールド１２１ｂに格納されているエントリを特定し、当該エントリのマッピング情報フィールド１２１ｆからブロック番号を抽出、当該ブロック番号に対応するブロックの内容を、ステップＳ１４０２で指定されたオブジェクトＩＤ２と共にステップＳ１４０２で指定されたパブリックストレージ１５０のＩＰアドレスに転送する（Ｓ１４０３）。
【０１９３】
次に、パブリックストレージ１５０のデータ管理部１５３は、マップ管理情報記憶部１５１に記憶されているマップ管理テーブル１５１ａを検索し、使用されていない内部オブジェクトＩＤを確保し、当該マップ管理テーブル１５１ａに新たなエントリを確保して、当該エントリの内部オブジェクトＩＤフィールド１５１ｃに格納する。また、データ管理部１５３は、プライベートストレージ１２０から受信したファイルオブジェクトのオブジェクトＩＤ２を当該エントリのオブジェクトＩＤフィールド１５１ｂに格納する（Ｓ１４０４）。さらに当該エントリの公開ビットをセットする。
【０１９４】
次に、パブリックストレージ１５０のデータ管理部１５３は、マップ管理テーブル１５１ａの空きブロックリストフィールド１５１ｇから空きブロックを確保し、確保した空きブロックのブロック番号を、ステップＳ１４０４で確保したエントリのマッピング情報フィールド１５１ｆに登録する（Ｓ１４０５）。
【０１９５】
次に、パブリックストレージ１５０のデータ管理部１５３は、ステップＳ１４０３で送信されてきたデータを、ステップＳ１４０５で確保したブロックに書き込む（Ｓ１４０６）。
【０１９６】
次に、パブリックストレージ１５０のデータ管理部１５３は、ステップＳ１４０４で確保したエントリのサイズ情報フィールド１５１ｅに格納されているブロック数をインクリメントする（Ｓ１４０７）。
【０１９７】
次に、パブリックストレージ１５０のデータ管理部１５３は、ステップＳ１４０３で送信されてきたデータすべてが、ステップＳ１４０６にてブロックに書き込まれたか検査して（Ｓ１４０８）、書き込まれていれば処理を終了、書き込まれていなければステップＳ１４０５から処理を繰り返す。
【０１９８】
図２２は、クライアント端末１７０と配信サーバ１１０との間での、接続要求とその応答、配信要求とその応答の送受信処理、および、配信サーバ１１０とルータ１６０との間での、ＴＣＰシーケンス状態情報の送受信処理を示すフローチャートである。
【０１９９】
まず、クライアント端末１７０は、配信サーバ１１０に対して、配信サーバのＩＰアドレス、配信サーバ１１０のポート番号、クライアント端末１７０のＩＰアドレス、および、クライアント端末１７０のポート番号、を含む接続要求を送信する（Ｓ１５００）。このような接続要求を受信した配信サーバ１１０では、送信処理部１１３が、ＩＦ部１１５を介して、クライアント端末１７０に実行結果を含む応答を送信する。例えば、背ｓんさー場１１０は、クライアント端末１７０からの接続要求に含まれる配信サーバ１１０のポート番号が予め定められたものである場合には、接続の成功応答をクライアント端末１７０に送信する。
【０２００】
次に、クライアント端末１７０は、配信サーバ１１０との接続に成功すると、配信サーバ１１０に対して、配信サーバ１１０のＩＰアドレス、配信サーバ１１０のポート番号、クライアント端末１７０のＩＰアドレス、クライアント端末１７０のポート番号、および、ファイルオブジェクトのファイルパス名を含む配信要求を送信する（Ｓ１５０１）。このような配信要求を受信した配信サーバ１１０の送信処理部１１３は、ＩＦ部１１５を介して、クライアント端末１７０に実行結果を含む応答を送信する。
【０２０１】
次に、配信サーバ１１０の送信処理部１１３は、配信要求の受理に成功すると、配信サーバ１１０のＩＰアドレス、配信サーバ１１０のポート番号、クライアント端末１７０のＩＰアドレス、クライアント端末１７０のポート番号、および、初期シーケンス番号、を含むＴＣＰシーケンス状態情報をルータ１６０に送信する（Ｓ１５０２）。ここで、初期シーケンス番号は、配信サーバ１１０の送信処理部１１３が、当該配信要求に対して、最初のデータコンテナを送信する際に使用するシーケンス番号である。
【０２０２】
次に、ルータ１６０のデータ変換部１６４は、受信したＴＣＰシーケンス状態情報をもとに、シーケンス管理情報記憶部１６１に記憶されているシーケンス管理テーブル１６１ａを初期化して、受信したＴＣＰシーケンス状態情報に含まれている配信サーバ１１０のＩＰアドレス、クライアント端末１７０のＩＰアドレス、配信サーバ１１０のポート番号、および、クライアント端末１７０のポート番号、をそれぞれ配信サーバＩＰアドレスフィールド１６１ｅ、クライアントＩＰアドレスフィールド１６１ｆ、配信サーバポート番号フィールド１６１ｇ、クライアントポート番号フィールド１６１ｈに格納し、受信したＴＣＰシーケンス状態情報に含まれている初期シーケンス番号をsnd_maxフィールド１６１ｂ、snd_nxtフィールド１６１ｃ、および、snd_unaフィールド１６１ｄ、に格納し、再送タイマフィールド１６１ｉには、初期値である「０」を格納する（Ｓ１５０３）。
【０２０３】
図２３は、配信サーバ１１０とルータ１６０との間でのデータコンテナの送受信処理、および、ルータ１６０とクライアント端末１７０との間でのＴＣＰデータの送受信処理を示すフローチャートである。
【０２０４】
まず、配信サーバ１１０の送信処理部１１３は、ルータ１６０にデータコンテナを送信する（Ｓ１６００）。
【０２０５】
ここで、図１３（Ａ）に示されているデータコンテナ１８２においては、配信サーバＩＰアドレス格納領域１８２ａには配信サーバ１１０のＩＰアドレス、、クライアントＩＰアドレス格納領域１８２ｂにはクライアント端末１７０のＩＰアドレス、配信サーバポート番号格納領域１８２ｃには配信サーバ１１０のポート番号、クライアントポート番号格納領域１８２ｄにはクライアント端末１７０のポート番号、が格納され、これらは図２２のステップＳ１５００で送信された接続要求に格納されていた情報が格納される。
【０２０６】
また、シーケンス番号格納領域１８２ｅには、図２２のステップ１５０２で送信したＴＣＰシーケンス状態情報に格納された初期シーケンス番号から、今まで送信したデータコンテナの累積サイズを加算した値が格納される。
【０２０７】
また、ＡＰプロトコルヘッダ格納領域１８２ｆには、送信処理部１１３におけるアプリケーションプロトコルスタックの処理により生成されたアプリケーションプロトコルヘッダに対応する値が格納される。なお、アプリケーションヘッダについては、ＩＤ管理情報テーブル１１２ａのＡＰヘッダフィールド１１２ｅに格納されている。
【０２０８】
また、データ結合実行ドメイン格納領域１８２ｇには、図１８のステップＳ１１０４においてストレージ領域割り当て要求を送信したドメインサーバ１４０の属するドメイン名が格納される。
【０２０９】
また、ストレージＩＰアドレス格納領域１８２ｈには、図１８のステップＳ１１０６で取得したパブリックストレージのＩＰアドレスが格納される。
【０２１０】
また、ファイルオブジェクトＩＤ格納領域１８２ｉには、図１９のステップＳ１２１１で取得したオブジェクトＩＤ２が格納される。
【０２１１】
また、オフセット格納領域１８２ｊ、サイズ格納領域１８２ｋ、および、送信時刻格納領域１８２ｌには、送信処理部１１３が送信するデータや送信タイミングに従い所定の値が格納される。
【０２１２】
次に、ルータ１６０のデータ変換部１６４は、受信したデータコンテナに格納されているデータ結合実行ドメインが、自ルータの担当するドメインと同一であるか否かの検査を行う（Ｓ１６０１）。
【０２１３】
そして、ステップＳ１６０１において、自ルータが担当するドメインでないと判別された場合には、ステップＳ１６００で送信されたデータコンテナをクライアント端末１７０側に転送し（Ｓ１６０３）、処理を終了する。
【０２１４】
一方、ステップＳ１６０１において、自ルータが担当するドメインであると判別された場合には、ステップＳ１６０４に進む。
【０２１５】
そして、ステップＳ１６０４では、ルータ１６０のデータ変換部１６４は、受信したデータコンテナに格納されている配信サーバ１１０のＩＰアドレス、クライアント端末１７０のＩＰアドレス、配信サーバ１１０のポート番号、クライアント端末１７０のポート番号をもとに、対応するＴＣＰシーケンス管理テーブル１６１ａを検索し、受信したデータコンテナを、再送バッファ記憶部１６２の受信待ちデータリスト１６２ａにキューイングする。その際、ss_seqの値を、データコンテナに格納されているシーケンス番号に設定する。
【０２１６】
次に、ルータ１６０のデータ変換部１６４は、受信待ちデータリスト１６２ａにおいて、ss_seqの値とデータコンテナのサイズをもとに重複を削除し、シーケンス番号が揃ったデータコンテナを受信待ちデータリスト１６２ａからＩ／Ｏ待ちデータリスト１６２ｂに移動させる（Ｓ１６０５）。
【０２１７】
次に、ルータ１６０のデータ変換部１６４は、ステップＳ１６０５において、Ｉ／Ｏ待ちデータリスト１６２ｂにエンキューされたデータコンテナにおいて特定されているパブリックストレージ１５０のＩＰアドレス、オブジェクトＩＤ２、オフセット、および、サイズに従い、指定されたファイルオブジェクトの読み込み要求を対応するパブリックストレージ１５０に対して発行する（Ｓ１６０６）。
【０２１８】
次に、パブリックストレージ１５０のデータ管理部１５３は、マップ管理情報記憶部１５１に記憶されているマップ管理テーブル１５１ａを検索し、ステップＳ１６０６で送信されてきた読み込み要求で特定されているオブジェクトＩＤ２がオブジェクトＩＤフィールド１５１ｂに格納されているエントリを特定し、当該エントリの公開／非公開ビットフィールド１５１ｄにおいて公開ビットが設定されているか否かを検査し（Ｓ１６０７）、公開ビットが設定されていなければ（Ｓ１６０８）、読み込みを失敗させて、ルータ１６０にエラー応答を行う（Ｓ１６０９）。
【０２１９】
ステップＳ１６０８において、公開ビットが設定されている場合には、パブリックストレージ１５０のデータ管理部１５３は、ステップＳ１６０７で特定されたエントリのマッピング情報フィールド１６１ｆに登録されているブロック番号を、ステップＳ１６０６で送信された読み込み要求に含まれているたオフセット及びサイズをもとに決定する。そして、当該ブロック番号からブロックのデータを読み込み、ルータ１６０に送信する（Ｓ１６１０）。
【０２２０】
次に、ルータ１６０のデータ変換部１６４は、Ｉ／Ｏ待ちデータリスト１６２ｂから、ステップＳ１６０５でエンキューしたデータコンテナをデキューする。そして、データ変換部１６４は、当該データコンテナに格納されている配信サーバのＩＰアドレス、クライアント端末１７０のＩＰアドレス、配信サーバ１１０のポート番号、クライアント端末１７０のポート番号、および、アプリケーションプロトコルヘッダ、を図１３（Ｂ）に示されているＴＣＰデータ１８３の配信サーバＩＰアドレス格納領域１８３ａ、クライアントＩＰアドレス格納領域１８３ｂ、配信サーバポート番号格納領域１８３ｃ、クライアントポート番号格納領域１８３ｄ、アプリケーションプロトコルヘッダ格納領域１８３ｆに格納し、また、ステップＳ１６０９で送信されてきたデータを、ＴＣＰデータ１８３のデータ格納領域１８３ｇに格納して、ＴＣＰデータ１８３を生成し、送信待ちリスト１６２ｃにエンキューする。この際、送信時刻を受信したデータコンテナから読み出し設定し、また、cs_seqの値も、直前に送信待ちリスト１６２ｃにエンキューされたＴＣＰデータのcs_seqとＴＣＰデータサイズをもとに設定する（Ｓ１６１１）。
【０２２１】
次に、ルータ１６０のデータ変換部１６４は、送信待ちデータリスト１６２ｃにエンキューされているＴＣＰデータが送信可能か否かを判別し、送信可能なＴＣＰデータを第二のＩＦ部１６６を介して、クライアント端末１７０に送信する（Ｓ１６１２）。
【０２２２】
ここで、送信可能か否かは、ＴＣＰデータに格納されている配信サーバ１１０のＩＰアドレス、クライアント端末１７０のＩＰアドレス、配信サーバ１１０のポート番号、および、クライアント端末１７０のポート番号に対応するシーケンス管理テーブル１６１ａを検索後に、（１）ss_seq ≧ snd_nxt、（２）ss_seq  snd_unaがデフォルトのウィンドウサイズより小さい、（３）送信時刻＞現在時刻、の３条件すべてが充足されているか否を判別することで実現する。送信可能なＴＣＰデータのシーケンス番号には、cs_seqに格納されている値を指定する。他フィールドは、送信待ちデータリスト１６２ｃにエンキューされていた値を指定する。
【０２２３】
そして、ルータ１６０のデータ変換部１６４は、シーケンス管理テーブル１６１ａのsnd_nxtフィールド１６１ｃの値を送信したＴＣＰデータのサイズ分だけインクリメントし、この結果、snd_nxtフィールド１６１ｃに格納されている値がsnd_maxフィールド１６１ｂに格納されている値を超えた場合には、snd_maxフィールド１６１ｂに格納されている値をsnd_nxtフィールド１６１ｃに格納されている値に更新する（Ｓ１６１３）。
【０２２４】
図２４は、クライアント端末１７０とルータ１６０との間、および、ルータ１６０と配信サーバ１１０との間での送達確認の送受信処理を示すフローチャートである。
【０２２５】
まず、クライアント端末１７０は、ＴＣＰデータを受信した場合、ルータ１６０に送達確認を送信し、ルータ１６０のデータ変換部１６４は、第二のＩＦ部１６６を介して、当該送達確認を受信する（Ｓ１７００）。ここで、送達確認には、配信サーバ１１０のＩＰアドレス、クライアント端末１７０のＩＰアドレス、配信サーバ１１０のポート番号、クライアント端末１７０のポート番号、が含まれており、これらは、図２３のステップＳ１６１１で送信されたＴＣＰデータに格納されていた値を使用する。また、送達確認には、シーケンス番号も含まれており、これは受信したＴＣＰデータに格納されているシーケンス番号に、受信したＴＣＰデータのサイズを加算した値を格納する。
【０２２６】
次に、ルータ１６０のデータ変換部１６４は、受信した送達確認に格納されている配信サーバ１１０のＩＰアドレス、クライアント端末１７０のＩＰアドレス、配信サーバ１１０のポート番号、クライアント端末１７０のポート番号、に対応するシーケンス管理テーブルをシーケンス管理情報記憶部１６１から検索し、また、これらに対応する送信待ちデータリスト１６２ｃを検索し、受信した送達確認に格納されているシーケンス番号に対応するcs_seqの値を持つＴＣＰデータを検索する（Ｓ１７０１）。
【０２２７】
次に、ルータ１６０のデータ変換部１６４は、ステップＳ１７０１で検索されたＴＣＰデータのss_seqの値を受信した送達確認のシーケンス番号を格納する領域に格納し、当該送達確認を第一のＩＦ部１６５を介して配信サーバ１１０に送信する（Ｓ１７０２）。
【０２２８】
次に、ルータ１６０のデータ変換部１６４は、ステップＳ１７０１で検索されたＴＣＰデータより前に送信待ちデータリスト１６２ｃにエンキューされているＴＣＰデータをデキューする（Ｓ１７０３）。
【０２２９】
次に、ルータ１６０のデータ変換部１６４は、シーケンス管理テーブル１６１ａにおいて、snd_unaフィールド１６１ｄに格納されている値が、ステップＳ１７００で受信した送達確認に格納されているシーケンス番号より小さければ、snd_unaフィールド１６１ｄに格納されている値を当該シーケンス番号に更新する（Ｓ１７０４）。
【０２３０】
次に、ルータ１６０のデータ変換部１６４は、図２３のステップＳ１６１１と同様のアルゴリズムを用いて、送信待ちデータリスト１６２ｃにキューイングされているＴＣＰデータをクライアント端末１７０に第二のＩＦ部１６６を介して送信する（Ｓ１７０５）。
【０２３１】
次に、ルータ１６０のデータ変換部１６４は、図２３のステップＳ１６１２と同様のアルゴリズムを用いて、snd_nxtフィールド１６１ｃ、snd_maxフィールド１６１ｂに格納されている値を更新し、さらに、ステップＳ１７０５でsnd_unaフィールド１６１ｄが更新された場合、ステップＳ１７０１で検索したシーケンス管理テーブル１６１ａの再送タイマフィールド１６１ｉに格納されている値を「０」にクリアする（Ｓ１７０６）。
【０２３２】
ここで、図２３のフローにて、ルータ１６０からクライアント端末１７０に送信されたＴＣＰデータが途中で欠落し、図２４のフローに従った送達確認がルータ１６０に到達しない場合がある。この場合には、この欠落をルータ１６０において検知し、再送を行う必要がある。このような再送を行うために、ルータ１６０は、図２５に示す再送処理のフローチャートを一定時間間隔で実行する。
【０２３３】
ルータ１６０のデータ変換部１６４は、一定時間ごとに起動して、データ変換部１６４が管理しているすべてのシーケンス状態管理テーブル１６１ａに関して、ステップＳ１８０１〜Ｓ１８０５の処理を実行する（Ｓ１８００）。
【０２３４】
まず、ルータ１６０のデータ変換部１６４は、まだ処理をしていない任意の一のシーケンス状態管理テーブル１６１ａの再送タイマフィールド１６１ｉに格納されている値を、当該テーブルのsnd_maxフィールド１６１ｂに格納されている値がsnd_unaフィールド１６１ｄに格納されている値よりも大きければインクリメントする（Ｓ１８０１）。
【０２３５】
次に、ルータ１６０のデータ変換部１６４は、再送タイマフィールド１６１ｉに格納されている値が一定値を超えているか否かを判別し（Ｓ１８０２）、超えていなければ処理を終了し、次のテーブルのチェックを行う。
【０２３６】
一方、越えていれば、ルータ１６０のデータ変換部１６４は、snd_nxtフィールド１６１ｃに格納されている値をsnd_unaフィールド１６１ｄに格納されている値に更新する（Ｓ１８０３）。
【０２３７】
次に、ルータ１６０のデータ変換部１６４は、図２３のステップＳ１６１１と同様のアルゴリズムを用いて、送信待ちデータリスト１６２ｃにキューイングされているＴＣＰデータをクライアント端末１７０に第二のＩＦ部１６６を介して送信する（Ｓ１８０４）。
【０２３８】
次に、ルータ１６０のデータ変換部１６４は、図２３のステップＳ１６１２と同様のアルゴリズムを用いて、snd_nxtフィールド１６１ｃ、snd_maxフィールド１６１ｂに格納されている値を更新する（Ｓ１８０５）。
【０２３９】
以上のように、本実施形態によれば、アプリケーションプロトコルに応じたアプリケーションヘッダは配信サーバ１１０で生成し、パブリックストレージ１５０に蓄積されているファイルオブジェクトを取得して、ルータ１６０においてＴＣＰデータを生成することができるため、ルータ１６０により配信サーバ１１０の負荷を軽減することができ、且つ、ルータ１６０は、配信サーバ１１０が使用しているアプリケーションに対応するアプリケーションプロトコルスタックを実装している必要がない。
【０２４０】
以上に記載した実施形態においては、クライアント端末１７０に配信するコンテンツデータに対応するファイルオブジェクトを、プライベートストレージ１２０からパブリックストレージ１５０にストレージネットワーク１８１を用いて転送するようにしているが、このような態様に限定されず、例えば、図２６（配信システム２００の概略図）に示されているような配信システム２００として構成することも可能である。
【０２４１】
図示するように、配信システム２００は、配信サーバ２１０と、パブリックストレージ２５０と、ルータ１６０と、クライアント端末１７０と、により構成されており、これらはＩＰネットワークを介して相互に情報の送受信を行うことができるようにされている。
【０２４２】
このような配信システム２００において、配信サーバ２１０の外部記憶装置に記憶されているファイルオブジェクトを、ＩＰネットワーク１８０を介して、パブリックストレージ２５０に送信して蓄積するようにしておくことにより、上述の配信システム１００と同様の効果を発揮することができるようになる。
【０２４３】
また、以上に記載した実施形態においては、クライアント端末１７０からファイルオブジェクトのパス名を特定した配信要求を配信サーバ１１０に送信するようにしているが、このような態様に限定されず、例えば、ファイルオブジェクトのオブジェクトＩＤ（オブジェクトＩＤ１又はオブジェクトＩＤ２）を特定した配信要求を送信するようにしてもよく、また、ファイルオブジェクトを識別するための他の識別情報を配信サーバ１１０に送信するようにしてもよい。このような場合には、配信サーバ１１０において、クライアント端末１７０から送られてくる識別情報と、オブジェクトＩＤ２と、を対応させるテーブルをＩＤ管理情報記憶部１１２に記憶しておけばよい。
【０２４４】
以上に記載した実施形態においては、プライベートストレージ１２０に記憶されているファイルオブジェクトを、予めパブリックストレージ１５０に転送しておき、その後にクライアント端末１７０からの配信要求を配信サーバ１１０で受信するようにしているが、このような態様に限定されるわけではなく、クライアント端末１７０からの配信要求を受信してからファイルオブジェクトを転送するようにしてもよい。
【０２４５】
このような場合には、例えば、図２７に示すようなフローチャートでファイルオブジェクトの転送を行えばよい。
【０２４６】
まず、クライアント端末１７０から、接続要求及び配信要求を配信サーバ１１０に送信する（Ｓ１９００）。
【０２４７】
次に、配信サーバ１１０の送信処理部１１３は、ドメインサーバ１４０に対して、ストレージ領域の割り当て要求（その後の一定時間間隔ごとの割り当て継続要求）を発行し、パブリックストレージ１５０内に一定サイズの領域を確保する（Ｓ１９０１）。
【０２４８】
次に、配信サーバ１１０の送信処理部１１３及びファイル管理部１１４は、ＩＦ部１１５を介して、パスで指定されたファイルオブジェクトの複製と、複製されたファイルオブジェクトのパブリックストレージ１５０への転送要求をプライベートストレージ１２０に送信し、プライベートストレージ１２０は、指定されたファイルオブジェクトをパブリックストレージ１５０に転送する（Ｓ１９０２）。この際、プライベートストレージ１２０におけるマップ管理テーブル１２１ａ、および、パブリックストレージ１５０におけるマップ管理テーブル１５１ａの更新も併せて行われる。
【０２４９】
次に、配信サーバ１１０の送信処理部１１３は、プライベートストレージ１２０への転送要求を送信した後、ＴＣＰシーケンス番号情報をルータ１６０に送信する（Ｓ１９０３）。ルータ１６０のデータ変換部１６４は、このＴＣＰシーケンス番号情報に基づき、シーケンス管理テーブル１６１ａを更新する。この更新により、以後、配信サーバ１１０とルータ１６０との間でのデータコンテナのreliableな送信の際に使用するシーケンス番号と、ルータ１６０とクライアント端末１７０間でのＴＣＰデータのreliableな送信の際に使用するシーケンス番号との間の変換が可能になる。
【０２５０】
次に、配信サーバ１１０の送信処理部１１３は、データコンテナを送信する（Ｓ１９０４）。
【０２５１】
次に、ルータ１６０のデータ変換部１６４は、受信したデータコンテナからアプリケーションプロトコルヘッダを取り出し、さらに、当該データコンテナで指定されるパブリックストレージ１５０から、当該データコンテナに含まれているオブジェクトＩＤ２、オフセット、サイズに対応するデータを読み出し、そして、読み出したデータにアプリケーションプロトコルヘッダを結合させて、ＴＣＰデータを生成する（Ｓ１９０５）。
【０２５２】
次に、ルータ１６０のルーティング処理部１６３は、ステップＳ１９０５で生成されたＴＣＰデータを、第二のＩＦ部１６６を介して、クライアント端末１７０に送信する（Ｓ１９０６）。なお、ルータのデータ変換部１６４は、シーケンス管理テーブル１６１ａを用いてシーケンス番号の変換も行う。また、データコンテナには送信時刻情報が格納されており、たとえ配信サーバ１１０がデータコンテナを送信時刻より早く送信しても、ルータ１６０のデータ変換部１６４は、当該データコンテナをキューイングし、ＴＣＰデータのクライアント端末１７０への送信は、当該送信時刻に沿って行う。
【０２５３】
次に、このようなＴＣＰデータを受信したクライアント端末１７０は、送達確認を返送する。そして、ルータ１６０のデータ変換部１６４は、送達確認に含まれるシーケンス番号の変換が行われ、当該送達確認は配信サーバ１１０に転送される（Ｓ１９０７）。
【０２５４】
このようなフローで処理を行うと、パブリックストレージ１５０にてファイルオブジェクトのバッファリングが行え、たとえ、配信サーバ１１０とルータ１６０との間で送信遅延のゆらぎが発生しても、安定した送信タイミングで、ルータ１６０からクライアント端末にＴＣＰデータの送信が可能になり、データ転送のＱｏＳ保証が可能になる。
【０２５５】
また、以上に記載した実施形態においては、ルータ１６０において、ファイルオブジェクトとアプリケーションヘッダとを結合してＴＣＰデータを生成するようにしているが、このような態様に限定されず、例えば、ルータ１６０と同様の構成を有する通信装置（サーバ）をＩＰネットワーク１８０に配置することで、ファイルオブジェクトとアプリケーションヘッダとを結合してＴＣＰデータを生成するようにしてもよい。
【０２５６】
なお、以上に記載した実施形態においては、データコンテナに格納して送信するアプリケーションヘッダについては、ＩＤ管理情報テーブル１１２ａのＡＰヘッダフィールド１１２ｅに予め格納するようにしているが、このような態様に限定されず、例えば、クライアント端末１７０からの配信要求があった場合や、プライベートストレージ１２０での複製要求、パブリックストレージ１５０への転送要求を発行する場合等に、配信サーバ１１０の送信処理部１１３において生成するようにすることも可能である。なお、この場合には、配信サーバ１１０の外部記憶装置にファイルオブジェクトを記憶させておくことが望ましい。
【０２５７】
図２８は、本発明の第二の実施形態である配信システム３００の概略図である。
【０２５８】
図示するように、配信システム３００は、第一の実施形態と同様に、配信サーバ３１０と、プライベートストレージ３２０と、ストレージシステム３３０と、ルータ３６０と、クライアント端末１７０と、を備えている。
【０２５９】
そして、配信サーバ３１０とクライアント端末１７０は、ＩＰネットワーク１８０を介して相互に通信を行うことができるようにされており、また、ＩＰネットワーク１８０内には、ルータ３６０が設けられている。
【０２６０】
さらに、ＩＰネットワーク１８０内には、ストレージネットワーク１８１が設けられており、ストレージネットワーク１８１内に設けられているプライベートストレージ３２０とストレージシステム３３０とはストレージネットワーク１８１内において相互に通信を行うことができるようにされており、また、これらのプライベートストレージ３２０とストレージシステム３３０とは、ＩＰネットワーク１８０を介して配信サーバ３１０、ルータ３６０及びクライアント端末１７０と通信を行うことができるようにされている。
【０２６１】
ここで、本実施形態においては、配信サーバ３１０からクライアント端末１７０にＵＤＰ（User Datagram Protocol）によりデータを送信するようにされており、ルータ３６０では、このようにして送信されたＵＤＰデータの一部のデータをストレージシステム３３０内に接続されているパブリックストレージ３５０に記憶しておくことで、ルータ３６０を通過するＵＤＰデータの履歴を管理することができるようにされている。このため、ＩＰネットワーク１８０に障害が生じ、配信サーバ３１０からクライアント端末１７０に送信したＵＤＰデータが消失した場合に、ＩＰネットワーク１８０のいずれの部分に障害が生じているのかを特定することができるようになる。
【０２６２】
図２９は、配信サーバ３１０の概略図である。
【０２６３】
図示するように、配信サーバ３１０は、名前管理情報記憶部１１１と、送信処理部３１３と、ファイル管理部３１４と、ＩＦ部１１５と、データ記憶部３１６と、を備えている。
【０２６４】
名前管理情報記憶部１１１には、パス名と、当該パス名に対応するファイルオブジェクトを識別するための情報（オブジェクトＩＤ）と、を特定する情報が記憶されており、第一の実施形態と同様に、例えば、図３に示すような名前管理テーブル１１１ａが記憶される。
【０２６５】
送信処理部３１３は、クライアント端末１７０からの接続要求及び配信要求に対して、データ記憶部３１６に格納されているファイルオブジェクトをＵＤＰデータとして配信する処理を制御する。
【０２６６】
ここで、クライアント端末１７０には、例えば、図３４（Ｂ）に示されているようなＵＤＰデータ３８５を送信すればよい。
【０２６７】
また、本実施形態においては、送信処理部３１３は、第一の実施形態と同様に、ドメインサーバ３４０に対して、ストレージ領域割り当て要求を発行する処理を制御する。
【０２６８】
さらに、送信処理部３１３は、クライアント端末１７０にＵＤＰデータを送信する前に、ルータ３６０に対して、ＵＤＰデータのどの部分の複製を複製し、どのパブリックストレージ３５０に格納すればよいかを特定する複製管理情報を送信する処理を制御する。
【０２６９】
ここで、ルータ３６０には、例えば、図３４（Ａ）に示されているような複製管理情報３８４を送信する。
【０２７０】
複製管理情報３８４は、配信サーバＩＰアドレス格納領域３８４ａと、クライアントＩＰアドレス格納領域３８４ｂと、配信サーバポート番号格納領域３８４ｃと、クライアントポート番号格納領域３８４ｄと、オフセット格納領域３８４ｅと、サイズ格納領域３８４ｆと、パブリックストレージＩＰアドレス格納領域３８４ｇと、オブジェクトＩＤ格納領域３８４ｈと、送信時刻格納領域３８４ｉと、を備えている。なお、これらの格納領域に格納する情報については後述する。
【０２７１】
また、送信処理部３１３は、パブリックストレージ３５０に対して、送信履歴オブジェクトＩＤ及びプライベートストレージ３２０のＩＰアドレスを指定した取得要求を送信し、送信履歴オブジェクトをパブリックストレージ３５０からプライベートストレージ３２０に転送して、配信サーバ３１０に取り込む処理を制御する。
【０２７２】
ファイル管理部３１４は、名前管理情報記憶部１１１及びデータ記憶部３１６に記憶する情報を管理する処理を行う。
【０２７３】
ＩＦ部１１５は、ＩＰネットワーク１８０を介した情報の送受信を行うためのインターフェースである。
【０２７４】
データ記憶部３１６は、クライアント端末１７０に送信するファイルオブジェクトを記憶する。
【０２７５】
ここで、配信サーバ３１０についても、図１４に示すようなコンピュータ１９０により実現可能である。
【０２７６】
例えば、名前管理情報記憶部１１１及びデータ記憶部３１６は、外部記憶装置１９１により実現可能であり、送信処理部３１３及びファイル管理部３１４は、外部記憶装置１９１に記憶されている所定のプログラムをメモリ１９２にロードしてＣＰＵ１９３で実行することにより実現可能であり、ＩＦ部１１５は、通信装置１９６により実現可能である。
【０２７７】
図３０は、プライベートストレージ３２０の概略図である。
【０２７８】
図示するように、プライベートストレージ３２０は、マップ管理情報記憶部３２１と、データ記憶部３２２と、データ管理部３２３と、ＩＦ部１２４と、を備えている。
【０２７９】
マップ管理情報記憶部３２１には、データ記憶部３２２に記憶する送信履歴ファイルオブジェクト毎に、送信履歴ファイルオブジェクトを識別するための識別情報と、当該送信履歴ファイルオブジェクトの格納位置を示す情報と、が少なくとも記憶される。
【０２８０】
例えば、本実施形態においても、マップ管理情報記憶部３２１には、図６に示すようなマップ管理テーブル１２１ａが記憶されが、マップ管理テーブル１２１ａに格納するデータは第一の実施形態と異なるものとなる。
【０２８１】
図示するように、マップ管理テーブル１２１ａは、オブジェクトＩＤフィールド１２１ｂと、内部オブジェクトＩＤフィールド１２１ｃと、公開／非公開ビットフィールド１２１ｄと、サイズ情報フィールド１２１ｅと、マッピング情報フィールド１２１ｆと、空きブロックリスト１２１ｇと、を有する。
【０２８２】
オブジェクトＩＤフィールド１２１ｂには、当該エントリに対応する送信履歴ファイルオブジェクトを識別するための情報（送信履歴ファイルオブジェクトＩＤ）が格納される。
【０２８３】
内部オブジェクトＩＤフィールド１２１ｃには、当該エントリに対応する送信履歴ファイルオブジェクトを識別するための情報が格納され、プライベートストレージ３２０のデータ記憶部３２２に記憶するファイルが新規に作成されるたびに、データ管理部３２３が新規に作成されたファイル毎にその識別情報（ＩＤ）を生成し、内部オブジェクトＩＤフィールド１２１ｃに格納するようにしている。
【０２８４】
そして、オブジェクトＩＤフィールド１２１ｂには、どのプライベートストレージ３２０にどの送信履歴ファイルオブジェクトを格納しているかを識別することができるように、当該プライベートストレージ３２０のＩＰアドレスと内部オブジェクトＩＤフィールド１２１ｃに格納される識別情報（ＩＤ）を組み合わせて識別情報とすることで、一意のＩＤが割り振られるようにしている。
【０２８５】
公開／非公開ビットフィールド１２１ｄには、当該エントリの送信履歴ファイルオブジェクトを公開するか非公開とするかを特定する情報が格納される。
【０２８６】
サイズ情報フィールド１２１ｅには、当該エントリの送信履歴ファイルオブジェクトのデータサイズを特定する情報が格納される。なお、本実施形態においては、ブロック数が格納されるようになっている。
【０２８７】
マッピング情報フィールド１２１ｆには、当該エントリの送信履歴ファイルオブジェクトをデータ記憶部１２２に格納する位置を特定する情報が格納される。ここで、本実施形態においては、データ記憶部３２２のブロック番号が格納されるようになっている。
【０２８８】
なお、本実施形態においては、マッピング情報フィールド１２１ｆにブロック番号の他に、ＣＯＷビットも格納されており、送信履歴ファイルオブジェクトの仮想コピーも実現可能にされている。
【０２８９】
データ記憶部３２２には、送信履歴ファイルオブジェクトが格納される。
【０２９０】
データ管理部３２３は、マップ管理情報記憶部３２１及びデータ記憶部３２２に記憶するデータを管理する処理を行う。
【０２９１】
ＩＦ部１２４は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【０２９２】
以上に記載したプライベートストレージ３２０についても、図１５に示すようなコンピュータ２９０により実現可能である。
【０２９３】
例えば、マップ管理情報記憶部３２１及びデータ記憶部３２２は、外部記憶装置２９１により実現可能であり、データ管理部３２３は、外部記憶装置２９１に記憶されている所定のプログラムをメモリ２９２にロードしてＣＰＵ２９３で実行することにより実現可能であり、ＩＦ部１２４は、通信装置２９４により実現可能である。
【０２９４】
図３１は、ストレージシステム３３０の概略図である。
【０２９５】
図示するように、ストレージシステム３３０は、ドメインサーバ３４０と、少なくとも一つ以上のパブリックストレージ３５０と、を備えており、これらは、ストレージネットワーク１８１を介して相互に情報を送受信することができるようにされている。
【０２９６】
ドメインサーバ３４０は、パブリックストレージ管理情報記憶部３４１と、ドメイン管理部３４２と、ＩＦ部１４３と、を備えている。
【０２９７】
パブリックストレージ管理情報記憶部３４１には、ドメインサーバ３４０で管理するパブリックストレージ３５０に記憶する送信履歴ファイルオブジェクトを特定する情報が記憶される。
【０２９８】
例えば、本実施形態においても、パブリックストレージ管理情報記憶部３４１には、図８に示すようなパブリックストレージ管理テーブル１４１ａが記憶されるが、パブリックストレージ管理テーブル１４１ａに格納するデータは第一の実施形態とは異なっている。
【０２９９】
図示するように、パブリックストレージ管理テーブル１４１ａは、パブリックストレージＩＰアドレスフィールド１４１ｂと、総容量フィールド１４１ｃと、空き容量フィールド１４１ｄと、プライベートストレージＩＰアドレスフィールド１４１ｅと、オブジェクトＩＤフィールド１４１ｆと、ブロック数フィールド１４１ｇと、タイムアウトフィールド１４１ｈと、を有し、ドメインサーバ３４０で管理するパブリックストレージ１５０毎に生成される。
【０３００】
パブリックストレージＩＰアドレスフィールド１４１ｂには、ドメインサーバ３４０で管理するパブリックストレージ３５０のＩＰアドレスが格納される。
【０３０１】
総容量フィールド１４１ｃには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ３５０において、送信履歴ファイルオブジェクトを記憶するために割り当てられた総記憶容量が格納される。
【０３０２】
空き容量フィールド１４１ｄには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ３５０において、ファイルオブジェクトを記憶するために割り当てられた総記憶容量のうち、空き容量が記憶される。
【０３０３】
プライベートストレージＩＰアドレスフィールド１４１ｅには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ３５０に記憶された送信履歴ファイルオブジェクトを送信する送信先のプライベートストレージ３２０のＩＰアドレスが格納される。
【０３０４】
オブジェクトＩＤフィールド１４１ｆには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ３５０に記憶された送信履歴ファイルオブジェクトを特定するための識別情報が記憶される。
【０３０５】
ここで、本実施形態においては、ルータ３６０からの書き込み要求に含まれる送信履歴オブジェクトＩＤがオブジェクトＩＤフィールド１４１ｆに格納される。
【０３０６】
ブロック数フィールド１４１ｇには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ３５０に送信履歴ファイルオブジェクトを記憶するために割り当てるブロック数が記憶される。
【０３０７】
タイムアウトフィールド１４１ｈには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ３５０にファイルオブジェクトを記憶するために割り当てた領域を確保するタイムアウト値が格納される。このようなタイムアウト値を管理することにより、一定時間以上にわたり当該領域に対する割り当て継続要求が配信サーバ３１０より到達しない場合（例えば、配信サーバ３１０がダウンした場合等）に、当該領域の強制解放が可能になる。
【０３０８】
ドメイン管理部３４２は、ドメインサーバ３４０での全体の処理を制御し、特に、本実施形態においては、パブリックストレージ管理情報記憶部３４１に記憶する情報を管理する。
【０３０９】
ＩＦ部１４３は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【０３１０】
ここで、ドメインサーバ３４０についても、図１４に示すようなコンピュータ１９０により実現可能である。
【０３１１】
例えば、パブリックストレージ管理情報記憶部３４１は、外部記憶装置１９１により実現可能であり、ドメイン管理部３４２は、外部記憶装置１９１に記憶されている所定のプログラムをメモリ１９２にロードしてＣＰＵ１９３で実行することにより実現可能であり、ＩＦ部１４３は、通信装置１９６により実現可能である。
【０３１２】
図３１に戻り、パブリックストレージ３５０は、マップ管理情報記憶部３５１と、データ記憶部３５２と、データ管理部３５３と、ＩＦ部１５４と、を備えている。
【０３１３】
マップ管理情報記憶部３５１には、データ記憶部３５２に記憶する送信履歴ファイルオブジェクト毎に、送信履歴ファイルオブジェクトを識別するための識別情報と、当該送信履歴ファイルオブジェクトの格納位置を示す情報と、が少なくとも記憶される。
【０３１４】
例えば、本実施形態においては、マップ管理情報記憶部３５１には、第一の実施形態と同様に、図９に示すようなマップ管理テーブル１５１ａが記憶されるが、マップ管理テーブル１５１ａに格納されるデータは第一の実施形態と異なるものとなる。
【０３１５】
図示するように、マップ管理テーブル１５１ａは、オブジェクトＩＤフィールド１５１ｂと、内部オブジェクトＩＤフィールド１５１ｃと、公開／非公開ビットフィールド１５１ｄと、サイズ情報フィールド１５１ｅと、マッピング情報フィールド１５１ｆと、空きブロックリスト１５１ｇと、を有する。
【０３１６】
オブジェクトＩＤフィールド１５１ｂには、当該エントリに対応する送信履歴ファイルオブジェクトを識別するための情報が格納される。
【０３１７】
ここで、本実施形態においては、ルータ３６０から送信されてきた送信履歴ファイルオブジェクトを識別するための送信履歴オブジェクトＩＤが記憶される。
【０３１８】
内部オブジェクトＩＤフィールド１５１ｃには、当該エントリに対応する送信履歴ファイルオブジェクトを識別するための情報が格納される。
【０３１９】
公開／非公開ビットフィールド１５１ｄには、当該エントリに対応する送信履歴ファイルオブジェクトを公開するか非公開とするかを特定する情報が格納される。
【０３２０】
サイズ情報フィールド１５１ｅには、当該エントリに対応する送信履歴ファイルオブジェクトのデータサイズを特定する情報が格納される。なお、本実施形態においては、ブロック数が格納されるようになっている。
【０３２１】
マッピング情報フィールド１５１ｆには、当該エントリの送信履歴ファイルオブジェクトをデータ記憶部１５２に格納する位置を特定する情報が格納される。ここで、本実施形態においては、データ記憶部１５２のブロック番号が格納されるようになっている。
【０３２２】
なお、本実施形態においては、マッピング情報フィールド１５１ｆにブロック番号の他に、ＣＯＷビットも格納されており、後述するように、送信履歴ファイルオブジェクトの仮想コピーも実現可能にされている。
【０３２３】
データ記憶部３５２には、送信履歴ファイルオブジェクトが格納される。
【０３２４】
データ管理部３５３は、マップ管理情報記憶部３５１及びデータ記憶部３５２に記憶するデータを管理する処理を行う。
【０３２５】
ＩＦ部１５４は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【０３２６】
以上に記載したパブリックストレージ３５０についても、図１５に示すようなコンピュータ２９０により実現可能である。
【０３２７】
例えば、マップ管理情報記憶部３５１及びデータ記憶部３５２は、外部記憶装置２９１により実現可能であり、データ管理部３５３は、外部記憶装置２９１に記憶されている所定のプログラムをメモリ２９２にロードしてＣＰＵ２９３で実行することにより実現可能であり、ＩＦ部１５４は、通信装置２９４により実現可能である。
【０３２８】
図３２は、ルータ３６０の概略図である。
【０３２９】
図示するように、ルータ３６０は、複製管理情報記憶部３６７と、ルーティング処理部１６３と、データ変換部３６４と、第一のＩＦ部１６５と、第二のＩＦ部１６６と、を有する。
【０３３０】
複製管理情報記憶部３６７には、配信サーバ３１０と、クライアント端末１７０と、の間で確立される接続毎に、配信サーバ３１０から送られてくるＵＤＰデータのどの部分を複製して送信履歴ファイルオブジェクトとして、どのパブリックストレージ３５０に、どのような識別情報で記憶すべきかを特定する情報を記憶する。
【０３３１】
例えば、本実施形態においては、複製管理情報記憶部３６７に図３３（複製管理テーブル３６７ａの概略図）に示すような複製管理テーブル３６７ａを記憶する。
【０３３２】
図示するように、複製管理テーブル３６７ａは、配信サーバＩＰアドレスフィールド３６７ｂと、クライアントＩＰアドレスフィールド３６７ｃと、配信サーバポート番号フィールド３６７ｄと、クライアントポート番号フィールド３６７ｅと、オフセットフィールド３６７ｆと、サイズフィールド３６７ｇと、ストレージＩＰアドレスフィールド３６７ｈと、オブジェクトＩＤフィールド３６７ｉと、を備えている。
【０３３３】
配信サーバＩＰアドレスフィールド３６７ｂには、接続されている配信サーバ３１０のＩＰアドレスが格納される。
【０３３４】
クライアントＩＰアドレスフィールド３６７ｃには、接続されているクライアント端末１７０のＩＰアドレスが格納される。
【０３３５】
配信サーバポート番号フィールド３６７ｄには、接続されている配信サーバ３１０のポート番号が格納される。
【０３３６】
クライアントポート番号フィールド３６７ｅには、接続されているクライアント端末１７０のポート番号が格納される。
【０３３７】
オフセットフィールド３６７ｆには、配信サーバ３１０から送られてくるＵＤＰデータから複製を作成する開始位置を特定する情報が格納される。
【０３３８】
サイズフィールド３６７ｇには、配信サーバ３１０から送られてくるＵＤＰデータから複製を作成する開始位置からのサイズを特定する情報が格納される。
【０３３９】
ここで、オフセットフィールド３６７ｆ及びサイズフィールド３６７ｇで指定する部分については、ファイルオブジェクトを一意に特定することのできる情報が含まれていることが望ましいく、例えば、アプリケーションプロトコルヘッダ等が含まれていることが望ましい。
【０３４０】
ストレージＩＰアドレスフィールド３６７ｈには、配信サーバ３１０から送られてくるＵＤＰデータから複製を取ることにより生成された送信履歴ファイルオブジェクトを格納するパブリックストレージ３５０のＩＰアドレスが格納される。
【０３４１】
オブジェクトＩＤフィールド３６７ｉには、配信サーバ３１０から送られてくるＵＤＰデータから複製を取ることにより生成された送信履歴ファイルオブジェクトにつける送信履歴オブジェクトＩＤが格納される。
【０３４２】
ルーティング処理部１６３は、第一のＩＦ部１６５又は第二のＩＦ部１６６から受信したパケットを転送するいわゆるルーティング処理を制御する。
【０３４３】
データ変換部３６４は、配信サーバ３１０より受信した複製管理情報に基づいて、複製管理テーブル３６７ａを更新する。
【０３４４】
また、データ変換部３６４は、複製管理テーブル３６７ａに基づいて、配信サーバ３１０より受信したＵＤＰデータから特定の部分を複製して送信履歴ファイルオブジェクトを生成して、第二のＩＦ部１６６を介してパブリックストレージ３５０に送信する処理を制御する。
【０３４５】
第一のＩＦ部１６５及び第二のＩＦ部１６６は、ＩＰネットワーク１８０を介してデータを送受信するためのインターフェースである。
【０３４６】
ここで、ルータ３６０についても、図１６に示すようなコンピュータ３９０により実現可能である。
【０３４７】
例えば、複製管理情報記憶部３６７は、外部記憶装置３９１により実現可能であり、ルーティング処理部１６３及びデータ変換部３６４は、外部記憶装置３９１に記憶されている所定のプログラムをメモリ３９２にロードしてＣＰＵ３９３で実行することにより実現可能であり、第一のＩＦ部１６５は、通信装置３９４により実現可能であり、第二のＩＦ部１６６は、通信装置３９５により実現可能である。
【０３４８】
クライアント端末１７０は、配信サーバ１１０に対して、接続要求及び配信要求を送信して、ＵＤＰデータを受信するものであり、従来から使用されているＩＰを介した通信を行うことのできるコンピュータを使用すればよいため、詳細な説明を省略する。
【０３４９】
以上のように構成される配信システム３００における全体的な処理を図３５に示すフローチャートを用いて説明する。
【０３５０】
まず、配信サーバ３１０の送信処理部３１３は、ドメインサーバ３４０に対して、ストレージ領域割り当て要求を発行し、ドメインサーバ３４０は、第一の実施形態と同様に、パブリックストレージ管理テーブル１４１ａを用いて、特定のパブリックストレージ３５０に特定の領域を確保する（Ｓ２０００）。このとき、ドメインサーバ３４０は、特定の領域を確保したパブリックストレージ３５０のＩＰアドレスを配信サーバ３１０に返信する。
【０３５１】
次に、クライアント端末１７０から配信サーバ３１０に接続要求及び配信要求が送信され（Ｓ２００１）、これらの接続要求及び配信要求を受信した配信サーバ３１０では、送信処理部３１３が、ＵＤＰデータを送信する前に、予めルータ１６０に対して、ＵＤＰデータのどの部分の複製を複製し、どのパブリックストレージ３５０に格納すればよいかを特定する複製管理情報を送信する（Ｓ２００２）。
【０３５２】
このような複製管理情報を受信したルータ３６０では、データ変換部３６４は受信した複製管理情報に基づいて複製管理テーブル３６７ａを更新する（Ｓ２００３）。
【０３５３】
そして、配信サーバ３１０はクライアント端末１７０に、配信要求のあったＵＤＰデータを送信する（Ｓ２００４）。
【０３５４】
配信サーバ３１０からのＵＤＰデータを受信したルータ３６０では、データ変換部３６４が、複製管理テーブル３６７ａに従い送信されてきたＵＤＰデータから特定の部分を複製し、かつ、現在時刻情報を付加して、送信履歴ファイルオブジェクトを生成して、パブリックストレージ３５０に送信する（Ｓ２００５）。
【０３５５】
そして、ルータ３６０のルーティング処理部１６３は、ＵＤＰデータをクライアント端末１７０に転送する（Ｓ２００６）。
【０３５６】
以上のようにしてパブリックストレージ３５０に格納されている送信履歴ファイルオブジェクトは、配信サーバ３１０の送信処理部３１３が、パブリックストレージ３５０に対して、送信履歴オブジェクトＩＤ及びプライベートストレージ３２０のＩＰアドレスを指定した取得要求を送信することにより、パブリックストレージ３５０からプライベートストレージ３２０に転送され、配信サーバ３１０に取り込むことができるようにされている。
【０３５７】
図３６は、配信サーバ３１０とドメインサーバ３４０との間でのストレージ領域割り当て要求の送受信処理を示すフローチャートである。
【０３５８】
まず、配信サーバ１１０の送信処理部３１３がファイルパスを指定し、ファイル管理部３１４に対してダミーファイル作成要求を発行する（Ｓ２１００）。
【０３５９】
次に、ファイル管理部３１４が、受信したファイルパスをパス要素に分割して、名前管理情報記憶部１１１に記憶されている名前管理テーブル１１１ａをルートディレクトリ１１１ｂから探索し、当該ファイルパスの親ディレクトリが存在するアドレスを決定する（Ｓ２１０１）。
【０３６０】
次に、ファイル管理部３１４から、プライベートストレージ３２０にダミーファイル作成要求を発行する（Ｓ２１０２）。
【０３６１】
次に、プライベートストレージ３２０のデータ管理部３２３は、マップ管理情報記憶部３２１に記憶されているマップ管理テーブル１２１ａを探索し、空き内部オブジェクトＩＤを取得し、ダミーファイル用の新規エントリを作成して、送信履歴オブジェクトＩＤを配信サーバ３１０に返信する（Ｓ２１０３）。
【０３６２】
ここで、ステップＳ２１０３における新規エントリのオブジェクトＩＤフィールド１２１ｂには、自プライベートストレージのＩＰアドレスと確保した内部オブジェクトＩＤを連結して送信履歴オブジェクトＩＤとして格納する。公開／非公開ビットフィールド１５１ｄには、公開ビットを設定する。サイズ情報フィールド１５１ｅには「０」を設定する。マッピング情報フィールド１５１ｆには何も設定しない。
【０３６３】
次に、ファイル管理部３１４は、ステップＳ２１０１で取得した親ディレクトリに、ステップＳ２１０３で返信されてきた送信履歴オブジェクトＩＤと、ステップＳ２１００のダミーファイルのファイル名と、を設定する（Ｓ２１０４）。なお、属性フィールド１１１ｃにはファイル属性を、サイズフィールド１１１ｅには「０」を設定する。
【０３６４】
次に、送信処理部３１３からドメインサーバ３４０にストレージ領域割り当て要求を発行する（Ｓ２１０５）。当該ストレージ割当要求には、プライベートストレージ３２０のＩＰアドレスと、ステップＳ２１０３で返信されてきた送信履歴オブジェクトＩＤと、ＵＤＰデータの一部の複製を格納するために確保したいブロック数と、を指定する。なお、当該ブロック数については、ＵＤＰデータのサイズと複製を取る部分の割合で算出すればよい。
【０３６５】
次に、ドメインサーバ３４０のドメイン管理部３４２は、パブリックストレージ管理テーブル１４１ａを検索し、空き容量フィールド１４１ｄに最大の値が格納されているエントリを特定し、当該エントリに対応するパブリックストレージ３５０に領域を確保する（Ｓ２１０６）。そして、当該エントリに、ストレージ領域割り当て要求に含まれているプライベートストレージ１２０のＩＰアドレス、送信履歴オブジェクトＩＤ、および、ブロック数、を特定する情報を、それぞれプライベートストレージＩＤアドレスフィールド１４１ｅ、オブジェクトＩＤフィールド１４１ｆ、ブロック数フィールド１４１ｇに格納する。また、空き容量フィールド１４１ｄの値を確保したブロック数分だけ減算する。
【０３６６】
次に、ドメイン管理部１４２は、ＩＦ部１４３を介して、領域を確保したパブリックストレージ３５０のＩＰアドレスを配信サーバ１１０に返信する（Ｓ２１０７）。
【０３６７】
なお、配信サーバ３１０の送信処理部３１３は、一定時間間隔で駆動し、ＩＦ部１１５を介して、ドメインサーバ３４０にストレージ領域割り当て継続要求を発行する。この継続要求に格納される情報は、ステップＳ２１０５で送信されるストレージ領域割り当て要求と同様にすればよい。
【０３６８】
そして、このようなストレージ領域割り当て継続要求を受信したドメインサーバ３４０は、パブリックストレージ管理テーブル１４１ａのタイムアウトフィールド１４１ｈに格納されている対応するタイムアウト値を「０」にクリアする。
【０３６９】
一方、ドメインサーバ３４０のドメイン管理部３４２は、一定時間間隔で駆動し、パブリックストレージ管理テーブル１４１ａのタイムアウトフィールド１４１ｈに格納されている全てのタイムアウト値のインクリメントを実行し、このタイムアウト値が一定値以上を超えたストレージ領域割り当ての強制解除を行う。具体的には、対応するフィールド１４１ｅ〜１４１ｈを解放するとともに、空き容量フィールド１４１ｄを、登録されていたブロック数分だけ増やす。
【０３７０】
図３７は、配信サーバ３１０とルータ３６０との間の複製管理情報の送受信処理を示すフローチャートである。
【０３７１】
まず、配信サーバ３１０の送信処理部３１３は、ルータ３６０にに複製管理情報３８４を送信する（Ｓ２２００）。
【０３７２】
ここで、複製管理情報３８４において、配信サーバＩＰアドレス格納領域３８４ａ、クライアントＩＰアドレス格納領域３８４ｂ、配信サーバポート番号格納領域３８４ｃ、および、クライアントポート番号格納領域３８４ｄ、には、クライアント端末１７０から受信した接続要求に格納されていた値を指定する。オフセット格納領域３８４ｅ、および、サイズ格納領域３８４ｆ、には、予め定めておいたＵＤＰデータの複製を作成したい範囲を指定する。パブリックストレージＩＰアドレス格納領域３８４ｇには、図３６のステップＳ２１０７で返信されてきたＩＰアドレスを指定する。オブジェクトＩＤ格納領域３８４ｈには、図３６のステップＳ２１０４で設定した送信履歴オブジェクトＩＤを指定する。
【０３７３】
次に、ルータ３６０のデータ変換部３６４は、複製管理情報記憶部３６７に記憶されている複製管理テーブル３６７ａを、ステップＳ２２００で受信した複製管理情報に格納されている値に更新する（Ｓ２２０１）。
【０３７４】
次に、ルータ３６０のデータ変換部３６４は、第二のＩＦ部１６６を介して、パブリックストレージ３５０に対してダミーファイル作成要求を発行する（Ｓ２２０２）。この際、ステップＳ２２００で送信されてきた複製管理情報に格納されている送信履歴オブジェクトＩＤを指定する。
【０３７５】
次に、パブリックストレージ３５０のデータ管理部３５３は、マップ管理情報記憶部３５１に記憶されているマップ管理テーブル１５１ａを探索し、ステップＳ２２０２で送信されてきたダミーファイル用に、空き内部オブジェクトＩＤを取得し、新規エントリを作成する（Ｓ２２０３）。
【０３７６】
ここで、新規エントリのオブジェクトＩＤフィールド１５１ｂには、ステップＳ２２０２で送信されてきたダミーファイル作成要求で指定された送信履歴オブジェクトＩＤを格納する。公開／非公開ビットフィールド１５１ｄには公開ビットを設定する。サイズ情報フィールド１５１ｅには「０」を設定する。マッピング情報フィールド１５１ｆには何も設定しない。
【０３７７】
図３８は、配信サーバ３１０からルータ３６０を介してクライアント端末１７０にＵＤＰデータを送信する処理を示すフローチャートである。
【０３７８】
まず、ルータ３６０のデータ変換部３６４は、第一のＩＦ部１６５を介して、配信サーバ３１０の送信処理部３１３よりＵＤＰデータを受信する（Ｓ２３００）。
【０３７９】
ここで、例えば、図３４（Ｂ）に示されているように、ＵＤＰデータ３８５は、配信サーバＩＰアドレス格納領域３８５ａと、クライアントＩＰアドレス格納領域３８５ｂと、配信サーバポート番号格納領域３８５ｃと、クライアントポート番号格納領域３８５ｄと、ＡＰヘッダ格納領域３８５ｅと、データ格納領域３８５ｆと、を備えている。
【０３８０】
次に、ルータ３６０のデータ変換部３６４は、ＵＤＰデータ３８５に格納されている配信サーバ３１０のＩＰアドレス、クライアント端末１７０のＩＰアドレス、配信サーバ３１０のポート番号、クライアント端末１７０のポート番号に従い、対応する複製管理テーブル３６７ａを検索する。さらに、当該複製管理テーブル３６７ａに格納されているパブリックストレージ３５０に対して、送信履歴オブジェクトＩＤを指定して、受信したＵＤＰデータの３８５の一部（複製管理テーブル３６７ａに格納されているオフセット、サイズ情報に従い決定）と、現在時刻情報と、を書き込む（Ｓ２３０１）。
【０３８１】
次に、パブリックストレージ３５０は、マップ管理情報記憶部３５１に記憶されているマップ管理情報テーブル１５１ａを検索し、受信した送信履歴オブジェクトＩＤがオブジェクトＩＤフィールド１５１ｂに格納されているエントリを特定する。さらに、空きブロックリストフィールド１５１ｇから空きブロックを確保し、当該エントリのマッピング情報フィールド１５１ｆに登録する。ここで、マッピング情報フィールド１５１のＣＯＷビットは「０」に設定し、サイズ情報フィールド１５１ｅはインクリメントする。そして、ステップＳ２３０１で送信されてきたＵＤＰデータの一部と現在時刻情報とを当該ブロックに書き込む（Ｓ２３０２）。
【０３８２】
そして、ルータ３６０のルーティング処理部１６３は、第二のＩＦ部１６６を介して、ステップＳ２３００で受信したＵＤＰデータをクライアント端末１７０に送信する（Ｓ２３０３）。
【０３８３】
図３９は、配信サーバ３１０がパブリックストレージ３５０から送信履歴ファイルオブジェクトを取得する処理を示すフローチャートである。
【０３８４】
まず、配信サーバ３１０の送信処理部３１３は、ファイル管理部３１４に対して、ファイルオブジェクト取得要求を発行する（Ｓ２４００）。この際、図３６のステップＳ２１００で指定したファイルパスと、ステップＳ２１０７で送信されてきたパブリックストレージのＩＰアドレスを指定する。
【０３８５】
次に、配信サーバ３１０のファイル管理部３１４は、受信したファイルパスをパス要素に分割し、名前管理情報記憶部１１１に記憶されている名前管理テーブル１１１ａをルートディレクトリ１１１ｂから探索し、ファイルパスに対応する送信履歴オブジェクトＩＤを図３６のステップ２１０４で格納した親ディレクトリから取得する。さらに、ファイル管理部３１４は、パブリックストレージ３５０に対して、ファイルオブジェクト取得指示を発行する（Ｓ２４０１）。ファイルオブジェクト取得指示には、上記で取得した送信履歴オブジェクトＩＤと、プライベートストレージ３２０のＩＰアドレスと、を指定する。
【０３８６】
次に、パブリックストレージ３５０のデータ管理部３５３は、マップ管理情報記憶部３５１に記憶されているマップ管理テーブル１５１ａを検索し、ファイルオブジェクト取得要求で指定された送信履歴オブジェクトＩＤをオブジェクトＩＤフィールド１５１ｂに格納されているエントリを探し出す。そして、探し出したエントリのマッピング情報フィールド１５１ｆから、ファイルオブジェクトを格納しているブロック番号を特定し、当該ブロックの内容を、ファイルオブジェクト取得要求で指定されたプライベートストレージ３２０のＩＰアドレスに、当該ファイルオブジェクト取得要求で指定された送信履歴オブジェクトＩＤとともに転送する（Ｓ２４０２）。
【０３８７】
次に、プライベートストレージ３２０のデータ管理部３２３は、マップ管理情報記憶部３２１に記憶されているマップ管理テーブル１２１ａを検索し、ステップＳ２４０２で送信されてきた送信履歴オブジェクトＩＤがオブジェクトＩＤフィールド１２１ｂに格納されているエントリを特定する。さらに、データ管理部３２３は、空きブロックリストフィールド１２１ｇから空きブロックを確保して、確保した空きブロックのブロック番号を、上記エントリのマッピング情報フィールド１２１ｆに登録する（Ｓ２４０３）。
【０３８８】
次に、プライベートストレージ３２０のデータ管理部３２３は、ステップＳ２４０２で送信されてきたデータを、ステップＳ２４０３で確保したブロックに書き込む（Ｓ２４０４）。
【０３８９】
次に、プライベートストレージ３２０のデータ管理部３２３は、ステップＳ２４０３で特定したエントリのサイズ情報フィールド１２１ｅに格納されるブロック数をインクリメントする（Ｓ２４０５）。
【０３９０】
次に、プライベートストレージ３２０のデータ管理部３２３は、ステップＳ２４０２で送信されてきたデータが、ステップＳ２４０３で確保したブロックに全て書き込まれたか検査する（Ｓ２４０６）。書き込まれていれば処理を終了し、書き込まれていなければステップＳ２４０３〜Ｓ２４０５の処理を繰り返し実行する。
【０３９１】
以上のような処理を行い、パブリックストレージ３５０に記憶されている送信履歴ファイルオブジェクトをプライベートストレージ３２０に転送することで、配信サーバ３１０のオペレータは、当該送信履歴ファイルオブジェクトを確認することができるようになる。
【０３９２】
そして、このようなファイルオブジェクトを確認することがで、配信サーバ３１０から送信したＵＤＰデータがクライアント端末１７０に到着しなかった場合に、その原因が、配信サーバ３１０とルータ３６０との間の通信経路にあるのか、ルータ３６０とクライアント端末１７０との間の通信経路にあるのか、を特定することができるようになる。
【０３９３】
なお、以上に記載した実施形態においては、パブリックストレージ３５０に蓄積された送信履歴ファイルオブジェクトをプライベートストレージ３２０に転送するようにしているが、このような態様に限定されず、本実施形態においても、例えば、図２６に示すような配信システム２００として構成することも可能である。このような場合、パブリックストレージ２５０に蓄積されている送信履歴ファイルオブジェクトを、ＩＰネットワーク１８０を介して、配信サーバ２１０に転送し、配信サーバ２１０の外部記憶装置に記憶するようにすることで、上述の配信システム３００と同様の効果を発揮することができるようになる。
【０３９４】
また、以上に記載した実施形態においては、ルータ３６０を介して、ファイルオブジェクトをパブリックストレージ３５０に蓄積するようにしているが、このような態様に限定されず、例えば、ルータ３６０と同様の構成を有する通信装置（サーバ）をＩＰネットワーク１８０に配置することで、送信履歴ファイルオブジェクトをパブリックストレージ３５０に蓄積するようにしてもよい。
【０３９５】
図４０は、本発明の第三の実施形態である配信システム４００の概略図である。
【０３９６】
図示するように、配信システム４００は、配信サーバ４１０と、プライベートストレージ４２０と、ストレージシステム４３０と、ルータ４６０と、クライアント端末４７０と、を備えている。
【０３９７】
そして、配信サーバ４１０とクライアント端末４７０は、ＩＰネットワーク１８０を介して相互に通信を行うことができるようにされており、また、ＩＰネットワーク１８０内には、ルータ４６０が設けられている。
【０３９８】
さらに、ＩＰネットワーク１８０内には、ストレージネットワーク１８１が設けられており、ストレージネットワーク１８１内に設けられているプライベートストレージ４２０とストレージシステム４３０とはストレージネットワーク１８１内において相互に通信を行うことができるようにされており、また、これらのプライベートストレージ４２０とストレージシステム４３０とは、ＩＰネットワーク１８０を介して配信サーバ４１０、ルータ４６０及びクライアント端末４７０と通信を行うことができるようにされている。
【０３９９】
ここで、本実施形態においては、配信サーバ４１０からクライアント端末４７０にＵＤＰによりデータを送信するようにされており、ルータ４６０では、このようにして送信されたＵＤＰデータをストレージシステム４３０内に接続されているパブリックストレージ４５０に記憶しておき、クライアント端末４７０は、パブリックストレージ４５０に記憶されているＵＤＰデータを、ストレージネットワーク１８１を介して、プライベートストレージ４２０に転送させて取得することができるようにしている。このため、ルータ４６０とクライアント端末４７０との間のＩＰネットワーク１８０に障害が生じた場合でも、クライアント端末４７０は、確実にＵＤＰデータを取得することができるようにされている。
【０４００】
図４１は、配信サーバ４１０の概略図である。
【０４０１】
図示するように、配信サーバ４１０は、名前管理情報記憶部１１１と、送信処理部４１３と、ファイル管理部４１４と、ＩＦ部１１５と、データ記憶部４１６と、を備えている。
【０４０２】
名前管理情報記憶部１１１には、パス名と、当該パス名に対応するファイルオブジェクトを識別するための情報（オブジェクトＩＤ）と、を特定する情報が記憶されており、第一の実施形態と同様に、例えば、図３に示すような名前管理テーブル１１１ａが記憶される。
【０４０３】
送信処理部４１３は、クライアント端末４７０からの接続要求及び配信要求に対して、データ記憶部４１６に格納されているファイルオブジェクトをＵＤＰデータとして配信する処理を制御する。
【０４０４】
ここで、クライアント端末４７０には、例えば、図３４（Ｂ）に示されているようなＵＤＰデータ３８５を送信すればよい。
【０４０５】
ファイル管理部４１４は、名前管理情報記憶部１１１及びデータ記憶部４１６に記憶する情報を管理する処理を行う。
【０４０６】
ＩＦ部１１５は、ＩＰネットワーク１８０を介した情報の送受信を行うためのインターフェースである。
【０４０７】
データ記憶部４１６は、クライアント端末４７０に送信するファイルオブジェクトを記憶する。
【０４０８】
ここで、配信サーバ４１０についても、図１４に示すようなコンピュータ１９０により実現可能である。
【０４０９】
例えば、名前管理情報記憶部１１１及びデータ記憶部４１６は、外部記憶装置１９１により実現可能であり、送信処理部４１３及びファイル管理部４１４は、外部記憶装置１９１に記憶されている所定のプログラムをメモリ１９２にロードしてＣＰＵ１９３で実行することにより実現可能であり、ＩＦ部１１５は、通信装置１９６により実現可能である。
【０４１０】
図４２は、プライベートストレージ４２０の概略図である。
【０４１１】
図示するように、プライベートストレージ４２０は、マップ管理情報記憶部４２１と、データ記憶部４２２と、データ管理部４２３と、ＩＦ部１２４と、を備えている。
【０４１２】
マップ管理情報記憶部４２１には、データ記憶部４２２に記憶するＵＤＰデータに対応するファイルオブジェクト毎に、当該ファイルオブジェクトを識別するための識別情報と、当該ファイルオブジェクトの格納位置を示す情報と、が少なくとも記憶される。
【０４１３】
例えば、本実施形態においても、マップ管理情報記憶部４２１には、図６に示すようなマップ管理テーブル１２１ａが記憶されが、マップ管理テーブル１２１ａに格納するデータは第一の実施形態と異なるものとなる。
【０４１４】
図示するように、マップ管理テーブル１２１ａは、オブジェクトＩＤフィールド１２１ｂと、内部オブジェクトＩＤフィールド１２１ｃと、公開／非公開ビットフィールド１２１ｄと、サイズ情報フィールド１２１ｅと、マッピング情報フィールド１２１ｆと、空きブロックリスト１２１ｇと、を有する。
【０４１５】
オブジェクトＩＤフィールド１２１ｂには、当該エントリに対応するＵＤＰデータのファイルオブジェクトを識別するための識別情報（オブジェクトＩＤ）が格納される。
【０４１６】
ここで、本実施形態においては、パブリックストレージ４５０から送信されてくるＵＤＰデータに添付されているものを使用する。
【０４１７】
内部オブジェクトＩＤフィールド１２１ｃには、当該エントリに対応するファイルオブジェクトを識別するための情報が格納され、プライベートストレージ４２０のデータ記憶部４２２に記憶するファイルが新規に作成されるたびに、データ管理部３２３が新規に作成されたファイル毎にその識別情報（ＩＤ）を生成し、内部オブジェクトＩＤフィールド１２１ｃに格納するようにしている。
【０４１８】
公開／非公開ビットフィールド１２１ｄには、当該エントリのファイルオブジェクトを公開するか非公開とするかを特定する情報が格納される。
【０４１９】
サイズ情報フィールド１２１ｅには、当該エントリのファイルオブジェクトのデータサイズを特定する情報が格納される。なお、本実施形態においては、ブロック数が格納されるようになっている。
【０４２０】
マッピング情報フィールド１２１ｆには、当該エントリのファイルオブジェクトをデータ記憶部４２２に格納する位置を特定する情報が格納される。ここで、本実施形態においては、データ記憶部４２２のブロック番号が格納されるようになっている。
【０４２１】
なお、本実施形態においては、マッピング情報フィールド１２１ｆにブロック番号の他に、ＣＯＷビットも格納されており、ファイルオブジェクトの仮想コピーも実現可能にされている。
【０４２２】
データ記憶部４２２には、パブリックストレージ４５０から転送されてくるファイルオブジェクトが格納される。
【０４２３】
データ管理部４２３は、マップ管理情報記憶部４２１及びデータ記憶部４２２に記憶するデータを管理する処理を行う。
【０４２４】
ＩＦ部１２４は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【０４２５】
以上に記載したプライベートストレージ４２０についても、図１５に示すようなコンピュータ２９０により実現可能である。
【０４２６】
例えば、マップ管理情報記憶部４２１及びデータ記憶部４２２は、外部記憶装置２９１により実現可能であり、データ管理部４２３は、外部記憶装置２９１に記憶されている所定のプログラムをメモリ２９２にロードしてＣＰＵ２９３で実行することにより実現可能であり、ＩＦ部１２４は、通信装置２９４により実現可能である。
【０４２７】
図４３は、ストレージシステム４３０の概略図である。
【０４２８】
図示するように、ストレージシステム４３０は、ドメインサーバ４４０と、少なくとも一つ以上のパブリックストレージ４５０と、を備えており、これらは、ストレージネットワーク１８１を介して相互に情報を送受信することができるようにされている。
【０４２９】
ドメインサーバ４４０は、パブリックストレージ管理情報記憶部４４１と、ドメイン管理部４４２と、ＩＦ部１４３と、を備えている。
【０４３０】
パブリックストレージ管理情報記憶部４４１には、ドメインサーバ４４０で管理するパブリックストレージ４５０に記憶するファイルオブジェクトを特定する情報が記憶される。
【０４３１】
例えば、本実施形態においても、パブリックストレージ管理情報記憶部３４１には、図８に示すようなパブリックストレージ管理テーブル１４１ａが記憶されるが、パブリックストレージ管理テーブル１４１ａに格納するデータは第一の実施形態とは異なっている。
【０４３２】
図示するように、パブリックストレージ管理テーブル１４１ａは、パブリックストレージＩＰアドレスフィールド１４１ｂと、総容量フィールド１４１ｃと、空き容量フィールド１４１ｄと、プライベートストレージＩＰアドレスフィールド１４１ｅと、オブジェクトＩＤフィールド１４１ｆと、ブロック数フィールド１４１ｇと、タイムアウトフィールド１４１ｈと、各々のパブリックストレージ１５０毎に有する。
【０４３３】
パブリックストレージＩＰアドレスフィールド１４１ｂには、ドメインサーバ４４０で管理するパブリックストレージ４５０のＩＰアドレスが格納される。
【０４３４】
総容量フィールド１４１ｃには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ４５０において、ファイルオブジェクトを記憶するための割り当てられた総記憶容量が格納される。
【０４３５】
空き容量フィールド１４１ｄには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ３５０において、ファイルオブジェクトを記憶するための割り当てられた総記憶容量のうち、空き容量が記憶される。
【０４３６】
プライベートストレージＩＰアドレスフィールド１４１ｅには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ４５０に記憶されたファイルオブジェクトを送信する送信先のプライベートストレージ４２０のＩＰアドレスが格納される。
【０４３７】
オブジェクトＩＤフィールド１４１ｆには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ４５０に記憶されたファイルオブジェクトを特定するための識別情報が記憶される。
【０４３８】
ここで、本実施形態においては、ルータ４６０からの書き込み要求に含まれるオブジェクトＩＤがオブジェクトＩＤフィールド１４１ｆに格納される。
【０４３９】
ブロック数フィールド１４１ｇには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ４５０にファイルオブジェクトを記憶するために割り当てるブロック数が記憶される。
【０４４０】
タイムアウトフィールド１４１ｈには、パブリックストレージＩＰアドレスフィールド１４１ｂで特定されるパブリックストレージ４５０にファイルオブジェクトを記憶するために割り当てた領域を確保するタイムアウト値が格納される。このようなタイムアウト値を管理することにより、一定時間以上にわたり当該領域に対する割り当て継続要求がクライアント端末４７０より到達しない場合（例えば、クライアント端末４７０がダウンした場合等）に、当該領域の強制解放が可能になる。
【０４４１】
ドメイン管理部４４２は、ドメインサーバ４４０での全体の処理を制御し、特に、本実施形態においては、パブリックストレージ管理情報記憶部４４１に記憶する情報を管理する。
【０４４２】
ＩＦ部１４３は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【０４４３】
ここで、ドメインサーバ４４０についても、図１４に示すようなコンピュータ１９０により実現可能である。
【０４４４】
例えば、パブリックストレージ管理情報記憶部４４１は、外部記憶装置１９１により実現可能であり、ドメイン管理部４４２は、外部記憶装置１９１に記憶されている所定のプログラムをメモリ１９２にロードしてＣＰＵ１９３で実行することにより実現可能であり、ＩＦ部１４３は、通信装置１９６により実現可能である。
【０４４５】
図４３に戻り、パブリックストレージ４５０は、マップ管理情報記憶部４５１と、データ記憶部４５２と、データ管理部４５３と、ＩＦ部１５４と、を備えている。
【０４４６】
マップ管理情報記憶部４５１には、データ記憶部４５２に記憶するファイルオブジェクト毎に、ファイルオブジェクトを識別するための識別情報と、当該ファイルオブジェクトの格納位置を示す情報と、が少なくとも記憶される。
【０４４７】
例えば、本実施形態においては、マップ管理情報記憶部４５１には、第一の実施形態と同様に、図９に示すようなマップ管理テーブル１５１ａが記憶されるが、マップ管理テーブル１５１ａに格納されるデータは第一の実施形態と異なるものとなる。
【０４４８】
図示するように、マップ管理テーブル１５１ａは、オブジェクトＩＤフィールド１５１ｂと、内部オブジェクトＩＤフィールド１５１ｃと、公開／非公開ビットフィールド１５１ｄと、サイズ情報フィールド１５１ｅと、マッピング情報フィールド１５１ｆと、空きブロックリスト１５１ｇと、を有する。
【０４４９】
オブジェクトＩＤフィールド１５１ｂには、当該エントリに対応するファイルオブジェクトを識別するための情報が格納される。
【０４５０】
ここで、本実施形態においては、ルータ４６０から送信されてきたファイルオブジェクト（ＵＤＰデータ）を識別するためのオブジェクトＩＤが記憶される。
【０４５１】
内部オブジェクトＩＤフィールド１５１ｃには、当該エントリに対応する送信履歴ファイルオブジェクトを識別するための情報が格納される。
【０４５２】
公開／非公開ビットフィールド１５１ｄには、当該エントリに対応する送信履歴ファイルオブジェクトを公開するか非公開とするかを特定する情報が格納される。
【０４５３】
サイズ情報フィールド１５１ｅには、当該エントリに対応する送信履歴ファイルオブジェクトのデータサイズを特定する情報が格納される。なお、本実施形態においては、ブロック数が格納されるようになっている。
【０４５４】
マッピング情報フィールド１５１ｆには、当該エントリの送信履歴ファイルオブジェクトをデータ記憶部１５２に格納する位置を特定する情報が格納される。ここで、本実施形態においては、データ記憶部４５２のブロック番号が格納されるようになっている。
【０４５５】
なお、本実施形態においては、マッピング情報フィールド１５１ｆにブロック番号の他に、ＣＯＷビットも格納されており、後述するように、送信履歴ファイルオブジェクトの仮想コピーも実現可能にされている。
【０４５６】
データ記憶部４５２には、ルータ４６０から送信されてくるＵＤＰデータに対応するファイルオブジェクトが格納される。
【０４５７】
データ管理部４５３は、マップ管理情報記憶部４５１及びデータ記憶部４５２に記憶するデータを管理する処理を行う。
【０４５８】
ＩＦ部１５４は、ＩＰネットワーク１８０及びストレージネットワーク１８１を介して情報の送受信を行うためのインターフェースである。
【０４５９】
以上に記載したパブリックストレージ４５０についても、図１５に示すようなコンピュータ２９０により実現可能である。
【０４６０】
例えば、マップ管理情報記憶部４５１及びデータ記憶部４５２は、外部記憶装置２９１により実現可能であり、データ管理部４５３は、外部記憶装置２９１に記憶されている所定のプログラムをメモリ２９２にロードしてＣＰＵ２９３で実行することにより実現可能であり、ＩＦ部１５４は、通信装置２９４により実現可能である。
【０４６１】
図４４は、ルータ４６０の概略図である。
【０４６２】
図示するように、ルータ４６０は、蓄積管理情報記憶部４６８と、ルーティング処理部４６３と、データ変換部４６４と、第一のＩＦ部１６５と、第二のＩＦ部１６６と、を有する。
【０４６３】
蓄積管理情報記憶部４６８には、配信サーバ４１０と、クライアント端末４７０と、の間で確立される接続毎に、配信サーバ４１０から送られてくるＵＤＰデータをファイルオブジェクトとして、どのパブリックストレージ４５０に、どのような識別情報で記憶すべきかを特定する情報を記憶する。
【０４６４】
例えば、本実施形態においては、蓄積管理情報記憶部４６８に図４５（蓄積管理テーブル４６８ａの概略図）に示すような蓄積管理テーブル４６８ａを記憶する。
【０４６５】
図示するように、蓄積管理テーブル４６８ａは、配信サーバＩＰアドレスフィールド４６８ｂと、クライアントＩＰアドレスフィールド４６８ｃと、配信サーバポート番号フィールド４６８ｄと、クライアントポート番号フィールド４６８ｅと、ストレージＩＰアドレスフィールド４６８ｆと、オブジェクトＩＤフィールド４６８ｇと、を備えている。
【０４６６】
配信サーバＩＰアドレスフィールド４６８ｂには、接続されている配信サーバ４１０のＩＰアドレスが格納される。
【０４６７】
クライアントＩＰアドレスフィールド４６８ｃには、接続されているクライアント端末４７０のＩＰアドレスが格納される。
【０４６８】
配信サーバポート番号フィールド４６８ｄには、接続されている配信サーバ４１０のポート番号が格納される。
【０４６９】
クライアントポート番号フィールド４６８ｅには、接続されているクライアント端末４７０のポート番号が格納される。
【０４７０】
ストレージＩＰアドレスフィールド４６８ｆには、配信サーバ４１０から送られてくるＵＤＰデータをファイルオブジェクトとして格納するパブリックストレージ４５０のＩＰアドレスが格納される。
【０４７１】
オブジェクトＩＤフィールド４６８ｇには、配信サーバ４１０から送られてくるＵＤＰデータのオブジェクトＩＤが格納される。
【０４７２】
ルーティング処理部４６３は、第一のＩＦ部１６５又は第二のＩＦ部１６６から受信したパケットを転送するいわゆるルーティング処理を制御する。
【０４７３】
ここで、本実施形態においては、配信サーバ４１０から送信されたＵＤＰデータについては、クライアント端末４７０に転送せずに、パブリックストレージ４５０に転送する。
【０４７４】
データ変換部４６４は、クライアント端末４７０より受信した蓄積管理情報に基づいて、蓄積管理テーブル４６８ａを更新する。
【０４７５】
また、データ変換部４６４は、蓄積管理テーブル４６８ａに基づいて、配信サーバ４１０より受信したＵＤＰデータからファイルオブジェクトを生成して、ルーティング処理部４６３及び第二のＩＦ部１６６を介してパブリックストレージ４５０に送信する処理を制御する。
【０４７６】
第一のＩＦ部１６５及び第二のＩＦ部１６６は、ＩＰネットワーク１８０を介してデータを送受信するためのインターフェースである。
【０４７７】
ここで、ルータ４６０についても、図１６に示すようなコンピュータ３９０により実現可能である。
【０４７８】
例えば、蓄積管理情報記憶部４６８は、外部記憶装置３９１により実現可能であり、ルーティング処理部４６３及びデータ変換部４６４は、外部記憶装置３９１に記憶されている所定のプログラムをメモリ３９２にロードしてＣＰＵ３９３で実行することにより実現可能であり、第一のＩＦ部１６５は、通信装置３９４により実現可能であり、第二のＩＦ部１６６は、通信装置３９５により実現可能である。
【０４７９】
図４６は、クライアント端末４７０の概略図である。
【０４８０】
図示するように、クライアント端末４７０は、名前管理情報記憶部４７１と、ファイル記憶部４７２と、送信処理部４７３と、ファイル管理部４７４と、ＩＦ部４７５と、を備えている。
【０４８１】
名前管理情報記憶部４７１には、パス名と、当該パス名に対応するファイルオブジェクトを識別するための情報（オブジェクトＩＤ）と、を特定する情報が記憶されており、例えば、図３に示すような名前管理テーブル１１１ａが記憶される。
【０４８２】
ファイル記憶部４７２は、プライベートストレージ４２０より転送されたファイルオブジェクトを記憶する。
【０４８３】
送信処理部４７３は、配信サーバ４１０に対して、接続要求及び配信要求を送信する処理を制御する。
【０４８４】
送信処理部４７３は、ドメインサーバ４４０に対して、ストレージ領域割り当て要求を発行する処理を制御する。
【０４８５】
また、送信処理部４７３は、配信サーバ４１０に接続要求及び配信要求を送信する前に、ルータ４６０に対して、配信サーバ４１０から送信されてくるＵＤＰデータをどのようなファイルＩＤとして、どのパブリックストレージ４５０に格納すればよいかを特定する蓄積管理情報を送信する処理を制御する。
【０４８６】
ここで、ルータ４６０には、例えば、図４７（複製管理情報４８６の概略図）に示されているような複製管理情報４８６を送信する。
【０４８７】
図示するように、複製管理情報４８６は、配信サーバＩＰアドレス格納領域４８６ａと、クライアントＩＰアドレス格納領域４８６ｂと、配信サーバポート番号格納領域４８６ｃと、クライアントポート番号格納領域４８６ｄと、ストレージＩＰアドレス格納領域４８６ｅと、オブジェクトＩＤ格納領域４８６ｆと、を有している。なお、これらの領域に記憶される情報については後述する。
【０４８８】
また、送信処理部４７３は、パブリックストレージ４５０に対して、オブジェクトＩＤ及びプライベートストレージ４２０のＩＰアドレスを指定した取得要求を送信し、当該オブジェクトＩＤで特定されるオブジェクトをパブリックストレージ３５０からプライベートストレージ３２０に転送して、クライアント端末４７０に取り込む処理を制御する。
【０４８９】
ファイル管理部４１４は、名前管理情報記憶部４７１及びファイル記憶部４７５に記憶する情報を管理する処理を行う。
【０４９０】
ＩＦ部４７５は、ＩＰネットワーク１８０を介した情報の送受信を行うためのインターフェースである。
【０４９１】
ここで、クライアント端末４７０ついても、図１４に示すようなコンピュータ１９０により実現可能である。
【０４９２】
例えば、名前管理情報記憶部４７１及びファイル記憶部４７２は、外部記憶装置１９１により実現可能であり、送信処理部４７３及びファイル管理部４７４は、外部記憶装置１９１に記憶されている所定のプログラムをメモリ１９２にロードしてＣＰＵ１９３で実行することにより実現可能であり、ＩＦ部４７５は、通信装置１９６により実現可能である。
【０４９３】
以上のように構成される配信システム４００における全体的な処理の流れを、図４８に示すフローチャートを用いて説明する。
【０４９４】
まず、クライアント端末４７０の送信処理部４７３は、ドメインサーバ４４０に対してストレージ領域の割り当て要求を発行し、ドメインサーバ４４０のドメイン管理部４４２は、第一の実施形態と同様に、パブリックストレージ管理テーブル１４１ａを用いて、特定のパブリックストレージ４５０に特定の領域を確保する（Ｓ３０００）。このとき、ドメインサーバ４４０のドメイン管理部４４２は、特定の領域を確保したパブリックストレージ４５０のＩＰアドレスを配信サーバ３１０に返信する。
【０４９５】
次に、クライアント端末４７０の送信処理部４７３は、ルータ４６０に蓄積管理情報を送信する（Ｓ３００１）。この蓄積管理情報には、パブリックストレージ４５０のＩＰアドレスと、オブジェクトＩＤと、が含まれているものとする。そして、このような蓄積管理情報を取得したルータ４６０では、データ変換部４６４が蓄積管理情報記憶部４６８に記憶されている蓄積管理テーブル４６８ａの更新が行われる。
【０４９６】
次に、クライアント端末４７０の送信処理部４７３は、配信サーバ４１０に接続要求及び配信要求を送信し（Ｓ３００２）、これらの接続要求及び配信要求を受信した配信サーバ４１０では、送信処理部４１３がＵＤＰデータを送信する（Ｓ３００３）。
【０４９７】
ＵＤＰデータを受信したルータ４６０では、データ変換部４６４が、蓄積管理テーブル４６８ａに基づいて受信したＵＤＰデータをパブリックストレージ４５０に書き込む（Ｓ３００４）。
【０４９８】
次に、クライアント端末４７０の送信処理部４７３は、パブリックストレージ４５０に対してファイルオブジェクトの取得要求を行うことで、ファイルオブジェクトがプライベートストレージ４２０に転送される（Ｓ３００５）。
【０４９９】
次に、クライアント端末４７０の送信処理部４７３は、プライベートストレージ４２０からファイルオブジェクトを取得する（Ｓ３００６）。
【０５００】
図４９は、クライアント端末４７０からルータ４６０に蓄積管理情報を送信する処理を示すフローチャートである。
【０５０１】
まず、クライアント端末４７０の送信処理部４７３は、ＩＦ部４７５を介して、ルータ４６０に蓄積管理情報を送信する（Ｓ３１００）。
【０５０２】
ここで、図４７に示すような蓄積管理情報４８６において、配信サーバＩＰアドレス格納領域４８６ａには配信サーバ４１０のＩＰアドレスが格納され、クライアントＩＰアドレス格納領域４８６ｂにはクライアント端末４７０のＩＰアドレスが格納され、配信サーバポート番号格納領域４８６ｃには配信サーバ４１０のポート番号が格納され、クライアントポート番号格納領域４８ｄにはクライアント端末４７０のポート番号が格納され、ストレージＩＰアドレス格納領域４８６ｅには図４８のステップＳ３０００で確保されたパブリックストレージ４５０のＩＰアドレスが格納され、オブジェクトＩＤ格納領域４８６ｆにはプライベートストレージ４２０から取得したオブジェクトＩＤが格納される。なお、オブジェクトＩＤについては、第二の実施形態においてパブリックストレージに対して発行したのと同様の方法で、プライベートストレージ４２０に対してダミーファイルの作成要求を発行することにより、プライベートストレージ４２０から返信されたものを使用すればよい。
【０５０３】
次に、ルータ４６０のデータ変換部４６４は、受信した蓄積管理情報に基づいて、蓄積管理情報記憶部４６８に記憶されている蓄積管理テーブル４６８ａを更新する（Ｓ３１０１）。ここでの更新は、蓄積管理テーブル４６８ａの各フィールドに蓄積管理情報の対応する値を格納するものである。
【０５０４】
次に、ルータ４６０のデータ変換部４６４は、蓄積管理情報でＩＰアドレスが特定されているパブリックストレージ４５０に、蓄積管理情報で指定されたオブジェクトＩＤを含むダミーファイルの作成要求を発行する（Ｓ３１０２）。
【０５０５】
次に、このようなダミーファイルの作成要求を受信したパブリックストレージ４５０では、データ管理部４５３が、マップ管理情報記憶部４５１に記憶されているマップ管理テーブル１５１ａを探索し、空き内部オブジェクトＩＤを取得し、ダミーファイル用の新規エントリを作成する（Ｓ３１０３）。
【０５０６】
ここで、ステップＳ３１０３における新規エントリのオブジェクトＩＤフィールド１５１ｂには、ダミーファイルの作成要求に含まれているオブジェクトＩＤを格納する。公開／非公開ビットフィールド１５１ｄには、公開ビットを設定する。サイズ情報フィールド１５１ｅには「０」を設定する。マッピング情報フィールド１５１ｆには何も設定しない。
【０５０７】
図５０は、配信サーバ４１０からクライアント端末４７０に対してＵＤＰデータを送信する際の処理を示すフローチャートである。
【０５０８】
まず、クライアント端末４７０から、接続要求及び配信要求を受信した配信サーバ４１０では、送信処理部４１３がデータ記憶部４１６に記憶されているファイルオブジェクトをＵＤＰデータとしてルータ４６０に送信する（Ｓ３２００）。ここで、送信するＵＤＰデータは、第二の実施形態におけるＵＤＰデータ３８５［図３４（Ｂ）参照］と同様の構造を有するものとする。
【０５０９】
次に、ＵＤＰデータを受信したルータ４６０では、データ変換部４６４が受信したＵＤＰデータに格納されている配信サーバ４１０のＩＰアドレス、クライアント端末４７０のＩＰアドレス、配信サーバ４１０のポート番号、クライアント端末４７０のポート番号に従い、対応する蓄積管理テーブル４６８ａを検索し、当該テーブルに格納されているパブリックストレージ４５０に対して、当該テーブルに格納されているオブジェクトＩＤを特定して、受信したＵＤＰデータを転送する（Ｓ３２０１）。
【０５１０】
このようなＵＤＰデータを受信したパブリックストレージ４５０では、データ管理部４５３が、マップ管理情報テーブル４５１ａを検索して、受信したＵＤＰデータに含まれているオブジェクトＩＤをオブジェクトＩＤフィールド１５１ｂとして持つエントリを特定して、当該エントリを更新する（Ｓ３２０２）。ここで、この更新は、空きブロックリストフィールド１５１ｇから空きブロックを確保し、当該エントリのマッピング情報フィールド１５１ｆに登録し、ＣＯＷビットは「０」に設定し、サイズ情報フィールド１５１ｅの値はインクリメントする。そして、データ管理部４５３は、確保した空きブロックに受信したＵＤＰデータを書き込む。
【０５１１】
以上のように本実施形態を構成することにより、ルータ４６０とクライアント端末４７０との間で大きな送信遅延のゆらぎが生じたとしても、パブリックストレージ４５０にてバッファリングを行うことができ、クライアント端末４７０側でのバッファオーバフローを発生することなく、配信サーバ４１０から大容量のデータの受信が可能になる。
【０５１２】
なお、以上に記載した実施形態においては、パブリックストレージ４５０に蓄積されたファイルオブジェクトをプライベートストレージ４２０に転送するようにしているが、このような態様に限定されず、本実施形態においても、例えば、図２６に示すような配信システム２００として構成することも可能である。このような場合、パブリックストレージ２５０に蓄積されているファイルオブジェクトを、ＩＰネットワーク１８０を介して、クライアント端末１７０に転送し、当該クライアント端末１７０の外部記憶装置に記憶するようにすることで、上述の配信システム４００と同様の効果を発揮することができるようになる。なお、このような場合には、パブリックストレージ２５０の代わりにクライアント端末１７０が専用に使用するプライベートストレージにファイルオブジェクトを蓄積するようにすることも可能である。
【０５１３】
また、以上に記載した実施形態においては、ルータ４６０を介して、ファイルオブジェクト（ＵＤＰデータ）をパブリックストレージ４５０に蓄積するようにしているが、このような態様に限定されず、例えば、ルータ４６０と同様の構成を有する通信装置（サーバ）をＩＰネットワーク１８０に配置することで、ファイルオブジェクト（ＵＤＰデータ）をパブリックストレージ４５０に蓄積するようにしてもよい。
【０５１４】
以上に記載した実施形態においては、ストレージネットワーク１８１をＩＰを用いたものとして構成しているが、このような態様に限定されるわけではなく、例えば、ＦＣＰ（Fibre Channel Protokcol）、ＳＣＳＩ（Small Computer System Interface）プロトコル、ｉＳＣＳＩ（Internet Small Computer System Interface）プロトコル等を用いルことも可能である。このような場合には、ネットワークストレージ１８１とＩＰネットワーク１８０との間にプロトコルを変換するゲートウェイ等の装置を設けておけばよい。
【図面の簡単な説明】
【０５１５】
【図１】第一の実施形態である配信システムの概略図。
【図２】配信サーバの概略図。
【図３】名前管理テーブルの概略図。
【図４】ＩＤ管理情報テーブルの概略図。
【図５】プライベートストレージの概略図。
【図６】マップ管理テーブルの概略図。
【図７】ストレージシステムの概略図。
【図８】パブリックストレージ管理テーブルの概略図。
【図９】マップ管理テーブルの概略図。
【図１０】ルータの概略図。
【図１１】シーケンス管理テーブルの概略図。
【図１２】受信待ちデータリスト、Ｉ／Ｏ待ちデータリスト及び送信待ちデータリストの概略図。
【図１３】（Ａ）データコンテナの概略図、（Ｂ）ＴＣＰデータの概略図。
【図１４】コンピュータの概略図。
【図１５】コンピュータの概略図。
【図１６】コンピュータの概略図。
【図１７】配信システムにおける全体的な処理を示すフローチャート。
【図１８】配信サーバとドメインサーバとの間のストレージ割り当て要求、および、その応答の送受信処理を示すフローチャート。
【図１９】配信サーバとプライベートストレージとの間のファイルオブジェクトの複製要求、および、その応答の送受信処理を示すフローチャート。
【図２０】遅延コピーのフローチャート。
【図２１】配信サーバとプライベートストレージとの間のファイルオブジェクトの転送要求、および、その応答の送受信処理を示すフローチャート。
【図２２】クライアント端末と配信サーバとの間の接続要求とその応答、配信要求とその応答の送受信処理、および、配信サーバとルータとの間のＴＣＰシーケンス状態情報の送受信処理を示すフローチャート。
【図２３】配信サーバとルータとの間のデータコンテナの送受信処理、および、ルータとクライアント端末との間のＴＣＰデータの送受信処理を示すフローチャート。
【図２４】クライアント端末とルータとの間、および、ルータと配信サーバとの間、での送達確認の送受信処理を示すフローチャート。
【図２５】再送処理を示すフローチャート。
【図２６】配信システムの概略図。
【図２７】ファイルオブジェクトの転送処理を示すフローチャート。
【図２８】第二の実施形態である配信システムの概略図。
【図２９】配信サーバの概略図。
【図３０】プライベートストレージの概略図。
【図３１】ストレージシステムの概略図。
【図３２】ルータの概略図。
【図３３】複製管理テーブルの概略図。
【図３４】（Ａ）複製管理情報の概略図、（Ｂ）ＵＤＰデータの概略図。
【図３５】配信システムにおける全体的な処理を示すフローチャート。
【図３６】配信サーバとドメインサーバとの間のストレージ領域割り当て要求の送受信処理を示すフローチャート。
【図３７】配信サーバとルータとの間の複製管理情報の送受信処理を示すフローチャート。
【図３８】配信サーバからルータを介してクライアント端末にＵＤＰデータを送信する処理を示すフローチャート。
【図３９】配信サーバがパブリックストレージから送信履歴ファイルオブジェクトを取得する処理を示すフローチャート。
【図４０】第三の実施形態である配信システムの概略図。
【図４１】配信サーバの概略図。
【図４２】プライベートストレージの概略図。
【図４３】ストレージシステムの概略図。
【図４４】ルータの概略図。
【図４５】蓄積管理テーブルの概略図。
【図４６】クライアント端末の概略図。
【図４７】複製管理情報の概略図。
【図４８】配信システムにおける全体的な処理を示すフローチャート。
【図４９】クライアント端末からルータに蓄積管理情報を送信する処理を示すフローチャート。
【図５０】配信サーバからクライアント端末に対してＵＤＰデータを送信する際の処理を示すフローチャート。
【符号の説明】
【０５１６】
１００、２００、３００、４００  配信システム
１１０、２１０、３１０、４１０  配信サーバ
１１１  名前管理情報記憶部
１１２  ＩＤ管理情報記憶部
１１３、３１３  送信処理部
１１４、３１４  ファイル管理部
１１５  ＩＦ部
３１６、４１６  データ記憶部
１２０、３２０、４２０  プライベートストレージ
１２１、３２１、４２１  マップ管理情報記憶部
１２２、３２２、４２２  データ記憶部
１２３、３２３、４２３  データ管理部
１２４  ＩＦ部
１３０、３３０、４３０  ストレージシステム
１４０、３４０、４４０  ドメインサーバ
１４１、３４１、４４１  パブリックストレージ管理情報記憶部
１４２、３４２、４４２  ドメイン管理部
１４３  ＩＦ部
１５０、２５０、３５０、４５０  パブリックストレージ
１５１、３５１、４５１  マップ管理情報記憶部
１５２、３５２、４５２  データ記憶部
１５３、３５３、４５３  データ管理部
１５４  ＩＦ部
１６０、３６０、４６０  ルータ
１６１  シーケンス管理情報記憶部
１６２  再送バッファ記憶部
１６３、４６３  ルーティング処理部
１６４、３６４、４６４  データ変換部
１６５  第一のＩＦ部
１６６  第二のＩＦ部
３６７  複製管理情報記憶部
４６８  蓄積管理情報記憶部
１７０、４７０  クライアント端末
４７１  名前管理情報記憶部
４７２  ファイル記憶部
４７３  送信処理部
４７４  ファイル管理部
４７５  ＩＦ部
【図１】
2008152699.tif 000003
【図２】
2008152699.tif 000004
【図３】
2008152699.tif 000005
【図４】
2008152699.tif 000006
【図５】
2008152699.tif 000007
【図６】
2008152699.tif 000008
【図７】
2008152699.tif 000009
【図８】
2008152699.tif 000010
【図９】
2008152699.tif 000011
【図１０】
2008152699.tif 000012
【図１１】
2008152699.tif 000013
【図１２】
2008152699.tif 000014
【図１３】
2008152699.tif 000015
【図１４】
2008152699.tif 000016
【図１５】
2008152699.tif 000017
【図１６】
2008152699.tif 000018
【図１７】
2008152699.tif 000019
【図１８】
2008152699.tif 000020
【図１９】
2008152699.tif 000021
【図２０】
2008152699.tif 000022
【図２１】
2008152699.tif 000023
【図２２】
2008152699.tif 000024
【図２３】
2008152699.tif 000025
【図２４】
2008152699.tif 000026
【図２５】
2008152699.tif 000027
【図２６】
2008152699.tif 000028
【図２７】
2008152699.tif 000029
【図２８】
2008152699.tif 000030
【図２９】
2008152699.tif 000031
【図３０】
2008152699.tif 000032
【図３１】
2008152699.tif 000033
【図３２】
2008152699.tif 000034
【図３３】
2008152699.tif 000035
【図３４】
2008152699.tif 000036
【図３５】
2008152699.tif 000037
【図３６】
2008152699.tif 000038
【図３７】
2008152699.tif 000039
【図３８】
2008152699.tif 000040
【図３９】
2008152699.tif 000041
【図４０】
2008152699.tif 000042
【図４１】
2008152699.tif 000043
【図４２】
2008152699.tif 000044
【図４３】
2008152699.tif 000045
【図４４】
2008152699.tif 000046
【図４５】
2008152699.tif 000047
【図４６】
2008152699.tif 000048
【図４７】
2008152699.tif 000049
【図４８】
2008152699.tif 000050
【図４９】
2008152699.tif 000051
【図５０】
2008152699.tif 000052