リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々はそれぞれ所定の処理を実行する処理手段と対応し、前記通信手段の各々は対応する前記処理手段が処理を実行した後のデータを、続く処理を実行する処理手段に対応する他の通信手段へ前記バスを介して所定の送信間隔で送信し、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置であって、前記複数の通信手段の少なくとも1つは、受信したデータに対して次に処理を実行するべき処理手段が、当該通信手段に対応する処理手段より後の処理を実行する処理手段であるかを判定する判定手段と、前記受信したデータについて、次に処理を実行するべき処理手段において処理が保留されたかを検知する検知手段と、前記受信したデータに対して次に処理を実行するべき処理手段が当該通信手段に対応する処理手段より後の処理を実行する処理手段であると判定され、該受信したデータに対する処理が保留されたことを検知した場合に、前記送信間隔を延長するように制御する制御手段と、を備えることを特徴とする情報処理装置。前記制御手段は、前記送信間隔を延長した後に、さらに受信したデータについて、当該データに対して次に処理を実行するべき処理手段が当該通信手段に対応する処理手段より後の処理を実行する処理手段であると判定され、該受信したデータに対する処理が保留されたことを検知した場合に、延長された後の送信間隔をさらに延長することを特徴とする請求項1に記載の情報処理装置。前記制御手段は、延長した前記送信間隔が所定値以下となるように、前記送信間隔を制限することを特徴とする請求項1又は2に記載の情報処理装置。前記所定値は、信号が前記リング状のバスを1周する期間であることを特徴とする請求項3に記載の情報処理装置。前記制御手段は、さらに、前記受信したデータに対して次に処理を実行するべき処理手段が、前記順序において早い順序の処理を実行する処理手段であるほど、より長く前記送信間隔を延長する、ことを特徴とする請求項1から4のいずれか1項に記載の情報処理装置。前記制御手段は、前記受信したデータに対して次に処理を実行するべき処理手段が、当該通信手段に対応する処理手段の処理の直後の処理を実行するべき処理手段であると判定された場合、第一の所定値だけ前記送信間隔を延長し、該直後の処理を実行するべき処理手段より後に処理を実行するべき処理手段であると判定された場合、前記第一の所定値より小さい第二の所定値だけ前記送信間隔を延長する、ことを特徴とする請求項5に記載の情報処理装置。前記所定の送信間隔において、前記処理手段が処理を実行した後のデータを送信できたか否かを判定する出力判定手段をさらに備え、前記データの送信ができなかったと判定された場合、その後に設定される前記送信間隔によらず、当該データを送信することを特徴とする請求項1から6のいずれか1項に記載の情報処理装置。リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々はそれぞれ所定の処理を実行する処理手段と対応し、前記通信手段の各々は対応する前記処理手段が処理を実行した後のデータを、続く処理を実行する処理手段に対応する他の通信手段へ前記バスを介して所定の送信間隔で送信し、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置における通信方法であって、前記複数の通信手段の少なくとも1つは、判定手段が、受信したデータに対して次に処理を実行するべき処理手段が、当該通信手段に対応する処理手段より後の処理を実行する処理手段であるかを判定するステップと、検知手段が、前記受信したデータについて、次に処理を実行するべき処理手段において処理が保留されたかを検知するステップと、制御手段が、前記受信したデータに対して次に処理を実行するべき処理手段が当該通信手段に対応する処理手段より後の処理を実行する処理手段であると判定され、該受信したデータに対する処理が保留されたことを検知した場合、前記送信間隔を延長するように制御するステップと、を備えることを特徴とする通信方法。請求項8に記載の通信方法の各ステップをコンピュータに実行させるためのプログラム。特許文献3の方法では、あるモジュールは、自らの処理の直後に処理を実行するモジュールにおいて保留が発生したか否かを検出する。このため、さらに後段の処理を実行するモジュールにおいて処理が保留された場合、上段の処理を担当するモジュールでは、処理が実行され続けてしまうおそれがあった。また、この結果、保留パケットが増大し、デッドロックが発生するおそれがあるという課題があった。本発明は、上述の課題に鑑みてなされたものであり、リングバスで接続された通信装置において、その通信装置に接続された処理装置の処理状況に基づいて適切な送信間隔制御を行う情報処理装置、情報処理方法、及びプログラムを提供することを目的とする。上記目的を達成するため、本発明による情報処理装置は、リング状にバス接続されている複数の通信手段を備え、前記通信手段の各々はそれぞれ所定の処理を実行する処理手段と対応し、前記通信手段の各々は対応する前記処理手段が処理を実行した後のデータを、続く処理を実行する処理手段に対応する他の通信手段へ前記バスを介して所定の送信間隔で送信し、予め定めた順序で前記処理手段の間のデータの受け渡し及び処理を実行する情報処理装置であって、前記複数の通信手段の少なくとも1つは、受信したデータに対して次に処理を実行するべき処理手段が、当該通信手段に対応する処理手段より後の処理を実行する処理手段であるかを判定する判定手段と、前記受信したデータについて、次に処理を実行するべき処理手段において処理が保留されたかを検知する検知手段と、前記受信したデータに対して次に処理を実行するべき処理手段が当該通信手段に対応する処理手段より後の処理を実行する処理手段であると判定され、該受信したデータに対する処理が保留されたことを検知した場合に、前記送信間隔を延長するように制御する制御手段と、を備えることを特徴とする。本発明によれば、リングバスでデータ転送を行う情報処理装置において、リングバス上で処理が行われずに滞留するデータの数を抑え、通信効率を向上させることができる。以下、添付図面を参照して本発明の実施の形態を詳細に説明する。<<実施形態1>>システム構成図1を参照して、本発明の第1の実施形態に係るデータパス制御システムについて説明する。本実施形態に係るデータパス制御システムは、図1に示すように、複数のモジュール101と、各モジュールを接続するリングバス102により構成される。モジュール101は、リングバス102を介して受信したデータを処理するものであり、通信部120と、通信部120に対応するデータ処理部103とを備える。なお、本実施形態では、モジュール101-1は、対応するデータ処理部103の代わりに入出力部140を備える。リングバス102は、複数のモジュール101をリング状に接続するバスである。本実施形態においては、モジュール101の通信部120がリング状にバス接続され、入出力部140が入力するデータを一方向へ転送する。このデータパス制御システムは、データ処理部103間でデータを受け渡し、複数のデータ処理部103が順次処理を実行することによりシステム全体として情報処理装置として機能する。モジュールの機能構成図2には、図1におけるモジュール101の機能構成を表すブロック図を示す。ここで、モジュール101の通信部120は、ノードIDレジスタ104、パケット生成部105、パケット受信部106、待ち受けIDレジスタ107、受信制御部108、送信制御部109、パケット送信部110、ID判定部111を備える。各部は不図示のCPU等により制御される。データ処理部103は、モジュール101ごとに割り当てられた所定のデータ処理を行う。ノードIDレジスタ104は、モジュール101が生成したパケットに付加するための、モジュール101が接続されるノードのIDノードの識別情報を設定する。パケット生成部105は、データ処理部103で処理されたデータから、リングバス102により転送するためのパケットを生成する。パケット受信部106は、リングバス102を介して他のモジュールからパケットを受信する。待ち受けIDレジスタ107は、データ処理部103で処理すべきデータに付されるIDを記憶する。このIDは、例えば、複数のモジュールで処理を実行する順序が定まっている場合、直前の処理を実行したモジュールが付加するノードIDである。受信制御部108は、パケット受信部106が受信したパケットに含まれるデータが、自モジュールで処理すべきであり、かつ処理の実行が可能な場合は、当該データをデータ処理部103に入力する。また、受信制御部108は、パケット受信部106が受信したパケットに含まれるデータが、自モジュールで処理すべきでない場合、又は処理不能である場合には、当該パケットをそのまま送信制御部109に受け渡す。送信制御部109は、データ処理部103で処理されたデータを含むパケットと、受信制御部108から受け渡されたパケットとを、リングバス102に送信するための制御を行う。パケット送信部110は、リングバス102へパケットを送信する。ID判定部111は、パケット受信部106で受信したパケットに含まれるIDと、ノードIDレジスタ104と待ち受けIDレジスタ107のそれぞれに記憶されているIDとを比較し、一致判定をする。またID判定部111は、各ID値から受信制御部108及び送信制御部109の制御情報を生成する。例えば、パケットに含まれるIDが待ち受けIDレジスタ107で記憶されたIDである場合、パケットに含まれるデータを自モジュールで処理すべきである。このため、ID判定部111は、受信制御部108に、そのデータを処理部へ受け渡すように指示する制御信号を生成する。また、例えば、パケットに含まれるIDが、ノードIDレジスタ104に記憶されたIDである場合、そのパケットは自モジュールで生成し、リングバス102を1周して戻ってきたと考えられる。このため、その旨を示す制御情報を送信制御部109へ送信し、適切に送信間隔制御を実行するようにする。本実施形態におけるデータパス制御システムは、モジュール101がリング状にバス接続され、リング型のネットワークトポロジになっている。また、リングバス102に接続されるモジュール101の個数に制限はない。各モジュール101は、モジュール101間で共通のサイクルごとに次のモジュール101へと1つのパケットを転送することで、それぞれのモジュール101は並列にデータ転送を行う。また、待ち受けIDレジスタ107とノードIDレジスタ104の設定を適切に行うことで、データ処理のパスを構成し、入力データを複数の処理モジュールが要求する順番で処理させることができる。パケット構成続いて、図3を参照して、本実施形態に係るモジュール101間のデータ転送に用いるパケットについて説明する。パケットは、Validフラグ201、ノードID202、データ203、及びStallフラグ204を備える。Validフラグ201は、パケットが有効か否かを示すフラグである。Validフラグ201が有効でないパケットは、例えば空パケットである。このため、モジュール101は、Validフラグ201が有効でない場合は、そのタイミングでパケットを送出できる。一方で、Validフラグが有効である場合、そのパケットは処理、又は転送をする必要がある。このため、例えば、あるタイミングにおいて転送するべきパケットが存在する場合、そのパケットと同時に他のパケットを送ることはできない。ノードID202は、パケットの送信元が付加する、接続ノードを示す識別子である。ノードID202には、パケットを送信するモジュールとパケットを受信するモジュールとの接続状態を識別可能な値ノードIDが割り当てられている。本実施形態においては、例えば、各モジュール101は、自らの直前に処理を実行するモジュールが付加するノードIDを待ち受け、待ち受けIDレジスタ107に記憶しておく。そして、そのノードIDを含むパケットを受信すると、そのパケットに含まれるデータを処理する。データ203は、パケットが保持するデータである。Stallフラグ204は、パケットの保持するデータについて、処理を本来実行するはずのモジュールが、例えば他のデータを処理中であるなどの理由により処理を保留したことを示す。モジュールの動作続いて、データパス制御システムのモジュール間でのパケットの転送動作について説明する。まず、パケットの受信動作について説明する。ID判定部111は、パケット受信部106で受信したパケットに、自モジュール101のデータ処理部103において処理されるべきデータが含まれているか否かを判定する。あるいはパケットに含まれるデータが、他のモジュールにより処理されるべきか否かを判定する。判定は、受信パケットのノードID202と、待ち受けIDレジスタ107のID値とを比較することにより行う。例えば、待ち受けIDレジスタに処理すべき受信パケットのID値を格納し、IDが一致する場合に、データ処理部103で処理を行う。ID判定部111は、判定結果に基づいて、受信制御部108を制御する。受信制御部108は、対応するデータ処理部103で処理されるべきパケットについては、当該パケットに含まれるデータをデータ処理部103へ出力する。そして、それ以外のパケットについては、送信制御部109へ出力する。ただし、パケットが、データ処理部103において処理されるべきデータを含む場合であっても、例えば、すでに他のデータの処理中であり、さらなる処理を実行できないなど、データ処理部103において処理できない場合がある。受信制御部108は、この状態を検知すると、処理を保留したことを示すStallフラグ204を1として、送信制御部109へとパケットを受け渡す。次に、データ処理部103によって処理されたデータが、図3に示したパケットにより、次に処理されるべきモジュールへと送信される動作について説明する。パケット生成部105は、パケットを生成する。パケット生成部105は、パケットのデータ203にデータ処理部103で処理されたデータを格納し、ノードID202のフィールドにノードIDレジスタ104のID値を格納する。パケット生成部105は、さらに、パケットのValidフラグ201を有効にする。送信制御部109は、パケット生成部105が生成したパケット、及び受信制御部108から直接入力されたパケットを、バッファを通してリングバス102へ送信するタイミングを制御する。送信制御部の構成例次に、図4を参照して、本実施形態に係る送信制御部109の構成例について説明する。本例における送信制御部109は、第一バッファ301、第二バッファ302、送信間隔制御部303、セレクタ304、及びタイミング調整用のFFフリップフロップ305を備える。第一バッファ301は、受信制御部108からのパケットを保持する。より詳細には、第一バッファ301は、受信制御部108でスルーされたパケット、又は自ノードで処理されるデータを保持したパケットであったがデータ処理部103で処理できなかったパケットを格納する。第二バッファ302は、パケット生成部105で生成された、データ処理部103で処理されたデータを含むパケットを保持する。送信間隔制御部303は、第二バッファ302からのパケットの送信間隔を制御する。セレクタ304は、送信するパケットを選択する。第一バッファ301、及び第二バッファ302に格納されたパケットのうち、どちらを送信するかは、セレクタ304が選択する。このとき、送信間隔制御部303は、第二バッファ302に格納されたパケットが送信可能か否かを決定する。送信間隔制御部303は内部にタイマを持ち、タイマはパケットが送信される度に所定の値に設定され、最小のパケット送信間隔を維持する。この送信間隔はレジスタ等により設定可能であり、後段の処理を実行するモジュール101における処理能力に応じた値を設定する。なお、FF305は、後述する出力有効信号410を第一バッファ301及び第二バッファ302の出力タイミングに合わせて1サイクル遅延させる。そして、セレクタ304はFF305の出力により制御される。本実施形態では、受信したパケットの送信元のモジュールと自モジュールとの処理順序関係をノードID202により判定する。また、この判定結果と、受信したパケットのStallフラグ204を調べることにより、どのモジュールが処理保留状態であるかを検出する。この検出結果に応じて、第二バッファ302からの送信間隔を送信間隔制御部303により動的に制御し変更することで、パケットの転送効率を向上させることができる。具体的には、例えば、モジュール101は、自らより後段の処理を実行するモジュール101が処理保留状態であることを検出した場合、第二バッファ302に格納されたパケットの送出を一時停止する。そして、この一時停止する期間について、処理保留中のパケットの数に応じて変動させる。これにより、処理保留状態の有効なパケットでリングバス102が埋め尽くされることを防ぐと共に、少数の処理保留状態のパケットには、少しの待ち時間を与えることで、システム全体のスループットを向上させることができるようになる。送信間隔制御部の機能構成以下、図5を用いて、送信間隔制御部303の構成例について説明する。本例における送信間隔制御部303は、タイマ403、ロード制御部404、送信間隔選択部405、第一レジスタ406、第二レジスタ407、加算器408、リミッタ409を備える。タイマ403は送信間隔を制御する。本実施形態では、例えば、ロードされた値から0に向けてカウントダウンするロード機能付きのダウンカウンタである。ロード制御部404はタイマ403への送信間隔のロードを制御する。ロード制御部404は、ID判定信号401、Stallフラグ402、タイマ値411を入力とし、出力有効信号410、ロード信号412を出力する。ここで、ID判定信号401は、受信したパケットのIDがノードIDレジスタ104の値と等しい場合、値は1となる。受信したパケットのIDがノードIDレジスタ104の値と等しい場合とは、すなわち、受信パケットが過去に自モジュールで生成して送信したパケットである場合である。受信したパケットのIDがノードIDレジスタ104の値と等しくない場合、及び、受信したパケットのIDがノードIDレジスタ104の値と等しくてもValidフラグ201が無効を示す場合は、ID判定信号401の値は0となる。ID判定信号401は、ID判定部111から入力される。Stallフラグ402は受信制御部108から入力される。Stallフラグ402は、例えば、1の時、受信したパケットの処理を保留したことを示し、0の時、処理を保留していないことを示す。すなわち、ID判定信号が1かつStallフラグが1である場合は、自モジュールのデータ処理部103において処理した後のデータを含む信号を送信したが、他のモジュールで直後の処理が保留され、信号が戻ってきたことを示す。タイマ値411は、タイマ403の値を示す。出力有効信号410は、送信間隔制御部303が第二バッファ302の出力間隔を制御するための信号である。出力有効信号410は、タイマ値411が0で、かつ、ID判定信号401とStallフラグ402が共に1でない場合、有効を示す値1となり、その他の場合は0となる。第二バッファ302とセレクタ304は、1を示す出力有効信号410を受け取ると、第二バッファに格納された信号をリングバス102上へ送出するようにする。ただし、セレクタ304には出力有効信号410がFF305を介して伝搬されるため、1サイクル遅れて、第二バッファ302の出力が選択される。ロード信号412は、ロード制御部404が、タイマ403における出力間隔のロードのタイミングを制御する信号である。ロード信号412は、タイマ値411が0の時、又はID判定信号401が1かつStallフラグ402が1の時、有効値1となり、それ以外の場合は0となる。すなわち、タイマ403が満了した時と、自モジュールのデータ処理部103で処理した後のデータが他モジュールで処理を保留されて戻ってきた場合に、タイマ403に送信間隔をロードさせる。送信間隔選択部405はタイマ403へロードする送信間隔を選択する。送信間隔選択部405は、ID判定信号401が1かつStallフラグ402が1の時、後述するリミッタ409の出力を選択する。それ以外の場合は後述する第一レジスタ406の値を選択する。タイマ403は、ロード信号412が1の場合、送信間隔選択部405で選択された値をロードし、カウントダウンを実行する。第一レジスタ406は最小のパケット送信間隔を確保する所定の設定値を格納する。第二レジスタ407は動的に送信間隔を制御するための被加算値を格納する。加算器408はタイマ値411と第二レジスタ407の被加算値を加算する。リミッタ409は加算器408の出力値を、所定値以下に制限する。ここで、所定値は、例えばリングバス102の一周分に相当する期間である。Stallフラグ402が1、かつID判定信号401が1である場合、そのパケットは、そのパケットを受信したモジュール101が送出し、続いて処理を実行する他のモジュール101で処理を保留されて戻ってきたことを示す。このため、そのような状態を検知すると、ロード制御部404は、第二バッファ302からのデータ送出を遅らせるように、タイマを制御する。具体的には、第一レジスタ406の値より大きいリミッタ409の値をタイマ403にロードする。さらに、ID判定信号401とStallフラグ402が共に1であるパケットを多数検知すると、それに応じてカウンタにロードする値を加算器408により、増加させる。ID判定信号401とStallフラグ402が共に1であるパケットの数に応じて適切な待ち時間を設定することが可能となる。さらに、リミッタ409を用いることにより、待ち時間を一定の時間以内に抑えることができる。これにより、モジュールが、他のモジュールにおける処理保留状態が解消された後であっても待ち続けることを防ぎ、システム全体のスループットの低下を防ぐことができる。送信間隔制御部の動作次に、図6を用いて、送信間隔制御部303の動作を説明する。本実施形態では、図1のモジュール数がn=16の場合に関して説明する。また、リミッタ409は加算器408の出力値をリングバス102の一周分に相当する16以下に制限する。ここでは説明を簡単にするため、リングバス102の状態は考慮しない。すなわち、リングバス102が有効パケットで埋め尽くされているなどの事情はないものとし、タイマ403が0の時に第二バッファ302からパケットを送信することができるものとする。なお、下記では説明しないが、リングバス102上の送信スロットが空でない場合、すなわち、受信パケットのValidフラグ201が有効であり、その受信パケットを転送する必要がある場合は、第二バッファ302からパケットの送信ができない。これに限らず、パケットの送信ができない場合は、タイマ403は第一レジスタ406の値のロードを保留し、タイマ403は0を維持する。ただし、Stallフラグ402が1かつID判定信号401が1の場合は、タイマ403が上記のように0を維持する状態であっても、送信間隔選択部405により、リミッタ409の値がロードされる。まず初期設定として、不図示のCPU等から、第一レジスタ406と第二レジスタ407の値が設定される。本実施形態では、一例として、第一レジスタ406に1を、第二レジスタ407に3を設定する。また、サイクル0におけるID判定信号401、Stallフラグ402、タイマ値411の値をそれぞれ0、0、1とする。また、ID判定信号401、及びStallフラグ402は、図6に示すように推移するものとする。サイクル0ではID判定信号401及びStallフラグ402が共に0である。すなわち、受信したパケットは、自モジュールから送信したものでなく、また、処理が保留されてもいない。ここで、タイマ値411が1であるため、タイマのロードは不要であり、ロード信号412は0となる。このため、タイマ403は、送信間隔選択部405が選択した値をロードすることなく、ダウンカウントし、次のサイクル1で0となる。また、出力有効信号410は、タイマ値411が0でないため、無効を示す0となる。なお、加算器408の出力はタイマ値4111と第二レジスタ4073を加算した4となる。リミッタ409の出力はリミット値16に達していないため、加算器408の値がそのまま出力され4となる。送信間隔選択部405は、ID判定信号401とStallフラグ402が共に1でないため、第一レジスタ406に格納された値1を選択する。つまり、このサイクルでは、モジュール101が自ら送信したパケットが他のモジュールで保留されて戻ってきたものでなく、かつ、タイマ値が0でないため、タイマへの値のロードや、第二バッファ302からのパケットの出力は行わない。サイクル1では、ID判定信号401が1、Stallフラグ402が0である。すなわち、モジュール101が自ら送信したパケットを受信した状態であるが、他のモジュールにより処理の保留はされていないことを示す。この場合は、自ら送信したパケットが必要のないものであるため、パケットを消去し空パケットにする。なお、タイマ値411は0であるため、ID判定信号401、Stallフラグ402の値によらず、ロード信号412は1となり、送信間隔選択部405で選択された値が、次のサイクルでタイマ403にロードされる。送信間隔選択部405は、ID判定信号は1であるが、Stallフラグ402が1でないため、第一レジスタ406に格納された値1を選択する。なお、加算器408の出力はタイマ値4110に第二レジスタ4073の値を加えた3となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され3となる。また、出力有効信号410はタイマ値411が0であるため1となる。つまり、このサイクルでは、タイマ値が0で、かつ、ID判定信号401とStallフラグ402が共に1でないため、第一レジスタ406に格納された所定の設定値をタイマにロードし、第二バッファ302からのパケットの出力を行う。サイクル2ではサイクル0と同様、ID判定信号401及びStallフラグ402が共に0である。このため、ロード信号412、出力有効信号410、加算器408の出力、リミッタ409の出力、送信間隔選択部405の出力はそれぞれ、0、0、4、4、1となる。またタイマ403は1からダウンカウントして次のサイクル3で0となる。サイクル3ではID判定信号401が0であり、Stallフラグ402が0である。しかし、タイマ値411が0のため、ロード信号412は1となり、次のサイクル4でタイマ403に値がロードされる。また、出力有効信号410は、タイマ値411が0で、かつ、ID判定信号401とStallフラグが共に1でないため、1となる。なお、加算器408の出力はタイマ値4110に第二レジスタ4073の値を加えた3となり、リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され3となる。送信間隔選択部405は、Stallフラグ402、ID判定信号401共に0であるため、第一レジスタ406の値を選択し1を出力する。サイクル4ではサイクル0と同様、ID判定信号401及びStallフラグ402が共に0である。このため、ロード信号412、出力有効信号410、加算器408の出力、リミッタ409の出力、送信間隔選択部405の出力はそれぞれ、0、0、4、4、1となる。またタイマ403は1からダウンカウントして次のサイクル5で0となる。サイクル5ではID判定信号401が1、Stallフラグ402が1である。すなわち、モジュール101が出力したパケットが、続いて処理を実行すべき他のモジュール101により処理を保留され、戻ってきた状態である。このため、ロード信号412は1となり、次のサイクル6でタイマ403に送信間隔選択部405で選択した値をロードする。なお、加算器408の出力はタイマ値4110に第二レジスタ4073の値を加えた3となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され3となる。送信間隔選択部405は、ID判定信号401が1かつStallフラグ402が1であるため、リミッタ409の値を選択し3を出力する。また、出力有効信号410はタイマ値411が0であるが、ID判定信号401とStallフラグ402が共に1であるため0となる。つまり、このサイクルでは、受信パケットが自モジュール出力のもので、続いて処理を実行すべきモジュールにて保留されたことを検知したため、第一レジスタ406の値より長い値3を次のサイクル6でタイマにロードし、送信間隔を延長する。なお、カウンタ値が0であるが、受信した保留パケットは有効であり転送する必要があるため、第二バッファ302からのパケットの出力は行われない。サイクル6~8ではサイクル0と同様、ID判定信号401及びStallフラグ402が共に0である。このため、ロード信号412、出力有効信号410、加算器408の出力、リミッタ409の出力、送信間隔選択部405の出力はそれぞれ、0、0、6~4、6~4、1となる。またタイマ403は3からダウンカウントしていき、次のサイクル9で0となる。サイクル9ではサイクル3と同様に、ID判定信号401と、Stallフラグ402が共に0であり、タイマ値411が0である。このため、ロード信号412は1となり、次のサイクル10でタイマ403に値がロードされる。また、出力有効信号410は1となる。なお、加算器408の出力はタイマ値4110に第二レジスタ4073の値を加え、3となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され3となる。送信間隔選択部405は、Stallフラグ402が1でないため、第一レジスタ406を選択し1を出力する。つまり本サイクルでは、受信されたパケットが保留されたものでない。ただし、タイマ値411が0のため、第一レジスタ406に格納された所定の設定値をタイマにロードし、第二バッファ302からのパケットの出力を行う。サイクル10ではサイクル0と同様、ID判定信号401及びStallフラグ402が共に0である。このため、ロード信号412、出力有効信号410、加算器408の出力、リミッタ409の出力、送信間隔選択部405の出力はそれぞれ、0、0、4、4、1となる。またタイマ403は1からダウンカウントして次のサイクル11で0となる。サイクル11ではサイクル5と同様、ID判定信号401が1、Stallフラグ402が1である。このため、ロード信号412、出力有効信号410、加算器408の出力、リミッタ409の出力、送信間隔選択部405の出力はそれぞれ、1、0、3、3、3となる。また、次のサイクル12でタイマ403に3がロードされる。サイクル12ではサイクル0と同様、ID判定信号401及びStallフラグ402が共に0である。このため、ロード信号412、出力有効信号410、加算器408の出力、リミッタ409の出力、送信間隔選択部405の出力はそれぞれ、0、0、6、6、1となる。またタイマ403は3からダウンカウントして次のサイクル13で2となる。サイクル13ではID判定信号401が1、Stallフラグ402が1であるため、ロード信号412は1となり、次のサイクル14でタイマ403に値がロードされる。なお、加算器408の出力はタイマ値4112に第二レジスタ4073の値を加えた5となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され5となる。送信間隔選択部405は、ID判定信号401が1かつStallフラグ402が1であるため、リミッタ409を選択し5を出力する。また、出力有効信号410はタイマ値411が0でないため、0となる。つまり、このサイクルでは、サイクル11に引き続き、モジュール101は、自ら出力したパケットが続いて処理すべきモジュールにて保留され、戻ってきたものを受信している。ID判定信号401とStallフラグ402が共に1のパケットを短期的に複数受信するということは、続いて処理すべきモジュールにおいて、多くの処理が滞っていると考えられる。このため、タイマ403に、より長い時間をロードして、処理の保留を解消すべきである。このため、第二レジスタ407に格納された動的に送信間隔を制御するための被加算値とタイマ値との加算結果5を次のサイクル14でタイマにロードし、送信間隔をさらに伸ばす。サイクル14~16はサイクル13と同様であり、順次送信間隔を延長する。ロード信号412、出力有効信号410の出力はそれぞれ、1、0であり、加算器408の出力、リミッタ409の出力、送信間隔選択部405はそれぞれ81114と変化する。またタイマ403には、サイクルごとにリミッタ409の出力がロードされ、5、8、11と第二レジスタ407の値3ずつロードされる間隔が加算されていき、サイクル17で14となる。つまり、これらのサイクルでは、モジュール101が送信したパケットが、続いて処理すべき他のモジュール101において複数保留され、保留パケットの発生頻度が高い状態である。よって、第二レジスタ407に格納された被加算値とタイマ値との加算結果をタイマにロードし、送信間隔を段階的に延長する。サイクル17ではサイクル13と同様であるが、加算器408の出力が16より大きい17であるため、リミッタ409は、値を16に制限する。すなわち、ロード信号412、出力有効信号410、加算器408の出力、リミッタ409の出力、送信間隔選択部405の出力はそれぞれ、1、0、17、16、16となる。また、次のサイクル18でタイマ403に16がロードされる。サイクル18~33ではサイクル0とサイクル0と同様、ID判定信号401及びStallフラグ402が共に0である。このため、ロード信号412、出力有効信号410、送信間隔選択部405の出力はそれぞれ0、0、1である。また、加算器408の出力は19~4となり、リミッタ409の出力は、加算器408の出力が16以上の場合は16であり、その他の場合は加算器408の出力と同一値となる。またタイマ403は16からダウンカウントしていき、サイクル34で0となる。つまり、これらのサイクルでは、モジュール101が出力したパケットが、続いて処理すべき他のモジュール101で処理を保留されて戻ってきていないため、タイマ値411が0になるまでダウンカウントする。これにより、モジュール101は、タイマ値411が0となるまで第二バッファ302からのパケットの出力を停止し、続いて処理を実行する他のモジュール101における処理の保留が解消するのを待つことになる。これにより、処理を保留された有効なパケットがリングバス102を埋め尽くすことによるデッドロック、及び効率の低下を回避することが可能となる。サイクル34ではサイクル3と同条件であり、ロード信号412、出力有効信号410、加算器408の出力、リミッタ409の出力、送信間隔選択部405の出力はそれぞれ、1、1、3、3、1となる。また、次のサイクル35でタイマ403に1がロードされる。以上説明したように、モジュール101が、自らが出力したパケットが、続いて処理すべき他のモジュール101で処理を保留されて戻ってきたことを検知すると、その頻度によって、動的に第二バッファ302からのパケットの送信間隔を制御する。また、それ以外のパケットについては、タイマ403が0になる度に最小のパケット送信間隔の所定の値をロードし、最小のパケット出力間隔を保証する。これらの制御により、続いて処理を実行する他のモジュール101がパケットを受け付け可能な間隔でのパケット出力が可能となる。また、これにより、続いて処理を実行する他のモジュール101からの保留パケットの発生を抑制し、パケットの転送効率を向上させることが可能となる。<<実施形態2>>次に、本発明の第2の実施形態に係るデータパス制御システムについて説明する。図1から4に係る構成は第1の実施形態と同様のため、説明を省略する。以下、図7を用いて、本実施形態に係る送信間隔制御部303の構成について説明する。なお、図7において、図5と同一の機能を有するブロックは同一の番号を付し、説明を省略する。送信間隔制御部の第二の構成例ID判定信号501は、図5の例と同様、ID判定部111から入力される。受信したパケットのノードID202がノードIDレジスタ104の値と等しい、すなわち、自モジュールが出力したことを示す場合、値を01とする。なお、は2ビットの値を示す。また、受信したパケットのノードID202が自モジュールより後に処理されたことを示す場合は10となる。それ以外の場合は値00である。なお、ここでは処理の上流側より昇順にノードIDを付すこととし、自モジュールより後段に位置するか否かの判定はパケットのノードID202とノードIDレジスタ104に記憶された値との大小比較によって行う。すなわち、受信パケットのノードID202が自モジュールのノードIDレジスタ104の値よりも大きい場合、後段のモジュールで処理された後に送信されたパケットと判断する。また、ノードID202の値によらず、Validフラグ201が無効を示す場合は00を出力する。504はタイマ403へ送信間隔のロードを制御するためのロード制御部であり、ID判定信号501、Stallフラグ402、タイマ値411が入力され、出力有効信号510、ロード信号512を出力する。ここでは説明を簡単にするため、タイマ403が0の時に、第二バッファ302からパケットの送信ができるものとする。送信間隔選択部505は、ID判定信号501が01かつStallフラグ402が1の時、リミッタ409の出力をタイマ403へロードする送信間隔として選択する。また、送信間隔選択部505は、ID判定信号501が10かつStallフラグ402が1の時、後述する第二リミッタ509の出力を選択する。それ以外の場合は第一レジスタ406の値を選択する。すなわち、実施形態1と異なり、モジュール101は、自らの処理より後に処理を実行する他のモジュール101において処理が保留された場合にも、第二バッファ302からのパケットの送信間隔を延長する。すなわち、モジュール101の直後の処理を実行する他のモジュール101のみでなく、そのさらに後に処理を実行する他のモジュールにおける処理の保留が解消するまで、送信を待つこととなる。これにより、デッドロックとなる確率をさらに低減し、システム全体のスループットを向上させることができる。第三レジスタ507は自モジュールより後に処理されるモジュールからの保留パケットを検知した時、動的に送信間隔を制御するための被加算値を設定するレジスタである。ここで、第二レジスタ407には第一の所定値を、第三レジスタ507には、第一の所定値と異なる第二の所定値を格納しておく。なお、第一の所定値は、自モジュールの直後の処理を実行するモジュールで処理が保留されているので、第二の所定値より大きい値であることが望ましい。逆に第二の所定値は、自モジュールの直後の処理よりさらに後の処理を実行するモジュールにおいて処理が保留されたことを検知した場合にパケットの送信間隔を延長するものである。したがって、上流のモジュールでは、第二の所定値を用いて送信間隔を延長する頻度が下流のモジュールに比べて高くなる。このため、個々のモジュールで延長する送信間隔の量は大きくなくても良く、小さい値でよい。第二加算器508は、加算器408と同様に、タイマ値411と第三レジスタ507の値を加算する。第二リミッタ509は、リミッタ409と同様に、第二加算器508の出力値を所定値以下に制限する。所定値は、例えばリングバス102の一周分に相当する期間である。出力有効信号510は、ロード制御部504から第二バッファ302へ出力間隔を制御するために出力される信号である。出力有効信号510は、タイマ値411が0の場合で、ID判定信号501が01又は10でStallフラグ402が1である場合以外の時、有効を示す値1であり、そのほかの場合は0である。すなわち、タイマ値411が0であり、かつ、Stallフラグ402が1であってもID判定信号501が00であるような場合は、出力有効信号510は1となる。一方、タイマ値411が0であっても、Stallフラグ402が1でID判定信号501が01や10であるような場合は、出力有効信号510は0となる。ロード信号512は、ロード制御部504からタイマ403へ、出力間隔をロードするタイミングを制御する信号である。ロード信号512は、タイマ値411が0、又はStallフラグ402が1、かつID判定信号501が01若しくは10の時、有効値1となる。それ以外の場合は0となる。送信間隔制御部の第二の動作例次に図8を用いて、本実施形態に係る送信間隔制御部303の動作を説明する。本実施形態では、実施形態1と同様に、図1のモジュール数nが16である場合に関して説明する。よって、リミッタ409及び509は、加算器408及び508の出力値をリングバスの一周分に相当する16により制限する。まず初期設定として、図示していないCPU等から第一レジスタ406、407及び507の値が設定される。本実施形態では一例として、第一レジスタ406に1を、第二レジスタ407に3、第三レジスタ507に1を設定する。また、サイクル0におけるID判定信号501、Stallフラグ402、タイマ403の値をそれぞれ、00、0、1とする。サイクル0ではID判定信号501は00及びStallフラグ402が0であるため、ロード信号512は0であり、タイマ403は1からダウンカウントして次のサイクル1で0となる。また、出力有効信号510はタイマ値411が0でないため、0となる。なお、加算器408の出力はタイマ値4111に第二レジスタ407の値3を加え、4となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され4となる。また、第二加算器508の出力は、タイマ値4111に第三レジスタ507の値1を加え2となる。第二リミッタ509の出力はリミット値16に達していないため第二加算器508の値がそのまま出力され2となる。送信間隔選択部505は、ID判定信号501が01又は10でなく、また、Stallフラグ402が1でないため、第一レジスタ406を選択し1を出力する。つまり本サイクルでは、受信パケットが保留されたものでもなくかつ、タイマ値が0でないため、タイマへの値のロードや、第二バッファ302からのパケットの出力は行わない。サイクル1ではID判定信号501が01、Stallフラグ402が0である。すなわち、モジュール101は、自らが出力したパケットを受信しているが、処理は保留されていない。一方、タイマ値411は0である。このため、ロード信号512は1となり、次のサイクル2でタイマ403に値がロードされる。また、出力有効信号510はタイマ値411が0であって、かつ、Stallフラグ402が1及びID判定信号501が01又は10の場合に該当しないため、1となる。なお、加算器408の出力はタイマ値4110に第二レジスタ407の値3を加え3となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され3となる。また、第二加算器508の出力はタイマ値4110に第三レジスタ507の値1を加え1となる。第二リミッタ509の出力はリミット値16に達していないため第二加算器508の値がそのまま出力され1となる。送信間隔選択部505は、Stallフラグ402が1でないため、第一レジスタ406の値1を選択する。つまり、このサイクルでは、受信パケットが保留されたものでないが、タイマ値が0のため、第一レジスタ406に格納された所定の設定値をタイマ403にロードし、第二バッファ302からのパケットの出力を行う。サイクル2ではID判定信号501が10である以外は、サイクル0と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、0、0、4、4、2、2、1となる。またタイマ403は1からダウンカウントして次のサイクル3で0となる。サイクル3ではID判定信号501が00、Stallフラグ402が0である。しかし、タイマ値411が0であるため、ロード信号512は1となり、次のサイクル4でタイマ403に値がロードされる。また、出力有効信号510はタイマ値411が0であって、かつ、Stallフラグ402が1及びID判定信号501が01又は10の場合に該当しないため、1となる。なお、加算器408の出力はタイマ値4110に第二レジスタ407の値3を加え3となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され3となる。また、第二加算器508の出力はタイマ値4110に第三レジスタ507の値1を加え1となる。第二リミッタ509の出力はリミット値16に達していないため加算器408の値がそのまま出力され1となる。送信間隔選択部505は、Stallフラグ402が1であるがID判定信号501が00であるため、第一レジスタ406の値1を選択する。つまり、このサイクルでは、受信パケットが保留されたものであるが、自モジュール以降の処理パス上のモジュールが出力したパケットが保留されたわけではない。ただし、タイマ403が0のため、第一レジスタ406に格納された最小のパケット送信間隔を保証する所定の設定値をタイマにロードし、第二バッファ302からのパケットの出力を行う。サイクル4はサイクル0と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、0、0、4、4、2、2、1となる。またタイマ403は1からダウンカウントして次のサイクル5で0となる。サイクル5ではID判定信号401が01、Stallフラグ402が1である。また、タイマ値411が0であるため、ロード信号512は1となり、次のサイクル6でタイマ403に値がロードされる。また、出力有効信号510はタイマ値411が0であるが、かつ、Stallフラグ402が1及びID判定信号501が01又は10の場合に該当するため、0となる。なお、加算器408の出力はタイマ値4110に第二レジスタ407の値3を加え3となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され3となる。また、第二加算器508の出力はタイマ値4110に第三レジスタ507の値1を加え1となり、第二リミッタ509の出力はリミット値16に達していないため第二加算器508の値がそのまま出力され1となる。送信間隔選択部505は、ID判定信号501が01かつStallフラグ402が1であるため、リミッタ409を選択し3を出力する。つまり、このサイクルでは、モジュール101が、自ら送信したパケットが、続いて処理を実行すべきモジュール101にて保留され戻ってきている。よって、第二レジスタ407に格納された被加算値とタイマ値との加算結果3を次のサイクル6でタイマにロードし、送信間隔を伸ばす。なお、タイマ値411が0であるが上記保留パケットがリングバス102上にあるため第二バッファ302からのパケットの出力は行われない。サイクル6~8はサイクル0と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力はそれぞれ、0、0、6~4、6~4である。また、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、4~2、4~2、1となる。さらにタイマ403は3からダウンカウントしていき、次のサイクル9で0となる。サイクル9はサイクル3と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力はそれぞれ、1、1、3、3である。また、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力は、それぞれ1、1、1となる。また次のサイクル10で第一レジスタ406の設定値をタイマにロードし、第二バッファ302からのパケットの出力を行う。サイクル10はサイクル0と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、0、0、4、4、2、2、1となる。またタイマ403は1からダウンカウントして次のサイクル11で0となる。サイクル11ではID判定信号401が10、Stallフラグ402が1である。さらに、タイマ値411が0であるため、ロード信号512は1となり、次のサイクル12でタイマ403に値がロードされる。また、出力有効信号510はタイマ値411が0であるが、かつ、Stallフラグ402が1及びID判定信号501が10の場合であるため、0となる。なお、加算器408の出力はタイマ値4110に第二レジスタ407の値3を加え3となる。リミッタ409の出力はリミット値16に達していないため加算器408の値がそのまま出力され3となる。また、第二加算器508の出力はタイマ値4110に第三レジスタ5071を加え1となり、第二リミッタ509の出力はリミット値16に達していないため第二加算器508の値がそのまま出力され1となる。送信間隔選択部505は、ID判定信号501が10かつStallフラグ402が1であるため、第二リミッタ509の値を選択し1を出力する。つまり本サイクルでは、モジュール101は、自らより後に処理を実行する他のモジュール101において処理を保留したパケットを受信している。よって、第三レジスタ507に格納された被加算値とタイマ値との加算結果1を次のサイクル12でタイマにロードし、送信間隔を動的に伸ばす。なお、タイマ値411が0であるが、保留パケットがリングバス102上にあるため、第二バッファ302からのパケットの出力は行われない。サイクル12はサイクル0と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、0、0、4、4、2、2、1となる。またタイマ403は1からダウンカウントして次のサイクル13で0となる。サイクル13はサイクル3と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、1、1、3、3、1、1、1となる。また次のサイクル14で第一レジスタ406の設定値をタイマにロードし、第二バッファ302からのパケットの出力を行う。サイクル14~15はサイクル5と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力はそれぞれ、1、0、4~7、4~7である。また、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、2~5、2~5、4~7となる。さらにタイマ403は毎サイクル、リミッタ409の出力がロードされ、1から4、4から7へと、第二レジスタ407の値3ずつ送信間隔が伸びる。つまりこれらのサイクルでは、モジュール101が出力し、次の処理を実行すべきモジュール101で保留され戻ってきたパケットを受信している。このため、第二レジスタ407に格納された被加算値とタイマ値との加算結果をタイマにロードし、送信間隔を動的に延長する。サイクル16~17はサイクル11と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力の出力はそれぞれ、1、0、10~11、10~11となる。また、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部5058~9、8~9、8~9となる。さらに、タイマ403は毎サイクル、第二リミッタ509の出力がロードされ、7から8、8から9へと第三レジスタ507の値1ずつ送信間隔が延長される。つまり、これらのサイクルでは、モジュール101より後に処理を実行する他のモジュール101が出力し、保留されたパケットを受信している。よって、第三レジスタ507に格納された被加算値とタイマ値との加算結果をタイマにロードし、送信間隔を動的に延長する。サイクル18~19はサイクル5と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力の出力はそれぞれ、1、0、12~15、12~15となる。また、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、10~13、10~13、12~15となる。さらに、毎サイクル、タイマ403にリミッタ409の出力がロードされ、9から12、12から15へと第二レジスタ407の値3ずつ送信間隔が延長される。サイクル20ではサイクル5と同条件であるが、加算器408の出力が16より大きいためリミッタ409で16に制限されて出力される。すなわち、加算器408の出力、リミッタ409の出力、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、18、16、16、16、16となる。なお、ロード信号512、出力有効信号510は1、0である。また、次のサイクル21でタイマ403に16がロードされる。サイクル21はサイクル11と同様であるが、第二加算器508の出力が16より大きいため第二リミッタ509で16に制限されて出力される。すなわち、加算器408の出力、リミッタ409の出力、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、19、16、17、16、16となる。ロード信号512、出力有効信号510は1、0となる。また、次のサイクル22でタイマ403に16がロードされる。サイクル22~37はサイクル0と同様である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力の出力はそれぞれ、0、0、19~4、16~4となる。また、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、17~2、16~2、1となる。さらに、タイマ403は16からダウンカウントしていき、サイクル38で0となる。つまりこれらのサイクルでは、他のモジュールで処理を保留されたパケットを受信していないため、タイマをダウンカウントしていき、0になるまで第二バッファ302からのパケットの出力を停止する。サイクル38はサイクル3と同条件である。ロード信号512、出力有効信号510、加算器408の出力、リミッタ409の出力、第二加算器508の出力、第二リミッタ509の出力、送信間隔選択部505の出力はそれぞれ、1、1、3、3、1、1、1となる。また、次のサイクル39でタイマ403に1がロードされる。以上説明したように、モジュール101は、自らが出力し、直後の処理を実行すべきモジュール101において処理を保留され戻ってきたパケットを受信した場合、その頻度によって大きさが変動する送信間隔の値をタイマ403にロードする。また、モジュール101は、自らの直後のみならず、その後に処理を実行すべき他のモジュール101で処理が保留されたパケットを受信した場合においても、その頻度によって大きさが変わる送信間隔の値をタイマ403にロードする。さらに、上記以外のパケットを受信した場合は、パケットを出力する度に最小のパケット送信間隔の所定の値をロードし、最小のパケット出力間隔とする。これらの制御により、自モジュールより後に処理を実行する他のモジュール101からの保留パケットの発生を検出し、出力間隔を動的に増加させる。これにより、処理が保留されたモジュール101より前に処理を実行する複数のモジュール101において、送信間隔を延長することとなり、パケットの転送効率をさらに向上させることが可能となる。特に、上流の処理を実行するモジュール101であるほど、出力間隔が延長される頻度が高くなるので、リングバス102の安定性が向上する。つまり、上流側のモジュール101において、下流側で処理が保留されていることを検知し、処理の対象となるパケットの送信を限定することにより、処理が保留されたパケットの発生を抑え、全体としてパケットの転送効率を向上させる。特に、処理が保留されたパケットの受信頻度に応じて動的にパケット転送量が制御されるため、モジュールのデータ処理能力が一定でなく動的に変わる場合であっても対応できる。なお、本実施形態に係る制御システムを有効に動作させるには、上述の第二レジスタ407に格納される第一の所定値を第三レジスタ507に格納される第二の所定値より大きくすることが望ましい。第二の所定値は、処理を保留しているモジュール101より上流で処理を実行したモジュール101の各々において出力間隔として加算されるため、小さい値であっても、処理の保留を解消するのに十分となることが多いからである。また、パケットの出力時にタイマにロードする値は、次段のモジュールのパケット入力間隔に合わせることが望ましい。また、上記出力間隔の増分のリミット値は、リングバス102の一周分とするのが望ましい。これは、リングバス102の一周に相当する期間だけ待てば、保留状態が解除されたかどうかを判定することができるからである。このように上限値を設けることで、保留状態が解除されてからの応答を速くし、入力待ち状態となっている時間を最小化する効果がある。また、上記説明ではパケット出力有効信号はタイマの値で判定していたが、次段のモジュールの入力バッファが2パケット分以上ある場合、タイマは、値を0で維持せず、送信間隔選択部505で選択した値をロードしてもよい。この場合、タイマの値が0のサイクルにおいてパケットを出力できなかったか否かの出力判定を実行し、出力できなかったと判定された場合、その旨を示す情報として、出力保留フラグを設け、当該出力保留フラグを1にセットする。そして、タイマは送信間隔選択部505で選択した値をロードする。そして、ロード制御部504は、タイマの値が0であるか、出力保留フラグが1である場合、出力有効信号510を、有効を示す1としてもよい。この場合、局所的な最小出力間隔は保証されないが、次段のモジュールでは保留とはならないため、さらに効率的なパケット転送が可能となる。また、上述の実施形態では、タイマとしてダウンカウンタを有する構成について説明したが、ダウンカウンタの代わりにアップカウンタを配置して、設定されている送信間隔を計測する構成としてもよい。<<その他の実施形態>>また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。