(57)【要約】【課題】ＣＣＮのルータ装置において、異なる種類のトラフィック間でパケット転送の公平性を維持しつつ、少数のパケットの転送を要するトラフィックに生じる転送遅延を削減するための技術を提供する。【解決手段】ルータ装置は、インタフェースからのパケットの送信の優先度としてそれぞれ異なる優先度に対応する複数のキューを、インタフェースごとに備える。ルータ装置は、パケットを受信すると、当該パケットを送信するインタフェースを、ＣＳ、ＰＩＴ及びＦＩＢに基づく処理により決定する（Ｓ１）。ルータ装置は、送信対象のパケットに含まれるセグメントのセグメント名にセグメント番号が存在する場合（Ｓ２，Ｓ３）、当該セグメント番号に基づいてクラス値Ｃを決定する（Ｓ４）。更に、ルータ装置は、決定したクラス値Ｃを閾値と比較して、送信対象のパケットの格納先のキューを決定し（Ｓ６）、決定したキューにパケットを格納する（Ｓ７）。【選択図】図５
2018129726.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを１つ以上のセグメントに分割して転送するコンテンツ・セントリック・ネットワークにおけるルータ装置であって、
前記ルータ装置のインタフェースから送信されるパケットのバッファリングに用いられ、パケットの送信の優先度として、それぞれ異なる優先度に対応する複数のキューと、
前記複数のキューのうちで、前記インタフェースからの送信対象のパケットを格納するキューを決定する決定手段であって、前記送信対象のパケットを格納するキューを、当該パケットに含まれるセグメントが、順に転送される１つ以上のセグメントのうちで転送される順番が早いセグメントであるほど、高い優先度に対応するキューに決定する、前記決定手段と、
前記送信対象のパケットを、前記複数のキューのうちで、前記決定手段によって決定されたキューに格納する格納手段と、
を備えることを特徴とするルータ装置。
【請求項２】
前記決定手段は、前記送信対象のパケットに含まれるセグメントのセグメント名に基づいて、前記送信対象のパケットを格納するキューを決定する
ことを特徴とする請求項１に記載のルータ装置。
【請求項３】
前記決定手段は、前記セグメント名からセグメント番号を取得し、取得したセグメント番号に基づいて、前記送信対象のパケットを格納するキューを決定する
ことを特徴とする請求項２に記載のルータ装置。
【請求項４】
前記決定手段は、前記送信対象のパケットを格納するキューを、前記セグメント番号が低いほど、高い優先度に対応するキューに決定する
ことを特徴とする請求項３に記載のルータ装置。
【請求項５】
前記複数のキューは、前記セグメント番号についてのそれぞれ異なる範囲と対応付けられており、
前記決定手段は、前記セグメント番号が属するセグメント番号の範囲に基づいて、前記送信対象のパケットを格納するキューを決定する
ことを特徴とする請求項３又は４に記載のルータ装置。
【請求項６】
前記決定手段は、前記インタフェースから順に送信されるパケットのうち、共通するプレフィックスを有するセグメント名を含むパケットをカウントして得られるカウント値に基づいて、前記送信対象のパケットを格納するキューを決定する
ことを特徴とする請求項２に記載のルータ装置。
【請求項７】
前記決定手段は、前記送信対象のパケットを格納するキューを、前記カウント値が低いほど、高い優先度に対応するキューに決定する
ことを特徴とする請求項６に記載のルータ装置。
【請求項８】
前記決定手段は、
前記送信対象のパケットに含まれるセグメントのセグメント名に基づいて、パケットの送信の優先度に対応するクラス値を決定するクラス値決定手段と、
前記決定されたクラス値に基づいて、前記複数のキューのうちで、前記送信対象のパケットを格納するキューを決定するキュー決定手段と、を備える
ことを特徴とする請求項２から７のいずれか１項に記載のルータ装置。
【請求項９】
前記クラス値決定手段は、前記セグメント名からセグメント番号を取得し、前記クラス値を、前記セグメント番号が低いほど、高い優先度に対応する値に決定する
ことを特徴とする請求項８に記載のルータ装置。
【請求項１０】
前記クラス値決定手段は、前記セグメント名からセグメント番号を取得し、前記セグメント番号の逆数を、前記クラス値として決定する
ことを特徴とする請求項８又は９に記載のルータ装置。
【請求項１１】
前記クラス値決定手段は、前記セグメント名に前記セグメント番号が含まれていない場合、前記クラス値を、予め定められたデフォルト値に決定する
ことを特徴とする請求項９又は１０に記載のルータ装置。
【請求項１２】
前記クラス値決定手段は、前記セグメント名に前記セグメント番号が含まれていない場合、前記インタフェースから順に送信されるパケットのうち、共通するプレフィックスを有するセグメント名を含むパケットをカウントして得られるカウント値に基づいて、前記クラス値を決定する
ことを特徴とする請求項９又は１０に記載のルータ装置。
【請求項１３】
前記クラス値決定手段は、前記クラス値を、前記カウント値が低いほど、高い優先度に対応する値に決定する
ことを特徴とする請求項１２に記載のルータ装置。
【請求項１４】
前記キュー決定手段は、前記クラス値を、前記複数のキューにそれぞれ対応する複数の閾値と比較することで、前記送信対象のパケットを格納するキューを決定する
ことを特徴とする請求項８から１３のいずれか１項に記載のルータ装置。
【請求項１５】
コンテンツを１つ以上のセグメントに分割して転送するコンテンツ・セントリック・ネットワークにおけるルータ装置の制御方法であって、
前記ルータ装置は、前記ルータ装置のインタフェースから送信されるパケットのバッファリングに用いられ、パケットの送信の優先度として、それぞれ異なる優先度に対応する複数のキューを備え、前記制御方法は、
前記複数のキューのうちで、前記インタフェースからの送信対象のパケットを格納するキューを決定する決定工程であって、前記送信対象のパケットを格納するキューを、当該パケットに含まれるセグメントが、順に転送される１つ以上のセグメントのうちで転送される順番が早いセグメントであるほど、高い優先度に対応するキューに決定する、前記決定工程と、
前記送信対象のパケットを、前記複数のキューのうちで、前記決定工程で決定されたキューに格納する格納工程と、
を含むことを特徴とするルータ装置の制御方法。
【請求項１６】
請求項１５に記載のルータ装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツを１つ以上のセグメントに分割して転送する、コンテンツ・セントリック・ネットワーク（ＣＣＮ）におけるルータ装置及びその制御方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
コンテンツがネットワーク上のいずれのサーバに保存されているかをクライアント装置に意識させずに、コンテンツ名に基づいて、コンテンツの配信要求メッセージのルーティング及びクライアント装置へコンテンツの配信を行うネットワークが提案されている。特許文献１及び非特許文献１には、そのようなネットワークの１つとして、コンテンツ・セントリック・ネットワーク（ＣＣＮ：Content-Centric Network）が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２７７２３４号公報
【非特許文献】
【０００４】
【非特許文献１】V. Jacobson, et al.,“Networking named content”, in Proc. of ACM CoNEXT, 2009.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＣＮでは、スループットが重視される、多数のパケットの転送を要するロングフローのトラフィック（例えば動画コンテンツのダウンロード）や、低遅延が重視される、少数のパケットの転送を要するショートフローのトラフィック（例えば制御メッセージの転送）のような、様々な種類のトラフィックが混在しうる。このようなロングフローとショートフローとが混在すると、ルータ装置において、ロングフローによってショートフローが抑圧され、ショートフローに転送遅延が生じる場合がある。また、このような転送遅延を避けるためにショートフローを優先し過ぎると、異なる種類のトラフィック間でパケット転送の公平性に問題が生じる。
【０００６】
本発明は、上述の課題に鑑みてなされたものである。本発明は、ＣＣＮのルータ装置において、異なる種類のトラフィック間でパケット転送の公平性を維持しつつ、少数のパケットの転送を要するトラフィックに生じる転送遅延を削減するための技術を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様の係るルータ装置は、コンテンツを１つ以上のセグメントに分割して転送するコンテンツ・セントリック・ネットワークにおけるルータ装置であって、前記ルータ装置のインタフェースから送信されるパケットのバッファリングに用いられ、パケットの送信の優先度として、それぞれ異なる優先度に対応する複数のキューと、前記複数のキューのうちで、前記インタフェースからの送信対象のパケットを格納するキューを決定する決定手段であって、前記送信対象のパケットの優先度を、当該パケットに含まれるセグメントが、順に転送される１つ以上のセグメントのうちで転送される順番が早いセグメントであるほど、高い優先度に対応するキューに決定する、前記決定手段と、前記送信対象のパケットを、前記複数のキューのうちで、前記決定手段によって決定されたキューに格納する格納手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ＣＣＮのルータ装置において、異なる種類のトラフィック間でパケット転送の公平性を維持しつつ、低遅延が重視されるトラフィックに生じる転送遅延を削減することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係るコンテンツ配信ネットワークの構成例を示す図
【図２】一実施形態に係るルータ装置３の構成例を示すブロック図
【図３】一実施形態に係る転送処理部３０の構成例を示すブロック図
【図４】一実施形態に係る送信処理部３３の構成例を示すブロック図
【図５】一実施形態に係る転送処理部３０によって実行される転送制御の処理手順を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【００１１】
＜ＣＣＮ＞
図１は、本実施形態に係る、サーバ装置からクライアント装置へコンテンツを配信するためのネットワークの構成例を示す図である。本実施形態では、コンテンツ配信ネットワーク１０には、コンテンツを取得するクライアント装置１と、クライアント装置１からの要求に応じてコンテンツを配信するサーバ装置２とが接続されている。コンテンツ配信ネットワーク１０は、種々のパケット（後述するInterestパケット及びDataパケット）のルーティングを行う複数のルータ装置３で構成されている。
【００１２】
本実施形態では、コンテンツ配信ネットワーク１０は、コンテンツ・セントリック・ネットワーク（ＣＣＮ：Content-Centric Network）で構成される。ＣＣＮでは、コンテンツは、チャンクと呼ばれる１つ以上のセグメント（断片）に分割されて転送され、各セグメントには固有の名前が付けられる。例えば、コンテンツ名が“/example.com/sample”のコンテンツが１０個のセグメントに分割される場合、これら１０個のセグメントの名前（セグメント名）は、例えば、“/example.com/sample/1”〜“/example.com/sample/10”である。
【００１３】
クライアント装置１は、ＣＣＮを介してコンテンツを取得する場合、コンテンツの配信を要求する要求メッセージであるInterestパケットを送信し、当該パケットに対する応答として、対応する名前のコンテンツを含むDataパケット（Content Objectパケット）を受信する。取得対象のコンテンツが複数のセグメントに分割されている場合には、クライアント装置１は、分割されたセグメント単位で、各セグメントを含むDataパケットを取得することによって、コンテンツを取得する。
【００１４】
ルータ装置３は、複数のネットワークインタフェース（以下、インタフェース）を備え、インタフェース間でInterestパケット及びDataパケットの転送を行う。ＣＣＮでは、Dataパケットの転送を行った各ルータ装置３は、当該Dataパケットに含まれるセグメント（又はコンテンツ）を保存できる。ルータ装置３は、自装置が保持しているセグメントを要求するInterestパケットをクライアント装置１から受信すると、当該Interestパケットをサーバ装置２に向けて転送せず、自装置が保持するセグメントを、当該Interestパケットの送信元のクライアント装置１に向けて送信できる。
【００１５】
ここで、ＣＣＮのルータ装置３の動作の具体例について説明する。ルータ装置３は、Interestパケット及びDataパケットの転送のためのデータ構造として、ＣＳ（Content Store）、ＰＩＴ（Pending Interest Table）、ＦＩＢ（Forwarding Information Base）を管理する。ＣＳは、自装置が保持しているセグメント（又はコンテンツ）を示す情報である。ＰＩＴは、転送したInterestパケットが要求するセグメント（又はコンテンツ）の名前と、転送したInterestパケットを受信したインタフェース（即ち、Interestパケットに対応するDataパケットの転送先とすべきインタフェース）との関係を示す情報である。ＦＩＢは、セグメント（又はコンテンツ）の名前のプレフィックスと、Interestパケットの転送先とすべきインタフェースとの関係を示す情報である。
【００１６】
ＣＣＮで使用されるコンテンツの名前は階層構造を有している。このため、複数の名前を１つの名前に集約してＦＩＢに格納できる。例えば、セグメント名“/kddi.com/sample/1”又は“/kddi.com/sample/2”を含むInterestパケットの転送経路を示すエントリとして、これらのプレフィックスである“/kddi.com/sample/”に対応するエントリのみをＦＩＢに格納できる。このようにして、ＦＩＢのエントリ数を抑制することが可能である。
【００１７】
ルータ装置３は、Interestパケットを受信すると、まずＣＳを検索し、当該Interestパケットが要求するセグメント（又はコンテンツ）がＣＳに保存されているか否かを判定する。保存されている場合には、ルータ装置３は、ＣＳに保存されているセグメントを、当該Interestパケットの送信元のクライアント装置１に向けて送信する。一方、保存されていない場合には、次にＰＩＴを検索し、受信したInterestパケットと同じセグメントを要求するInterestパケットを既に転送し、当該セグメントの受信待ちの状態であるかを判定する。受信待ちの状態であると、ルータ装置３は、受信したInterestパケットを転送せず、当該Interestパケットを受信したインタフェースを、当該Interestパケットが要求するセグメントに関連付けるように、ＰＩＴを更新する。一方、受信待ちの状態でなければ、ルータ装置３は、ＦＩＢに基づいて、受信したInterestパケットの転送先とすべきインタフェースを判定し、判定したインタフェースから当該Interestパケットを転送（送信）するとともに、ＰＩＴを更新する。
【００１８】
また、ルータ装置３は、セグメント（又はコンテンツ）を含むDataパケットを受信すると、ＰＩＴに基づいて、当該Dataパケットの転送先とすべきインタフェースを判定する。ルータ装置３は、判定したインタフェースからDataパケットを送信することで当該Dataパケットを転送するとともに、当該Dataパケットに含まれるセグメントに関する情報をＰＩＴから削除する。更に、ルータ装置３は、転送したDataパケットに含まれるセグメント（又はコンテンツ）をＣＳに保存することで、ＣＳを更新する。このように、ＣＣＮでは、ルータ装置３がキャッシュ機能を具備することで、セグメント（又はコンテンツ）の要求に対してルータ装置３が応答することが可能となっている。
【００１９】
＜ルータ装置による転送制御の概要＞
ＣＣＮでは、様々な種類のトラフィックが混在して転送されることが想定される。例えば、動画コンテンツのダウンロードのように、スループットが重視されるトラフィック（以下、「スループット志向のトラフィック」と称する。）と、制御メッセージの転送のように、低遅延が重視されるトラフィック（以下、「低遅延志向のトラフィック」と称する。）とが混在する。一般に、スループット志向のトラフィックは、多数のパケット（セグメント）の転送を要し、比較的長いフロー（ロングフロー）を生じさせる一方、低遅延志向のトラフィックは、比較的短いフロー（ショートフロー）で完了する傾向がある。
【００２０】
このような２種類のトラフィックが混在している場合、ＣＣＮのルータ装置３は、スループット志向のトラフィックに対応する多数のパケットをキューに溜めこんでしまう状況が起こりうる。その結果、低遅延志向のトラフィックに、スループット志向のトラフィックの影響に起因した遅延が生じうる。具体的には、低遅延志向のトラフィックに対応するパケットがルータ装置３のキューに格納された後、当該キューから取り出されて転送されるまでの遅延時間（転送遅延）が増大する。また、スループット志向のトラフィックに対応する多数のパケットに起因してルータ装置３のキューに溢れが生じ、パケットロスが発生した場合、とりわけ低遅延志向のトラフィックに悪影響が生じる。
【００２１】
上述のような状況に対処するためには、例えば、ルータ装置３が、スループット志向のトラフィックよりも低遅延志向のトラフィックを優先して転送することが考えられる。しかし、低遅延志向のトラフィックを優先し過ぎた場合、異なる種類のトラフィック間でパケット転送の公平性に問題が生じる。
【００２２】
そこで、本実施形態では、ルータ装置３において、異なる種類のトラフィック間でパケット転送の公平性を維持しつつ、低遅延が重視される、少数のパケットの転送を要するトラフィックに生じる転送遅延を削減するように、パケットの転送制御を行う。具体的には、ルータ装置３は、トラフィックの種類によらず、インタフェースから順に送信される１つ以上のセグメントのうち、転送される順番が早いセグメントほど優先的にインタフェースから送信されるように、パケットの転送制御を行う。
【００２３】
このような転送制御を実現するために、ルータ装置３は、インタフェースからのパケットの送信の優先度として、それぞれ異なる優先度に対応する複数のキューを、インタフェースごとに備える。これら複数のキューは、インタフェースから送信されるパケットのバッファリングに用いられる。ルータ装置３は、コンテンツ（又は制御メッセージ）を分割して得られ、順に転送される１つ以上のセグメントのうちの１つを含むパケットを、ネットワークを介して受信すると、ＣＳ、ＰＩＴ及びＦＩＢに基づく上述の処理により、当該パケットを送信する送信インタフェース（送信ＩＦ）を決定する。
【００２４】
ルータ装置３は、送信ＩＦを決定した後、複数のキューのうちで、当該送信ＩＦからの送信対象のパケットを格納するキューを決定する。その際、ルータ装置３は、送信対象のパケットを格納するキューを、当該パケットに含まれるセグメントが、順に転送される１つ以上のセグメントのうちで転送される順番が早いセグメントであるほど、高い優先度に対応するキューに決定する。更に、ルータ装置３は、送信対象のパケットを、複数のキューのうちで、決定したキューに格納する。
【００２５】
複数のキューに格納されている複数のパケットは、複数のキューに対応する優先度に基づいて、スケジューラによってキューから取り出され、送信ＩＦから（送信先に向けて）送信される。
【００２６】
＜ルータ装置の構成＞
次に、図２、図３及び図４を参照して、上述の転送制御を実現するための、ルータ装置３の具体的な構成例について説明する。
【００２７】
図２は、ルータ装置３の構成例を示すブロック図である。ルータ装置３は、転送処理部３０及びインタフェース部３１を備える。インタフェース部３１は、それぞれネットワークに接続された複数のインタフェースを備える。本実施形態では、一例として、インタフェース部３１は３つのインタフェース（ＩＦ１〜ＩＦ３）を備える。
【００２８】
転送処理部３０は、複数のインタフェース（ＩＦ１〜ＩＦ３）間で、パケット（Interestパケット及びDataパケット）の転送処理を行う。例えば、転送処理部３０は、ＩＦ１によってパケットが受信されると、ＩＦ２及びＩＦ３のうちで当該パケットを送信するインタフェースを決定し、決定したインタフェースに対応する複数のキュー（図３のＱ１〜Ｑ３）のいずれかに格納する。更に、転送処理部３０は、複数のキューに格納されたパケットを、所定のスケジューリングアルゴリズムに従って取り出して、対応するインタフェースから送信することで、パケットの転送を行う。
【００２９】
図３は、転送処理部３０の構成例を示すブロック図である。転送処理部３０は、送信ＩＦ決定部３２と、インタフェース部３１に含まれる複数のインタフェース（ＩＦ１〜ＩＦ３）に対してそれぞれ設けられた、複数の送信処理部３３ａ，３３ｂ，３３ｃとを備える。送信処理部３３ａはＩＦ１、送信処理部３３ｂはＩＦ２、送信処理部３３ｃはＩＦ３に対してそれぞれ設けられている。後述する図４に示すように、送信処理部３３ａ，３３ｂ，３３ｃは、それぞれ、送信対象のパケットのバッファリングに用いられる複数のキューを有している。
【００３０】
インタフェース部３１に含まれる複数のインタフェースのいずれかのインタフェースによってパケットが受信されると、送信ＩＦ決定部３２は、ＣＳ、ＰＩＴ及びＦＩＢに基づく上述の処理により、当該パケットを送信するインタフェース（送信ＩＦ）を決定する。送信ＩＦ決定部３２は、送信処理部３３ａ，３３ｂ，３３ｃのうちで、決定した送信ＩＦ（ＩＦ１〜ＩＦ３のいずれか）に対応する送信処理部へ、送信対象のパケットを出力する。送信処理部３３ａ，３３ｂ，３３ｃは、以下で説明するように、送信ＩＦ決定部３２から出力されたパケットの送信処理を行う。
【００３１】
図４は、送信処理部３３の構成例を示すブロック図である。なお、以下では、送信処理部３３と表記した場合、送信処理部３３ａ，３３ｂ，３３ｃのそれぞれを示すものとする。本実施形態では、送信処理部３３ａ，３３ｂ，３３ｃは同様の構成を有し、同様の処理を行う。図４に示すように、送信処理部３３は、クラス値決定部４１、キュー決定部４２、キュー格納部４３、複数のキュー４４、及びスケジューラ４５を備える。なお、クラス値決定部４１及びキュー決定部４２は、格納制御部４０を構成する。
【００３２】
複数のキュー４４は、対応するインタフェースからのパケットの送信の優先度制御に利用される、それぞれ異なった優先度に対応する複数のキューである。複数のキュー４４は、送信対象のパケットを、対応するインタフェースから出力（送信）するまでバッファリングするために用いられる。本実施形態では、複数のキュー４４として、Ｑ１〜Ｑ３の３つのキューが設けられる例を示しており、Ｑ３、Ｑ２及びＱ１の順に優先度が高くなるように、各キューの優先度が予め設定されている。即ち、Ｑ１に格納されたパケットが、最も優先してインタフェースから送信される。なお、送信処理部３３ａ，３３ｂ，３３ｃにそれぞれ設けられるキューの数は異なっていてもよい。
【００３３】
送信処理部３３では、送信ＩＦ決定部３２からのパケット（Interest又はDataパケット）は、クラス値決定部４１（格納制御部４０）及びキュー格納部４３へ入力される。なお、このパケットは、コンテンツ（又は制御メッセージ）を分割して得られる、１つ以上のセグメントのうちの１つのセグメントを含んでいる。なお、この１つ以上のセグメントは、セグメント番号が付与されている場合には、セグメント番号の順で転送される。
【００３４】
クラス値決定部４１は、入力されたパケットからセグメント番号を取得し、取得したセグメント番号に基づいてクラス値Ｃを決定（演算）する。クラス値決定部４１は、パケットのクラス値Ｃを、当該パケットに含まれるセグメントが、１つ以上のセグメントのうちで転送される順番が早いセグメント（転送の初期のセグメント）であるほど、高い優先度に対応するクラス値に決定する。
【００３５】
クラス値決定部４１は、例えば、セグメント番号の逆数をクラス値Ｃとして決定することで、上述のようなクラス値の決定を実現できる。この場合、クラス値Ｃは、セグメント番号が低いほど、高い優先度に対応する値に決定される。
【００３６】
あるいは、Ｑ１〜Ｑ３が、セグメント番号についてのそれぞれ異なる範囲と予め対応付けられている場合には、クラス値決定部４１は、送信対象のパケットから取得したセグメント番号が属するセグメント番号の範囲に基づいて、クラス値を決定（又は、パケットを格納するキューを決定）してもよい。例えば、セグメント番号が１〜１０の範囲である場合には、クラス値Ｃを、最も高い優先度に対応する（Ｑ１に対応する）値に決定する。セグメント番号が１１〜２０の範囲である場合には、クラス値Ｃを、次に高い優先度に対応する（Ｑ２に対応する）値に決定する。また、セグメント番号が２１以上の範囲である場合には、クラス値Ｃを、最も低い優先度に対応する（Ｑ３に対応する）値に決定する。
【００３７】
キュー決定部４２は、クラス値決定部４１により決定されたクラス値Ｃに基づいて、対応するパケットを格納するキューを決定する。具体的には、キュー決定部４２は、クラス値Ｃを、Ｑ１〜Ｑ３にそれぞれ対応する所定の閾値Ｃｔｈ１〜Ｃｔｈ３と比較することで、Ｑ１〜Ｑ３のいずれかを、パケットの格納先として決定する。この場合、Ｃ＞Ｃｔｈ１である場合にはＱ１、Ｃｔｈ１＞Ｃ＞Ｃｔｈ２である場合にはＱ２、Ｃｔｈ２＞Ｃ＞Ｃｔｈ３である場合にはＱ３を、パケットの格納先として決定できる。
【００３８】
ここで、一例として、セグメント名“/a/1”のセグメントを含むパケット（パケット１）、及びセグメント名“/b/10”のセグメントを含むパケット（パケット２）の、２つのパケットが受信された場合について説明する。なお、Ｃｔｈ１＝１／２、Ｃｔｈ２＝１／５、Ｃｔｈ３＝０とし、クラス値Ｃは、パケットから取得されるセグメント番号の逆数として決定されるものとする。この場合、クラス値決定部４１は、パケット１については、セグメント番号は１であるため、クラス値をＣ＝１、パケット２については、セグメント番号は１０であるため、クラス値をＣ＝１／１０と決定する。また、キュー決定部４２は、パケット１については、Ｃ＞Ｃｔｈ１であるため、Ｑ１を格納先として決定し、パケット２については、Ｃｔｈ２＞Ｃ＞Ｃｔｈ３であるため、Ｑ３を格納先として決定する。
【００３９】
なお、受信したパケット（に含まれるセグメントのセグメント名）にセグメント名が存在しない場合には、クラス値決定部４１は、以下のようにクラス値Ｃを決定できる。例えば、クラス値決定部４１は、受信したパケットのクラス値Ｃを、予め定められたデフォルト値に決定する。この場合、パケットが優先して転送されるようにするために意図的にセグメント番号を付与せずにパケットを送信する不正を防止するために、デフォルト値は比較的大きな値に予め定められてもよい。
【００４０】
あるいは、クラス値決定部４１は、“/a/b/d”及び“/a/b/e”のように共通する（同一の）プレフィックスを有するセグメント名のセグメントを含むパケットの数をカウントし、得られるカウント値をセグメント番号の代わりに使用してもよい。この場合、カウント値が低いほど、クラス値Ｃは、高い優先度に対応する値に決定される。
【００４１】
キュー格納部４３は、受信したパケットを、Ｑ１〜Ｑ３のうち、キュー決定部４２によって決定されたキューに格納する。上述の例では、キュー格納部４３は、パケット１をＱ１に、パケット２をＱ３に格納する。
【００４２】
このように、格納制御部４０（クラス値決定部４１及びキュー決定部４２）は、送信対象のパケットを格納するキューを、当該パケットに含まれるセグメントが、順に転送される１つ以上のセグメントのうちで転送される順番が早いセグメントであるほど、高い優先度に対応するキューに決定する。また、キュー格納部４３は、複数のキュー４４（Ｑ１〜Ｑ３）のうち、格納制御部４０によって決定されたキューに、送信対象のパケットを格納する。
【００４３】
格納制御部４０は、パケットの格納先のキューを、当該パケットに含まれるセグメントのセグメント名に基づいて決定できる。例えば、格納制御部４０は、セグメント名からセグメント番号を取得し、取得したセグメント番号に基づいて、格納先のキューを決定する。その場合、格納制御部４０は、格納先のキューを、セグメント番号が低いほど、高い優先度に対応するキューに決定してもよい。あるいは、格納制御部４０は、対応する送信ＩＦから順に送信されるパケットのうち、共通するプレフィックスを有するセグメント名を含むパケットをカウントして得られるカウント値に基づいて、格納先のキューを決定する。その場合、格納制御部４０は、カウント値が低いほど、高い優先度に対応するキューに決定してもよい。これにより、それぞれ異なる優先度に対応する複数のキュー４４（Ｑ１〜Ｑ３）を利用して、送信ＩＦから転送される順番が早いセグメントほど優先的に送信ＩＦから送信が行われるように、各セグメントを含むパケットの転送制御を行うことが可能になる。
【００４４】
スケジューラ４５は、Ｑ１〜Ｑ３に格納されたパケットを、各キューに対応する優先度に基づいて取り出して、対応するインタフェース（送信ＩＦ）から送信する。なお、スケジューラ４５によるパケットのスケジューリングには任意のアルゴリズムを採用できる。
【００４５】
＜転送制御の手順＞
次に、図５を参照して、ルータ装置３（転送処理部３０）によって実行される転送制御の具体的な処理手順について説明する。なお、図５に示す各ステップの処理は、ハードウェア若しくはソフトウェア、又はそれらの組み合わせによって、ルータ装置３において実現されてもよい。ソフトウェアによって実現される場合、ルータ装置３が備える１つ以上のＣＰＵ等のプロセッサ（図示せず）が、ＲＯＭ等の記憶装置（図示せず）に格納された制御プログラムを読み出して実行することによって各ステップの処理が実現されてもよい。
【００４６】
転送処理部３０（送信ＩＦ決定部３２）は、インタフェース部３１に含まれる複数のインタフェースのいずれかのインタフェースによってパケット（Interestパケット又はDataパケット）が受信されると、Ｓ１で、当該パケットを送信するインタフェース（送信ＩＦ）を決定する。送信ＩＦの決定は、ＣＳ、ＰＩＴ及びＦＩＢに基づく上述の処理により行われる。
【００４７】
次に、転送処理部３０（送信処理部３３）は、Ｓ２で、送信ＩＦからの送信対象のパケットに含まれるセグメントのセグメント名を取得し、Ｓ３で、当該セグメント名にセグメント番号が存在するか否かを判定する。転送処理部３０は、セグメント名にセグメント番号が存在する場合には、処理をＳ４へ進める。Ｓ４で、転送処理部３０は、セグメント番号に基づいて（例えば、セグメント番号の逆数を求めることによって）クラス値Ｃを決定し、処理をＳ６へ進める。
【００４８】
一方、セグメント名にセグメント番号が存在しない場合には、処理をＳ５へ進める。Ｓ５で、転送処理部３０は、クラス値Ｃをデフォルト値に決定し、処理をＳ６へ進める。なお、Ｓ５では、上述のように、送信ＩＦから送信されるパケットのうち、共通する（同一の）プレフィックスを有するセグメント名のセグメントを含むパケットの数をカウントし、得られるカウント値に基づいて、クラス値Ｃを決定してもよい。その場合、クラス値Ｃは、カウント値が低いほど、高い優先度に対応する値に決定されうる。
【００４９】
Ｓ６で、転送処理部３０は、決定したクラス値Ｃを閾値Ｃｔｈ１〜Ｃｔｈ３と比較することで、受信したパケットの格納先のキューをＱ１〜Ｑ３から決定する。その後、Ｓ７で、転送処理部３０は、決定したキューにパケットを格納し、処理を終了する。
【００５０】
以上説明したように、本実施形態によれば、ルータ装置３において、インタフェースからの送信対象のパケットに含まれるセグメントが、分割された１つ以上のセグメントのうちで転送される順番が早いセグメント（転送の初期のセグメント）であるほど、より優先的にパケットの転送が行われる。これにより、少数のセグメントの転送を要するトラフィックにルータ装置において生じる転送遅延を削減することが可能になる。また、多数のセグメントの転送を要するトラフィックに対して、少数のセグメントの転送を要するトラフィックを過度に優先することもないため、異なる種類のトラフィック間でパケット転送の公平性を維持することが可能である。このように、本実施形態によれば、異なる種類のトラフィック間でパケット転送の公平性を維持しつつ、低遅延が重視される、少数のパケットの転送を要するトラフィックに生じる転送遅延を削減することが可能になる。
【００５１】
なお、本実施形態に係るルータ装置３は、コンピュータをルータ装置３として機能させるためのコンピュータプログラムにより実現することができる。当該コンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【符号の説明】
【００５２】
１：クライアント装置、２：サーバ装置、３：サーバ装置、３０：転送処理部、３１：インタフェース部、３２：送信ＩＦ決定部、３３（３３ａ，３３ｂ，３３ｃ）：送信処理部、４０：格納制御部、４１：クラス値決定部、４２：キュー決定部、４３：キュー格納部、４４：キュー（Ｑ１〜Ｑ３）、４５：スケジューラ
【図１】
2018129726.tif 000003
【図２】
2018129726.tif 000004
【図３】
2018129726.tif 000005
【図４】
2018129726.tif 000006
【図５】
2018129726.tif 000007