(57)【要約】【課題】  配信ノードから存在位置を変える移動ノードに対するコンテンツ配信を高品質に実行する。【解決手段】  移動ノードが存在しうる各無線LANと有線ネットワーク間にキャッシュサーバを配置する。当該キャッシュサーバは、配信ノードからのコンテンツをバッファに格納しつつ、移動ノードにコンテンツを配信する。移動ノードは、移動すると、移動先の無線LANに接続するキャッシュサーバに移動通知を送信する。移動通知を受信したキャッシュサーバは、移動ノードが移動前に利用していたキャッシュサーバから上記バッファの内容を取得することにより移動ノードへのコンテンツの再送を可能とし、配信品質を向上する。【選択図】図１
2006165928.tif 000002
【特許請求の範囲】
【請求項１】
配信サーバが移動ノードに対して行うコンテンツ配信を、複数のキャッシュサーバを用いて行う通信方法において、
前記移動ノードが、利用する前記キャッシュサーバが第1の前記キャッシュサーバから第２の前記キャッシュサーバに替わったことを検知し、前記第2のキャッシュサーバに移動通知を送信するステップと、
前記第2のキャッシュサーバが、前記移動ノードから前記移動通知を受信するステップと、
前記第2のキャッシュサーバが、該移動通知に含まれる情報から特定する、前記移動ノードが移動前に利用していた前記第1のキャッシュサーバへ、前記移動ノードが行う可能性がある再送要求を処理するに必要な要求を送信するステップと、
前記第１のキャッシュサーバが、前記再送要求を処理するに必要な情報を、前記第２のキャッシュサーバへ送信するステップと、
を備えることを特徴とする通信方法。
【請求項２】
請求項１に記載の通信方法において、
前記第2のキャッシュサーバは、前記移動通知から前記移動ノードが要求していた前記コンテンツを特定するステップと、
前記第2のキャッシュサーバは、前記コンテンツを既に保持しているか否かを判定し、保持していれば、前記第1のキャッシュサーバに、前記再送要求を処理するに必要な要求として、前記第１のキャッシュサーバが保持している前記コンテンツの削除要求を送信するステップと、
前記第1のキャッシュサーバは、前記削除要求への応答として、前記移動ノードが受信した部分に関する情報と、前記移動ノードが送信した部分に関する情報を送信するステップと、を備える
ことを特徴とする通信方法。
【請求項３】
請求項２に記載の通信方法において、
前記第2のキャッシュサーバは、前記移動通知から前記移動ノードが要求していた前記コンテンツを特定するステップと、
前記第2のキャッシュサーバは、前記コンテンツを既に保持しているか否かを判定し、保持していなければ、前記再送要求を処理するに必要な要求として、前記第1のキャッシュサーバが保持している情報の移動要求を送信するステップと、
前記第1のキャッシュサーバは、前記再送要求を処理するに必要な要求への応答として、前記移動ノードが受信済みである部分に関する情報と、前記移動ノードが送信した部分に関する情報と、前記コンテンツのうち、少なくとも前記移動ノードが受信済みではない部分を含む前記コンテンツ部分を送信するステップと、を備える
ことを特徴とする通信方法。
【請求項４】
請求項１に記載の通信方法において、
前記第1のキャッシュサーバは、要求された前記再送要求を処理するに必要な情報の送信後に、保持している前記コンテンツを削除するステップを備える
ことを特徴とする通信方法。
【請求項５】
請求項１に記載の通信方法において、
前記第1または第2のキャッシュサーバが、前記移動ノードから、前記配信サーバが保持しているデータの配信要求を受信するステップと、
前記配信要求を受信したキャッシュサーバが、前記データを、自キャッシュサーバが保持しているか否かを判断し、保持していなければ、前記配信サーバに前記データの配信要求を送信し、保持していれば、前記データを前記移動ノードに送信するステップと、を備える
ことを特徴とする通信方法。
【請求項６】
請求項１に記載の通信方法において、
前記移動ノードへ配信するデータがフレーム毎に送信タイミングが定まっているストリーム配信データであって、
前記第1のキャッシュサーバが、保持している前記ストリーム配信データを前記第2のキャッシュサーバへ、送信する際に、当該ストリーム配信データの配信について定められている前記送信タイミングとは異なる、より高速なタイミングで送信するステップを備える
ことを特徴とする通信方法。
【請求項７】
配信サーバが移動ノードに対して行うコンテンツ配信を支援するキャッシュサーバにおいて、
前記移動ノードから、利用するキャッシュサーバが他の前記キャッシュサーバから替わったことを通知する移動通知を受信するステップと、
該移動通知に含まれる情報から特定する、前記移動ノードが移動前に利用していた前記他のキャッシュサーバへ、前記移動ノードが行う可能性がある再送要求を処理するに必要な要求を送信するステップと、
前記他のキャッシュサーバから、前記再送要求を処理するに必要な情報を、受信するステップと、を実行する
ことを特徴とするキャッシュサーバ。
【請求項８】
請求項７に記載のキャッシュサーバにおいて、
前記移動通知から前記移動ノードが要求していた前記コンテンツを特定するステップと、
前記コンテンツを既に保持しているか否かを判定し、保持していれば、前記他のキャッシュサーバに、前記再送要求を処理するに必要な要求として、前記他のキャッシュサーバが保持している前記コンテンツの削除要求を送信するステップと、
前記第1のキャッシュサーバから、前記削除要求への応答として、前記移動ノードが受信した部分に関する情報と、前記移動ノードが送信した部分に関する情報を受信するステップと、を実行する
ことを特徴とするキャッシュサーバ。
【請求項９】
請求項７に記載のキャッシュサーバにおいて、
前記移動通知から前記移動ノードが要求していた前記コンテンツを特定するステップと、
前記コンテンツを既に保持しているか否かを判定し、保持していなければ、前記再送要求を処理するに必要な要求として、前記他のキャッシュサーバが保持している情報の移動要求を送信するステップと、
前記他のキャッシュサーバから、前記再送要求を処理するに必要な要求への応答として、前記移動ノードが受信済みである部分に関する情報と、前記移動ノードが送信した部分に関する情報と、前記コンテンツのうち、少なくとも前記移動ノードが受信済みではない部分を含む前記コンテンツ部分を受信するステップと、を実行する
ことを特徴とするキャッシュサーバ。
【請求項１０】
請求項７に記載の通信方法において、
前記第1のキャッシュサーバは、要求された前記再送要求を処理するに必要な情報の送信後に、保持している前記コンテンツを削除するステップを備える
ことを特徴とするキャッシュサーバ。
【請求項１１】
請求項７に記載のキャッシュサーバにおいて、
前記移動ノードから、前記配信サーバが保持しているデータの配信要求を受信するステップと、
要求された前記データを、保持しているか否かを判断し、保持していなければ、前記配信サーバに前記データの配信要求を送信し、保持していれば、前記データを前記移動ノードに送信するステップと、を実行する
ことを特徴とするキャッシュサーバ。
【請求項１２】
請求項７に記載のキャッシュサーバにおいて、
前記移動ノードへ配信するデータがフレーム毎に送信タイミングが定まっているストリーム配信データであって、
前記第1のキャッシュサーバから、保持している前記ストリーム配信データを、当該ストリーム配信データの配信について定められている前記送信タイミングとは異なる、より高速なタイミングで受信するステップを実行する
ことを特徴とするキャッシュサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は移動体向けデータ配信処理を支援する方法、特に、有線ネットワーク上に存在するノードから無線ネットワーク上に存在するノードにコンテンツデータを配信する際に、コンテンツデータの配信品質向上を支援する技術に関する。
【背景技術】
【０００２】
有線ネットワーク上に存在する配信ノードから無線ネットワーク上に存在する移動ノードにコンテンツ等のデータを配信する際に、コンテンツ等のデータ配信品質の向上（データ欠落防止）を支援する通信方法として、特許文献１に記載されている方法が知られている。
【０００３】
本文献記載の方法では、配信ノードと移動ノードとの間にキャッシュサーバを複数配置している。そして、移動ノードが要求する情報を、配信サーバと移動ノード間の経路上に存在するキャッシュサーバの一つ（第１のキャッシュサーバ）が保持していた場合、当該情報を配信サーバからではなく、第１のキャッシュサーバから配信する。
【０００４】
さらに、移動ノードが物理的な存在位置を変え、配信サーバと移動ノード間の経路が変化した場合には以下の動作を行う。まず、新しい経路上に存在するキャッシュサーバの一つ（第２のキャッシュサーバ）が当該情報を保持しているか否かを調べる。第２のキャッシュサーバは、当該情報を保持していた場合、第１のキャッシュサーバから配信済みの情報に関する情報を取得する。そして、第２のキャッシュサーバは残りの情報を移動ノードに配信する。
【０００５】
このように、移動ノードが存在位置を変えるにつれ、他のキャッシュサーバが、残りの情報部分を当該移動ノードに対して配信することで、効率的な情報配信を提案している。
【０００６】
【特許文献１】米国特許出願公開第2002/0094813 A1号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前記技術は、移動ノードが受信した情報に誤りがあった場合などの再送要求が、移動ノードからキャッシュサーバに対して頻繁に到達しない限りには、情報配信品質の向上が可能である。しかし、情報の再送要求が頻繁に到達する場合には、以下に述べる理由により、情報配信品質が不十分になる可能性がある。
【０００８】
第１に、たとえ、第１のキャッシュサーバや第２のキャッシュサーバよりネットワーク的に移動ノードに近い第３のキャッシュサーバが存在しても、第３のキャッシュサーバが移動ノードにより要求される情報を保持していない限り、第３のキャッシュサーバは移動ノードに情報配信を行わない。そのため、移動ノードが情報の再送要求を第１のキャッシュサーバまたは第２のキャッシュサーバに対して発行してから、第１のキャッシュサーバまたは第２のキャッシュサーバが配信する再送情報が移動ノードに到達するまでに要する時間が長くなる可能性がある。この時間が長いと、配信される情報が、リアルタイム性を要求されるコンテンツである場合に、再送コンテンツデータが再生すべき時刻までに移動ノードに到達せず、コンテンツ配信品質の劣化を招く。
【０００９】
第２に、移動ノードが物理的な位置を変えたことにより、情報配信を行うキャッシュサーバが第１のキャッシュサーバから第２のキャッシュサーバに情報替わっても、第２のキャッシュサーバは、第１のキャッシュサーバから、再送に備えるための情報（移動ノードから受け取った最後の受信確認通知に格納されていたデータオフセット、などの情報）を受け取っていない。そのため、第２のキャッシュサーバは、移動ノードから新たなデータオフセットを含む受信確認通知を受け取ったとしても、移動ノードが受信した情報データに欠落があるか否かの判断を行えない。その結果、移動体が受信した情報データに欠落が実際に発生しても、移動ノードは再送情報データを受信できない可能性があり、情報配信品質が劣化する。
【課題を解決するための手段】
【００１０】
本発明では、移動ノードの物理的に存在位置を移動するばかりでなく、ネットワーク内でのデータ欠落が多発する状況下においても、配信品質を十分に保つことが可能な移動体向けデータ配信処理を支援する方法を提供する。
【００１１】
本発明は、データ配信支援装置を用いたデータ配信処理支援方法を提供する。
【００１２】
本発明によるデータ配信支援装置は、移動ノードから配信要求を受け付け、当該配信要求にて指定されているコンテンツデータを保持しているか否かを判定する。保持していれば、当該コンテンツデータを移動ノードに配信する。保持していなくとも、配信サーバに配信要求を送信し、配信サーバからコンテンツを受信する。データ配信支援装置は受信したコンテンツを移動ノードに配信すると同時に、自装置内にも保持する。
【００１３】
さらに、本発明によるデータ配信支援装置は、移動ノードから受信確認通知を受信する。そして、受信確認通知に含まれるオフセット情報と、自装置から既に配信したオフセット情報から、当該移動ノード向けのバッファ領域（再送要求到達に備えるためのコンテンツデータ領域）を決定する。
【００１４】
さらに、本発明によるデータ配信支援装置は、移動ノードから再送要求を受信する。そして当該要求に応じ、上記バッファ領域から再送コンテンツデータを配信する。データ配信支援装置を移動ノードにネットワーク的に近い距離に多数配置することにより、本再送処理を短い時間で完了することができる。その結果、コンテンツ配信品質を十分高く保つことができる。
【００１５】
また、本発明によるデータ配信支援装置は、移動ノードから移動通知を受信する。本移動通知は、移動ノードが、当該装置を新たにキャッシュサーバとして利用したいことを要求するための通知である。本移動通知には、以前、当該移動ノードがキャッシュサーバとして利用していた他のデータ配信支援装置に関する情報も含まれる。
【００１６】
本移動通知を受信したデータ配信支援装置は、他のデータ配信支援装置から、バッファ領域に格納されたコンテンツなどの再送要求に応えるための情報を受信し、移動ノードからの再送要求到達に備える。移動に伴い利用していたデータ配信支援装置がネットワーク的に遠くなっても、この情報転送により、より近い新しいデータ配信支援装置からコンテンツ再送処理を行える。その結果、コンテンツ配信品質を十分高く保つことができる。
【００１７】
なお、本発明は、ストリーム配信されるコンテンツだけでなく、蓄積型のコンテンツについても、適用可能である。
【発明の効果】
【００１８】
本発明により、コンテンツ配信品質を十分に保つことが可能な移動体向けデータ配信技術が提供可能になる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施形態を図１から図１５を用いて説明する。
【００２０】
図１は、本発明の一形態のシステム構成を示す図である。
【００２１】
本システムでは、配信サーバ装置（以下、配信サーバという）（101）が、保持するコンテンツ（109）を移動ノード装置（以下、移動ノードという）（103）に配信する。配信サーバ（101）は有線ネットワーク（104）に接続し、移動ノード（103）は無線ネットワーク（たとえば無線LAN）（105）に接続している。さらに、有線ネットワーク（104）と無線LAN（105）とはアクセスポイント装置により接続されている。また、有線ネットワーク（104）と無線LAN（105）は、IPアドレスを用いたIPネットワークであるものとする。
【００２２】
本実施例では、配信サーバ（101）からのコンテンツ配信品質を向上するため、コンテンツ（109）を一時的に格納（キャッシュ）するバッファ領域（111）を備えるデータ配信支援装置（以下、キャッシュサーバという）（102）を、上記アクセスポイント装置に接続している。
【００２３】
図１では、アクセスポイント装置を図示していない。キャッシュサーバがアクセスポイント装置を兼ね、さらに、キャッシュサーバ（102）はアクセスポイント装置と同じIPアドレスを利用しているものとする。
【００２４】
移動ノード（103）は、アクセスポイント装置との間で、コネクションを確立すると、配信要求（106）を、配信サーバ（101）宛に送信する。配信要求（106）は、アクセスポイント装置を経由して、キャッシュサーバ（102）へ送られ、配信要求（106）を受信したキャッシュサーバ（102）は、配信要求（106）に含まれるコンテンツ（109）を自ノードが保持しているか否かを検査する。
【００２５】
キャッシュサーバ（102）は、要求されたコンテンツ（109）を保持していれば、当該コンテンツを移動ノード（103）に配信する。自ノードが保持していなければ、配信サーバ（101）に配信要求を送信し、配信サーバ（101）からコンテンツ（109）を受信する。受信したコンテンツ（109）は、移動ノード（103）に送信すると共に、自ノードにも格納する。
【００２６】
それぞれのキャッシュサーバ（102）は、移動ノード（103）から送信したコンテンツに対する受信確認通知を受け取り、複数の移動ノード（103）各々について、コンテンツのどの部分を、自ノードのバッファ領域（111）において保持すべきかを管理している。そして、移動ノード（103）から再送要求が到達した場合には、当該バッファ領域からコンテンツ（109）の必要な部分を再送する。
【００２７】
移動ノード（103）は、その物理的な存在位置が変化し、移動ノード（103）が接続するアクセスポイントが変わった場合、新しいアクセスポイント（105-2）との間でコネクションを確立して、移動通知（107）を送る。移動通知（107）は、新しいアクセスポイントに接続しているキャッシュサーバ（102-2）に送られる。
【００２８】
該移動通知を受け取ったキャッシュサーバ（102-2）は、移動ノード（103）が以前利用していたキャッシュサーバ（102-1）に対して、移動要求（108）を送信する。
【００２９】
旧キャッシュサーバ（102-1）は、移動要求（108）に対して、移動ノード（103）が要求する可能性がある再送を、キャッシュサーバ（102-2）が処理できる情報を、新キャッシュサーバ（102-2）に送信し、当該バッファ領域（111）の内容を削除するべく、バッファ領域（111）を解放する（110）。なお、バッファ領域（111）内容の送信では、例えばストリームコンテンツであってもコンテンツ本来の送信タイミングではなく、より高速な送信を行い、再送要求に速やかに応答できるようにする。
【００３０】
さらに、キャッシュサーバ（102-2）は、配信サーバ（101）に、コンテンツのキャッシュしていないフレームまたは全体の配信要求（106）を送信し、コンテンツ（109）受信を開始する。そして、移動ノード（103）からの新たな再送要求到達に備える。
【００３１】
新キャッシュサーバ（102-2）が当該コンテンツを既に保持していた場合には、上記移動要求送信を行わない。代わりに、以前利用していたキャッシュサーバ（102-1）のバッファ領域の解放（111）を指示し、その応答として、上記再送要求を処理するために必要な情報を受信する。
【００３２】
図２は、キャッシュサーバ（102）のハードウェア構成を示す図である。キャッシュサーバには、CPU（201）とメモリ（203）がメモリコントローラ（202）を介して接続されている。キャッシュサーバとしての動作を実現するプログラムはメモリ（203）またはハードディスク等の二次記憶装置（以下、ディスクという）（206）に格納されており、CPU（201）は、メモリ（203）からそのプログラムを読み出しながら実行する。また、CPU（201）は、バッファ領域（111）としても用いるディスク（206）と、ディスクコントローラ（204）を介して接続されており、ディスクコントローラ（204）を制御するプログラムにより、メモリ（203）上に存在するデータをディスク（206）に転送すること、及びディスク（206）に存在するデータ(209)をメモリ（203）に転送することができる。
【００３３】
また、キャッシュサーバ（102）は、ネットワークコントローラ（205）を備え、外部ネットワーク（207）を介して、配信サーバ（101）と無線LANのアクセスポイント装置と接続されている。キャッシュサーバ（102）は、ネットワークコントローラ（205）を制御するプログラムを実行することにより、メモリ（203）上に存在するデータを外部ネットワーク（207）に転送すること、及び外部ネットワーク（207）経由で受信したデータをメモリ（203）に転送することができる。
【００３４】
上記プログラムは、あらかじめ、上記メモリ（203）またはディスク（206）に格納されていても良いし、必要なときに、当該キャッシュサーバ（102）が利用可能な、着脱可能な記憶媒体、または通信媒体（有線または無線ネットワーク、または当該ネットワーク上の搬送波やデジタル信号）を介して、上記メモリ（203）またはディスク（206）に導入されてもよい。
【００３５】
キャッシュサーバ（102）は、上記構成を用いて、コンテンツ（109）や配信要求（106）等の各種要求を外部ネットワーク（207）経由で送受することや、コンテンツ（109）をディスク（206）に格納する（キャッシュする）ことが可能になる。
【００３６】
また、図示していないが、配信サーバ（101）、移動ノード（103）それぞれもキャッシュサーバと同様の構成を備え、CPU（201）がメモリ（203）に格納されたプログラムを実行することにより、以下の実施例で説明する動作を実現する。
【００３７】
図３は、配信サーバ（101）、キャッシュサーバ（102）、移動ノード（103）間で送受される各種要求のフォーマットを示す図である。前述したとおり、上記要求には、配信要求（106）、移動通知（107）、移動要求（108）、バッファ領域解放要求、受信確認通知、再送要求がある。
【００３８】
配信要求（106）には、送信元IPアドレス（当該要求を送信したノードのIPアドレス）、送信先IPアドレス（当該要求を受信すべきノードのIPアドレス）、配信サーバIPアドレス（要求するコンテンツを保持している配信サーバ（101）のIPアドレス）、URL（要求しているコンテンツを一意に識別するための情報）、配信開始オフセット（配信対象コンテンツの配信開始すべき位置を示すオフセット）の情報が含まれる。
【００３９】
移動通知（107）には、送信元IPアドレス（当該通知を送信したノードのIPアドレス）、送信先IPアドレス（当該通知を受信すべきノードのIPアドレス）、旧キャッシュサーバ（移動ノードが移動前に利用したキャッシュサーバ）のIPアドレス、旧移動ノードIPアドレス（移動ノードが移動前に使用していたIPアドレス）、配信サーバIPアドレス（要求していたコンテンツを保持している配信サーバのIPアドレス）、URL（要求していたコンテンツを一意に識別するための情報）の情報が含まれる。
【００４０】
移動要求と、バッファ領域解放要求には、送信元IPアドレス（当該要求を送信したノードのIPアドレス）、送信先IPアドレス（当該要求を受信すべきノードのIPアドレス）、旧移動ノードIPアドレス（移動ノードが移動前に使用ていたIPアドレス）、配信サーバIPアドレス（要求していたコンテンツを保持している配信サーバのIPアドレス）、URL（要求していたコンテンツを一意に識別するための情報）の情報が含まれる。
【００４１】
受信確認通知には、送信元IPアドレス（当該通知送信したノードのIPアドレス）、送信先IPアドレス（当該通知を受信すべきノードのIPアドレス）、配信サーバIPアドレス（要求していたコンテンツを保持している配信サーバのIPアドレス）、URL（要求していたコンテンツを一意に識別するための情報）、受信確認済オフセット（要求していたコンテンツの、移動ノードが受信を完了した部分を示すオフセット）の情報が含まれる。
【００４２】
再送要求には、送信元IPアドレス（当該要求を送信したノードのIPアドレス）、送信先IPアドレス（当該要求を受信すべきノードのIPアドレス）、配信サーバIPアドレス（要求していたコンテンツを保持している配信サーバのIPアドレス）、URL（要求していたコンテンツを一意に識別するための情報）、再送開始オフセット（要求していたコンテンツの再送を開始すべき位置を示すオフセット）の情報が含まれる。
【００４３】
なお、図示していないが、それぞれの要求または通知は、各々の種別を示す情報を含んでいる。
【００４４】
図４から図１２を用いてキャッシュサーバ（102）の動作について説明する。
【００４５】
キャッシュサーバ（102）は、現在どの移動ノード（101）に対してどのコンテンツ（109）を配信しているかを、図4に示す移動ノード管理テーブル（401）を用いて管理する。そして、配信要求（106）受信、コンテンツ（109）受信、移動通知（107）受信、移動要求（108）受信、バッファ領域解放要求受信、受信確認通知受信、再送要求受信を契機に動作を開始し、移動ノード管理テーブル（401）を更新しながら、コンテンツの送受信等を実行する。
【００４６】
以下、移動ノード管理テーブル（401）のデータ構造と、上記各動作契機におけるキャッシュサーバ（102）上のプログラムの動作手順について示す。
【００４７】
図４は、移動ノード管理テーブル（401）のデータ構造を示す図である。本テーブルには、移動ノードIPアドレス（コンテンツ配信先である移動ノード（103）のIPアドレス）、旧キャッシュIPアドレス（移動の要求の発行先となっているキャッシュサーバ（102）のIPアドレス）、配信サーバIPアドレス（配信中コンテンツを保持している配信サーバ（101）のIPアドレス）、URL（配信中コンテンツ（109）を一意に識別するための情報）、受信確認済オフセット（移動ノード（103）が受信確認済みである位置を示すコンテンツのオフセット）、送信済オフセット（移動ノード（103）に送信し終わった位置を示すコンテンツのオフセット）、次回送信時刻（コンテンツ送信を次に行うべき時刻）、動作モードの各情報を格納可能なフィールドが含まれている。
【００４８】
キャッシュサーバ（102）の動作モードには、通常、キャッシュ、移動の３モードが存在する。
【００４９】
通常モードとは、キャッシュサーバ（102）が配信サーバ（101）からコンテンツ（109）を受信しつつ、キャッシュサーバ（102）が保持するディスク（206）内のバッファ領域（111）に当該コンテンツを書き込み、かつ移動ノード（103）にも配信している状態である。
【００５０】
キャッシュモードとは、キャッシュサーバ（102）が、移動ノード（103）が要求するコンテンツ（109）を既にディスク（206）内のバッファ領域（111）に保持しており、当該コンテンツ（109）をバッファ領域（111）から読み出しながら移動ノード（103）に送信している状態である。
【００５１】
移動モードとは、旧キャッシュサーバ（移動ノードが移動前に利用していたキャッシュサーバ（102））から、バッファ領域（111）のデータを受信している状態である。
【００５２】
通常モードでは、移動ノード管理テーブル（401）の旧キャッシュIPアドレス、次回送信時刻のフィールドを使わない。キャッシュモードでは旧キャッシュIPアドレスのフィールドを使わない。また、移動モードでは、受信確認済オフセット、送信済オフセット、次回送信時刻のフィールドを使わない。
【００５３】
図５は、キャッシュサーバ（102）が配信要求（106）を受信した際の動作を示すフローチャートである。このフローチャートにおいては、配信する情報がストリームコンテンツであるものとして説明する。
ステップ501にて、キャッシュサーバ（102）は移動ノード（103）から配信要求（106）を受信する。
ステップ502にて、配信要求（106）に含まれるURLで指定されるコンテンツが、当該キャッシュサーバ（102）のディスク（206）に既に格納されているか否かの検査を行う。格納されていなければステップ503に、格納されていればステップ505にジャンプする。
ステップ503にて、移動ノード管理テーブル（401）に通常モードエントリを新規に作成する。作成したエントリの移動ノードIPアドレスフィールドは、受信した配信要求（106）に格納されている送信元IPアドレスに初期化する。配信サーバIPアドレス、URLフィールドは、該配信要求（106）に格納されている情報をそのままコピーする。受信確認済オフセット、送信済オフセットフィールドは、配信要求（106）に格納されている配信開始オフセットに初期化する。
ステップ504にて、配信要求を配信サーバ（101）に転送する。転送する配信要求には、送信元IPアドレス、送信先IPアドレスをそれぞれキャッシュサーバ（102）、配信サーバ（101）のIPアドレスに更新し、それ以外は、ステップ501で受信した配信要求の内容をそのまま用いる。
【００５４】
ステップ502からジャンプしたステップ505では、移動ノード管理テーブル（401）にキャッシュモードエントリを新規に作成する。次回送信時刻フィールド以外はステップ503と同様に初期化する。次回送信時刻フィールドは、新たに取得する現在時刻に初期化する。
ステップ506にて、ディスク（206）から、当該配信要求にて要求されているコンテンツの１フレーム分をディスク（206）から読み出す。
ステップ507にて、ステップ506で読み出したコンテンツを移動ノード（103）に送信する。
ステップ508にて、移動ノード管理テーブル（401）の次回送信時刻フィールド、送信済みオフセットを更新する。次回送信時刻フィールドは１フレーム分相当時間（例えば秒25フレームのコンテンツであれば40ミリ秒）だけ更新する。また、送信済みオフセットは、ステップ507で送信したバイト数だけ加算する。
ステップ509にて、処理を完了する。
【００５５】
図６は、キャッシュサーバ（102）が、図5のステップ504で送信した配信要求に対する応答として、配信サーバ（101）からコンテンツを受信した際の動作を示すフローチャートである。
ステップ601にて、キャッシュサーバ（102）は配信サーバ（101）から１フレーム分のコンテンツを受信する。
ステップ602にて、ステップ601で受信したコンテンツを移動ノード（103）に送信する。
ステップ603にて、ステップ601で受信したコンテンツをディスク（206）に書き込む。
ステップ604にて、移動ノード管理テーブル（401）の、ステップ503で新規に追加したエントリの、送信済オフセットフィールドを更新する。本更新では、ステップ602にて送信したバイト数だけ加算する。なお、ステップ602と603は、並行に、あるいは逆の順序で、処理しても良い。
【００５６】
キャッシュサーバ（102）は、図5に示すフローチャートにおいて、キャッシュモードのエントリを作成した後、次回送信時刻の監視を行う。
【００５７】
コンテンツを配信すべき時刻に到達した際に、図7に示す以下の動作を行う。
ステップ701にて、キャッシュサーバ（102）がコンテンツ配信すべき時刻に到達すると、
ステップ702にて、ステップ505で新規に追加したエントリのURLフィールドで指定されるコンテンツをディスク（206）から、移動ノード管理テーブル（401）送信済みオフセットを参照して、１フレーム分読み出す。
ステップ703にて、ステップ702で読み出したコンテンツを移動ノード（103）に送信する。
ステップ704にて、移動ノード管理テーブル（401）の次回送信時刻フィールド、送信済みオフセットを更新する。次回送信時刻フィールドは１フレーム分相当時間だけ更新する。また、送信済みオフセットは、ステップ702で送信したバイト数だけ加算する。そして、処理を完了し、待機処理を継続する。
【００５８】
図８は、キャッシュサーバ（102）が移動通知（107）を受信した際の動作を示すフローチャートである。
ステップ801にて、キャッシュサーバ（102）は移動ノード（103）から移動通知（107）を受信する。
ステップ802にて、移動ノード管理テーブル（401）に、移動モードの新規エントリを作成する。該エントリの移動ノードIPアドレスフィールドには、ステップ801で受信した移動通知（107）の送信元IPアドレスの値を格納する。旧キャッシュアドレス、配信サーバIPアドレス、URLの各フィールドは、受信した移動通知（107）に含まれている情報を複製して設定する。
ステップ803にて、移動通知（107）に含まれるURLで指定されるコンテンツを既にディスク（206）内に格納しているか否かの検査を行う。既に格納していればステップ804に、それ以外の場合にはステップ809にジャンプする。
【００５９】
ステップ804にて、旧キャッシュサーバ（102）にバッファ領域解放要求を送信する。バッファ領域解放要求に含まれる送信元IPアドレスには自ノードのIPアドレスを、送信先IPアドレスには旧キャッシュサーバのIPアドレスを設定する。さらに、旧移動ノードIPアドレス、配信サーバIPアドレス、URLには、移動通知（107）に含まれる情報を複製して設定する。
【００６０】
このバッファ領域解放要求は、上述の再送要求を処理するために必要な要求に相当し、応答として、ステップ805にて、旧キャッシュサーバ（102）から、受信確認済オフセット、送信済オフセット情報を受信する。
【００６１】
ステップ806にて、ディスク（206）から移動通知（107）に含まれるURLで指定されるコンテンツを１フレーム分読み出す。
ステップ807にて、ステップ806にて読み出したコンテンツを移動ノード（103）に送信する。
ステップ808にて、ステップ802で新規作成したエントリの動作モードフィールドを「移動」から「キャッシュ」に更新する。さらに、次回送信時刻を現在時刻に１フレーム相当分時間を加算した値に更新する。また、受信済オフセット、送信済オフセット情報をステップ805で受信した値に更新する。そして処理を完了する。
【００６２】
ステップ803からジャンプしたステップ809では、再送要求を処理するために必要な要求として、旧キャッシュサーバに移動要求を送信する。移動要求に含まれる送信元IPアドレスには自ノードのIPアドレスを、送信先IPアドレスには旧キャッシュサーバのIPアドレスを設定する。さらに、旧移動ノードIPアドレス、配信サーバIPアドレス、URLは、移動通知（107）に含まれる情報を複製して設定する。
ステップ810にて、旧キャッシュサーバから、移動ノードが受信済みではないコンテンツ部分を少なくとも含むバッファ領域の内容、受信確認済オフセット、送信済オフセット情報を受信する。
ステップ811にて、配信サーバ（101）に配信要求（106）を送信する。配信要求の送信元IPアドレスには自ノードのIPアドレスを、送信先IPアドレスには配信サーバ（101）のIPアドレスを設定する。配信サーバIPアドレス、URLはステップ801で受信した移動通知（107）内の情報をコピーする。配信開始オフセットは、ステップ810で受信した送信済オフセットの値を設定する。
ステップ812にて、ステップ802にて生成した移動ノード管理テーブル（401）のエントリの動作モードを、「移動」から「通常」に更新する。さらに、受信確認済オフセット、送信済オフセットをステップ810にて受信した値に更新する。そして処理を完了する。
【００６３】
図９は、旧キャッシュサーバ（102-1）が移動要求（108）を受信した際の動作を示すフローチャートである。
ステップ901にて、移動要求（108）を新キャッシュサーバ（102-2）から受信する。
ステップ902にて、移動ノード管理テーブル（401）の対応エントリを決定する。本決定は、移動要求（108）内の旧移動ノードIPアドレスと同一値の移動ノードIPアドレスフィールドを持つエントリを探すことにより行う。そして、当該エントリの受信確認済オフセット、送信済オフセットから決定されるバッファ領域のコンテンツデータを新キャッシュサーバ（102-2）に送信する。受信確認済オフセット、送信済オフセットの情報も併せて送信する。
ステップ903にて、移動ノード管理テーブル（401）から、ステップ902にて判定した上記対応エントリを削除する。そして処理を完了する。
【００６４】
図１０は、旧キャッシュサーバ（102）がバッファ領域解放要求を受信した際の動作を示すフローチャートである。
ステップ1001にて、バッファ領域解放要求を新キャッシュサーバ（102-2）から受信する。
ステップ1002にて、移動ノード管理テーブル（401）の対応エントリを決定する。本決定は、バッファ領域解放要求内の旧移動ノードIPアドレスと同一値の移動ノードIPアドレスフィールドを持つエントリを探すことにより行う。そして、当該エントリの受信確認済オフセット、送信済オフセットの情報を新キャッシュサーバ（102-2）に送信する。
ステップ1003にて、移動ノード管理テーブル（401）から、ステップ1002にて判定した上記対応エントリを削除する。そして処理を完了する。
【００６５】
図１１は、キャッシュサーバ（102）が受信確認通知を受信した際の動作を示すフローチャートである。
ステップ1101にて、受信確認通知を移動ノード（103）から受信する。
ステップ1102にて、移動ノード管理テーブル（401）の対応エントリを決定する。本決定は、受信確認通知内の送信元IPアドレスと同一値の移動ノードIPアドレスフィールドを持つエントリを探すことにより行う。そして、当該エントリの受信確認済オフセットの値を、受信確認通知に含まれる受信確認済オフセットの値に更新する。そして処理を完了する。
【００６６】
図１２は、キャッシュサーバが再送要求を受信した際の動作を示すフローチャートである。
ステップ1201にて、再送要求を移動ノード（103）から受信する。
ステップ1202にて、再送要求に格納されているURLで指定されるコンテンツをディスク（206）から読み出す。本読み出しにおいては、再生要求に含まれている再生開始オフセットから１フレーム分のデータを読み出す。
ステップ1203にて、ステップ1202にて読み出したコンテンツを移動ノード（103）に送信する。そして処理を完了する。
【００６７】
図１３から図１５を用いて移動ノード（103）の動作について説明する。
【００６８】
移動ノード（103）は、現在どのコンテンツ（109）を受信しているかを、受信コンテンツ管理テーブル（1301）を用いて管理する。そして、無線LAN移動の検知、コンテンツ受信を契機に動作を開始する。以下、受信コンテンツ管理テーブル（1301）のデータ構造と、上記各契機における、移動ノードの動作手順について示す。
【００６９】
図１３は、移動ノード（103）が保持する受信コンテンツ管理テーブル（1301）のデータ構造を示す図である。
【００７０】
本テーブルは、配信サーバIPアドレス（配信を要求しているコンテンツを保持している配信サーバ（101）のIPアドレス）、URL（配信を要求しているコンテンツを一意に識別するための情報）、キャッシュIPアドレス（コンテンツを配信しているキャッシュサーバのIPアドレス）、受信済オフセット（移動ノード（103）が受信を完了したコンテンツのオフセット）のフィールドからなる。
【００７１】
図１４は、移動ノード（103）が、自ノードが属する無線LANのセル（サービスエリア）を移動したことを検知した際の動作を示すフローチャートである。
ステップ1401にて、移動ノード（103）が無線LANのセル移動の有無を検知する。移動の検知は、例えば、各アクセスポイント装置が定期的にブロードキャストする自アクセスポイントに係わる情報を受信し、自移動ノードが利用するキャッシュサーバのIPアドレスが変化しているか否かを調べることにより、可能である。
移動を検知した場合、ステップ1402にて、移動先のキャッシュサーバ（102-2）に移動通知（107）を送信する。
ステップ1403にて、受信コンテンツ管理テーブル（1301）のキャッシュIPアドレスを更新する。新しいキャッシュIPアドレスフィールドの値は、ステップ1401で受信したブロードキャスト信号に含まれるキャッシュサーバのIPアドレスの値に設定する。そして処理を完了する。
【００７２】
図１５は、移動ノード（103）がコンテンツを受信した際の動作を示すフローチャートである。
ステップ1501にて、コンテンツをキャッシュサーバ（102）から受信する。
ステップ1502にて、受信したコンテンツの対応オフセットと、受信コンテンツ管理テーブル（1301）の受信済オフセットを比較する。受信したコンテンツの対応オフセットの方が大きかった場合、データ欠落が発生したと判断し、ステップ1505にジャンプする。それ以外はステップ1503にジャンプする。
ステップ1503にて、受信コンテンツ管理テーブル（1301）の受信済オフセットフィールドの値を、受信したコンテンツの対応オフセットに更新する。
ステップ1504にて、コンテンツの送信元であるキャッシュサーバ（1504）に受信確認通知を送信して処理を完了する。
ステップ1505にて、コンテンツの送信元であるキャッシュサーバ（1504）に配信要求106と同じ内容の再送要求を送信して処理を完了する。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態のシステム構成を示す図である。
【図２】キャッシュサーバのハードウェア構成を示す図である。
【図３】配信サーバ、キャッシュサーバ、移動ノード間で送受される各種要求のフォーマットを示す図である。
【図４】キャッシュサーバが保持する移動ノード管理テーブルのデータ構造を示す図である。
【図５】キャッシュサーバが配信要求を受信した際の動作を示すフローチャートである。
【図６】キャッシュサーバが配信サーバからコンテンツを受信した際の動作を示すフローチャートである。
【図７】キャッシュサーバがコンテンツを配信すべき時刻に到達した際の動作を示すフローチャートである。
【図８】キャッシュサーバが移動通知を受信した際の動作を示すフローチャートである。
【図９】キャッシュサーバが移動要求を受信した際の動作を示すフローチャートである。
【図１０】キャッシュサーバがバッファ領域解放要求を受信した際の動作を示すフローチャートである。
【図１１】キャッシュサーバが受信確認通知を受信した際の動作を示すフローチャートである。
【図１２】キャッシュサーバが再送要求を受信した際の動作を示すフローチャートである。
【図１３】移動ノードが保持する受信コンテンツ管理テーブルのデータ構造を示すフローチャートである。
【図１４】移動ノードが無線LAN移動を検知した際の動作を示すフローチャートである。
【図１５】移動ノードがコンテンツを受信した際の動作を示すフローチャートである。
【符号の説明】
【００７４】
101：配信サーバ、
102：キャッシュサーバ、
103：移動ノード。
【図１】
2006165928.tif 000003
【図２】
2006165928.tif 000004
【図３】
2006165928.tif 000005
【図４】
2006165928.tif 000006
【図５】
2006165928.tif 000007
【図６】
2006165928.tif 000008
【図７】
2006165928.tif 000009
【図８】
2006165928.tif 000010
【図９】
2006165928.tif 000011
【図１０】
2006165928.tif 000012
【図１１】
2006165928.tif 000013
【図１２】
2006165928.tif 000014
【図１３】
2006165928.tif 000015
【図１４】
2006165928.tif 000016
【図１５】
2006165928.tif 000017