IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電気株式会社の特許一覧

特許7485213パケット制御システム、パケット制御方法及びパケット制御装置
<>
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図1
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図2
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図3
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図4
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図5
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図6
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図7
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図8
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図9
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図10
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図11
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図12
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図13
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図14
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図15
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図16
  • 特許-パケット制御システム、パケット制御方法及びパケット制御装置 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】パケット制御システム、パケット制御方法及びパケット制御装置
(51)【国際特許分類】
   H04L 47/56 20220101AFI20240509BHJP
   H04L 47/6295 20220101ALI20240509BHJP
【FI】
H04L47/56
H04L47/6295
【請求項の数】 20
(21)【出願番号】P 2023517732
(86)(22)【出願日】2022-06-30
(86)【国際出願番号】 JP2022026312
【審査請求日】2023-03-16
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、国立研究開発法人情報通信研究機構「革新的情報通信技術研究開発委託研究/Beyond 5G研究開発促進事業/Beyond 5Gで実現する同期型CPSコンピューティング基盤の研究開発」産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】沢辺 亜南
(72)【発明者】
【氏名】篠原 悠介
【審査官】宮島 郁美
(56)【参考文献】
【文献】国際公開第2020/162106(WO,A1)
【文献】特開2011-024027(JP,A)
【文献】国際公開第2020/026983(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
要求される遅延ジッターが関連付けられたパケットを取得する取得手段と、
レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー手段と、
前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー手段と、
を備えるパケット制御システム。
【請求項2】
前記エンキュー手段は、前記パケットに関連付けられた遅延ジッターに対応する第1のレベルとは異なる第2のレベルのキューからデキューされたパケットを、前記第1のレベルのキューに再エンキューする、
請求項1に記載のパケット制御システム。
【請求項3】
前記デキュー手段は、各キューにエンキューされたパケットを、1回以上の段階に分割してデキューする、
請求項1又は2に記載のパケット制御システム。
【請求項4】
前記パケットに関連付けられた遅延ジッターを用いて、前記第1のレベルを算出する算出手段、を更に備える、
請求項2に記載のパケット制御システム。
【請求項5】
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、
前記取得手段は、要求される送出タイミング及び前記遅延ジッターが関連付けられたパケットを取得し、
前記エンキュー手段は、
前記取得手段が取得したパケットを、当該パケットに関連付けられた送出タイミングに対応するキューにエンキューし、
前記第1のレベルよりも上位の第2のレベルのキューからデキューされたパケットを、当該第2のレベルの1つ下位のレベルのキューにエンキューする、
請求項2に記載のパケット制御システム。
【請求項6】
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、
前記取得手段は、前記遅延ジッターが関連付けられたパケット、及び、前記遅延ジッターが関連付けられていないパケットを取得し、
前記算出手段は、前記遅延ジッターが関連付けられていないパケットの前記第1のレベルとして、複数のレベルのうちの最上位のレベルを算出する、
請求項4に記載のパケット制御システム。
【請求項7】
前記取得手段は、要求されるスループットが関連付けられたパケットを取得し、
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、
前記算出手段は、前記スループットが関連付けられたパケットの前記第1のレベルとして、当該スループットの算出粒度に対応するレベルよりも1つ下位のレベルを算出する、
請求項4に記載のパケット制御システム。
【請求項8】
要求される遅延ジッターが関連付けられたパケットを取得することと、
レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューすることと、
前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出することと、
を含むパケット制御方法。
【請求項9】
前記エンキューする工程において、前記パケットに関連付けられた遅延ジッターに対応する第1のレベルとは異なる第2のレベルのキューからデキューされたパケットを、前記第1のレベルのキューに再エンキューする、
請求項8に記載のパケット制御方法。
【請求項10】
前記デキューする工程において、各キューにエンキューされたパケットを、1回以上の段階に分割してデキューする、
請求項8又は9に記載のパケット制御方法。
【請求項11】
前記パケットに関連付けられた遅延ジッターを用いて、前記第1のレベルを算出すること、を更に含む、
請求項9に記載のパケット制御方法。
【請求項12】
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、
前記取得する工程において、要求される送出タイミング及び前記遅延ジッターが関連付けられたパケットを取得し、
前記エンキューする工程において、前記取得する工程において取得したパケットを、当該パケットに関連付けられた送出タイミングに対応するキューにエンキューし、
前記第1のレベルよりも高い第2のレベルのキューからデキューされたパケットを、当該第2のレベルの1つ下位のレベルのキューにエンキューする、
請求項9に記載のパケット制御方法。
【請求項13】
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、
前記取得する工程において、前記遅延ジッターが関連付けられたパケット、及び、前記遅延ジッターが関連付けられていないパケットを取得し、
前記算出する工程において、前記遅延ジッターが関連付けられていないパケットの前記第1のレベルとして、複数のレベルのうちの最上位のレベルを算出する、
請求項11に記載のパケット制御方法。
【請求項14】
前記取得する工程において、要求されるスループットが関連付けられたパケットを取得し、
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、
前記算出する工程において、前記スループットが関連付けられたパケットの前記第1のレベルとして、当該スループットの算出粒度に対応するレベルよりも1つ下位のレベルを算出する、
請求項11に記載のパケット制御方法。
【請求項15】
要求される遅延ジッターが関連付けられたパケットを取得する取得手段と、
レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー手段と、
前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー手段と、
を備えるパケット制御装置。
【請求項16】
前記エンキュー手段は、前記パケットに関連付けられた遅延ジッターに対応する第1のレベルとは異なる第2のレベルのキューからデキューされたパケットを、前記第1のレベルのキューに再エンキューする、
請求項15に記載のパケット制御装置。
【請求項17】
前記デキュー手段は、各キューにエンキューされたパケットを、1回以上の段階に分割してデキューする、
請求項15又は16に記載のパケット制御装置。
【請求項18】
前記パケットに関連付けられた遅延ジッターを用いて、前記第1のレベルを算出する算出手段、を更に備える、
請求項16に記載のパケット制御装置。
【請求項19】
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、
前記取得手段は、要求される送出タイミング及び前記遅延ジッターが関連付けられたパケットを取得し、
前記エンキュー手段は、
前記取得手段が取得したパケットを、当該パケットに関連付けられた送出タイミングに対応するキューにエンキューし、
前記第1のレベルよりも高い第2のレベルのキューからデキューされたパケットを、当該第2のレベルの1つ下位のレベルのキューにエンキューする、
請求項16に記載のパケット制御装置。
【請求項20】
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、
前記取得手段は、前記遅延ジッターが関連付けられたパケット、及び、前記遅延ジッターが関連付けられていないパケットを取得し、
前記算出手段は、前記遅延ジッターが関連付けられていないパケットの前記第1のレベルとして、複数のレベルのうちの最上位のレベルを算出する、
請求項18に記載のパケット制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットを制御する技術に関する。
【背景技術】
【0002】
パケットの送信制御を複数のキューを用いて行う技術が提案されている。例えば特許文献1には、通信パケットの受け渡しに関する受渡情報から所定の関数によって求められた値に応じて、複数のキューのいずれかにパケットを振り分けて格納し、キューごとの帯域を制御して出力する中継装置が記載されている。また、特許文献2には、パケットの種別に応じてパケットをキューへ振り分け、キューに設定されたQoS(Quality of Service)値に応じて送信予定時刻を決定してパケットを出力することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2013-34164号公報
【文献】特開2011-24027号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、通信品質要件として、遅延ジッターを適切に制御することが求められる場合がある。特許文献1及び2に記載の技術では、遅延ジッターを制御することができないという問題がある。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、遅延ジッターを制御可能なパケット制御技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一側面に係るパケット制御システムは、要求される遅延ジッターが関連付けられたパケットを取得する取得手段と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー手段と、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー手段と、を備える。
【0007】
本発明の一側面に係るパケット制御方法は、要求される遅延ジッターが関連付けられたパケットを取得することと、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューすることと、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出することと、を含む。
【0008】
本発明の一側面に係るパケット制御装置は、要求される遅延ジッターが関連付けられたパケットを取得する取得手段と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー手段と、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー手段と、を備える。
【発明の効果】
【0009】
本発明の一態様によれば、パケットの送信制御において遅延ジッターを制御することができる。
【図面の簡単な説明】
【0010】
図1】例示的実施形態1に係るパケット制御システムの構成を示すブロック図である。
図2】例示的実施形態1に係るパケット制御方法の流れを示すフロー図である。
図3】例示的実施形態1に係るパケット制御装置の構成を示すブロック図である。
図4】例示的実施形態2に係る情報処理装置の構成を示すブロック図である。
図5】例示的実施形態2に係る情報処理装置のパケット送信制御に関する構成の一例を概略的に示す図である。
図6】例示的実施形態2に係る複数のキューの具体例を示す図である。
図7】例示的実施形態2に係るエンキュー処理の流れを示すフローチャートである。
図8】例示的実施形態2に係るエンキュー処理の具体例を示す図である。
図9】例示的実施形態2に係るデキュー処理の流れを示すフローチャートである。
図10】例示的実施形態2に係るパケットアウト処理の具体例を示す図である。
図11】例示的実施形態2に係る再エンキュー処理の具体例を示す図である。
図12】例示的実施形態2に係る再エンキュー処理の具体例を示す図である。
図13】例示的実施形態2に係るパケットアウト処理の具体例を示す図である。
図14】例示的実施形態2に係るパケットアウト処理の具体例を示す図である。
図15】例示的実施形態2に係る遅延時間と遅延ジッターとの測定結果の一例を示す図である。
図16】要求レベルの算出処理の一例を説明するための図である。
図17】本発明の各例示的実施形態に係る各装置の各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0011】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0012】
<パケット制御システムの構成>
本例示的実施形態に係るパケット制御システム1の構成について、図1を参照して説明する。図1は、パケット制御システム1の構成を示すブロック図である。パケット制御システム1は、取得部11、エンキュー部12及びデキュー部13を備える。取得部11、エンキュー部12及びデキュー部13は、本明細書に係る取得手段、エンキュー手段及びデキュー手段の一例である。
【0013】
取得部11は、要求される遅延ジッターが関連付けられたパケットを取得する。取得部11が取得するパケットは送信制御の対象である。取得部11は、要求される遅延ジッターが関連付けられたパケットに加えて、要求される遅延ジッターが関連付けられていないパケットを取得してもよい。また、取得部11が取得するパケットは、遅延ジッターだけでなく、要求される遅延時間、又は、要求されるスループットが関連付けられていてもよい。要求される遅延ジッターが関連付けられたパケットは、例えば、パケットの順序が重要となる用途において使用されるパケットが挙げられる。上記のパケットとしては、例えば、これに限定するものではないが、ロボット制御等の電子機器等の動作を指示するパケット、リアルタイムIoTセンシング等の等間隔通信のパケット、が挙げられる。遅延ジッターが一定であれば、例えば遅延ジッターに応じた制御パラメータを設定することにより、ロボット等の電子機器をなめらかに制御できる等の好適な制御が可能になる。
【0014】
要求される遅延ジッター、遅延時間、スループット等をパケットに関連付ける手法としては、一例として、要件を記載したタグ(情報ビット、等)をパケットのヘッダもしくはトレイラとして付与してもよい。又は、一例として、パケットのヘッダのオプションフィールドに要件を記載することで、要求する遅延ジッターを各パケットに関連付けてもよい。パケットに関連付けられる要件(遅延ジッター、遅延時間、スループット、等)は、一例として、パケットのアプリケーションの種別により異なる。換言すると、パケットに関連付けられる要件は、アプリケーションの種別に対応している。
【0015】
エンキュー部12は、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューする。複数のキューは、パケット制御システム1がパケットの送信制御のために用いるキューである。複数のキューは、一例として、デキュータイミングとしてそれぞれ異なるタイミングが規定されている。遅延ジッターに応じたレベルとは、一例として、遅延ジッターを用いて特定される第1のレベルである。エンキュー部12は、一例として、上記パケットに関連付けられた遅延ジッターに対応する第1のレベルとは異なる第2のレベルのキューからデキューされたパケットを、上記第1のレベルのキューに再エンキューする。
【0016】
複数のレベルは、対応する遅延ジッターがそれぞれ異なっている。換言すると、レベルとは、遅延ジッターの値の範囲に応じて割り当てる分類である。より具体的には、一例として、上位のレベルほど遅延粒度が大きく、下位のレベルほど遅延粒度が小さい。ただし、複数のレベルは上述した例に限られず、他の基準を満たすものであってもよい。
【0017】
デキュー部13は、パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出する。すなわち、デキュー部13は、各キューから上記パケットをデキューするタイミングの遅延ジッターが、当該キューのレベルに応じた遅延ジッターになるように制御する。本明細書において、「デキュー」とは、キューからパケットを取り出すことをいう。また、「パケットの送出」は、デキューされたパケットを通信リンクに送出することをいう。
【0018】
以上のように、本例示的実施形態に係るパケット制御システム1は、要求される遅延ジッターが関連付けられたパケットを取得する取得部11と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー部12と、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー部13とを備える構成が採用されている。このため、本例示的実施形態に係るパケット制御システム1によれば、パケットの送信制御において遅延ジッターを制御できるという効果が得られる。
【0019】
<パケット制御方法の流れ>
本例示的実施形態に係るパケット制御方法S1の流れについて、図2を参照して説明する。図2は、パケット制御方法S1の流れを示すフロー図である。なお、パケット制御方法S1における各ステップの実行主体は、パケット制御システム1が備えるプロセッサであってもよいし、他の装置が備えるプロセッサであってもよく、各ステップの実行主体がそれぞれ異なる装置に設けられたプロセッサであってもよい。
【0020】
ステップS11では、少なくとも1つのプロセッサが、要求される遅延ジッターが関連付けられたパケットを取得する。ステップS12では、少なくとも1つのプロセッサが、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューする。ステップS13では、少なくとも1つのプロセッサが、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出する。
【0021】
以上のように、本例示的実施形態に係るパケット制御方法S1は、要求される遅延ジッターが関連付けられたパケットを取得することと、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューすることと、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出することと、を含む構成が採用されている。このため、本例示的実施形態に係るパケット制御方法S1によれば、パケットの送信制御において遅延ジッターを制御できるという効果が得られる。
【0022】
<パケット制御装置の構成>
本例示的実施形態に係るパケット制御装置10の構成について、図3を参照して説明する。図3は、パケット制御装置10の構成を示すブロック図である。パケット制御装置10は、取得部11、エンキュー部12、及びデキュー部13を備える。取得部11、エンキュー部12及びデキュー部13は、上述のパケット制御システム1が備える取得部11、エンキュー部12及びデキュー部13と同じ機能を有する。
【0023】
以上のように、本例示的実施形態に係るパケット制御装置10は、要求される遅延ジッターが関連付けられたパケットを取得する取得部11と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー部12と、上記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー部13とを備える構成が採用されている。このため、本例示的実施形態に係るパケット制御装置10によれば、パケットの送信制御において遅延ジッターを制御できるという効果が得られる。
【0024】
〔例示的実施形態2〕
本発明の第2の例示的実施形態について、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を繰り返さない。
【0025】
<情報処理装置の構成>
図4は、情報処理装置1Aの構成を示すブロック図である。情報処理装置1Aは、パケットの送信を制御する装置であり、例えば中継装置である。情報処理装置1Aは、本明細書に係るパケット制御装置の一例である。情報処理装置1Aは、アプリケーションの要求に応じて通信リンクの資源割当を行うソフトスライシングによりネットワークスライシングを行う。すなわち、情報処理装置1Aは、複数のキューを用いたキューイングによるパケット送信制御を行う。情報処理装置1Aは、図4に示すように、制御部10A、記憶部20A、通信部30A及び入出力部40Aを備える。
【0026】
情報処理装置1Aの各機能部のうちの一部が、情報処理装置1Aとは別の装置に実装されてもよい。例えば、算出部15が情報処理装置1Aと異なる他の装置に実装され、情報処理装置1Aが上記他の装置から算出部15の算出結果を受け取り、キュー制御部16が動作してもよい。また、上記他の装置はクラウドに配置されてもよい。
【0027】
(通信部30A)
通信部30Aは、情報処理装置1Aの外部の装置と通信回線を介して通信する。通信回線の具体的構成は本例示的実施形態を限定するものではないが、通信回線は一例として、無線LAN(Local Area Network)、有線LAN、WAN(Wide Area Network)、公衆回線網、モバイルデータ通信網、Wi-Fi(登録商標)、LTE(Long Term Evolution)、5G、ローカル5G、4G、3G、又は、これらの組み合わせである。通信部30Aは、制御部10Aから供給されたデータを他の装置に送信したり、他の装置から受信したデータを制御部10Aに供給したりする。
【0028】
(入出力部40A)
入出力部40Aには、キーボード、マウス、ディスプレイ、プリンタ、タッチパネル等の入出力機器が接続される。入出力部40Aは、接続された入力機器から情報処理装置1Aに対する各種の情報の入力を受け付ける。また、入出力部40Aは、制御部10Aの制御の下、接続された出力機器に各種の情報を出力する。入出力部40Aとしては、例えばUSB(Universal Serial Bus)などのインタフェースが挙げられる。
【0029】
(制御部10A)
制御部10Aは、図4に示すように、取得部11、クラス分け部14、算出部15及びキュー制御部16を備える。
【0030】
(取得部11)
取得部11は、送信制御の対象であるパケットを取得する。送信制御の対象であるパケットには、一例として、パケットの到着時刻、要求される遅延時間、要求されるスループット、及び、要求される遅延ジッターの少なくとも1つが関連付けられている。要求される遅延時間とパケットの到着時刻とから、要求される送出タイミングが特定されるから、パケットの到着時刻と要求される遅延時間とが関連付けられたパケットは、要求される送出タイミングが関連付けられたパケットであるとも言える。そのため、換言すると、取得部11は、要求される送出タイミング及び上記遅延ジッターが関連付けられたパケットを取得する。また、取得部11は、上記遅延ジッターが関連付けられたパケット、及び、上記遅延ジッターが関連付けられていないパケットを取得する。また、換言すると、取得部11は、要求されるスループットが関連付けられたパケットを取得する。
【0031】
(クラス分け部14)
クラス分け部14は、パケットのクラス分けを行う。クラス分け部14は、一例として、パケットのアプリケーションの種別等に基づきクラス分けを行い、クラス分けの結果を示すフローIDを出力する。クラス分けは例えば、スループット、遅延、遅延ジッターのいずれが要求されるかについてパケットを分類することをいう。例えばスループットが要求されるパケットは動画のパケットであり、遅延が要求されるパケットは緊急性を要する通信のパケットである。また、遅延ジッターが要求されるパケットは例えば、リアルタイムセンシング、又は遠隔制御のパケットである。
【0032】
(算出部15)
算出部15は、パケットアウトの要件であるパケットアウト要件を算出する。パケットアウト要件は、パケットをパケットアウトする際に求められる諸条件である。パケットアウト要件は一例として、要求時刻及び要求レベルを含む。要求時刻は、要求されるパケットアウトの時刻である。要求時刻は、本明細書に係る送出タイミングの一例である。要求レベルは、パケットアウトが要求されるキューのレベルである。要求レベルは、本明細書に係る第1のレベルの一例である。算出部15が行うパケットアウト要件の算出方法については後述する。
【0033】
(キュー制御部16)
キュー制御部16は、複数のキューを用いたキューイングによるパケットの送信制御を行う。キュー制御部16は、一例として、カレンダーキューイングの技術を用いてパケットの送信制御を行う。キュー制御部16は、エンキュー部12及びデキュー部13を含む。エンキュー部12は、レベル分けされた複数のキューのいずれかにパケットをエンキューする。また、エンキュー部12は、パケットに関連付けられた遅延ジッターに対応する第1のレベルとは異なる第2のレベルのキューからデキューされたパケットを、上記第1のレベルのキューに再エンキューする。
【0034】
デキュー部13は、複数のキューそれぞれに規定されたデキュータイミングに応じて、各キューから上記パケットをデキューする。また、デキュー部13は、要求レベルからデキューしたパケットをネットワークに送出する。
【0035】
(記憶部20A)
記憶部20Aは、パケットバッファ21を含む。パケットバッファ21は、送信を待機しているパケットを保存するために確保されるメモリ空間である。パケットバッファ21にバッファリングされたパケットは、上記複数のキューにより遅延時間等を制御された後、ネットワークに送出される。
【0036】
図5は、情報処理装置1Aのパケット送信制御に関する構成の一例を概略的に示す図である。なお、図5において、一方向性の矢印は、ある信号(データ)の流れの方向を端的に示したもので、双方向性を排除するものではない。図5の例で、クラス分け部14は、パケットのクラス分けを行い、クラス分け結果を示すフローIDを、パケットバッファ21から取得したパケットポインタとともに算出部15に供給する。クラス分け部14によるクラス分けは、一例として、アプリケーションの種別に基づき行われる。クラス分け結果を示すフローIDは、算出部15がパケットアウト要件を算出する際に参照される。算出部15は、フローIDに対応する算出手法でパケットアウト要件を算出する。換言すると、算出部15は、アプリケーションの種別によってパケットアウト要件を特定する。また、算出部15は、アプリケーションの種別によってパケットアウト要件の算出に用いる数値を変更したり、重みを変更したりする、と言うこともできる。なお、クラス分けの結果を示すフローIDは、キュー制御部16のキュー制御においては参照されない。また、パケットポインタは、パケットバッファ21において各パケットの格納場所を示すポインタである。
【0037】
算出部15は、フローIDに対応する算出手法でパケットアウト要件を算出する。本例示的実施形態では、算出部15は、要求時刻及び要求レベルをパケットアウト要件として算出する。算出部15は、算出したパケットアウト要件を、パケットポインタ及びパケット到着時刻とともにキュー制御部16に供給する。キュー制御部16は、複数のキューを用いてパケット送信制御を行う。キュー制御部16は、複数のキューを用いたキューイングにより送信制御を行い、パケットをネットワークに送出する。
【0038】
ここで、キュー制御部16がパケット送信制御に用いる複数のキューの具体例について図面を参照しつつ説明する。図6は、複数のキューの具体例を示す図である。図6の例では、キュー制御部16は、(i×j)個のキューQi_j(1≦i≦3、0≦j≦9)を用いたカレンダーキューイングによりパケットの送信制御を行う。複数のキューQi_jは複数のレベルiにレベル分けされている。すなわち、レベルi毎に10個のキューQi_0~Qi_9が用意されている。図6の例では、レベル3が最上位のレベルであり、レベル1が最下位のレベルである。また、図6の例では、仮想時間単位を1[ms]としている。
【0039】
複数のキューは、レベル毎に遅延粒度(Granularity)が異なっている。換言すると、複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされている。図6の例で、レベル1のキューQ1_jの遅延粒度は、1[ms]である。また、レベル2のキューQ2_jの遅延粒度は、10[ms]である。また、レベル3のキューQ3_jの遅延粒度は、100[ms]である。
【0040】
エンキュー部12は、送信制御の対象であるパケットを、当該パケットに関連付けられた要求時刻に対応するキューにエンキューする。また、デキュー部13は、キューにエンキューされたパケットを、当該キューに規定されたデキュータイミングに応じてデキューする。エンキュー処理とデキュー処理の詳細については後述する。
【0041】
<パケット制御方法の流れ>
情報処理装置1Aは、複数のキューを用いてパケットの送信制御を行う。以下では、(i)パケットのエンキュー処理と、(ii)パケットのデキュー処理とについて順に説明する。
【0042】
((i)パケットのエンキュー処理)
図7は、パケットのエンキュー処理の流れを示すフローチャートである。
(ステップS21・S22)
ステップS21において、取得部11は、送信制御の対象であるパケットを取得する。また、ステップS22において、算出部15は、ステップS21で取得したパケットのパケットアウト要件を算出する。算出部15は、要求フローの種類に応じた算出手法でパケットアウト要件を算出する。ここで、(a)スループット要求フロー、(b)遅延要求フロー、(c)遅延ジッター要求フロー、のそれぞれの場合について、パケットアウト要件の算出手法の具体例を説明する。
【0043】
((a)スループット要求フロー)
(a)スループット要求フローは、スループットが要求されるフローである。ここで、ひとつ前のパケットの送信時刻をut-1[s]、パケットサイズをs[byte]、要求スループットをx[bps]とすると、パケットアウトが要求される時刻である要求時刻uは、一例として、
u=ut-1+8s/x
である。
【0044】
また、スループット要求フローの場合、遅延ジッターを要求されておらず遅延ジッターを制御する必要がないため、要求レベルlは任意である。そのため、算出部15は例えば、要求レベルlを、複数のキューの最上位のレベルとする。換言すると、算出部15は、遅延ジッターが関連付けられていないパケットの要求レベルlとして、複数のレベルのうちの最上位のレベルを算出する。例えばキューのレベルとしてレベル1~レベル3が設定されている場合、算出部15は、レベル3を要求レベルlとして決定する。
【0045】
ただし、要求時刻u及び要求レベルlを算出する手法は上述した例に限られず、算出部15は他の手法により要求時刻u又は要求レベルlを算出してもよい。算出部15は例えば、スループットが関連付けられたパケットの要求レベルlとして、当該スループットの算出粒度に対応するレベルよりも1つ下位のレベルを算出してもよい。
【0046】
((b)遅延要求フロー)
遅延要求フローは、遅延が要求されるフローである。ここで、現在時刻をt[s]、要求された遅延時間をy[s]とすると、要求時刻uは、一例として、
u=t+y
である。
【0047】
また、遅延要求フローの場合、遅延ジッターを要求されておらず遅延ジッターを制御する必要がないため、要求レベルlは任意である。そのため、算出部15は例えば、要求レベルlを、複数のキューの最上位のレベルとする。換言すると、算出部15は、上記遅延ジッターが関連付けられていないパケットの要求レベルlとして、複数のレベルのうちの最上位のレベルを算出する。例えばキューのレベルとしてレベル1~レベル3が設定されている場合、算出部15は、レベル3を要求レベルlとして決定する。
【0048】
ただし、要求時刻u及び要求レベルlを算出する手法は上述した例に限られず、算出部15は他の手法により要求時刻u又は要求レベルlを算出してもよい。算出部15は、例えば、スループットが関連付けられたパケットの要求レベルlとして、当該スループットの算出粒度に対応するレベルよりも1つ下位のレベルを算出してもよい。
【0049】
((c)遅延ジッター要求フロー)
遅延ジッター要求フローは、遅延ジッターが要求されるフローである。ここで、一つ前のパケットの送信時刻をut-1[s]、要求された遅延時間をy[s]、要求された遅延ジッターをz[s]とする。また、キューのレベルiの粒度(Granularity)をg、仮想時間単位をvとすると、要求時刻uは、一例として、
u=ut-1+y
である。また、要求レベルlは、一例として、
l=argmax(gv<z)
である。換言すると、算出部15は、パケットに関連付けられた遅延ジッターを用いて、要求レベル(第1のレベル)を算出する。
【0050】
(ステップS23)
図7のステップS23において、エンキュー部12は、ステップS21で取得したパケットを、複数のキューのいずれかにエンキューする。より具体的には、エンキュー部12は、算出部15が算出した要求時刻uに対応するキューにパケットをエンキューする。換言すると、エンキュー部12は、取得部11が取得したパケットを、当該パケットに関連付けられた要求時刻uに対応するキューにエンキューする。
【0051】
図6の例において、エンキュー部12は、要求時刻uの下3桁を参照し、下3桁が000~00j[ms](0≦j≦9)であるパケットを、レベル1のキューQ1_jにエンキューする。また、エンキュー部12は、下3桁が010~099[ms]であるパケットを、レベル2のキューQ2_jにエンキューする。より具体的には、エンキュー部12は、要求時刻uの2桁目の値がj(0≦j≦9)であるパケットを、レベル2のキューQ2_jにエンキューする。また、エンキュー部12は、下3桁が100~999[ms]であるパケットを、レベル3のキューQ3_jにエンキューする。より具体的には、エンキュー部12は、要求時刻uの3桁目の値がj(0≦j≦9)であるパケットを、レベル3のキューQ3_jにエンキューする。
【0052】
より具体的には、エンキュー部12は例えば、要求時刻uが50[ms]~59[ms]のパケットを、レベル2のキューQ2_5にエンキューする。また、エンキュー部12は例えば、要求時刻uが60[ms]~69[ms]のパケットを、レベル2のキューQ2_6にエンキューする。また、エンキュー部12は例えば、要求時刻が100[ms]~199[ms]のパケットを、レベル3のキューQ3_1にエンキューする。
【0053】
(エンキューの具体例)
図8は、エンキュー処理の具体例を示す図である。図8の例では、エンキュー部12は、算出部15が算出した要求時刻uが「9」であるパケットp_9を、レベル1のキューQ1_9にエンキューする。また、エンキュー部12は、算出部15が算出した要求時刻uが「191」であるパケットp_191を、レベル3のキューQ3_1にエンキューする。
【0054】
((ii)パケットのデキュー処理)
図9は、情報処理装置1Aが行うデキュー処理の流れを示すフローチャートの一例を示すである。この例で、デキュー部13は、図9に示す処理を、(i×j)個のキューQi_jのそれぞれについて実行する。ただし、デキュー部13が実行するデキュー処理の流れは図9に示す例に限定されるものではない。
【0055】
(ステップS31)
ステップS31において、デキュー部13は、処理対象であるキューQi_jに規定されたデキュータイミングであるかを判定する。デキュータイミングである場合(ステップS31にてYES)、デキュー部13はステップS32の処理に進む。一方、デキュータイミングでない場合(ステップS31にてNO)、デキュー部13は、デキュータイミングになるまで待機する。
【0056】
ここで、レベルiのn個のキューQi_jのそれぞれに規定されたデキュータイミングは、一例として、時刻(j・ni-1)、(j・ni-1+1)、(j・ni-1+2)、…、((j+1)・ni- 1)である。この場合、キューQ3_1に規定されたデキュータイミングは、100、101、102、…、199[ms]である。また、例えば、キューQ1_9に規定されたデキュータイミングは9[ms]である。
【0057】
(ステップS32)
ステップS32において、デキュー部13は、再エンキューを行うか否かを判定する。具体的には、デキュー部13は一例として、デキュー対象であるパケット(キューの先頭のパケット)の要求レベルlが処理対象であるキューQi_jのレベルiよりも高いかを判定することにより、再エンキューを行うか否かを判定する。要求レベルlが処理対象であるキューQi_jのレベルi以上である場合、デキュー部13は再エンキューを行わないと判定する。一方、要求レベルlがレベルi未満である場合、デキュー部は再エンキューを行うと判定する。再エンキューを行わない場合(ステップS32にてNO)、デキュー部13はステップS33の処理に進む。一方、再エンキューを行う場合(ステップS32にてYES)、デキュー部13はステップS34の処理に進む。
【0058】
ただし、ステップS32の判定処理の手法は上述した例に限られず、デキュー部13は他の手法により再エンキューを行うか否かを判定してもよい。デキュー部13は例えば、要求された遅延ジッターの値が所定の条件を満たすか否かによって、再エンキューを行うか否かを判定してもよい。より具体的にはデキュー部13は例えば、要求された遅延ジッターの値が閾値以下である場合に再エンキューを行う一方、要求された遅延ジッターの値が閾値以上である場合に、再エンキューを行なわずにパケットアウトすると判定してもよい。
【0059】
(ステップS33)
ステップS33において、デキュー部13は、パケットをデキューし、ネットワークに送出する。
【0060】
(ステップS34・S35)
ステップS34において、デキュー部13は、キューQi_jからパケットをデキューする。ステップS35において、エンキュー部12は、ステップS34でデキュー部13がデキューしたパケットを、ひとつ下位のレベルのキュー、すなわちレベル(i-1)のキューQ(i-1)_jにエンキューする。換言すると、エンキュー部12は、要求レベル(第1のレベル)よりも上位の第2のレベルのキューからデキューされたパケットを、当該第2のレベルの1つ下位のレベルのキューにエンキューする。
【0061】
図9のステップS32~S36の処理が繰り返されることにより、キューにエンキューされたパケットは、そのキューのひとつ下位のレベルのキューに再エンキューされ、また、再エンキューされたパケットは更にひとつ下位のレベルのキューに再エンキューされる、という処理が繰り返される。
【0062】
(ステップS36)
ステップS36において、デキュー部13は、判定対象であるキューQi_jの所定長に含まれるパケットをデキューしたかを判定する。所定長は一例として、キュー長の(1/ni-1)である。ここで、iはレベルであり、nは各レベルのキューの数である。所定長のパケットをデキューした場合(ステップS36にてYES)、デキュー部13はステップS31の処理に戻り、次のデキュータイミングに到達するまで待機する。一方、所定長のパケットをデキューしていない場合(ステップS36にてNO)、デキュー部13はステップS32の処理に戻り、次のパケットについてデキュー処理を行う。
【0063】
すなわち、この例で、デキュー部13は、キューQi_jに規定されたデキュータイミングにおいて、当該キューにエンキューされた全てのパケットをデキューするのではなく、一部のパケット(キュー長の(1/n-1 )のパケット)をデキューする。デキュータイミングが到来する毎に一部のパケットをデキューする処理を繰り返すことにより、時間n-1 が経過したときに、レベルiのn個のキューQi_jにエンキューされた全てのパケットがデキューされる。
【0064】
例えば、キューQ2_5からは、50[ms]~59[ms]の間に、1/10ずつパケットが排出される。すなわち、50[ms]~59[ms]のパケットは、50[ms]~59[ms]の任意のタイミングで排出される。
【0065】
また、キューQ2_6からは、60[ms]~69[ms]の間に、1/10ずつパケットが排出される。すなわち、60[ms]~69[ms]のパケットは、60[ms]~69[ms]の任意のタイミングで排出される。
【0066】
また、キューQ3_1からは、100[ms]~199[ms]の間に、1/100ずつパケットが排出される。すなわち、要求時刻が100[ms]~199[ms]のパケットは、100[ms]~199[ms]の任意のタイミングで排出される。
【0067】
同様に、キューQ3_2からは、200[ms]~299[ms]の間に、1/100ずつパケットが排出される。すなわち、要求時刻が200[ms]~299[ms]のパケットは、200[ms]~299[ms]の任意のタイミングで排出される。
【0068】
上述したように、ステップS31~S36の処理を繰り返し実行することにより、デキュー部13は、各キューにエンキューされたパケットを、1回以上の段階に分割してデキューする(ステップS33、S34)。
【0069】
以上説明したように、上述の図9の例では、デキュー部13は、各キューに規定されたデキュータイミングにおいてデキュー対象のパケットを再エンキューするかを判定し(図9のステップS32)、再エンキューする場合、当該キューのレベルとは異なるレベルのキューに再エンキューする(ステップS34、S35)一方、再エンキューしない場合、デキューしたパケットをネットワークに送出する(ステップS33)。
【0070】
(パケットアウト処理及び再エンキュー処理の具体例)
パケットアウト処理及び再エンキュー処理の具体例について、図10図14を参照して説明する。図10は、パケットアウト処理の具体例を示す図である。図10の例では、時刻t=009において、デキュー部13は、キューQ1_9に格納されたパケットp_9をパケットアウトし、ネットワークに送出する(図9のステップS33)。
【0071】
図11及び図12は、再エンキュー処理の具体例を示す図である。図11の例で、時刻t=100では、キューQ3_1、キューQ2_0、キューQ1_0、の3つのキューがデキューの対象である。ここで、キューQ3_1に格納されているパケットp_191の要求レベルlが「1」である場合、キューQ3_1のレベル「3」は、要求レベルl(「1」)よりも高い。そのため、デキュー部13は、キューQ3_1からデキューしたパケットp_191を、そのままパケットアウトするのではなく、レベル2のキューQ2_9に再エンキューする(図9のステップS35)。
【0072】
また、図12の例で、時刻t=190では、キューQ3_1、キューQ2_9、キューQ1_0の3つのキューがデキューの対象である。キューQ2_9に格納されているパケットp_191の要求レベルlが「1」である場合、キューQ2_9のレベル「2」は、要求レベルl(「1」)よりも高い。そのため、デキュー部13は、キューQ2_9からデキューしたパケットp_191を、そのままパケットアウトするのではなく、レベル1のキューQ1_1に再エンキューする(図9のステップS35)。
【0073】
図13及び図14は、パケットアウト処理の具体例を示す図である。時刻t=191では、キューQ3_1、キューQ2_9、キューQ1_1の3つのキューがデキューの判定対象である。ここで、キューQ1_1に格納されているパケットp_191の要求レベルlが「1」である場合、デキュー部13は、キューQ1_1からパケットp_191をデキューし、パケットアウトする(図9のステップS33)。
【0074】
図14は、パケットアウトの他の具体例を示す図である。時刻t=100では、キューQ3_1、キューQ2_0、キューQ1_0の3つのキューがデキューの判定対象である。ここで、キューQ3_1に格納されているパケットp_191の要求レベルlが「3」である場合(図9のステップS32にて「YES」)、デキュー部13は、キューQ1_1からパケットp_191をデキューし、パケットアウトする(図9のステップS33)。
【0075】
図15は、遅延時間と遅延ジッターとの測定結果の一例を示す図である。図において、グラフ201は、本例示的実施形態に係る情報処理装置1Aによるパケット送信制御の結果を示すグラフである。図15に示すように、本例示的実施形態に係るパケット送信制御によれば、要求された遅延時間が20[ms]であるパケットの遅延時間は20[ms]以下に収まっている。また、要求された遅延ジッターが1[ms]であるパケットの遅延ジッターは1[ms]であり、要求された遅延ジッターが10[ms]であるパケットの遅延ジッターは10[ms]となっている。図15に示すように、本例示的実施形態によれば、要求された遅延時間と要求された遅延ジッターとの両方を満たすことができる。
【0076】
次いで、遅延ジッターが関連付けられていないパケットの要求レベルの算出処理の一例について、図面を参照しつつ説明する。図16は、要求レベルの算出処理の一例を説明するための図であり、遅延ジッターが関連付けられていないパケットの要求レベルを変更したときのデキューレート[Mbps]の一例を示す図である。図16の例では、遅延粒度がそれぞれ異なる6つのレベル1~6のそれぞれで複数のキューが用意されており、これらのキューを用いてパケットの送信制御を行った結果が示されている。図16の例で、レベル1~レベル6の遅延粒度はそれぞれ、100[s]、10[s]、1[s]、100[ms]、10[ms]、1[ms]である。また、スループットビンが100[ms]の場合の測定結果を示している。図示のように、要求レベルが2以下である場合にデキューレートが安定している。このように、デキューレートを安定させるためには、スループット算出で利用されるビンサイズ(窓幅)よりも一段細かい粒度のレベルを要求レベルに設定すればよい。すなわち、スループットビンが100[ms]のときは10[ms](すなわちレベル2)、1[s]のときは100[ms](レベル3)のように、必要なスループット算出粒度の1つ下位のレベルを設定すればよい。
【0077】
<情報処理装置の効果>
以上のように、本例示的実施形態に係る情報処理装置1Aにおいては、エンキュー部12は、上記パケットに関連付けられた遅延ジッターに対応する要求レベルとは異なる第2のレベルのキューからデキューされたパケットを、要求レベルのキューに再エンキューする構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、異なるレベルのキューに再エンキューを行わない場合に比べて、遅延ジッターをより適切に制御できるという効果が得られる。
【0078】
また、本例示的実施形態に係る情報処理装置1Aにおいては、デキュー部13は、各キューにエンキューされたパケットを、1回以上の段階に分割してデキューする構成が採用されている。
【0079】
各パケットの遅延を制御する手法として、各キューにエンキューされたパケットを下位レベルのキューに再エンキューすることも考えられるが、この場合、下位レベルのキューにパケットが集中してしまい、パケットがドロップする機会が増えてしまう場合がある。それに対し、本例示的実施形態に係る情報処理装置1Aによれば、各キューにエンキューされたパケットを下位レベルのキューに再エンキューするのではなく複数の段階に分割してデキューすることにより、下位レベルのキューにパケットが集中してパケットがドロップしてしまうことが防止される。
【0080】
また、本例示的実施形態に係る情報処理装置1Aにおいては、上記パケットに関連付けられた遅延ジッターを用いて、要求レベルを算出する算出部15を更に備える構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、遅延ジッターを用いてパケットアウトするレベルを算出しない場合に比べて、遅延ジッターをより精度よく制御できるという効果が得られる。
【0081】
また、本例示的実施形態に係る情報処理装置1Aにおいては、上記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、取得部11は、要求される送出タイミング及び上記遅延ジッターが関連付けられたパケットを取得し、エンキュー部12は、取得部11が取得したパケットを、当該パケットに関連付けられた送出タイミングに対応するキューにエンキューし、上記第1のレベルよりも上位の第2のレベルのキューからデキューされたパケットを、当該第2のレベルの1つ下位のレベルのキューにエンキューする、構成が採用されている。このため、本例示的実施形態に係る情報処理装置1Aによれば、複数のレベルのキューを順に用いてパケット送出制御を行うことにより、遅延ジッターをより精度よく制御できるという効果が得られる。
【0082】
また、本例示的実施形態に係る情報処理装置1Aにおいては、上記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、取得部11は、上記遅延ジッターが関連付けられたパケット、及び、上記遅延ジッターが関連付けられていないパケットを取得し、算出部15は、上記遅延ジッターが関連付けられていないパケットの要求レベルとして、複数のレベルのうちの最上位のレベルを特定する構成が採用されている。
【0083】
遅延ジッターが関連付けられていないパケットの要求レベルを低いレベルに設定した場合、下位レベルのキューにパケットが集中してしまい、パケットがドロップする機会が増えてしまう場合がある。それに対し、本例示的実施形態に係る情報処理装置1Aによれば、下位レベルのキューにパケットが集中してパケットがドロップしてしまうことを防止できるという効果が得られる。
【0084】
また、本例示的実施形態に係る情報処理装置1Aにおいては、取得部11は、要求されるスループットが関連付けられたパケットを取得し、上記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、算出部15は、上記スループットが関連付けられたパケットの上記第1のレベルとして、当該スループットの算出粒度に対応するレベルよりも1つ下位のレベルを算出する構成が採用されている。
【0085】
要求されるスループットの算出粒度に対応するレベルよりも1つ下位のレベルを要求レベルとすることで、スループットの粒度の設定が必要な場合、スループットの粒度を要求通りにすることができる。なお、ビンサイズを小さくすると、要求されたスループットよりも大きなスループットが出る区間が存在するが、設定時のビンサイズでみると、要求どおりのスループットにみえる。また、要求レベルを上記のように設定することにより、余計な再エンキューを回避できるため、階層的なカレンダーキュー内の滞留パケットを削減できるとともに、低レベルのキューの負荷を軽減できるという効果が得られる。
【0086】
〔ソフトウェアによる実現例〕
パケット制御装置10、情報処理装置1A、パケット制御システム1(以下、「パケット制御装置10等」という)の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0087】
後者の場合、パケット制御装置10等は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を図17に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCをパケット制御装置10等として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、パケット制御装置10等の各機能が実現される。
【0088】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0089】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0090】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0091】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0092】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
(付記1)
要求される遅延ジッターが関連付けられたパケットを取得する取得手段と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー手段と、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー手段と、を備えるパケット制御システム。
【0093】
(付記2)
前記エンキュー手段は、前記パケットに関連付けられた遅延ジッターに対応する第1のレベルとは異なる第2のレベルのキューからデキューされたパケットを、前記第1のレベルのキューに再エンキューする、付記1に記載のパケット制御システム。
【0094】
(付記3)
前記デキュー手段は、各キューにエンキューされたパケットを、1回以上の段階に分割してデキューする、付記1又は2に記載のパケット制御システム。
【0095】
(付記4)
前記パケットに関連付けられた遅延ジッターを用いて、前記第1のレベルを算出する算出手段、を更に備える、付記2又は3に記載のパケット制御システム。
【0096】
(付記5)
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、前記取得手段は、要求される送出タイミング及び前記遅延ジッターが関連付けられたパケットを取得し、前記エンキュー手段は、前記取得手段が取得したパケットを、当該パケットに関連付けられた送出タイミングに対応するキューにエンキューし、前記第1のレベルよりも上位の第2のレベルのキューからデキューされたパケットを、当該第2のレベルの1つ下位のレベルのキューにエンキューする、付記2から4のいずれか1つに記載のパケット制御システム。
【0097】
(付記6)
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、前記取得手段は、前記遅延ジッターが関連付けられたパケット、及び、前記遅延ジッターが関連付けられていないパケットを取得し、前記算出手段は、前記遅延ジッターが関連付けられていないパケットの前記第1のレベルとして、複数のレベルのうちの最上位のレベルを算出する、付記4に記載のパケット制御システム。
【0098】
(付記7)
前記取得手段は、要求されるスループットが関連付けられたパケットを取得し、前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、前記算出手段は、前記スループットが関連付けられたパケットの前記第1のレベルとして、当該スループットの算出粒度に対応するレベルよりも1つ下位のレベルを算出する、付記4に記載のパケット制御システム。
【0099】
(付記8)
要求される遅延ジッターが関連付けられたパケットを取得することと、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューすることと、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出することと、を含むパケット制御方法。
【0100】
(付記9)
前記エンキューする工程において、前記パケットに関連付けられた遅延ジッターに対応する第1のレベルとは異なる第2のレベルのキューからデキューされたパケットを、前記第1のレベルのキューに再エンキューする、付記8に記載のパケット制御方法。
【0101】
(付記10)
前記デキューする工程において、各キューにエンキューされたパケットを、1回以上の段階に分割してデキューする、付記8又は9に記載のパケット制御方法
【0102】
(付記11)
前記パケットに関連付けられた遅延ジッターを用いて、前記第1のレベルを算出すること、を更に含む、付記9又は10に記載のパケット制御方法。
【0103】
(付記12)
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、前記取得する工程において、要求される送出タイミング及び前記遅延ジッターが関連付けられたパケットを取得し、前記エンキューする工程において、前記取得する工程において取得したパケットを、当該パケットに関連付けられた送出タイミングに対応するキューにエンキューし、前記第1のレベルよりも高い第2のレベルのキューからデキューされたパケットを、当該第2のレベルの1つ下位のレベルのキューにエンキューする、付記9から11のいずれか1つに記載のパケット制御方法。
【0104】
(付記13)
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、前記取得する工程において、前記遅延ジッターが関連付けられたパケット、及び、前記遅延ジッターが関連付けられていないパケットを取得し、前記算出する工程において、前記遅延ジッターが関連付けられていないパケットの前記第1のレベルとして、複数のレベルのうちの最上位のレベルを算出する、付記11に記載のパケット制御方法。
【0105】
(付記14)
前記取得する工程において、要求されるスループットが関連付けられたパケットを取得し、前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、前記算出する工程において、前記スループットが関連付けられたパケットの前記第1のレベルとして、当該スループットの算出粒度に対応するレベルよりも1つ下位のレベルを算出する、付記11に記載のパケット制御方法。
【0106】
(付記15)
要求される遅延ジッターが関連付けられたパケットを取得する取得手段と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー手段と、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー手段と、を備えるパケット制御装置。
【0107】
(付記16)
前記エンキュー手段は、前記パケットに関連付けられた遅延ジッターに対応する第1のレベルとは異なる第2のレベルのキューからデキューされたパケットを、前記第1のレベルのキューに再エンキューする、付記15に記載のパケット制御装置。
【0108】
(付記17)
前記デキュー手段は、各キューにエンキューされたパケットを、1回以上の段階に分割してデキューする、付記15又は16に記載のパケット制御装置。
【0109】
(付記18)
前記パケットに関連付けられた遅延ジッターを用いて、前記第1のレベルを算出する算出手段、を更に備える、付記16又は17に記載のパケット制御装置。
【0110】
(付記19)
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、前記取得手段は、要求される送出タイミング及び前記遅延ジッターが関連付けられたパケットを取得し、前記エンキュー手段は、前記取得手段が取得したパケットを、当該パケットに関連付けられた送出タイミングに対応するキューにエンキューし、前記第1のレベルよりも高い第2のレベルのキューからデキューされたパケットを、当該第2のレベルの1つ下位のレベルのキューにエンキューする、付記16から18のいずれか1つに記載のパケット制御装置。
【0111】
(付記20)
前記複数のキューは、レベルが高いほど、遅延粒度が大きくなるようにレベル分けされており、前記取得手段は、前記遅延ジッターが関連付けられたパケット、及び、前記遅延ジッターが関連付けられていないパケットを取得し、前記算出手段は、前記遅延ジッターが関連付けられていないパケットの前記第1のレベルとして、複数のレベルのうちの最上位のレベルを算出する、付記18に記載のパケット制御装置。
【0112】
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
少なくとも1つのプロセッサを備え、前記プロセッサは、要求される遅延ジッターが関連付けられたパケットを取得する取得処理と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー処理と、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー処理と、を実行するパケット制御システム。
【0113】
なお、このパケット制御システムは、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記エンキュー処理と、前記デキュー処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【0114】
また、上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
少なくとも1つのプロセッサを備え、前記プロセッサは、要求される遅延ジッターが関連付けられたパケットを取得する取得処理と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー処理と、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー処理と、を実行するパケット制御装置。
【0115】
なお、このパケット制御装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記エンキュー処理と、前記デキュー処理とを前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【0116】
以上、上記実施形態等を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。また、上述したパケット制御装置10等の機能のうちの少なくとも一以上の機能は、ネットワーク上のいかなる場所に設置され接続された複数の異なる情報処理装置で実行されてもよく、つまり、いわゆるクラウドコンピューティングで実行されてもよい。
【符号の説明】
【0117】
1 パケット制御システム
1A 情報処理装置
10 パケット制御装置
10A 制御部
11 取得部
12 エンキュー部
15 算出部
13 デキュー部
16 キュー制御部
【要約】
パケットの送信制御において遅延ジッターの制御を可能にするために、パケット制御システム(1)は、要求される遅延ジッターが関連付けられたパケットを取得する取得部(11)と、レベル毎に遅延ジッターが異なるようにレベル分けされた複数のキューのうち、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューに、当該パケットをエンキューするエンキュー部(12)と、前記パケットに関連付けられた遅延ジッターに応じたレベルのキューにエンキューされた当該パケットを、当該キューに規定されたデキュータイミングに応じてデキューし、デキューしたパケットをネットワークに送出するデキュー部(13)とを備える。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17