【課題】ストリーミングコンテンツが途切れないように再生することができるとともに、中継装置の記憶領域を有効に使用することができ、通信効率を向上させることができる通信方法、通信装置及び通信システムを提供する。
【解決手段】通信方法は、第1のネットワークを介してゲートウェイ装置13と通信可能な第1の位置に複数の中継装置14が次に到着する時間を示す次回到着予定時間を複数の中継装置14のそれぞれから受信するステップと、ストリーミングコンテンツの再生時間を含むインタレストパケットを端末装置12から受信するステップと、再生時間と複数の中継装置14の次回到着予定時間とに基づいて、複数の中継装置14の中からインタレストパケットを送信する中継装置14を選択するステップと、中継装置14にインタレストパケットを送信するステップとを含む。
端末装置から受信したストリーミングコンテンツを要求する複数のインタレストパケットを複数の中継装置へ送信し、前記複数の中継装置から受信した前記ストリーミングコンテンツを含む複数のデータパケットを前記端末装置へ送信する通信装置における通信方法であって、
第1のネットワークを介して前記通信装置と通信可能な第1の位置と、前記第1のネットワークと分離された第2のネットワークを介して前記ストリーミングコンテンツを提供するコンテンツ提供装置と通信可能な第2の位置との間を移動する前記複数の中継装置が前記第1の位置に次に到着する時間を示す次回到着予定時間を前記複数の中継装置のそれぞれから受信し、
前記ストリーミングコンテンツの再生時間を含むインタレストパケットを前記端末装置から受信し、
前記インタレストパケットに含まれる前記再生時間と前記複数の中継装置の前記次回到着予定時間とに基づいて、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択し、
選択した前記中継装置に前記インタレストパケットを送信する、
通信方法。
前記優先度が第1の閾値より低い場合、受信した前記インタレストパケットを破棄する、又は受信した前記インタレストパケットを前記通信装置が備えるメモリに一時的に記憶し、
前記優先度が前記第1の閾値以上である場合、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択する、
請求項3記載の通信方法。
前記優先度が前記第1の閾値より高い第2の閾値より高い場合、受信した前記インタレストパケットを複製し、複製した前記インタレストパケットを前記複数の中継装置に送信し、
前記優先度が前記第1の閾値と前記第2の閾値との間である場合、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択する、
請求項4記載の通信方法。
前記中継装置が前記第1の位置に到着した到着時間と、前記次回到着予定時間とに基づいて、前記中継装置が次々回に前記第1の位置に到着する次々回到着予定時間を予測し、
前記中継装置を選択する際に、前記再生時間と、前記次回到着予定時間と、前記次々回到着予定時間との少なくとも1つに基づいて、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択し、
前記次々回到着予定時間に基づいて、送信先の中継装置を選択した場合、受信した前記インタレストパケットを一時的に前記通信装置のメモリに記憶し、
前記次回到着予定時間に基づいて、送信先の中継装置を選択した場合、受信した前記インタレストパケットを、選択した前記中継装置に送信する、
請求項1〜5のいずれか1項に記載の通信方法。
端末装置から受信したストリーミングコンテンツを要求する複数のインタレストパケットを複数の中継装置へ送信し、前記複数の中継装置から受信した前記ストリーミングコンテンツを含む複数のデータパケットを前記端末装置へ送信する通信装置であって、
第1のネットワークを介して前記通信装置と通信可能な第1の位置と、前記第1のネットワークと分離された第2のネットワークを介して前記ストリーミングコンテンツを提供するコンテンツ提供装置と通信可能な第2の位置との間を移動する前記複数の中継装置が前記第1の位置に次に到着する時間を示す次回到着予定時間を前記複数の中継装置のそれぞれから受信する第1の受信部と、
前記ストリーミングコンテンツの再生時間を含むインタレストパケットを前記端末装置から受信する第2の受信部と、
前記インタレストパケットに含まれる前記再生時間と前記複数の中継装置の前記次回到着予定時間とに基づいて、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択する選択部と、
選択した前記中継装置に前記インタレストパケットを送信する送信部と、
を備える通信装置。
端末装置と、前記端末装置と通信可能に接続された通信装置と、前記通信装置と通信可能に接続された複数の中継装置と、前記複数の中継装置と通信可能に接続されたコンテンツ提供装置とを備える通信システムであって、
前記端末装置は、
前記ストリーミングコンテンツの再生時間を含むインタレストパケットを前記通信装置へ送信する送信部と、
前記ストリーミングコンテンツを含むデータパケットを前記通信装置から受信する受信部と、
を備え、
前記通信装置は、
第1のネットワークを介して前記通信装置と通信可能な第1の位置と、前記第1のネットワークと分離された第2のネットワークを介して前記ストリーミングコンテンツを提供する前記コンテンツ提供装置と通信可能な第2の位置との間を移動する前記複数の中継装置が前記第1の位置に次に到着する時間を示す次回到着予定時間を前記複数の中継装置のそれぞれから受信する第1の受信部と、
前記インタレストパケットを前記端末装置から受信する第2の受信部と、
前記インタレストパケットに含まれる前記再生時間と前記複数の中継装置の前記次回到着予定時間とに基づいて、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択する選択部と、
選択された前記中継装置に前記インタレストパケットを送信する第1の送信部と、
送信された前記インタレストパケットによって要求される前記データパケットを前記中継装置から受信する第3の受信部と、
受信された前記データパケットを前記端末装置へ送信する第2の送信部と、
を備え、
前記複数の中継装置のそれぞれは、
前記第1の位置において、前記次回到着予定時間を前記通信装置へ送信する第1の送信部と、
前記インタレストパケットを前記通信装置から受信する第1の受信部と、
前記第1の位置から前記第2の位置に移動した後、前記インタレストパケットを前記コンテンツ提供装置へ送信する第2の送信部と、
前記データパケットを前記コンテンツ提供装置から受信する第2の受信部と、
前記第2の位置から前記第1の位置に移動した後、前記データパケットを前記通信装置へ送信する第3の送信部と、
を備え、
前記コンテンツ提供装置は、
前記インタレストパケットを前記中継装置から受信する受信部と、
前記データパケットを前記中継装置へ送信する送信部と、
を備える通信システム。
【発明を実施するための形態】
【0015】
(本開示の基礎となった知見)
以下、本開示の基礎となった知見について説明する。
【0016】
CCNは、コンテンツの名前をベースに、コンテンツを配信するコンテンツ配信基盤ネットワークである。
【0017】
CCNでは、配信の対象となる各コンテンツに対して、予め名前が付与される。コンテンツデータを取得する端末装置は、コンテンツ名を指定してコンテンツデータを要求するためのインタレストパケットと呼ばれるパケットを発行する。
【0018】
端末装置は、コンテンツデータに対応する1つ以上のインタレストパケットをネットワークに送出することにより、インタレストパケットで指定したコンテンツデータを取得することができる。インタレストパケットによって要求されるコンテンツデータを保有しているコンテンツ提供元サーバは、インタレストパケットを受信すると、インタレストパケットを発行した端末装置に向けて、コンテンツデータを含む1つ以上のデータパケットをネットワークに送出する。
【0019】
インタレストパケットを中継する中継装置は、コンテンツデータをキャッシュするCS(Content Store)と、インタレストパケットを管理するPIT(Pending Interest Table)と、経路情報を保持するFIB(Forwarding Information Base)とを用いて、インタレストパケット及びデータパケットの送受信を制御する。
【0020】
ここで、中継装置は、インタレストパケットを受信したとき、CSにインタレストパケットに記載されるコンテンツ名を含むデータパケットが存在する場合、インタレストパケットを他の中継装置へ転送せず、インタレストパケットを受信したインターフェイスからデータパケットを送信する。一方、受信したインタレストパケットに記載されたコンテンツ名を含むデータパケットがCSに存在しない場合、かつインタレストパケットに記載されたコンテンツ名と同一のコンテンツ名がPITに記憶されていない場合にのみ、中継装置は、インタレストパケットに記載されたコンテンツ名と、インタレストパケットを受信したインターフェイスの情報とをPITに記憶する。そして、中継装置は、インタレストパケットを、FIBから取得した経路情報に従い、他の中継装置に転送する。ただし、インタレストパケットに記載されたコンテンツ名と同一のコンテンツ名がPITに既に記憶されている場合は、中継装置は、インタレストパケットを転送せず、インタレストパケットを受信したインターフェイスの情報のみを記憶する。
【0021】
また、中継装置は、データパケットを受信すると、CSにデータパケットを記憶する。ただし、CSに新たなデータパケットを記憶する領域がない場合、中継装置は、CSに記憶してから所定時間が経過したデータパケットをCSから消去する。
【0022】
そして、中継装置は、PITの情報に従い、データパケットの持つコンテンツ名と同一のコンテンツ名が記載された複数のインタレストパケットを受信した1つ以上のインターフェイスの数に応じてデータパケットを複製して、複製したデータパケットをその1つ以上のインターフェイスを介して転送する。その後、中継装置は、データパケットが持つコンテンツ名と、コンテンツ名に一致するインタレストパケットを受信したインターフェイスの情報とをPITから消去する。
【0023】
このように、CCNでは、中継装置でPITとCSとを最大限に活用することにより、同一のコンテンツデータを効率よく配信することができる。
【0024】
一方、特許文献2では、端末装置とコンテンツ提供元サーバとの間でネットワーク接続が構築できない環境で、端末装置及びコンテンツ提供元サーバでパケットを送受信するために、パケット運搬の手段として移動可能な中継装置を利用するメッセージフェリーという方式が使用されている。メッセージフェリーとして機能する複数の移動可能な中継装置のうちの1の中継装置は、他の中継装置との間で避難所の数、避難所の位置、中継装置の数及び地図情報などの情報を共有し、各中継装置の移動する範囲を最適化することで、迅速なパケット伝達を可能にしている。
【0025】
しかしながら、特許文献2では、中継装置が運搬するコンテンツデータは、コンテンツデータの内容及び種類に関係なく一律に扱われる。つまり、中継装置は、コンテンツデータ又はコンテンツデータを要求するパケットを、中継装置の記録領域に可能な限り受信(記録)して運搬する。そのため、中継装置の記憶領域の容量が限られていた場合、運搬対象の全てのパケットを中継装置の記憶領域に記録することができず、運搬の遅延が発生する。この結果、優先度の高いパケットの運搬が遅れたり、ユーザが受信したストリーミングコンテンツの再生が途切れたりするといった問題が発生する可能性がある。
【0026】
特許文献3では、メッセージフェリーをコンテンツデータ配信サービスに応用し、ネットワークの負荷を軽減し、かつコンテンツデータをユーザが予約した時間までに提供する方法が提案されている。ここでは、コンテンツデータの配信をスケジュールする管理サーバは、配信完了時間を指定する情報を含む配信要求を端末装置から受信すると、コンテンツデータの予約状況及びネットワークの負荷情報を用いて、要求されたコンテンツデータを配信するスケジュール及び第1の中継装置が第2の中継装置に中継するスケジュールを決定している。
【0027】
つまり、特許文献3では、管理サーバが全ての配信スケジュールを決定しており、ネットワークインフラが遮断されている状況では、配信スケジュールを受信することができず、スケジュールに従った処理を行うことができない。また、ネットワークインフラが遮断されていない状況でも、コンテンツの配信スケジュールを決めるために発生する、コンテンツサーバ又は中継装置などの通信装置と管理サーバとの通信が非効率である。この結果、優先度の高いパケットの配送が遅れたり、ユーザが受信したストリーミングコンテンツの再生が途切れたりするといった問題が発生する可能性がある。
【0028】
上記のような課題を解決するため、本開示の一態様に係る通信方法は、端末装置から受信したストリーミングコンテンツを要求する複数のインタレストパケットを複数の中継装置へ送信し、前記複数の中継装置から受信した前記ストリーミングコンテンツを含む複数のデータパケットを前記端末装置へ送信する通信装置における通信方法であって、第1のネットワークを介して前記通信装置と通信可能な第1の位置と、前記第1のネットワークと分離された第2のネットワークを介して前記ストリーミングコンテンツを提供するコンテンツ提供装置と通信可能な第2の位置との間を移動する前記複数の中継装置が前記第1の位置に次に到着する時間を示す次回到着予定時間を前記複数の中継装置のそれぞれから受信し、前記ストリーミングコンテンツの再生時間を含むインタレストパケットを前記端末装置から受信し、前記インタレストパケットに含まれる前記再生時間と前記複数の中継装置の前記次回到着予定時間とに基づいて、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択し、選択した前記中継装置に前記インタレストパケットを送信する。
【0029】
この構成によれば、第1のネットワークを介して通信装置と通信可能な第1の位置と、第1のネットワークと分離された第2のネットワークを介してストリーミングコンテンツを提供するコンテンツ提供装置と通信可能な第2の位置との間を移動する複数の中継装置が第1の位置に次に到着する時間を示す次回到着予定時間が複数の中継装置のそれぞれから受信される。ストリーミングコンテンツの再生時間を含むインタレストパケットが端末装置から受信される。インタレストパケットに含まれる再生時間と複数の中継装置の次回到着予定時間とに基づいて、複数の中継装置の中からインタレストパケットを送信する中継装置が選択される。そして、選択された中継装置にインタレストパケットが送信される。
【0030】
したがって、インタレストパケットに含まれる再生時間と複数の中継装置の次回到着予定時間とに基づいて、複数の中継装置の中からインタレストパケットを送信する中継装置が選択されるので、端末装置においてストリーミングコンテンツが途切れないように再生することができる。また、コンテンツデータを複数の中継装置で分担して運搬することができるので、中継装置の記憶領域を有効に使用することができ、通信効率を向上させることができる。
【0031】
また、上記の通信方法において、前記データパケットをキャッシュするコンテンツキャッシュ部の空き容量を前記複数の中継装置から取得し、前記端末装置から受信した前記インタレストパケットから前記インタレストパケットが要求する前記データパケットのデータサイズを取得し、取得した前記データサイズが、前記複数の中継装置のうちの前記インタレストパケットの送信先として選択した第1の中継装置の前記コンテンツキャッシュ部の空き容量より大きい場合、前記第1の中継装置とは異なる第2の中継装置又は前記通信装置に、前記第1の中継装置が既に記憶しているインタレストパケットを送信させた後、前記端末装置から受信した前記インタレストパケットを前記第1の中継装置に送信してもよい。
【0032】
この構成によれば、データパケットをキャッシュするコンテンツキャッシュ部の空き容量が複数の中継装置から取得される。端末装置から受信したインタレストパケットからインタレストパケットが要求するデータパケットのデータサイズが取得される。取得されたデータサイズが、複数の中継装置のうちのインタレストパケットの送信先として選択した第1の中継装置のコンテンツキャッシュ部の空き容量より大きい場合、第1の中継装置とは異なる第2の中継装置又は通信装置に、第1の中継装置が既に記憶しているインタレストパケットを送信させた後、端末装置から受信したインタレストパケットが第1の中継装置に送信される。
【0033】
したがって、データパケットのデータサイズが、送信先として選択された第1の中継装置のコンテンツキャッシュ部の空き容量より大きい場合、第2の中継装置又は通信装置に、第1の中継装置が既に記憶しているインタレストパケットを送信させるので、送信先として選択された第1の中継装置にインタレストパケットを送信することができ、ストリーミングコンテンツを連続的に再生することができる。
【0034】
また、上記の通信方法において、前記インタレストパケットに対応付けられ、前記インタレストパケットを優先的に送信する度合いを示す優先度を取得し、取得した前記優先度に基づき、前記インタレストパケットを送信するか否かを判断してもよい。
【0035】
この構成によれば、インタレストパケットに対応付けられ、インタレストパケットを優先的に送信する度合いを示す優先度が取得される。そして、取得された優先度に基づき、インタレストパケットを送信するか否かが判断される。したがって、優先度の高いインタレストパケットを優先的に送信することができる。
【0036】
また、上記の通信方法において、前記優先度が第1の閾値より低い場合、受信した前記インタレストパケットを破棄する、又は受信した前記インタレストパケットを前記通信装置が備えるメモリに一時的に記憶し、前記優先度が前記第1の閾値以上である場合、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択してもよい。
【0037】
この構成によれば、優先度が第1の閾値より低い場合、受信したインタレストパケットが破棄される、又は受信したインタレストパケットが、通信装置が備えるメモリに一時的に記憶される。優先度が第1の閾値以上である場合、複数の中継装置の中からインタレストパケットを送信する中継装置が選択される。
【0038】
したがって、優先度の低いインタレストパケットによって中継装置の記憶領域が圧迫されるのを防止することができ、優先度の高いインタレストパケットを優先的に送信することができる。
【0039】
また、上記の通信方法において、前記優先度が前記第1の閾値より高い第2の閾値より高い場合、受信した前記インタレストパケットを複製し、複製した前記インタレストパケットを前記複数の中継装置に送信し、前記優先度が前記第1の閾値と前記第2の閾値との間である場合、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択してもよい。
【0040】
この構成によれば、優先度が第1の閾値より高い第2の閾値より高い場合、受信したインタレストパケットが複製され、複製されたインタレストパケットが複数の中継装置に送信される。優先度が第1の閾値と第2の閾値との間である場合、複数の中継装置の中からインタレストパケットを送信する中継装置が選択される。
【0041】
したがって、より優先度の高いインタレストパケットは複製されて複数の中継装置に送信されるので、確実にインタレストパケットを送信することができるとともに、確実にデータパケットを受信することができる。
【0042】
また、上記の通信方法において、前記中継装置が前記第1の位置に到着した到着時間と、前記次回到着予定時間とに基づいて、前記中継装置が次々回に前記第1の位置に到着する次々回到着予定時間を予測し、前記中継装置を選択する際に、前記再生時間と、前記次回到着予定時間と、前記次々回到着予定時間との少なくとも1つに基づいて、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択し、前記次々回到着予定時間に基づいて、送信先の中継装置を選択した場合、受信した前記インタレストパケットを一時的に前記通信装置のメモリに記憶し、前記次回到着予定時間に基づいて、送信先の中継装置を選択した場合、受信した前記インタレストパケットを、選択した前記中継装置に送信してもよい。
【0043】
この構成によれば、中継装置が第1の位置に到着した到着時間と、次回到着予定時間とに基づいて、中継装置が次々回に第1の位置に到着する次々回到着予定時間が予測される。中継装置が選択される際に、再生時間と、次回到着予定時間と、次々回到着予定時間との少なくとも1つに基づいて、複数の中継装置の中からインタレストパケットを送信する中継装置が選択される。次々回到着予定時間に基づいて、送信先の中継装置が選択された場合、受信したインタレストパケットが一時的に通信装置のメモリに記憶される。次回到着予定時間に基づいて、送信先の中継装置が選択された場合、受信したインタレストパケットが、選択された中継装置に送信される。
【0044】
したがって、事前に送信先の中継装置を選択することができ、中継装置は、必要な時間に必要な量のストリーミングコンテンツを端末装置に配信することができる。その結果、1台あたりの中継装置が配送するストリーミングコンテンツの量が減り、中継装置は、緊急を要するようなコンテンツを優先的に配送することができる。特に、中継装置の台数が多い場合、又は中継装置が移動する時間が短い場合に、通信装置はより効果的に中継装置にインタレストパケットを振り分けることができ、中継装置は記憶領域をより効果的に使用することができる。
【0045】
また、上記の通信方法において、前記次回到着予定時間と前記到着時間とを対応付けた到着履歴情報を前記複数の中継装置毎に記憶し、記憶している前記次回到着予定時間と前記到着時間とに基づいて、前記中継装置から受信した前記次回到着予定時間を補正してもよい。
【0046】
この構成によれば、次回到着予定時間と到着時間とを対応付けた到着履歴情報が複数の中継装置毎に記憶される。記憶されている次回到着予定時間と到着時間とに基づいて、中継装置から受信した次回到着予定時間が補正される。
【0047】
したがって、中継装置の移動時間に誤差が発生する場合でも、通信装置は、端末装置でストリーミングコンテンツが連続して再生可能なように、ストリーミングコンテンツを要求するインタレストパケットを中継装置に振り分けることができる。
【0048】
本開示の他の態様に係る通信装置は、端末装置から受信したストリーミングコンテンツを要求する複数のインタレストパケットを複数の中継装置へ送信し、前記複数の中継装置から受信した前記ストリーミングコンテンツを含む複数のデータパケットを前記端末装置へ送信する通信装置であって、第1のネットワークを介して前記通信装置と通信可能な第1の位置と、前記第1のネットワークと分離された第2のネットワークを介して前記ストリーミングコンテンツを提供するコンテンツ提供装置と通信可能な第2の位置との間を移動する前記複数の中継装置が前記第1の位置に次に到着する時間を示す次回到着予定時間を前記複数の中継装置のそれぞれから受信する第1の受信部と、前記ストリーミングコンテンツの再生時間を含むインタレストパケットを前記端末装置から受信する第2の受信部と、前記インタレストパケットに含まれる前記再生時間と前記複数の中継装置の前記次回到着予定時間とに基づいて、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択する選択部と、選択した前記中継装置に前記インタレストパケットを送信する送信部と、を備える。
【0049】
この構成によれば、第1のネットワークを介して通信装置と通信可能な第1の位置と、第1のネットワークと分離された第2のネットワークを介してストリーミングコンテンツを提供するコンテンツ提供装置と通信可能な第2の位置との間を移動する複数の中継装置が第1の位置に次に到着する時間を示す次回到着予定時間が複数の中継装置のそれぞれから受信される。ストリーミングコンテンツの再生時間を含むインタレストパケットが端末装置から受信される。インタレストパケットに含まれる再生時間と複数の中継装置の次回到着予定時間とに基づいて、複数の中継装置の中からインタレストパケットを送信する中継装置が選択される。そして、選択された中継装置にインタレストパケットが送信される。
【0050】
したがって、インタレストパケットに含まれる再生時間と複数の中継装置の次回到着予定時間とに基づいて、複数の中継装置の中からインタレストパケットを送信する中継装置が選択されるので、端末装置においてストリーミングコンテンツが途切れないように再生することができる。また、コンテンツデータを複数の中継装置で分担して運搬することができるので、中継装置の記憶領域を有効に使用することができ、通信効率を向上させることができる。
【0051】
本開示の他の態様に係る通信システムは、端末装置と、前記端末装置と通信可能に接続された通信装置と、前記通信装置と通信可能に接続された複数の中継装置と、前記複数の中継装置と通信可能に接続されたコンテンツ提供装置とを備える通信システムであって、前記端末装置は、前記ストリーミングコンテンツの再生時間を含むインタレストパケットを前記通信装置へ送信する送信部と、前記ストリーミングコンテンツを含むデータパケットを前記通信装置から受信する受信部と、を備え、前記通信装置は、第1のネットワークを介して前記通信装置と通信可能な第1の位置と、前記第1のネットワークと分離された第2のネットワークを介して前記ストリーミングコンテンツを提供する前記コンテンツ提供装置と通信可能な第2の位置との間を移動する前記複数の中継装置が前記第1の位置に次に到着する時間を示す次回到着予定時間を前記複数の中継装置のそれぞれから受信する第1の受信部と、前記インタレストパケットを前記端末装置から受信する第2の受信部と、前記インタレストパケットに含まれる前記再生時間と前記複数の中継装置の前記次回到着予定時間とに基づいて、前記複数の中継装置の中から前記インタレストパケットを送信する中継装置を選択する選択部と、選択された前記中継装置に前記インタレストパケットを送信する第1の送信部と、送信された前記インタレストパケットによって要求される前記データパケットを前記中継装置から受信する第3の受信部と、受信された前記データパケットを前記端末装置へ送信する第2の送信部と、を備え、前記複数の中継装置のそれぞれは、前記第1の位置において、前記次回到着予定時間を前記通信装置へ送信する第1の送信部と、前記インタレストパケットを前記通信装置から受信する第1の受信部と、前記第1の位置から前記第2の位置に移動した後、前記インタレストパケットを前記コンテンツ提供装置へ送信する第2の送信部と、前記データパケットを前記コンテンツ提供装置から受信する第2の受信部と、前記第2の位置から前記第1の位置に移動した後、前記データパケットを前記通信装置へ送信する第3の送信部と、を備え、前記コンテンツ提供装置は、前記インタレストパケットを前記中継装置から受信する受信部と、前記データパケットを前記中継装置へ送信する送信部と、を備える。
【0052】
この構成によれば、端末装置において、ストリーミングコンテンツの再生時間を含むインタレストパケットが通信装置へ送信される。ストリーミングコンテンツを含むデータパケットが通信装置から受信される。通信装置において、第1のネットワークを介して通信装置と通信可能な第1の位置と、第1のネットワークと分離された第2のネットワークを介してストリーミングコンテンツを提供するコンテンツ提供装置と通信可能な第2の位置との間を移動する複数の中継装置が第1の位置に次に到着する時間を示す次回到着予定時間が複数の中継装置のそれぞれから受信される。インタレストパケットが端末装置から受信される。インタレストパケットに含まれる再生時間と複数の中継装置の次回到着予定時間とに基づいて、複数の中継装置の中からインタレストパケットを送信する中継装置が選択される。選択された中継装置にインタレストパケットが送信される。送信されたインタレストパケットによって要求されるデータパケットが中継装置から受信される。受信されたデータパケットが端末装置へ送信される。複数の中継装置のそれぞれにおいて、第1の位置において、次回到着予定時間が通信装置へ送信される。インタレストパケットが通信装置から受信される。第1の位置から第2の位置に移動した後、インタレストパケットがコンテンツ提供装置へ送信される。データパケットがコンテンツ提供装置から受信される。第2の位置から第1の位置に移動した後、データパケットが通信装置へ送信される。コンテンツ提供装置において、インタレストパケットが中継装置から受信され、データパケットが中継装置へ送信される。
【0053】
したがって、インタレストパケットに含まれる再生時間と複数の中継装置の次回到着予定時間とに基づいて、複数の中継装置の中からインタレストパケットを送信する中継装置が選択されるので、端末装置においてストリーミングコンテンツが途切れないように再生することができる。また、コンテンツデータを複数の中継装置で分担して運搬することができるので、中継装置の記憶領域を有効に使用することができ、通信効率を向上させることができる。
【0054】
以下本開示の実施の形態について、図面を参照しながら説明する。なお、以下の実施の形態は、本開示を具体化した一例であって、本開示の技術的範囲を限定するものではない。
【0055】
(実施の形態1)
[システムの構成]
図1は、本開示の実施の形態1に係る通信システムの構成の一例を示す図である。
【0056】
図1に示す通信システムは、端末装置12と、ゲートウェイ装置13と、複数の中継装置14(中継装置14A及び14B)と、基地局15と、コンテンツ提供元サーバ16とを備える。
【0057】
端末装置12は、例えば避難所11にいるユーザによって使用され、避難所11に配置される。ゲートウェイ装置13は、避難所11に設置され、端末装置12及び中継装置14と無線LAN(Local Area Network)9を介して通信可能に接続される。中継装置14は、ゲートウェイ装置13と基地局15との間を移動し、ゲートウェイ装置13及び基地局15と通信可能に接続される。基地局15は、CCNネットワーク10を介してコンテンツ提供元サーバ16と接続される。
【0058】
CCNネットワーク10は、コンテンツ指向型ネットワークの一例である。
【0059】
避難所11は、地震又は津波などの災害の影響で付近のネットワークインフラが遮断されている地域の一例である。そのため、避難所11内にあるゲートウェイ装置13及び端末装置12は、コンテンツ提供元サーバ16とネットワークを確立できない状態にある。
【0060】
ゲートウェイ装置13は、端末装置12から受信したストリーミングコンテンツを要求する複数のインタレストパケットを複数の中継装置14へ送信し、複数の中継装置14から受信したストリーミングコンテンツを含む複数のデータパケットを端末装置12へ送信する。
【0061】
ゲートウェイ装置13は、中継装置14が次に避難所11に到着する予定の時間(以下、「次回到着予定時間」という)を管理し、端末装置12から転送されるインタレストパケットを中継装置14に中継するとともに、中継装置14から転送されるデータパケットを端末装置12に中継する。ゲートウェイ装置13は、端末装置12が送信したインタレストパケットを中継装置14に中継する際に、インタレストパケットに含まれる情報と中継装置14の次回到着予定時間とに基づいて、インタレストパケットを送信する中継装置14を選択する。
【0062】
ゲートウェイ装置13は、元から避難所11に設置されている場合、ネットワークインフラが遮断されていない状況では、CCNにおけるゲートウェイ装置として動作し、ネットワークインフラが遮断されている状況では、本実施の形態1の通信システムにおけるゲートウェイ装置として動作する。ここで、中継装置14又は端末装置12は、ネットワークインフラが遮断されている状況でのゲートウェイ装置13の動作と、ネットワークインフラが遮断されていない状況でのゲートウェイ装置13の動作とを切り替えることができる。なお、ゲートウェイ装置13は、ネットワークインフラが遮断されたことを自身で自動的に検知し、動作設定を自動的に切り替えてもよい。一方、ゲートウェイ装置13が元から避難所11に設置されていない場合、ゲートウェイ装置13は、無人飛行機又は車などの移動体によって避難所11に配送され、設置される。
【0063】
中継装置14は、ゲートウェイ装置13から転送されるインタレストパケットを内部の記憶領域に一時的に蓄積する。そして、中継装置14は、ゲートウェイ装置13と通信可能な位置から基地局15と通信可能な位置まで物理的に移動した後、内部の記憶領域に一時的に蓄積したインタレストパケットを基地局15に中継する。また、中継装置14は、基地局15から転送されるデータパケットを内部の記憶領域に一時的に蓄積する。そして、中継装置14は、基地局15と通信可能な位置からゲートウェイ装置13と通信可能な位置まで物理的に移動した後、内部の記憶領域に一時的に蓄積したデータパケットをゲートウェイ装置に中継する。
【0064】
また、中継装置14は、ゲートウェイ装置13と通信可能な場所に到着した際に、次回到着予定時間をゲートウェイ装置13に送信する。
【0065】
端末装置12は、避難所11に存在し、所望のコンテンツデータのコンテンツ名を記載したインタレストパケットをゲートウェイ装置13に送信する。その後、端末装置12は、コンテンツ名に対応するコンテンツデータを含むデータパケットを、ゲートウェイ装置13を介して受信する。本実施の形態1では、
図1に示すように、端末装置12は、ゲートウェイ装置13と、避難所11と基地局15との間を物理的に移動する中継装置14と、基地局15と、CCNネットワーク10とを介して、インタレストパケット及びデータパケットをコンテンツ提供元サーバ16と交換することができる。
【0066】
コンテンツ提供元サーバ16は、ストリーミングコンテンツを提供する。コンテンツ提供元サーバ16は、CCNネットワーク10を介して、端末装置12の発行したインタレストパケットを受信し、受信したインタレストパケットに対応するコンテンツデータを含むデータパケットを送信する。
【0067】
基地局15は、中継装置14が通信可能な範囲にいる際に、端末装置12の発行したインタレストパケットをCCNネットワーク10に中継する。また、基地局15は、CCNネットワーク10を介して、コンテンツ提供元サーバ16が発行したコンテンツデータを含むデータパケットを受信し、中継装置14に中継する。
【0068】
中継装置14は、例えば無人飛行体である。中継装置14は、第1のネットワーク(無線LAN9)を介してゲートウェイ装置13と通信可能な第1の位置と、第1のネットワークと分離された第2のネットワーク(CCNネットワーク10)を介してコンテンツ提供元サーバ16と通信可能な第2の位置との間を移動する。なお、第1のネットワーク及び第2のネットワークは、いずれもCCNネットワークであってもよい。第2のネットワークのみがCCNネットワークであってもよい。中継装置14は、第1の位置と第2の位置との間を、自律飛行してもよいし、操縦器によって操縦されてもよい。
【0069】
[ゲートウェイ装置のハードウェア構成]
図2は、本開示の実施の形態1におけるゲートウェイ装置のハードウェア構成の一例を示す図である。
【0070】
ゲートウェイ装置13は、CPU(中央演算処理装置)131と、RAM(Random Access Memory)132と、通信IF(インターフェイス)133と、通信バス134とを備える。なお、ゲートウェイ装置13は、ハードディスクドライブ又はソリッドステートドライブなどのストレージを備えてもよい。
【0071】
通信IF133は、無線により通信を行う1つ以上の無線IF133Aを備える。なお、通信IF133は、有線により通信を行う有線IFを備えてもよい。
【0072】
RAM132は、CS(Content Store)132Aと、PIT(Pending Interest Table)132Bと、FIB(Forwarding Information Base)132Cと、到着予定時間管理部132Dと、ストリーミングコンテンツ管理部132Eとを備える。なお、CS132Aと、PIT132Bと、FIB132Cと、到着予定時間管理部132Dと、ストリーミングコンテンツ管理部132Eとは、ハードディスクドライブ又はソリッドステートドライブなどのストレージに含まれてもよい。
【0073】
[ゲートウェイ装置の機能構成]
図3は、本開示の実施の形態1におけるゲートウェイ装置の機能構成の一例を示す図である。
【0074】
ゲートウェイ装置13は、1つ以上の無線IF133Aと、データ処理部131Aと、インタレスト処理部131Bと、CS132Aと、PIT132Bと、FIB132Cと、到着予定時間管理部132Dと、ストリーミングコンテンツ管理部132Eとを備える。
【0075】
データ処理部131A及びインタレスト処理部131Bは、CPU131で実行されるプロセスである。
【0076】
CS132Aは、データ処理部131Aによって受信されたデータパケットを記憶する。
【0077】
PIT132Bは、インタレスト処理部131Bによって受信されたインタレストパケットに記載されるコンテンツ名と、インタレストパケットをゲートウェイ装置13に送信した端末装置12に関する情報と、インタレストパケットを受信した無線IF133Aに関する情報とを記憶する。ここで、端末装置12に関する情報は、MACアドレスのような端末装置12を識別するための識別子である。
【0078】
FIB132Cは、コンテンツ名に対応する経路情報を記憶する。
【0079】
到着予定時間管理部132Dは、中継装置14が避難所に到着した際に、中継装置14がゲートウェイ装置13に通知する次回到着予定時間と中継装置14に関する情報とを記憶する。ここで、中継装置14に関する情報は、MACアドレスのような中継装置14を識別するための識別子である。
【0080】
図4は、本実施の形態1における到着予定時間管理部に記憶される情報の一例を示す図である。
図4に示すように、到着予定時間管理部132Dは、中継装置ID132D1と、次回到着予定時間132D2とを対応付けて記憶している。中継装置ID132D1は、MACアドレスのような中継装置14を識別するための識別子である。次回到着予定時間132D2は、中継装置14が避難所11に到着した際にゲートウェイ装置13に通知された、中継装置14が避難所11に次に到着する予定の時間である。
【0081】
無線IF133Aは、第1のネットワークを介してゲートウェイ装置13と通信可能な第1の位置と、第1のネットワークと分離された第2のネットワークを介してストリーミングコンテンツを提供するコンテンツ提供元サーバ16と通信可能な第2の位置との間を移動する複数の中継装置14が第1の位置に次に到着する時間を示す次回到着予定時間を複数の中継装置14のそれぞれから受信する。
【0082】
また、中継装置14が避難所11に到着した際にゲートウェイ装置13に通知される次回到着予定時間は、例えば、「resister_next_arrival_time:/中継装置14のMACアドレス/次回到着予定時間/」のように記載されたパケットによってゲートウェイ装置13に通知される。
【0083】
ストリーミングコンテンツ管理部132Eは、あるストリーミングコンテンツを要求する1つ以上インタレストパケットのうち先頭のインタレストパケットに記載される再生時間(以下「開始再生時間」という)と、インタレスト処理部131Bによって選択された中継装置14の次回到着予定時間(以下「基準到着予定時間」という)と、インタレストパケットに記載されるコンテンツ名又はその一部とを記憶する。
【0084】
図5は、本実施の形態1におけるストリーミングコンテンツ管理部に記憶される情報の一例を示す図である。
図5に示すように、ストリーミングコンテンツ管理部132Eは、コンテンツ識別名132E1と、開始再生時間132E2と、基準到着予定時間132E3とを対応付けて記憶する。コンテンツ識別名132E1は、インタレストパケットに記載されたコンテンツ名又はコンテンツ名の一部である。開始再生時間132E2は、あるストリーミングコンテンツを要求する1つ以上のインタレストパケットのうちの先頭のインタレストパケットに記載される再生時間である。基準到着予定時間132E3は、先頭のインタレストパケットを転送する中継装置14の次回到着予定時間である。
【0085】
インタレスト処理部131Bは、無線IF133Aを介して、ストリーミングコンテンツの再生時間を含むインタレストパケットを端末装置12から受信する。
【0086】
データ処理部131Aは、受信したデータパケットに関する処理を行う。データ処理部131Aは、データパケットを受信すると、受信したデータパケットに記載されたコンテンツ名と、過去に同一のコンテンツ名のインタレストパケットを受信した無線IF133Aに関する情報と、過去に同一のコンテンツ名のインタレストパケットをゲートウェイ装置13に送信した端末装置12に関する情報とを、PIT132Bから取得する。そして、データ処理部131Aは、無線IF133Aを介して、データパケットを端末装置12に送信する。なお、データ処理部131Aは、データパケットをCS132Aに記憶させてもよい。
【0087】
インタレスト処理部131Bは、受信したインタレストパケットに対して所定の処理を行う。インタレスト処理部131Bは、インタレストパケットに含まれる再生時間と複数の中継装置14の次回到着予定時間とに基づいて、複数の中継装置14の中からインタレストパケットを送信する中継装置14を選択する。なお、インタレスト処理部131Bの動作の詳細については後述する。
【0088】
インタレスト処理部131Bは、無線IF133Aを介して、選択された中継装置14にインタレストパケットを送信する。
【0089】
[中継装置のハードウェア構成]
図6は、本開示の実施の形態1における中継装置のハードウェア構成の一例を示す図である。
【0090】
中継装置14は、CPU141と、RAM142と、通信IF143と、通信バス144とを備える。なお、中継装置14は、ハードディスクドライブ又はソリッドステートドライブなどのストレージを備えてもよい。
【0091】
通信IF143は、無線により通信を行う1つ以上の無線IF143Aを有する。なお、通信IF143は、有線により通信を行う有線IFを備えてもよい。
【0092】
RAM142は、CS142Aと、PIT142Bと、FIB142Cと、インタレスト記憶部142Dとを備える。なお、CS142Aと、PIT142Bと、FIB142Cと、インタレスト記憶部142Dとは、ハードディスクドライブ又はソリッドステートドライブなどのストレージに含まれてもよい。
【0093】
[中継装置の機能構成]
図7は、本開示の実施の形態1における中継装置の機能構成の一例を示す図である。
【0094】
中継装置14は、1つ以上の無線IF143Aと、データ処理部141Aと、インタレスト処理部141Bと、到着予定時間通知部141Cと、CS142Aと、PIT142Bと、FIB142Cと、インタレスト記憶部142Dとを備える。
【0095】
データ処理部141Aと、インタレスト処理部141Bと、到着予定時間通知部141Cとは、CPU141で実行されるプロセスである。
【0096】
CS142Aは、データ処理部141Aによって受信されたデータパケットを記憶する。
【0097】
PIT142Bは、インタレスト処理部141Bによって受信されたインタレストパケットに記載されるコンテンツ名と、インタレストパケットを中継装置14に送信したゲートウェイ装置13に関する情報と、インタレストパケットを受信した無線IF143Aに関する情報とを記憶する。ここで、ゲートウェイ装置13に関する情報は、MACアドレスのようなゲートウェイ装置13を識別するための識別子である。
【0098】
FIB142Cは、コンテンツ名に対応する経路情報を記憶する。
【0099】
インタレスト記憶部142Dは、インタレスト処理部141Bによって受信されたインタレストパケットを記憶する。
【0100】
データ処理部141Aは、データパケットをコンテンツ提供元サーバ16から受信し、受信したデータパケット及びCS142Aに記憶されているデータパケットに関する処理を行う。
【0101】
まず、データ処理部141Aによって行われる、受信したデータパケットに関する処理について説明する。データ処理部141Aは、基地局15によって中継されたデータパケットを受信すると、データパケットをCS142Aに記憶する。
【0102】
次に、データ処理部141Aによって行われる、CS142Aに記憶されているデータパケットに関する処理について説明する。データ処理部141Aは、中継装置14がゲートウェイ装置13と通信可能な範囲に到着すると、CS142Aに記憶されているデータパケットをゲートウェイ装置13に送信する。データ処理部141Aは、中継装置14がコンテンツ提供元サーバ16と通信可能な第2の位置から中継装置14がゲートウェイ装置13と通信可能な第1の位置に移動した後、データパケットをゲートウェイ装置13へ送信する。
【0103】
インタレスト処理部141Bは、受信したインタレストパケット及びインタレスト記憶部142Dに記憶しているインタレストパケットに関する処理を行う。
【0104】
まず、インタレスト処理部141Bによって行われる、受信したインタレストパケットに関する処理について説明する。
【0105】
インタレスト処理部141Bは、ゲートウェイ装置13によって送信されたインタレストパケットを受信すると、インタレストパケットに記載されたコンテンツ名に対応するデータパケットがCS142Aに記憶されているか否かを確認する。
【0106】
コンテンツ名に対応するデータパケットがCS142Aに記憶されている場合、インタレスト処理部141Bは、インタレストパケットを中継装置14に送信したゲートウェイ装置13に、データパケットを送信し、インタレストパケットを破棄する。
【0107】
一方、コンテンツ名に対応するデータパケットがCS142Aに記憶されていない場合、インタレスト処理部141Bは、インタレストパケットに記載されるコンテンツ名と同一のコンテンツ名がPIT142Bに記憶されているか否かを確認する。
【0108】
インタレストパケットに記載されるコンテンツ名と同一のコンテンツ名がPIT142Bに記憶されている場合、インタレスト処理部141Bは、インタレストパケットに記載されるコンテンツ名と同一のコンテンツ名を記憶しているPIT142Bのエントリーに、インタレストパケットを中継装置14に送信したゲートウェイ装置13に関する情報を追記し、インタレストパケットを破棄する。
【0109】
一方、インタレストパケットに記載されるコンテンツ名と同一のコンテンツ名がPIT142Bに記憶されていない場合、インタレスト処理部141Bは、インタレストパケットに記載されるコンテンツ名と、インタレストパケットを送信したゲートウェイ装置13に関する情報とをPIT132Bに記憶する。
【0110】
そして、インタレスト処理部141Bは、インタレストパケットをインタレスト記憶部142Dに記憶する。
【0111】
次に、インタレスト処理部141Bによって行われる、インタレスト記憶部142Dに記憶されているインタレストパケットに関する処理について説明する。インタレスト処理部141Bは、中継装置14が基地局15と通信可能な範囲に到着すると、基地局15を介してインタレスト記憶部142Dに記憶されているインタレストパケットをCCNネットワーク10に転送する。インタレスト処理部141Bは、中継装置14がゲートウェイ装置13と通信可能な第1の位置から中継装置14がコンテンツ提供元サーバ16と通信可能な第2の位置に移動した後、インタレストパケットをコンテンツ提供元サーバ16へ送信する。
【0112】
到着予定時間通知部141Cは、中継装置14がゲートウェイ装置13と通信可能な第1の位置に到着すると、中継装置14が第1の位置に次に到着する時間を示す次回到着予定時間を、無線IF143Aを介してゲートウェイ装置13へ送信する。
【0113】
[システム全体の動作]
次に、実施の形態1における通信システム全体の動作について
図8を用いて説明する。
【0114】
図8は、本開示の実施の形態1における通信システム全体の動作の一例を示すシーケンス図である。
【0115】
まず、端末装置12は、ゲートウェイ装置13にインタレストパケットを送信する(ステップS101a)。
【0116】
次に、ゲートウェイ装置13のインタレスト処理部131Bは、端末装置12によって送信されたインタレストパケットを受信すると、受信したインタレストパケットに対して所定の処理を行い、送信先として選択した中継装置14Aにインタレストパケットを送信する(ステップS102a)。なお、インタレスト処理部131Bによる所定の処理の詳細については後述する。ここで、インタレストパケットに記載されるコンテンツ名に対応するデータパケットがCS132Aに記憶されておらず、さらにコンテンツ名に対応するエントリーがPIT132Bにない場合、インタレスト処理部131Bは、インタレストパケットを中継装置14Aに送信する。
【0117】
次に、中継装置14Aのインタレスト処理部141Bは、インタレストパケット受信すると、受信したインタレストパケットを、インタレスト記憶部142Dに記憶する(ステップS103a)。ここで、インタレストパケットに記載されるコンテンツ名に対応するデータパケットがCS142Aに記憶されておらず、さらにコンテンツ名に対応するエントリーがPIT142Bにない場合、インタレスト処理部141Bは、インタレストパケットをインタレスト記憶部142Dに記憶する。
【0118】
ステップS101b、ステップS102b及びステップS103bの処理は、ステップS101a、ステップS102a及びステップ103aの処理と同様の流れである。端末装置12が送信したインタレストパケットは、ゲートウェイ装置13から中継装置14Bに転送される。インタレストパケットを受信した中継装置14Bのインタレスト処理部141Bは、受信したインタレストパケットをインタレスト記憶部142Dに記憶する。
【0119】
次に、中継装置14Aは、現在時刻が避難所11を出発する時刻になると、ゲートウェイ装置13に基地局15に向けて移動することを通知した後、避難所11を出発し、基地局15と通信可能な場所(第2の位置)へ移動する(ステップS104)。
【0120】
次に、中継装置14Aのインタレスト処理部141Bは、基地局15と通信可能な場所まで到着すると、インタレスト記憶部142Dに記憶しているインタレストパケットを基地局15へ送信する(ステップS105)。
【0121】
次に、基地局15は、中継装置14Aから受信したインタレストパケットを、CCNネットワーク10を介してコンテンツ提供元サーバ16へ送信する(ステップS106)。
【0122】
次に、コンテンツ提供元サーバ16は、インタレストパケットを受信すると、インタレストパケットで指定されたコンテンツデータを含むデータパケットを基地局15へ送信する(ステップS107)。
【0123】
次に、基地局15は、コンテンツ提供元サーバ16によって送信されたデータパケットを受信すると、受信したデータパケットを中継装置14Aへ送信する(ステップS108)。
【0124】
次に、中継装置14Aのデータ処理部141Aは、基地局15を介してコンテンツ提供元サーバ16によって発行されたデータパケットを受信し、受信したデータパケットをCS142Aに記憶する(ステップS109)。
【0125】
次に、中継装置14Aは、インタレスト記憶部142Dに記憶されているインタレストパケットとデータパケットとの交換が終わると、避難所11に設置されているゲートウェイ装置13と通信可能な場所(第1の位置)に移動する(ステップS110)。
【0126】
次に、到着予定時間通知部141Cは、ゲートウェイ装置13と通信可能な場所(第1の位置)に到着すると、次回到着予定時間をゲートウェイ装置13へ送信する(ステップS111)。
【0127】
次に、ゲートウェイ装置13の無線IF133Aは、次回到着予定時間を中継装置14Aから受信すると、次回到着予定時間と中継装置14Aに関する情報とを到着予定時間管理部132Dに記憶する(ステップS112)。
【0128】
次に、中継装置14Aのデータ処理部141Aは、CS142Aに記憶されているデータパケットをゲートウェイ装置13に送信する(ステップS113)。
【0129】
次に、ゲートウェイ装置13のデータ処理部131Aは、中継装置14Aによって送信されたデータパケットを受信すると、端末装置12にデータパケットを送信する(ステップS114)。そして、端末装置12は、ゲートウェイ装置13によって送信されたデータパケットを受信する。
【0130】
[ゲートウェイ装置のインタレスト処理部の動作]
次に、ゲートウェイ装置13のインタレスト処理部131Bによって行われる具体的な動作について、
図9及び
図10のフローチャートを用いて説明する。
【0131】
図9は、ゲートウェイ装置が端末装置からインタレストパケットを受信した際に行われるインタレスト処理部の動作を示すフローチャートである。
【0132】
まず、インタレスト処理部131Bは、インタレストパケットを受信する(ステップS21)。
【0133】
次に、インタレスト処理部131Bは、インタレストパケットに記載されたコンテンツ名に対応するデータパケットがCS132Aに記憶されているか否かを判断する(ステップS22)。
【0134】
ここで、コンテンツ名に対応するデータパケットがCS132Aに記憶されていると判断された場合(ステップS22でYES)、インタレスト処理部131Bは、インタレストパケットをゲートウェイ装置13に送信した端末装置12に、CS132Aに記憶されているデータパケットを送信し(ステップS23)、処理を終了する。すなわち、インタレスト処理部131Bは、コンテンツ名に対応するデータパケットをCS132Aから読み出し、読み出したデータパケットを、インタレストパケットの送信先の端末装置12へ送信する。
【0135】
一方、コンテンツ名に対応するデータパケットがCS132Aに記憶されていないと判断された場合(ステップS22でNO)、インタレスト処理部131Bは、インタレストパケットに記載されたコンテンツ名と同一のコンテンツ名がPIT132Bに記憶されているか否かを判断する(ステップS24)。
【0136】
インタレストパケットに記載されたコンテンツ名と同一のコンテンツ名がPIT132Bに記憶されていると判断された場合(ステップS24でYES)、インタレスト処理部131Bは、コンテンツ名に対応するPIT132Bのエントリーに、インタレストパケットをゲートウェイ装置13に送信した端末装置12に関する情報と、インタレストパケットを受信した無線IF143Aに関する情報とを追記し(ステップS25)、処理を終了する。
【0137】
一方、インタレストパケットに記載されたコンテンツ名と同一のコンテンツ名がPIT132Bに記憶されていないと判断された場合(ステップS24でNO)、インタレスト処理部131Bは、インタレストパケットに記載されたコンテンツ名と、インタレストパケットを送信した端末装置12に関する情報と、インタレストパケットを受信した無線IF133Aに関する情報とを、PIT132Bに記憶する(ステップS26)。
【0138】
次に、インタレスト処理部131Bは、インタレストパケットがストリーミングコンテンツを要求するインタレストパケットであるか否かを判断する(ステップS27)。インタレスト処理部131Bは、インタレストパケットがストリーミングコンテンツを要求するインタレストパケットであるか否かを判断するために、インタレストパケットに記載されたコンテンツ名を使用する。
【0139】
図11は、ストリーミングコンテンツを要求するインタレストパケットに記載されるコンテンツ名の一例を示す図である。
図11に示すコンテンツ名30は、少なくともコンテンツ提供元サーバの情報31と、コンテンツ識別子32と、再生時間33とを含む。コンテンツ提供元サーバの情報31は、コンテンツデータを保有するコンテンツ提供元サーバ16についての情報である。コンテンツ識別子32は、例えば、ファイル名のような動画又は音声などのコンテンツデータを識別するための識別子を表す。再生時間33は、例えば、タイムスタンプのような時間を基準にした再生位置又はフレーム位置を表す情報である。
【0140】
例えば、インタレスト処理部131Bは、インタレストパケットに記載されたコンテンツ名に再生時間が含まれている場合、インタレストパケットがストリーミングコンテンツを要求するインタレストパケットであると判断する。
【0141】
インタレストパケットがストリーミングコンテンツを要求するインタレストパケットではないと判断された場合(ステップS27でNO)、インタレスト処理部131Bは、ゲートウェイ装置13と通信可能な複数の中継装置14の中から、インタレストパケットの送信先の中継装置を選択する(ステップS28)。ここで、インタレスト処理部131Bは、送信先の中継装置14を中継装置14の次回到着予定時間に基づいて選択してもよいし、送信先の中継装置14をランダムに選択してもよい。例えば、インタレスト処理部131Bは、次回到着予定時間が最も早い中継装置を送信先の中継装置14に選択してもよい。
【0142】
一方、インタレストパケットがストリーミングコンテンツを要求するインタレストパケットであると判断された場合(ステップS27でYES)、インタレスト処理部131Bは、ストリーミングコンテンツを要求するインタレストパケットの送信先の中継装置14を選択する中継装置選択処理を行う(ステップS29)。
【0143】
次に、インタレスト処理部131Bは、インタレストパケットを、選択した送信先の中継装置14に送信する(ステップS30)。
【0144】
図10は、
図9のステップS29における中継装置選択処理の具体的な動作を示すフローチャートである。
【0145】
まず、インタレスト処理部131Bは、インタレストパケットに記載されたコンテンツ名から再生時間を取得する(ステップS291)。
【0146】
次に、インタレスト処理部131Bは、到着予定時間管理部132Dから各中継装置14の次回到着予定時間を取得する(ステップS292)。
【0147】
次に、インタレスト処理部131Bは、インタレストパケットに記載されたコンテンツ名に対応するエントリーがストリーミングコンテンツ管理部132Eにあるか否かを判断する(ステップS293)。
【0148】
ここで、インタレストパケットに記載されたコンテンツ名に対応するエントリーがストリーミングコンテンツ管理部132Eにあると判断された場合(ステップS293でYES)、インタレスト処理部131Bは、ストリーミングコンテンツ管理部132Eより、コンテンツ名に対応する開始再生時間及び基準到着予定時間を取得する(ステップS294)。
【0149】
次に、インタレスト処理部131Bは、再生時間と、次回到着予定時間と、開始再生時間と、基準到着予定時間とに基づいて、インタレストパケットの送信先の中継装置14を選択する(ステップS295)。
【0150】
ここで、送信先の中継装置14を選択する方法について説明する。
図1に示すように、送信先候補の中継装置14は、中継装置14Aと中継装置14Bとの2台であり、中継装置14Aの次回到着予定時間が中継装置14Bの次回到着予定時間より早いとする。この時、インタレスト処理部131Bは、中継装置14Bが避難所11に到着するまでの間、ストリーミングコンテンツが端末装置12に配信されるようにストリーミングコンテンツを要求するインタレストパケットを中継装置14Aへ送信する。そして、インタレスト処理部131Bは、中継装置14Aが配信したストリーミングコンテンツに続くストリーミングコンテンツを要求するインタレストパケットを中継装置14Bへ送信する。
【0151】
具体的には、中継装置14Aの次回到着予定時間を基準予定時間T[s]とし、中継装置14Bの次回到着予定時間をt1[s]とし、開始再生時間をS[s]とした場合、インタレストパケットの送信先の中継装置は次のように選択される。
【0152】
まず、インタレスト処理部131Bは、インタレストパケットから取得した再生時間に基づいて、インタレストパケットがS[s]からS+t1−T[s]までのストリーミングコンテンツを要求するインタレストパケットである場合、中継装置14Aをインタレストパケットの送信先の中継装置に選択し、インタレストパケットを中継装置14Aに送信する。ここで、t1−T[s]は、中継装置14Aが次に避難所11に到着する時間から、中継装置14Aの次に到着する中継装置14Bが次に避難所11に到着するまでの時間を表している。
【0153】
インタレストパケットがS+t1−T[s]からのストリーミングコンテンツを要求するインタレストパケットである場合、インタレスト処理部131Bは、中継装置14Bをインタレストパケットの送信先の中継装置に選択し、インタレストパケットを中継装置14Bに送信する。
【0154】
なお、送信先候補の中継装置14が3台以上である場合も、インタレスト処理部131Bは、中継装置14が2台である場合と同様に各中継装置14の次回到着予定時間と、コンテンツ名に含まれる再生時間と、開始再生時間と、基準到着予定時間とに基づき、インタレストパケットの送信先の中継装置14を選択する。
【0155】
そして、ステップS29の中継装置選択処理を終了する。
【0156】
一方、インタレストパケットに記載されたコンテンツ名に対応するエントリーがストリーミングコンテンツ管理部132Eにないと判断された場合(ステップS293でNO)、インタレスト処理部131Bは、取得した再生時間と、取得した次回到着予定時間のうち最も早い次回到着予定時間と、コンテンツ名とをストリーミングコンテンツ管理部132Eに記憶する(ステップS296)。ここで、記憶した再生時間は、開始再生時間であり、記憶した次回到着予定時間は、基準到着予定時間である。
【0157】
そして、インタレスト処理部131Bは、ステップS295の処理を行うことで、インタレストパケットの送信先の中継装置14を選択し、ステップS29の中継装置選択処理を終了する。
【0158】
以上により、ストリーミングコンテンツを受信する端末装置12は、ストリーミングコンテンツを途切れることなく再生することが可能である。また、ストリーミングコンテンツのために特定の中継装置14の記憶領域を使用することなく、他のコンテンツデータも中継することができる。
【0159】
(実施の形態2)
実施の形態2におけるゲートウェイ装置は、実施の形態1のゲートウェイ装置13の構成に加え、インタレストパケットを一時的に記憶するインタレスト一時記憶部と、インタレストパケットの優先度を管理する優先度管理部と、中継装置14の予測空き容量を管理する予測空き容量管理部と、インタレストパケットに対応するデータパケットのデータサイズを取得するデータサイズ取得部とをさらに備える。ここで、中継装置14の予測空き容量とは、中継装置14に記憶されているインタレストパケットに対応するデータパケットを中継装置14のCS142Aに記憶したと仮定した場合のCS142Aの空き容量である。
【0160】
本実施の形態2の通信システムの構成は、
図1に示す実施の形態1の通信システムの構成と同一である。ただし、下記に示すように、本実施の形態2では、ゲートウェイ装置の機能構成及びハードウェア構成が実施の形態1と異なる。
【0161】
[ゲートウェイ装置のハードウェア構成]
図12は、本開示の実施の形態2におけるゲートウェイ装置のハードウェア構成の一例を示す図である。なお、
図12において、
図2のゲートウェイ装置と共通する構成要素については、
図2と同一の符号を付し、詳細な説明を省略する。
【0162】
本実施の形態2において、RAM432は、インタレスト一時記憶部432Fと、優先度管理部432Gと、予測空き容量管理部432Hとをさらに備える。また、RAM432は、
図2に示すPIT132Bとは機能の異なるPIT432Bを備える。なお、インタレスト一時記憶部432Fと、優先度管理部432Gと、予測空き容量管理部432Hと、PIT432Bとは、ハードディスクドライブ又はソリッドステートドライブなどのストレージに含まれてもよい。
【0163】
[ゲートウェイ装置の機能構成]
図13は、本開示の実施の形態2におけるゲートウェイ装置の機能構成の一例を示す図である。なお、
図13において、
図3のゲートウェイ装置と共通する構成要素については、
図3と同一の符号を付し、詳細な説明を省略する。
【0164】
図13に示すゲートウェイ装置43は、
図3に示すゲートウェイ装置13の構成に対して、データサイズ取得部431Cと、インタレスト一時記憶部432Fと、優先度管理部432Gと、予測空き容量管理部432Hとをさらに備える。また、ゲートウェイ装置43は、
図3とは動作の異なるインタレスト処理部431BとPIT432Bとを備える。
【0165】
インタレスト一時記憶部432Fは、インタレスト処理部431Bによって受信されたインタレストパケットを一時的に記憶する。
【0166】
優先度管理部432Gは、インタレストパケットに対応する優先度と、インタレストパケットに対応するコンテンツ名又はコンテンツ名の一部とを記憶する。なお、優先度管理部432Gに記憶される情報は、端末装置12又は中継装置14によって通知されてもよく、ユーザによってゲートウェイ装置13に直接アクセスして入力されてもよく、ゲートウェイ装置によって統計的に算出されてもよい。優先度は、インタレストパケットを優先的に送信する度合いを示し、インタレストパケットによって要求されるストリーミングコンテンツの内容に応じて予め決定される。
【0167】
予測空き容量管理部432Hは、中継装置14の予測空き容量と、中継装置14に関する情報とを管理する。ここで、中継装置14に関する情報とは、MACアドレスのような中継装置14を識別するための識別子である。予測空き容量管理部432Hは、中継装置14が避難所11に到着した時に送信したCS142Aの空き容量と、空き容量を送信した中継装置14に関する情報とを記憶する。インタレスト処理部431Bは、ゲートウェイ装置13から中継装置14に送信するインタレストパケットに基づいて、予測空き容量管理部432Hに記憶される情報を更新する。
【0168】
図14は、本実施の形態2における予測空き容量管理部に記憶される情報の一例を示す図である。
図14に示すように、優先度管理部432Gは、コンテンツ識別名432G1と、優先度432G2とを対応付けて記憶する。コンテンツ識別名432G1は、インタレストパケットに記載されたコンテンツ名又はコンテンツ名の一部である。優先度432G2は、コンテンツ識別名432G1に対応する優先度である。なお、上述したように、コンテンツ識別名432G1と優先度432G2とは、端末装置12又は中継装置14によって通知されてもよく、ユーザによってゲートウェイ装置13に直接アクセスして入力設定されてもよくし、ゲートウェイ装置13によって統計的に算出されてもよい。
【0169】
インタレスト処理部431Bは、データパケットをキャッシュするコンテンツキャッシュ部(CS142A)の空き容量を複数の中継装置14から取得する。
【0170】
データサイズ取得部431Cは、CPU431で実行されるプロセスである。データサイズ取得部431Cは、インタレスト処理部431Bによって受信されたインタレストパケットに対応するデータパケットのデータサイズを取得する。なお、データサイズ取得部431Cが取得するデータサイズは、過去にデータパケットを受信した際に取得したデータパケットのサイズ情報から統計的に算出されてもよいし、インタレストパケットに記載されたコンテンツ名から予測されてもよい。
【0171】
データサイズ取得部431Cは、端末装置12から受信したインタレストパケットからインタレストパケットが要求するデータパケットのサイズを取得する。
【0172】
PIT432Bは、インタレスト処理部431Bによって受信されたインタレストパケットに記載されたコンテンツ名と、インタレストパケットをゲートウェイ装置43に送信した端末装置12に関する情報と、インタレストパケットを受信した無線IF133Aに関する情報と、インタレストパケットの送信先の中継装置に関する情報とを記憶する。ここで、インタレストパケットの送信先の中継装置に関する情報とは、送信先の中継装置14のMACアドレスのような中継装置14を識別するための識別子である。
【0173】
インタレスト処理部431Bは、インタレスト一時記憶部432Fに記憶されているインタレストパケットに対して所定の処理を行うとともに、受信したインタレストパケットに対して所定の処理を行う。インタレスト処理部431Bは、基地局15に向けて移動を開始する中継装置14の予測空き容量が所定の容量より大きい場合、インタレスト一時記憶部432Fに記憶しているインタレストパケットを中継装置14に送信する。
【0174】
インタレスト処理部431Bは、データサイズ取得部431Cによって取得されたデータパケットのサイズが、複数の中継装置14のうちのインタレストパケットの送信先として選択した第1の中継装置のコンテンツキャッシュ部(CS142A)の空き容量より大きい場合、第1の中継装置とは異なる第2の中継装置又はゲートウェイ装置43に、第1の中継装置が既に記憶しているインタレストパケットを送信させた後、端末装置12から受信したインタレストパケットを第1の中継装置に送信する。
【0175】
インタレスト処理部431Bは、インタレストパケットに対応付けられ、インタレストパケットを優先的に送信する度合いを示す優先度を取得する。インタレスト処理部431Bは、取得した優先度に基づき、インタレストパケットを送信するか否かを判断する。
【0176】
インタレスト処理部431Bは、優先度が閾値(第1の閾値)より低い場合、受信したインタレストパケットを破棄する、又は受信したインタレストパケットをゲートウェイ装置43が備えるメモリ(インタレスト一時記憶部432F)に一時的に記憶してもよい。また、インタレスト処理部431Bは、優先度が閾値(第1の閾値)以上である場合、複数の中継装置の中からインタレストパケットを送信する中継装置を選択してもよい。
【0177】
[ゲートウェイ装置のインタレスト処理部の動作]
次に、ゲートウェイ装置のインタレスト処理部431Bによって行われる具体的な動作について、
図15及び
図16のフローチャートを用いて説明する。
【0178】
図15は、ゲートウェイ装置が端末装置からインタレストパケットを受信した際に行われるインタレスト処理部の動作を示すフローチャートである。なお、
図15において、ステップS31〜ステップS36の処理は、
図9に示すステップS21〜ステップS26の処理と同じであるので説明を省略する。
【0179】
次に、ステップS37において、インタレスト処理部431Bは、受信したインタレストパケットの優先度を取得する。ここで、インタレスト処理部431Bは、インタレストパケットに記載されたコンテンツ名又はコンテンツ名の一部が優先度管理部432Gに記憶されているか否かを確認する。インタレストパケットに記載されたコンテンツ名又はコンテンツ名の一部が優先度管理部432Gに記憶されている場合、インタレスト処理部431Bは、インタレストパケットに記載されたコンテンツ名又はコンテンツ名の一部に対応付けられている優先度を優先度管理部432Gから取得する。一方、インタレストパケットに記載されたコンテンツ名又はコンテンツ名の一部が優先度管理部432Gに記憶されていない場合、インタレスト処理部431Bは、インタレストパケットの優先度を最も低い値に決定する。例えば、優先度が1から5の5段階で表され、1が最も優先度が低く、数値が大きくなるにつれて優先度が高くなる場合、インタレスト処理部431Bは、優先度を1に決定する。
【0180】
次に、インタレスト処理部431Bは、ステップS37で取得したインタレストパケットの優先度が閾値より低いか否かを判断する(ステップS38)。上記のように、例えば、優先度が1から5の5段階で表される場合、閾値は例えば3に設定される。
【0181】
インタレストパケットの優先度が閾値より低いと判断された場合(ステップS38でYES)、インタレスト処理部431Bは、インタレストパケットをインタレスト一時記憶部432Fに一時的に記憶する(ステップS39)。なお、ステップS39において、インタレスト処理部431Bは、PIT431Bからインタレストパケットのエントリーを削除し、インタレストパケットを破棄してもよい。
【0182】
一方、インタレストパケットの優先度が閾値以上であると判断された場合(ステップS38でNO)、インタレスト処理部431Bは、インタレストパケットの送信先の中継装置14を選択し、選択した中継装置14にインタレストパケットを送信するインタレストパケット送信処理を行う(ステップS40)。
【0183】
なお、ステップS38において、インタレスト処理部431Bは、取得したインタレストパケットの優先度が最も低いか否かを判断してもよい。インタレストパケットの優先度が最も低いと判断された場合、インタレスト処理部431Bは、インタレストパケットをインタレスト一時記憶部432Fに一時的に記憶してもよい。一方、インタレストパケットの優先度が最も低くないと判断された場合、インタレスト処理部431Bは、インタレストパケット送信処理を行ってもよい。
【0184】
図16は、
図15のステップS40におけるインタレストパケット送信処理の具体的な動作を示すフローチャートである。
【0185】
まず、インタレスト処理部431Bは、インタレストパケットがストリーミングコンテンツを要求するインタレストパケットであるか否かを判断する(ステップS401)。なお、ステップS401の処理は、
図9のステップS27の処理と同じである。
【0186】
ここで、インタレストパケットがストリーミングコンテンツを要求するインタレストパケットではないと判断された場合(ステップS401でNO)、インタレスト処理部431Bは、インタレストパケットによって要求されるストリーミングコンテンツに対応するデータパケットのデータサイズをデータサイズ取得部431Cから取得する(ステップS402)。
【0187】
次に、インタレスト処理部431Bは、予測空き容量管理部432Hを参照し、複数の中継装置14のうち、予測空き容量が、取得したデータサイズ以上である中継装置14が存在するか否かを判断する(ステップS403)。
【0188】
ここで、予測空き容量が、取得したデータサイズ以上である中継装置14が存在しないと判断された場合(ステップS403でNO)、インタレスト処理部431Bは、インタレストパケットをインタレスト一時記憶部432Fに一時的に記憶する(ステップS404)。
【0189】
一方、予測空き容量が、取得したデータサイズ以上である中継装置14が存在すると判断された場合(ステップS403でYES)、インタレスト処理部431Bは、予測空き容量が、取得したデータサイズ以上である中継装置14をインタレストパケットの送信先の中継装置として選択する(ステップS405)。なお、予測空き容量が、取得したデータサイズ以上である中継装置14が複数存在する場合、インタレスト処理部431Bは、中継装置14の予測空き容量の大きさに基づいて送信先の中継装置14を選択してもよいし、予測空き容量が、取得したデータサイズ以上である中継装置14の次回到着予定時間に基づいて送信先の中継装置14を選択してもよいし、確率的に送信先の中継装置14を選択してもよい。
【0190】
次に、インタレスト処理部431Bは、予測空き容量管理部432Hで管理している送信先の中継装置14の予測空き容量を更新する(ステップS406)。すなわち、インタレスト処理部431Bは、取得したデータサイズを予測空き容量に加算する。
【0191】
次に、インタレスト処理部431Bは、選択した中継装置14にインタレストパケットを送信する(ステップS407)。
【0192】
一方、インタレストパケットがストリーミングコンテンツを要求するインタレストパケットであると判断された場合(ステップS401でYES)、インタレスト処理部431Bは、ストリーミングコンテンツを要求するインタレストパケットの送信先の中継装置14を選択する中継装置選択処理を行う(ステップS408)。なお、ステップS408の中継装置選択処理は、
図9のステップS29の中継装置選択処理と同じ処理である。
【0193】
次に、インタレスト処理部431Bは、インタレストパケットを送信する中継装置14を選択すると、インタレストパケットによって要求されるストリーミングコンテンツに対応するデータパケットのデータサイズを取得する(ステップS409)。
【0194】
次に、インタレスト処理部431Bは、予測空き容量管理部432Hを参照し、選択した中継装置14の予測空き容量が、取得したデータサイズ以上であるか否かを判断する(ステップS410)。
【0195】
ここで、選択した中継装置14の予測空き容量が、取得したデータサイズ以上であると判断された場合(ステップS410でYES)、インタレスト処理部431Bは、予測空き容量管理部432Hで管理している送信先の中継装置14の予測空き容量を更新する(ステップS406)。すなわち、インタレスト処理部431Bは、取得したデータサイズを予測空き容量に加算する。
【0196】
次に、インタレスト処理部431Bは、選択した中継装置14にインタレストパケットを送信する(ステップS407)。
【0197】
一方、選択した中継装置14の予測空き容量が、取得したデータサイズ以上ではないと判断された場合(ステップS410でNO)、インタレスト処理部431Bは、選択した中継装置14の予測空き容量を確保する(ステップS411)。
【0198】
具体的には、複数の中継装置のうち、予測空き容量が、取得したデータサイズ以上である他の中継装置14(ここでは、「第2の中継装置14」と呼ぶ)が存在する場合、インタレスト処理部431Bは、選択した中継装置(ここでは、「第1の中継装置14」と呼ぶ)に記憶されているインタレストパケットを、第2の中継装置14に移行させる。ここで、インタレスト処理部431Bは、PIT432Bを参照し、第1の中継装置14に記憶されているインタレストパケットの中から、第1の中継装置14から第2の中継装置14に移行させる1つ以上のインタレストパケットを選択する。選択されるインタレストパケットは、第1の中継装置14の予測空き容量を確保するのに十分な量であって、ストリーミングコンテンツ以外のコンテンツを要求するインタレストパケットである。
【0199】
なお、第2の中継装置14の次回到着予定時間が第1の中継装置14より早い場合に限り、選択されるインタレストパケットは、ストリーミングコンテンツを要求するインタレストパケットであってもよい。そして、インタレスト処理部431Bは、第1の中継装置14から第2の中継装置14にインタレストパケットを移行するように、第1の中継装置14に対して指示する。指示された第1の中継装置14は、インタレストパケットを第2の中継装置14に移行し、移行したインタレストパケットのエントリーをPIT142Bから削除する。なお、第1の中継装置14は、ゲートウェイ装置43を介して第2の中継装置14へインタレストパケットを移行してもよく、第2の中継装置14へ直接インタレストパケットを移行してもよい。その後、インタレスト処理部431Bは、移行したインタレストパケットのデータサイズに基づいて、予測空き容量管理部432Hで管理している第1の中継装置14の予測空き容量及び第2の中継装置14の予測空き容量を更新する。
【0200】
一方、予測空き容量が、取得したデータサイズ以上である他の中継装置14が存在しない場合、インタレスト処理部431Bは、PIT432Bを参照し、第1の中継装置14に記憶されているインタレストパケットのうち、ストリーミングコンテンツ以外のコンテンツを要求するインタレストパケットをゲートウェイ装置43に移行させる。インタレスト処理部431Bは、第1の中継装置14から移行されたインタレストパケットを受信すると、受信したインタレストパケットをインタレスト一時記憶部432Fに一時的に記憶する。そして、インタレスト処理部431Bは、移行したインタレストパケットのデータサイズに基づいて、予測空き容量管理部432Hで管理している第1の中継装置14の予測空き容量を更新する。
【0201】
インタレスト処理部431Bは、第1の中継装置14の予測空き容量を確保すると、受信したインタレストパケットから取得したデータサイズに基づいて、予測空き容量管理部432Hで管理している送信先の中継装置14の予測空き容量を更新する(ステップS406)。
【0202】
次に、インタレスト処理部431Bは、受信したインタレストパケットを第1の中継装置14に送信する(ステップS407)。
【0203】
なお、本実施の形態2では、優先度の異なるインタレストパケットに対して2種類の処理(インタレストパケットの優先度が閾値より低い場合の処理とインタレストパケットの優先度が閾値以上である場合の処理)について説明したが、本開示は特にこれに限定されない。インタレスト処理部431Bは、優先度が第1の閾値より低い場合、受信したインタレストパケットを破棄する、又は受信したインタレストパケットをゲートウェイ装置43が備えるメモリ(インタレスト一時記憶部432F)に一時的に記憶してもよい。また、インタレスト処理部431Bは、優先度が第1の閾値より高い第2の閾値より高い場合、受信したインタレストパケットを複製し、複製した複数のインタレストパケットを複数の中継装置に送信してもよい。さらに、インタレスト処理部431Bは、優先度が第1の閾値と第2の閾値との間である場合、複数の中継装置の中からインタレストパケットを送信する中継装置を選択してもよい。
【0204】
なお、インタレスト処理部431Bは、優先度が最も高い場合、受信したインタレストパケットを複製し、複製した複数のインタレストパケットを複数の中継装置に送信してもよい。
【0205】
複製した優先度の高い複数のインタレストパケットを複数の中継装置14に振り分けることで、端末装置12は、要求したコンテンツデータをより高い確率で受信することができる。
【0206】
本実施の形態2では、ゲートウェイ装置43が、実施の形態1のゲートウェイ装置13の構成に加え、インタレストパケットを一時的に記憶するインタレスト一時記憶部432Fと、インタレストパケットの優先度を管理する優先度管理部432Gと、中継装置14の予測空き容量を管理する予測空き容量管理部432Hと、インタレストパケットに対応するデータパケットのサイズを取得するデータサイズ取得部431Cとを備える例について説明した。
【0207】
本実施の形態2のゲートウェイ装置43では、受信したインタレストパケットの優先度及びインタレストパケットに対応するデータパケットのデータサイズを考慮して送信先の中継装置14を選択することができる。したがって、優先度の低いコンテンツデータによって中継装置14の記憶領域が圧迫されることなく、より有効に中継装置14の記憶領域を使用することができる。特に、中継装置14の予測空き容量が、データパケットのデータサイズより小さい場合に、ゲートウェイ装置43が、中継装置14の予測空き容量を確保することで、中継装置14の予測空き容量に余裕ができ、ゲートウェイ装置43の所望するインタレストパケットを中継装置14に記憶させることが可能となる。これにより、端末装置12からコンテンツデータを要求するインタレストパケットが多い状況でも、端末装置12に連続して再生が可能なストリーミングコンテンツを提供することが可能となる。
【0208】
(実施の形態3)
実施の形態3におけるゲートウェイ装置は、実施の形態1のゲートウェイ装置13の構成に加え、インタレストパケットを一時的に記憶するインタレスト一時記憶部と、次回到着予定時間を計画する到着予定時間計画部と、記憶しているインタレストパケットを送信するインタレスト処理部とをさらに備える。
【0209】
本実施の形態3の通信システムの構成は、
図1に示す実施の形態1の通信システムの構成と同一である。ただし、下記に示すように、本実施の形態3では、ゲートウェイ装置の機能構成及びハードウェア構成が実施の形態1と異なる。
【0210】
[ゲートウェイ装置のハードウェア構成]
図17は、本開示の実施の形態3におけるゲートウェイ装置のハードウェア構成の一例を示す図である。なお、
図17において、
図2のゲートウェイ装置と共通する構成要素については、
図2と同一の符号を付し、詳細な説明を省略する。
【0211】
本実施の形態3において、RAM532は、インタレスト一時記憶部532Fをさらに備える。また、RAM532は、
図2に示す到着予定時間管理部132Dとは機能の異なる到着予定時間管理部532Dを備える。なお、インタレスト一時記憶部532Fと、到着予定時間管理部532Dとは、ハードディスクドライブ又はソリッドステートドライブなどのストレージに含まれてもよい。
【0212】
[ゲートウェイ装置の機能構成]
図18は、本開示の実施の形態3におけるゲートウェイ装置の機能構成の一例を示す図である。なお、
図18において、
図3のゲートウェイ装置と共通する構成要素については、
図3と同一の符号を付し、詳細な説明を省略する。
【0213】
図18に示すゲートウェイ装置53は、
図3に示すゲートウェイ装置13の構成に対して、到着予定時間計画部531Cと、インタレスト一時記憶部532Fとをさらに備える。また、ゲートウェイ装置53は、
図3とは動作の異なるインタレスト処理部531Bと、到着予定時間管理部532Dとを備える。
【0214】
インタレスト一時記憶部532Fは、インタレスト処理部531Bで受信したインタレストパケットと、インタレストパケットの送信先の中継装置14に関する情報とを一時的に記憶する。ここで、中継装置14に関する情報とは、MACアドレスのような中継装置14を識別するための識別子である。
【0215】
到着予定時間管理部532Dは、次回到着予定時間と、中継装置14が次々回に避難所11に到着する時間(以下、(次々回到着予定時間)という)と、中継装置14が避難所11に到着した時間(以下、「到着時間」という)と、中継装置14に関する情報とを記憶する。ここで、中継装置14の情報は、MACアドレスのような中継装置14を識別するための識別子である。
【0216】
到着予定時間計画部531Cは、避難所11に到着した中継装置14によって送信された次回到着予定時間を受信すると、受信した次回到着予定時間を到着予定時間管理部532Dの中継装置14に対応するエントリーに記憶する。なお、到着予定時間計画部531Cは、到着予定時間管理部532Dに記憶する次回到着予定時間を、過去に中継装置14が送信した次回到着予定時間と、中継装置14が実際に避難所11に到着した時間との誤差に基づいて補正してもよい。
【0217】
すなわち、到着予定時間管理部532Dは、次回到着予定時間と到着時間とを対応付けた到着履歴情報を複数の中継装置毎に記憶してもよい。そして、到着予定時間計画部531Cは、記憶している次回到着予定時間と到着時間とに基づいて、中継装置から受信した次回到着予定時間を補正してもよい。
【0218】
図19は、本実施の形態3における到着予定時間管理部に記憶される情報の一例を示す図である。
図19に示すように、到着予定時間管理部532Dは、中継装置ID532D1と、到着時間532D2と、到着予定時間532D3と、次々回到着予定時間532D4とを対応付けて記憶している。
【0219】
中継装置ID532D1は、MACアドレスなどの中継装置14を識別するための情報である。到着時間532D2は、中継装置14が避難所11に到着した時間である。次回到着予定時間532D3は、中継装置14が避難所11に到着した際にゲートウェイ装置13に通知する避難所11に次に到着する予定の時間である。なお、次回到着予定時間532D3は、過去に中継装置14が通知した次回到着予定時間と、中継装置14が実際に避難所11に到着した時間との誤差とに基づいて、到着予定時間計画部531Cによって統計的に修正されてもよい。次々回到着予定時間532D4は、到着時間532D2と次回到着予定時間532D3とに基づいて到着予定時間計画部531Cによって予測された、中継装置14が避難所11に次々回に到着する時間である。
【0220】
なお、到着予定時間管理部532Dは、到着時間532D2及び次回到着予定時間532D3を、中継装置14が避難所11に到着する度に更新するのではなく、次々回到着予定時間532D4の予測又は次回到着予定時間532D3の修正に過去の情報も使用できるように履歴として保持してもよい。
【0221】
また、到着予定時間計画部531Cは、次回到着予定時間を受信した時間を到着時間として到着予定時間管理部532Dの中継装置に関する情報に対応するエントリーに記憶する。
【0222】
さらに、到着予定時間計画部531Cは、次回到着予定時間と到着時間とから次々回到着予定時間を計算し、計算した次々回到着予定時間を到着予定時間管理部532Dの中継装置に関する情報に対応するエントリーに記憶する。ここで、次々回到着予定時間は、次回到着予定時間に、次回到着予定時間と到着時間との差(中継装置14が避難所11と基地局15との間の往復に要する時間)を加算することにより計算される。
【0223】
到着予定時間計画部531Cは、中継装置が第1の位置(避難所11)に到着した到着時間と、次回到着予定時間とに基づいて、中継装置が次々回に第1の位置に到着する次々回到着予定時間を予測する。具体的には、次回到着予定時間をt2[s]とし、到着時間をt1[s]とした時、中継装置14が避難所11と基地局15との間の往復に要する時間は、t2−t1[s]となり、次々回到着予定時間は、t2+t2−t1[s]となる。なお、到着予定時間計画部531Cは、中継装置14の次回到着予定時間と、中継装置14の到着時間との誤差に基づいて次々回到着予定時間を修正してもよい。
【0224】
インタレスト処理部531Bは、中継装置を選択する際に、再生時間と、次回到着予定時間と、次々回到着予定時間との少なくとも1つに基づいて、複数の中継装置の中からインタレストパケットを送信する中継装置を選択する。インタレスト処理部531Bは、次々回到着予定時間に基づいて、送信先の中継装置を選択した場合、受信したインタレストパケットを一時的にゲートウェイ装置53のメモリ(インタレスト一時記憶部532F)に記憶する。また、インタレスト処理部531Bは、次回到着予定時間に基づいて、送信先の中継装置を選択した場合、受信したインタレストパケットを、選択した中継装置に送信する。
【0225】
インタレスト処理部531Bは、インタレスト一時記憶部532Fに記憶されているインタレストパケットに対して所定の処理を行うとともに、受信したインタレストパケットに対して所定の処理を行う。
【0226】
ここで、インタレスト処理部531Bにおいて、インタレスト一時記憶部532Fに記憶されているインタレストパケットに対して行われる所定の処理について説明する。インタレスト処理部531Bは、中継装置14がゲートウェイ装置53と通信可能な場所に到着した際に、インタレスト一時記憶部532Fを参照する。到着した中継装置14が送信先となるインタレストパケットがインタレスト一時記憶部532Fに記憶されている場合、インタレスト処理部531Bは、インタレストパケットをインタレスト一時記憶部532Fから読み出し、中継装置14へ送信する。
【0227】
次に、インタレスト処理部531Bにおいて、受信したインタレストパケットに対して行われる所定の処理について説明する。なお、実施の形態3のインタレスト処理部531Bにおいて、実施の形態1のインタレスト処理部131Bと共通する処理手順に関しては詳細な説明を省略する。具体的には、
図9に示すステップS21〜ステップS28の処理手順及び
図10に示すステップS291〜ステップS294及びステップS296の処理手順の説明は省略する。
【0228】
ここでは、ストリーミングコンテンツを要求するインタレストパケットの送信先の中継装置14をインタレスト処理部531Bが選択する処理について説明する。
【0229】
インタレスト処理部531Bは、到着予定時間管理部532Dを参照し、各中継装置14の次回到着予定時間及び次々回到着予定時間を取得する。インタレスト処理部531Bは、インタレストパケットに記載されたコンテンツ名より取得した再生時間と、取得した次回到着予定時間及び次々回到着予定時間と、ストリーミングコンテンツ管理部132Eから取得した開始再生時間及び基準到着予定時間とに基づいて、インタレストパケットの送信先の中継装置14を決定する。本実施の形態3では、
図1に示すように、送信先候補の中継装置14は、中継装置14Aと中継装置14Bとの2台であるとする。また、中継装置14Aの次回到着予定時間を基準到着予定時間T[s]とし、中継装置14Bの次回到着予定時間をt1[s]とし、中継装置14Aの次々回到着予定時間をt2[s]とし、中継装置14Bの次々回到着予定時間をt3[s]とし、T<t1<t2<t3の関係が成り立つとする。また、ストリーミングコンテンツの開始再生時間をS[s]とする。
【0230】
この時、インタレストパケットがS[s]からS+t1−T[s]までの時間のストリーミングコンテンツを要求するインタレストパケットである場合、インタレスト処理部531Bは、取得した再生時間に基づいて、中継装置14Aをインタレストパケットの送信先の中継装置に選択し、インタレストパケットを中継装置14Aに送信する。ここで、t1−T[s]は、中継装置14Aが次に避難所11に到着してから、中継装置14Aの次に到着する中継装置14Bが次に避難所11に到着するまでの時間を表している。
【0231】
インタレストパケットがS+t1−T[s]からS+t2−t1[s]までの時間のストリーミングコンテンツを要求するインタレストパケットである場合、インタレスト処理部531Bは、中継装置14Bをインタレストパケットの送信先の中継装置に選択し、インタレストパケットを中継装置14Bに送信する。
【0232】
インタレストパケットがS+t2−t1[s]からS+t3−t2[s]までの時間のストリーミングコンテンツを要求するインタレストパケットである場合、インタレスト処理部531Bは、中継装置14Aをインタレストパケットの送信先の中継装置に選択し、インタレストパケットと送信先の中継装置14Aに関する情報とを、インタレスト一時記憶部532Fに記憶する。
【0233】
インタレストパケットがS+t3−t2[s]からの時間のストリーミングコンテンツを要求するインタレストパケットである場合、インタレスト処理部531Bは、中継装置14Bをインタレストパケットの送信先の中継装置に選択し、インタレストパケットと送信先の中継装置14Bに関する情報とを、インタレスト一時記憶部532Fに記憶する。
【0234】
なお、送信先候補の中継装置14が3台以上である場合も、インタレスト処理部531Bは、中継装置14が2台である場合と同様に各中継装置14の次回到着予定時間及び次々回到着予定時間と、コンテンツ名に含まれる再生時間とに基づき、送信先の中継装置14を選択する。
【0235】
また、避難所11に到着していない中継装置14の次々回到着予定時間が到着予定時間管理部532Dに記憶されている場合、インタレスト処理部531Bは、避難所11に到着していない中継装置14を送信先候補としてもよい。
【0236】
以上のように、次々回到着予定時間を到着予定時間管理部532Dで管理することで、ゲートウェイ装置53は、ストリーミングコンテンツを要求するインタレストパケットの送信先の中継装置14を事前に選択することができ、中継装置14は、必要な時間に必要な量のストリーミングコンテンツを端末装置12に配信することができる。その結果、1台あたりの中継装置14が配送するストリーミングコンテンツの量が減り、中継装置14は、緊急を要するようなコンテンツを優先的に配送することができる。特に、避難所11と基地局15との間を移動する中継装置14の台数が多い場合、又は中継装置14が避難所11と基地局15との間を往復する時間が短い場合に、ゲートウェイ装置53はより効果的に中継装置14にインタレストパケットを振り分けることができ、中継装置14は記憶領域をより効果的に使用することができる。
【0237】
さらに、到着予定時間計画部531Cが、到着予定時間管理部532Dに記憶する次回到着予定時間を履歴に基づいて補正することで、中継装置14の移動時間に誤差が発生する場合でも、ゲートウェイ装置53は、端末装置12でストリーミングコンテンツが連続して再生可能なように、ストリーミングコンテンツを要求するインタレストパケットを中継装置14に振り分けることができる。
【0238】
なお、本実施の形態1〜3における中継装置14は無人飛行体であるが、本開示は特にこれに限定されず、中継装置14は、例えば車両などの移動体に搭載されてもよい。