明細書
コンテンツ配信システム及びコンテンツ配信方法 技術分野
本発明は、 クライアントサーバシステムにおけるコンテンツの配信システ ム及びコンテンツ配信方法に関する。 背景技術
インターネッ トに代表される広域 I Pネッ トワークを利用した情報通信の 普及は、 特定のホス ト間で情報 (コンテンツ) を送受信するという情報通信 の形態以外に、 不特定多数のクライアントからの要求に応答して、 複数のコ ンテンッの中から選択された任意のコンテンツを、 そのクライアントに配信 するコンテンツ配信サーバ (以下、 WWWサーバと呼ぶ。) を、 その広域 I P ネッ トワーク上に設置し、 その不特定多数のクライアントからのコンテンツ 配信要求に応答して、 コンテンツを配信するという情報通信の形態が生み出 された。 このような情報通信形態は、 現代社会の情報化に大きく貢献してい る。 従来の情報通信技術を用いた W W Wサーバは、 その広域 I Pネッ トヮ一 クに接続された複数のクライアントからコンテンツ配信要求が送信された場 合、 その各々のコンテンツ配信要求に対して、 一対一で応答している。 した がって従来の技術では、 不特定多数のクライアントからコンテンツ配信要求 が一時に集中すると、 ネッ トワーク上で一定時間内に転送されるデータ量が 増大し、 コンテンツ全体を送信することができなくなる場合がある。 すなわ ち、 コンテンツ全体がクライアントに到達するまでの時間 (応答時間) が多 く必要になる。
この問題を解決する技術として、 図 1 に示されるように、 複数のクライア ントから構成されたグループ (例 : インターネッ ト接続事業者に接続する複 数のクライアントや企業内 L A Nなど) 毎にキャッシュサーバを設置し、 W W Wサーバに格納された複数のコンテンツをミラーリ ングすることにより、 広域 I Pネッ トワーク上を通過するバケツ ト量を低減させる方法が取られて
いる。
W WWサーバとクライアントとを接続するネッ トワーク上に、 複数のキヤ ッシュサーバを設置し、 その複数のキャッシュサーバの各々に n個クライア ン卜が接続させ、 キヤッシュサーバが設置されていない場合は W W Wサーバ から直接配信されるコンテンツを、 その複数のキャッシュサーバの各々にミ ラーリ ングさせることにより、 WWWサーバとキャッシュサーバとの間で転 送されるデータ量を、 キャッシュサーバを設置せず全てのクライアントが直 接 wwwサーバと通信した場合の wwwサーバとクライアントとの間で転送 されるデータ量の η分の 1にすることができる。
しかし、 キャッシュサーバ上のコンテンツはあくまでもオリジナルコンテ ンッの複製であるので、 wwwサーバのオリジナルコンテンッが更新された 場合、 キャッシュサーバから、 wwwサーバへのコンテンツ送信要求が増大 する。 このとき広域 I Pネッ トワークを通過するパケッ ト量はキャッシュサ ーバ数に比例する。 つまりキャッシュサーバの数が多くなるほど、 wwwサ ーバに対するアクセスが同時に発生した時に、 その W W Wサーバが単位時間 内に処理するべきデータ量が増大する。
また、 従来クライアントサーバシステムを用いて広域 I Pネッ トワークで 通信を行う場合、 F T Pや H T T Pのようなポイントツーポイント型の通信 が行われている。 このような通信では、 サーバはクライアントからのコンテ ンッの配信要求に基づいて、 コンテンツの送信を行う ことになる。 このよう に、 キャッシュサーバを多く設置すると、 コンテンツ配信サーバがコンテン ッ配信時に送信するデータ量が、 ネッ トワーク内に設置されたキヤッシュサ ーバの数に比例して増大する。
さて、 クライアントサーバシステムを用いてデータの転送を行う場合にお いて、 ネッ トワークに接続されたサーバから送信されるデータ量を、 そのネ ッ 卜ワーク上のクライアント数に影響を受けることなく、 一定にしたまま通 信を行う技術として、 国際特許出願番号 P C T / J P 0 2 / 0 0 1 8 1 に開 示された技術が知られている。 この技術は、 クライアントサーバシステムを 用いたデータ通信技術において、 ネッ トワーク上で一定時間内に転送される
データ量の増大を防止する技術として画期的なものである。
国際特許出願番号 P C T / J P 0 2 / 0 0 1 8 1 に開示された技術は特定 サーバと特定クライアントとの間での通信に効果がある。 さらに、 広域 I P ネッ トワークにおいて、 その広域 I Pネッ トワーク上に接続される不特定多 数のクライアントとサーバとの間で通信が行われる場合、 その不特定多数の クライアン卜の数に影響を受けることなく、 一定時間内に転送されるデータ 量の増大を防止する技術が望まれる。 発明の開示
本発明の目的は、 キャッシュサーバの数量によらず、 コンテンツを配信す るサーバから広域 I Pネッ トワークに送信される単位時間あたりの通信量を 一定にするコンテンツ配信システム、 及び、 コンテンツ配信方法を提供する ことにある。 特に、 コンテンツ A への操作により次に要求される確度の高い コンテンツ B を含めたコンテンツとして、 配信サーバから中継クライアント に対してコンテンツの配信を行なうような場合において、 中継クライアント の数が増えても、 配信サーバから広域 I Pネッ トワークに送出されるコンテン ッを分割したブロックの数量が変化しないため、 配信サーバにかかる負荷が 一定となるコンテンツ配信システム、 及び、 コンテンツ配信方法を提供する ことにある。 ネッ トワークと、 前記ネッ トワークに接続され前記ネッ トワークを介して 複数のコンテンツを配信する配信サーバと、 前記ネッ トワークに接続され、 前記ネッ トワークを介して前記コンテンツを受信する複数の中継クライアン 卜と、 前記ネッ トワークに接続され、 前記ネッ トワークを介して前記複数の 中継クライアントの各々に接続される複数のクライアントとを含むネッ トヮ —クシステムを構築し、 前記配信サーバは、 複数のコンテンツを格納し、 前 記中継クライアントの少なくとも一つは、 前記複数のコンテンツの少なく と も一つのコンテンツの配信を要求するコンテンツ配信要求を送信し、 前記配 信サーバは、 前記コンテンツ配信要求に応答して、 前記要求されたコンテン
ッを複数のブロックに分割し、 前記ネッ トワークを介して前記中継クライァ ントに送信し、 前記要求されたコンテンツの送信の途中に、 他の中継クライ アントから要求された前記コンテンッのコンテンッ配信要求に応答して、 前 記中継クライアントに未送信のブロックを、 前記中継クライアントと前記他 の中継クライアントに送信し、 前記中継クライアントに送信済みのブロック を前記他の中継クライアントに送信するコンテンツ配信システムを用いてコ ンテンッの配信を行う。
そのコンテンツ配信システムにおいて、 さらに、 前記配信サーバは、 前記 コンテンッを複数のプロックに分割し、 前記複数のブロックを所定の順序で 送信し、 前記送信の途中に、 前記他の中継クライアントから要求された前記 コンテンツのコンテンツ配信要求に応答して、 前記他の中継クライアントに 対するコンテンツの送信を、 前記中継クライアントに未送信のブロックから 開始し、 前記ブロックの送信を循環的に繰り返す。
そのコンテンツ配信システムにおいて、 さらに、 前記複数のクライアント の少なくとも一つは、 前記クライアントが接続する中継クライアントにコン テンッ送信要求を送信し、 前記中継クライアントは、 前記コンテンツ送信要 求に応答して、 コンテンッ配信要求を前記配信サーバに送信する。
そのコンテンツ配信システムにおいて、 さらに、 前記複数の中継クライァ ン トの各々は、 記憶部を含み、 前記記憶部は、 前記配信サーバから送信され たコンテンツを格納し、 前記複数の中継クライアントの各々は、 前記複数の クライアントの少なく とも一つから要求されたコンテンツ送信要求に応答し て、 前記記憶部に格納したコンテンツまたは、 前記配信サーバから送信され たコンテンツを前記クライアントに配信する。
そのコンテンツ配信システムにおいて、 さらに、 前記複数の中継クライァ ントの各々は、 前記複数のクライアントの少なく とも一つから送信されたコ ンテンッ送信要求に応答して、 前記配信サーバに格納された前記コンテンツ の更新日時を検索し、 前記検索の結果、 前記記憶部に格納されたコンテンツ の更新日時と、 前記配信サーバに格納されたコンテンッの更新日時とを比較 し、 前記比較の結果、 前記更新日時が異なる場合、 前記配信サーバに最新コ
ンテンッ配信要求を送信し、 前記配信サーバは、 前記中継クライアントから 送信された前記最新コンテンツ配信要求に応答して、 前記最新コンテンッを 送信し、 前記中継クライアントは、 前記送信された最新コンテンツを受信し、 前記受信に応答して前記中継クライアントの記憶部のコンテンツを前記最新 コンテンツに更新し、 前記最新コンテンツを前記クライアントに配信する。 そのコンテンツ配信システムにおいて、 さらに、 前記複数の中継クライァ ントの各々は、 前記複数のクライアントの少なく とも一つから送信されたコ ンテンッ送信要求に応答して、 前記配信サーバに格納された前記コンテンツ の更新日時をを検索し、 前記検索の結果、 前記記憶部に格納されたコンテン ッの更新日時と、 前記配信サーバに格納されたコンテンツの更新日時とを比 較し、 前記比較の結果、 前記更新日時が同一の場合、 前記複数の中継クライ アン卜の各々は、 前記記憶部に格納されたコンテンツを前記クライアントに 送信する。
そのコンテンツ配信システムにおいて、 さらに、 前記中継クライアントは、 前記コンテンツ配信要求に応答して前記配信サーバから送信された前記コン テンッの複数のブロックの、 少なく とも一つのプロックを受信しなかった場 合、 前記未受信のブロックの再送信要求を前記配信サーバに送信し、 前記配 信サーバは、 前記再送信要求に応答して、 前記中継クライアントに前記未受 信のブロックを送信する。
そのコンテンツ配信システムにおいて、 さらに、 前記配信サーバは、 前記 再送信要求された前記未受信のブロックの再送信中に、 他の中継クライアン 卜から、 前記コンテンツに対するコンテンツ配信要求を受信した場合、 前記 コンテンツ配信要求に応答して、 前記中継クライアントに未送信のブロック を前記中継クライアントのア ドレスと前記他の中継クライアントのアドレス に送信し、 前記中継クライアントに送信済みのプロックを前記他の中継クラ イアントに送信する。
そのコンテンツ配信システムにおいて、 さらに、 前記配信サーバは、 前記 再送信要求された前記未受信のプロックを所定の順序で送信し、 前記送信の 途中に、 前記他の中継クライアントから要求された前記コンテンツのコンテ
ンッ配信要求に応答して、 前記他の中継クライアントに対するコンテンツの 送信を、 前記中継クライアントに未送信のブロックから開始し、 前記送信を 循環的に繰り返し、 前記再送信要求された前記未受信のブロックの送信完了 後、 前記他の中継クライァントに未送信のプロックを送信する。
そのコンテンッ配信システムにおいて、 さらに、 前記中継クライアントは、 前記複数のブロックに分割された前記コンテンッの全てのプロックの受信を 完了した場合、 前記配信サーバにコンテンツ受信完了通知を送信し、 前記配 信サーバは、 前記コンテンツ受信完了通知に応答して、 前記コンテンツの受 信を継続中の他の中継クライアン卜が存在するかどうかを検索する。
その: ンテンッ配信シス丁ムにおいて、 さらに、 前記配信サ一バは 、 刖記 検索の結果 、 刖 己コンテンッの受信を継続中の他の中継クライァン卜が存在 する場合、 前記他の中継クラィァン卜に対する前記コンテンツの送信を循環 的に繰り返し、
前記検索の結果、 前記コンテンッの受信を継続中の他の中継クライァン が存在しない場合、 前記コンテンツの送信を終了する。
そのコンテンッ配信システムにおいて、 さらに、 制御サ ハ、を含み、 刖 己 複数の中継クラィァン卜の少なく とも一つは、 前記制御サ一バに配信サーバ ァドレス通知要求を送信し、 前記制御サーノ^は、 目 sd送信された配信サーバ ァ ドレス通知要求に )、答して、 前記中継クライアン卜に、 刖記コンテンッを 配信する配信サ一ハ、の 7 ドレスを送信し、 前記中継クライァン卜は、 前記ァ ド、レスに目 IJ記 ンテンッ配信要求を送信する。
そのコンテン 、 Jヽ 配信システムにおいて、 さらに、 前記制御サーバは、 刖 S己 送信された配信サーバァ ドレス通知要求に応答して、 前記配信サ一バに格納 された前記コンテンッの更新日時を通知し 、 前記中継クラィァン卜は、 m 通知に基づいて刖 Sし øし憶部に格納されたコンテンッの更新曰時と 、 FJU sri配信 サーバに格納されたコンテンツの更新日時とを比較する。
そのコンテンツ配信システムにおいて、 さらに、 前記複数の中継クライァ ン トの各々は、 前記比較の結果、 前記更新日時が異なる場合、 前記配信サ一 バに最新コンテンツ配信要求を送信し、 前記配信サーバは、 前記中継クライ
アン卜から送信された前記最新コンテンツ配信要求に応答して、 前記最新コ ンテンッを送信し、 前記中継クライアントは、 前記送信された最新コンテン ッを受信し、 前記受信に応答して前記中継クライアン卜の記憶部のコンテン ッを前記最新コンテンッに更新し、 前記最新コンテンッを前記クライアン卜 に配信し、 前記比較の結果、 前記更新日時が同一の場合、 前記複数の中継ク ライアントの各々は、 前記記憶部に格納されたコンテンツを前記クライアン 卜に送信する。
そのコンテンツ配信システムにおいて、 さらに、 WW Wサーバを含み、 前 記複数の中継クライアントの少なく とも一つは、 前記制御サーバに配信サー バアドレス通知要求を送信し、 前記制御サーバは、 前記送信された配信サー バアドレス通知要求に応答して、 前記中継クライアントに、 前記配信サーバ のアドレスまたは前記 wwwサーバのァドレスを送信する。
そのコンテンツ配信システムにおいて、 さらに、 前記制御サーバは、 前記 送信された配信サーバア ドレス通知要求に応答して、 前記配信サーバに、 コ ンテンッの配信が可能であるかを問い合わせ、 前記配信サーバからコンテン ッの配信が可能な場合、 前記配信サーバのァドレスを前記中継クライアント に送信し、 前記配信サーバからコンテンツ配信が不可能な場合、 前記 WW W サーバからコンテンッの配信が可能かを問い合わせ、 前記 wwwサーバから コンテンツの配信が可能な場合、 前記 WW Wサーバのァドレスを前記中継ク ライアントに送信し、 前記配信サーバまたは WW Wサーバからコンテンツの 配信が不可能な場合、 前記中継クライアントにエラー応答を送信する。
そのコンテンツ配信システムにおいて、 配信サーバは制御サーバからの指 示により、 wwwサーバからコンテンツのコピー (同期) を行なう際に、 コ ンテンッを中継クライアントに配信していた場合、 そのときに配信を受けて いた中継クライアントに対して配信を一時中断し、 コンテンツの更新 (同期) が終了したら、 各中継クライアントに C T— R E S E N Dメッセージを送信 し、 最新のコンテンツの配信を再開する。 各中継クライアントは、 C T— R E S E N Dメッセージに応答して、 そのときに受信していたコンテンツを破 棄して新たにコンテンツの受信を開始する。
そのコンテンツ配信システムにおいて、 さらに、 前記中継クライアントと 前記クライアントが 1の装置に備えられたシステムを用いて、 前記中継クラ イアントと前記クライアントの各々が前記装置の資源 (C P Uや記憶装置な ど) を共有するコンテンツ配信システムを用いてコンテンツの配信を行う。 ネッ トワークと、 前記ネッ トワークに接続され、 前記ネッ トワークを介し て複数のコンテンツを配信する配信サーバと、前記ネッ トワークに接続され、 前記ネッ トワークを介して前記コンテンツを受信する複数の中継クライアン 卜と、 前記ネッ トワークに接続され、 前記ネッ トワークを介して前記複数の 中継クライアントの各々に接続される複数のクライアントとを含むコンテン ッ配信システムを動作するプログラムであって、 複数のコンテンツを格納す るステップと、 前記複数のコンテンツの少なく とも一つのコンテンツの配信 を要求するコンテンツ配信要求を送信するステップと、 前記コンテンツ配信 要求に応答して、 前記要求されたコンテンツを複数のブロックに分割するス テツプと、 前記複数のプロックを送信するステップと、 前記中継クライアン 卜に、 前記要求されたコンテンツの送信の途中に、 他の中継クライアントか ら要求された前記コンテンツのコンテンツ配信要求に応答して、 前記中継ク ライアン卜に未送信のプロックを、 前記中継クライアントと前記他の中継ク ライアン卜に送信するステップと、 前記中継クライアントに送信済みのプロ ックを前記他の中継クライアントに送信するステップとを具備する方法をコ ンピュ一夕で実行可能なプログラムを用いてコンテンツ配信システムを動作 させる。
さらに、 前記コンテンッを複数のプロックに分割するステツプと前記複数 のブロックを所定の順序で送信するステップと、 前記送信の途中に、 前記他 の中継クライアントから要求された前記コンテンツのコンテンツ配信要求に 応答して、 前記他の中継クライアントに対するコンテンツの送信を、 前記中 継クライアントに未送信のブロックから開始するステップと、 前記複数のブ ロックの送信を循環的に繰り返すステップとを具備する方法をコンピュータ で実行可能なプログラムを用いてコンテンツ配信システムを動作させる。 さらに、 少なく とも一つのクライアントがコンテンツ送信要求を送信する
ステップと、 前記中継クライアントは、 前記コンテンツ送信要求に応答して、 コンテンッ配信要求を送信するステツプと、 を具備する方法をコンピュー夕 で実行可能なプログラムを用いてコンテンツ配信システムを動作させる。 さらに、 前記複数の中継クライアントの各々は、 記憶部を含み、 前記記憶 部は、 前記配信サーバから送信されたコンテンツを格納するステップと、 前 記コンテンッ送信要求に応答して、前記記憶部に格納したコンテンツまたは、 前記配信サーバから送信されたコンテンツを前記クライアン卜に配信するス テツプとを具備する方法をコンピュータで実行可能なプログラムを用いてコ ンテンッ配信システムを動作させる。
さらに、 前記コンテンツ送信要求に応答して、 前記コンテンツの更新日時 を検索するステップと、 前記検索の結果、 前記記憶部に格納されたコンテン ッの更新日時と、 前記配信サーバに格納されたコンテンツの更新日時とを比 較するステップと、 前記比較の結果、 前記更新日時が異なる場合、 最新コン テンッ配信要求を送信するステップと、 前記最新コンテンツ配信要求に応答 して、 前記最新コンテンツを送信するステップと、 前記送信された最新コン テンッを受信し、 前記受信に応答して前記記憶部のコンテンツを前記最新コ ンテンッに更新するステツプと、 前記最新コンテンッを前記クライアン卜に 配信するステップとを具備する方法をコンピュータで実行可能なプログラム を用いてコンテンツ配信システムを動作させる。 .
さらに、 前記コンテンツ送信要求に応答して、 前記コンテンツの更新日時 を検索するステップと、 前記検索の結果、 前記記憶部に格納されたコンテン ッの更新日時と、 前記配信サーバに格納されたコンテンッの更新日時とを比 較するステップと、 前記比較の結果、 前記更新日時が同一の場合、 前記複数 の中継クライアントの各々は、 前記記憶部に格納されたコンテンツを前記ク ライアン卜に送信するステップとを具備する方法をコンピュータで実行可能 なプログラムを用いてコンテンツ配信システムを動作させる。
さらに、 前記コンテンツ配信要求に応答して前記配信サーバから送信され た前記コンテンツの複数のブロックの、 少なく とも一つのブロックを受信し なかった場合、 前記未受信のプロックの再送信要求を前記配信サーバに送信
するステップと、 前記配信サーバは、 前記再送信要求に応答して、 前記中継 クライアントに前記未受信のプロックを送信するステップとを具備する方法 をコンピュータで実行可能なプログラムを用いてコンテンツ配信システムを 動作させる。
さらに、 前記再送信要求された前記未受信のブロックの再送信中に、 他の 中継クライアントから、 前記コンテンッに対するコンテンッ配信要求を受信 した場合、 前記コンテンツ配信要求に応答して、 前記中継クライアントに未 送信のプロックを前記中継クライアントと前記他の中継クライアントに送信 するステップと、 前記中継クライアントに送信済みのブロックを前記他の中 継クライアントに送信するステップとを具備する方法をコンピュー夕で実行 可能なプログラムを用いてコンテンツ配信システムを動作させる。
さらに、 前記再送信要求された前記未受信のプロックを所定の順序で送信 するステップと、 前記送信の途中に、 前記他の中継クライアントから要求さ れた前記コンテンツのコンテンツ配信要求に応答して、 前記他の中継クライ アントに対するコンテンツの送信を、 前記中継クライアントに未送信のプロ ックから開始するステップと、 前記再送信要求された前記未受信のブロック の送信完了後、 前記他の中継クライアントに未送信のブロックを送信するス テツプと、 前記送信を循環的に繰り返すステップと、 を具備する方法をコン ピュー夕で実行可能なプログラムを用いてコンテンツ配信システムを動作さ せる。
さらに、 前記複数のブロックに分割された前記コンテンツの全てのブロッ クの受信を完了した場合、 コンテンツ受信完了通知を送信するステップと、 前記コンテンツ受信完了通知に応答して、 前記コンテンツの受信を継続中の 他の中継クライアン卜が存在するかどうかを検索するステップと、 を具備す る方法をコンピュータで実行可能なプログラムを用いてコンテンツ配信シス テムを動作させる。
さらに、 前記検索の結果、 前記コンテンツの受信を継続中の他の中継クラ イアントが存在する場合、 前記他の中継クライアントに対する前記コンテン ッの送信を循環的に繰り返すステップと、 前記検索の結果、 前記コンテンツ
の受信を継続中の他の中継クライアントが存在しない場合、 前記コンテンツ の送信を終了するステップとを具備する方法をコンピュータで実行可能なプ ログラムを用いてコンテンツ配信システムを動作させる。
さらに、 そのコンテンツ配信システムに制御サーバを含み、 前記制御サー バに配信サーバァドレス通知要求を送信するステツプと、前記制御サ一バは、 前記送信された配信サーバァドレス通知要求に応答して、 前記コンテンッを 配信する配信サーバのァドレスを送信するステツプと、 前記ァドレスに前記 コンテンツ配信要求を送信するステップとを具備する方法をコンピュータで 実行可能なプログラムを用いてコンテンツ配信システムを動作させる。
さらに、 前記配信サーバァドレス通知要求に応答し こ、 ^ij 配信サーハ、に 格納された §ΰコンテンッの更新日時を通知するステップと、 前記通知に基 づいて前記記憶部に格納されたコンテンッの更新日時と、 刖 sd配信サーバに 格納されたコンテンツの更新日時とを比較するステップとを具備する方法を コンピュー夕で実行可能なプロダラムを用いて ンテンッ配信システムを動 作させる。
さらに、 前記比較の結果、 前記更新日時が異なる場合、 m 配信サ一バに 最新コンテンッ配信要求を送信するステップと 、 前記中継クライアン卜から 送信された前記最新コンテンッ配信 求に応答して、 刖 BCl最新コンテンッを 送信するステップと、前記送信された最新コンテンツを受信するステップと、 刖記受信に応答して刖記中継クライアン トの記憶部の ンテンッを In記 IT コンテンッに更新するステッフと、 刖記最新コンテンッを前記クラィアン卜 に配信するステップと 、 記比較の結果、 m 更新曰時が同一の 合 、 HU §ή 記憶部に格納されたコンテンッを BU gdクライアン卜に送信するステ Vプとを 具備する方法をコンピュ ―夕で実行可能なプ口ダラムを用いてコンテンッ配 信システムを動作させる。
さらに、 コンテンツ配信システムに WW Wサーバを含み 、 m 複数の中継 クライァントの少なく とも一つは刖 id制御サーバに配信サ —バァ レス通知 要求を送信するステップと 、 m された配信サーバァドレス通知要求に 応答して、 前記配信サーバのァドレスまたは前記 W WWサーバのァ ドレスを
送信するステップとを具備する方法をコンピュータで実行可能なプログラム を用いてコンテンツ配信システムを動作させる。
さらに、 前記送信された配信サーバア ドレス通知要求に応答して、 前記配 信サーバに、 コンテンツの配信が可能であるかを問い合わせるステップと、 前記配信サーバからコンテンツの配信が可能な場合、 前記配信サーバのア ド レスを前記中継クライアントに送信するステップと、 前記配信サーバからコ ンテンッ配信が不可能な場合、 前記 WW Wサーバのアドレスを前記中継クラ イアン卜に送信するステップを具備する方法をコンピュータで実行可能なプ ログラムを用いてコンテンツ配信システムを動作させる。
そのコンテンツ配信システムにおいて、 さらに、 前記制御サーバは、 前記 送信された配信サーバアドレス通知要求に応答して、 前記配信サーバに、 コ ンテンッの配信が可能であるかを問い合わるステップと、 前記配信サーバか らコンテンツの配信が可能な場合、 前記配信サーバのアドレスを前記中継ク ライアン卜に送信するステップと、 前記配信サーバからコンテンツ配信が不 可能な場合、 前記 WWWサーバからコンテンツの配信が可能かを問い合わせ るステップと、 前記 WWWサーバからコンテンツの配信が可能な場合、 前記 wwwサーバのァドレスを前記中継クライアン卜に送信するステップと、 前 記配信サーバまたは wwwサーバからコンテンッの配信が不可能な場合、 前 記中継クライアントにエラー応答を送信するステツプを具備する方法をコン ピュー夕で実行可能なプログラムを用いてコンテンツ配信システムを動作さ せる。
そのコンテンツ配信システムにおいて、 配信サーバは制御サーバからの指 示により、 wwwサーバからコンテンツのコピー (同期) を行なう際に、 コ ンテンッを中継クライアントに配信していた場合、 そのときに配信を受けて いた中継クライアントに対して配信を一時中断するステップと、 コンテンツ の更新 (同期) が終了したら、 各中継クライアントに C T— R E S E N Dメ ッセージを送信するステップと、 最新のコンテンツの配信を再開するステツ プと、 各中継クライアントは、 C T— R E S E N Dメッセージに応答して、 そのときに受信していたコンテンツを破棄して新たにコンテンツの受信を開
始するステップとを具備する方法をコンビュ一夕で実行可能なプログラムを 用いてコンテンツ配信システムを動作させる。
そのプログラムにおいて、 さらに前記中継クライアントと前記クライアン トが 1に備えられるステップと、 前記中継クライアントと前記クライアント の各々が資源を共有するステップとを具備する方法をコンピュ一夕で実行可 能なプログラムを用いてコンテンツ配信システムを動作させる。
そのコンテンツ配信システムにおいて、 クライアントからコンテンツ Aの 配信が要求されたときに、 コンテンツ Aへの操作により次に要求される確度 の高いコンテンツ Bを含めたコンテンツとして、 配信サーバから中継クライ アン卜に対してコンテンツの配信を行なう。
[効果]
本発明の効果は、 キャッシュサーバの数量によらず、 コンテンツを配信す るサーバから広域 I Pネッ トワークに送信される単位時間あたりの通信量を 一定にする効果がある。 特にコンテンツ Aへの操作により次に要求される確 度の高いコンテンツ Bを含めたコンテンツとして、 配信サーバから中継クラ イアントに対してコンテンツの配信を行なうようなコンテンツ配信の場合に おいて、 中継クライアントの数が増えても、 配信サーバから広域 I Pネッ ト ワークに送出されるコンテンツを分割したブロックの数量が変化しないため、 配信サーバにかかる負荷が一定となる効果がある。 図面の簡単な説明
図 1は、 従来のコンテンツ配信システムを示すブロック図である。
図 2は、 第 1実施形態のコンテンツ配信システムを示すブロック図である。 図 3は、 配信元の構成を示すブロック図である。
図 4は、 制御サーバの構成を示すブロック図である。
図 5は、 WWWサーバの構成を示すブロック図である。
図 6は、 配信サーバの構成を示すブロック図である。
図 7は、 中継クライアントの構成を示すブロック図である。
図 8は、 WW Wサーバと配信サーバと中継クライアントの各々の記憶部に
格納されたコンテンツデータを示す図である。
図 9は、 コンテンッ要求メッセージの概要を示す図である。
図 1 0は、 URL要求メッセージの概要を示す図である。
図 1 1は、 URL応答メッセ一ジの概要を示す図である。
図 1 2は、 R CV— R EQメッセージの概要を示す図である。
図 1 3は、 C T— I N FOメッセージの概要を示す図である。
図 1 4は、 RT— R E Qメッセージの概要を示す図である。
図 1 5は、 R C V— F I Nメッセ一ジの概要を示す図である。
図 1 6は、 C T— DATAメッセージの概要を示す図である。
図 1 7は、 RT_DATAメッセージの概要を示す図である。
図 1 8は、 通信動作シーケンスを表す図である。
図 1 9は、 中継クライアントの動作を示すフローチャートである。
図 2 0は、 制御サーバの動作を示すフローチャートである。
図 2 1は、 コンテン有効期限情報管理の動作を示すフローチヤ一トである。 図 2 2は、 コンテンッ構成情報の比較を示す図である。
図 2 3は、 コンテンツが有する有効期限情報を示す図である。
図 2 4は、 第 2実施形態のコンテンツ配信システムを示すブロック図であ ス
図 2 5は、 中継クライアント処理部とクライアント処理部を備える装置の 構成を示すブロック図である。
図 2 6は、 通信動作シーケンスを表す図である。
図 2 7は、 C T— R E S ENDメッセージの概要を示す図である。
図 2 8は、 通信動作シーケンスを表す図である。 発明を実施するための最良の形態
[ c実施形態の構成]
以下に、 図面を用いて本発明の実施の形態について述べる。 図 2は本発明 の実施の形態におけるネッ トワークの構成を示すブロック図である。 図 2 を 参照すると、 本実施の形態におけるネッ トワークの構成は、 広域 I Pネッ ト
ワーク 4と、 その広域 I Pネッ トワーク 4を介してコンテンツを配信する配 信元 1 と、 その配信されたコンテンツを受信する第 1から第 n (nは 1以上 の自然数) の複数の L ANとで構成される。 本実施の形態では、 主に広域 I Pネッ トワーク 4を介して配信元 1 に接続する第 1 L AN 2 と、 広域 I Pネ ッ トワーク 4を介して配信元 1 に接続する第 2 L AN 3 とで構成されたネッ トワークを用いて説明を行うが、 これは、 本発明のネッ トワークの構成を限 定するものではない。
配信元 1はさらに、 制御サーバ 5 と、 WWWサーバ 7 と、 配信サーバ 6 と で構成され、 配信元 1 を構成する各々のサーバは、 有線通信または無線通信 を用いて相互に接続される。 第 1 L AN 2、 第 2 L AN 3の各々は、 少なく とも一つの中継クライアントと、 その中継クライアントに接続される複数の クライアントとで構成される。 複数のクライアントの各々は、 有線通信また は無線通信を用いて各々の LANに含まれる中継クライアントに接続される。
WWWサーバ 7は、 本発明の実施の形態において、 音楽デ一夕、 画像デー 夕、 オンラインソフ トウエアなど、 広域 I Pネッ トワーク 4を介して配信可 能なさまざまなコンテンツを、 その広域 I Pネッ トワーク 4を介して、 その 広域 I Pネッ トワーク 4に接続された不特定多数のクライアントに公開する サーバである。 また、 WWWサーバ 7は、 配信サ一バ 6が何らかの要因によ り、 コンテンツの配信ができない場合に、 配信サーバ 6に変わってコンテン ッの配信を行う。
その不特定多数のクライアントは、 その広域 I Pネッ トワーク 4を介して WWWサーバ 7に接続し、 広域 I Pネッ トワーク 4上にどのようなコンテン ッが公開されているのかを閲覧する。
制御サーバ 5は、 本発明の実施の形態において、 WWWサーバ 7が公開し たコンテンッの受信を希望する希望者が送信するコンテンッ配信要求に応答 して、 コンテンツ要求メッセージ 1 4を受信し、 要求されたコンテンツの最 新のデータが受信希望者に送信されるように、 システムの制御を行うサーバ である。
配信サーバ 6は、 本発明の実施の形態において、 配信要求が行われたコン
テンッを実際に広域 I Pネッ トワーク 4を介して送信するサーバである。 配 信サーバ 6は、 同一のコンテンツに対して、 複数の中継クライアントから配 信要求を受信した場合でも、 ネッ トワーク 4のトラフィ ックを増大させるこ と無く、 コンテンツの配信が可能なプロ 卜コルを用いてコンテンツの配信を 行う。
広域 I Pネッ トワーク 4は、 インターネッ 卜に代表される情報通信ネッ ト ワーク 4である。
図 3は、 本実施の形態における配信元 1の構成を示すブロック図である。 図 3を参照すると、 配信元 1は、 制御サーバ 5 と、 WWWサーバ 7 と、 配信 サーバ 6 とで構成され、 各々のサーバは配信元内通信インターフェース 3 2 を介して接続される。 さらに、 各々のサーバは外部通信インターフェース 3 1 を有し、 その外部通信インタ一フェース 3 1 を介して、 広域 I Pネッ トヮ —ク 4に接続される。 WW Wサーバ 7 と配信サーバ 6は、 内蔵または外部接 続された記憶部を有し、 各々の記憶部はコンテンツデータを格納する。 各々 の記憶部に格納されたコンテンツデータは、 配信元内通信インターフェース 3 2を介してミラーリ ングされ、 ミラ一リ ングされることで各々のサーバは 相互に最新のコンテンッデータを格納する。
配信サーバ 6 と W W Wサーバ 7の各々の記憶部に格納されたコンテンッデ —タは、 制御サーバ 5からの指示に応答して外部通信ィン夕一フェース 3 1 から広域 I Pネッ トワーク 4を介して、 配信元 1 に接続する複数の L A Nの 中継クライアントに送信される。
図 4は、 本実施の形態における制御サーバ 5の構成を示すブロック図であ る。 図 4を参照すると、 制御サーバ 5は、 外部通信インターフェース 3 1 と、 配信元内通信インタ一フェース 3 2 と、 処理部 5 1 とで構成される。 処理部 5 1 と外部通信ィンターフェ一ス 3 1は制御サーバ 5内の情報通信線を用い て接続され、 処理部 5 1 と配信元内通信ィン夕一フェース 3 2は制御サーバ 5内の情報通信線を用いて接続される。
外部通信インタ一フェース 3 1は、 広域 I Pネッ 卜ワーク 4に接続され、 情報の送信、 及び受信を行う装置である。 図 4を参照すると、 制御サーバ 5
に備えられた外部通信イン夕一フェース 3 1は、 広域 I Pネッ トワーク 4を 介して接続される複数の L A Nに設置された中継クライアントの、 少なく と も一つから送信される情報を受信し、 その受信した情報を処理部 5 1 に通知 する。 また、 処理部 5 1からの情報送信指示に応答して、 その中継クライァ ントへの情報の送信を行う。 さらに、 外部通信インターフェース 3 1は、 広 域 I Pネッ トワーク 4を介して接続される複数の中継クライアントの、 少な く とも一つから送信される情報を受信し、 その受信した情報を処理部に通知 する。 また、 処理部からの情報送信指示に応答して、 その中継クライアント への情報の送信を行う。
配信元内通信インターフェース 3 2は、配信元 1内で行われる情報の送信、 及び受信を行う装置である。 図 3を参照すると、 制御サーバ 5に備えられた 配信元内通信インターフェース 3 2は、 制御サーバ 5 と WW Wサーバ 7 との 間で行われる情報の送受信を行い、 また、 制御サーバ 5と配信サーバ 6 との 間で行われる情報の送受信を行う。
処理部 5 1は、 制御サーバ 5に内蔵された情報処理装置である。 C P U (中 央演算処理装置) を備え、 各々のサーバや広域 I Pネッ トワーク 4を介して 制御サーバ 5に送信された情報に基づいて情報処理を行う。 また、 処理部 5 1はさらに記憶部 5 2を備え、 その記憶媒体にコンテンッ管理情報を記憶す る。 コンテンツ管理情報は配信サーバ 6の記憶部と W WWサーバ 7の記憶部 の各々に格納されたコンテンツデ一夕が最新のコンテンツであるかどうかを 管理するための情報である。 処理部 5 1は、 各々のサーバの記憶部に格納さ れたコンテンッ構成情報を、予め設定された時刻に各々のサーバから取得し、 取得された情報に基づいて複数のコンテンツの各々に対して、 更新が行われ たかどうかを監視する。
図 5は、 本実施の形態における W W Wサーバ 7の構成を示すブロック図で ある。 図 5を参照すると、 WW Wサーバ 7は外部通信インタ一フエ一ス 3 1 と、 配信元内通信インターフェース 3 2 と、 処理部 7 1 と、 コンテンツデ一 タを格納する記憶部 7 2 とで構成され、 処理部 7 1 と外部通信インタ一フエ —ス 3 1 は W W Wサーバ 7内の情報通信線を用いて接続され、 処理部 7 1 と
配信元内通信ィンタ一フェース 3 2は WWWサーバ 7内の情報通信線を用い て接続される。 さらに、 記憶部 7 2 と処理部 7 1 とは WWWサーバ 7内の情 報通信線を用いて接続され、 記憶部 7 2に格納されたコンテンツデータ 7 c dはその情報通信線を介して各ィンタ一フェースに送信される。
記憶部 7 2は、 WWWサーバ 7に内蔵または外部接続された書き換え可能 な情報記憶装置である。 WWWサーバ 7が、 広域 I Pネッ トワーク 4を介し て不特定多数のクライアントに公開するコンテンツを格納する。 また、 コン テンッ管理者によって、 新しいコンテンツが書込まれた場合、 そのコンテン ッを WWWサーバ 7 の記憶部 7 2に格納するとともに、 配信サーバ 6 の記憶 部 6 2 と同期を取り、 その新しいコンテンツを配信サーバ 6の記憶部 6 2に 格納する。 さらに、 WWWサーバ 7 の記憶部 7 2 のコンテンツの更新が行わ れた場合も WWWサ一バ 7の記憶部 7 2 と同期を取り、 更新された最新のコ ンテンッを配信サーバ 6の記憶部 6 2に格納する。
処理部 7 1は、 WWWサーバ 7に内蔵された情報処理装置である。 C P U (中央演算処理装置) を備え、 記憶部に格納したコンテンツの検索処理や、 何らかの要因により配信サーバ 6からのコンテンツの配信が不可能な場合の 代替処理などの情報処理を行う。
外部通信インターフェース 3 1は、 広域 I Pネッ トワーク 4に接続され、 情報の送信、 及び受信を行う装置である。 図 5を参照すると、 WWWサーバ 7に備えられた外部通信インターフェース 3 1は、 広域 I Pネッ 卜ワーク 4 を介して接続される複数の L ANに設置された中継クライアントの、 少なく とも一つから送信される情報を受信し、 その受信した情報を処理部に通知す る。 また、 処理部からの情報送信指示に応答して、 その中継クライアントへ の情報の送信を行う。 さらに、 外部通信インタ一フェース 3 1は、 広域 I P ネッ 卜ワーク 4を介して接続される複数の中継クライアントの、 少なく とも 一つから送信される情報を受信し、 その受信した情報を処理部に通知する。 また、 処理部 7 1からの情報送信指示に応答して、 その中継クライアントへ の情報の送信を行う。
配信元内通信インタ一フェース 3 2は、 配信元内で行われる情報の送信、
及び受信を行う装置である。 図 3を参照すると、 W W Wサーバ 7に備えられ た配信元内通信インタ一フェース 3 2は、 W W Wサーバ 7 と配信サーバ 6 と の間で行われる情報の送受信を行い、 また、 W W Wサーバ 7 と制御サーバ 5 との間で行われる情報の送受信を行う。
図 6は、 本実施の形態における配信サーバ 6の構成を示すブロック図であ る。 図 6を参照すると、 配信サーバ 6は外部通信インタ一フェース 3 1 と、 配信元内通信インターフェース 3 2 と、 処理部 6 1 と、 コンテンツデータを 格納する記憶部 6 2 とで構成され、 処理部 6 1 と外部通信インタ一フヱ一ス 3 1は配信サーバ 6内の情報通信線を用'いて接続され、 さらに処理部と配信 元内通信インタ一フェース 3 2は配信サーバ 6内の情報通信線を用いて接続 される。 また、 記憶部 6 2 と処理部 6 1 とは配信サーバ 6内の情報通信線を 用いて接続され、 コンテンツデータはその通信線を介して各インタ一フエ一 スに送信される。
記憶部 6 2は、 配信サーバ 6に内蔵または外部接続された書き換え可能な 情報記憶装置である。 広域 I Pネッ トワーク 4を介して送信される R C V— R E Qメッセ一ジ 1 7に応答して、 そのコンテンツを要求した中継クライァ ントに送信するコンテンツデータ 6 c dを格納する。 また、 コンテンツ管理 者によって、 WWWサーバ 7の記憶部 7 2に新しいコンテンツが書込まれた 場合、 W WWサーバ 7の記憶部 7 2 と同期を取り、 その新しいコンテンツを 配信サーバ 6 の記憶部 6 2に格納する。 さらに、 W WWサーバ 7 の記億部 7 2 のコンテンッの更新が行われた場合も WW Wサーバ 7の記憶部 7 2 と同期 を取り、 更新された最新のコンテンツを配信サーバ 6の記憶部 6 2に格納す る。
処理部 6 1は、 配信サーバ 6に内蔵された情報処理装置である。 C P U (中 央演算処理装置) を備え、 記憶部 6 2に格納したコンテンツの検索処理や、 各々のインターフェースが受信したメッセージに基づく応答メッセージの作 成などを行う。
外部通信インターフェース 3 1 は、 広域 I Pネッ トワーク 4に接続され、 情報の送信、 及び受信を行う装置である。 図 6 を参照すると、 配信サーバ 6
に備えられた外部通信インターフェース 3 1は、 広域 I Pネッ トワーク 4を 介して接続される複数の L A Nに設置された中継クライアントの、 少なく と も一つから送信される情報を受信し、その受信した情報を処理部に通知する。 また、 処理部 6 1からの情報送信指示に応答して、 その中継クライアントへ の情報の送信を行う。 さらに、 外部通信ィンターフェ一ス 3 1は、 広域 I P ネッ トワーク 4を介して接続される複数の中継クライアントの、 少なく とも 一つから送信される情報を受信し、 その受信した情報を処理部 6 1 に通知す る。 また、 処理部 6 1からの情報送信指示に応答して、 その中継クライアン 卜への情報の送信を行う。
配信元内通信インターフェース 3 2は、配信元 1内で行われる情報の送信、 及び受信を行う装置である。 図 3を参照すると、 配信サーバ 6に備えられた 配信元内通信インタ一フェース 3 2は、 配信サーバ 6 と W WWサーバ 7 との 間で行われる情報の送受信を行い、 また、 配信サーバ 6 と制御サーバ 5 との 間で行われる情報の送受信を行う。
図 7は、 本実施の形態における中継クライアントの構成を示すブロック図 である。 図 7を参照すると、 外部通信インタ一フェース 3 1 と、 L A Nイン ターフェース 8 3 と、 処理部 8 1 と、 コンテンツデータ 8 c dを格納する記 憶部 8 2 とで構成され、 処理部 8 1 と外部通信インタ一フェース 3 1 は中継 クライアント内の情報通信線を用いて接続され、 さらに処理部 8 1 と L A N インターフェース 8 3は中継クライアントの情報通信線を用いて接続される。 また、 記憶部 8 2 と処理部 8 1 とは中継クライアント内の情報通信線を用い て接続される。
記憶部 8 2は、 格納する情報の書き換えが可能な情報記憶装置である。 中 継クライアントに内蔵または外部接続され、 配信サーバ 6から送信された C T— D A T A 2 1、 または W W Wサーバ 7から送信されたコンテンツブロッ クデータを格納する。 記憶部 8 2は、 受信した C T— D A T A 2 1が、 新規 のコンテンツのデータであった場合、 配信サーバ 6から送信された C T— I N F 0メッセ一ジ 1 8 に含まれるコンテンツ構成配信情報と、 その C T— D A T A 2 1 を対応させたコンテンツデータとしてクライアントに配信可能な
状態で格納する。 その C T— D A T A 2 1が以前に配信されたことがあるコ ンテンッの最新のデータであった場合、 配信サーバ 6から送信された C T— I N F Oメッセージ 1 8に含まれるコンテンツ構成配信情報と、 その C T— D A T A 2 1 とに基づいて、 記憶部 8 2に格納してあるコンテンツデータを 更新する。
処理部 8 1は、 中継クライアントに内蔵された情報処理装置である。 C P U (中央演算処理装置) を備え、 クライアントからのコンテンツ要求メッセ ージ 1 4に応答して記憶部に格納したコンテンツデータから特定のコンテン ッを検索する検索処理や、 L A Nに接続されたクライアントや広域 I Pネッ トワーク 4に接続されたサーバに送信するメッセ一ジを作成する作成処理な どを行う。
外部通信インタ一フェース 3 1は、 広域 I Pネッ トワーク 4を介して行わ れる情報の送信、 及び受信を行う装置である。 図 7を参照すると、 中継クラ イアントに備えられた外部通信ィンターフェ一ス 3 1は、 広域 I Pネッ トヮ —ク 4を介して接続される複数のサーバの、 少なく とも一つから送信される 情報を受信し、 その受信した情報を処理部 8 1 に通知する。 また、 処理部 8 1からの情報送信指示に応答して、 そのサーバへの情報の送信を行う。 さら に、 外部通信インターフェース 3 1 は、 広域 I Pネッ トワーク 4を介して配 信サーバ 6または WWWサーバ 7から送信されたコンテンッを受信する。
L A Nインターフエ一ス 8 3は、 L A N内で行われる情報の送信、 及び受 信を行う装置である。 図 7を参照すると、 中継クライアントに備えられた L A Nインターフェース 8 3は、 その L A Nを介して中継クライアントに接続 された複数のクライアン卜の少なく とも一つから送信されるメッセ一ジを受 信し、 その受信したメッセージを処理部 8 1 に通知する。 また、 処理部 8 1 からの情報送信指示に応答して、 配信サーバ 6または W WWサーバ 7から配 信され受信の完了したコンテンツを、 そのコンテンツの配信要求を行ったク ライアントに送信する。
図 8は、 W WWサ一バ 7 と配信サーバ 6 と中継クライアントの各々の記憶 部に格納されたコンテンツデータを示す図である。 図 8を参照すると、 各々
の記憶部に格納されたコンテンツデータは、 コンテンツ I D 1 3 aと、 コン テンッ構成情報 1 3 bと、 データ本体 1 3 c とを有する。 コンテンツ I D 1 3 aは、 記憶部内に格納された複数のコンテンッの各々に付与される識別子 であり、 ネッ トワーク 4上において各々のコンテンツを識別するために用い られる。
コンテンッ構成情報 1 3 bは、 W W Wサーバ 7によって公開されたコンテ ンッを閲覧したコンテンッ配信希望者が、 そのコンテンッの内容を把握する ために必要なコンテンツ名 1 3 b iなどの情報が含まる。 さらに、 コンテン ッ構成情報 1 3 bは、 各々のコンテンツが最新のものであるかどうかの判断 に用いられる更新日時情報 1 3 b を含む。
図 9は、 第 n L A N ( nは 1以上の自然数。) を構成する複数のクライァン の一つが、 その L A Nを介して、 その L A N内にある中継クラィァン卜に 対して送信するコンテンツ要求メッセ一ジ 1 4の概要を示す図でめる。 その クライアン卜は 、 広域 I Pネッ トワーク 4を介して W W Wサーバ 7によつて 公開された複数のコンテンツの一つを選択し、 コンテンツ要求メッセージ 1
4を送信することで、 そのコンテンツの配信を要求する。
WWWサーバ 7は、 不特定多数のクライアントに複数のコンテンツを公開 する。 コンテンッの公開はィン夕一ネッ 卜上の W e bページなどを用いて行 われ、 不特定多数のクラィァン卜の少なく とも一つは、 広域 I Pネッ ヮ一 ク 4を介してその W e bぺージにァクセスし、 公開されたコンテンツの nン テンッ構成情報 1 3 bを取得する o コンテンッの配信希望者は、 その取得し た複数のコンテンツ構成情報 1 3 bを基に 、 任意のコンテンッを選択し 、 n ンテンッ要求メッセ一ン 1 4を送信する。 コンテンツ要求メッセージ 1 4の 送信は、 W WWサ一バ 7によつて公開されたコンテンツ構成情報 1 3 bを閲 覧しているクライアン hの閲覧画面で、 コンテンッ配信希望者が閲覧画面上 に表示された配信を希望するコンテンッのコンテンツ名をク リ ックするなど の動作によって行われる。
図 9を参照すると、 コンテンツ要求メッセ一ジ 1 4は、 送信先アドレス 1 4 aと、 送信元ア ドレス 1 4 bとメッセ一ジ種別 1 4 c とメッセ一ジデータ
1 4 dを含む。 送信先ア ドレス 1 4 aには、 コンテンツ要求メッセージ 1 4 を送信する送信先を識別するためのァ ドレスが記載され、 送信元ァドレス 1 4 bにはそのメッセージを要求したクライアントを識別するためのアドレス が記載され、 メッセージ種別 1 4 cにはコンテンツの要求を表す HTT P リ クェス トである G E Tが記載され、 メッセージデータ 1 4 dには配信希望者 が配信を要求したコンテンツの UR L (要求ページ UR L) が記載され、 コ ンテンッ要求メッセージ 1 4に含まれる要求ページ UR Lは、 WWWサーバ 7の記憶部 7 2に格納されたコンテンッ構成情報 1 3 bから取得される。 図 1 0は、 UR L要求メッセージ 1 5の概要を示す図である。 クライアン 卜からのコンテンツ要求メッセージ 1 4を受信した中維クライアントは、 そ のコンテンツ要求メッセージ 1 4に応答して、 広域 I Pネッ トワーク 4を介 して配信元 1 に UR L要求メッセージ 1 5を送信する。 UR L要求メッセー ジ 1 5は、 送信先アドレス 1 5 aと、 送信元アドレス 1 5 bと、 メッセ一ジ 種別 1 5 c と、 メッセージデータ 1 5 dとを含む。
送信先アドレス 1 5 aは UR L要求メッセージ 1 5 を送信する送信先を識 別するためのアドレスが記載される。 本実施の形態では、 配信元 1 を構成す る制御サーバ 5のアドレスが記載される。 送信元ア ドレス 1 5 bには U R L 要求メッセージを送信した中継クライアントァ ドレスが記載され、 メッセ一 ジ種別 1 5 cには、 F HO L P (F T P/HTT P O v e r L OO P L E X P r o t o c o l ) リクエス トである H E ADが記載され、 メッセ一 ジデータ 1 5 dには、 コンテンツ要求メッセージ送信元 1 4に記載されたコ ンテンッ要求元クライアントアドレスと要求ページ UR Lと同じ情報が記載 される。
図 1 1 は、 UR L応答メッセージ 1 6の概要を示す図である。 広域 I Pネ ッ トワーク 4を介して U R L要求メッセージ 1 5を受信した配信元 1 は、 そ の UR L要求メッセージ 1 5に応答して、 その UR L応答メッセ一ジ 1 6 を 返信する。 UR L応答メッセージ 1 6 には、 送信先ア ドレス 1 6 aと、 送信 元ア ドレス 1 6 bと、 メッセージ種別 1 6 c と、 メッセージデータ 1 6 dと が含まれる。
UR L応答メッセージ 1 6に含まれる送信先アドレス 1 6 aは、 UR L応 答メッセ一ジ 1 6 を送信する送信先を識別するためのアドレスが記載され、 送信元ァドレスには UR L応答メッセージを送信した制御サーバのァドレス が記載され、 メッセ一ジ種別 1 6 c には F HO L Pのレスポンスである UR L— I N F Oが記載され、 メッセージデータ 1 6 dにはコンテンツ要求元ク ライアントアドレス 1 6 c と UR L判定情報が記載される。 UR L判定情報 には、 UR L要求メッセージ 1 5で示された要求ページ UR Lの有効 Z無効 判定、コンテンッのダウンロードを行なうサーバ種別及びその I Pアドレス、 コンテンッ更新情報、 コンテンツ I Dとコンテンッ構成情報が含まれる。 本実施例においては、 メッセージデータ 1 6 dの U R L判定情報には、 中 継クライアントの記憶部 8 2に格納されているコンテンツ 8 c dと、 配信サ —バ 6 または WWWサーバ 7の記憶部 ( 6 2、 7 2 ) に格納されたコンテン ッ ( 6 2 c d、 7 2 c d ) とを比較し、 その二つが同一であるかどうかを判 断するために必要な情報が含まれる。
通常、 メッセージデータ 1 6 dのサーバ種別/ I Pア ドレスには配信サー バ 6からの配信が行なわれる旨の情報とその I Pアドレスが記載されるが、 何らかの要因で要求されたコンテンツを配信サーバ 6から配信できないとき は、 制御サーバ 5はメッセージデータ 1 6 dのサーバ種別/ I Pアドレスに WWWサーバ 7からの配信が行なわれる旨の情報とその I Pアドレスを記載 して UR L応答メッセージ 1 6を送信する。
図 1 2は、 R C V— R E Qメッセージ 1 7の概要を示す図である。 広域 I Pネッ トヮ一ク 4を介して UR L応答メッセージ 1 6 を受信した中継クライ アントは、 その UR L応答メッセ一ジ 1 6に含まれるメッセージデータ 1 6 dに記載されたサーバ種別と I Pア ドレスに基づいて、 配信サーバ 6 または WWWサーバ 7に R C V— R E Qメッセージ 1 7を送信する。 R C V— R E Qメッセージ 1 7は、 送信先ア ドレス 1 7 aと、 送信元ア ドレス 1 7 bと、 メッセージ種別 1 7 c と、 メッセージデータ 1 7 dとを含む。
R C V— R E Qメッセ一ジ 1 7に含まれる送信先ァ ドレス 1 7 aには、 R C V R E Qメッセージ 1 7を送信する送信先を識別するためのァ ドレスが
記載され、 送信元アドレスには R C V— R E Qメッセ一ジ 1 7 を送信した中 継クライアントを識別するためのァドレスが記載され、 メッセージ種別 1 7 c には配信サーバに対する L P L X P リクエストである R C V— R E Qまた は WWWサ一バに対する H T T P リクエストである G E Tが記載され、 メッ セージデータ 1 7 dには UR L応答メッセージ 1 6 に含まれるコンテンツ要 求元クライアントアドレス情報と同じ情報と、 コンテンツ I D (配信サーバ の場合) 又は要求ページ URL (WWWサーバの場合) が記載される。
WWWサーバに配信を要求した場合、 コンテンツの転送は HTT Pにおけ る G E Tリクエストに対するレスポンスとして行なわれる。 本実施の形態を 説明する図では記載されていないが、 H T T Pにより転送される場合、 転送 時の未受信ブロックは T C P (T r a n s m i s s i o n C o n t r o l P r o t o c o l ) により自動的に再送信が行なわれエラーフリーとなるた め、 後述の C T— I N F O、 RT— R E Q、 R C V— F I N、 C T— DAT A、 RT— DAT Aの各メッセージは使われない。
図 1 3は、 C T— I N F Oメッセージ 1 8の概要を示す図である。 R C V — R E Qメッセ一ジ 1 7を受信した配信サーバ 6は、 その R C V— R E Qメ ッセージ 1 7に応答して中継クライアントに C T— I N F Oメッセージ 1 8 を送信する。 図 1 3を参照すると、 C T— I N F Oメッセ一ジ 1 8は、 送信 先アドレス 1 8 aと、 送信元ア ドレス 1 8 bとメッセージ種別 1 8 c とメッ セージデータ 1 8 dとを含む。
C T— I N F Oメッセージ 1 8に含まれる送信先アドレス 1 8 aは、 C T — I N F Oメッセージ 1 8を送信する送信先を識別するためのアドレスが記 載され、 本実施の形態では中継クライアントのア ドレスが記載される。 送信 元アドレス 1 8 bは、 C T— I N F Oメッセージ 1 8 を送信した送信元を識 別する為のアドレスが記載され、 本実施の形態では配信サーバ 6のアドレス が記載される。 メッセ一ジ種別 1 8 c には L P L X P レスポンスである C T _ I N F Oが記載される。 メッセージデータ 1 8 dには、 コンテンツ要求元 クライアントアドレスと、 コンテンツ配信情報が記載される。 コンテンツ配 信情報にはコンテンツ I D、 分割ブロック数、 マルチキャス トグループア ド
レスの情報が記載される。
コンテンツ I Dには、 R CV_R E Qメッセージ 1 7に含まれる情報と同じ 情報が記載される。
コンテンツ配信情報は、 最新の配信コンテンツデ一夕 (以下、 C T— D A TA 2 1 と呼ぶ) を受信し、 その受信した最新コンテンツをクライアントに 送信するために必要な情報が記載される。
図 1 4は、 RT_R E Qメッセージ 1 9の概要を示す図である。
R C V— R E Qメッセージ 1 7に応答して送信された C T— DATA 2 1 を 受信した場合に、 何らかの要因で受信ができなかったブロックが存在した場 合、 中継クライアントは配信サーバ 6 に R T— R E Qメッセージ 1 9を送信 し、 未受信のブロックの再送信を要求する。 図 1 4を参照すると、 R T— R E Qメッセージは送信先ァドレス 1 9 aと送信元ァ ドレス 1 9 bとメッセー ジ種別 1 9 c とメッセージデータ 1 9 dとを含む。
R T— R E Qメッセージ 1 9に含まれる送信先アドレス 1 9 aは、 R T— R E Qメッセージ 1 9を送信する送信先を識別するためのァドレスが記載さ れ、 本実施の形態では配信サーバ 6のアドレスが記載される。 送信元ァドレ ス 1 9 bには、 R T— R E Qメッセージを送信した中継クライアントを識別 するためのアドレスが記載される。 メッセ一ジ種別 1 9 cには L P L X P リ クェス トである R T_R E Qが記載される。 メッセージデータ 1 9 dには、 コンテンツ要求元クライアントアドレスと再配信を要求するブロック (未受 信のブロック) の情報が記載される。
図 1 5は、 R C V_F I Nメッセ一ジ 2 0の概要を示す図である。 C T— D ATA 2 1の受信、 または C T— DATA 2 1受信後の R T— DATA 2 2の受信により、 全てのコンテンツの受信が完了した中継クライアントは、 そのコンテンツを配信したサーバに R CV— F I Nメッセージ 2 0を送信す る。 図 1 5を参照すると、 R CV— F I Nメッセージ 2 0は、 送信先ァドレ ス 2 0 aと送信元ア ドレス 2 O bとメッセージ種別 2 0 c とメッセージデー タ 2 0 dとを含む。
R C V_F I Nメッセージ 2 0に含まれる送信先アドレス 2 0 aには、 R
C V— F I Nメッセージ 2 0を送信する送信先を識別するためのァドレスが 記載され、 本実施の形態では配信サーバ 6のアドレスが記載される。 送信元 アドレス 2 0 bには受信完了済み中継クライアントのアドレスが記載される。 メッセージ種別 2 0 cには配信を行なっていたサーバへ、 その中雜クライア ントに対するコンテンツ配信停止命令である L P L X P リクエスト R CV— F I Nが記載される。 メッセ一ジデータには、 R C V— R E Qメッセージ 1 7に含まれる情報と同じコンテンツ要求元クライアントアドレスとコンテン ッ配信情報が記載される。
図 1 6は、 配信コンテンッデ一夕 (以下 C T— D A T A 2 1 と呼ぶ) の概 要を示す図である。 配信サーバ 6は、 R C V— R E Qメッセージ 1 7に応答 して C T— DATA 2 1 を送信する。 図 1 6 を参照すると C T_DATA 2 1は送信先ァドレス 2 1 aと送信元ァドレス 2 1 bとメッセージ種別 2 1 c とメッセージデータ 2 1 dとで構成される。
C T— DATA 2 1 に含まれる送信先アドレス 2 1 aには、 中継クライァ ントに送信した C T— I N F Oメッセージにより示されたグループアドレス が記載され、 本実施の形態では Class-Dの IPアドレスが記載される。 送信元 ア ドレス 2 1 bには配信サーバのァドレスが記載される。 メッセージ種別 2 1 c には配信サーバ 6から送信されているコンテンツデータであることを識 別する L P L X P レスポンス C T— DATAが記載される。 メッセージデ一 夕 2 I dには、 配信を要求されたコンテンツのコンテンツ I Dと、 コンテン ッが分割されたブロック (データ本体) と、 その分割順序情報と、 ブロック のエラー検出訂正情報とが記載される。
またコンテンツ分割ブロック (データ本体) には複数のブロックに分割さ れたコンテンツの少なく とも一つが格納される。 配信サーバ 6は、 コンテン ッを、 そのブロック単位で送信し、 中継クライアントは、 配信サーバ 6から 送信された C T— D ATAメッセージ 2 1のメッセ一ジデータに含まれる分 割順序情報に基づいて、 分割されて送信されたデータ本体を結合し一つのコ ンテンッにする。
図 1 7は、 再配信プロック送信データ (以下 R T_D ATA 2 2 と呼ぶ)
の概要を示す図である。 配信サーバ 6は、 R T— R E Qメッセージ 1 9に応 答して R T— DATA 2 2を送信する。 図 1 7を参照すると、 RT— DAT A 2 2は、 送信先ァドレス 2 2 aと送信元ァドレス 2 2 bとメッセージ種別 2 2 c とメッセージデータ 2 2 dとで構成される。
RT— DATA 2 2に含まれる送信先アドレス 2 2 aには、 送信先の中継 クライアントを識別するアドレスが記載され、 本実施の形態では R T— R E Qメッセ一ジ 1 9を送信し RT— DATA 2 2を受信する中継クライアント のアドレスが記載される。 送信元ァ ドレス 2 2 bには配信サーバ 6のァドレ スが記載される。 メッセージ種別 2 2 c には配信サーバ 6から再送信されて いるコンテンツデータであることを識別する L P L X Pレスポンス R T— D AT Aが記載される。 メッセージデータ 2 2 dには、 配信を要求されたコン テンッのコンテンツ I Dと、 コンテンツが分割されたブロック (データ本体) と、 その分割順序情報とが記載される。 R T— D AT Aの転送には T C Pが 使用されるため、 エラ一フリーの転送が行なわれる。 そのためエラー検出訂 正情報は付加されない。
またコンテンツ分割ブロック (データ本体) には複数のブロックに分割さ れたコンテンツの少なく とも一つが格納される。 配信サーバ 6は、 コンテン ッを、 そのブロック単位で送信し、 中継クライアントは、 配信サーバ 6から 送信された R T— D A T Aメッセージ 2 2のメッセージデータ 2 2 dに含ま れる分割順序情報に基づいて、 分割されて送信されたデータ本体を結合し一 つのコンテンツにする。
図 2 2は、 コンテンツ構成情報の比較を示す図である。 図 2 2を参照する と、 制御サーバ 5は、 U R L要求メッセ一ジ 1 5の受信に応答して行われる 比較は、 各々のコンテンツが有するコンテンツ構成情報を対比させることで 行われる。
図 2 3は、 コンテンツが有する有効期限情報を示す図である。 図 2 3 を参 照すると、 制御サーバ 5および中継クライアン卜の処理部が行う有効期限判 定は、 各々のコンテンツが有する有効期限情報を対比させることで行われる。
[第 1実施形態の動作]
以下に、 図面を用いて本発明の実施の動作について述べる。 図 1 8は、 本 発明の実施の形態の動作における通信動作シーケンスを表す図である。 図 1 8を参照すると、 F 1 において、 第 1 L AN 2内のクライアント c l は、 広 域 I Pネッ トヮ一ク 4を介して WW Wサーバ 7が公開した複数のコンテンツ の閲覧を行い、 公開された複数のコンテンツの中から配信を希望するコンテ ンッを選択し、 その選択したコンテンツ (以下、 コンテンツ Aと呼ぶ。) のコ ンテンッ要求メッセ一ジ 1 4を第 1 L AN 2内の中継クライアントに対して 送信する。
F 2において、 クライアントから送信されたコンテンツ要求メッセージ 1 4を受信した第 1 L AN中継クライアント 8は、 コンテンツ Aの配信を受け るために、 広域 I Pネッ トワーク 4を介して配信元 1の制御サーバ 5に対し て UR L要求メッセージ 1 5を送信する。
F 3において、 第 1 L AN中継クライアント 8から送信された UR L要求 メッセージ 1 5を受信した制御サーバ 5の処理部は、 WWWサーバ 7の記憶 部に格納されたコンテンツ Aに関するコンテンツデータと、 配信サーバ 6の 記憶部に格納されたコンテンツ Aに関するコンテンツデータとを比較する。 その比較の結果、 各々の記憶部に格納されたコンテンツ Aに関するコンテン ッデータの更新日時などが同一のものであるならば、 制御サーバ 5の処理部 は、 U R L応答メッセージ 1 6の U R L判定情報に配信サーバ 6の U R Lを 記載したメッセージを作成し、 作成された UR L応答メッセージ 1 6を第 1 LAN中継クライアント 8に送信する。
その比較の結果、 各々の記憶部に格納されたコンテンツデータに差異が存 在した場合は、 制御サーバ 5の処理部は、 各々のサーバの記憶部に格納され たコンテンツが最新のものになるように、 格納されたコンテンツデータの同 期を図る。 さらに、 制御サーバ 5の処理部は、 コンテンツデ一夕の同期を図 るとともに、 コンテンツデータの同期が正常に行われた場合は、 UR L応答 メッセージ 1 6の U R L判定情報に配信サーバ 6の U R Lを記載したメッセ ージを作成し、 作成された U R L応答メッセージ 1 6 を第 1 L AN中継クラ イアント 8に送信する。 何らかの要因で、 コンテンツデータの同期が正常に
行われなかった場合は、 制御サーバ 5の処理部は、 W W Wサーバ 7からコン テンッ Aの配信を行うように、 U R L判定情報に W W Wサーバ 7の U R Lを 記載した U R L応答メッセージ 1 6 を作成し、 作成された U R L応答メッセ ージ 1 6を第 1 L A N中継クライアント 8に送信する。
U R L応答メッセージ 1 6には、 中継クライアントの記憶部に格納された コンテンツに関するコンテンツデータが最新のものであるかどうかを判定す るための判定情報が含まれる。 第 1 L A N中継クライアント 8は、 判定情報 に含まれる情報に基づいて自分自身の記憶部に格納されたコンテンツが最新 のものであるとの判定結果を得た場合、 配信元 1へのコンテンツデータの配 信要求を行わず、 第 1 L A N中継クライアント 8の記憶部に格納されたコン テンッデ一夕をクライアントに配信する。
F 4において 、 第 1 L A N中継クラィァン h 8は、 制御サーバ 5から送信
ヽ された U R L応答メッセージ 1 6を受信する U R L応答メッセ一ン 1 6 を 受信した中継クライアン卜は 、 U R L応答メ Vセ ―ン 1 6の U R L判定情報 に記載された U R Lに基づいて、 実際に ンテンッを配信する配信サ ―バを 確定し、 コンテンッ Aの R C V— R E Qメッセ ―ジ 1 7を送信する 図 1 8 において、 第 1 L A N中継クライアン卜 8は 、 実際に Z1ンテンッ Aを配信す るサーバを配信サ一バ 6に確定し、 その配信サ一バ 6から配信される ンテ ンッデ一夕を受信するために 、 コンテンッ Aの R C V R E Qメッセ ―ジ 1
7を配信サーバ 6へ运 1目し、 コンテンッ Aの取新のコンテンッデ一タの配信 を要求する。
F 5において 、 第 1 L A N中継クラィァン 8から送信された R C V — R
E Qメッセージ 1 7を受信した配信サ一バ 6は 、 その配信サーバ 6から送信 される C T— D A T A 2 1の受信に必要な情報を有する C T— I N F oメッ セ —ジ 1 8を、 第 1 L A N中継クラィァン卜 8に送信する 。 さらに 、 配信サ
―バ 6は、 第 1 L A N中継クライアン h 8にコン丁ノッ丁 —夕のテ ―夕 体 とヘッダとで構成された C T _ D A T A 2 1 の送信を開始する。 第 1 L A N 中継クライアン h 8は、 C T一 I N F Oメッセ ―ジ 1 8に含まれる情報によ り 、 受信した C T D A T A 2 1がコンテンッ Aのデ一夕である とを確認
する。
F 6において、 第 2 L AN 3のクライアントは、 配信サーバ 6が第 1 L A N中継クライアント 8にコンテンツ Aの C T— DATA 2 1 を送信している 時に、 第 2 L AN中継クライアント 9に対して要求コンテンツがコンテンツ Aであるコンテンツ要求メッセ一ジ 1 4を送信する。
F 7において、 クライアント d 1から送信されたコンテンツ要求メッセ一 ジ 1 4を受信した第 2 L AN中継クライアント 9は、 コンテンツ Aの配信を 受けるために、 配信元 1の制御サーバ 5に対して U R L要求メッセージ 1 5 を送信する。
F' 8において、 第 2 L AN中継クライアント 9から送信された UR L要求 メッセージ 1 5を受信した制御サーバ 5の処理部は、 WWWサーバ 7の記憶 部に格納されたコンテンツ Aに関するコンテンツデータと、 配信サーバ 6の 記憶部に格納されたコンテンツ Aに関するコンテンツデータとを比較する。 その比較の結果、 各々の記憶部に格納されたコンテンツ Aに関するコンテン ッデ一夕の更新日時などが同一のものであるならば、 制御サーバ 5の処理部 は、 U R L応答メッセージ 1 6の U R L判定情報に配信サーバ 6の U R Lを 記載したメッセージを作成し、 作成された U R L応答メッセージ 1 6を第 2 LAN中継クライアント 9に送信する。
その比較の結果、 各々の記憶部に格納されたコンテンッデータに差異が存 在した場合は、 制御サーバ 5の処理部は、 各々のサーバの記憶部に格納され たコンテンツが最新のものになるように、 格納されたコンテンツデータの同 期を図る。 さらに、 制御サーバ 5の処理部は、 コンテンツデータの同期を図 るとともに、 コンテンツデータの同期が正常に行われた場合は、 UR L応答 メッセージ 1 6の U R L判定情報に配信サーバ 6の U R Lを記載したメッセ ージを作成し、 作成された U R L応答メッセ一ジ 1 6 を第 2 L AN中継クラ イアント 9に送信する。 ここで、 何らかの要因で、 コンテンツデータの同期 が正常に行われなかった場合は、 制御サーバ 5の処理部は、 WWWサーバ 7 からコンテンツ Aの配信を行うように、 U R L判定情報に WWWサーバ 7の U R Lを記載した U R L応答メッセージ 1 6を作成し、 作成された UR L応
答メッセージ 1 6を第 2 LAN中継クライアント 9に送信する。
U R L応答メッセージ 1 6には、 中継クライアントの記憶部に格納された コンテンツに関するコンテンツデータが最新のものであるかどうかを判定す るため φ判定情報が含まれる。 第 2 L AN中継クライアント 9は、 判定情報 に含まれる情報に基づいて自分自身の記憶部に格納されたコンテンツが最新 のものであるとの判定結果を得た場合、 配信'元 1へのコンテンッデータの配 信要求を行わず、 第 2 L AN中継クライアント 9の記憶部に格納されたコン テンッデータをクライアントに配信する。
F 9において、 第 2 L AN中継クライアント 9は、 制御サーバ 5から送信 された UR L応答メッセ一ジ 1 6を受信する。 UR L応答メッセ一ジ 1 6 を 受信した中継クライアントは、 UR L応答メッセージ 1 6の UR L判定情報 に記載された U R Lに基づいて、 実際にコンテンツを配信するサーバを確定 し、 コンテンツ Aの R C V— R E Qメッセージ 1 7 を送信する。 図 1 8にお いて、 第 2 L AN中継クライアント 9は、 実際にコンテンツ Aを配信するサ —バを配信サーバ 6に確定し、 その配信サーバ 6から配信されるコンテンツ データを受信するために、 コンテンツ Aの R CV— R E Qメッセ一ジ 1 7を 配信サーバ 6へ送信し、 コンテンツ Aの最新のコンテンツデータの配信を要 求する。
F 1 0にねいて 、 2 LAN中継クラィァン 9から送信された R C V—
R E Qメッセ一ジ 1 7 を受信した配信サ一バ 6は 、 その配信サーバ 6から送 信される C T — D A T A 2 1の受信に必要な情報を有する C T_ I Ν F οメ ッセージ 1 8 を、 第 2 L AN中継クライァン 9に达信する 。 さらに 、 配信 サーバ 6は 、 第 2 L A N中継クライアン h 9に ンテンッデ一夕のデ一夕本 体とへッダとで構成された C T— DAT A 2 1の送信を開始する。 第 2 L A
N中継クラィァン h 9は、 C T一 I N F Oメヅセ一ジ 1 8に含まれる情報に より、 受信した C T D A T A 2 1がコンテンッ Aのデータであることを確 認する。
このとき配信サーバ 6は、 複数のブロックに分割されたコンテンツ Aのデ 一タ本体の内、 第 1 L AN中継クライアント 8 と第 2 L AN中継クライアン
ト 9の両方に未送信のブロックを送信し、 第 1 LAN中継クライアント 8に は送信終了済みだけれども、 第 2 L AN中継クライアント 9は未受信である ブロックの送信を、 時間的に遅らせてコンテンツの配信を行う。
図 2 6を用いて説明すると、 第 1 L AN中継クライアント 8への C T— D ATA 2 1の送信が、 ブロック 2まで終了したときに、 第 2 L AN中継クラ イアント 9への C T— DATA 2 1の配信要求を受信し、 コンテンツの配信 が開始した塲合、 配信サーバ 6は、 第 1 LAN中継クライアント 8 と第 2 L AN中継クライアント 9の各々に、 ブロック 3の送信を行う。 この場合、 第 1 L AN中継クライアント 8はブロック 1、 ブロック 2の受信が終了してい るので、 最終ブロックを受信した時点で全てのコンテンツデータの受信が完 了する。 第 2 L AN中継クライアント 9は、 第 1 L AN中継クライアント 8 と同時に最終ブロックの受信を完了し、 その後未受信のブロックの受信を開 始する。
配信サーバ 6は、 他の中継クライアントが配信要求を行い、 現在配信が行 われているコンテンツに対する配信要求を受信した場合、 C T— I N F Oメ ッセージ 1 8にその情報を添付する。 つまり、 複数のブロックに分割された コンテンツデータの、 先頭ブロックから配信が行われない場合は、 分割され たブロック情報と、 どのブロックから送信が行われるのかを、 予め C T _ I N F Oメッセージ 1 8 を用いて、 現在配信が行われているコンテンツに対す る配信要求を送信した中継クライアントに通知する。
F 1 1 において、 第 1 L AN中継クライアント 8は、 C T— DATA 2 1 で送信された複数のブロックにおいて、 何らかの原因で受信が正常に行われ なかったコンテンツデータブロックの再送信を配信サーバ 6に要求するため に、 RT— R E Qメッセージ 1 9を配信サーバ 6に送信する。 第 1 L AN中 継クライアント 8から送信された R T— R E Qメッセージ 1 9を受信した配 信サーバ 6は、 R T— R E Qメッセージ 1 9に含まれる再配信要求ブロック 情報に基づいて、 第 1 L AN中継クライアント 8が正常に受信できなかつた コンテンツデータブロックの再送信 (R T_DATA 2 2 ) を行う。
F 1 2において、 第 1 L AN中継クライアント 8は、 要求したコンテンツ
の全てのコンテンツデータの受信を完了すると、 配信サーバ 6に対して受信 完了を通知するために R C V— F I Nメッセージ 2 0を送信する。 配信サ一 バ 6は、 第 1 L AN中継クライアント 8から送信された R C V— F I Nメッ セ一ジ 2 0を受信すると、 その R C V— F I Nメッセ一ジ 2 0に含まれるコ ンテンッ I Dを参照して、 そのコンテンツに対してコンテンツデ一夕の受信 を継続している他の中継クライアントが存在するかどうかを調査する。 図 1 8では、 第 2 L AN中継クライアント 9がそのコンテンツの受信を継続して いるため、 マルチキャストによる C T— DATA 2 1の送信を継続する。
F 1 3において、 要求したコンテンツの受信を完了した第 1 LAN中継ク ライアント 8は、 受信完了した最新のコンテンツを、 第 1 L AN中継クライ アント 8の記憶部に格納するとともに、 そのコンテンツの配信を要求した第 1 LAN 2内のクライアントに対して、 コンテンツ Aの配信を開始する。
F 1 4において、 第 2 L AN中継クライアント 9は、 C T— DATA 2 1 で送信された複数のプロックにおいて、 何らかの原因で受信が正常に行われ なかったコンテンツデ一夕ブロックの再送信を配信サーバ 6 に要求するため に、 R T— R E Qメッセ一ジ 1 9を配信サーバ 6に送信する。 第 2 LAN中 継クライアント 9から送信された R T— R E Qメッセ一ジ 1 9を受信した配 信サーバ 6は、 RT— R E Qメッセージ 1 9に含まれる再配信要求ブロック 情報に基づいて、 第 2 L A N中継クライアント 9が正常に受信できなかった コンテンツデ一タブロックの再送信 (RT_DATA 2 2 ) を行う。
F 1 5において、 第 2 L AN中継クライアント 9は、 要求したコンテンツ の受信を完了すると、 配信サーバ 6に対して受信完了を通知するために R C V— F I Nメッセージ 2 0を送信する。 配信サーバ 6は、 第 2 L AN中継ク ライアント 9から送信された R C V— F I Nメッセージ 2 0を受信すると、 そのコンテンツに対してコンテンツデータの受信を継続している他の中継ク ライアン卜が存在するかどうかを調査する。 図 1 8では、 他の中継クライァ ントが受信を継続していないため、 マルチキャス トによる C T— D ATA 2 1の送信は終了する。
F 1 6 において、 要求したコンテンツの受信を完了した第 2 L AN中継ク
ライアント 9は、 受信完了した最新のコンテンツを、 第 2 L AN中継クライ アント 9の記憶部に格納するとともに、 そのコンテンツの配信を要求した第 2 LAN内のクライアントに対して、 コンテンツ Aの配信を開始する。
F 1 7において、 第 1 L AN 2内のクライアント c lは、 広域 I Pネッ ト ワーク 4を介して WWWサーバ 7が公開した複数のコンテンツの閲覧を行い、 公開された複数のコンテンツの中から配信を希望するコンテンツを選択し、 その選択したコンテンツ (以下、 コンテンツ Bと呼ぶ。) のコンテンツ要求メ ッセージ 1 4を第 1 LAN内の中継クライアントに対して送信する。
F 1 8において、 コンテンツ要求メッセ一ジ 1 4を受信した第 1 L AN中 継クライアント 8は、 コンテンツ Bの配信を受けるために、 制御サーバ 5に 対して UR L要求メッセージ 1 5を送信する。
F 1 9において、 第 1 L AN中継クライアント 8から送信された UR L要 求メッセ一ジ 1 5を受信した制御サーバ 5の処理部は、 WWWサーバ 7の記 憶部に格納されたコンテンッ Bに関するコンテンッデ一夕と、 配信サーバ 6 の記憶部に格納されたコンテンッ Bに関するコンテンッデ一夕とを比較する。 その比較の結果、 各々の記憶部に格納されたコンテンツ Bに関するコンテン ッデータの更新日時などが同一のものであるならば、 制御サーバ 5の処理部 は、 UR L応答メッセ一ジ 1 6の UR L判定情報に配信サーバ 6の UR Lを 記載したメッセージを作成し、 作成された UR L応答メッセージ 1 6を第 1 LAN中継クライアント 8に送信する。
その比較の結果、 各々のサーバの記憶部に格納されたコンテンツデータに 差異が存在した場合は、 制御サーバ 5の処理部は、 各々のサーバの記憶部に 格納されたコンテンツが最新のものになるように、 格納されたコンテンツデ —夕の同期を図る。 さらに、 制御サーバ 5の処理部は、 コンテンツデータの 同期を図るとともに、 コンテンツデータの同期が正常に行われた場合は、 U R L応答メッセ一ジ 1 6の U R L判定情報に配信サ一バ 6の U R Lを記載し たメッセージを作成し、 作成された U R L応答メッセージ 1 6を第 1 L AN 中継クライアント 8に送信する。 何らかの要因で、 コンテンツデータの同期 が正常に行われなかった場合は、 制御サーバ 5の処理部は、 WWWサーバ 7
からコンテンツ Bの配信を行うように、 U R L判定情報に WW Wサーバ 7の U R Lを記載した U R L応答メッセージ 1 6 を作成し、 作成された U R L応 答メッセージ 1 6を第 1 L A N中継クライアント 8に送信する。
U R L応答メッセ一ジ 1 6には、 中継クライアントの記憶部に格納された コンテンツに関するコンテンツデータが最新のものであるかどうかを判定す るための判定情報が含まれる。 第 1 L A N中継クライアント 8は、 判定情報 に含まれる情報に基づいて自分自身の記憶部に格納されたコンテンツが最新 のものであるとの判定結果を得た場合、 配信元 1へのコンテンツデータの配 信要求を行わず、 第 1 L A N中継クライアント 8の記憶部に格納されたコン テンッデータをクライアントに配信する。
1 L A N中継クライァン卜 8の記憶部に格納されたコンテンッが、 最新 のものであるとの判定結果を得られなかつた場合、 つまり、 配信元 1 に最新 の ンテンッが格納されていた場 A口 、 笛丄 1 L A N中継クライアン卜 8はコン テンッ Bに対する R C V— R E Qメッセ一ジを配信サーバ 6に送信し、 R C V R E Qメッセージに応答して配信サーバ 6から送信された最新のコンテ ンッの C T一 D A T A 2 1 を記憶部に格納し、 最新のコンテンッをクライア ン に配信する。
第 1 L A N中継クライアン h 8は、 その 部に格納したコンテンッが最 新のものかどうかの判定を 、 U R L応答メッセ —ジ 1 6を受信するたびに行 ラ 第 1 L A N中継クライァン h 8は、 U R L応答メッセージ 1 6 を受信す るたびに記憶部に格納した ンテンッの判定を行う ことで、 クライアン卜は 常に最新のコンテンツの配信を受けることができる。
F 2 0において 、 第 1 L A N中継クライアン h 8の記憶部には、 先の配信
( F 4から F 1 2の操作) で得られたコンテンッまたは配信元 1で更新され 新たな配信でィ守 れたコンテンッが格納されている 。 そのコンテンッの配信 要求した第 1 L A N 2内のクライアントに対して 3ンテンッ Bの配信を開 始する 元の配信の際 、 コンテンツ Aに付随してコンテンッ Bの配信を行な つてお < ことにより、 新たな配信を行なわずに 、 ンテンッの配信を要求し た第 1 L A N内のクライアン卜に対してコンテンッ Bの配信を開始すること
が可能になる。
次に、 図面を用いて本発明の実施の形態における各々の LANに設置され た、 中継クライアントの動作を述べる。 各々の L ANに設置された中継クラ イアン卜の動作は、 L ANが異なっていても同様の動作をするので、 ここで は第 1 L AN 2を用いて説明を進める。
図 1 9は本発明の実施の形態における中継クライアン卜の動作を示すフ口 一チャートである。 図 1 9を参照すると、 中継クライアントは、 その初期状 態において、 第 1 L AN 2を介して中継クライアントに接続する複数のクラ イアント c l〜c n (nは 1以上の自然数。) の少なくとも一つから送信され るコンテンツ要求メッセージ 1 4を監視している。 図 1 9において、 フロ一 チャー トの動作は、 第 1 L AN中継クライアント 8は第 1 LAN 2に接続す る複数のクライアントの少なく とも一つのクライアントから送信されるコン テンッ要求メッセ一ジ 1 4を受信することで開始する。
ステップ S 1 0 1 において、 クライアントから送信されたコンテンツ要求 メ ッセ一ジ 1 4を受信する。 ステップ S 1 0 1 においてコンテンツ要求メッ セージ 1 4を受信した中継クライアントは、 ステップ S 1 0 3において、 そ のコンテンツ要求メ ッセージ 1 4の受信に応答して、 該当するコンテンツの 配信を受けるために、 制御サーバ 5に対して U R L要求メッセージ 1 5を送 信する。 さらに、 ステップ S 1 0 3において、 中継クライアン トは、 送信し た UR L要求メッセージ 1 5に対して制御サーバ 5から返信された UR L応 答メッセージ 1 6を受信し、 ステップ S 1 0 5へ進む。
ステップ S 1 0 5において、 第 1 L AN中継クライアント 8は、 記憶部に 格納している U R L判定情報のコンテンツ構成情報と、 配信サーバ 6に格納 されているコンテンツ構成情報の比較を行う。 比較は、 制御サーバ 5から送 信された U R L応答メッセージ 1 6 に含まれる U R L判定情報に基づいて行 われ、 UR L判定情報には、 コンテンツの有効期間の情報や最新更新日時情 報などが含まれる。 中継クライアン トの処理部は、 記憶部に格納された該当 するコ ンテンツのコンテンツ構成情報と、 受信した UR L応答メッセージ 1 6に含まれる UR L判定情報のコンテンツ構成情報との比較により行われる。
ステップ S 1 0 5における比較の結果、 該当するコンテンツに変化が無か つた場合、 つまり、 第 1 L A N中継クライアント 8の記憶部に格納されてい るコンテンツデータと配信サーバ 6に格納されたコンテンツデ一夕とが同一 のデータであった場合、 フローはステップ S 1 0 7へ進む。
ステップ S 1 0 7において、 中継クライアントは、 記憶部に保存されてい るコンテンツの有効期限を判定する。 判定の結果、 有効期限内であれば、 ス テツプ S 1 1 5に進み、 記憶部に保存されているコンテンツに要求されたべ ージが存在するかを判定する。 有効期限切れの場合、 配信されているコンテ ンッの中にクライアントの要求しているページが存在するかどうかを判定す るステップ S 1 0 9へ進む。
ステップ S 1 0 5における比較の結果、 第 1 L A N中継クライアント 8の 記憶部に格納されている該当するコンテンツに変化がある場合、 つまり、 第 1 L A N中継クライアント 8の記憶部に格納されているコンテンッデータと、 配信サ バ 6の記憶部に格納されたコンテンツデ一夕とが同一で toハ、、かつた場 合、 ステップ S 1 0 9へ進み、 配信されているコンテンツの中にクライアン 卜の要求しているページが存在するかどうかを判定する。
ステ Vプ S 1 0 9 において、 配信サーバ 6が配信している ンテンッの構 成に 、 クライアン卜が要求しているページが存在するかを判定する 。 判定の 結果 、 存在しないページを要求している場合、 ステップ S 1 1 7に進みクラ ィァン卜に対してエラー応答送信を行う。 クライアントが要求しているぺー ジが配信中のコンテンツに含まれる場合、 ステップ S 1 1 1 に進み最新のコ ンテンッを配信サーバ 6からダウンロードする。 何らかの要因で配信サーバ
6からのコンテンッ配信が不可能な場合、 制御サーバ 5から送信される U R
L fcゝ答メッセージ 1 6 に含まれる U R L判定情報には、 W W Wサーバ 7の U
R Lが記載されるので WWWサーバ 7からコンテンツの転送が行なわれる。 ステップ S 1 1 1 において、 クライアントの要求するページが記憶部に保 存されていない為、配信サーバ 6からコンテンツのダウンロードを開始する。 要求されているページが得られたら、 ステップ S 1 1 3に進む。
ステップ S 1 1 3において、 配信サーバ 6からダウンロードしたコンテン
ッ · コンテンツ構成情報 · コンテンツ有効期限情報を記憶部に保存開始する とともに、 クライアントにコンテンツ応答する為にステップ S 1 1 9に進む。 ステップ S 1 1 5において、 記憶部に保存されているコンテンツの中に、 要求されたページが存在するかを判定する。 判定の結果、 存在しない場合つ まり配信元 1にも存在しない場合、 クライアントのコンテンツ要求に対して H T T P応答でエラ一応答を送信する為にステップ S 1 1 7に進む。 要求さ れたページが存在する場合、 クライアントに対してコンテンッを応答送信す る為、 ステップ S 1 1 9に進む。
ステップ S 1 1 7において、 クライアントが要求したページが、 記億部に も配信元 1 にも存在しない為、 クライアントのコンテンツ要求に対して、 H T T P応答でエラー応答を送信する。 送信後は待機状態にもどる。
ステップ S 1 1 9において、 クライアントが要求したページが、 記憶部に 保存されているので、 クライアントのコンテンツ要求に対して、 H T T Pに よりコンテンッ応答を送信する。 送信後は待機状態にもどる。
次に、 図面を用いて本発明の実施の形態における配信元 1 に設置された、 制御サーバ 5の動作を述べる。 制御サーバ 5の動作は L A Nが異なっていて も同様の動作をするので、 ここでは第 1 L A N 2を用いて説明を進める。 図 2 0は、 制御サーバ 5の動作を示すフローチャートである。 図 2 0を参 照すると、 制御サーバ 5はその初期状態において、 第 1 L A N中継クライァ ント 8からの U R L要求メッセ一ジ 1 5の受信を監視する。制御サーバ 5は、 広域 I Pネッ トワーク 4を介して第 1 L A N中継クライアント 8から送信さ れる U R L要求メッセージ 1 5を受信することで開始する。
ステップ S 2 0 1 において、 制御サーバ 5は初期化終了後、 待機状態とな り中継クライアントからの U R L要求メッセージ 1 5を監視する。 ステップ S 2 0 3において、 待機状態であった制御サーバ 5は、 中継クライアントか ら U R L要求メッセージ 1 5を受信すると、 次のステップ S 2 0 5へ進む。 ステップ S 2 0 5において、 制御サーバ 5は、 記憶部 5 2に保存されてい るコンテンツ構成情報 (ファイルリス ト、 ディ レク トリ情報等) を取得し、 ステップ S 2 0 7へ進む。
ステップ S 2 0 7において、 制御サーバ 5は中継クライアントから送信さ れた U R L要求メッセ一ジ 1 5に含まれる要求ページ U R Lと、 ステップ S 2 0 5で取得したコンテンッ構成情報とを比較し、 配信サーバ 6からコンテ ンッの配信が可能かを判定する。 この判定により、 中継クライアントから誤 つた U R L (実際には存在しないコンテンツ) を要求された場合、 ステップ S 2 2 1に進み中継クライアントにエラー応答を送信する。
ステップ S 2 0 9において、 制御サーバ 5は、 配信サーバ 6からコンテン ッの配信が可能と判定されたコンテンツの有効期限情報を、 記憶部 5 2から 取得する。
ステップ S 2 1 1 において、 制御サーバ 5は、 ステップ S 2 0 9で取得し たコンテンツ有効期限情報を調査し、 要求されたコンテンッが有効期限切れ かどうかを判定する。 この判定により、 コンテンツの有効期限が切れていた 場合、 ステップ S 2 1 5に進み中継クライアントに更新終了まで待機するよ うに応答を送信する。
ステップ S 2 1 3において、 中継クライアントが配信サーバ 6からコンテ ンッを受信可能なので、 制御サーバ 5は中継クライアントに対して、 配信サ —バ 6からコンテンツの受信を行う様に U R L応答メッセージ 1 6を送信す る。 次の U R L要求を受信する為、 待機状態に移行する。
ステップ S 2 1 5において、 配信サーバ 6の記憶部に格納されているコン テンッの有効期限が切れているため、 配信サーバ 6 に対して W W Wサーバ 7 からコンテンツの読み込みを行ない最新のコンテンツを配信できるように更 新の指示をだす。 この指示により配信サーバ 6は W W Wサーバ 7からコンテ ンッのコピ一を行なう。 配信サーバ 6が W W Wサーバ 7からコンテンッのコ ピーを完了するまでの間、 中継クライアントに対して待機するように指示を 出す。
ステップ S 2 1 7において、 W W Wサ一バから配信サ一バに対してコンテ ンッのコピーが正常に終了したかを判定する。 判定の結果、 コンテンツのコ ピーが正常に終了したら、 S 2 1 3 に進み配信サーバ 6からコンテンツの受 信を行なうように U R L応答メッセージ 1 6 を送信する。 何らかの理由によ
りコンテンツのコピーが正常に終了しなかった場合、 S 2 1 9に進み、 WW Wサーバ 7からコンテンツの受信を行なうように w w wサーバからコンテン ッの受信を行う為に URL応答メッセージ 1 6を送信する。
ステップ S 2 1 9において、 配信サ一バは何らかの理由により、 最新のコ ンテンッが配信できないので、 中継クライアントに対して wwwサーバから コンテンツの受信を行う為に UR L応答メッセージ 1 6を送信する。
ステップ S 2 2 1 において、 中継クライアントから要求された UR Lが配 信サーバ 6の記憶部に存在しないので、 確認のため WWWサーバ 7のコンテ ンッ構成情報を取得する。 取得したコンテンッ構成情報と要求された UR L を比較する。 比較の結果、 WWWサーバ 7には存在するが配信サーバ 6には 存在しない場合、 ステップ S 2 1 5に進み、 配信サーバ 6のコンテンツ更新 処理を行なう。 比較の結果、 WWWサーバ 7にも存在しない場合、 S 2 2 3 に進み、 要求された UR Lが存在しないというエラーの UR L応答メッセ一 ジ 1 6を送信する。
ステップ S 2 2 3 において、 要求された UR Lは配信サーバにも WWWサ —バにも存在しないため、 中継クライアントに対して、 要求された U R Lが 存在しないというエラ一の U R L応答メッセージ 1 6を送信する。
次に、 図面を用いて本発明の実施の形態における、 制御サーバ 5に格納さ れたコンテンツ有効期限情報管理の動作について述べる。 制御サーバ 5の動 作は L ANが異なっていても同様の動作をするので、 ここでは第 1 LAN 2 を用いて説明を進める。 図 2 1 は、 コンテンツ有効期限情報管理の動作を示 すフローチャートである。 図 2 1 を参照すると、 制御サーバ 5は、 その初期 状態においてコンテンツ有効期限情報管理の時刻を監視する。 コンテンツ有 効期限情報管理の動作は、 コンテンッ管理情報の更新時刻になることで開始 する。 制御サーバ 5は初期化終了後、 待機状態となる。 一定間隔でコンテン ッの有効期限を判定するために、 コンテンツ有効期限情報管理の処理を開始 する。
ステップ S 3 0 1 において、 制御サーバ 5は、 その記憶部から、 コンテン ッ有効期限情報を取得する。 制御サーバ 5の記憶部 5 2には、 制御サーバ 5
からの指示により配信サーバ 6が WWWサーバ 7からコンテンッを読込み処 理を行ったことに基づくコンテンツ有効期限情報が保存されている。
ステップ S 3 0 3において、取得したコンテンツの有効期限の判定を行う。 初期状態では、配信サーバ 6はコンテンッ配信の為の準備ができていない為、 コンテンツの有効期限情報は期限切れと判定される。 コンテンツの有効期限 が切れていた場合には S 3 0 5に進み、 配信コンテンッの更新処理を行う。 有効期限内ならば、 再び待機状態に戻る。
ステツプ S 3 0 5において、配信サーバ 6のコンテンッが期限切れなので、 配信サーバ 6に対して、 WWWサーバ 7からコンテンツの読み込みを行い最 新のコンテンツを配信できるように、 更新の指示を出す。 この指示により配 信サーバ 6は WWWサーバ 7からコンテンッのコピーを行う。
ステップ S 3 0 7において、 制御サーバ 5は配信サーバ 6のコンテンツ更 新が終了したら、 コンテンツの UR L構成 (ファイルリスト、 ディ レク トリ 情報等) を記憶部 5 2に保存するとともに、 コンテンツ有効期限情報を更新 する。 コンテンツ配信中にコンテンツを更新した場合、 配信サーバ 6は中継 クライアントに対してコンテンツの再送信処理を行う。
[本発明の第 2実施形態]
以上に述べた実施形態では、 L ANに接続された複数のクライアント装置 は、 その L ANに接続された中継サーバ装置を介して広域 I Pネッ トワーク に接続する。 つまり複数のクライアント装置は、 中継サーバ装置を介して配 信サーバからコンテンツのダウンロードを行なう。
先の実施形態で示した中継クライアントとクライアントが独立した装置で ある。 各々の装置で処理プログラムが動作する場合、 それぞれの処理部の間 は通常 L ANに接続されている。 そのためそれぞれの処理部は LANを介し て O S (Operating System: 基本ソフ トウェア) が提供するネッ トワークデ バイス (通常 LANに接続されている) を用いて通信が行なわれる。
中継クライアントおよびその中継クライアン トに接続されたクライアント は、 ハードウェア ( C P Uやメモリ、 記憶装置など) と処理を行なうプログ ラムにより構成されている。 本発明のコンテンツ配信システムは、 中継クラ
イアン卜の処理プログラムとクライアントの処理プログラムを同一のハード ウェアで実行することも可能である。
同一のハードウェアで中継クライアントとクライアントのそれぞれの処理 プログラムが動作する場合、 それぞれの処理部の間は、 O Sが提供する仮想 L A Nデバイス (例 : U N I Xオペレーティ ングシステムで提供される トン ネルデバイス) を用いて通信が行なわれる。 クライアント処理プログラムが 複数ある場合、 中継クライアントプログラムとの間の仮想デバイスを追加す ることにより、 先の実施形態と同様の効果を得ることができる。 広域 I Pネ ッ 卜ワークとの通信は、 ハ一ドゥエアデバイスとそのデバイス ドライバを経 由して行なわれる。
[第 2実施形態の構成]
図 2 4は、 第 2の実施形態の構成を示すブロック図である。 図 2 4は本発 明の実施の形態におけるネッ トワークの構成を示すブロック図である。 図 2 4を参照すると、 本実施の形態におけるネッ トワークの構成は、 広域 I Pネ ッ トワーク 4と、 その広域 I Pネッ トワーク 4を介してコンテンツを配信す る配信元 1 と、 その配信されたコンテンツを受信する第 1から第 n ( nは 1 以上の自然数) の複数のクライアントとで構成される。 本第 2実施形態では、 主に広域 I Pネッ トワーク 4を介して配信元 1 に接続する第 1 クライアント 4 0 1 と、 広域 I Pネッ トワーク 4を介して配信元 1 に接続する第 2クライ アント 5 0 1 とで構成されたネッ トワークを用いて説明を行うが、 これは、 本発明のネッ トワークの構成を限定するものではない。 複数のクライアント はマルチユーザ ·マルチタスクを実行することが可能な情報処理装置である。
1台の装置に備えられた資源を複数のユーザで共有し、 複数の処理を見かけ 上または実質的に並列に処理する。
図 2 5は同一の装置で中継クライアントプログラムとクライアント処理プ ログラムを処理実行するクライアントの構成を示すブロック図である。 図 2 5は図 2 4に示す第 1 クライアント 4 0 1 を例に構成を示す。 図 2 5を参照 すると、 第 1 クライアン 卜 4 0 1 はユーザプログラムレイヤ 4 0 2 と O Sサ 一ビスレイヤ 4 0 3 とハードウェアレイヤ 4 0 4で構成される。 ユーザプロ
グラムレイヤ 4 0 2は中継クライアント処理部 4 0 5 とクライアント処理部 4 0 6 を含み、 O Sサービスレイヤ 4 0 3は仮想 L ANインタ一フエ一ス 4 0 7 を含み、 ハードウェアレイヤ 4 0 4は外部通信インターフェイス 4 0 8 と記憶部 4 0 9 とュ一ザ一インターフェース 4 1 0 を含む。 中継クライアン ト処理部 4 0 5 と外部通信インターフェイス 4 0 8は装置内の情報通信線を 用いて接続され、 さらに中継クライアント処理部 4 0 5 と仮想 L ANインタ 一フェイス 4 0 7は装置内の情報通信線を用いて接続され、 記憶部 4 0 9 と 中継クライアント処理部 4 0 5は装置内の情報通信線を用いて接続され、 ク ライアント処理部 4 0 6 と仮想 L ANインターフェイス 4 0 7は装置内の情 報通信線を用いて接続される。
記憶部 4 0 9は、 格納する情報の書換えが可能な情報記憶装置である。 第 1クライアント 4 0 1 (中継クライアント +クライアント) に内蔵または外 部接続され、 配信サーバ 6または WWWサーバ 7から送信された C T— D A T A 2 1 を格納する。 記憶部 4 0 9は受信した C T— D AT A 2 1が、 新規 のコンテンツデ一夕であった場合、 配信サーバ 6または WWWサーバ 7から 送信された C T— I N F Oメッセ一ジ 1 8に含まれるコンテンツ構成情報と その C T— DATA 2 1 を対応させたコンテンツデータとしてクライアント に配信可能な状態で格納する。 その C T— D A T A 2 1が以前に格納された ことがあるコンテンツの最新データであった場合、 配信サ一バ 6または WW Wサーバ 7から送信された C T— I N F Oメッセージ 1 8に含まれるコンテ ンッ構成情報とその C T— D A T A 2 1 とに基づいて、 記憶部 4 0 9に格納 してあるコンテンツデータ 4 0 9 c dを更新する。
中継クライアント処理部 4 0 5は第 1 クライアント 4 0 1 に内蔵された情 報処理プログラムである。 第 1クライアント 4 0 1 は C P U (中央演算処理 装置) を備え、 クライアント処理部 4 0 6からのコンテンツ要求メッセージ 1 4に応答して記憶部 4 0 9に格納したコンテンツデータから特定のコンテ ンッを検索する検索処理や、 仮想 L ANに接続されたクライアントゃ広域 I Pネッ トワーク 4に接続されたサーバに送信するメッセージを作成する作成 処理などを行なう。
外部通信インターフェイス 4 0 8は広域 I Pネッ トワーク 4を介して行な われる情報の送信、 及び受信を行なう装置である。 図 2 4を参照すると中継 クライアント処理部 4 0 5に備えられた外部通信ィンタ一フェイス 4 0 8は、 広域 I Pネッ トワーク 4を介して配信サーバ 6または WWWサーバ 7から送 信された CT— DATA 2 1および RT— DATA 2 2を受信する。
仮想 L ANインターフェース 4 0 7は第 1クライアント 4 0 1内で行なわ れる情報の送信、 及び受信を行なう装置である。 図 2 5を参照すると中継ク ライアント処理部 4 0 5に備えられた仮想 LANインタ一フェース 4 0 7は その仮想 L ANを介して中継クライアント処理部 4 0 5に接続された複数の クライアント処理部 4 0 6の少なく とも一つから送信されるメッセージを受 信し、その受信したメッセージを中継クライアント処理部 4 0 5に通知する。 また中継クライアント処理部 4 0 5からの情報送信指示に応答して、 配信サ ーバ 6または WW Wサーバ 7から配信され受信の完了したコンテンツを、 そ のコンテンツの配信要求を行なったクライアント処理部 4 0 6に送信する。 クライアント処理部 4 0 6は第 1クライアント 4 0 1 に内蔵された情報処 理プログラムである。 第 1クライアント 4 0 1は C P U (中央演算処理装置) を備え、 中継クライアント処理部 4 0 5へのコンテンツ要求メッセージ 1 4 を送信し、 コンテンツデータの要求を行なうコンテンツ要求処理や、 仮想し ANに接続された中継クライアントや広域 I Pネッ トワーク 4に接続された サーバに送信するメッセージを作成する作成処理などを行なう。
以下に図面を用いてコンテンツ配信中にそのコンテンツの更新が行われた 場合について述べる。 図 2 7は、 C T— R E S E NDメッセ一ジ 2 5の概要 を示す図である。 配信サーバ 6は中継クライアントに対してコンテンツを配 信している途中で、 制御サーバ 5の指示により記憶部のコンテンツの更新が 行なわれた場合、 中継クライアントに対して C T— R E S E NDメッセージ 2 5の送信を行なう。
図 2 7を参照すると、 C T— R E S E NDメッセージ 2 5は送信先ァ ドレ スと送信元アドレスとメッセージ種別とメッセージデータとを含む。 C T— R E S E NDメッセージ 2 5 に含まれる送信先アドレスには、 C T R E S
E N Dメッセージ 2 5を送信する送信先を識別するためのアドレス又は中継 クライアントに送信した C T_ I N F Oメッセージ 1 8により示されたダル —プアドレスが記載され、 本実施の形態では、 中継クライアントの I Pアド レスまたは C 1 a s s — Dの I Pアドレスが記載される。 送信元アドレスに は配信サーバ 6のアドレスが記載される。 メッセ一ジ種別には配信サーバ 6 から送信されているレスポンスであることを識別する L P L X Pレスポンス C T R E S E N Dが記載される。 メッセージデータには、 コンテンツ要求 元クライアントアドレスとコンテンツ配信情報が記載される。 コンテンツ配 信情報にはコンテンツ I D、 分割ブロック数、 マルチキャストグループアド レスの情報が記載される。 コンテンツ I Dには R C V_R E Qメッセージ 1 7に含まれる情報と同じ情報が記載される。
図 2 8は配信サーバ 6がコンテンッを配信中に記憶部のコンテンッが更新 された場合のシーケンスを示す図である。 図 2 8を参照すると、 中継クライ アントからの配信要求 R C V— R E Qメッセージ 1 7に応答して、 配信サ一 ノ 6がコンテンツデータ C T— D A T A 2 1 を送出しているときに、 制御サ ーバ 5からの指示により配信サーバ 6の記憶部に格納されているコンテンツ の更新が行なわれた場合、 配信サーバ 6はコンテンッ C T— D AT A 2 1の 送出を一時停止して、 更新されたコンテンツを記憶部に格納する。 記憶部の コンテンツが更新されたことに応答して、 各中継クライアントには C T— R E S E NDメッセ一ジ 2 5が送信される。
C T_R E S E N Dメッセ一ジ 2 5の送信に応答して、 各中継クライアン トは更新されたコンテンツを分割したブロックを含む C T— D A TA 2 1 の 受信を開始するため、 C T_R E S E NDメッセージ 2 5を受信する前に受 信を完了したコンテンツブロックを含む C T— D A T A 2 1を破棄する。 配 信サーバ 6は C T— R E S E NDメッセ一ジ 2 5の送信に続いて、 更新され たコンテンッが分割されたブ口ックが含まれる C T_D A T A 2 1の送信を 再開する。 C T— D A T A 2 1の送信の再開に応答して、 各中継クライアン トは C T— D AT A 2 1の受信を再開する。 コンテンツブロック C T_D A TA 2 1の受信または C T — D A T A 2 1受信後の R T D ATA 2 2の受
信により、 全てのコンテンツの受信が完了した中継クライアントはそのコン テンッを配信したサーバに R C V— F I Nメッセージ 2 0を送信する。
F 1 0 1のおいて第 1 L AN中継クライアント 8から送信された R C V— R E Qメッセージ 1 7 を受信した配信サーバ 6は、 その配信サーバ 6から送 信される C T— DATA 2 1の受信に必要な情報を有する C T— I N F Oメ ッセージ 1 8を第 1 LAN中継クライアント 8に送信する。 さらに、 配信サ ーバ 6は第 1 L AN中継クライアント 8にコンテンッデータのデータ本体と ヘッダとで構成された C T— DATA 2 1の送信を開始する。 第 1 L AN中 継クライアント 8は C T_ I N F Oメッセージ 1 8に含まれる情報により、 受信した CT— DATA 2 1がコンテンツ Aのデータであることを確認する。
F 1 0 5において、 第 2 L AN中継クライアントは、 配信サーバ 6が第 1 LAN中継クライアント 8にコンテンツ Aの C T_DATA 2 1 を送信して いるときに、 配信元の制御サーバ 5に U R L要求メッセージ 1 5を送信する。
F 1 0 6において、 配信元制御サーバ 5は要求された UR Lの有効性を判 定して UR L応答メッセージ 1 6を送信する。 このとき、 制御サ一バ 5から 配信サーバ 6に対して、 配信サーバ 6の記憶部に格納されているコンテンツ Aの更新指示が出たことに応答して、 C T_DATA 2 1の送信動作を一時 中断する。
F 1 0 7において、 第 2 LAN中継クライアント 9は、 制御サーバ 5から 送信された U R L応答メッセージ 1 6の U R L判定情報に基づいて、 実際に コンテンツを配信するサーバを確定し、 コンテンツ Aの R C V— R E Qメッ セージ 1 7を送信する。 図 2 8において第 2 L AN中継クライアント 9は実 際にコンテンツ Aを配信するサーバを配信サーバ 6 に確定し、 その配信サー ノ 6から配信されるコンテンツデ一タを受信するために、 コンテンツ Aの R C V— R E Qメッセ一ジ 1 7を配信サーバ 6へ送信し、 コンテンツ Aの最新 のコンテンツデータの配信を要求する。
F 1 0 8において、 第 2 L AN中継クライアント 9から送信された R C V — R E Qメッセージ 1 7を受信した配信サーバ 6は、 その配信サーバ 6から 送信される C T— D A T A 2 1の受信に必要な情報を有する C T I N F O
メッセ一ジ 1 8を第 2 LAN中継クライアント 9に送信する。
F 1 0 9において、 配信サーバ 6は記憶部のコンテンッ Aが更新されたこ とに応答して、 C T— R E S E NDメッセージ 2 5を送信する。 図 2 8にお いては第 1 L A N中継クライアント 8に対して T C Pにてメッセージが送信 されているが、 中継クライアントが複数存在する場合はマルチキャス トを用 いてメッセージを送信することも可能である。 C T— R E S E NDメッセ一 ジ 2 5を受信した中継クライアントは、 C T— R E S ENDメッセージ 2 5 を受信する前までに受信したコンテンツ Aのブロックデータ C T— D ATA 2 1 を破棄して、 あらたに C T— DATA 2 1 の受信を開始する。 図 2 8で は、 第 1 LAN中継クライアント 8は F 1 0 3, F 1 0 4で受信した C T— D AT A 2 1を破棄する。
F 1 1 0〜F 1 1 3において、 各中継クライアントは更新されたコンテン ッ Aのプロックデータ CT— D AT A 2 1 を受信して記憶部に格納する。
F 1 1 4、 F 1 1 5 において、 各中継クライアントは更新されたコンテン ッ Aのブロックデータ C T— DAT A 2 1の受信を完了すると、 配信サーバ 6に対して受信完了を通知するために R CV—F I Nメッセ一ジ 2 0を送信 する。 配信サーバ 6は、 第 1 L AN中継クライアント 8から送信された R C V— F I Nメッセ一ジ 2 0を受信すると、 その R C V— F I Nメッセ一ジ 2 0に含まれるコンテンツ I Dを参照して、 そのコンテンツに対してコンテン ッデータの受信を継続している他の中継クライアントが存在するかどうかを 調査する。 図 2 8では、 他の中継クライアントが受信を継続していないため、 マルチキャス トによる C T— DATA 2 1の送信は終了する。 ここで各中継 クライアント 8の記憶部には、 先の配信で得られたコンテンッまたは配信元 1で更新され新たな配信で得られたコンテンツが格納されている。 そのコン テンッの配信を要求したクライアントに対してコンテンツ Bの配信を開始す る。 先の配信の際、 コンテンツ Aに付随してコンテンツ Bの配信を行なって おく ことにより、 新たな配信を行なわずに、 コンテンツの配信を要求したク ライアン卜に対してコンテンツ Bの配信を開始することが可能になる。
[第 2実施形態の動作]
以下に第 2実施形態の動作について述べる。 ユーザは広域 I Pネッ トヮー ク 4を介して WWWサーバ 7が公開した複数のコンテンツをユーザーインタ —フェース 4 1 0を介して閲覧し、 公開された複数のコンテンツの中から配 信を希望するコンテンツを選択する。 第 1 クライアント 4 0 1はその選択し たコンテンツ (以下、 コンテンツ Aと呼ぶ。) のコンテンツ要求メッセージ 1 4をクライアント処理部 4 0 6から仮想 L ANインターフェース 4 0 7を介 して中継クライアント処理部 4 0 5に対して送信する。
第 1クライアント 4 0 1は、 中継クライアント処理部 4 0 5がクライアン ト処理部 4 0 6から送信されたコンテンツ要求メッセージ 1 4を受信したこ とに対応して、 コンテンツ Aの配信を受けるために、 外部通信インタ一フエ —ス 4 0 8を介して広域 I Pネッ トワーク 4に接続された配信元 1 の制御サ —バ 5に対して UR L要求メッセージ 1 5を送信する。
第 1クライアント 4 0 1から送信された UR L要求メッセージ 1 5を受信 した配信元 1は第 1の実施形態に示す図 1 8の F 3に示す処理と同様の処理 を行い、 その処理に対応して適切な UR L応答メッセージ 1 6を第 1 クライ アント 4 0 1 に送信する。 第 1クライアント 4 0 1 は外部通信インターフエ —ス 4 0 8を介して受信した UR L応答メッセージ 1 6を中継クライアント 処理部 4 0 5に送信する。
中継クライアント処理部 4 0 5は、 UR L応答メッセ一ジ 1 6の UR L判 定情報に含まれる情報に基づいて記憶部 4 0 9に格納されたコンテンツが最 新のものであるとの判定結果を得た場合、 配信元 1へのコンテンツデ一夕の 配信要求を行わず、 記憶部 4 0 9 に格納されたコンテンッデ一夕を仮想 L A Nィンタ一フェース 4 0 7を介してクライアント処理部 4 0 6に送信する。
UR L応答メッセ一ジ 1 6を受信した第 1 クライアント 4 0 1 は、 UR L 応答メッセージ 1 6の U R L判定情報に記載された情報に基づいて、 実際に コンテンツを配信する配信サーバを確定し、 コンテンツ Aの R C V— R E Q メッセージ 1 7を送信する。 中継クライアント処理部 4 0 5は、 実際にコン テンッ Aを配信するサーバを配信サーバ 6に確定するための処理を行う。 第 1 クライアント 4 0 1 はその処理結果に対応して配信サーバ 6から配信され
るコンテンツデータを受信する。 第 1 クライアント 4 0 1は中継クライアン ト処理部 4 0 5が出力するコンテンツ Aの R CV— R E Qメッセ一ジ 1 7を 配信サーバ 6へ送信し、 コンテンツ Aの最新のコンテンツデータの配信を要 求する。
第 1 クライアント 4 0 1から送信された R C V— R E Qメッセージ 1 7を 受信した配信サーバ 6は、 第 1実施形態と同様の処理を行い、 その処理に対 応して適切な C T— I N F Oメッセ一ジ 1 8 と C T— DATA 2 1の送信を 第 1クライアント 4 0 1 に対して開始する。
配信サーバ 6が第 1 クライアント 4 0 1 にコンテンツ Aの C T— DATA 2 1 を送信している時に、 第 2クライアント 5 0 1は、 コンテンツ Aの配信 を受けるために、 配信元 1の制御サーバ 5に対して UR L要求メッセージ 1 5を送信する。
第 2クライアント 5 0 1から送信された UR L要求メッセージ 1 5を受信 した配信元 1は第 1実施形態の図 1 8の F 8から F 1 0に示す処理と同様の 処理を行い、 その処理に対応して適切な C T— I N F Oメッセージ 1 8と C T— DATA 2 1 を第 2クライアント 5 0 1に送信する。
さらに、 第 1 クライアント 4 0 1 または第 2クライアント 5 0 1は、 C T — DAT A 2 1で送信されたブロックにおいて、 何らかの原因で受信が正常 に行われなかつたコンテンッデ一タブ口ックが確認された場合、 第 1実施形 態と同様にそのコンテンッデータプロックの再送信を配信サーバ 6に要求す る。 コンテンツデータブロックの再送信の要求は、 第 1実施形態と同様に R T— R E Qメッセ一ジ 1 9を配信サーバ 6に送信することで行われる。
このようなネッ トワークシステムを構成することで、 複数のクライアント マシンを所有しないユーザに対しても、 L ANに中継クライアントを設置し た場合と同様のコンテンッ配信サービスを提供することが可能になる。更に、 複数クライアントを所有するユーザに対しても、 新たなサーバマシンを設置 することなく、 現在所有の資源を有効に活用したシステムの提供が可能にな る。