(57)【特許請求の範囲】
【請求項１】
優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御装置であり、
時間的に前後の前記フレーム間にアイドル状態の期間を付与するシフトレジスタと、
前記シフトレジスタの動作を制御する制御部とを備え、
前記制御部は、前記シフトレジスタにアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、
優先度の低い前記フレームの時間的に後に優先度の高い前記フレームが入力され、かつ、当該優先度の高い前記フレームが、前記特定インターフレームギャップ期間を経過せずに入力された場合に、
前記制御部は、前記特定インターフレームギャップ期間と、優先度の低い前記フレームの時間的に後、かつ、優先度の高い前記フレームの時間的に前においてすでに経過した前記インターフレームギャップ期間との差である未経過期間を算出し、
前記制御部は、前記シフトレジスタを制御して、当該優先度の高い前記フレームの時間的に前に、前記未経過期間に相当するアイドル状態の期間を付与させる、
通信制御装置。
【請求項２】
優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御装置であり、
時間的に前後の前記フレーム間にアイドル状態の期間を付与するシフトレジスタと、
前記シフトレジスタの動作を制御する制御部とを備え、
前記制御部は、前記シフトレジスタにアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、
複数の優先度の高い前記フレームの通信制御を行う通信制御装置であり、
前記特定インターフレームギャップ期間が、複数の優先度の高い前記フレームの各前記特定インターフレームギャップ期間のうち、最大の前記特定インターフレームギャップ期間である、
通信制御装置。
【請求項３】
前記制御部は、前記シフトレジスタにアイドル状態の期間を付与させることにより、優先度の低い前記フレームの時間的に前にも、前記特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させる、
請求項１または請求項２に記載の通信制御装置。
【請求項４】
優先度の低い前記フレームが入力されている途中で優先度の高い前記フレームが入力され、優先度の低い前記フレームの入力が中断された場合に、
前記制御部は、前記シフトレジスタを制御して、優先度の高い前記フレームの時間的に前に、前記特定インターフレームギャップ期間に相当するアイドル状態の期間を付与させる、
請求項１または請求項２に記載の通信制御装置。
【請求項５】
優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御方法であり、
シフトレジスタに、時間的に前後の前記フレーム間にアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、
優先度の低い前記フレームの時間的に後に優先度の高い前記フレームが入力され、かつ、当該優先度の高い前記フレームが、前記特定インターフレームギャップ期間を経過せずに入力された場合に、
前記特定インターフレームギャップ期間と、優先度の低い前記フレームの時間的に後、かつ、優先度の高い前記フレームの時間的に前においてすでに経過した前記インターフレームギャップ期間との差である未経過期間を算出し、
前記シフトレジスタを制御して、当該優先度の高い前記フレームの時間的に前に、前記未経過期間に相当するアイドル状態の期間を付与させる、
通信制御方法。
【請求項６】
優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御方法であり、
シフトレジスタに、時間的に前後の前記フレーム間にアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、
複数の優先度の高い前記フレームの通信制御を行う通信制御方法であり、
前記特定インターフレームギャップ期間が、複数の優先度の高い前記フレームの各前記特定インターフレームギャップ期間のうち、最大の前記特定インターフレームギャップ期間である、
通信制御方法。
【請求項７】
前記シフトレジスタにアイドル状態の期間を付与させることにより、優先度の低い前記フレームの時間的に前にも、前記特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させる、
請求項５または請求項６に記載の通信制御方法。
【請求項８】
優先度の低い前記フレームが入力されている途中で優先度の高い前記フレームが入力され、優先度の低い前記フレームの入力が中断された場合に、
前記シフトレジスタを制御して、優先度の高い前記フレームの時間的に前に、前記特定インターフレームギャップ期間に相当するアイドル状態の期間を付与させる、
請求項５または請求項６に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術は、優先度の高いフレームおよび優先度の低いフレームの通信制御を、優先度の高いフレームの出力レイテンシを固定しつつ行う通信制御装置および通信制御方法に関するものである。
【背景技術】
【０００２】
たとえば、複数のポートから入力されたイーサネット（登録商標）フレームを１つのポートから出力させる場合、フレームの入力タイミングによってはフレーム間で競合が生じる。これを制御するために、入力されたフレームをバッファメモリに蓄積し、さらに、優先度の高いフレームと優先度の低いフレームとの間でフレーム間調整を行う。そして、優先度の低いフレームの出力を中断し、優先度の高いフレームを出力した後に優先度の低いフレームを出力させる（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２３２４７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
たとえば、リアルタイムな制御を行う場合においては、被制御側での動作が複雑化することを防ぐ観点で、制御のための制御フレームの出力レイテンシは固定されることが望ましい。ここで、出力レイテンシとは、フレームに関するデータの入力が開始されてから、フレームに関するデータの出力が開始されるまでの時間をいう。
【０００５】
バッファメモリを使用せず、かつ、フレームを蓄積せずに出力する場合、優先度の低いフレームの出力を中断することで、優先度の高いフレームの出力レイテンシを固定しつつ出力することができる。しかし、そのような場合、出力を中断した優先度の低いフレームに続く優先度の高いフレームは、出力を中断した優先度の低いフレームとの間でインターフレームギャップ期間が十分に確保されない状態で、出力されていた。インターフレームギャップ期間が十分に確保されない場合、規格に沿ったフレームとして出力されないため、当該フレームを受信した側で当該フレームが正しく認識されず、フレームの規格に沿った動作が行われないという不具合が生じる。ここで、インターフレームギャップ期間とは、時間的に先のフレームに関するデータの出力が終了してから、時間的に次のフレームに関するデータの出力が開始されるまでの期間をいう。なお、以下では、適切な通信動作のために確保されることが望ましい、各フレームに対してあらかじめ定められたインターフレームギャップ期間を、特定インターフレームギャップ期間と呼ぶ場合がある。
【０００６】
本明細書に開示される技術は、上記のような問題を解決するためのものであり、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる通信制御装置および通信制御方法に関するものである。
【課題を解決するための手段】
【０００７】
本明細書に開示される技術の一態様に関する通信制御装置は、優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御装置であり、時間的に前後の前記フレーム間にアイドル状態の期間を付与するシフトレジスタと、前記シフトレジスタの動作を制御する制御部とを備え、前記制御部は、前記シフトレジスタにアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、優先度の低い前記フレームの時間的に後に優先度の高い前記フレームが入力され、かつ、当該優先度の高い前記フレームが、前記特定インターフレームギャップ期間を経過せずに入力された場合に、前記制御部は、前記特定インターフレームギャップ期間と、優先度の低い前記フレームの時間的に後、かつ、優先度の高い前記フレームの時間的に前においてすでに経過した前記インターフレームギャップ期間との差である未経過期間を算出し、前記制御部は、前記シフトレジスタを制御して、当該優先度の高い前記フレームの時間的に前に、前記未経過期間に相当するアイドル状態の期間を付与させる。
また、本明細書に開示される技術の一態様に関する通信制御装置は、優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御装置であり、時間的に前後の前記フレーム間にアイドル状態の期間を付与するシフトレジスタと、前記シフトレジスタの動作を制御する制御部とを備え、前記制御部は、前記シフトレジスタにアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、複数の優先度の高い前記フレームの通信制御を行う通信制御装置であり、前記特定インターフレームギャップ期間が、複数の優先度の高い前記フレームの各前記特定インターフレームギャップ期間のうち、最大の前記特定インターフレームギャップ期間である。
【０００８】
本明細書に開示される技術の一態様に関する通信制御方法は、優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御方法であり、シフトレジスタに、時間的に前後の前記フレーム間にアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、優先度の低い前記フレームの時間的に後に優先度の高い前記フレームが入力され、かつ、当該優先度の高い前記フレームが、前記特定インターフレームギャップ期間を経過せずに入力された場合に、前記特定インターフレームギャップ期間と、優先度の低い前記フレームの時間的に後、かつ、優先度の高い前記フレームの時間的に前においてすでに経過した前記インターフレームギャップ期間との差である未経過期間を算出し、前記シフトレジスタを制御して、当該優先度の高い前記フレームの時間的に前に、前記未経過期間に相当するアイドル状態の期間を付与させる。
また、本明細書に開示される技術の一態様に関する通信制御方法は、優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御方法であり、シフトレジスタに、時間的に前後の前記フレーム間にアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、複数の優先度の高い前記フレームの通信制御を行う通信制御方法であり、前記特定インターフレームギャップ期間が、複数の優先度の高い前記フレームの各前記特定インターフレームギャップ期間のうち、最大の前記特定インターフレームギャップ期間である。
【発明の効果】
【０００９】
本明細書に開示される技術の一態様に関する通信制御装置は、優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御装置であり、時間的に前後の前記フレーム間にアイドル状態の期間を付与するシフトレジスタと、前記シフトレジスタの動作を制御する制御部とを備え、前記制御部は、前記シフトレジスタにアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、優先度の低い前記フレームの時間的に後に優先度の高い前記フレームが入力され、かつ、当該優先度の高い前記フレームが、前記特定インターフレームギャップ期間を経過せずに入力された場合に、前記制御部は、前記特定インターフレームギャップ期間と、優先度の低い前記フレームの時間的に後、かつ、優先度の高い前記フレームの時間的に前においてすでに経過した前記インターフレームギャップ期間との差である未経過期間を算出し、前記制御部は、前記シフトレジスタを制御して、当該優先度の高い前記フレームの時間的に前に、前記未経過期間に相当するアイドル状態の期間を付与させる。
また、本明細書に開示される技術の一態様に関する通信制御装置は、優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御装置であり、時間的に前後の前記フレーム間にアイドル状態の期間を付与するシフトレジスタと、前記シフトレジスタの動作を制御する制御部とを備え、前記制御部は、前記シフトレジスタにアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、複数の優先度の高い前記フレームの通信制御を行う通信制御装置であり、前記特定インターフレームギャップ期間が、複数の優先度の高い前記フレームの各前記特定インターフレームギャップ期間のうち、最大の前記特定インターフレームギャップ期間である。
【００１０】
このような構成によれば、優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させることができるため、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる。
【００１１】
本明細書に開示される技術の一態様に関する通信制御方法は、優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御方法であり、シフトレジスタに、時間的に前後の前記フレーム間にアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、優先度の低い前記フレームの時間的に後に優先度の高い前記フレームが入力され、かつ、当該優先度の高い前記フレームが、前記特定インターフレームギャップ期間を経過せずに入力された場合に、前記特定インターフレームギャップ期間と、優先度の低い前記フレームの時間的に後、かつ、優先度の高い前記フレームの時間的に前においてすでに経過した前記インターフレームギャップ期間との差である未経過期間を算出し、前記シフトレジスタを制御して、当該優先度の高い前記フレームの時間的に前に、前記未経過期間に相当するアイドル状態の期間を付与させる。
また、本明細書に開示される技術の一態様に関する通信制御方法は、優先度の高いフレームおよび優先度の低い前記フレームの通信制御を、優先度の高い前記フレームの出力レイテンシを固定しつつ行う通信制御方法であり、シフトレジスタに、時間的に前後の前記フレーム間にアイドル状態の期間を付与させることにより、少なくとも優先度の高い前記フレームの時間的に前に、各前記フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させ、複数の優先度の高い前記フレームの通信制御を行う通信制御方法であり、前記特定インターフレームギャップ期間が、複数の優先度の高い前記フレームの各前記特定インターフレームギャップ期間のうち、最大の前記特定インターフレームギャップ期間である。
【００１２】
このような構成によれば、優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させることができるため、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる。
【００１３】
本明細書に開示される技術に関する目的と、特徴と、局面と、利点とは、以下に示される詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に関する、通信制御装置を実現するための構成を概念的に例示する図である。
【図２】実施形態に関する、通信制御装置の動作、特に、フレーム競合制御部１２の動作の流れを説明するためのフローチャートである。
【図３】実施形態に関する、通信制御装置を実現するための構成を概念的に例示する図である。
【図４】優先度の低いフレームが時間的に先に入力された後に優先度の高いフレームが入力された場合における、フレームのタイミングチャートである。
【図５】実施形態に関する、フレーム間の調整を行うための構成を概略的に例示する図である。
【図６】制御フレームを用いてリアルタイムな制御を行う場合の、制御側機器と被制御側機器との構成を概略的に例示する図である。
【図７】図１に例示される通信制御装置を実際に運用する場合のハードウェア構成を概略的に例示する図である。
【図８】図１に例示される通信制御装置を実際に運用する場合のハードウェア構成を概略的に例示する図である。
【発明を実施するための形態】
【００１５】
以下、添付される図面を参照しながら実施形態について説明する。なお、図面は概略的に示されるものであり、異なる図面にそれぞれ示される画像の大きさと位置との相互関係は、必ずしも正確に記載されるものではなく、適宜変更され得るものである。また、以下に示される説明では、同様の構成要素には同じ符号を付して図示し、それらの名称と機能とについても同様のものとする。よって、それらについての詳細な説明を省略する場合がある。
【００１６】
＜第１実施形態＞
以下、本実施形態に関する通信制御装置および通信制御方法について説明する。説明の便宜上、まず、優先度の異なるフレーム間の調整について説明する。
【００１７】
図５は、フレーム間の調整を行うための構成を概略的に例示する図である。
【００１８】
たとえば、複数のポートから入力されたフレームを１つのポートから出力させる場合、フレームの入力タイミングによってはフレーム間で競合が生じる。これを制御するために、たとえば図５に例示されるように、まず、入力された複数のフレームをバッファメモリ５１およびバッファメモリ５２にそれぞれ蓄積する。そして、バッファメモリ５１およびバッファメモリ５２からの出力をそれぞれ受け付ける優先制御部５３において、優先度の高いフレームと優先度の低いフレームとの間でフレーム間調整を行う。そして、優先度の低いフレームの出力を中断し、優先度の高いフレームを出力した後に優先度の低いフレームを出力させる。
【００１９】
図６は、制御フレームを用いてリアルタイムな制御を行う場合の、制御側機器と被制御側機器との構成を概略的に例示する図である。
【００２０】
図６に例示されるように、制御側機器６１から被制御側機器６２および被制御側機器６３へ、たとえばイーサネット経由で制御フレームがそれぞれ出力される。そして、被制御側機器６２および被制御側機器６３においては、制御フレームに基づくリアルタイムな制御が行われる。
【００２１】
制御側機器６１は、リアルタイムな制御が求められる被制御側機器６２および被制御側機器６３に対して、冗長性などを構成しつつ、制御フレームを出力する。
【００２２】
制御側機器６１から出力される制御フレームの出力レイテンシが固定されない場合、被制御側機器６２および被制御側機器６３は、個々の制御フレームで変動しうる出力レイテンシを考慮して、対応する動作を行う必要がある。そのため、動作が複雑になる場合があり、リアルタイムな制御が困難となる。
【００２３】
一方で、制御側機器６１から出力される制御フレームの出力レイテンシが固定される場合、被制御側機器６２および被制御側機器６３は、固定された出力レイテンシに対応する動作を行えばよい。そのため、動作が複雑になりにくく、リアルタイムな制御が可能となる。
【００２４】
＜構成＞
図１は、本実施形態に関する通信制御装置を実現するための構成を概念的に例示する図である。図１に例示される通信制御装置は、たとえば、図６における制御側機器６１に搭載される。
【００２５】
図１に例示されるように、通信制御装置は、フレーム到着判定部１１と、フレーム競合制御部１２と、シフトレジスタ１３とを備える。
【００２６】
フレーム到着判定部１１は、フレームの入力を受け付ける。フレーム競合制御部１２は、フレーム到着判定部１１からの入力を受け付ける。また、フレーム競合制御部１２は、シフトレジスタ１３に対し、インターフレームギャップ期間に関する指示を出力する。
【００２７】
シフトレジスタ１３は、フレーム到着判定部１１からの入力を受け付ける。また、シフトレジスタ１３は、フレーム競合制御部１２からの指示の入力を受け付ける。また、シフトレジスタ１３は、時間的に前後のフレーム間にアイドル状態の期間を付与する。
【００２８】
シフトレジスタ１３のシフト段数は、入力される複数のフレームの各特定インターフレームギャップ期間のうち、入力される各フレームの特定インターフレームギャップ期間を満たすために、最大の特定インターフレームギャップ期間に対応する段数とする。たとえば、入力される複数のフレームの各特定インターフレームギャップ期間のうち、最大の特定インターフレームギャップ期間が１２ｂｙｔｅである場合、シフトレジスタのシフト段数は１２段とする。
【００２９】
図７および図８は、図１に例示される通信制御装置を実際に運用する場合のハードウェア構成を概略的に例示する図である。
【００３０】
図７では、図１中の通信制御装置を実現するためのハードウェア構成として、演算を行う処理回路１０２ａと、情報を記憶することができる記憶装置１０３とが示される。これらの構成は、後述する他の実施形態においても同様である。
【００３１】
図８では、図１中の通信制御装置を実現するためのハードウェア構成として、演算を行う処理回路１０２ｂが示される。これらの構成は、後述する他の実施形態においても同様である。
【００３２】
フレーム競合制御部１２およびシフトレジスタ１３は、記憶装置１０３または別の記憶装置（ここでは、図示しない）も組み合わせて実現される。記憶装置１０３は、たとえば、ハードディスク（Ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ、すなわちＨＤＤ）、ランダムアクセスメモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、すなわちＲＡＭ）、リードオンリーメモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ、すなわちＲＯＭ）、フラッシュメモリ、ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ（ＥＰＲＯＭ）およびｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ（ＥＥＰＲＯＭ）などの、揮発性または不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはＤＶＤなどを含むメモリ（記憶媒体）などによって構成されるなどを含むメモリ（記憶媒体）などによって構成される。
【００３３】
処理回路１０２ａは、記憶装置１０３に格納されたプログラムを実行するものであってもよい。すなわち、たとえば、中央演算処理装置（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、すなわちＣＰＵ）、マイクロプロセッサ、マイクロコンピュータ、デジタルシグナルプロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｏｃｅｓｓｏｒ、すなわちＤＳＰ）であってもよい。
【００３４】
処理回路１０２ａが記憶装置１０３に格納されたプログラムを実行するものである場合、フレーム競合制御部１２およびシフトレジスタ１３は、ソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。なお、フレーム競合制御部１２の機能およびシフトレジスタ１３の機能は、たとえば、複数の処理回路が連携することによって実現されてもよい。
【００３５】
ソフトウェアおよびファームウェアはプログラムとして記述され、記憶装置１０３に記憶されるものであってもよい。その場合、処理回路１０２ａは、記憶装置１０３に格納されたプログラムを読み出して実行することにより、上記の機能を実現する。すなわち、記憶装置１０３は、処理回路１０２ａに実行されることにより、上記の機能が結果的に実現されるプログラムを記憶するものであってもよい。
【００３６】
また、処理回路１０２ｂは、専用のハードウェアであってもよい。すなわち、たとえば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、すなわちＡＳＩＣ）、ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ（ＦＰＧＡ）またはこれらを組み合わせた回路であってもよい。
【００３７】
処理回路１０２ｂが専用のハードウェアである場合、フレーム競合制御部１２およびシフトレジスタ１３は、処理回路１０２ｂが動作することにより実現される。なお、フレーム競合制御部１２の機能およびシフトレジスタ１３の機能は、別々の回路で実現されてもよいし、単一の回路で実現されてもよい。
【００３８】
なお、上記のフレーム競合制御部１２の機能およびシフトレジスタ１３の機能は、一部が記憶装置１０３に格納されたプログラムを実行するものである処理回路１０２ａにおいて実現され、一部が専用のハードウェアである処理回路１０２ｂにおいて実現されてもよい。
【００３９】
＜作用＞
次に、図２を参照しつつ、本実施形態に関する通信制御装置の作用を説明する。図２は、通信制御装置の動作、特に、フレーム競合制御部１２の動作の流れを説明するためのフローチャートである。
【００４０】
まず、図１におけるフレーム到着判定部１１において、入力されたフレームのデータバリッド信号を参照し、入力されたフレームの有効および無効を判定する。フレーム到着判定部１１において有効と判定されたフレームは、フレーム競合制御部１２とシフトレジスタ１３とに入力される。一方で、フレーム到着判定部１１において無効と判定されたフレームは、フレーム競合制御部１２およびシフトレジスタ１３には入力されず、廃棄される。
【００４１】
フレーム到着判定部１１において有効と判定されたフレームに対しては、フレーム競合制御部１２において、ポート判定Ａが行われる（ステップＳＴ４１を参照）。ここで、ポート判定Ａとは、受け付けるフレームのポートが選択されているか否かを判定するものである。ポート判定Ａの結果、たとえば初期状態のように、受け付けるフレームのポートが選択されていない場合（ＮＯに対応）は、ステップＳＴ４２へ進む。一方で、ポート判定Ａの結果、フレームのポートが選択されている場合（ＹＥＳに対応）は、ステップＳＴ４３へ進む。
【００４２】
ステップＳＴ４２では、ポート選択Ａが行われる。ここで、ポート選択Ａとは、フレーム競合制御部１２に受け付けるフレームの入力元であるポートを、シフトレジスタ１３に通知するものである。
【００４３】
また、フレーム競合制御部１２に複数のポートからフレームが同時に入力され、フレームのヘッダ情報によれば、同時に入力されたフレームに１つまたは複数の優先度の高いフレームが含まれる場合は、フレーム競合制御部１２は、あらかじめ定められたポートの優先順位にしたがって、優先度の高いフレームを１つ選択する。そして、フレーム競合制御部１２は、選択した当該フレームの入力元であるポートをシフトレジスタ１３に通知する。
【００４４】
また、フレーム競合制御部１２に複数のポートからフレームが同時に入力され、フレームのヘッダ情報によれば、同時に入力されたフレームに優先度の高いフレームが含まれない場合は、フレーム競合制御部１２は、あらかじめ定められたポートの優先順位にしたがって、フレームを１つ選択する。そして、フレーム競合制御部１２は、選択した当該フレームの送信元であるポートをシフトレジスタ１３に通知する。
【００４５】
シフトレジスタ１３は、フレーム競合制御部１２から通知されたポートに対応するフレームを、シフト段数分のアイドル状態の期間を付与して出力する。すなわち、シフト段数分のアイドル状態の期間が経過した後に、通知されたポートに対応するフレームを出力する。その結果、優先度の高いフレームまたは優先度の低いフレームは、シフト段数分の固定された出力レイテンシで出力されることとなる。
【００４６】
なお、優先度の高さに関係なく、複数のポートからフレームが同時入力された際に選択されなかったポートに対応するフレームは廃棄される。
【００４７】
ステップＳＴ４３では、ポートデータ判定Ａが行われる。ここで、ポートデータ判定Ａとは、選択されたポートに対応するフレームがシフトレジスタ１３に存在する間で、かつ、時間的に次の、選択されるフレームが、特定インターフレームギャップ期間を経過せずに入力された場合、ステップＳＴ４４へ進むものである。
【００４８】
なお、ポートデータ判定Ａで、選択されたポートに対応するフレームがシフトレジスタ１３に存在しない場合には競合が生じないため、フレーム競合制御部１２では何も処理が行われない。そして、この場合でも、シフトレジスタ１３は、時間的に次の、選択されるフレームを、シフト段数分のアイドル状態の期間を付与して出力する。その結果、フレームは、シフト段数分の固定された出力レイテンシで出力されることとなる。
【００４９】
また、選択されたポートに対応するフレームがシフトレジスタ１３に存在する間で、かつ、時間的に次の、選択されるフレームが、インターフレームギャップ期間を確保して入力された場合、すなわち、時間的に次の、選択されるフレームが、特定インターフレームギャップ期間をすでに経過した後で入力された場合、すでにインターフレームギャップ期間は確保されているが、この場合でも、シフトレジスタ１３は、時間的に次の、選択されるフレームを、シフト段数分のアイドル状態の期間を付与して出力する。その結果、フレームは、シフト段数分の固定された出力レイテンシで出力されることとなる。
【００５０】
ステップＳＴ４４では、ポート判定Ｂが行われる。ここで、ポート判定Ｂとは、選択されたポートからのフレームが優先度の低いフレームである場合、ステップＳＴ４６へ進み、選択されたポートからのフレームが優先度の高いフレームである場合、ステップＳＴ４５へ進むものである。
【００５１】
なお、ポート判定Ｂで、選択されたポートからのフレームが優先度の高いフレームでありステップＳＴ４５へ進む場合、時間的に次の、選択されるフレームを廃棄する（ポート選択Ｂ）。そして、シフトレジスタ１３は、選択されたポートに対応するフレームを出力する。
【００５２】
ステップＳＴ４６では、ポート判定Ｃが行われる。ここで、ポート判定Ｃとは、時間的に次の、選択されるフレームが優先度の高いフレームか優先度の低いフレームかを判定するものである。そして、時間的に次の、選択されるフレームが優先度の高いフレームである場合には、ステップＳＴ４７へ進む。一方で、時間的に次の、選択されるフレームが優先度の低いフレームである場合には、ステップＳＴ４８へ進む。
【００５３】
ステップＳＴ４７では、ポート切り換えＡが行われる。ここで、ポート切り換えＡとは、選択されたポートを、時間的に次の選択候補であるポートに切り換えるものである。
【００５４】
具体的には、フレーム競合制御部１２が、入力される複数のフレームの各特定インターフレームギャップ期間のうち、最大の特定インターフレームギャップ期間を把握しておき、さらに、当該最大の特定インターフレームギャップ期間と、シフトレジスタ１３に存在するフレームの後のインターフレームギャップ期間の経過分との差（未経過期間）を算出する。
【００５５】
そして、フレーム競合制御部１２は、シフトレジスタ１３に対し、算出した差（未経過期間）に対応するシフト段数分のアイドル状態の期間を時間的に前に付与した上でフレームを出力するように指示を出す。すなわち、シフトレジスタ１３に存在するフレームの後のインターフレームギャップ期間の経過分と、算出した差に対応するシフト段数分のアイドル状態の期間とを足し合わせることで、時間的に次のフレームは、固定された出力レイテンシで出力されることとなる。
【００５６】
シフトレジスタ１３は、上記の指示にしたがってアイドル状態への書き換えを行う。たとえば、フレーム固有のインターフレームギャップ期間が２０段であり、フレームのインターフレームギャップ期間がシフトレジスタ１３に入力された期間が１２段であった場合、シフトレジスタ１３は、１段目から８段目までをアイドル状態に書き換える。
【００５７】
ステップＳＴ４８では、ポート選択Ｃが行われる。ここで、ポート選択Ｃとは、時間的に次の選択候補であるポートからのフレームは廃棄し、シフトレジスタ１３が、選択されたポートに対応するフレームを出力するものである。
【００５８】
＜第２実施形態＞
本実施形態に関する通信制御装置および通信制御方法について説明する。以下では、上記の実施形態で説明された構成と同様の構成については同じ符号を付して図示し、その詳細な説明については適宜省略する。
【００５９】
＜構成＞
図３は、本実施形態に関する通信制御装置を実現するための構成を概念的に例示する図である。
【００６０】
図３に例示されるように、通信制御装置は、フレーム到着判定部３１と、フレーム競合制御部３２と、シフトレジスタ３３と、出力フレーム選択部３４と、バッファメモリ３５とを備える。
【００６１】
フレーム到着判定部３１は、優先度の高いフレームの入力を受け付ける。フレーム競合制御部３２は、フレーム到着判定部３１からの入力を受け付ける。また、フレーム競合制御部３２は、シフトレジスタ３３に対し、インターフレームギャップ期間に関する指示を出力する。また、フレーム競合制御部３２は、出力フレーム選択部３４に対し、シフトレジスタ３３からの入力の受け付けに関する指示を出力する。また、フレーム競合制御部３２は、バッファメモリ３５に対し、出力フレーム選択部３４へのフレームの出力に関する指示を出力する。
【００６２】
シフトレジスタ３３は、フレーム到着判定部３１からの入力を受け付ける。また、シフトレジスタ３３は、フレーム競合制御部３２からの指示の入力を受け付ける。
【００６３】
出力フレーム選択部３４は、フレーム競合制御部３２からの指示に基づいて、シフトレジスタ３３またはバッファメモリ３５からの入力を受け付ける。
【００６４】
バッファメモリ３５は、優先度の低いフレームの入力を受け付ける。また、バッファメモリ３５は、出力フレーム選択部３４に対し、優先度の低いフレームを出力する。
【００６５】
シフトレジスタ３３のシフト段数は、第１実施形態に例示された場合と同様に、入力される複数のフレームの各特定インターフレームギャップ期間のうち、最大の特定インターフレームギャップ期間に対応する段数とする。たとえば、入力される複数のフレームの各特定インターフレームギャップ期間のうち、最大の特定インターフレームギャップ期間が１２ｂｙｔｅである場合、シフトレジスタのシフト段数は１２段とする。
【００６６】
＜作用＞
次に、図４を参照しつつ、本実施形態に関する通信制御装置の作用を説明する。図４は、優先度の低いフレームが時間的に先に入力された後に優先度の高いフレームが入力された場合における、フレームのタイミングチャートである。
【００６７】
優先度の高いフレームが時間的に先に入力された場合、フレーム競合制御部３２は、バッファメモリ３５に転送不許可信号を送信する。また、フレーム競合制御部３２は、出力フレーム選択部３４に、シフトレジスタ３３からの入力を受け付けるための切り換え指示を出す。
【００６８】
転送不許可信号を受け付けたバッファメモリ３５は、出力フレーム選択部３４に対し、優先度の低いフレームを出力しない。
【００６９】
出力フレーム選択部３４は、バッファメモリ３５から入力されたフレームがある場合にはそれを廃棄し、シフトレジスタ３３から入力されたフレームを出力する。
【００７０】
フレーム到着判定部３１に優先度の高いフレームが入力されていない場合、フレーム競合制御部３２は、バッファメモリ３５に転送許可信号を送信する（図４の４０１を参照）。また、フレーム競合制御部３２は、出力フレーム選択部３４に対し、バッファメモリ３５からの入力を受け付けるための指示を出す（図４の４０２を参照）。
【００７１】
転送許可信号を受け付けたバッファメモリ３５は、出力フレーム選択部３４に対し、優先度の低いフレームを出力する。
【００７２】
出力フレーム選択部３４は、バッファメモリ３５から入力された優先度の低いフレームを出力する（図４の４０３を参照）。
【００７３】
次に、フレーム到着判定部３１が、優先度の低いフレームが入力されている途中に、優先度の高いフレームが入力されたことを判別する。そして、フレーム到着判定部３１がフレーム競合制御部３２に、優先度の高いフレームが入力されたことを通知する（図４の４０４を参照）。フレーム競合制御部３２は、当該通知を受けて、バッファメモリ３５に転送不許可信号を送信する（図４の４０５を参照）。また、フレーム競合制御部３２は、出力フレーム選択部３４に、シフトレジスタ３３からの入力を受け付けるための切り換え指示を出す。
【００７４】
フレーム競合制御部３２は、出力フレーム選択部３４に、シフトレジスタ３３からの入力を受け付けるための指示を出す（図４の４０６を参照）。
【００７５】
転送不許可信号を受け付けたバッファメモリ３５は、出力フレーム選択部３４に対し、優先度の低いフレームを出力しない。すなわち、優先度の低いフレームの出力を中断する。
【００７６】
出力フレーム選択部３４は、シフトレジスタ３３から入力された優先度の高いフレームを出力する（図４の４０７を参照）。
【００７７】
この際、シフトレジスタ３３は、優先度の高いフレームを、シフト段数分のアイドル状態の期間を付与して出力する。すなわち、シフト段数分のアイドル状態の期間が経過した後に、優先度の高いフレームを出力する。その結果、優先度の高いフレームは、シフト段数分の固定された出力レイテンシで出力されることとなる（図４の４０８を参照）。
【００７８】
また、フレーム競合制御部３２は、フレーム到着判定部３１における優先度の高いフレームの入力が終了した場合、バッファメモリ３５に転送許可信号を送信する（図４の４０９を参照）。また、フレーム競合制御部３２は、フレーム到着判定部３１における優先度の高いフレームの入力が終了した場合、出力フレーム選択部３４に、バッファメモリ３５からの入力を受け付けるための指示を出す（図４の４１０を参照）。また、フレーム競合制御部３２は、シフトレジスタ３３における優先度の高いフレームの入力が終了した場合、シフトレジスタ３３にアイドル状態に書き換えるよう指示を出す（図４の４１１を参照）。
【００７９】
転送許可信号を受け付けたバッファメモリ３５は、出力フレーム選択部３４に対し、中断されていた優先度の低いフレームを出力する。
【００８０】
出力フレーム選択部３４は、バッファメモリ３５から入力された優先度の低いフレームを出力する（図４の４１２を参照）。
【００８１】
＜効果＞
以下に、上記の実施形態による効果を例示する。なお、以下では、上記の実施形態に例示された具体的な構成に基づく効果が記載されるが、同様の効果が生じる範囲で、本明細書に例示される他の具体的な構成と置き換えられてもよい。また、当該置き換えは、複数の実施形態に跨ってなされてもよい。すなわち、異なる実施形態において例示された各構成が組み合わされて、同様の効果が生じる場合であってもよい。
【００８２】
上記の実施形態によれば、通信制御装置が、時間的に前後のフレーム間にアイドル状態の期間を付与するシフトレジスタ１３と、シフトレジスタ１３の動作を制御する制御部に対応するフレーム競合制御部１２とを備える。
【００８３】
フレーム競合制御部１２は、シフトレジスタ１３にアイドル状態の期間を付与させることにより、少なくとも優先度の高いフレームの時間的に前に、各フレームに対してあらかじめ定められたインターフレームギャップ期間である特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させる。
【００８４】
また、上記の実施形態によれば、通信制御装置は、プログラムを実行する処理回路１０２ａと、プログラムを記憶する記憶装置１０３とを備える。
【００８５】
そして、処理回路１０２ａがプログラムを実行することによって、以下の動作が実現される。
【００８６】
すなわち、シフトレジスタ１３にアイドル状態の期間を付与させることにより、少なくとも優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させる。
【００８７】
また、上記の実施形態によれば、通信制御装置は、処理回路１０２ｂを備える。
【００８８】
そして、処理回路１０２ｂは、以下の動作を行う。
【００８９】
すなわち、処理回路１０２ｂは、シフトレジスタ１３にアイドル状態の期間を付与させることにより、少なくとも優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させる。
【００９０】
このような構成によれば、優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させることができるため、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる。
【００９１】
また、このような構成によれば、フレーム長、または、フレーム競合のタイミングにかかわらず、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる。
【００９２】
また、このような構成によれば、フレームを蓄積するためのバッファメモリを用いる必要がない。
【００９３】
なお、これらの構成以外の本明細書に例示される他の構成については適宜省略することができる。すなわち、これらの構成のみで、上記の効果を生じさせることができる。しかし、本明細書に例示される他の構成のうちの少なくとも１つを上記の構成に適宜追加した場合、すなわち、上記の構成としては記載されなかった本明細書に例示される他の構成を上記の構成に追加した場合でも、同様に上記の効果を生じさせることができる。
【００９４】
また、上記の実施形態によれば、優先度の低いフレームの時間的に後に優先度の高いフレームが入力され、かつ、当該優先度の高いフレームが、特定インターフレームギャップ期間を経過せずに入力された場合に、フレーム競合制御部１２は、特定インターフレームギャップ期間と、優先度の低いフレームの時間的に後、かつ、優先度の高いフレームの時間的に前においてすでに経過したインターフレームギャップ期間との差である未経過期間を算出する。
【００９５】
そして、フレーム競合制御部１２は、シフトレジスタ１３を制御して、当該優先度の高いフレームの時間的に前に、未経過期間に相当するアイドル状態の期間を付与させる。
【００９６】
このような構成によれば、優先度の高いフレームが、特定インターフレームギャップ期間を経過せずに入力された場合にも、シフトレジスタ１３に存在するフレームの後のインターフレームギャップ期間の経過分と、未経過期間に相当するシフト段数分のアイドル状態の期間とを足し合わせることで、優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させることができる。そのため、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる。
【００９７】
また、上記の実施形態によれば、フレーム競合制御部１２は、シフトレジスタ１３にアイドル状態の期間を付与させることにより、優先度の低いフレームの時間的に前にも、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させる。
【００９８】
このような構成によれば、優先度の低いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させることができるため、優先度の低いフレームの出力レイテンシを固定しつつ、優先度の低いフレームのインターフレームギャップ期間を確保することができる。
【００９９】
また、上記の実施形態によれば、優先度の低いフレームが入力されている途中で優先度の高いフレームが入力され、優先度の低いフレームの入力が中断された場合に、フレーム競合制御部３２は、シフトレジスタ３３を制御して、優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を付与させる。
【０１００】
このような構成によれば、優先度の低いフレームが入力されている途中で優先度の高いフレームが入力され、優先度の低いフレームの入力が中断された場合にも、優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させることができるため、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる。
【０１０１】
また、上記の実施形態によれば、特定インターフレームギャップ期間が、複数の優先度の高いフレームの各特定インターフレームギャップ期間のうち、最大の特定インターフレームギャップ期間である。
【０１０２】
このような構成によれば、入力される複数のフレームごとにシフト段数を決定する必要がなく、制御を単純化することができる。よって、迅速な制御にも対応することができる。
【０１０３】
また、上記の実施形態によれば、通信制御方法において、シフトレジスタ１３に、時間的に前後のフレーム間にアイドル状態の期間を付与させることにより、少なくとも優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させる。
【０１０４】
このような構成によれば、優先度の高いフレームの時間的に前に、特定インターフレームギャップ期間に相当するアイドル状態の期間を存在させることができるため、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる。
【０１０５】
また、このような構成によれば、フレーム長、または、フレーム競合のタイミングにかかわらず、優先度の高いフレームの出力レイテンシを固定しつつ、優先度の高いフレームのインターフレームギャップ期間を確保することができる。
【０１０６】
なお、これらの構成以外の本明細書に例示される他の構成については適宜省略することができる。すなわち、これらの構成のみで、上記の効果を生じさせることができる。しかし、本明細書に例示される他の構成のうちの少なくとも１つを上記の構成に適宜追加した場合、すなわち、上記の構成としては記載されなかった本明細書に例示される他の構成を上記の構成に追加した場合でも、同様に上記の効果を生じさせることができる。
【０１０７】
また、特に制限のない限り、各処理の実施の順序は変更することができる。
【０１０８】
＜変形例＞
上記実施形態では、各構成要素の寸法、形状、相対的配置関係または実施の条件などについても記載する場合があるが、これらはすべての局面において例示であって、本明細書に記載されたものに限られることはない。よって、例示されていない無数の変形例が、本明細書に開示される技術の範囲内において想定される。たとえば、少なくとも１つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも１つの実施形態における少なくとも１つの構成要素を抽出し、他の実施形態の構成要素と組み合わせる場合が含まれる。
【０１０９】
また、矛盾が生じない限り、上記実施形態において「１つ」備えられるものとして記載された構成要素は、「１つ以上」備えられていてもよい。さらに、各構成要素は概念的な単位であって、１つの構成要素が複数の構造物から成る場合と、１つの構成要素がある構造物の一部に対応する場合と、さらには、複数の構成要素が１つの構造物に備えられる場合とを含む。また、各構成要素には、同一の機能を発揮する限り、他の構造または形状を有する構造物が含まれる。
【０１１０】
また、本明細書における説明は、本技術に関するすべての目的のために参照され、いずれも、従来技術であると認めるものではない。
【０１１１】
また、上記実施形態で記載された各構成要素は、ソフトウェアまたはファームウェアとしても、それと対応するハードウェアとしても想定され、その双方の概念において、各構成要素は「部」または「処理回路」などと称される。
【０１１２】
本明細書に開示される技術は、各構成要素が複数の装置に分散して備えられる場合（すなわち、システムのような態様）であってもよい。
【符号の説明】
【０１１３】
１１，３１  フレーム到着判定部、１２，３２  フレーム競合制御部、１３，３３  シフトレジスタ、３４  出力フレーム選択部、３５，５１，５２  バッファメモリ、５３  優先制御部、６１  制御側機器、６２，６３  被制御側機器、１０２ａ，１０２ｂ  処理回路、１０３  記憶装置。
【図１】
0006275096.tif 000002
【図２】
0006275096.tif 000003
【図３】
0006275096.tif 000004
【図４】
0006275096.tif 000005
【図５】
0006275096.tif 000006
【図６】
0006275096.tif 000007
【図７】
0006275096.tif 000008
【図８】
0006275096.tif 000009