(57)【要約】【課題】リング状バスに接続された処理回路の負荷が大きくなり処理が滞った場合に、処理性能の劣化を低減する技術を提供する。【解決手段】リング状バスに接続され複数のデータ処理部を有するデータ処理装置のデータ処理部は、リング状バスと通信する通信手段と、通信手段を介してリング状バスからデータを受信する受信手段と、受信したデータが自身宛データの場合に自身宛データを処理する処理手段と、自身宛データの前に受信した自身宛データを処理手段が処理中の場合に、受信した自身宛データおよび受信手段が受信する後続のデータに対して処理保留を示すストールフラグを設定することによりストールデータを生成し、通信手段を介して該ストールデータを前記リング状バスへ送出する送出手段とを備え、処理手段の処理が終了し、受信手段がストールデータを再受信し、かつ、処理手段が該再受信したストールデータを次に処理すべきデータであると判断した場合に、ストールデータのデータ処理を行う。【選択図】  図４
2011128812.tif 000002
【特許請求の範囲】
【請求項１】
リング状バスに通信可能に接続された複数のデータ処理部を有するデータ処理装置であって、
前記データ処理部は、
前記リング状バスからパケットを受信する受信手段と、
前記受信したパケットが自身宛パケットの場合に、該自身宛パケットのデータを処理する処理手段と、
前記処理したパケットに自身のデータ処理部のＩＤを送信元ＩＤとして設定し、自パケットとして前記リング状バスへ送出する送出手段と、
前記処理手段が他のパケットを処理中の場合には、該受信した自身宛パケットに対して処理の保留を示すストールフラグを設定することによりストールパケットとして前記リング状バスへ周回させる第１周回手段と、
他のデータ処理部よりストールフラグの設定された自パケットを前記受信手段が受信した場合に、該ストールフラグの設定された自パケットを前記リング状バスに周回させる第２周回手段と、
前記ストールフラグの設定された自パケットが前記リング状バスを周回中に、更に、新たにストールフラグの設定された自パケットを受信した場合に、該新たにストールフラグの設定された自パケットを格納する格納手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
更に、前記ストールフラグの設定された自パケットを前記リング状バスに周回させてから再び受信するまでの時間を計測する計測手段を備え、
前記計測手段は、前記周回させたストールフラグの設定された自パケットを所定の時間以内に再受信した場合には、該ストールフラグの設定された自パケットを再び前記リング状バスへ周回させ、再び受信するまでの時間を計測することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記ストールフラグの設定された自パケットが前記所定の時間以内に再受信されない場合、前記第２周回手段が、前記格納手段で格納した複数の前記自パケットの中から、データ処理の順序が最も早い自パケットを選択し、前記リング状バスへ周回させることを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
リング状バスに通信可能に接続された複数のデータ処理部を有するデータ処理装置における該データ処理部の制御方法であって、
受信手段が、前記リング状バスからパケットを受信する受信工程と、
処理手段が、前記受信したパケットが自身宛パケットの場合に、該自身宛パケットのデータを処理する処理工程と、
送出手段が、前記処理したパケットに自身のデータ処理部のＩＤを送信元ＩＤとして設定し、自パケットとして前記リング状バスへ送出する送出工程と、
前記処理手段が他のパケットを処理中の場合には、第１周回手段が、該受信した自身宛パケットに対して処理の保留を示すストールフラグを設定することによりストールパケットとして前記リング状バスへ周回させる第１周回工程と、
他のデータ処理部よりストールフラグの設定された自パケットを前記受信手段が受信した場合に、第２周回手段が、該ストールフラグの設定された自パケットを前記リング状バスに周回させる第２周回工程と、
前記ストールフラグの設定された自パケットが前記リング状バスを周回中に、更に、新たにストールフラグの設定された自パケットを受信した場合に、格納手段が、該新たにストールフラグの設定された自パケットを格納する格納工程と
を備えることを特徴とする方法。
【請求項５】
請求項４に記載のデータ処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理装置におけるリング状バスのトラフィックを制御する方法に関する。
【背景技術】
【０００２】
従来、ハードウェアによって実現される処理回路によりデータ処理を並列して効率よく実行する方法として、バス型のパイプライン接続を用いるものがあった。このバス型のパイプライン接続方法については特許文献１に示されている。
【０００３】
この接続方式では、入力端において外部メモリによるインタフェース（以下Ｉ/Ｆという）で入力されたデータは、接続された順序に従って順次処理された後に、出力端において再び外部メモリへ出力される。そのため、そのデータの処理順序は、ハードウェア実装時に実装接続された順序によって制限された。従って、データの処理順序の入れ替えなどにより処理順序を変更して実行することはできなかった。
【０００４】
こうした問題を解決するために、処理回路間の接続をリング型のバスで接続する方法が提案された。この方法は、たとえば特許文献２、特許文献３および特許文献４に記載されている。しかしながら、ハードウェアとして実装された固定的な処理機能を持つ処理回路を接続したリング型バス接続では、依然として物理的な接続順序と異なる処理順序を自在に変更することは困難であった。たとえば、接続順序が、１、２、３、４の場合に、４、３、２、１という順に処理を実行すると、まず処理すべきデータを入力し４の処理を行った後、一端メモリ等に処理結果を格納し、再度入力処理を行い３の処理を実行するというような繰り返し処理となる。つまり、処理回路間の途中結果を保持する新たなメモリが必要となってしまう。また、このような処理順序の変更により、ある処理回路の負荷が高まると、その処理回路に関連するデータの処理が滞り、通信路のトラフィックが増加してしまっていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許２７３４２４６号
【特許文献２】特開平０１-０２３３４０号公報
【特許文献３】特許２８３４２１０号
【特許文献４】特許２５１８２９３号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以上のように、リング状バスにおいて処理回路の負荷が大きく処理が滞ると、その滞りで、通信路を共有する次処理データや別用途のデータの処理に影響を及ぼし、処理性能が低下する。
【０００７】
本発明は、以上の課題を鑑みて、リング状バスに接続された処理回路の負荷が大きくなる場合や、処理順序を変えることにより処理回路の処理が滞る場合でも、処理性能を低下させないように制御する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、リング状バスに接続され複数のデータ処理部を有するデータ処理装置は、前記データ処理部が、前記リング状バスと通信する通信手段と、前記通信手段を介して前記リング状バスからデータを受信する受信手段と、前記受信したデータが自身宛データの場合に自身宛データを処理する処理手段と、該自身宛データの前に受信した自身宛データを前記処理手段が処理中の場合、該受信した自身宛データに処理保留を意味するストールフラグを設定し、前記通信手段を介して前記リング状バスへ第１ストールデータを送出する第１送出手段と、前記受信手段が前記第１ストールデータを再受信し、該第１ストールデータが、次に処理すべきデータではないと判断した場合には、該再受信した第１ストールデータを格納する格納手段と、前記受信手段が前記第１ストールデータを再受信し、該第１ストールデータが次に処理すべきデータであると判断した場合で、かつ、前記処理手段がデータ処理可能な場合に、該第１ストールデータのデータ処理を行うストールデータ処理手段とを備える
【発明の効果】
【０００９】
リング状バスに接続された処理回路の負荷が大きくなる場合や、処理順序を変えることにより処理回路の処理が滞る場合でも、処理性能を低下させないように制御する技術を提供することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】データ処理サブシステムの構成を示す図である。
【図２】データ処理サブシステム内を流れるパケットの内部構成を示す図である。
【図３】データ処理サブシステム内の通信処理部の内部構成を示す図である。
【図４】データ処理サブシステム内の通信処理部とデータ処理部における処理の詳細を示すフローチャートである。
【図５】データ処理サブシステム内の第１番目と第７番目の単位時間におけるのデータ処理状態を示す図である。
【図６】データ処理サブシステム内の第８番目と第１０番目の単位時間におけるのデータ処理状態を示す図である。
【図７】データ処理サブシステム内の第１２番目と第１４番目の単位時間におけるのデータ処理状態を示す図である。
【図８】データ処理サブシステム内の第１５番目と第１６番目の単位時間におけるのデータ処理状態を示す図である。
【発明を実施するための形態】
【００１１】
以下に本願発明の実施形態を示す。もちろん以下の実施形態は、本願発明の技術分野における当業者による実施を容易にするために開示を提供するものであり、特許請求の範囲によって確定される本願発明の技術的範囲に含まれるほんの一部の実施形態にすぎない。従って、本願明細書に直接的に記載されていない実施形態であっても、技術思想が共通する限り本願発明の技術的範囲に包含されることは当業者にとって自明であろう。
【００１２】
なお、便宜上複数の実施形態を記載するが、これらは個別に発明として成立するだけでなく、もちろん、複数の実施形態を適宜組み合わせることでも発明が成立することは、当業者であれば容易に理解できよう。
【００１３】
＜実施形態１＞
実施形態１では、リング状バスに通信可能に接続された、複数の通信処理部／データ処理部を備えるデータ処理サブシステムの構成において、データ処理のためのパケットがリング状バスに流される。そして、処理負荷の大きい通信処理部／データ処理部においてデータ処理が滞り、リング状バスを周回する、ストール設定したパケットにより、その滞りがいかに低減されるか、その例を示す。
【００１４】
図１は、本発明を適用できるデータ処理サブシステム１の構成を示す図である。データ処理サブシステム１は、通信路１０、通信処理部１０１、１０２、１０３、１０４、データ処理部１１１、１１２、１１３、１１４を備える。通信処理部とデータ処理部を合わせてデータ処理部と呼ぶ。通信処理部１０１は、通信路１０及びデータ処理部との間で情報を授受する。データ処理部の各々は受け取った情報に対して定められたデータ処理を行い、結果を通信処理部へ戻す。ただし、データ処理部１１１は、データ入出力端にあり、データ処理サブシステム１の外部からデータを入力した場合には、データ処理後に通信処理部１０１へデータを渡す。また、データ処理部１１１は、逆に通信処理部１０１からデータを受けた場合には、データ処理後にデータ処理サブシステム１の外部へデータを出力する。
【００１５】
以下では通信路１０を流れる情報のことをパケットと呼ぶこととする。図２は、そのパケット２００のフォーマットを示す。図に示すように、パケット２００は、データパス種別２０１、データカウント２０２、ストールフラグ２０３、送信元データ処理部識別ＩＤ２０４、データ２０５を備える。
【００１６】
データ処理の論理的な区分は、データパスと呼ばれる。データパス種別２０１を分けることにより、複数のデータパスを物理的に同一の通信路に共存させることが可能となる。この場合、それぞれのデータパス間にはデータ処理の依存関係はない。
【００１７】
データカウント２０２は、データ群をパケット単位に分割して管理する場合に、データの並び順を保証するために用いられる。ストールフラグ２０３は、ストールパケット(データ処理部の状態が一杯のため処理できないパケット)であるときにＯＮに設定される。
【００１８】
データ２０５は、通信処理部とデータ処理部との間で定められたデータ長を有する。なお、データ処理部１１１とデータの授受を行う通信処理部は、通信処理部１０１のみであり、それ以外の通信処理部１０２、１０３、１０４とはデータを直接授受することはできない。以下において、通信処理部から見たこのようなデータ処理部を、管理対象データ処理部と呼ぶ。したがって、通信処理部１０２はデータ処理部１１２、通信処理部１０３はデータ処理部１１３、通信処理部１０４はデータ処理部１１４が管理対象データ処理部である。
【００１９】
次に、図３は通信処理部のブロック構成を示す。図１の１０１から１０４に対応する、通信処理部３００は、識別ＩＤチェック部３１０、ストールチェック部３２０、データ変換部３３０を有する。また、識別ＩＤチェック部３１０は、入力データ識別ＩＤ３１１とデータ処理部識別ＩＤ３１２とを備える。更に、ストールチェック部３２０は、データ受付可否状態３２１および自ストールパケット伝送状態３２２のフラグ設定を行い、また、データカウントのためのデータカウントチェック部３２３、ストールパケットを格納するストールパケット格納バッファ３２４、および送出したストールパケットが再び戻るまでの時間を計測するストールパケットタイマ３２５の機能を備える。
【００２０】
識別ＩＤチェック部３１０は、入力データが処理すべきデータかどうかに関する入力データの識別ＩＤ３１１や、データ処理を行うデータ処理部の識別ＩＤ３１２に関して、比較およびその設定を行う。各データ処理部をシステム内で識別するために、データ処理部の識別ＩＤ３１２が、各データ処理部に割り振られている。また、入力データ識別ＩＤ３１１は、パケット２００内の送信元データ処理部識別ＩＤ２０４との比較に用いられ、ＩＤが一致したパケットについてのみ、管理対象データ処理部でそのデータの処理が実行される。このようなパケットを「処理対象パケット」と呼ぶ。
【００２１】
処理対象パケットに対してデータ処理が実行されると、通信処理部は、パケット２００を生成する。その際、送信元データ処理部識別ＩＤ２０４にデータ処理部識別ＩＤ３１２を設定する。なお、送信元データ処理部識別ＩＤ２０４とデータ処理部識別ＩＤ３１２とが一致しているパケットのことを「自パケット」と呼ぶ。本実施形態では、入力データ識別ＩＤ３１１を変更することにより、データ処理部間の処理順序の変更が可能となる。すなわち、各データ処理部の物理的な接続順序によらない、データ処理順序の設定が可能となる。
【００２２】
識別ＩＤチェック部３１０を通過したパケットに対して、ストールチェック部３２０が、データ受付可否状態３２１やデータカウントチェック部３２３によりパケットを更にチェックする。こうすることで、管理対象データ処理部との間で授受を行うデータが絞り込まれる。通信処理部からデータ処理部へデータを渡すとき、データ処理部が別データを処理している状態にあるとき、新たなデータを受け付けられないことがある。この場合、データ受付可否状態３２１は、データが受け付けられない状態にあることを検出する。また、データカウントチェック部３２３は、データ処理を行ったパケットのデータカウント２０２の値を保持し、後続データの順序の整合性をチェックする。
【００２３】
これらのチェックの結果、データ処理の行われなかったパケットに対して、ストールチェック部３２０は、パケットのフォーマット内のストールフラグ２０３を設定し、パケットが処理保留であることを示してこのストールデータを含むストールパケットを通信路１０へ送出する。データ変換部３３０は、パケット２００から管理対象データ処理部へ渡すデータ２０５を取り出す。また逆に、データ変換部３３０は、管理対象データ処理部から受けたデータ２０５からパケット２００を再生成する。
【００２４】
さて、識別ＩＤチェック部３１０では、処理対象パケットの識別だけでなく、自パケットの識別も行う。入力したパケットが自パケットであった場合、これは、通信路１０へ送出した自パケットが次に処理を行うはずのデータ処理部で処理されずに戻ってきたことを意味する。
【００２５】
前述のように、自身のデータ処理部で処理し、次のデータ処理部へ送出した自パケットは、リング状バスへ送出される。自ストールチェック部３２０は、自パケットが次のデータ処理部で処理されず、そのままストール設定されてリング状バスへ送出された自パケット（以下「自ストールパケット」と呼ぶ）が、周回しているかを否かを判断し、その結果を自ストールパケット伝送状態のフラグに設定する。
【００２６】
データカウントチェック部３２３は、処理対象パケットだけでなく自パケットに関しても、データカウント２０２の値を保持する。ストールパケット格納バッファ３２４は、自ストールパケットを一時的に保持するバッファである。ストールパケットタイマ３２５は、リングバスを周回する自ストールパケットを監視するタイマであり、自ストールパケットを周回させてからの時間を計測する。そして、ストールパケットタイマ３２５は、リング状バスの周回に要する時間を基準にした所定の時間以内に自ストールパケットが戻ることを確認するたびに、タイマを再設定する。ストールパケットタイマ３２５がタイムアウトしたら、ストールチェック部３２０は、自ストールパケットが次段のデータ処理部で処理されたと判断する。
【００２７】
以上のように、構成の各機能部に関する説明を行ってきたが、続いてデータ処理サブシステム１の全体の処理フローを説明する。データ処理部１１１より入力したデータ２０５は、通信処理部１０１にてパケット２００へと変換される。パケット２００は、通信路１０上を、通信処理部１０１から１０２、１０３、１０４、１０１へと環状に流れる。通信処理部の各々は、パケット２００を受け取り、識別ＩＤチェック部３１０において自身の処理対象パケットかどうかの判断を行う。
【００２８】
処理対象パケットであった場合には、ストールチェック部３２０は、データ受付可否状態３２１にてデータ受付可否をチェックする。データ受付可能であれば、データ変換部３３０にてパケット２００からデータ２０５を取り出し、管理対象データ処理部へデータ２０５を渡す。データ処理後、データ２０５からパケット２００を再生成するときに、パケットフォーマットの送信元データ処理部識別ＩＤ２０４にデータ処理部識別ＩＤ３１２を設定する。再生成されたパケット２００は通信路１０へ送出され、次段の通信処理部にて同様の処理が行われる。
【００２９】
他方、処理対象パケットでなかった場合には、次のステップとして、自パケットの識別を行う。自パケットでない場合は、そのままリング状バスへ戻す。自パケットの場合は、自ストールパケットであるかどうかを確認し、自ストールパケットの場合には、ストールチェック部３２０にて自ストールパケット伝送状態３２２のフラグをチェックする。そして、伝送状態にない場合には、これから伝送するので、伝送状態のフラグを立て、ストールパケットタイマ３２５が設定される。
【００３０】
複数の自ストールパケットが通信路１０を流れる場合には、データカウントチェック部３２３にて、各ストールパケットのデータカウント２０２が比較される。そして先頭のデータ処理順序の自ストールパケットのみを通信路１０に送出し、残りの自ストールパケットは、ストールパケット格納バッファ３２４へ待避させる。以下では、通信路１０に残した自ストールパケットを「先頭自ストールパケット」と呼ぶ。ストールパケットタイマ３２５がタイムアウトした場合、通信路に送出した先頭自ストールパケットが次段で処理されたと判断する。そして、ストールパケット格納バッファ３２４に格納されているパケットの中から、先頭のデータ処理順序のパケットを選択し再送出する。そして、ストールパケットタイマ３２５を設定する。
【００３１】
こうして、パケットが通信処理部１０１に戻った後、通信処理部１０１の識別ＩＤチェック部３１０において処理対象パケットかどうかが判断される。パケットが処理対象パケットであった場合は、データ変換部３３０にてデータ２０５を取り出し、データ処理部１１１へデータを受け渡す。データ処理部１１１での処理後、データ２０５は、データ処理サブシステム１から外へ送出される。
【００３２】
図４は、本実施形態のデータ処理サブシステムにおける通信処理部がパケットを受信し、データ処理を通じて通信路へパケットを送出するまでのフローチャートを示す。まずＳ１００１では、通信処理部の識別ＩＤチェック部にて受信パケットが処理対象パケット、すなわち自身宛パケットであるかどうかを判断する。処理対象パケットであった場合には、Ｓ１００２へ進み、処理対象パケットでなかった場合には、Ｓ１００７へ進む。Ｓ１００２では、通信処理部のストールチェック部にて自ストールパケット受付状態３２２がチェックされる。データ処理可能、すなわち受付可能である場合には、Ｓ１００３へ進み、受付不可能である場合には、Ｓ１０１２へ進む。
【００３３】
Ｓ１００３では、受信パケットが次に処理すべきデータであるかどうかを通信処理部のストールチェック部にてパケット内のデータカウントをチェックすることで判断する。次に処理すべきデータであった場合には、Ｓ１００４へ進み、次に処理すべきデータでなかった場合には、Ｓ１０１２へ進み、受信したパケットにストールを設定して通信路４０１に周回させる（第１周回）。
【００３４】
Ｓ１００４では、通信処理部のストールチェック部３２０のデータカウントチェック部３２３で管理しているデータカウントを、処理対象パケットのデータカウントに合わせて更新する。また、これに続いてデータ変換部でデータが取り出されデータ処理部へ渡される。更に、データ処理部は、再受信したストールパケットについては、そのためのストールデータ処理がおこなわれ、ストールパケットでない場合には、規定のデータ処理を行う。そして、その結果を通信処理部へ渡してＳ１００５へ進む。Ｓ１００５では、送信元ＩＤを示す送信元データ処理部識別ＩＤに自身のデータ処理部ＩＤが設定され、自パケットを生成してＳ１００６へ進む。Ｓ１００６では、次段の通信処理部へ渡すために自パケットが通信路４０１へ送出され、フローチャートは終了となる。
【００３５】
Ｓ１００７では、通信処理部の識別ＩＤチェック部３１０にて、受信パケットが自パケットであるかどうかを判断する。自パケットの場合には、Ｓ１００８へ進み、自パケットでない場合には、Ｓ１００６へ進み通信路４０１へ送出する。Ｓ１００８では、通信処理部のストールチェック部３２０にて、自ストールパケット伝送状態３２２のフラグがチェックされる。自ストールパケットが伝送状態にある（フラグが設定されている）場合には、Ｓ１００９へ進み、自ストールパケットが伝送状態にない（フラグが設定されていない）場合には、Ｓ１０１０へ進み、自ストールパケット伝送状態３２２のフラグを立てて、ストールタイマを設定し、通信路４０１へ送出する。
【００３６】
Ｓ１００９では、通信処理部のストールチェック部３２０において、受信パケットが先頭自ストールパケットであるかどうかがチェックされる。先頭自ストールパケットである場合には、Ｓ１０１０へ進み、先頭自ストールパケットでない場合には、Ｓ１０１１へ進む。
【００３７】
Ｓ１０１０では、ストールパケットタイマを設定してＳ１００６へ進み、自ストールパケットを通信路４０１に周回させる（第２周回）。Ｓ１０１１では、自ストールパケットをストールパケット格納バッファ４５２へ格納し、フローチャートは終了となる。
【００３８】
次に、時分割での詳細なデータ遷移の例について説明する。図５は、データ処理サブシステム１のデータ処理の推移を示す図である。ここには、通信路４０１および４つの通信処理部４１１、４１２、４１３、４１４と４つのデータ処理部４２１、４２２、４２３、４２４を用意する。また、リング状バスを流れるパケットとして、第１データパス用のパケット４３１、４３２、４３３、４３４、４３５と第２データパス用のパケット４４１を用意する。更に、各パケットを格納するためのサブシステム投入データＦＩＦＯ４５０およびストールパケット格納バッファ４５２を有している。いま、データ処理部４２１は、データ入出力端にある。パケットは、通信処理部を４１１→４１２→４１３→４１４→４１１と環状に流れる。
【００３９】
図５において、第１データパスは、まずデータ処理部４２２で処理を行い、次にデータ処理部４２３で処理を行うパスであるとする。また、第２データパスは、データ処理部４２４で処理を行うパスであるとする。ここで通信処理部４１２と通信処理部４１３とで、Ｓ１００１で行った処理対象パケットの識別が行われる。これにより、データ処理部４２２で処理を行っていないデータに対して、データ処理部４２３で処理を行うといったことが起こらないように制御することができる。
【００４０】
また、データの投入順序は、第１データパス用のパケットを４３１、４３２、４３３、４３４、４３５の順に５個流した後、第２データパス用のパケット４４１を１個流すものとする。なお、単一のパケットが、単一の通信処理部を通過するのに要する時間を「単位時間」とする。すなわち、単一の通信処理部および単一のデータ処理部における処理は、通信路からパケットを受け取り、パケットからデータを取り出してデータ処理部へ渡し、データ処理を行ったデータを再度パケットへ変換して通信路へ送出するまでの処理である。この処理にかかる時間も、「単位時間」であるとする。ただし、データ処理部４２３で行う処理のみ例外として、複数の単位時間を要するとする。従って、データ処理部４２３でパケットのデータ処理を行うとき、後続するパケットについては、データ処理中のためストールの処理が発生する。
【００４１】
さて、データ処理サブシステム１の外部からデータを受け取り、第１データパス用のパケット４３１として生成して通信路４０１へ送出するまでを第１の単位時間とする。図５（ａ）は、第１の単位時間における各通信処理部とデータ処理部処理の状態を示す。
【００４２】
この第１の単位時間の後、単位時間毎にサブシステム投入データＦＩＦＯ４５０から次のパケットを入力する。第２の単位時間に至るまでに、通信処理部４１１は、Ｓ１００１に従ってチェックする。そして、受信したパケット４３１が処理対象パケットでなく、Ｓ１００７で、自パケットでもないので、パケット４３１を通信路４０１へ送出し、パケット４３１が通信処理部４１２へ移動する。そして、パケット４３２が、ＦＩＦＯ４５０から通信処理部４１１に取り込まれ、データ処理部４２２で処理が行われる。
【００４３】
データ処理部４２２での処理は、Ｓ１００１で受信パケットが処理対象パケットであることが確認される。Ｓ１００２でデータ処理部が受け付け可能であることが確認され、Ｓ１００３で受信順序が合っていること、Ｓ１００４でカウンタが更新され、データ処理が実施される。Ｓ１００５でパケット化して送信元データ処理部ＩＤを更新して自パケットにして、Ｓ１００６で通信路４０１へ送出する。以上の処理は、「単位時間」で行われ、パケット４３１は、次段の通信処理部４１３に送られる。
【００４４】
次の単位時間において、次段の通信処理部４１３において、同様に、パケット４３１の処理が行われる。先の通信処理部４１２との処理の相違は、通信処理部４１３のデータ処理にかかる時間が、複数の時間単位であり、長いことである。したがって、後続のパケット４３２から４３４は、通信処理部４１２で処理されたあと、通信処理部４１３では、パケット４３１が処理中のため、Ｓ１０１２のステップのストール設定が行われ、通信路４０１を周回する。
【００４５】
そして、第７の単位時間において、図５（ｂ）に示すような処理状態に移行する。すなわち、通信処理部４１１にパケット４３３、通信処理部４１２にパケット４３２、通信処理部４１３にパケット４３５、通信処理部４１４にパケット４３４があり、データ処理部４２３ではパケット４３１に対してデータ処理を行っている。ここでは、全ての第１データパス用パケットが通信路４０１に入り移動している。いま、各通信処理部にはパケットが存在し、通信処理部４１２は、新たなパケットを受け付けられない状態にある。ここで、通信処理部４１２において、パケット４３２は、Ｓ１００１で、受信対象ではないので、Ｓ１００７へ移行し、自パケットなので、Ｓ１００８へ移行する。そして伝送状態のフラグはまだ設定していないので、Ｓ１０１０へ移行して、伝送状態のフラグおよびタイマが設定され、通信路４０１へ送出される。また、パケット４３５については、通信処理部４１３でストールが設定される時点にある。
【００４６】
続いて第８の単位時間では、図６（ａ）に示すパケットの処理状態となる。すなわち、通信処理部４１１にパケット４３４、通信処理部４１３にパケット４３２、通信処理部４１４にパケット４３５がある。データ処理部４２３では、依然としてパケット４３１に対するデータ処理が行われている。
【００４７】
このパケット４３１は、引き続きデータ処理中なので、通信処理部４１２に移行した後続のパケット４３３は、通信処理部４１２により、Ｓ１００１で、処理対象パケットでないと判定され、Ｓ１００７へ移行する。また、このパケット４３３は自パケットであり、Ｓ１００８ですでに自ストールパケット伝送状態のフラグは立っているので、Ｓ１００９に進む。Ｓ１００９では、パケット４３３は自ストールパケットであるが、先頭の自ストールパケット４３２は周回中であるので、Ｓ１０１１のフローを通り、パケット４３３は、ストールパケット格納バッファ４５２へ格納される。
【００４８】
続いて第１０の単位時間では、図６（ｂ）に示すパケットの処理状態となる。すなわち、通信処理部４１１にパケット４３２があり、データ処理部４２３では、パケット４３１に対してデータ処理を行っている。また、通信処理部４１２では、ストールパケット格納バッファ４５２にパケット４３３、４３４が格納されており、更にパケット４３５を格納する時点にある。このとき、第９、第１０の単位時間において、パケット４３３に後続する、パケット４３４とパケット４３５が、第８の単位時間の場合と同様に、ストールパケット格納バッファ４５２へ格納されていることがわかる。
【００４９】
第１１の単位時間では、通信処理部４１１におけるパケットが空の状態になるので、第２データパス用のパケット４４１が、通信処理部４１１に取り込まれる（不図示）。
【００５０】
続いて第１２の単位時間内では、図７（ａ）に示すパケットの処理状態となる。すなわち、通信処理部４１２に第２データパス用のパケット４４１があり、通信処理部４１３にはパケット４３２が移動している。そしてデータ処理部４２３ではパケット４３１に対してデータ処理を行っている。また、通信処理部４１２では、ストールパケット格納バッファ４５２にパケット４３３、４３４、４３５が格納されている状態である。第２データパス用のパケット４４１は、通信処理部４１２の処理対象パケットでも自パケットでもないため、Ｓ１００１、Ｓ１００７およびＳ１００６のフローを通って、通信路４０１へそのまま送出される。
【００５１】
続いて第１４の単位時間では、図７（ｂ）に示すパケットの処理状態となる。すなわち、通信処理部４１１にパケット４３２があり、データ処理部４２３では、パケット４３１に対してデータ処理を行っている。また、通信処理部４１２ではストールパケット格納バッファ４５２にパケット４３３、４３４、４３５が格納されている状態にある。更に、データ処理部４２４では、第２データパス用パケット４４１に対してデータ処理を行っている。
【００５２】
続いて第１５の単位時間では、図８（ａ）に示すパケットの処理状態となる。すなわち、通信処理部４１１にパケット４４１があり、通信処理部４１２にパケット４３２があり、通信処理部４１３にパケット４３１がある。また、通信処理部４１２では、ストールパケット格納バッファ４５２にパケット４３３、４３４、４３５が格納されている状態にある。データ処理部４２３では、パケット４３１に対する処理を終えた時点にある。また、この時点で第２データパス用のパケット４４１に対する全ての処理は終わっているため、第２データパス用パケット４４１は、この単位時間内にデータ処理サブシステム１の外へデータ処理部４２１を介して送出される。
【００５３】
続いて第１６の単位時間では、図８（ｂ）に示すパケットの処理状態となる。すなわち、通信処理部４１４にパケット４３１があり、データ処理部４２３では、パケット４３２に対してデータ処理を行っている。また、通信処理部４１２では、ストールパケット格納バッファ４５２にパケット４３３、４３４、４３５が格納されている状態にある。
【００５４】
さて、ここでデータ処理部４２３によるパケット４３２の処理が開始されるため、この後の定められた期間に、タイマの設定された、パケット４３２は、通信路４０１上を周回しなくなる。結果的に、通信処理部４１２のストールパケットタイマがタイムアウトする。タイムアウトを契機として、ストールパケット格納バッファ４５２からパケット４３３が送出され、通信処理部４１３へ送られ処理される。以下、第１データパス用のパケット４３４、４３５についても同様である。すなわち、データ処理部４２３でのデータ処理開始を契機に、通信処理部４１２の抱える自ストールパケットは、通信路４０１を周回しなくなる。そして、ストールパケットタイマのタイムアウトによりストールパケット格納バッファ４５２に格納されたパケットは、データ処理の順序が最も早い自ストールパケットから１つずつ送出される。そして、格納された最後のストールパケットが処理され、ストールパケットタイマがタイムアウトすると自ストールパケット伝送状態３２２のフラグは、リセットされる。
【００５５】
このように本実施形態では、ストールパケットを生成し、その先頭のストールパケットのみをリング状バスに周回させることにより、データ処理の停滞を低減し、さらに第１のデータパスのデータ処理が完了していなくとも、後続の第２のデータパス用パケットを投入して処理することが可能となることを示した。
【００５６】
＜他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011128812.tif 000003
【図２】
2011128812.tif 000004
【図３】
2011128812.tif 000005
【図４】
2011128812.tif 000006
【図５】
2011128812.tif 000007
【図６】
2011128812.tif 000008
【図７】
2011128812.tif 000009
【図８】
2011128812.tif 000010