(57)【特許請求の範囲】
【請求項１】
固定フレーム長を有する１フレーム内のデータチャネルのスケジューリングを行う通信装置であって、
前記１フレームの周期内に入力されるデータのデータ量及び入力時刻に応じて予め定められた、前記固定フレーム長中の任意の時間である処理開始時刻に於いて、スケジューリング処理を開始する割り込み処理を発生させる時間管理部と、
前記割り込み処理の発生に応じて、前記データチャネル内にデータ送信時間の帯域の割り当てを要求する帯域要求を作成して送信するデータ作成要求作成部と、
前記データ作成要求作成部から送信された前記帯域要求を受け付けるデータ送信要求受付部と、
前記帯域要求の受け付けに応じて、要求された前記帯域を前記データチャネル内に割り当ててスケジュールを作成するスケジューラ部とを備えることを特徴とする、
通信装置。
【請求項２】
請求項１記載の通信装置であって、
前記時間管理部は、
予め定められた、前記スケジューラ部が前記スケジュールの作成を開始するスケジュール作成開始時刻の情報を有しており、
前記データ作成要求作成部が前記帯域要求を作成した際の現在時刻を取得して、前記現在時刻と前記スケジュール作成開始時刻との差分値を算出して、前記差分値とある閾値との大小関係を比較し、前記差分値が前記ある閾値以上の場合には、再度、帯域要求を作成する時間が存在すると判断して、前記現在時刻から一定の時間が経過した後に再度の割り込み処理を発生させて前記データ作成要求作成部に前記帯域要求を再度作成させる一方、前記差分値が前記ある閾値未満の場合には、再度、帯域要求を作成する時間がないと判断する処理を行い、
前記データ作成要求作成部は、前記時間管理部が再度の帯域要求を作成する時間がないと判断した場合にのみ、前記データ作成要求作成部から送信されて来る前記帯域要求を受け付けることを特徴とする、
通信装置。
【請求項３】
請求項２記載の通信装置であって、
前記現在時刻から前記スケジュール作成開始時刻までに入力されると予想される前記データの前記データ量の最大値を算出した上で、算出された最大データ量の処理時間を算出するデータ発生量―時間換算部を更に備えており、
前記時間管理部は、前記差分値が前記ある閾値以上の場合には、前記スケジュール作成開始時刻から前記データ発生量―時間換算部が算出した前記最大データ量の処理時間分だけ遡った時刻に、再度の割り込み処理を発生させることを特徴とする、
通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１台のマスタ装置と１台或いは複数のスレーブ装置から構成される通信システムに於いて、マスタ装置（通信装置）がスレーブ装置及びマスタ装置自身のデータ送信要求を受理して、各々のデータ送信時間の割り当て帯域をスケジューリングする技術に関する。
【背景技術】
【０００２】
時分割多元接続（ＴＤＭＡ）方式では、所定の周期の単位時間が１フレームとして定義され、１フレーム内の送受信タイミングでは、ＡｃｃｅｓｓＰｏｉｎｔ（以下「ＡＰ」と言う。）がスケジューリングして、ＭｏｂｉｌｅＴｅｒｍｉｎａｌ（以下、「ＭＴ」と言う。）との通信を行う。「小電力データ通信システム」の一つである「広帯域移動アクセスシステム」（以下「ＨｉＳＷＡＮａ」と言う。）で規定されたＭＡＣフレームフォーマットを用いて通信を行う場合、各ＭＴは、ＡＰからブロードキャストされる帯域割り当て情報に従い、データの送信を行う。帯域割り当て情報は、フレーム開始付近に位置するＦｒａｍｅＣＨａｎｎｅｌ（以下「ＦＣＨ」と言う。）により、ブロードキャストされる。
【０００３】
ＡＰが、１フレームに１回、帯域割り当て要求に応じて次フレームの帯域割り当てのスケジューリングを実施することを前提とすると、次フレームでのＦＣＨの送信に遅れない様に、出来るだけ早い時間からＡＰはスケジューリングを開始するのが望ましい。しかし、スケジュール作成からスケジュール送信までに時間が空くと伝送遅延が大きくなるため、遅延の観点からは、出来るだけ遅い時刻からスケジューリングが開始されるのが良いと、考えられる。
【０００４】
斯かる伝送遅延に対する対策としては、データ送信用の時間に空きがあれば、衝突の可能性がある帯域要求をこの空き時間を用いて実施する方法がある（特許文献１を参照。）。又、通信量が少ない場合には、データ送信そのものにランダムアクセスシステムを併用して低遅延を実現する方法がある（特許文献２を参照。）。しかし、いずれの方法も、通信量が少ないときに実施可能な方法である。
【０００５】
【特許文献１】特開平１１−２３９１５２号公報
【特許文献２】特開２０００−１７４７６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
伝送遅延を最小に抑えるためには、入力された通信データに応じて帯域割り当て要求を作成し、その直後に作成された帯域割り当て要求を基にスケジューリングを行うことになる。帯域割り当て要求作成にかかる時間は入力されたデータ量に依存し、１フレームで処理可能なデータの最大値は、システムの通信速度性能の目標値から決定され得る。スケジューリングの開始時間は、この最大値の通信データの全てを解析して帯域割り当て要求を作成し、更にスケジューリング完了がＦＣＨの送信に間に合う様な時間に設定される必要性がある。その理由は、スケジューリングの完了がＦＣＨの送信に間に合わないと、次フレームでの通信が不可となり、伝送効率が著しく低下するため、この低下を回避するためである。
【０００７】
しかしながら、１フレームに入力されるデータ量は常に一定でないことから、処理量の最大値からこの処理開始時刻を決定すると、入力されたデータ量が少ないときには、スケジュール作成からスケジュール送信までに時間が空き、伝送遅延が発生するという問題点が発生する。
【０００８】
この発明は、上記の問題点を踏まえて成されたものであり、その目的は、固定フレーム長を有し、データチャネルのスケジューリングを行う通信装置に於いて、伝送遅延の発生を抑制し、効率的な通信を実現することにある。
【課題を解決するための手段】
【０００９】
本発明の主題は、固定フレーム長を有する１フレーム内のデータチャネルのスケジューリングを行う通信装置であって、前記１フレームの周期内に入力されるデータのデータ量及び入力時刻に応じて予め定められた、前記固定フレーム長中の任意の時間である処理開始時刻に於いて、スケジューリング処理を開始する割り込み処理を発生させる時間管理部と、前記割り込み処理の発生に応じて、前記データチャネル内にデータ送信時間の帯域の割り当てを要求する帯域要求を作成して送信するデータ作成要求作成部と、前記データ作成要求作成部から送信された前記帯域要求を受け付けるデータ送信要求受付部と、前記帯域要求の受け付けに応じて、要求された前記帯域を前記データチャネル内に割り当ててスケジュールを作成するスケジューラ部とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明の主題によれば、伝送遅延性能を決定するＣＰＵの処理開始時刻をシステムに応じて設定可能としたので、システムに応じた設定の調節が可能となり、効率的な通信が実現することが出来る。
【００１１】
更に、処理が完了した時点での残り時間を算出し、残り時間が十分あれば再度処理を繰り返すことを可能としたので、データ量が少ない場合でも効率的な通信を実現することが出来ると言う効果がある。
【００１２】
更に、処理が完了した時点での残り時間から発生するデータ量を予測し、そのデータ量を処理するのに必要な時間を残した時刻から処理を再開するため、更に効率的な通信を実現することが出来ると言う効果がある。
【００１３】
以下、この発明の主題の様々な具体化を、添付図面を基に、その効果・利点と共に、詳述する。
【発明を実施するための最良の形態】
【００１４】
以下の各実施の形態を構成する通信システムでは、ＨｉＳＷＡＮａのＡＰに相当するのがマスタ装置であり、ＭＴに相当するのがスレーブ装置となる。本発明はマスタ装置のスケジューリング処理に関するものであるため、以下の各実施の形態では、通信装置たるマスタ装置の内部の処理について記載する。
【００１５】
（実施の形態１）
図１は、本実施の形態に係る、マスタ装置として機能する通信装置のシステム構成を示すブロック図である。尚、図１は、後述する実施の形態２及び３に於いても援用される。図１に示す通り、本通信装置は、大要、動作の制御を行うＣＰＵ１００、汎用メモリ１１０、Ｂｒｉｄｇｅ１２０、ＭＡＣ１３０、及びＰＨＹ１４０から構成される。汎用メモリ１１０は、ＣＰＵ１００により実行されるマスタ制御プログラム、及び、Ｅｔｈｅｒｎｅｔ（登録商標）Ｆｒａｍｅデータ（以下では、単に「データ」と言う。）を格納する。Ｂｒｉｄｇｅ１２０は、データを送受信する外部のパーソナルコンピュータ等(図示せず)の機器に接続されており、受信した上記データを汎用メモリ１１０に格納する機能を有する。ＭＡＣ１３０は、Ｂｒｉｄｇｅ１２０が入力した汎用メモリ１１０上のデータを読み出して、ＣＰＵ１００によって後述する通りに決められたスケジュール、及び、複数のデータを連結して送信するための情報（以下、「連結情報」と言う。）に従い、読み出したデータを送信する。ＰＨＹ１４０は、ＭＡＣ１３０から送信されて来たデータを、ＣＰＵ１００によって決められたスケジュールに従って、物理層（インターフェースに相当：図示せず）を介して、スレーブ装置（図示せず）に送信する。尚、スレーブ装置もまた、図１と同様な構成を有し、その有するＢｒｉｄｇｅにはパーソナルコンピュータ等の機器が接続されている。
【００１６】
次に、データの流れについて、図１を用いて記載する。
【００１７】
先ず、Ｂｒｉｄｇｅ１２０は、任意のタイミングでデータが外部よりＢｒｉｄｇｅ１２０に入力されると、入力されたデータを出力先ポートに出力する。このとき、出力先がＭＡＣ１３０である場合には、Ｂｒｉｄｇｅ１２０は、入力されたデータを汎用メモリ１１０に格納する。汎用メモリ１１０中のデータ保存部分は固定長のセル(図示せず)に区切られており、このセル単位でデータは管理されている。Ｂｒｉｄｇｅ１２０は、セル管理情報メモリ１２１を有しており、セル管理情報メモリ１２１は、「汎用メモリ１１０上のどのセルにデータが保存されているか」の情報を、セル管理情報として、記憶している。Ｂｒｉｄｇｅ１２０は、データの入出力時に、セル管理情報メモリ１２１内に格納されている、「どのセルにデータが保存されているか」のセル管理情報を更新する。
【００１８】
次に、ＣＰＵ１００は、後述するマスタ制御プログラムの実働による同プログラムの制御の下で、連結情報を作成するために、セル管理情報メモリ１２１に直接にアクセスして、「どのセルにデータが保存されているか」のセル管理情報を確認した上で、連結情報を作成する。ここで、連結情報とは、ＭＡＣ１３０がデータ送信のために使用する情報であり、どのデータを一まとめにして送信するかを表現している情報である。ＣＰＵ１００が作成した連結情報は、マスタ制御プログラムの実行としてのＣＰＵ１００のアクセスにより、ＭＡＣ１３０に接続された連結情報メモリ１３１に格納される。
【００１９】
ＭＡＣ１３０は、汎用メモリ１１０上のセル中のデータを、ＣＰＵ１００が作成した連結情報に従って、読み取る。又、ＭＡＣ１３０及びＰＨＹ１４０は、どの時間帯にデータの送受信動作を行うかを規定したスケジュールメモリ１３２内のスケジュール情報（スケジュールとも言う。）に従って動作し、このためのスケジュール作成処理であるスケジューリングを、ＣＰＵ１００が、マスタ制御プログラムによる制御の下で実行する。即ち、ＣＰＵ１００は、マスタ制御プログラムの指令に基づいて、要求された各データ送信時間の割り当て帯域（以下、単に「帯域」と言う。）を、周期が固定（本例では９ｍｓｅｃ）の１フレーム内の所定時間帯（１フレームの周期から後述するＢＣＨ２００，ＦＣＨ２０１，ＡＣＨ２０２及びＲＣＨ２０３の各制御チャネルに割り当てられた期間を除いた残りの期間：後述する図２に於けるＡＣＨ２０２とＲＣＨ２０３との間の時間帯）内に割り当てる処理を、スケジュール作成処理（スケジューリング）として、実行する。ＭＡＣ１３０は、連結情報メモリ１３１及びスケジュールメモリ１３２内にそれぞれ格納されている連結情報及びスケジュール情報に基づいて、各制御チャネル内の制御データ及びデータチャネル内の各データの送信処理を行い、ＰＨＹ１４０にデータを転送する。ＰＨＹ１４０は、ＰＨＹ１４０にも接続されたスケジュールメモリ１３２内のスケジュール情報に従い、ＭＡＣ１３０より転送されて来たデータを、物理層を介して、帯域割り当て要求をして来た各スレーブ装置に送信する。
【００２０】
ＣＰＵ１００は、マスタ制御プログラムの実行により、ＭＡＣ１３０及びＰＨＹ１４０の動作を規定する「連結情報」及び「スケジュール情報」を、周期動作として、実動作の前フレームの期間中に作成・格納する。
【００２１】
スケジュール情報に従って、ＰＨＹ１４０が各スレーブ装置からのデータ及び帯域割り当て要求を含むＲＣＨ２０３（図２）の制御データを受信した場合には、ＰＨＹ１４０は、受信したデータ等を、ＭＡＣ１３０に転送する。ＭＡＣ１３０は、ＰＨＹ１４０より転送されて来た、連結されたデータを、単独のＥｔｈｅｒｎｅｔ（登録商標）Ｆｒａｍｅデータに分解し、分解された各データをＢｒｉｄｇｅ１２０に入力する。又、ＭＡＣ１３０は、各スレーブ装置からの帯域割り当て要求が含まれている場合には、それらの帯域割り当て要求をＣＰＵ１００に送信する。Ｂｒｉｄｇｅ１２０は、入力された各データの出力先ポートに応じて、当該データを出力する。即ち、Ｂｒｉｄｇｅ１２０は、出力先が本通信装置に接続されたＥｔｈｅｒｎｅｔ（登録商標）機器であれば、当該機器に当該データを出力し、出力先が再度ＭＡＣ１３０であれば、出力先ポートに従った汎用メモリ１１０に当該データを出力する。
【００２２】
次に、本システムの周期動作を規定するフレームフォーマットについて、図２を用いて記載する。尚、図２は、後述する実施の形態２及び３に於いても援用される。
【００２３】
図２に示す通り、本システムでは、９ｍｓｅｃを１フレームに相当する単位時間（固定フレーム長）としており、１フレーム中には、１組のＢＣＨ２００、ＦＣＨ２０１、ＡＣＨ２０２、及びＲＣＨ２０３の各制御チャネルが含まれている。１フレーム中、各制御チャネルに対応する時間以外の時間はデータチャネルのための所定の時間帯であり、マスタ装置たる図１の通信装置は、スレーブ装置又はマスタ装置自身で作成される帯域割り当て要求（以下「帯域要求」とも言う。）に対して帯域を割り当てることにより、データチャネルのスケジューリングを行う。
【００２４】
図２に於いて、ＢＣＨ２００は、マスタ装置がブロードキャストするための制御チャネルであり、システムの管理情報を含んでいる。ＦＣＨ２０１は、マスタ装置がブロードキャストするための制御チャネルであり、前述の通り、ＦＣＨ２０１は、マスタ装置で実施されたスケジューリング結果を、全スレーブ装置に通知する。ＡＣＨ２０２は、マスタ装置がブロードキャストするための制御チャネルであり、ランダムアクセスに対する応答情報を含む。ＲＣＨ２０３は、スレーブ装置がマスタ装置に対して発信するための制御チャネルであり、帯域割り当て要求等の要求の情報を含む。ＲＣＨ２０３は、複数のスレーブ装置からのランダムアクセスであるため、データの衝突に関する情報が、次フレームのＡＣＨ２０２によって、マスタ装置から配信される。この様に、マスタ装置でスケジューリングを実施し、次のフレームの先頭付近でスケジュール情報を発信するため、マスタ装置は、ＦＣＨ２０１の送信までに、スケジューリングを完了する必要がある。スケジューリング開始時間を出来るだけ遅らせることは、遅延性能的には有利であるが、そのためにＦＣＨ２０１の送信までにスケジューリングの完了が間に合わなかった場合には、そのフレームでのデータ送受信が全て不可能となるため、ある程度のマージンが必要となる。
【００２５】
ここで、図３は、本実施の形態に係るマスタ制御プログラムの構成を模式的に示すブロック図である。次に、ＣＰＵ１００上で機能するマスタ制御プログラムの構成を、図３を参照しつつ、記載する。
【００２６】
マスタ制御プログラムは、「データ送信要求作成手段」を実現するデータ送信要求作成部３００、「データ送信要求受付手段」を実現するデータ送信要求受付部３１０、データ送信要求の「スケジュール手段」を実現するスケジューラ部３２０、及び、定刻（スケジューリング開始時間）に割り込みを発生させる等のプログラムの時間管理を実施する時間管理部３３０より構成されている。又、時間管理部３３０は、上記定刻を予め定める「処理開始時刻設定手段」である処理開始時刻設定部３３１を備えている。
【００２７】
図４は、本実施の形態に係るマスタ制御プログラムの処理の流れを示すフローチャートである。ＣＰＵ１００が汎用メモリ１１０に格納されているマスタ制御プログラムを実働させることにより機能する処理開始時刻設定部３３１は、予め、フレーム周期中の任意の時間に、マスタ制御プログラムに於けるスケジューリングの実行を開始する時間である処理開始時刻を、設定しておく。そして、処理開始時刻である定刻に於いて時間管理部３３０より割り込みが発生すると、ＣＰＵ１００はマスタ制御プログラムのスケジューリング処理を実行し、その結果、ＣＰＵ１００内で同プログラムの下で機能するデータ送信要求作成部３００は、Ｂｒｉｄｇｅ１２０内のセル管理情報メモリ１２１に直接にアクセスして、セル管理情報メモリ１２１内に格納されているセル管理情報を確認した上で、連結情報と帯域要求とを作成する（ステップＳ−４０１）。そして、作成された帯域要求を、ＣＰＵ１００内で同プログラムの下で実現されるデータ送信要求受付部３１０が受け付けると、引き続いて、ＣＰＵ１００内で同プログラムの下で機能し得るスケジューラ部３２０がスケジュールを作成する（ステップＳ−４０２）。ここで受け付けられる帯域要求は、ＲＣＨ２０３を使用してスレーブ装置から受信するものも含む。その後、スケジューリングが完了すると、ＣＰＵ１００内のスケジューラ部３２０は、スケジュールメモリ１３２に直接にアクセスして、作成されたスケジュールを、スケジュール情報として、スケジュールメモリ１３２内に書き込むと共に、ＣＰＵ１００内のデータ送信要求作成部３００は、連結情報メモリ１３１に直接にアクセスして、割り当てられた帯域に関する連結情報を、連結情報メモリ１３１内に書き込む（ステップＳ−４０３）。しかも、作成されたスケジュールはＦＣＨ２０１として全スレーブ装置に送信されるため、作成されたスケジュールは、ＣＰＵ１００によって、汎用メモリ１１０上に配置されたＦＣＨ送信用のメモリ領域内にも書き込まれる。
【００２８】
以上、図１に例示された通信装置の動作について個別に記載したが、以下では、全体的な動作概要を、図５を使用して記載する。尚、図５は、後述する実施の形態２及び３に於いても援用される。
【００２９】
図５は、通信装置の動作を時系列に表した概念図であり、周期的に動作するＣＰＵ１００の処理と、ＣＰＵ１００が作成したスケジュールに従ったＭＡＣ１３０及びＰＨＹ１４０の動作とを、複数のフレームにわたって記載する図である。尚、Ｂｒｉｄｇｅ１２０は周期的には動作せず、データの入力があったときに処理を実施するため、その動作の記載を割愛する。
【００３０】
前述の様に、ｎ番目のフレームの期間内のある時間帯にＣＰＵ１００が帯域要求及び連結情報を作成し（ステップＳ−５０１）、更に、これらの要求に基づきＣＰＵ１００が当該ｎ番目のフレームの期間内で次フレーム（（ｎ＋１）番目のフレーム）のスケジュールを作成し（ステップＳ−５０２）、更に、ＣＰＵ１００は、当該ｎ番目のフレームの期間内で、連結情報メモリ及びスケジュールメモリ５００の一方の面０に結果（連結情報及びスケジュール情報）を書き込む（ステップＳ−５０３）。
【００３１】
次の（ｎ＋１）番目のフレームで、ＭＡＣ１３０及びＰＨＹ１４０は、これらの情報に基づき、データの送受信処理を実施する（ステップＳ−５１４）。他方、ＣＰＵ１００は、定刻になると帯域要求及び連結情報を作成し（ステップＳ−５１１）、これらの要求に基づき次フレーム（（ｎ＋２）番目のフレーム）のスケジュールを作成し（ステップＳ−５１２）、引き続いて連結情報メモリ及びスケジュールメモリ５１０に結果（連結情報及びスケジュール情報）を書き込む（ステップＳ−５１３）。ＭＡＣ１３０及びＰＨＹ１４０が結果の読み出し及び送受信の処理を実施している間に、ＣＰＵ１００が次フレーム（（ｎ＋２）番目のフレーム）のスケジュール情報及び連結情報を上書きしない様にするために、連結情報メモリ１３１及びスケジュールメモリ１３２は２面構成と成っており（図１参照）、ＭＡＣ１３０及びＰＨＹ１４０が連結情報メモリ及びスケジュールメモリ５００の片方の面０を読み出している間に、ＣＰＵ１００はもう片方の面１に結果を書き込む制御を実施している。その次のフレーム（（ｎ＋２）番目のフレーム）の期間内で、ＭＡＣ１３０及びＰＨＹ１４０が、連結情報メモリ及びスケジュールメモリ５１０から結果を読み出して送受信の動作を行っている間（ステップＳ−５２４）に、ＣＰＵ１００は、次フレーム（（ｎ＋３）番目のフレーム）のスケジュール情報及び連結情報を作成し、連結情報メモリ及びスケジュールメモリ５２０に、即ち、ＭＡＣ１３０及びＰＨＹ１４０の読み出し面１とは反対の面０に結果を書き込む。
【００３２】
図６はデータの入力とＣＰＵ１００の処理とを時系列に表現した概念図であり、本図を用いて本実施の形態の特徴点（ポイント）及びその効果を記載する。ここで、通信システムの構成が定まれば、通信処理装置に外部の機器より入力するデータのデータ量の大きさないしはデータの処理量は、事前にほぼ決定される。入力データのデータ量が比較的大きい場合には、比較的長い処理時間を要するため、図６の例では、ＣＰＵ処理（ａ）を採用するのが望ましく、従って、ＣＰＵ処理（ａ）の処理開始時間に対応した定刻（処理開始時刻）を、マスタ制御プログラムに設定することになる。これに対して、入力データのデータ量が比較的小さい場合には、ＣＰＵ処理（ａ）を採用すると伝送遅延時間が長くなるので、ＣＰＵ処理（ａ）を採用することは望ましくない。この場合には、ＣＰＵ処理（ｂ）又はＣＰＵ処理（ｃ）の何れかを、データの入力時刻に応じて採用する、即ち、データの入力時刻に応じて定刻（処理開始時刻）をマスタ制御プログラムに設定することとなる。この点を以下に記載する。
【００３３】
異なる処理開始時刻を設定されたＣＰＵ処理（ｂ）とＣＰＵ処理（ｃ）とに於いては、帯域要求及び連結情報の作成処理（ステップＳ６０１）の所要時間は共に同一である。ＣＰＵ処理（ｂ）では、ＣＰＵ処理（ｃ）よりも処理開始時刻が早いため、処理の終了時間も早く、連結情報及びスケジュール情報の書き込み処理がＣＰＵ処理（ｃ）の場合よりも早く完了するため、ＣＰＵ処理の未完了によるＭＡＣ１３０及びＰＨＹ１４０の動作停止を回避し得る点では有利である。即ち、データの入力時刻がステップＳ６０４に示す時刻である場合には、ＣＰＵ処理（ｂ）でＣＰＵ１００がマスタ制御プログラムを実行する様に、処理開始時刻を設定すれば良い。それに対して、（ｎ＋１）番目のフレームに於けるデータ入力に示す様に、データの入力時刻がステップＳ６１４に示す時刻（フレーム内の中間時刻よりも遅い時刻）である場合には、ＣＰＵ処理（ｃ）の方は、当該データ入力時刻はＣＰＵ１００がステップＳ６１１の処理を行っている時間帯に属するため、（ｎ＋１）番目のフレームの期間内にＣＰＵ１００がステップＳ６１１及びＳ６１２を処理し、その結果が（ｎ＋２）番目のフレームの期間内にＭＡＣ１３０及びＰＨＹ１４０によってスレーブ装置側へ出力される可能性がある。他方、ＣＰＵ処理（ｂ）の方では、その処理開始時刻がデータ入力（ステップＳ６１４）の時刻よりも早くステップＳ６１１が既に実行された後のタイミングであるため、ステップＳ６１４で入力されたデータに対するＣＰＵ処理（ｂ）は、（ｎ＋２）番目の次フレームの期間内のステップＳ６２１及びＳ６２２で処理されることとなり、そのために伝送遅延が発生する。つまり、ＣＰＵ１００の処理開始時刻を１フレームの期間中の比較的早い時刻に設定することは、ある時刻に入力されたデータが、そのフレームの期間内で処理され、次フレームの期間内でその結果が出力される確率が下がることを、意味する。
【００３４】
従って、データ量が比較的小さく且つ入力時刻が１フレームの期間内で比較的に遅い場合には、ＣＰＵ１００がマスタ制御プログラムのスケジュール処理を開始する処理開始時刻（定刻）を固定フレーム長の内で出来るだけ遅らせることが望ましい。しかし、ＣＰＵ１００の処理完了が次フレームの開始に間に合わなければ、次フレームでのデータ送受信が一切出来なくなり、通信効率が下がる。そこで、ＣＰＵ１００の処理開始時刻(定刻)を最適化する必要性があるが、ＣＰＵ１００が帯域要求の作成及び連結情報の作成として処理すべきデータ量は、ターゲットとなる通信システムに於いて１フレームの期間内で発生するデータ量に依存する。例えば、データの処理量が多い場合には、図６のＣＰＵ処理（ａ）の様に、比較的早い時刻にＣＰＵ１００のスケジュール処理を開始する。同一の処理開始時刻を用いて、データの処理量の少ない通信システムでの運用をした場合には、ＣＰＵ処理（ｂ）の様に、ＣＰＵ１００の処理は次フレームまでには完了するが、余りにも処理が早く完了した場合には、処理完了後に入力されたデータが出力される時点は次々フレームの期間内ということになり、伝送遅延が大きくなるという問題点が発生する。他方、データの処理量の少ない通信システムでの運用をした場合であって、ステップＳ６１４の様にデータの入力時刻が比較的遅い場合には、ＣＰＵ処理（ｃ）で実行する様に、ＣＰＵ１００の処理開始時刻を遅く設定するのが望ましい。
【００３５】
本実施の形態では、通信システムによりほぼ定まる入力データのデータ量及び入力時刻に応じて、ＣＰＵ１００の処理開始時刻を１フレームの期間内で任意に変更することが出来るため、ＣＰＵ処理（ｃ）の様に、データの処理時間が少ないシステムでは、伝送遅延抑止の観点から、ＣＰＵ１００の処理開始時刻を遅らせることが可能である。つまり、データ発生量に応じてＣＰＵ１００の処理開始時刻を設定することが出来るため、次フレームの開始までに連絡情報及びスケジュール情報の書き込み処理を完了させると言う処理能力の観点と、伝送遅延性能の観点とから、ＣＰＵ１００の処理開始時刻を調整することが出来、効率良くデータを送信することが可能となる。
【００３６】
（実施の形態２）
図７は、本実施の形態に係る通信装置のＣＰＵ１００に於いて実働されるマスタ制御プログラムの構成を示すブロック図である。図７に示す様に、マスタ制御プログラムは、「データ送信要求作成手段」を実現するデータ送信要求作成部７００、「データ送信要求受付手段」を実現するデータ送信要求受付部７１０、データ送信要求の「スケジュール手段」を実現するスケジューラ部７２０、定刻に割り込みを発生させる等のプログラムの時間管理を実施する時間管理部７３０より成る。又、時間管理部７３０は、帯域要求及び連結情報作成処理の開始時刻設定手段である連結情報作成処理開始時刻設定部（帯域要求作成処理開始時刻設定部とも言う。）７３１、並びに、スケジュール作成処理開始時刻の設定手段である、スケジュール作成処理開始時刻設定部７３２を、含む。更に、時間管理部７３０は、時間管理の基本機能として、現在の時刻を計測するタイマ機能を有する「現在時刻確認手段」（図示せず。）、及び、一定時間の経過後の任意のタイミングに於いてタイマ割り込みを発生させるためのタイマ機能を有する、「一定時間の経過通知手段」（図示せず。）を、有している。更に、時間管理部７３０は、後述する比較機能(差分値算出・比較処理)を有する比較部（図示せず。）をも有している。
【００３７】
本実施の形態が実施の形態１と相違する点は、定刻にＣＰＵ１００のスケジュール処理開始を指令する割り込みが発生した後に、ＣＰＵ１００内のデータ送信要求作成部７００がＢｒｉｄｇｅ１２０内のセル管理情報メモリ１２１に記憶されているセル管理情報を確認した上で、連結情報と帯域要求とを作成してから、データ送信要求受付部７１０が上記の帯域要求を受け付けて、スケジューラ部７２０が各帯域の割り当て処理であるスケジューリングを行うまでの動作にある。従って、以下では、この差異についてのみ、図８のフローチャートを用いて記載する。
【００３８】
図８は、ＣＰＵ１００により実行される実施の形態２のマスタ制御プログラムの処理の流れを示すフローチャートである。予め、連結情報作成処理開始時刻設定部７３１が、データ量の大小及びデータの入力時刻に応じてフレーム周期中の任意の時間に割り込み処理の開始時刻（定刻）を設定しておく点は、実施の形態１の場合と同様である。ＣＰＵ１００内に於いて時間管理部７３０より上記の定刻に割り込み処理が発生すると、ＣＰＵ１００内に於けるデータ送信要求作成部７００は、Ｂｒｉｄｇｅ１２０内のセル管理情報メモリ１２１に直接にアクセスすることでセル管理情報を確認し、連結情報及び帯域要求を作成する（ステップＳ−８０１）。次に、ＣＰＵ１００内の時間管理部７３０は、上記の現在時刻確認手段より現在時刻を取得し、時間管理部７３０内の上記比較部は、スケジュール作成処理開始時刻設定部７３２によって予め設定されているスケジュール作成処理開始時刻と現在時刻との比較処理（スケジュール作成処理開始時刻と現在時刻との差分値を求め、当該差分値と閾値との大小関係を認識する処理）を行う（ステップＳ−８０２）。若し比較結果（差分値）がある閾値以上であれば、ＣＰＵ１００の時間管理部７３０は、再度、連結情報及び帯域要求を作成するための時間があると判断し（ステップＳ−８０３のＹＥＳ）、時間管理部７３０は、時間管理部７３０の「一定時間の経過通知手段」が現在時刻とスケジュール作成処理開始時刻との差分値の絶対値に相当する時間の経過を刻んだ時に、「一定時間の経過通知手段」からタイマ割り込みを発生させるための設定を行い（ステップＳ−８０６）、「一定時間の経過通知手段」から次の割り込み処理が発生するのを待つために、一旦、これまでの処理を終了する。他方、比較結果（差分値）がある閾値未満であれば、ＣＰＵ１００の時間管理部７３０は、再度、連結情報及び帯域要求を作成する時間が無いと判断し（ステップＳ−８０３）、ＣＰＵ１００内のデータ送信要求受付部７１０は、作成された帯域要求を受け付けて、要求された各帯域を９ｍｓｅｃの固定フレーム長内の所定の時間帯内に割り当てるためのスケジュール作成処理を実施する（ステップＳ−８０４）。以降の処理は実施の形態１の場合と同様であり、ここで受け付ける帯域要求には、ＲＣＨ２０３を使用してスレーブ装置から受け取るものも含まれる。ＣＰＵ１００は、スケジューラ部７２０に於けるスケジュール作成処理が完了すると、実施の形態１と同様に、作成されたスケジュールをスケジュール情報としてスケジュールメモリ１３２に書き込み、且つ、割り当てられた帯域に関する連結情報を連結情報メモリ１３１に書き込む（ステップＳ−８０５）。又、実施の形態１と同様に、作成されたスケジュールはＦＣＨ２０１として送信されるため、ＣＰＵ１００は、汎用メモリ１１０上に配置されたＦＣＨ送信用のメモリ領域にも、作成されたスケジュールを書き込む。
【００３９】
図９は、データの入力とＣＰＵの処理とを時系列に表現した概念図であり、本図を用いて本実施の形態の特徴点及びその効果を記載する。
【００４０】
ＣＰＵ処理（ａ）はデータの処理量が多い場合に適したＣＰＵ処理を表現している。ＣＰＵ処理（ａ）では、帯域要求及び連結情報作成処理（ステップＳ９０１）の時間が相対的に長いため、ステップＳ９０４の時刻にデータの入力があっても、ｎ番目のフレーム内で帯域要求及び連結情報作成の処理並びにスケジュール作成処理が何れも実行され、（ｎ＋１）番目のフレームでデータが出力される可能性がある。これに対して、ＣＰＵ処理（ｂ）に示す様に、入力されるデータの処理量が相対的に少なく、そのために帯域要求及び連結情報作成処理（ステップＳ９０１）の時間が相対的に短い場合には、引き続いて帯域要求受け付け及びスケジュール作成処理（ステップＳ９０２）が実施されるため、ステップＳ９０４の時点でのデータ入力に関して、帯域要求及び連結情報が作成されるのは（ｎ＋１）番目のフレーム内となり、実際にデータが出力されるのは（ｎ＋２）番目のフレーム以降となる。
【００４１】
他方、ＣＰＵ処理（ｃ）は、図８で記載した本実施の形態に係るマスタ制御プログラムを行う処理である。ＣＰＵ処理（ｃ）の場合には、帯域要求及び連結情報作成処理（ステップＳ９０１）の時間が短くても、次の帯域要求受付及びスケジュール作成処理（ステップＳ９０２）の開始までに時間がある場合には、２回目の帯域要求及び連結情報作成処理（ステップＳ９０５）が実施されるため、ステップＳ９０４の時刻にデータの入力があっても、ｎ番目のフレーム内で、帯域要求及び連結情報作成処理、並びに引き続く要求受付及びスケジュール作成処理が実行されるので、次の（ｎ＋１）番目のフレーム内でデータが出力される可能性がある。しかも、スケジューリング処理の実質的な開始時刻はステップＳ９０５の開始時刻となり、スケジューリング処理開始時刻が１フレームの期間内でより遅い時刻に設定されるため、実施の形態１の場合よりも伝送遅延がより一層短くなり、より効率的な通信を実現することが出来る。
【００４２】
以上、実施の形態２によれば、連結情報及び帯域要求の処理を実施した後に、設定されたスケジューリングの開始時刻までに時間があれば、再度、連結情報及び帯域要求の処理を実施するため、この間に入力した処理量がより少ないデータに対して、当該フレーム内で、連結情報及び帯域要求の処理並びに要求受付及びスケジュール作成処理を全て実施することが出来るので、入力したデータの処理量がシステムの構成に応じて定まる予想処理量の最大値に満たない場合に於いて、より効率良くデータを処理することが出来る。
【００４３】
（実施の形態３）
図１０は、本実施の形態に係るマスタ制御プログラムの構成を示すブロック図である。マスタ制御プログラムは、「データ送信要求作成手段」を実現するデータ送信要求作成部１０００、「データ送信要求受付手段」を実現するデータ送信要求受付部１０１０、送信要求のスケジュール手段を実現するスケジューラ部１０２０、定刻に割り込みを発生させる等のプログラムの時間管理を実施する時間管理部１０３０、及び、ある単位時間内で入力されるデータの送信データ量を算出し、算出された送信データ量を処理する時間を算出する、データ発生量−時間換算部１０４０から構成されている。又、時間管理部１０３０は、帯域要求及び連結情報作成処理の開始時刻設定手段である連結情報作成処理開始時刻設定部（帯域要求作成処理開始時刻設定部とも言う。）１０３１、及び、スケジュール作成処理開始時刻の設定手段である、スケジューリング処理開始時刻設定部１０３２を、有する。ここで、時間管理部１０３０は、時間管理の基本機能として現在時刻確認手段（タイマ）(図示せず)、任意のタイミングでタイマ割り込みを発生させる、「一定時間の経過通知手段」（タイマ）(図示せず)、及び比較部(図示せず)を有している点は、実施の形態２の場合と同様である。
【００４４】
実施の形態３が実施の形態２と相違する点は、帯域要求及び連結情報作成の処理が完了した後に、再度、帯域要求及び連結情報作成の処理を開始するための時刻を決定する部分を有する点にある。図１０に着眼すれば、データ発生量―時間換算部１０４０を新たに設けた点に、特徴点がある。従って、この相違点を中心に、本実施の形態を記載する。
【００４５】
図１１は、実施の形態３に係るマスタ制御プログラムの処理の流れを示すフローチャートである。予め、連結情報処理開始時刻設定部１０３１が、フレーム周期中の任意の時間に処理開始時刻（割り込み処理の定刻）を設定しておく点は、実施の形態１及び実施の形態２の場合と同様である。フレーム周期中の定刻に時間管理部１０３０より割り込みが発生すると、データ送信要求作成部１０００は、Ｂｒｉｄｇｅ１２０内のセル管理情報を確認し、連結情報及び帯域要求を作成する（ステップＳ−１１０１）。次に、時間管理部１０３０は現在時刻を取得し、時間管理部１０３０の上記比較部は、予めスケジューリング処理開始時刻設定部１０３２により設定されていたスケジュール作成処理開始時刻と現在時刻との差分値を求めて、当該差分値と所定の閾値との比較処理を行う（ステップＳ−１１０２）。若し比較結果（スケジューリング開始時刻と現在時刻との差分値）がある閾値以上であれば、時間管理部１０３０は、再度、連結情報及び帯域要求を作成する時間があると、判断する（ステップＳ−１１０３のＹＥＳ）。そして、データ発生量−時間換算部１０４０は、上記比較部で求められた残り時間内で発生（入力）すると予想されるデータのデータ処理量の最大値を算出する。更に、データ発生量−時間換算部１０４０は、算出されたデータ処理量の最大値を処理するのに必要な時間を算出し（ステップＳ−１１０６）、スケジュール作成処理開始時刻からその時間分だけ遡った時刻を求める（ステップＳ−１１０７）。そして、時間管理部１０３０の一定時間の経過通知手段は、ステップＳ−１１０７で得られた上記時刻をタイマ割り込み時刻に設定して（ステップＳ−１１０８）、ＣＰＵ１００は、ステップＳ−１１０８で設定された上記時刻に於いて時間管理部１０３０から割り込みが発生すると、２回目の帯域要求及び連結情報作成処理を実施する。
【００４６】
他方、ステップＳ−１１０３に於いて、比較結果がある閾値未満であれば（ＮＯの場合）、時間管理部１０３０は、再度、連結情報及び帯域要求を作成する時間が無いと判断し（ステップＳ−１１０３）、データ送信要求受付部１０１０は作成された帯域要求を受け付け、スケジューラ部１０２０はスケジュール作成処理を実施し（ステップＳ−１１０４）、作成されたスケジュールをスケジュールメモリ１３２に直接にアクセスして書き込み、更に、データ送信要求作成部１０００は、割り当てられた帯域に関する連結情報を連結情報メモリ１３１に直接にアクセスして書き込む（ステップＳ−１１０５）。これらのステップも、実施の形態１及び実施の形態２の場合と同様であり、又、作成されたスケジュールは、ＦＣＨ２０１として送信されるため、汎用メモリ１１０上に配置されたＦＣＨ送信用のメモリ領域にも書き込まれる点も、実施の形態１及び実施の形態２の場合と同様である。
【００４７】
図１２は実施の形態３に於ける処理時間を時系列に表現した関係図であり、各処理の開始時刻の設定に関する考え方を、図１２を用いて記載する。
【００４８】
１フレーム内に発生するデータの処理量から、そのデータ量について帯域要求及び連結情報を作成するのに要する時間が算出される（時間Ｎ９ｍ）。又、１フレーム分の帯域要求受付及びスケジュール作成処理に必要な時間を予め求めておく（時間ＮＳ）。初回の帯域要求作成処理の開始時刻Ｔ１は、（Ｎ９ｍ）＋（ＮＳ）＋（α）から求められる。ここで、αは、別要因の割り込み処理等による遅延が考えられるため、ある程度の時間がマージンとして加算される。時刻Ｔ１で、初回の帯域要求及び連結情報作成処理がＣＰＵ処理（１）として実施された後に（ステップＳ１２０１）、現在時刻が求められる。当該現在時刻及びスケジュール作成処理開始時刻ＴＳから、次のスケジュール作成処理開始までの時間Ｐ１が算出され、更に、時間Ｐ１の期間で発生するデータを処理するために必要な時間ＮＰ１が求められる。そして、スケジュール作成処理開始時刻ＴＳから時間ＮＰ１だけ遡った時刻Ｔ２が、２回目の帯域要求作成処理開始時刻となるため、時刻Ｔ２がタイマ割り込み発生時刻に設定される。
【００４９】
タイマが時刻Ｔ２になったときに、ＣＰＵ処理（２）が開始される（ステップＳ１２０２）。予想された最大値のデータ量のデータが発生した場合には、帯域要求及び連結情報作成処理の完了後にはその時点での時刻はスケジュール作成処理開始時刻ＴＳとなっているため、再度、帯域要求及び連結情報作成処理はこれ以上繰り返されない。しかし、帯域要求及び連結情報作成処理完了後の現在時刻がスケジュール作成処理開始時刻ＴＳに達していない場合には、再度、帯域要求及び連結情報作成開始時刻が算出され、再度、帯域要求及び連結情報作成処理が繰り返される。
【００５０】
実施の形態３では、２回目以降の帯域要求作成処理開始時刻が、１フレーム内に発生するデータのデータ量に基づいて、決定されるため、より一層効率良くデータ通信を実施することが可能となる。
【００５１】
（付記）
以上、本発明の実施の形態を詳細に開示し記述したが、以上の記述は本発明の適用可能な局面を例示したものであって、本発明はこれに限定されるものではない。即ち、記述した局面に対する様々な修正や変形例を、この発明の範囲から逸脱することの無い範囲内で考えることが可能である。
【産業上の利用可能性】
【００５２】
この発明は、例えば電力線運搬装置に適用して好適である。
【図面の簡単な説明】
【００５３】
【図１】この発明の実施の形態１、実施の形態２及び実施の形態３の各々に係る通信装置のシステム構成を示すブロック図である。
【図２】この発明の実施の形態１、実施の形態２及び実施の形態３の各々に於いて使用するフレームフォーマットを示すフレーム構成図である。
【図３】この発明の実施の形態１に係るマスタ制御プログラムの構成を示す機能ブロック図である。
【図４】この発明の実施の形態１に於けるスケジューリング処理を示すフローチャートである。
【図５】この発明の実施の形態１、実施の形態２及び実施の形態３の各々に係る処理を時系列に表現した図である。
【図６】この発明の実施の形態１に於ける特徴点及び効果を表現する概念図である。
【図７】この発明の実施の形態２に係るマスタ制御プログラムの構成を示す機能ブロック図である。
【図８】この発明の実施の形態２に於けるスケジューリング処理を示すフローチャートである。
【図９】この発明の実施の形態２に於ける特徴点及び効果を表現する概念図である。
【図１０】この発明の実施の形態３に係るマスタ制御プログラムの構成を示す機能ブロック図である。
【図１１】この発明の実施の形態３に於けるスケジューリング処理を示すフローチャートである。
【図１２】この発明の実施の形態３に係る処理を時系列に表現した図である。
【符号の説明】
【００５４】
１００  ＣＰＵ、１１０  汎用メモリ、１２０  Ｂｒｉｄｇｅ、１２１  セル管理情報メモリ、１３０  ＭＡＣ、１３１  連結情報メモリ、１３２  スケジュールメモリ、１４０  ＰＨＹ、２００  ＢＣＨ、２０１  ＦＣＨ、２０２  ＡＣＨ、２０３  ＲＣＨ、３００，７００，１０００  データ送信要求作成部、３１０，７１０，１０１０  データ送信要求受付部、３２０，７２０，１０２０  スケジューラ部、３３０，７３０，１０３０  時間管理部、３３１  処理開始時刻設定部、５００，５２０  連結情報メモリ０，スケジュールメモリ０、５１０  連結情報メモリ１，スケジュールメモリ１、７３１，１０３１  帯域要求作成処理開始時刻設定部、７３２，１０３２  スケジュール作成処理開始時刻設定部、１０４０  データ発生量−時間換算部。
【図１】
0005090964.tif 000002
【図２】
0005090964.tif 000003
【図３】
0005090964.tif 000004
【図４】
0005090964.tif 000005
【図５】
0005090964.tif 000006
【図６】
0005090964.tif 000007
【図７】
0005090964.tif 000008
【図８】
0005090964.tif 000009
【図９】
0005090964.tif 000010
【図１０】
0005090964.tif 000011
【図１１】
0005090964.tif 000012
【図１２】
0005090964.tif 000013