特許第6362536号(P6362536)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6362536コンテンツ配信ネットワークのクライアント装置及びプログラム
<>
  • 特許6362536-コンテンツ配信ネットワークのクライアント装置及びプログラム 図000002
  • 特許6362536-コンテンツ配信ネットワークのクライアント装置及びプログラム 図000003
  • 特許6362536-コンテンツ配信ネットワークのクライアント装置及びプログラム 図000004
  • 特許6362536-コンテンツ配信ネットワークのクライアント装置及びプログラム 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6362536
(24)【登録日】2018年7月6日
(45)【発行日】2018年7月25日
(54)【発明の名称】コンテンツ配信ネットワークのクライアント装置及びプログラム
(51)【国際特許分類】
   H04L 12/811 20130101AFI20180712BHJP
   G06F 13/00 20060101ALI20180712BHJP
【FI】
   H04L12/811
   G06F13/00 520B
【請求項の数】8
【全頁数】11
(21)【出願番号】特願2014-265199(P2014-265199)
(22)【出願日】2014年12月26日
(65)【公開番号】特開2016-127355(P2016-127355A)
(43)【公開日】2016年7月11日
【審査請求日】2017年8月23日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100131886
【弁理士】
【氏名又は名称】坂本 隆志
(74)【代理人】
【識別番号】100170667
【弁理士】
【氏名又は名称】前田 浩次
(72)【発明者】
【氏名】横田 健治
(72)【発明者】
【氏名】田上 敦士
【審査官】 大石 博見
(56)【参考文献】
【文献】 特開2011−135575(JP,A)
【文献】 特開2004−032757(JP,A)
【文献】 特開2005−192102(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/811
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークのクライアント装置であって、
要求したオブジェクトを待ち時間内に受信したか否かに応じてウィンドウ・サイズを更新する更新手段と、
受信待ちオブジェクトの数を管理する管理手段と、
前記ウィンドウ・サイズに基づき1つの要求メッセージで要求するオブジェクトの数を決定する決定手段と、
前記ウィンドウ・サイズから前記受信待ちオブジェクトの数を減じた値が、前記決定手段が決定したオブジェクトの数より大きくなった後に、前記決定手段が決定した数のオブジェクトを要求する要求メッセージを前記コンテンツ配信ネットワークに送信する送信手段と、
を備えていることを特徴とするクライアント装置。
【請求項2】
前記決定手段は、前記ウィンドウ・サイズを変数又は所定の定数で除することにより前記1つの要求メッセージで要求するオブジェクトの数を決定することを特徴とする請求項1に記載のクライアント装置。
【請求項3】
前記所定の定数は、前記コンテンツ配信ネットワークに前記クライアント装置が同時に送信できる要求メッセージの数に基づき決定されていることを特徴とする請求項2に記載のクライアント装置。
【請求項4】
前記決定手段は、前記変数を前記ウィンドウ・サイズに基づき決定することを特徴とする請求項2に記載のクライアント装置。
【請求項5】
前記送信手段は、前記減じた値が、前記決定手段が決定したオブジェクトの数より大きくなると、前記決定手段が決定した数のオブジェクトを要求する要求メッセージを前記コンテンツ配信ネットワークに送信することを特徴とする請求項1から4のいずれか1項に記載のクライアント装置。
【請求項6】
前記送信手段は、前記減じた値が、前記決定手段が決定したオブジェクトの数より大きくなったかを所定の期間毎に判定することを特徴とする請求項1から4のいずれか1項に記載のクライアント装置。
【請求項7】
前記送信手段は、オブジェクトを受信する度に、前記減じた値が、前記決定手段が決定したオブジェクトの数より大きくなったかを判定することを特徴とする請求項1から4のいずれか1項に記載のクライアント装置。
【請求項8】
請求項1から7のいずれか1項に記載のクライアント装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンテンツを複数のオブジェクトに分割して配信するコンテンツ配信ネットワークのクライアント装置及びプログラムに関する。
【背景技術】
【0002】
コンテンツを示す名前に基づきコンテンツの配信を行うネットワークが提案されている。特許文献1及び非特許文献1は、その様なネットワークの1つであるコンテンツ・セントリック・ネットワーク(CCN:Content Centric Networking)を開示している。
【0003】
CCNにおいて、コンテンツを公開するサーバ装置は当該コンテンツを1つ以上のチャンクと呼ばれるオブジェクトに分割し、クライアント装置は、この分割されたオブジェクトを指定するインタレスト・パケット(要求メッセージ)をCCNに送信し、オブジェクト単位でコンテンツを取得する。しかしながら、1つのオブジェクトのみを指定するインタレスト・パケットを送信することは非効率であるため、特許文献2は、複数のオブジェクトの範囲を指定するインタレスト・パケットをCCNに送信して、当該複数のオブジェクトを1つのインタレスト・パケットの応答として取得する構成を開示している。
【0004】
また、非特許文献2は、クライアント装置によるインタレスト・パケットの送信制御として、TCPと同様の送信制御を適用することを提案している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−277234号公報
【特許文献2】特開2011−135575号公報
【非特許文献】
【0006】
【非特許文献1】V.Jacobson,et al.,"Networking Named Content",in Proceedings of ACM CoNEXT 2009,2009年12月
【非特許文献2】D.Saucez,et al.,"AIMD and CCN Past and Novel Acronyms Working Together in the Future Internet"、In Proc.of ACM CoNEXT workshop on Capacity Sharing、2012年
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献2は、インタレスト・パケットで要求するオブジェクトの数をどの様に決定するかについては何ら開示していない。また、オブジェクトの範囲を指定するインタレスト・パケットの送信タイミングについても何ら開示してはいない。また、非特許文献2に記載の送信制御は、インタレスト・パケットで要求するオブジェクトが1つの場合にのみ適用でき、複数のオブジェクトを1つのインタレスト・パケットで要求する場合には適用できない。複数のオブジェクトを1つのインタレスト・パケットで要求する場合、1つのインタレスト・パケットで要求するオブジェクトの数と、当該インタレスト・パケットを送信するタイミングを適切に決定しないと、ネットワークに輻輳を生じさせる恐れがある。
【0008】
本発明は、コンテンツ配信ネットワークの輻輳を抑えるクライアント装置を提供するものである。
【課題を解決するための手段】
【0009】
本発明の一側面によると、コンテンツを1つ以上のオブジェクトに分割して配信するコンテンツ配信ネットワークのクライアント装置は、要求したオブジェクトを待ち時間内に受信したか否かに応じてウィンドウ・サイズを更新する更新手段と、受信待ちオブジェクトの数を管理する管理手段と、前記ウィンドウ・サイズに基づき1つの要求メッセージで要求するオブジェクトの数を決定する決定手段と、前記ウィンドウ・サイズから前記受信待ちオブジェクトの数を減じた値が、前記決定手段が決定したオブジェクトの数より大きくなった後に、前記決定手段が決定した数のオブジェクトを要求する要求メッセージを前記コンテンツ配信ネットワークに送信する送信手段と、を備えていることを特徴とする。
【発明の効果】
【0010】
コンテンツ配信ネットワークの輻輳を抑えることができる。
【図面の簡単な説明】
【0011】
図1】一実施形態によるコンテンツ配信ネットワークの構成図。
図2】一実施形態によるクライアント装置の構成図。
図3】一実施形態によるクライアント装置における処理のフローチャート。
図4】一実施形態によるクライアント装置における処理の説明図。
【発明を実施するための形態】
【0012】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては実施形態の説明に必要ではない構成要素については図から省略する。また、以下の実施形態は例示であり本発明を実施形態の内容に限定するものではない。
【0013】
図1は、本実施形態によるコンテンツ配信システムの構成図である。コンテンツ配信ネットワーク2には、コンテンツを公開するサーバ装置3と、コンテンツを取得するクライアント装置1が接続される。サーバ装置3は、コンテンツを複数のオブジェクトに分割し、クライアント装置1は、取得する1つ以上のオブジェクトを指定するインタレスト・パケット(要求メッセージ)をコンテンツ配信ネットワーク2に送信する。サーバ装置3は、インタレスト・パケットを受信すると、当該インタレスト・パケットで指定されたオブジェクトをクライアント装置1に向けて送信する。
【0014】
なお、コンテンツ配信ネットワーク2内の各通信装置は、配信したオブジェクトをキャッシュすることができ、キャッシュしているオブジェクトを要求するインタレスト・パケットを受信すると、当該インタレスト・パケットをサーバ装置3に転送することなくキャッシュしているオブジェクトをクライアント装置1に向けて送信することができる。つまり、クライアント装置1は、送信したインタレスト・パケットの応答として、サーバ装置3及び/又はコンテンツ配信ネットワーク2の通信装置からオブジェクトを受信する。なお、コンテンツ配信ネットワーク2内の各通信装置は、インタレスト・パケットで要求された複数のオブジェクトの一部のみをキャッシュしている場合、キャッシュしているオブジェクトをクライアント装置1に送信すると共に、クライアント装置1に送信したオブジェクトの指定を当該インタレスト・パケットから削除して、当該インタレスト・パケットを転送する。したがって、クライアント装置1は、複数のオブジェクトを指定するインタレスト・パケットを送信したとしても、当該複数のオブジェクトを同じタイミングで必ず受信するのではない。
【0015】
図2は、本実施形態によるクライアント装置1の構成図である。入出力部11は、クライアント装置1のユーザとのユーザ・インタフェースである。インタレスト・パケット生成部12は、後述する処理に基づきインタレスト・パケットの送信タイミングと、インタレスト・パケットで指定するオブジェクトの数を決定して、インタレスト・パケットを生成する。送受信部13は、インタレスト・パケット生成部12が生成したインタレスト・パケットをコンテンツ配信ネットワーク2に送信する。
【0016】
図3は、本実施形態によるクライアント装置1のインタレスト・パケット生成部12が実行する処理のフローチャートである。まず、以下の説明において使用する変数及び定数について説明する。W(t)は、時刻tにおけるウィンドウ・サイズである。ここで、ウィンドウ・サイズW(t)は、同時に受信待ちとできるオブジェクトの最大数である。N(t)は時刻tにおいて受信待ちのオブジェクト数である。kは、所定の待ち時間内に受信したオブジェクトの数である。Mは所定の定数である。Lmax(t)は、時刻tにおいて、インタレスト・パケットで指定することができるオブジェクトの最大数である。R(t)は時刻tにおいて、クライアント装置1が新たに要求したいオブジェクトの数である。L(t)は、時刻tにおいてインタレスト・パケットを送信する場合、当該インタレスト・パケットで指定するオブジェクトの数である。
【0017】
S10において、クライアント装置1は、待ち時間内にオブジェクトを受信したかを判定する。待ち時間内においてオブジェクトを受信していないと、クライアント装置1は、S12でウィンドウ・サイズW(t)を半分に変更する。なお、半分にした値が少数となる場合には、切り上げ、切り捨てを行って整数とする。なお、S12においては、ウィンドウ・サイズを減少させれば良く、半分にするのではなく、所定の定数を減じても、所定の定数で除しても良い。一方、待ち時間内において少なくとも1つのオブジェクトを受信していると、クライアント装置1は、S11でウィンドウ・サイズW(t)を1だけ増加させる。なお、S11におけるウィンドウ・サイズの増加は、1を加えることに限定されず、所定の定数を加えても、所定の定数で乗じても良い。クライアント装置1は、S13で、受信待ちのオブジェクト数から、所定の待ち時間内に受信したオブジェクト数kを減じることで、受信待ちのオブジェクト数N(t)を更新する。
【0018】
クライアント装置1は、S14でW(t)と所定の定数MからLmax(t)を求める。具体的には、W(t)/Mの小数点以下を、切り上げ、切り捨て、又は、四捨五入することで整数とし、これをLmax(t)とする。Mを例えば、同時に送信可能なインタレスト・パケットの数とすると、Lmax(t)は、1つのインタレスト・パケットで指定できるオブジェクト数となる。
【0019】
クライアント装置1は、S15で、R(t)がLmax(t)より大きいか否かを判定する。R(t)が、Lmax(t)より大きいと、クライアント装置1は、S16でL(t)をLmax(t)とし、Lmax(t)が、R(t)以下であると、クライアント装置1は、S17でL(t)をR(t)とする。S15からS17の処理は、クライアント装置1が新たに要求したいオブジェクトの数R(t)が、時刻tにおいてインタレスト・パケットで指定できるオブジェクトの最大数Lmax(t)より大きいと、時刻tにおいてインタレスト・パケットを送信する場合に、当該インタレスト・パケットで指定するオブジェクト数L(t)をLmax(t)に限定し、そうでないと、時刻tにおいてインタレスト・パケットを送信する場合に、当該インタレスト・パケットで指定するオブジェクト数をR(t)のままとするための処理である。
【0020】
クライアント装置1は、S18で、W(t)からN(t)を減じた値が、L(t)以上であるか否かを判定する。ウィンドウ・サイズW(t)は、時刻tにおいて、受信待ちとできるオブジェクトの最大数であり、N(t)は、時刻tにおいて、受信待ちのオブジェクト数、つまり、既に要求しているオブジェクト数である。したがって、この差が、オブジェクト数L(t)以上ではないのに、L(t)個のオブジェクトを指定するインタレスト・パケットを送信すると、受信待ちオブジェクト数N(t)はウィンドウ・サイズを超えてしまう。つまり、この差が、オブジェクト数L(t)以上ではないと、時刻tにおいてインタレスト・パケットは送信できないことになる。したがって、この差が、オブジェクト数L(t)以上ではないと、クライアント装置1は、インタレスト・パケットを送信することなくS10からの処理を再開する。一方、この差がオブジェクト数L(t)以上であると、クライアント装置1は、S19で、時刻tにおいてL(t)個のオブジェクトを指定するインタレスト・パケットを送信し、N(t)を更新する。その後、クライアント装置1は、S18での判定が"No"となるまで、S15〜S19の処理を繰り返す。
【0021】
図4は、図3のフローチャートでの処理を説明するための具体例を示している。なお、以下の例において、クライアント装置1は、多数のオブジェクトを取得するため、Rは常にLmaxより大きく、よって、S15〜S16の処理においては常にL=Lmaxであるものとする。さらに、M=2であり、S14で、Lmaxは、W/Mの少数点以下を切り上げた値とし、S12ではウィンドウ・サイズを半分にした値が少数となる場合には切り上げて整数にするものとする。さらに、初期状態である時刻t=0において、W=1、N=1、L=1とする。
【0022】
時刻t=0から時刻t=1までの間に、クライアント装置1は、1つのオブジェクトを受信していたものとする。この場合、時刻t=1のS10は"Yes"となり、S11でW(1)=2となり、S13でN(1)=0となり、S14〜S17でL(1)=1となる。さらに、S18でW(1)−N(1)=2がL(1)=1以上であるため、クライアント装置1はS19で1つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(1)=1となる。その後の繰り返しのS18においても、W(1)−N(1)=1がL(1)=1以上であるため、クライアント装置1はS19で1つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(1)=2となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0023】
時刻t=1からt=2までの間に、クライアント装置1は、2つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(2)=3となり、S13でN(2)=0となり、S14〜S17でL(2)=2となる。さらに、S18でW(2)−N(2)=3がL(2)=2以上であるため、クライアント装置1はS19で2つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(2)=2となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0024】
時刻t=2からt=3までの間に、クライアント装置1は、2つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(3)=4となり、S13でN(3)=0となり、S14〜S17でL(3)=2となる。さらに、S18でW(3)−N(3)=4がL(3)=2以上であるため、クライアント装置1はS19で2つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(3)=2となる。その後の繰り返しのS18においても、W(3)−N(3)=2がL(3)=2以上であるため、クライアント装置1はS19で2つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(3)=4となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0025】
時刻t=3からt=4までの間に、クライアント装置1は、4つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(4)=5となり、S13でN(4)=0となり、S14〜S17でL(4)=3となる。さらに、S18でW(4)−N(4)=5がL(4)=3以上であるため、クライアント装置1はS19で3つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(4)=3となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0026】
時刻t=4からt=5までの間に、クライアント装置1は、3つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(5)=6となり、S13でN(5)=0となり、S14〜S17でL(4)=3となる。さらに、S18でW(5)−N(5)=6がL(5)=3以上であるため、クライアント装置1はS19で3つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(5)=3となる。その後の繰り返しのS18においても、W(5)−N(5)=3がL(3)=3以上であるため、クライアント装置1はS19で3つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(3)=6となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0027】
時刻t=5からt=6までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(6)=7となり、S13でN(6)=0となり、S14〜S17でL(6)=4となる。さらに、S18でW(6)−N(6)=7がL(5)=4以上であるため、クライアント装置1はS19で4つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(6)=4となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0028】
時刻t=6からt=7までの間に、クライアント装置1は、4つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(7)=8となり、S13でN(7)=0となり、S14〜S17でL(7)=4となる。さらに、S18でW(7)−N(7)=8がL(7)=4以上であるため、クライアント装置1はS19で4つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(7)=4となる。その後の繰り返しのS18においても、W(7)−N(7)=4がL(7)=4以上であるため、クライアント装置1はS19で4つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(7)=8となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0029】
時刻t=7からt=8までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(8)=9となり、S13でN(8)=2となり、S14〜S17でL(8)=5となる。さらに、S18でW(8)−N(8)=7がL(7)=5以上であるため、クライアント装置1はS19で5つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(8)=7となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0030】
時刻t=8からt=9までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(9)=10となり、S13でN(9)=1となり、S14〜S17でL(9)=5となる。さらに、S18でW(9)−N(9)=9がL(9)=5以上であるため、クライアント装置1はS19で5つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(9)=6となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0031】
時刻t=9からt=10までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(10)=11となり、S13でN(10)=0となり、S14〜S17でL(10)=6となる。さらに、S18でW(10)−N(10)=11がL(10)=6以上であるため、クライアント装置1はS19で6つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(10)=6となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0032】
時刻t=10からt=11までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(11)=12となり、S13でN(11)=0となり、S14〜S17でL(11)=6となる。さらに、S18でW(11)−N(11)=12がL(10)=6以上であるため、クライアント装置1はS19で6つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(11)=6となる。その後の繰り返しのS18においても、W(11)−N(11)=6がL(11)=6以上であるため、クライアント装置1はS19で6つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(11)=12となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0033】
時刻t=11からt=12までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(12)=13となり、S13でN(12)=6となり、S14〜S17でL(12)=7となる。さらに、S18でW(12)−N(12)=7がL(12)=7以上であるため、クライアント装置1はS19で7つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(12)=13となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0034】
時刻t=12からt=13までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(13)=14となり、S13でN(13)=7となり、S14〜S17でL(13)=7となる。さらに、S18でW(13)−N(13)=7がL(13)=7以上であるため、クライアント装置1はS19で7つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(13)=14となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0035】
時刻t=13からt=14までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(14)=15となり、S13でN(14)=8となり、S14〜S17でL(14)=8となる。この場合、S18でW(14)−N(14)=7がL(14)=8より小さいため、クライアント装置1は、インタレスト・パケットを送信することなく処理はS10に戻る。
【0036】
時刻t=14からt=15までの間に、クライアント装置1は、6つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(15)=16となり、S13でN(15)=2となり、S14〜S17でL(15)=8となる。さらに、S18でW(15)−N(15)=14がL(15)=8以上であるため、クライアント装置1はS19で8つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(15)=10となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0037】
時刻t=15からt=16までの間に、クライアント装置1は、オブジェクトを受信しなかったものとする。この場合、S10は"No"となり、S12でW(16)=8となり、S13でN(16)=10となり、S14〜S17でL(16)=4となる。この場合、S18は、"No"となるため処理はS10に戻る。
【0038】
時刻t=16からt=17までの間に、クライアント装置1は、2つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(17)=9となり、S13でN(17)=8となり、S14〜S17でL(17)=5となる。この場合、S18は、"No"となるため処理はS10に戻る。
【0039】
時刻t=17からt=18までの間に、クライアント装置1は、2つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(18)=10となり、S13でN(18)=6となり、S14〜S17でL(18)=5となる。この場合、S18は、"No"となるため処理はS10に戻る。
【0040】
時刻t=18からt=19までの間に、クライアント装置1は、2つのオブジェクトを受信していたものとする。この場合、S10は"Yes"となり、S11でW(19)=11となり、S13でN(19)=4となり、S14〜S17でL(18)=6となる。さらに、S18でW(19)−N(19)=7がL(15)=6以上であるため、クライアント装置1はS19で6つのオブジェクトを指定するインタレスト・パケットを送信し、よって、N(19)=10となる。その後の繰り返しのS18は、"No"となるため処理はS10に戻る。
【0041】
以上、時刻tにおいて、1つのインタレスト・パケットに含めるオブジェクトの数の最大値Lmaxを、時刻tにおいて、受信待ち状態とできるオブジェクトの最大数を示すウィンドウ・サイズW(t)と、所定の値Mから求めて決定する。Mは、例えば、同時に送信できるインタレスト・パケットの数に基づき求めた値とする。そして、時刻tにおいて、1つのインタレスト・パケットに含めるオブジェクトの数を、この最大値Lmaxから求め、時刻tにおいて受信待ち状態であるオブジェクトの数N(t)と、ウィンドウ・サイズW(t)を比較することでインタレスト・パケットの送信タイミングを決定する。この構成により、インタレスト・パケットの送信タイミングと、当該インタレスト・パケットで指定するオブジェクト数を適切な値とし、ネットワークの輻輳を抑えることができる。
【0042】
なお、上記実施形態において、値Mを所定値としていたが、値Mを変数とすることができる。例えば、時刻tにおけるウィンドウ・サイズW(t)を所定の定数Xで除することで時刻tにおける値M(t)を求める構成とすることができる。なお、定数Xは、時刻に拘らず、インタレスト・パケットで指定できるオブジェクトの最大限度数とすることができる。また、値Mの最小値Mminを決めて置き、ウィンドウ・サイズW(t)を所定の定数Xで除した値が、最小値Mminより小さくなる場合には、時刻tにおけるM(t)を、Mminとする構成であっても良い。
【0043】
さらに、図3のフローチャートは、所定の期間毎にS10からの処理を行うものであったが、1つのオブジェクトを受信するか、1つのオブジェクトに対する待ち時間が経過する度にS10からの処理を行うものであっても良い。
【0044】
また、本発明によるクライアント装置1は、コンピュータを上記クライアント装置1として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
図1
図2
図3
図4