(57)【要約】【課題】異なるプロトコルの通信を並行して実行された場合に、優先すべきパケットの処理の遅延を防止する。【解決手段】通信装置は、複数の通信プロトコルで通信を行う通信部を有し、複数の通信プロトコルで受信した複数のパケットから属性情報を抽出し、抽出された属性情報の構成に基づいて、複数のパケットについて複数の通信プロトコルに共通の優先順位を決定し、決定した優先順位に基づいてパケットを処理する。【選択図】  図５
2019021992.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信プロトコルで通信を行う通信手段と、
前記複数の通信プロトコルで受信した複数のパケットから属性情報を抽出する抽出手段と、
前記抽出手段により抽出された属性情報の構成に基づいて、前記複数のパケットについて前記複数の通信プロトコルに共通の優先順位を決定する決定手段と、
前記決定手段が決定した前記優先順位に基づいてパケットを処理する処理手段と、を備えることを特徴とする通信装置。
【請求項２】
前記決定手段は、実行されるアプリケーションの種別に応じて、前記属性情報の構成と優先順位の対応を変更することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記アプリケーションの種別とは、時刻同期を行う同期アプリケーションと時刻同期の必要がない非同期アプリケーションを含むことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記決定手段は、前記通信装置が実行する動作モードに応じて、前記属性情報の構成と優先順位の対応を変更することを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記動作モードは、前記通信装置における全ての機能を実行可能な通常モードと、前記通常モードよりも低消費電力なスタンバイモードとを含むことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記処理手段は、前記優先順位に基づいて決定された転送順序で前記複数のパケットを、前記複数の通信プロトコルに共通の上位層へ転送することを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記通信手段は、異なる通信プロトコルでの通信を行う複数の通信インターフェースを含み、
前記複数の通信インターフェースの各々が使用する通信帯域を取得する取得手段をさらに備え、
前記処理手段は、前記優先順位に基づいて、前記複数の通信インターフェースの各々が使用する通信帯域の和が、上位層の処理能力を超えないように前記複数の通信インターフェースで受信したパケットを処理することを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
前記処理手段は、通信帯域の前記和が前記処理能力を超える場合に、前記優先順位の低いパケットの帯域予約の停止を通知することを特徴とする請求項７に記載の通信装置。
【請求項９】
前記処理手段は、実行中の帯域予約による通信が完了した場合に、前記停止を通知した前記帯域予約の再開が可能であることを通知することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記処理手段は、前記優先順位が低いパケットの破棄、もしくは受信処理を停止することを特徴とする請求項７に記載の通信装置。
【請求項１１】
通信装置の制御方法であって、
第一の通信プロトコルと第二の通信プロトコルを含む複数の通信プロトコルで通信を行う通信工程と、
前記複数の通信プロトコルで受信した複数のパケットから属性情報を抽出する抽出工程と、
前記抽出工程により抽出された属性情報に基づいて、前記複数のパケットについて前記複数の通信プロトコルに共通の優先順位を決定する決定工程と、
前記決定工程で決定された前記優先順位に基づいてパケットを処理する処理工程と、を有することを特徴とする通信装置の制御方法。
【請求項１２】
請求項１乃至１０のいずれか１項に記載された通信装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる複数の通信プロトコルで通信を行う通信装置およびその制御方法に関する。
【背景技術】
【０００２】
近年、イーサネット（Ethernet（登録商標））によるネットワーク通信が一般的に使用されており、インターネットから、ローカルエリアネットワーク、機器間通信に至るまで使用範囲が広がっている。ネットワーク通信においては、メールやＨＴＴＰなどを使用したファイルデータの通信に加えて、ＶｏＩＰやＶＯＤに代表されるAudio／Videoなどのストリームデータの通信への使用が増大している。したがって、ネットワーク通信において異なるトラヒック特性を持つ通信の共存が求められている。ここで、ＨＴＴＰはHypertext Transfer Protocol、ＶｏＩＰはVoice Over IP、ＶＯＤはVideo On Demandである。ＩＥＥＥ（米国電気電子学会）ではＡＶＢと呼ばれる音声や画像伝送のための規格を策定し、ＱｏＳ（Quality of Service）を行うことにより高品質で安定したストリームデータ通信の提供を目指している。ＡＶＢはIEEE802.1 Audio Video Bridgingである。
【０００３】
ＡＶＢやＶｏＩＰにおいては、特定の通信を優先して伝送させたり、通信帯域を確保したりする通信制御を行っている。例えば、ＶｏＩＰでは音声パケットを帯域保証し、優先送信することが行われている。またＡＶＢでは、Audio/Videoストリーム（以下、ＡＶストリーム）のためにブリッジでリソースを保障するリソース予約プロトコル（ＲＳＶＰ：Resource Reservation Protocol）が用いられている。無線ＬＡＮにおいては、ＱｏＳ通信を実現するための優先制御方式としてＥＤＣＡ、ＨＣＣＡがIEEE802.11eに規定されている。ＥＤＣＡはEnhanced Distributed Channel Accessを、ＨＣＣＡはHybrid Coordination Function Controlled Channel Accessを表す。ＥＤＣＡでは優先度の高いフレームを優先して送信する。ＨＣＣＡでは、優先度の高いパケットに専用の帯域を割り当てる。
【０００４】
特許文献１では、パケットのフレーム種類を判別して優先度を設定し、高い優先度の送信フレームの内部衝突を減少させることで優先度の高い映像フレームが遅延したり破棄されたりするのを抑制し、映像品質を向上させることが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−５０５９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般に、複数種類の通信プロトコルで受信したパケットを上位層に転送する場合、通信プロトコルごとのパケットの優先順は維持されるものの、異なる通信プロトコルで受信したパケットとの間の転送順は考慮されていない。たとえば、ＡＶＢ対応の有線通信Ｉ／ＦとIEEE802.11e対応の無線通信Ｉ／Ｆのマルチインターフェースを有する複数の通信ノードで構成される通信システムを考える。この場合、各通信ノードではＡＶＢパケットと無線ＱｏＳパケットは、それぞれのプロトコルにおける優先順と、受信のタイミングに応じて順次に転送、処理される。
【０００７】
その為、通信ノードにおいては、ＡＶＢパケットと無線ＱｏＳパケットとの間での処理順序が保証されず、無線ＱｏＳパケットの処理が先に実行されるとＡＶＢパケットにおける同期データ処理が遅延する可能性がある。より具体的には、上位層であるプロトコルスタック処理やアプリケーション処理におけるデータ処理限界の近傍でＡＶＢパケットを受信、処理しているときに無線ＱｏＳパケットを受信するとＡＶＢパケットの処理が破綻する可能性がある。
【０００８】
本発明は、上記の課題に鑑みてなされたものであり、異なるプロトコルの通信を並行して実行された場合に、優先すべきパケットの処理の遅延を防止することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための本発明の一態様による通信装置は以下の構成を備える。すなわち、
複数の通信プロトコルで通信を行う通信手段と、
前記複数の通信プロトコルで受信した複数のパケットから属性情報を抽出する抽出手段と、
前記抽出手段により抽出された属性情報の構成に基づいて、前記複数のパケットについて前記複数の通信プロトコルに共通の優先順位を決定する決定手段と、
前記決定手段が決定した前記優先順位に基づいてパケットを処理する処理手段と、を備える。
【発明の効果】
【００１０】
本発明によれば、異なるプロトコルの通信が並行して実行されても、優先すべきパケットの処理の遅延が防止される。
【図面の簡単な説明】
【００１１】
【図１】実施形態による通信システムの構成を示す図。
【図２】第１実施形態における通信ノードの構成を示すブロック図。
【図３】第１実施形態におけるＱｏＳ通信制御を示すフローチャート。
【図４】共通優先順位リストの例を示す図。
【図５】第１実施形態における共通優先順位決定部の動作を説明する図。
【図６】第１実施形態におけるＱｏＳ通信制御を示すシーケンスチャート。
【図７】第３実施形態における帯域予約の制御を示すフローチャート。
【図８】第３実施形態におけるＱｏＳ通信制御を示すシーケンスチャート。
【発明を実施するための形態】
【００１２】
＜第１実施形態＞
図１に第１実施形態における通信システムの構成図を示す。本実施形態の通信システムでは、複数の通信ノードがＱｏＳ通信を行う。各通信ノードは、異なる通信プロトコルで受信した通信パケットを共通の上位層に転送するように構成されている。このとき、通信ノードは、夫々の通信パケットに含まれる属性情報（および上位層で実行されるソフトウエアの指示）に応じて、異なる通信プロトコルの夫々の優先順序を共通の優先順序に並べ変えて上位層への転送を実行する。図１に示す通信システムでは、４台の通信装置としての通信ノード１０１〜１０４とＡＶストリーマ（AV (Audio Video) Streamer）１１０が、ネットワークハブ１２０を介して接続されている。ＡＶストリーマ１１０にはコンテンツソース１１１が接続されている。
【００１３】
本実施形態において、４台の通信ノード１０１〜１０４はネットワークプロジェクタである。即ち、本実施形態の通信システムは、４台のネットワークプロジェクタとＡＶストリーマ１１０が、例えばイーサネット（登録商標）で構成されたＬＡＮ（Local Area Network）を介して接続されたマルチプロジェクションシステムである。通信ノード１０１〜１０４は、通信ノード１０２が送信する制御パケットに応答して同期して映像を再生するものとする。また、ＡＶストリーマ１１０は、コンテンツソース１１１のＡＶ（Audio Video）コンテンツを通信ノード１０２の制御パケットに応答して通信ノード１０１〜１４のそれぞれに配信する。
【００１４】
本実施形態において、通信ノード１０１〜１０４および、ＡＶストリーマ１１０はそれぞれＡＶＢに対応しており、通信ノード１０１〜１０４は、ＡＶストリーマ１１０から送信されるＡＶコンテンツデータを同期再生することが可能である。また、ＡＶストリーマ１１０がＡＶＢにおける時刻同期の際のクロックマスタとして機能し、通信ノード１０１〜１０４はＡＶストリーマ１１０に時刻同期しているものとする。また、ＡＶストリーマ１１０は、通信ノード１０１〜１０４へ配信するＡＶコンテンツデータの通信帯域予約を行い、ＡＶＢパケットとして送信する。
【００１５】
通信システムにおいてマルチプロジェクションを開始する際、通信ノード１０２からＡＶコンテンツデータ再生制御パケットがＡＶストリーマ１１０に送信される。その後、ＡＶストリーマ１１０から通信ノード１０１〜１０４の各々へ帯域保証パケットであるＡＶコンテンツデータが送信される。通信ノード１０１〜１０４では受信した帯域保証パケットをパケット中に挿入されるタイムスタンプ情報に従い、ＡＶストリーマ１１０に同期した時間で再生することで同期再生を行う。同期再生中のマルチプロジェクションを停止させる際は、通信ノード１０２から停止パケットがＡＶストリーマ１１０および通信ノード１０１、１０３、１０４に送信される。
【００１６】
一方、通信ノード１０１〜１０４の各々はＡＰ（Access Point）１３０と無線接続されており、ＡＰ１３０と接続された無線通信ノード１０５とIEEE802.1eに規定される通信プロトコルで相互に通信可能である。したがって、通信ノード１０１〜１０４の各々は有線通信Ｉ／ＦでＡＶＢ通信を行いつつ、無線通信ノード１０５から送信されるＡＶコンテンツデータや制御データ、ファームウエア（以下、ＦＷ）を無線通信Ｉ／Ｆで受信して処理することが可能である。例えば、通信ノード１０１〜１０４の各々では、ＡＶＢ通信によるＡＶストリームの再生中に無線Ｉ／Ｆで受信した動画のＰｉｎＰ表示、ＰｉｎＰの画質／表示の調整、ＦＷアップデートなどを行うアプリケーションが実行され得る。なお、ＰｉｎＰとはPicture in Pictureの略である。
【００１７】
なお、本実施形態では、通信ノード１０１〜１０４及びＡＶストリーマ１１０はＡＶＢに対応した通信を行うと仮定したがこれに限られるものではない。たとえば、ＶｏＩＰ等の他の通信プロトコルを使用した通信であってもよい。同様に、通信ノード１０１〜１０４と無線通信ノード１０５との間はIEEE802.1eで規定されているＱｏＳ通信を仮定したが他の通信プロトコルであってもよい。また、本実施形態ではネットワークプロジェクタ（通信ノード１０１〜１０４）とＡＶストリーマ１１０を備えたマルチプロジェクションシステムを想定したが、これに限られるものではない。たとえば、プリンタやカメラ等のネットワーク機能を有する通信機器で構成された通信システムであってもよい。
【００１８】
以下、本実施形態の通信システムにおいて、通信ノード１０１がＡＶストリーマ１１０から送信されるＡＶＢパケットを受信中に無線通信ノード１０５からの無線パケットを受信した場合の動作を説明する。この場合、通信ノード１０１では、ＡＶＢパケットと無線パケットを各々の通信プロトコルで規定される優先順序で受信処理する。ここで受信処理とはＡＶＢのＭＡＣ（Media Access Control）における受信キューへの振り分けやＥｔｈｅｒｎｅｔや無線ＬＡＮにおけるデータリンク層の処理である。この受信処理については各々の通信プロトコルに従うものとしてここでは説明を割愛する。受信処理されたパケットは上位層であるプロトコル処理層やアプリケーション処理層へ転送され、ＴＣＰ／ＩＰやＵＤＰ等のプロトコルスタック処理や映像再生、機器制御、ＦＷアップデート等のアプリケーション処理がなされる。ここで、ＴＣＰ／ＩＰはTransmission Control Protocol / Internet Protocolであり、ＵＤＰは、User Datagram Protocolである。
【００１９】
これらの上位層へのパケットの転送は、異なる通信プロトコル間での処理優先順序が規定されていない場合、受信処理の完了順に行われる。したがって、上位層におけるパケット処理は、通信プロトコルにおける受信処理の完了順に実行されることになる。そのため、通信ノード１０１がＡＶＢパケットと無線パケットを受信し、ＡＶＢパケットの上位層への転送が無線パケットの転送により遅延すると、ＡＶＢパケットによるＱｏＳ通信が上位層で破綻する可能性がある。即ち、通信システムにおけるマルチプロジェクション等の映像の同期再生が無線パケットを受信した際に崩れる可能性がある。
【００２０】
本実施形態では、通信ノード１０１においてＡＶＢパケットと無線パケットが受信された場合でもＡＶＢ通信によるＱｏＳ通信が破綻しないように、異なる通信プロトコル間で上位層へのパケット転送の優先順序を規定する。以下、このような処理を実現するための通信ノードの構成および制御について説明する。
【００２１】
図２は、第１実施形態における通信ノード１０１〜１０４の内部構成例を示すブロック図である。図２において、プロセッサ２０７はメモリ２０６に格納されている所定のプログラムを実行することにより、通信ノードの制御をつかさどる。メモリ２０６は、プロセッサ２０７が実行するプログラムを格納するとともに、各機能ブロックが共有して使用するメモリ空間を提供する。アドレス・データバス２０５は機能ブロック間のデータのやり取りに使用される。ＡＶデータ処理部２０８は、ＡＶストリーマ１１０や無線通信ノード１０５から送信されるＡＶデータから映像、音声を生成する。投影部２０９は、ＡＶデータ処理部２０８で生成された映像を投影し、生成された音声を再生する。プロセッサ２０７は制御データ等を処理し、通信ノードの動作を制御する。
【００２２】
有線通信Ｉ／Ｆ部２００と無線通信Ｉ／Ｆ部２０１は、複数の通信プロトコルで通信を行う通信部を構成する。有線通信Ｉ／Ｆ部２００は、例えば有線ＬＡＮと接続して外部の装置と通信を行うインターフェースである。本実施形態ではネットワークハブ１２０を介して他の通信ノードおよびＡＶストリーマ１１０と通信が行われる。より具体的には、有線通信Ｉ／Ｆ部２００は、ＡＶストリーマ１１０から受信する音声、動画パケット等のＡＶＢパケット、他の通信ノードと送受信する制御データ等の非ＡＶＢパケットを送受信処理する。ここで、非ＡＶＢパケットとはＴＣＰ／ＩＰやＵＤＰのパケットとする。無線通信Ｉ／Ｆ部２０１は例えば無線ＬＡＮと接続して外部の装置と通信を行うインターフェースである。本実施形態では、ＡＰ１３０を介して無線通信ノード１０５と通信が行われる。より具体的には、無線通信Ｉ／Ｆ部２０１は、無線通信ノード１０５からＡＰ１３０を介して受信する音声、動画パケットや制御パケット等のＥＤＣＡによる優先度が付与されたパケットを送受信し、処理する。
【００２３】
ヘッダ解析部２０２は、各々の通信Ｉ／Ｆ部２００、２０１で受信処理されたパケットから、パケットの優先順位の決定に必要な属性情報として、たとえば、各通信プロトコルで規定される優先度情報を抽出する。抽出される優先度情報としては、たとえば、ＡＶＢパケット、非ＡＶＢパケットなどのプロトコル種別、ＩＰヘッダのＴＯＳ（Type Of Service）フィールド値、アプリケーションヘッダによる音声／動画等のパケット種別、が挙げられる。また、受信パケットのポート番号からアプリケーションにより定められるソケット番号を特定し、優先度情報に使用してもよい。
【００２４】
共通優先順位決定部２０３は、ヘッダ解析部２０２により抽出された属性情報（優先度情報）に基づいて、受信したパケットの、複数の通信プロトコルで共通の優先順位を決定する。本実施形態では、共通優先順位決定部２０３は、ヘッダ解析部２０２が抽出した優先度情報とあらかじめ用意された共通優先順位リストとに基づいて、受信処理されたパケットのプロトコルスタック処理部２０４への転送順序、処理順序を決定する。共通優先順位決定部２０３は、こうして決定した順序でパケットを転送キューへ投入する。共通優先順位リストの詳細については後述する。なお、共通優先順位決定部２０３において、全ての受信パケットの優先制御を集約したが、各々の通信プロトコルに従うＱｏＳ制御が行われた後、共通優先順位決定部２０３において異なる通信プロトコル間での共通の処理順序が付与されてもよい。
【００２５】
プロトコルスタック処理部２０４は、共通優先順位決定部２０３において転送キューに投入された順序に従って、ＴＣＰ／ＩＰ、ＵＤＰ等のプロトコルスタック処理を行う。なお、図２では、有線通信Ｉ／Ｆ部２００と無線通信Ｉ／Ｆ部２０１におけるプロトコルスタック処理を共通のブロックで行うことを想定しているがこれに限られるものではない。有線通信Ｉ／Ｆ部２００と無線通信Ｉ／Ｆ部２０１ごとに、もしくは、通信プロトコルごとに独立してプロトコルスタック処理が行われてもよい。この場合、プロトコルスタックの上位層であるアプリケーション層にデータ（パケット）が転送される際に、上述した共通の優先制御が実行されればよい。また更に、上述の優先制御は上位層の処理順序決定に限定されず、中継装置における送信バッファへのパケットの投入順序の決定方法としても使用できることは言うまでもない。
【００２６】
次に、第１実施形態の通信ノード１０１〜１０４におけるＱｏＳ通信制御について説明する。図３は、第１実施形態の通信ノードにおけるＱｏＳ通信制御を示すフローチャートである。
【００２７】
Ｓ３００において、有線通信Ｉ／Ｆ部２０１はＡＶストリーマ１１０からのＡＶＢパケットを受信する。また、通信ノード１０１、１０３、１０４の有線通信Ｉ／Ｆ部２０１では、通信ノード１０２からの非ＡＶＢパケットである制御パケットを受信する。さらに、無線通信Ｉ／Ｆ部２０１は、無線通信ノード１０５から、ＥＤＣＡに基づく優先度が付与された種々のパケットを受信する。
【００２８】
Ｓ３０１において、ヘッダ解析部２０２は、有線通信Ｉ／Ｆ部２００と無線通信Ｉ／Ｆ部２０１の受信バッファ（不図示）に異なる通信プロトコルのパケットが存在するか否かを判定する。なお、本実施形態の図２に示すブロック構成のように通信プロトコルに応じて通信Ｉ／Ｆが独立している場合には、Ｓ３０１における判定は、各通信Ｉ／Ｆの各々の受信バッファにパケットがあるか否かのみの判定でも良い。
【００２９】
単一の通信プロトコルの受信パケットのみであると判定された場合（Ｓ３０１でＮＯ）、Ｓ３０４において、ヘッダ解析部２０２は、通信プロトコルに規定されるＱｏＳ制御に従う順序でパケットを転送キューに投入する。
【００３０】
一方、複数の通信プロトコルのパケットを受信していると判定された場合（Ｓ３０１でＹＥＳ）、Ｓ３０２において、ヘッダ解析部２０２は、各パケットのヘッダを解析して各パケットの優先度情報を抽出する。そして、Ｓ３０３において、共通優先順位決定部２０３は、共通優先順位リストとＳ３０２で抽出された優先度情報に従って、受信パケットの優先順位を決定し、受信パケットの処理順序を決定する。Ｓ３０４において、共通優先順位決定部２０３はＳ３０３で決定した優先順位に従い、パケットを上位層の処理への転送キューへ投入する。ここで、受信パケットの処理とはＴＣＰ／ＩＰやＵＤＰ等のプロトコルスタック処理や映像再生、機器制御、ＦＷアップデート等のアプリケーション処理である。
【００３１】
図４（ａ）に第１実施形態における、パケットの優先順位を決定するための共通優先順位リスト４００ａを示す。共通優先順位リスト４００ａは、共通優先順位決定部２０３に格納されており、通信プロトコル４０１、ＴＯＳフィールド情報４０２、ソケット番号４０３、アプリケーションヘッダ情報４０４などの属性情報の構成と、処理順序４０５との対応を示す。
【００３２】
図４（ａ）の共通優先順位リスト４００ａでは、異なる通信プロトコル間での優先順位決定を行う際の判断材料として想定される属性情報をリスト化し、処理順序を割り当てている。但し、全ての属性情報をリストとして有する必要はなく、少なくとも異なる通信プロトコルのパケット間で優先順位を決定できる属性情報があればよい。また、共通優先順位リスト４００ａ内の処理順序４０５はアプリケーション層からの指示に従って、変更、更新されてもよい。即ち、共通優先順位リスト４００ａの属性情報の構成と処理順序４０５との対応は通信ノード１０１〜１０４で実行されるアプリケーションの種別や組み合わせに応じて動的に変更、更新されてもよい。
【００３３】
例えば、図４（ａ）に示す共通優先順位リスト４００ａは通信ノード１０１〜１０４においてＰｉｎＰを実行するアプリケーションとＦＷをダウンロードするアプリケーションが実行された際を想定したリストである。そのため、ＡＶストリーマ１１０からＡＶＢパケットとして受信する音声、動画パケットの優先順位が高く、次に無線通信ノード１０５から受信する音声、動画パケットの優先順位が高く設定される。ここで、たとえばＦＷダウンロードが終了し、ＦＷアップデートのアプリケーションが実行される場合には、非ＡＶＢのＦＷパケットや無線ＬＡＮのＦＷパケットの処理順序が他のパケットよりも高くなるように共通優先順位リスト４００ａが変更されてもよい。なお、パケットの属性情報に基づいて異なる通信プロトコル間でのパケットの優先順位を決定できればよいので、パケットの優先順位の決定において必ずしも図４（ａ）のようなリスト化された情報が用いられる必要はない。
【００３４】
図５は、第１実施形態における共通優先順位の決定処理に関わる機能部の動作を説明する図である。図５では、通信ノード１０１〜１０４において、各通信Ｉ／Ｆから受信された異なる通信プロトコルのパケットに対し、上述の共通優先順位リスト４００ａを用いて共通の優先順位が決定される例を説明する。
【００３５】
有線通信Ｉ／Ｆ部２００では、ＡＶストリーマ１１０からの受信パケットであるＡＶＢパケット５００〜ＡＶＢパケット５０２、通信ノード１０２からの受信パケットである非ＡＶＢパケット５０３が、受信バッファに蓄積されている。一方、無線通信Ｉ／Ｆ部２０１では、無線通信ノード１０５からの受信パケットである、ＥＤＣＡにより優先度設定されたＶＯパケット５０４、ＶＩパケット５０５、ＢＥパケット５０６、ＢＫパケット５０７が受信バッファに蓄積されている。なお、ＶＯ、ＶＩ、ＢＥ、ＢＫはＥＤＣＡにおける規定のアクセスカテゴリであり、ＶＯはVoice、ＶＩはVideo、ＢＥはBest Effort、ＢＫはBack Groundである。
【００３６】
ヘッダ解析部２０２は、パケットのヘッダを解析して、通信プロトコル、ＴＯＳフィールド情報、アプリケーションヘッダ情報を抽出する。また、各受信パケットのポート番号から対応するアプリケーションが指定したソケット番号が決定される。ここで、ＡＶＢパケットのＴＯＳフィールド情報のように、通信プロトコルの種別によっては優先度情報の一部が抽出できない場合がある。そのような場合は、他の優先順位情報に基づいて処理順序が決定される。すなわち、共通優先順位リスト４００ａにより優先順位を判定するのに必要な優先度情報が抽出できればよい。
【００３７】
共通優先順位決定部２０３は、共通優先順位リスト４００ａとヘッダ解析部２０２で抽出された優先度情報に基づいてプロトコルスタック処理部２０４へのデータ転送のための転送キュー５０８への投入順序を決定する。なお、共通優先順位リスト４００ａは、通信ノード１０１〜１０４において想定される全ての受信パケットの通信プロトコルで規定される優先度情報の組み合わせを登録していてもよいし、特定の優先度情報の組み合わせを登録したものでもよい。
【００３８】
図５の例では、図４（ａ）の共通優先順位リスト４００ａにしたがって、有線通信Ｉ／Ｆ部２００からのＡＶＢパケット５０１〜５０２が最優先で転送キュー５０８に投入される。その後、無線通信Ｉ／Ｆ部２０１からのＶＯパケット５０４、ＶＩパケット５０５の順に転送キュー５０８へ投入される。また、アプリケーション層からの指示５０９により、通信ノード１０１〜１０４で実行されるアプリケーションの種別や組み合わせが通知され、共通優先順位リスト４００ａにおける処理順序が変更、更新される。たとえば、実行中のアプリケーションの種別とは、時刻同期を行う同期アプリケーションと時刻同期の必要がない非同期アプリケーションを含む。
【００３９】
図６は、第１実施形態におけるＱｏＳ通信制御を表すシーケンスチャートである。なお、図６では、説明および図示の簡略化のために通信ノード１０３、通信ノード１０４の動作を省略している。
【００４０】
Ｓ６００では、ＡＶストリーマ１１０がネットワークハブ１２０を介して通信ノード１０１〜１０４へ時刻同期情報を送信する。Ｓ６０１、Ｓ６０２では、通信ノード１０１、通信ノード１０２においてＡＶストリーマ１１０からの時刻同期情報に基づく時刻同期が完了する。ここでは、時刻同期の詳細な説明は割愛するがＡＶＢ等の既定の通信プロトコルの手順に従うものとする。
【００４１】
Ｓ６０３において、通信ノード１０２はネットワークハブ１２０を介して通信ノード１０１及びＡＶストリーマ１１０へ再生制御パケットを送信する。Ｓ６０４、Ｓ６０５においてＡＶストリーマ１１０、通信ノード１０１が再生制御パケットを受信する。図示していないが通信ノード１０３、通信ノード１０４に対しても同様に再生制御パケットが受信されるものとする。またこの際、ＡＶＢに規定される帯域予約プロトコルに従う通信が行われ、通信ノード１０１〜１０４はＡＶストリーマ１１０からのＡＶコンテンツを同期再生可能な状態となる。
【００４２】
Ｓ６０６においてＡＶＢパケットとしてＡＶコンテンツがＡＶストリーマ１１０からネットワークハブ１２０を介して通信ノード１０１〜１０４へ送信される。Ｓ６０７、Ｓ６０８では通信ノード１０２、１０１がＡＶストリーマ１１０からのＡＶコンテンツを受信し、同期再生処理を開始する。Ｓ６０９ではＳ６０６によるＡＶＢパケットの送信中に、通信ノード１０２が非ＡＶＢパケットとして画質調整のパケットを通信ノード１０１に送信する。また、Ｓ６１０〜Ｓ６１５では、無線通信ノード１０５がＡＰ１３０を介して音声であるＶＯパケット、動画であるＶＩパケット、制御情報であるＢＥパケットを通信ノード１０１へ送信する。通信ノード１０１はこれらのパケットを受信する。
【００４３】
通信ノード１０１は同タイミングで受信した各パケットに対して上述した優先制御を行い、処理順序を決定する。その結果、Ｓ６１６において、通信ノード１０１は、ＡＶＢパケットである音声、動画を最優先で処理する。Ｓ６１７〜Ｓ６２０で通信ノード１０１は、無線通信Ｉ／Ｆ部２０１から受信した音声であるＶＯパケット、動画であるＶＩパケット、制御情報であるＢＥパケット、有線通信Ｉ／Ｆ部２００から受信した画質調整情報である非ＡＶＢパケットをこの順で処理する。
【００４４】
以上のように、第１実施形態によれば、通信ノードが受信したＡＶＢパケットと無線ＱｏＳパケットの処理順序が共通の優先順位に従って規定される。このため、ＡＶＢパケットにおける優先制御が無線ＱｏＳパケットの受信によって影響を受けることを抑制することが可能となる。即ち、異なる複数の通信プロトコルでパケットを受信する場合にも上位層であるプロトコルスタック処理やアプリケーション処理におけるデータ処理が破綻しないように制御することが可能となる。
【００４５】
＜第２実施形態＞
第１実施形態においてアプリケーション層の指示に従い、共通優先順位リスト４００ａの処理順序が変更され得ることを述べた。第２実施形態では、通信ノード１０１〜１０４のそれぞれにおける動作モードの切り替えに応じて共通優先順位リストの処理順序が変更される構成を説明する。なお、第２実施形態における通信システム、通信ノードの構成は第１実施形態と同様である。
【００４６】
通信ノード１０１〜１０４は動作モードとして、通信ノードの全ての機能を実行可能な通常モードと、通常モードに比較して低消費電力なスタンバイモードとを有する。スタンバイモードでは、例えば動作クロックの低速化とともに、図２の機能ブロックの内、ＡＶデータ処理部２０８と投影部２０９への電力供給を止めることにより低消費電力を実現する。その為、スタンバイモードにおいては動画、音声データの再生は行われず、ＡＶＢで受信したパケット（動画、音声データ）はメモリ２０６に蓄積されるのみの動作に制限される。
【００４７】
一方、スタンバイモード中は通常モード移行の為の制御パケットに即時応答することやＦＷのダウンロードおよびアップデートが行われることが想定される。そこで、通信ノード１０１〜１０４においては、制御やＦＷ等のためのパケットの処理優先度を高めて処理することが望ましい。そこで、第２実施形態では、通常モードからスタンバイモードに切り替わった際に図４（ｂ）に示されるように共通優先順位リストが変更される。
【００４８】
以上から、共通優先順位決定部２０３は、通信ノードが通常モードで動作している場合は共通優先順位リスト４００ａを使用し、スタンバイモードで動作している場合は共通優先順位リスト４００ｂを使用する。すなわち、スタンバイモード中は、共通優先順位決定部２０３は、ＡＶＢ無線ＬＡＮで受信される音声、動画パケットの処理順序をＦＷパケットに比較して低く設定した共通優先順位リスト４００ｂを用いて受信パケットの優先制御が行われる。
【００４９】
以上のように、第２実施形態によれば、通信ノード１０１〜１０４のそれぞれは、動作モードに応じて複数の通信プロトコルにおける優先制御を動的に変更する。これにより、アプリケーション層において意図する優先処理の実現が可能になる。
【００５０】
なお、第１実施形態および第２実施形態では、複数の通信プロトコルを複数の通信インターフェースにより実現したが、これに限られるものではない。第１実施形態と第２実施形態で説明した、複数の通信プロトコルで共通の優先順位を決定してパケットの処理順を制御する構成は、複数の通信プロトコルを１つの通信インターフェースで実現する構成にも適用できることは明らかである。
【００５１】
＜第３実施形態＞
第１実施形態、第２実施形態では異なる通信プロトコルのパケットに対する共通の優先制御について述べたが、第３実施形態では異なる通信プロトコル間での帯域制御に関して述べる。なお、第２実施形態における通信システム、通信ノードの構成は第１実施形態と同様である。
【００５２】
ＱｏＳ制御を行う通信プロトコルにおいて、予め自機が使用する帯域を予約し、他の通信機器に優先してネットワーク回線にパケットを送信する仕組みがある。ＡＶＢやIEEE802.1eのＨＣＣＡにおいても同様のプロトコルが規定されている。以下では、通信ノード１０１〜１０４のプロトコルスタック処理部２０４である上位層の処理能力と有線通信Ｉ／Ｆ部２００および無線通信Ｉ／Ｆ部２０１の通信帯域を考慮した上で異なる通信プロトコル間の帯域制御を行う方法を説明する。以下、上位層の処理能力を処理帯域で表す。
【００５３】
以下、通信ノード１０１〜１０４において、上位層の処理帯域は有線通信Ｉ／Ｆ部２００と無線通信Ｉ／Ｆ部２０１の通信帯域の和よりも低いものとして説明を行う。複数の通信Ｉ／Ｆ部もしくは、複数の通信プロトコルを扱う通信ノードにおいては、夫々の通信Ｉ／Ｆ、通信プロトコルの使用する通信帯域の和が上位層の処理帯域を超えないように制御する必要がある。複数の通信Ｉ／Ｆもしくは通信プロトコルで使用する通信帯域が上位層の処理帯域を超える場合、受信側でのパケット破棄等による予期せぬ動作や、処理ができないデータのために帯域を予約し続けることによる通信帯域の無駄が発生する可能性があるからである。
【００５４】
図７は、第３実施形態による帯域予約の制御を示すフローチャートである。Ｓ７００において、ヘッダ解析部２０２は、有線通信Ｉ／Ｆ部２００または無線通信Ｉ／Ｆ部２０１により受信されたパケットが帯域予約パケットか否かを判定する。受信したパケットが帯域予約パケットと判定された場合、Ｓ７０１において、共通優先順位決定部２０３は、それまでに予約された通信帯域と、受信したパケットが予約する通信帯域の総和が、上位層の処理帯域を上回るか否かを判定する。
【００５５】
通信帯域の総和が処理帯域を上回る場合（Ｓ７０１でＹＥＳ）、Ｓ７０２において、共通優先順位決定部２０３は、優先順位の低いパケットの帯域予約から停止を指示し、通信帯域の総和が上位層の処理帯域以下となるようにする。なお、優先順位の決定方法については、第１、第２実施形態で説明したとおりである。一方、通信帯域の総和が処理帯域を上回らない場合（Ｓ７０１でＮＯ）、処理はＳ７０３に進む。Ｓ７０３において共通優先順位決定部２０３は、受信した帯域予約パケットに応じた帯域予約によるパケットの通信を開始するよう有線通信Ｉ／Ｆ部２００および／または無線通信Ｉ／Ｆ部２０１に指示する。
【００５６】
Ｓ７００において、受信されたパケットが帯域予約パケットではない場合、あるいは、パケットが受信されていない場合、Ｓ７０４において、共通優先順位決定部２０３はＳ７０２で停止を指示した帯域予約が存在するか否かを判定する。停止が指示されている帯域予約が存在しない場合（Ｓ７０４でＮＯ）、Ｓ７００からの処理が繰り返される。停止が指示された帯域予約が存在する場合（Ｓ７０４でＹＥＳ）、Ｓ７０５にて、共通優先順位決定部２０３は、Ｓ７０２で停止が指示されていない帯域予約による通信が完了したか否かを判定する。なお、例えばＡＶＢパケットの通信のための帯域予約の場合、ＡＶＢパケットの音声、動画の再生の終了をもって帯域予約の通信の完了と判定するようにしてもよい。通信が完了していないと判定されると（Ｓ７０５でＮＯ）、Ｓ７００からの処理が繰り返される。通信が完了したと判定されると（Ｓ７０５でＹＥＳ）、Ｓ７０６において、ヘッダ解析部２０２は、Ｓ７０２で停止した帯域予約が再開可能であることを通知する。
【００５７】
なお、帯域予約の再開可能の通知は、帯域予約が再開されても通信帯域が処理帯域を上回らないように行われる。例えば、帯域予約Ａと帯域予約Ｂの通信が実行され、帯域予約Ｃと帯域予約Ｄが停止指示により停止しているとする。また、帯域予約Ｂと帯域予約Ｃの通信帯域の和が処理帯域を超えるが、帯域予約Ｂと帯域予約Ｄの和が通信帯域を超えないとする。この場合、帯域予約Ａが完了すると帯域予約Ｄに対して再開可能が通知される。
【００５８】
図８は、第３実施形態におけるＱｏＳ通信制御を表すシーケンスチャートである。図８は、有線通信Ｉ／Ｆ部２００でＡＶＢパケットを受信中の通信ノード１０１に、無線通信ノード１０５が帯域予約パケットを送信する場合を示している。さらに、ＡＶＢパケットの通信帯域と帯域予約パケットによる通信帯域の和が、プロトコルスタック処理部２０４の処理帯域を超過する場合の動作が示されている。なお、図８では、説明と図示の簡略化のために通信ノード１０３、通信ノード１０４の動作を省略している。
【００５９】
Ｓ８００〜Ｓ８０５では、第１実施形態（図６）で上述した処理（Ｓ６０１〜Ｓ６０５）と同様にＡＶＢに規定される帯域予約プロトコルに従う通信が行われる。これにより、通信ノード１０１〜１０４はＡＶストリーマ１１０からのＡＶコンテンツを同期再生可能な状態となる。
【００６０】
Ｓ８０６、Ｓ８０７ではＨＣＣＡに従い無線通信ノード１０５がＡＰ１３０に対して帯域予約依頼を発行し、ＡＰ１３０は帯域割り当てを行うための制御パケットであるＣＦ−Ｐｏｌｌを送信し、無線通信ノード１０５に対して送信期間を指示する。Ｓ８０８〜Ｓ８１０では通信ノード１０１〜１０４に対して、ＡＶストリーマ１１０から音声、動画であるＡＶＢパケットが送信され、通信ノード１０１〜１０４において同期再生が開始される。ＡＶＢパケットの受信、再生中のタイミングであるＳ８１１、Ｓ８１２において、無線通信ノード１０５からＡＰ１３０を介して帯域予約データとして音声、動画であるＶＯ、ＶＩパケットが通信ノード１０１に対して送信される。
【００６１】
Ｓ８１３では、無線通信ノード１０５からの帯域予約パケットを受信した通信ノード１０１が、有線通信Ｉ／Ｆ部２００が使用している通信帯域を参照もしくは算出により取得する。Ｓ８１４では、通信ノード１０１は、有線通信Ｉ／Ｆ部２００が使用する通信帯域と無線通信Ｉ／Ｆ部２０１で受信した帯域予約データが使用する通信帯域との和が、上位層であるプロトコルスタック処理部２０４の処理帯域を超過するか否かを判断する。
【００６２】
Ｓ８１４において、通信ノード１０１は、ＡＶＢパケットの通信帯域がプロトコルスタック処理部２０４の処理帯域の大半を占めており、無線通信Ｉ／Ｆで受信した帯域予約パケットを同時処理できる能力がないと判断する。このとき、上述した共通優先順位リスト４００ａによればＡＶＢパケットが無線ＬＡＮのＶＯ、ＶＩパケットよりも優先順位が高い。その為、ヘッダ解析部２０２は、優先順位の高いＡＶＢパケットの受信を優先し、無線通信Ｉ／Ｆ部２０１で受信した無線通信ノード１０５からの帯域予約の停止を通知する。他方、例えば共通優先制御リストにおいて無線通信Ｉ／Ｆ部２０１からのＶＯ、ＶＩパケットがＡＶＢパケットよりも優先順位が高い場合には、通信ノード１０１はＡＶＢの帯域予約を停止するように動作する。
【００６３】
Ｓ８１７では無線通信ノード１０５が更に帯域予約パケットを送信するための帯域予約依頼をＡＰ１３０に対して送信する。Ｓ８１８ではＡＰ１３０は通信ノード１０１より帯域予約の停止を通知されたため、制御パケットＣＦ−Ｐｏｌｌ送信による無線通信ノード１０５への帯域割り当てを行わない。
【００６４】
Ｓ８１９では最後のＡＶＢパケットが通信ノード１０１〜１０４に対して送信される。Ｓ８２０、Ｓ８２１では、通信ノード１０１〜１０４においてＡＶＢパケットで伝送された音声、動画の再生が終了する。ここでは、音声、動画の終了を最後のＡＶＢパケットの処理完了としたが、通信ノード１０２からの停止パケットが通信ノード１０１、１０３、１０４、ＡＶストリーマ１１０に対して送信された場合に音声、動画の終了としてもよい。
【００６５】
ＡＶＢパケットによる音声、動画の処理を終えると、Ｓ８２２において、通信ノード１０１が帯域予約の再開可能をＡＰ１３０へ通知する。なお、帯域予約の再開可能の通知のタイミングをＡＶＢパケットの音声、動画の再生の終了後としたが、最後のＡＶＢパケットを受信した後（ＡＶＢパケットの通信の完了後）としてもよい。Ｓ８２３において、ＡＰ１３０は、制御パケットＣＦ−Ｐｏｌｌを無線通信ノード１０５へ送信することで無線通信ノード１０５への帯域割り当てを行う。Ｓ８２５〜Ｓ８２７では無線通信ノード１０５からＡＰ１３０を介して通信ノード１０１へ帯域予約パケットが送信される。
【００６６】
なお、図８では、通信帯域が処理帯域より大きい場合に即座に通信ノード１０１からＡＰ１３０に対して無線通信ノード１０５の帯域予約を停止する制御を示した。しかし、これに限られるものではなく、例えば、通信ノード１０１における無線通信Ｉ／Ｆ部２０１の受信バッファが帯域予約パケットで満たされるまで帯域予約の停止制御を実行しないようにしてもよい。
【００６７】
以上のように異なる通信プロトコル間で上位層の処理帯域を超過しないように帯域制御を行うことにより、帯域予約パケットの破棄による予期せぬ動作の低減や、無駄な帯域予約が減少することによる帯域利用の効率化が可能となる。
【００６８】
なお、上記では帯域予約による通信を単位として通信帯域の調整を行う構成を示したが、これに限られるものではない。たとえば、各通信インターフェースにて実行中の通信の通信帯域が上位層の処理帯域を超える場合に、共通優先順位決定部２０３が優先順位の低いパケットを破棄する（転送キューに入れない）ようにしてもよい。あるいは、共通優先順位決定部２０３が、優先順位の低いパケットに係るパケットの通信を停止するよう指示してもよい。
【００６９】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７０】
１０１〜１０４：通信ノード、１０５：無線通信ノード、１１０：ＡＶストリーマ、１１１：コンテンツソース、１２０：ネットワークハブ、１３０：ＡＰ、２００：有線通信Ｉ／Ｆ部、２０１：無線通信Ｉ／Ｆ部、２０２：ヘッダ解析部、２０３：共通優先順位決定部、２０４：プロトコルスタック処理部、４００ａ〜４００ｂ：共通優先順位リスト
【図１】
2019021992.tif 000003
【図２】
2019021992.tif 000004
【図３】
2019021992.tif 000005
【図４】
2019021992.tif 000006
【図５】
2019021992.tif 000007
【図６】
2019021992.tif 000008
【図７】
2019021992.tif 000009
【図８】
2019021992.tif 000010