(57)【特許請求の範囲】
【請求項１】
優先データが送信される期間である優先期間が含まれる通信サイクルに従って複数の通信装置を管理する管理装置であって、
前記複数の通信装置における送信待ちデータの保持状況として、送信待ちデータを保持している通信装置の数を調査する調査部と、
送信待ちデータを保持している通信装置の数が判明する前は、前記通信サイクルから前記優先期間及び前記複数の通信装置での通信遅延量の最大値を減じて得られる減算時間を前記複数の通信装置の数と既定の付加数との合計数で除して得られる値を、送信待ちデータの送信が許可される送信許可期間の長さに指定し、指定した前記送信許可期間の長さを前記減算時間から減じて得られる値を、送信待ちデータの送信が禁止される送信禁止期間の長さに指定し、送信待ちデータを保持している通信装置の数が判明したら、前記減算時間を送信待ちデータを保持している通信装置の数と前記付加数との合計数で除して得られる値を前記送信許可期間の新たな長さに指定し、指定した前記送信許可期間の新たな長さを前記減算時間から減じて得られる値を前記送信禁止期間の新たな長さに指定する期間指定部とを有する管理装置。
【請求項２】
優先データが送信される期間である優先期間が含まれる通信サイクルに従って複数の通信装置を管理する管理装置であって、
前記複数の通信装置における送信待ちデータの保持状況として、送信待ちデータの送信に要すると予測される送信予測時間が基準時間以上である通信装置の数を調査する調査部と、
前記送信予測時間が前記基準時間以上である通信装置の数が判明する前は、通信サイクルから前記優先期間及び前記複数の通信装置での通信遅延量の最大値を減じて得られる減算時間を前記複数の通信装置の数と既定の付加数との合計数で除して得られる値を、送信待ちデータの送信が許可される送信許可期間の長さに指定し、指定した前記送信許可期間の長さを前記減算時間から減じて得られる値を、送信待ちデータの送信が禁止される送信禁止期間の長さに指定し、前記送信予測時間が前記基準時間以上である通信装置の数が判明したら、前記減算時間を前記送信予測時間が前記基準時間以上である通信装置の数と前記付加数との合計数で除して得られる値を前記送信許可期間の新たな長さに指定し、指定した前記送信許可期間の新たな長さを前記減算時間から減じて得られる値を前記送信禁止期間の新たな長さに指定する期間指定部とを有する管理装置。
【請求項３】
前記管理装置は、１つ以上の中継装置を介して前記複数の通信装置と接続されており、
前記期間指定部は、
前記管理装置と前記複数の通信装置との間に介在する中継装置の数に応じた付加数を用いる請求項１又は２に記載の管理装置。
【請求項４】
前記期間指定部は、
前記複数の通信装置における送信待ちデータの保持状況が判明したら、前記複数の通信装置における送信待ちデータの保持状況に基づき、前記複数の通信装置における送信待ちデータの保持状況が判明する前に指定された長さよりも長い送信許可期間の長さを新たに指定し、前記複数の通信装置における送信待ちデータの保持状況が判明する前に指定された長さよりも短い送信禁止期間の長さを新たに指定する請求項１又は２に記載の管理装置。
【請求項５】
前記期間指定部は、
前記複数の通信装置における送信待ちデータの保持状況が更新される度に、更新後の送信待ちデータの保持状況に基づき、前記送信許可期間の長さと前記送信禁止期間の長さを新たに指定する請求項１又は２に記載の管理装置。
【請求項６】
前記管理装置は、中継装置を介して前記複数の通信装置と接続されており、
前記期間指定部は、
送信待ちデータを保持している通信装置から前記送信許可期間の間に前記中継装置に送信された送信待ちデータの中継が前記中継装置において前記送信禁止期間の間に完了するように前記送信許可期間の長さと前記送信禁止期間の長さを指定する請求項１又は２に記載の管理装置。
【請求項７】
前記管理装置は、更に、
前記複数の通信装置における送信待ちデータの保持状況が判明する前に前記期間指定部により指定された前記送信許可期間の長さを前記複数の通信装置に通知し、前記複数の通信装置における送信待ちデータの保持状況が判明してから前記期間指定部により指定された前記送信許可期間の新たな長さを、少なくとも送信待ちデータを保持する通信装置に通知する通知部を有する請求項１又は２に記載の管理装置。
【請求項８】
前記期間指定部は、
ｎ（ｎ≧１）回目の通信サイクルでの前記複数の通信装置における送信待ちデータの保持状況に基づき、（ｎ＋１）回目の通信サイクルでの前記送信許可期間の長さと前記送信禁止期間の長さを指定する請求項１又は２に記載の管理装置。
【請求項９】
複数の通信装置と、優先データが送信される期間である優先期間が含まれる通信サイクルに従って前記複数の通信装置を管理する管理装置とを有する通信システムであって、
前記複数の通信装置は、
それぞれの送信待ちデータの保持状況として、送信待ちデータを保持しているか否かを前記管理装置に通知し、
前記管理装置は、
送信待ちデータを保持している通信装置の数が判明する前は、前記通信サイクルから前記優先期間及び前記複数の通信装置での通信遅延量の最大値を減じて得られる減算時間を前記複数の通信装置の数と既定の付加数との合計数で除して得られる値を、送信待ちデータの送信が許可される送信許可期間の長さに指定し、指定した前記送信許可期間の長さを前記減算時間から減じて得られる値を、送信待ちデータの送信が禁止される送信禁止期間の長さに指定し、送信待ちデータを保持している通信装置の数が判明したら、前記減算時間を送信待ちデータを保持している通信装置の数と前記付加数との合計数で除して得られる値を前記送信許可期間の新たな長さに指定し、指定した前記送信許可期間の新たな長さを前記減算時間から減じて得られる値を前記送信禁止期間の新たな長さに指定する通信システム。
【請求項１０】
複数の通信装置と、優先データが送信される期間である優先期間が含まれる通信サイクルに従って前記複数の通信装置を管理する管理装置とを有する通信システムであって、
前記複数の通信装置は、
それぞれの送信待ちデータの保持状況として、送信待ちデータの送信に要すると予測される送信予測時間が基準時間以上であるか否かを前記管理装置に通知し、
前記管理装置は、
前記送信予測時間が前記基準時間以上である通信装置の数が判明する前は、通信サイクルから前記優先期間及び前記複数の通信装置での通信遅延量の最大値を減じて得られる減算時間を前記複数の通信装置の数と既定の付加数との合計数で除して得られる値を、送信待ちデータの送信が許可される送信許可期間の長さに指定し、指定した前記送信許可期間の長さを前記減算時間から減じて得られる値を、送信待ちデータの送信が禁止される送信禁止期間の長さに指定し、前記送信予測時間が前記基準時間以上である通信装置の数が判明したら、前記減算時間を前記送信予測時間が前記基準時間以上である通信装置の数と前記付加数との合計数で除して得られる値を前記送信許可期間の新たな長さに指定し、指定した前記送信許可期間の新たな長さを前記減算時間から減じて得られる値を前記送信禁止期間の新たな長さに指定する通信システム。
【請求項１１】
優先データが送信される期間である優先期間が含まれる通信サイクルに従って複数の通信装置を管理する管理方法であって、
コンピュータが、前記複数の通信装置における送信待ちデータの保持状況として、送信待ちデータを保持している通信装置の数を調査し、
前記コンピュータが、送信待ちデータを保持している通信装置の数が判明する前は、前記通信サイクルから前記優先期間及び前記複数の通信装置での通信遅延量の最大値を減じて得られる減算時間を前記複数の通信装置の数と既定の付加数との合計数で除して得られる値を、送信待ちデータの送信が許可される送信許可期間の長さに指定し、指定した前記送信許可期間の長さを前記減算時間から減じて得られる値を、送信待ちデータの送信が禁止される送信禁止期間の長さに指定し、送信待ちデータを保持している通信装置の数が判明したら、前記減算時間を送信待ちデータを保持している通信装置の数と前記付加数との合計数で除して得られる値を前記送信許可期間の新たな長さに指定し、指定した前記送信許可期間の新たな長さを前記減算時間から減じて得られる値を前記送信禁止期間の新たな長さに指定する管理方法。
【請求項１２】
優先データが送信される期間である優先期間が含まれる通信サイクルに従って複数の通信装置を管理する管理方法であって、
コンピュータが、前記複数の通信装置における送信待ちデータの保持状況として、送信待ちデータの送信に要すると予測される送信予測時間が基準時間以上である通信装置の数を調査し、
前記コンピュータが、前記送信予測時間が前記基準時間以上である通信装置の数が判明する前は、通信サイクルから前記優先期間及び前記複数の通信装置での通信遅延量の最大値を減じて得られる減算時間を前記複数の通信装置の数と既定の付加数との合計数で除して得られる値を、送信待ちデータの送信が許可される送信許可期間の長さに指定し、指定した前記送信許可期間の長さを前記減算時間から減じて得られる値を、送信待ちデータの送信が禁止される送信禁止期間の長さに指定し、前記送信予測時間が前記基準時間以上である通信装置の数が判明したら、前記減算時間を前記送信予測時間が前記基準時間以上である通信装置の数と前記付加数との合計数で除して得られる値を前記送信許可期間の新たな長さに指定し、指定した前記送信許可期間の新たな長さを前記減算時間から減じて得られる値を前記送信禁止期間の新たな長さに指定する管理方法。
【請求項１３】
優先データが送信される期間である優先期間が含まれる通信サイクルに従って複数の通信装置を管理するコンピュータに、
前記複数の通信装置における送信待ちデータの保持状況として、送信待ちデータを保持している通信装置の数を調査する調査処理と、
送信待ちデータを保持している通信装置の数が判明する前は、前記通信サイクルから前記優先期間及び前記複数の通信装置での通信遅延量の最大値を減じて得られる減算時間を前記複数の通信装置の数と既定の付加数との合計数で除して得られる値を、送信待ちデータの送信が許可される送信許可期間の長さに指定し、指定した前記送信許可期間の長さを前記減算時間から減じて得られる値を、送信待ちデータの送信が禁止される送信禁止期間の長さに指定し、送信待ちデータを保持している通信装置の数が判明したら、前記減算時間を送信待ちデータを保持している通信装置の数と前記付加数との合計数で除して得られる値を前記送信許可期間の新たな長さに指定し、指定した前記送信許可期間の新たな長さを前記減算時間から減じて得られる値を前記送信禁止期間の新たな長さに指定する期間指定処理とを実行させる管理プログラム。
【請求項１４】
優先データが送信される期間である優先期間が含まれる通信サイクルに従って複数の通信装置を管理するコンピュータに、
前記複数の通信装置における送信待ちデータの保持状況として、送信待ちデータを保持している通信装置の数を調査する調査処理と、
送信待ちデータを保持している通信装置の数が判明する前は、前記通信サイクルから前記優先期間及び前記複数の通信装置での通信遅延量の最大値を減じて得られる減算時間を前記複数の通信装置の数と既定の付加数との合計数で除して得られる値を、送信待ちデータの送信が許可される送信許可期間の長さに指定し、指定した前記送信許可期間の長さを前記減算時間から減じて得られる値を、送信待ちデータの送信が禁止される送信禁止期間の長さに指定し、送信待ちデータを保持している通信装置の数が判明したら、前記減算時間を送信待ちデータを保持している通信装置の数と前記付加数との合計数で除して得られる値を前記送信許可期間の新たな長さに指定し、指定した前記送信許可期間の新たな長さを前記減算時間から減じて得られる値を前記送信禁止期間の新たな長さに指定する期間指定処理とを実行させる管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
現在、ＣＳＭＡ／ＣＤ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ）方式のイーサネット（登録商標）を用いたＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が広く普及している。
イーサネット（登録商標）を用いたネットワークでは、様々なプロトコルのデータ又は様々な優先度のデータが混在する。例えば、工場では、リアルタイム性についての要求が高い優先データとリアルタイム性についての要求が高くない非優先データが混在することが考えられる。優先データとしては、生産ラインの制御に直接関係するデータが想定される。また、非優先データとしては、生産ライン内の機器の運用状態に関する情報又はこれら機器のメンテナンスに関する情報が想定される。
このような状況では、優先データが発生したときに非優先データが送信されていると、優先データが送信できず伝搬遅延が大きくなる。特許文献１では、優先データを送信するフェーズと非優先データを送信するフェーズからなる通信サイクルが設定される。そして、特許文献１では、優先データを送信するフェーズと非優先データを送信するフェーズとが時分割により制御され、優先データの送信が非優先データの送信の影響を受けないようにしている。
ところで、イーサネット（登録商標）を用いたネットワークでは、ネットワークに参加する端末数を増やすためにスイッチングハブを用いることが多い。汎用のスイッチングハブでは、優先データを送信するフェーズと非優先データを送信するフェーズとを切り替えることはできない。そのため、特許文献１の技術では、優先データを送信するフェーズと非優先データを送信するフェーズとを切り替えることができる、専用のスイッチングハブが必要である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２９８５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の端末が汎用のスイッチングハブを介して接続されているネットワークにおいて、複数の端末が優先データを送信するフェーズと非優先データを送信するフェーズとを切り替える例を考える。
非優先データを送信するフェーズでは、各端末から送信された非優先データがスイッチングハブに蓄積される。次に、優先データを送信するフェーズに切り替わった際に、スイッチングハブから、スイッチングハブに蓄積されている非優先データが送信される。このため、特許文献１の技術には、スイッチングハブに蓄積されている非優先データにより、優先データの送信が遅延するという課題がある。【０００５】
本発明はこのような課題を解決することを主な目的とする。より具体的には、本発明は、優先度の低いデータにより優先度の高いデータの送信が遅延しないようにすることを主な目的する。
【課題を解決するための手段】
【０００６】
本発明に係る管理装置は、
複数の通信装置を管理する管理装置であって、
前記複数の通信装置における送信待ちデータの保持状況を調査する調査部と、
前記複数の通信装置における送信待ちデータの保持状況に基づき、送信待ちデータの送信が許可される送信許可期間の長さと送信待ちデータの送信が禁止される送信禁止期間の長さを指定する期間指定部とを有する。
【発明の効果】
【０００７】
本発明では、送信待ちデータの保持状況に基づいて適切な送信許可期間の長さと送信禁止期間の長さが動的に決定される。このため、本発明によれば、送信許可期間に送信された送信待ちデータの中継が送信禁止期間内に完了し、優先度の低い送信待ちデータによって、優先度の高いデータの送信が遅延する事態を回避することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る通信システムの構成例を示す図。
【図２】実施の形態１に係る通信親機のハードウェア構成例を示す図。
【図３】実施の形態１に係る通信親機の機能構成例を示す図。
【図４】実施の形態１に係る通信子機のハードウェア構成例を示す図。
【図５】実施の形態１に係る通信子機の機能構成例を示す図。
【図６】実施の形態１に係る期間通知情報のフォーマット例を示す図。
【図７】実施の形態１に係る通信区間の例を示す図。
【図８】実施の形態１に係る通信親機と通信子機の動作例を示す図。
【図９】実施の形態１に係る非優先データ保持管理テーブルの例を示す図。
【図１０】実施の形態１に係る通信親機の動作例を示すフローチャート。
【図１１】実施の形態１に係る通信親機の動作例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分または相当する部分を示す。
【００１０】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る通信システムの構成例を示す。
本実施の形態に係る通信システムは、１台の通信親機１０１と、複数の通信子機１０２と、１台以上のスイッチングハブ１０３がイーサネットケーブルで接続されている。
通信親機１０１は、複数の通信子機１０２を管理する。
各通信子機１０２は、優先データと非優先データを通信親機１０１に送信する。優先データは、優先度の高いデータである。非優先データは、優先度が低いデータである。
各通信子機１０２から送信された優先データと非優先データはスイッチングハブ１０３で蓄積され、スイッチングハブ１０３から通信親機１０１に中継される。スイッチングハブ１０３は、汎用のスイッチングハブである。つまり、スイッチングハブ１０３は、優先データを送信するフェーズと非優先データを送信するフェーズとを切り替える機能を有しない。
通信親機１０１は各通信子機１０２から送信された優先データと非優先データをスイッチングハブ１０３から受信する。
【００１１】
本実施の形態では、各通信子機１０２から通信親機１０１へのデータ送信は既定の通信サイクルに従って行われる。
各通信サイクルは、優先期間と非優先期間とに区別される。そして、非優先期間は、更に、送信許可期間と送信禁止期間に区別される。優先期間は、複数の通信子機１０２が優先データを送信するための期間である。非優先期間は、複数の通信子機１０２が非優先データを送信するための期間である。送信許可期間は、非優先データの送信が許可される期間である。送信禁止期間は、非優先データの送信が禁止される期間である。
本実施の形態では、通信サイクルｎ｛優先期間→非優先期間（送信許可期間→送信禁止期間）｝→通信サイクル（ｎ＋１）｛優先期間→非優先期間（送信許可期間→送信禁止期間）｝という順序で、通信サイクルが進行する。つまり、各通信子機１０２は、優先期間において優先データをスイッチングハブ１０３に送信する。次に、各通信子機１０２は、送信許可期間において非優先データをスイッチングハブ１０３に送信する。その後、各通信子機１０２は、送信禁止期間の間、非優先データの送信を停止する。そして、再度、優先期間が到来すると、各通信子機１０２は、再度、優先データをスイッチングハブ１０３に送信する。
【００１２】
本実施の形態では、送信禁止区間の間、通信子機１０２からの非優先データの送信が停止することで、スイッチングハブ１０３は、蓄積された非優先データの通信親機１０１への送信を送信禁止区間の間に完了することができる。このため、スイッチングハブ１０３に蓄積された非優先データによって優先データの送信が遅延するという事態を回避することができる。しかしながら、送信許可期間の長さと送信禁止期間の長さを固定的に設けると、各通信子機１０２における送信待ちの非優先データ（以下、送信待ちの非優先データを送信待ちデータという）の保持状況によっては、以下のような問題が生じる。例えば、送信待ちデータを保持する通信子機１０２の数が多い場合に送信許可期間を長くすると、スイッチングハブ１０３が蓄積された非優先データの送信を送信禁止期間の間に完了できない。この結果、優先データの送信が遅延することになる。一方、送信待ちデータを保持する通信子機１０２の数が少ない場合に送信許可期間を短くすると、スイッチングハブ１０３のよる非優先データの送信が早期に完了するため、通信子機１０２が非優先データが送信できない期間が必要以上に長くなる。このため、非優先データの送信効率が低下する。
本実施の形態では、通信親機１０１が、各通信子機１０２における送信待ちデータの保持状況に応じて、適切な送信許可期間の長さと送信禁止期間の長さを決定することで、優先データの送信を遅延させずに、非優先データの送信効率を向上させる。
【００１３】
なお、通信親機１０１は、管理装置に相当する。また、通信親機１０１により行われる動作は、管理方法及び管理プログラムに相当する。
各通信子機１０２は、通信装置に相当する。また、スイッチングハブ１０３は、中継装置に相当する。
【００１４】
図２は通信親機１０１のハードウェア構成例を示す。
通信親機１０１は、コンピュータである。
通信親機１０１は、ハードウェアとして、プロセッサ２０１、記憶装置２０２、通信インタフェース２０３及び時計２０４を備える。
記憶装置２０２には、後述する調査部３０１、期間指定部３０２、通信部３０４及び通知情報生成部３０５の機能を実現するプログラムが記憶されている。
そして、プロセッサ２０１がこれらプログラムを実行して、後述する調査部３０１、期間指定部３０２、通信部３０４及び通知情報生成部３０５の動作を行う。
図２では、プロセッサ２０１が調査部３０１、期間指定部３０２、通信部３０４及び通知情報生成部３０５の機能を実現するプログラムを実行している状態を模式的に表している。
また、記憶装置２０２は、期間記憶部３０３を実現する。
通信インタフェース２０３は、通信子機１０２との通信に用いられる。
時計２０４は、通信子機１０２との時刻同期のために用いられる。
【００１５】
図３は通信親機１０１の機能構成例を示す。
通信親機１０１は、調査部３０１、期間指定部３０２、期間記憶部３０３、通信部３０４及び通知情報生成部３０５で構成される。
【００１６】
調査部３０１は、複数の通信子機１０２における送信待ちデータの保持状況を調査する。調査部３０１は、各通信子機１０２から、非優先データ保持通知情報を受信することにより、複数の通信子機１０２における送信待ちデータの保持状況を調査する。本実施の形態では、非優先データ保持通知情報には、通信子機１０２が送信待ちデータを保持しているか否かが示される。つまり、本実施の形態では、調査部３０１は、非優先データ保持通知情報を解析して、送信待ちデータを保持している通信子機１０２の数を調査する。
調査部３０１により行われる処理は調査処理に相当する。
【００１７】
期間指定部３０２は、通信期間の長さを指定する。より具体的には、期間指定部３０２は、通信期間の長さとして、優先期間の長さと送信許可期間の長さと送信禁止期間の長さを指定する。
期間指定部３０２は、任意の方法により優先期間の長さを指定することができる。また、期間指定部３０２は、優先期間の長さを指定しなくもよい。例えば、通信親機１０１のユーザが優先期間の長さを指定してもよい。
本実施の形態では、主に、送信許可期間の長さと送信禁止期間の長さの指定方法を説明する。
期間指定部３０２は、送信待ちデータを保持している通信子機１０２から送信許可期間の間にスイッチングハブ１０３に送信された送信待ちデータの中継がスイッチングハブ１０３において送信禁止期間の間に完了するように送信許可期間の長さと送信禁止期間の長さを指定する。
期間指定部３０２は、通信子機１０２における送信待ちデータの保持状況が判明する前と判明した後とで、送信許可期間の長さと送信禁止期間の長さの指定方法を変える。
通信子機１０２における送信待ちデータの保持状況が判明する前は、通信子機１０２の数に基づき、送信許可期間の長さと送信禁止期間の長さを指定する。より具体的には、期間指定部３０２は、送信許可期間と送信禁止期間の合計時間を通信子機１０２の数と既定の付加数との合計数で除して得られる値を送信許可期間の長さに指定する。また、期間指定部３０２は、指定した送信許可期間の長さを合計時間から減じて得られる値を送信禁止期間の長さに指定する。
通信子機１０２における送信待ちデータの保持状況が判明したら、期間指定部３０２は、通信子機１０２における送信待ちデータの保持状況に基づき、送信許可期間の長さと送信禁止期間の長さを指定する。より具体的には、期間指定部３０２は、合計時間を送信待ちデータを保持している通信装置の数と付加数との合計数で除して得られる値を送信許可期間の新たな長さに指定する。また、期間指定部３０２は、指定した送信許可期間の新たな長さを合計時間から減じて得られる値を送信禁止期間の新たな長さに指定する。
このようにすることで、期間指定部３０２は、通信子機１０２における送信待ちデータの保持状況が判明する前に指定された長さよりも長い送信許可期間の長さを新たに指定することができる。また、期間指定部３０２は、通信子機１０２における送信待ちデータの保持状況が判明する前に指定された長さよりも短い送信禁止期間の長さを新たに指定することできる。
期間指定部３０２により行われる処理は期間指定処理に相当する。
【００１８】
期間記憶部３０３は、期間指定部３０２により指定された優先期間の長さ、送信許可期間の長さ及び送信禁止期間の長さを記憶する。また、期間記憶部３０３は、通信子機１０２ごとの通信遅延量と、通信遅延量が最大の通信子機１０２の識別子を記憶する。
【００１９】
通知情報生成部３０５は、期間指定部３０２により指定された優先期間の長さ、送信許可期間の長さ及び送信禁止期間の長さを各通信子機１０２に通知する。より具体的には、通知情報生成部３０５は、優先期間の長さ、送信許可期間の長さ及び送信禁止期間の長さを各通信子機１０２に通知する期間通知情報を生成する。
通知情報生成部３０５は、後述の通信部３０４とともに通知部に相当する。
【００２０】
通信部３０４は、スイッチングハブ１０３を介して各通信子機１０２と通信を行う。具体的には、通信部３０４は、各通信子機１０２から送信された優先データ及び非優先データを受信する。また、通信部３０４は、通知情報生成部３０５により生成された期間通知情報を少なくとも送信待ちデータを保持する通信子機１０２に送信する。
前述したように、通信部３０４は、通知情報生成部３０５とともに通知部に相当する。
【００２１】
図４は通信子機１０２のハードウェア構成例を示す。
通信子機１０２は、コンピュータである。
通信子機１０２は、ハードウェアとして、プロセッサ４０１、記憶装置４０２、通信インタフェース４０３及び時計４０４を備える。
記憶装置４０２には、後述する通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４の機能を実現するプログラムが記憶されている。
そして、プロセッサ４０１がこれらプログラムを実行して、後述する通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４の動作を行う。
図４では、プロセッサ４０１が通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４の機能を実現するプログラムを実行している状態を模式的に表している。
通信インタフェース４０３は、通信親機１０１との通信に用いられる。
時計４０４は、通信親機１０１との時刻同期のために用いられる。
【００２２】
図５は、通信子機１０２の機能構成例を示す。
通信親機１０２は、通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４で構成される。
【００２３】
通知情報生成部５０１は、非優先データ保持通知情報を生成する。
【００２４】
期間更新判定部５０２は、通信親機１０１からの期間通知情報を解析し、送信許可期間が延長されたか否かを判定する。
【００２５】
期間管理部５０３は、通信期間を管理する。つまり、優先期間の開始及び終了、送信許可期間の開始及び終了、送信禁止期間の開始及び終了を管理する。
【００２６】
通信部５０４は、通信親機１０１と通信を行う。より具体的には、通信部５０４は、優先データ及び非優先データを通信親機１０１に送信する。また、通信部５０４は、非優先データ保持通知情報を通信親機１０１に送信する。また、通信部５０４は、期間通知情報を通信親機１０１から受信する。
【００２７】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係る通信親機１０１と通信子機１０２の動作を説明する。まず、通信親機１０１と通信子機１０２の基本的な動作を説明する。
【００２８】
はじめに、通信親機１０１と通信子機１０２は時刻同期を行う。通信親機１０１と通信子機１０２は、例えば、ＩＥＥＥ１５８８規格などの従来の手法を用いて時刻同期を行う。
【００２９】
次に、通信親機１０１は各通信子機１０２の通信遅延量を算出する。例えば、通信親機１０１は通信遅延を測定するための通信遅延測定データを各通信子機１０２に送信する。通信遅延測定データには、通信親機１０１の時計２０４で測定された送信時刻が示される。各通信子機１０２は通信遅延測定データを受信すると、時計４０４で受信時刻を測定する。そして、各通信子機１０２は、受信時刻が示される応答データを通信親機１０１に送信する。次に、通信親機１０１は、応答データを受信し、受信した応答データに示されるに示される受信時刻と通信遅延測定データの送信時刻の差から、通信子機１０２ごとに通信遅延量を算出する。通信親機１０１では、期間記憶部３０３が、算出された通信子機１０２ごとの通信遅延量と、通信遅延量が最大の通信子機１０２の識別子を記憶する。なお、通信遅延量が測定できない場合には、通信親機１０１のユーザが通信遅延量を設定してもよい。
【００３０】
次に、通信親機１０１において、期間指定部３０２が、優先期間の長さと送信許可期間の長さと送信禁止期間の長さとを指定する。そして、期間記憶部３０３が、指定された優先期間の長さと送信許可期間の長さと送信禁止期間の長さを記憶する。
また、通知情報生成部３０５が、期間通知情報を生成し、通信部３０４が全ての通信子機１０２に期間通知情報をスイッチングハブ１０３を介して送信する。
【００３１】
図６は、期間通知情報のフォーマット例を示す。
図６の例では、期間通知情報は、サイクル開始タイミング情報６０１と、通信サイクル情報６０２と、優先期間情報６０３と、送信許可期間情報６０４と、イーサヘッダ６０５と、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）６０６とで構成される。
サイクル開始タイミング情報６０１は、通信子機１０２に通信サイクルの開始時刻を通知するための情報である。
通信サイクル情報６０２は、通信子機１０２に通信サイクルの長さを通知するための情報である。
優先期間情報６０３は、通信子機１０２に優先期間の長さを通知するための情報である。
送信許可期間情報６０４は、通信子機１０２に非優先期間内の送信許可期間の長さを通知する情報である。
イーサヘッダ６０５は、イーサネット（登録商標）方式におけるヘッダ情報である。
ＣＲＣ６０６は、誤り検出のための符号である。
なお、非優先期間内の送信禁止期間の長さは通信サイクル情報６０２と、優先期間情報６０３と、送信許可期間情報６０４から各通信子機１０２において算出可能であるが、期間通知情報において送信禁止期間の長さを明示的に通知してもよい。
【００３２】
ここで、サイクル開始タイミング情報６０１には、あらかじめ通信親機１０１に設定されている通信開始のオフセット値を開始時刻に加えて得られる値が記述される。
【００３３】
通信サイクル情報６０２には、システム要求に応じた値が記述される。通信サイクル情報６０２の値は、通信親機１０１のユーザが予め設定しておく。
【００３４】
優先期間情報６０３には、例えば、ユーザが優先データのデータ量を見積もって予め設定した値（優先期間の長さ）が記述される。なお、通信子機１０２から収集した優先データの予測データ量又は優先データの過去の実績データ量に基づいてユーザが優先期間の長さを設定してもよい。また、期間指定部３０２が優先データの予測データ量又は優先データの過去の実績データ量に基づいて優先期間の長さを算出してもよい。ただし、優先期間は通信サイクルを超えないものとする。
【００３５】
送信待ちデータを保持する通信子機１０２の数が判明する前は、送信許可期間情報６０４には、期間指定部３０２が以下の式（１）により算出した送信許可期間の長さが記述される。
送信許可期間＝
（通信サイクル−優先期間−通信遅延量の最大値）／（通信子機数＋１）    式（１）
このように、送信待ちデータを保持する通信子機１０２の数が判明する前は、期間指定部３０２は、送信許可期間と送信禁止期間の合計時間（式（１）内の（通信サイクル−優先期間−通信遅延量の最大値））を通信子機１０２の数と付加数との合計数で除して得られる値を送信許可期間の長さに指定する。
式（１）において、「１」はスイッチングハブ１０３での中継処理に要する時間を考慮した付加数である。通信親機１０１と通信子機１０２との間にｍ（ｍ≧１）段のスイッチングハブ１０３が存在する場合は、期間指定部３０２は、例えば、付加数として「ｍ」を用いる。
式（１）は一例である。期間指定部３０２は、式（１）で得られた値の小数点以下を切り下げた値を送信許可期間の長さとしてもよい。また、期間指定部３０２は、通信親機１０１の動作クロックに応じて式（１）で得られた値を変更して送信許可期間の長さを決定してもよい。また、期間指定部３０２は、式（１）と異なる計算式により送信許可時間の長さを決定してもよい。ただし、（送信許可期間×（通信子機数＋１））は非優先期間を超えてはならない。
また、送信禁止期期間の長さは、以下の式（２）により得られる。
送信禁止期間＝
（通信サイクル−優先期間−通信遅延量の最大値）−送信許可期間    式（２）
【００３６】
送信待ちデータを保持する通信子機１０２の数が判明した後は、送信許可期間情報６０４には、期間指定部３０２が以下の式（３）により算出した送信許可期間の長さが記述される。
送信許可期間＝
（通信サイクル−優先期間−通信遅延量の最大値）／（送信待ちデータを保持する通信子機数＋１）    式（３）
このように、送信待ちデータを保持する通信子機１０２の数が判明した後は、期間指定部３０２は、送信許可期間と送信禁止期間の合計時間（式（３）内の（通信サイクル−優先期間−通信遅延量の最大値））を送信待ちデータを保持する通信子機１０２の数と付加数との合計数で除して得られる値を送信許可期間の長さに指定する。
式（１）と同様、「１」はスイッチングハブ１０３での中継処理に要する時間を考慮した付加数である。通信親機１０１と通信子機１０２との間にｍ（ｍ≧１）段のスイッチングハブ１０３が存在する場合は、期間指定部３０２は、例えば、付加数として「ｍ」を用いる。
式（３）は一例である。期間指定部３０２は、式（３）で得られた値の小数点以下を切り下げた値を送信許可期間の長さとしてもよい。また、期間指定部３０２は、通信親機１０１の動作クロックに応じて式（３）で得られた値を変更して送信許可期間の長さを決定してもよい。また、期間指定部３０２は、式（３）と異なる計算式により送信許可時間の長さを決定してもよい。ただし、（送信許可期間×（通信子機数＋１））は非優先期間を超えてはならない。
また、送信禁止期期間は、前述の式（２）により得られる。
【００３７】
図７は、本実施の形態に係る通信期間の例を示す。
通信子機１０２の期間管理部５０３は、期間通知情報のサイクル開始タイミング情報６０に示されるサイクル開始タイミングから通信サイクルを開始する。
期間通知情報の通信サイクル情報６０２に従って、通信子機１０２の期間管理部５０３は通信サイクルを管理する。
１つの通信サイクルは、優先期間と非優先期間とで構成される。
通信子機１０２の通信部５０４は、期間管理部５０３からの通知に従い、期間通知情報の優先期間情報６０３に示される優先期間の間、優先データを通信親機１０１に送信する。
非優先期間は、送信許可期間と送信禁止期間とで構成される。
通信子機１０２の通信部５０４は、期間管理部５０３からの通知に従い、期間通知情報の送信許可期間情報６０４に示される送信許可期間の間、非優先データを通信親機１０１に送信する。
通信子機１０２の通信部５０４は、期間管理部５０３からの通知に従い、送信禁止期間の間、非優先データの送信を停止する。通信部５０４は、送信禁止期間の間、送信バッファに非優先データを蓄積する。
【００３８】
図８は、送信待ちデータを保持している通信子機１０２の数が判明した後の通信親機１０１と通信子機１０２の動作例を示す。
図８の例では、通信親機１０１と、通信子機１０２−ａ、通信子機１０２−ｂ及び通信子機１０２−ｃがスイッチングハブ１０３に接続されている。
なお、図８では、送信許可期間での通信親機１０１、通信子機１０２−ａ、通信子機１０２−ｂ及び通信子機１０２−ｃの動作例を示している。
送信許可期間８９０は、前述の式（１）により算出された送信許可期間である。
【００３９】
まず、各通信子機１０２において、期間管理部５０３が通知情報生成部５０１に非優先期間が到来したことを通知する。
通知情報生成部５０１は、通信部５０４に送信待ちデータを保持しているか否か、つまり、非優先データが送信バッファに蓄積されているか否かを問い合わせる。通信部５０４は、通知情報生成部５０１に送信待ちデータを保持しているか否かを応答する。
通知情報生成部５０１は、通信部５０４からの応答に基づき、非優先データ保持通知情報を生成し、生成した非優先データ保持通知情報を通信部５０４に出力する。なお、通信部５０４が非優先データ（送信待ちデータ）を保持していない場合は、通知情報生成部５０１は、期間更新判定部５０２に、通信親機１０１から送信許可期間が延長された期間通知情報を受信しても延長された送信許可期間を採用しないよう指示する。
通信部５０４は、非優先データ保持通知情報を通信親機１０１に送信する。
図８では、通信子機１０２−ａが非優先データ保持通知情報８０１−ａを送信する。また、通信子機１０２−ｂが非優先データ保持通知情報８０１−ｂを送信する。また、通信子機１０２−ｃが非優先データ保持通知情報８０２−ｃを送信する。
なお、図８では、通信子機１０２−ａのみが非優先データを保持しており、通信子機１０２−ｂ及び通信子機１０２−ｃは非優先データを保持していないものとする。
以降、各通信子機１０２は送信許可期間８９０の間、保持している非優先データの送信を行う。図８の例では、非優先データを保持している通信子機１０２−ａのみが送信許可期間８９０の間、非優先データの送信を行う。
【００４０】
次に、非優先データ保持通知情報を受信した通信親機１０１の動作例を説明する。
【００４１】
通信親機１０１の調査部３０１は、通信部３０４から非優先データ保持通知情報を取得する。そして、調査部３０１は、非優先データ保持管理テーブル９００を更新する。
【００４２】
図９は、非優先データ保持管理テーブル９００の例を示す。
非優先データ保持管理テーブル９００では、通信子機１０２ごとに非優先データ保持状況が管理されている。
通信子機１０２における非優先データの保持状況が判明する前、より具体的には、送信許可期間の開始時では、全ての通信子機１０２が非優先データを保持しているとの仮定に基づき、全ての通信子機１０２の非優先データ保持状況が「１」に設定されている。
各通信子機１０２からの非優先データ保持通知情報に基づき、調査部３０１は、非優先データ保持管理テーブル９００の非優先データ保持状況を更新する。
【００４３】
図１０は、調査部３０１の動作例を示すフローチャートである。図１０を参照して、調査部３０１の動作例を説明する。
【００４４】
調査部３０１は、通信子機１０２からの非優先データ保持通知情報を通信部３０４から取得すると、非優先データ保持通知情報を解析し、通信子機１０２が非優先データ（送信待ちデータ）を保持しているか否かを判定する（ステップＳ１００１）。
通信子機１０２が非優先データ（送信待ちデータ）を保持している場合（ステップＳ１００１でＹＥＳ）は、調査部３０１は処理を終了する。
通信子機１０２が非優先データ（送信待ちデータ）を保持していない場合（ステップＳ１００１でＮＯ）は、調査部３０１は、非優先データ保持管理テーブル９００の非優先データ保持状況を更新する。より具体的には、該当する通信子機１０２の非優先データ保持状況の値を「０」に変更する（ステップＳ１００２）。
次に、調査部３０１は、非優先データ（送信待ちデータ）を保持していない通信子機１０２、すなわち、非優先データ保持状況の値を「０」に変更した通信子機１０２を期間指定部３０２に通知する（ステップＳ１００３）。
期間指定部３０２は、調査部３０１から非優先データを保持していない通信子機１０２を通知された場合に、送信許可期間を再計算する。
【００４５】
図８の例では、調査部３０１が通信子機１０２−ａからの非優先データ保持通知情報８０１−ａを取得した場合に、通信子機１０２−ａは非優先データを保持しているため（ステップＳ１００１でＹＥＳ）、調査部３０１は非優先データ保持管理テーブル９００を更新しない。
調査部３０１が通信子機１０２−ｂからの非優先データ保持通知情報８０１−ｂを取得した場合は、通信子機１０２−ｂは非優先データを保持していないため（ステップＳ１００１でＮＯ）、調査部３０１は非優先データ保持管理テーブル９００の非優先データ保持状況を「０」に変更する（ステップＳ１００２）。そして、調査部３０１は、通信子機１０２−ｂを期間指定部３０２に通知する。
期間指定部３０２は、通信子機１０２−ｂが通知されると、送信許可期間を再計算する。
【００４６】
図１１は、期間指定部３０２の動作例を示すフローチャートである。図１１を参照して、期間指定部３０２の動作例を説明する。
【００４７】
期間指定部３０２は、調査部３０１から通知された通信子機１０２が通信遅延量が最大の通信子機１０２であるか否かを判定する（ステップＳ１１０１）。
期間記憶部３０３に通信遅延量が最大の通信子機１０２の識別子が記憶されている。
期間指定部３０２は、調査部３０１から通知された通信子機１０２の識別子が期間記憶部３０３に記憶されている識別子に一致するか否かを判定する。
調査部３０１から通知された通信子機１０２が、通信遅延量が最大の通信子機１０２である場合（ステップＳ１１０１でＹＥＳ）は、期間指定部３０２は、通信遅延量の最大値を変更する（ステップＳ１１０２）。具体的には、期間指定部３０２は、期間記憶部３０３で記憶されている通信子機１０２の識別子を非優先データ保持状況が「１」となっている通信子機１０２の中で通信遅延量が最大の通信子機１０２の識別子に変更する。
最後に、期間指定部３０２は、前述の式（３）に従って、送信許可期間を再計算する（ステップＳ１１０３）。
具体的には、期間指定部３０２は、非優先データ保持管理テーブル９００の非優先データ保持状況に記載されている「１」の数を、式（３）の「送信待ちデータを保持する通信子機数」として、送信許可期間を再計算する。
式（４）は、式（３）の「送信待ちデータを保持する通信子機数」を「非優先データ保持状況：１の数」に書き換えたものであり、期間指定部３０２は、式（４）にて送信許可期間の新たな長さを求める。
送信許可期間＝
（通信サイクル−優先期間−通信遅延量の最大値）／（非優先データ保持状況：１の数＋１）    式（４）
式（４）により、期間指定部３０２は、式（１）で求めた送信許可期間の長さよりも長い送信許可期間の長さを得る。
なお、ステップＳ１１０２で通信遅延量の最大値を変更している場合は、式（４）の計算で用いる通信遅延量の最大値は、変更後の最大値である。つまり、期間指定部３０２は、期間記憶部３０３で識別子が記憶されている通信子機１０２の通信遅延量を式（４）の計算に用いる。
また、式（１）と同様、「１」はスイッチングハブ１０３での中継処理に要する時間を考慮した付加数である。通信親機１０１と通信子機１０２との間にｍ（ｍ≧１）段のスイッチングハブ１０３が存在する場合は、期間指定部３０２は、例えば、付加数として「ｍ」を用いる。
式（４）は一例である。期間指定部３０２は、式（４）で得られた値の小数点以下を切り下げた値を送信許可期間の長さとしてもよい。また、期間指定部３０２は、通信親機１０１の動作クロックに応じて式（４）で得られた値を変更して送信許可期間の長さを決定してもよい。また、期間指定部３０２は、式（４）と異なる計算式により送信許可時間の長さを決定してもよい。ただし、（送信許可期間×（通信子機数＋１））は非優先期間を超えてはならない。
また、送信禁止期期間は、前述の式（２）により得られる。
【００４８】
ステップＳ１１０３により新たな送信許可期間が得られたら、期間指定部３０２は、新たな送信許可期間を通知情報生成部３０５に通知する。
通知情報生成部３０５は、新たな送信許可期間が送信許可期間情報６０４に示される期間通知情報を生成する。そして、通知情報生成部３０５は、生成した期間通知情報を通信部３０４に出力する。通信部３０４は、期間通知情報を全ての通信子機１０２に送信する。図８の例では、通信部３０４は、期間通知情報８５１を送信する。なお、通信部３０４は、非優先データを保持している通信子機１０２にのみ期間通知情報８５１を送信するようにしてもよい。
【００４９】
次に、期間通知情報８５１を受信した際の通信子機１０２−ａ、通信子機１０２−ｂ及び通信子機１０２−ｃの動作例を説明する。
【００５０】
通信子機１０２−ａは、非優先データを保持していることを通信親機１０１に通知しているため、通信子機１０２−ａの期間更新判定部５０２は、送信許可期間を延長することを決定する。つまり、期間更新判定部５０２は、期間通知情報８５１で通知された送信許可期間に従って非優先データを送信することを決定する。
期間更新判定部５０２は、期間通知情報８５１の送信許可期間情報６０４に示される送信許可期間を期間管理部５０３に通知する。
期間管理部５０３は、送信許可期間８９０を送信許可期間８９１まで延長する。この結果、通信子機１０２−ａは、非優先データを送信許可期間８９１まで送信することができる。
一方、通信子機１０２−ｂ及び通信子機１０２−ｃでは、前述のとおり、通信部５０４が非優先データを保持していないため、通知情報生成部５０１が期間更新判定部５０２に対して、期間通知情報８５１を受信した際に送信許可期間の延長を行わないように指示している。このため、通信子機１０２−ｂ及び通信子機１０２−ｃでは、期間更新判定部５０２が、送信許可期間を延長しないことを決定する。この結果、期間更新判定部５０２は、期間通知情報８５１の送信許可期間情報６０４に示される延長された送信許可期間を期間管理部５０３には通知しない。
【００５１】
その後、通信親機１０１が、通信子機１０２−ｃからの非優先データ保持通知情報８０１−ｃを受信した場合にも同様に動作する。そして、通信親機１０１の期間指定部３０２が、更に長い送信許可期間を算出する。この結果、通信子機１０２−ａは送信許可期間８９１まで非優先データを送信することができるようになる。
【００５２】
＊＊＊実施の形態の効果の説明＊＊＊
以上のように、本実施の形態では、送信待ちデータの保持状況に基づいて適切な送信許可期間の長さと送信禁止期間の長さが動的に決定される。このため、本実施の形態によれば、送信許可期間に送信された非優先データの中継が送信禁止期間内に完了し、優先度の低い非優先データによって、優先度の高い優先データの送信が遅延する事態を回避することができる。また、本実施の形態によれば、非優先データの通信効率を向上することができる。
【００５３】
実施の形態２．
実施の形態１では、通信子機１０２が非優先データを保持しているか否かに基づいて、送信許可時間の長さと送信禁止期間の長さを指定している。本実施の形態では、通信親機１０１が、非優先データを保持している通信子機１０２における非優先データの保持量も用いて送信許可時間の長さと送信禁止期間の長さを指定する例を説明する。
【００５４】
＊＊＊構成の説明＊＊＊
本実施の形態に係る通信システムの構成例は図１に示した通りである。
また、本実施の形態に係る通信親機１０１のハードウェア構成例は図２に示した通りである。
また、本実施の形態に係る通信親機１０１の機能構成例は図３に示した通りである。
また、本実施の形態に係る通信子機１０２のハードウェア構成例は図４に示した通りである。
また、本実施の形態に係る通信子機１０２の機能構成例は図５に示した通りである。
なお、以下では、主に実施の形態１との差異を説明する。以下で説明していない事項は実施の形態１に示したものと同じである。
【００５５】
実施の形態１で述べたように、まず、各通信子機１０２において、期間管理部５０３が通知情報生成部５０１に非優先期間が到来したことを通知する。
通知情報生成部５０１は、通信部５０４に非優先データ（送信待ちデータ）の蓄積量を問い合わせる。通信部５０４は、通知情報生成部５０１に非優先データ（送信待ちデータ）の蓄積量を通知する。通知情報生成部５０１は、以下の式（５）により、送信予測時間を計算する。送信予測時間は、非優先データ（送信待ちデータ）の送信に要すると予測される時間である。
送信予測時間＝
｛非優先データの蓄積バイト量＋保持されているフレーム数×（イーサヘッダ長＋ＣＲＣ長））｝／イーサネットの伝送速度    式（５）
式（５）において「非優先データの蓄積バイト量」は、通信部５０４により通知された非優先データ（送信待ちデータ）の蓄積量である。「保持されているフレーム数」は、送信バッファに保持されている非優先データ（送信待ちデータ）の数である。
【００５６】
次に、通知情報生成部５０１は、送信予測時間と、基準時間である式（１）により算出された送信許可時間とを比較する。送信予測時間が送信許可期間よりも短い場合は、通知情報生成部５０１は、送信予測時間が送信許可期間よりも短いことを通知する非優先データ保持通知情報を生成する。
そして、通知情報生成部５０１は、非優先データ保持通知情報を通信部５０４を介して通信親機１０１に送信する。
送信予測時間が送信許可期間よりも短い場合は、通知情報生成部５０１は、期間更新判定部５０２に、通信親機１０１から送信許可期間が延長された期間通知情報を受信しても送信許可期間を延長しないよう指示する。
【００５７】
通信親機１０１の調査部３０１は、通信部３０４から非優先データ保持通知情報を取得する。調査部３０１は、非優先データ保持通知情報を用いて、送信予測時間が送信許可時間以上である通信子機１０２の数を調査する。
そして、期間指定部３０２は、以下の式（６）にて送信許可期間の新たな長さを求める。
送信許可期間＝
（通信サイクル−優先期間−通信遅延量の最大値）／（送信予測時間が送信許可期間以上の通信子機数＋１）    式（６）
式（６）により、期間指定部３０２は、式（１）で求めた送信許可期間の長さよりも長い送信許可期間の長さを得る。
なお、式（６）の計算で用いる通信遅延量の最大値は、送信予測時間が送信許可時間以上の通信子機１０２の通信遅延量の中での最大値である。
また、式（１）と同様、「１」はスイッチングハブ１０３での中継処理に要する時間を考慮した付加数である。通信親機１０１と通信子機１０２との間にｍ（ｍ≧１）段のスイッチングハブ１０３が存在する場合は、期間指定部３０２は、例えば、付加数として「ｍ」を用いる。
式（６）は一例である。期間指定部３０２は、式（６）で得られた値の小数点以下を切り下げた値を送信許可期間の長さとしてもよい。また、期間指定部３０２は、通信親機１０１の動作クロックに応じて式（６）で得られた値を変更して送信許可期間の長さを決定してもよい。また、期間指定部３０２は、式（６）と異なる計算式により送信許可時間の長さを決定してもよい。ただし、（送信許可期間×（通信子機数＋１））は非優先期間を超えてはならない。
また、送信禁止期期間は、前述の式（２）により得られる。
以降の手順は実施の形態１に示した通りであるので、説明を省略する。
【００５８】
以上のようにすることで、非優先データが少量蓄積されている通信子機が混在する場合においても送信許可期間を延長することができる。このため、本実施の形態によれば、非優先データの通信効率を向上することができる。
【００５９】
なお、実施の形態１及び２では、期間指定部３０２が、ｎ（ｎ≧１）回目の通信サイクルでの通信子機１０２における送信待ちデータの保持状況に基づき、ｎ回目の通信サイクルでの送信許可期間の長さと送信禁止期間の長さを指定する例を説明した。
これに代えて、期間指定部３０２が、ｎ回目の通信サイクルでの通信子機１０２における送信待ちデータの保持状況に基づき、（ｎ＋１）回目の通信サイクルでの送信許可期間の長さと送信禁止期間の長さを指定するようにしてもよい。
【００６０】
また、実施の形態１及び２では、通信親機１０１の期間指定部３０２は、通信子機１０２からの非優先データ保持通知情報を受信する度に、送信許可期間の長さを再計算している。
これに代えて、期間指定部３０２が、全ての通信子機１０２から非優先データ保持通知情報を受信した後に、送信許可期間の長さを再計算してもよい。このようにすることで、期間指定部３０２における計算量を削減することができる。また、通信親機１０１から送信される期間通知情報の数を減らすことができるので、通信帯域を有効に利用することができる。
【００６１】
以上、本発明の実施の形態について説明したが、これら２つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら２つの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これら２つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【００６２】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、通信親機１０１及び通信子機１０２のハードウェア構成の補足説明を行う。
プロセッサ２０１及びプロセッサ４０１は、それぞれ、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ２０１及びプロセッサ４０１は、それぞれ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等である。
記憶装置２０２及び記憶装置４０２は、それぞれ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
通信インタフェース２０３及び通信インタフェース４０３は、それぞれ、データの通信処理を実行する電子回路である。
通信インタフェース２０３及び通信インタフェース４０３は、それぞれ、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【００６３】
また、記憶装置２０２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がプロセッサ２０１により実行される。
プロセッサ２０１はＯＳの少なくとも一部を実行しながら、調査部３０１、期間指定部３０２、通信部３０４及び通知情報生成部３０５の機能を実現するプログラムを実行する。
プロセッサ２０１がＯＳを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、調査部３０１、期間指定部３０２、通信部３０４及び通知情報生成部３０５の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置２０２、プロセッサ２０１内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、調査部３０１、期間指定部３０２、通信部３０４及び通知情報生成部３０５の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
【００６４】
また、記憶装置４０２には、ＯＳも記憶されている。
そして、ＯＳの少なくとも一部がプロセッサ４０１により実行される。
プロセッサ４０１はＯＳの少なくとも一部を実行しながら、通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４の機能を実現するプログラムを実行する。
プロセッサ４０１がＯＳを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、記憶装置４０２、プロセッサ４０１内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記憶媒体に記憶されてもよい。
【００６５】
また、調査部３０１、期間指定部３０２、通信部３０４及び通知情報生成部３０５の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、通信親機１０１は、処理回路により実現されてもよい。処理回路は、例えば、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）である。
この場合は、調査部３０１、期間指定部３０２、通信部３０４及び通知情報生成部３０５は、それぞれ処理回路の一部として実現される。
【００６６】
また、通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、通信親機１０１は、処理回路により実現されてもよい。処理回路は、例えば、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡである。
この場合は、通知情報生成部５０１、期間更新判定部５０２、期間管理部５０３及び通信部５０４は、それぞれ処理回路の一部として実現される。
【００６７】
なお、本明細書では、プロセッサと、記憶装置と、プロセッサと記憶装置の組合せと、処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと、記憶装置と、プロセッサと記憶装置の組合せと、処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
【符号の説明】
【００６８】
１０１  通信親機、１０２  通信子機、１０３  スイッチングハブ、２０１  プロセッサ、２０２  記憶装置、２０３  通信インタフェース、２０４  時計、３０１  調査部、３０２  期間指定部、３０３  期間記憶部、３０４  通信部、３０５  通知情報生成部、４０１  プロセッサ、４０２  記憶装置、４０３  通信インタフェース、４０４  時計、５０１  通知情報生成部、５０２  期間更新判定部、５０３  期間管理部、５０４  通信部。
【要約】
通信親機（１０１）は、複数の通信子機（１０２）を管理する。調査部（３０１）は、複数の通信子機（１０２）における送信待ちデータの保持状況を調査する。期間指定部（３０２）は、複数の通信子機（１０２）における送信待ちデータの保持状況に基づき、送信待ちデータの送信が許可される送信許可期間の長さと送信待ちデータの送信が禁止される送信禁止期間の長さを指定する。【図１】
0006320654.tif 000002
【図２】
0006320654.tif 000003
【図３】
0006320654.tif 000004
【図４】
0006320654.tif 000005
【図５】
0006320654.tif 000006
【図６】
0006320654.tif 000007
【図７】
0006320654.tif 000008
【図８】
0006320654.tif 000009
【図９】
0006320654.tif 000010
【図１０】
0006320654.tif 000011
【図１１】
0006320654.tif 000012