(57)【要約】【課題】並立化されたパケット処理部に対して、より高い精度で負荷の平準化を可能にする。【解決手段】各フレーム処理部の識別子、その受信キュー内の保留パケット数および算出された受信予測されるパケット識別子数をパケット処理状況情報とし、フレーム転送先判定部は、過去のフレームの識別子と転送先の識別子をフレーム転送履歴とし、またフレーム処理部毎の受信パケットのキューへの保留数の受信キュー保留数閾値を設け、既に転送履歴の有るフレームは同じフレーム処理部を転送先に決定し、転送履歴のないフレームは受信キュー保留数閾値、パケット処理状況情報を用いて受信が予測されるパケット識別子数が最も少ないフレーム処理部を転送先に決定する。【選択図】        図１
2004235732.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる通信情報のパケットを多重化した多重化フレームを受信してフレーム毎に転送先を判定するフレーム転送先判定部と、並列に配置され前記フレーム転送先判定部から転送されたフレームからパケットを分離して処理する複数のフレーム処理部と、各フレーム処理部のパケットの処理状況を入手して管理するパケット処理状況管理部とを備え、
前記パケット処理状況管理部は、各フレーム処理部で処理されたパケットの識別子、パケット組立位置情報および受信キュー内の保留パケット数の情報を得て前記パケット組立位置情報からフレーム処理部で処理したパケットのうち受信予測されるパケット識別子数を算出し、フレーム処理部の識別子、その受信キュー内の保留パケット数および算出された受信予測されるパケット識別子数をパケット処理状況情報として格納するようにし、
前記フレーム転送先判定部は、過去に処理したフレームの識別子と転送先のフレーム処理部の識別子をフレーム転送履歴として格納し、フレーム処理部毎の受信パケットのキューへの保留数の上限と下限の閾値を受信キュー保留数閾値として予め格納しておき、受信したフレームの識別子を基に前記フレーム転送履歴を参照し、既に転送履歴の有るフレームについては履歴と同じフレーム処理部を転送先に決定し、また、転送履歴のない新規フレームについては前記受信キュー保留数閾値および前記パケット処理状況情報を用いて受信キュー内の保留パケット数が下限閾値未満または上限閾値未満のフレーム処理部のうち受信が予測されるパケット識別子数が最も少ないフレーム処理部を転送先に決定するようにした負荷分散並列処理装置。
【請求項２】
フレーム転送先制御部は、フレーム処理部に将来入力されるパケット種別数を判定基準に組み込むことにより、将来的に処理負荷が低く見積もられるフレーム処理部を新規フレームの転送先として決定するようにしたことを特徴とする請求項１記載の負荷分散並列処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は多重化フレームを送受するネットワーク上に配置され、受信したフレームを並列に処理するマルチプロセッサ構成を持つ通信装置に係り、特に複数のフレーム処理装置に対するフレームの割振りを調整することにより各フレーム処理装置の負荷の平準化を図る負荷分散並列処理装置に関するものである。
【０００２】
【従来の技術】
大量の通信情報のパケットを高速で処理する通信装置では、処理能力を高めるためにマルチプロセッサを採用している。このような通信装置として、負荷が特定のパケットプロセッサに偏ることがないように均等に分散させ、制御パケットの処理時間も大きくばらつかないようにする負荷分散型パケット並列処理装置がある（例えば、特許文献１参照）。
図６はこの従来の負荷分散型パケット並列処理装置の構成を示すブロック図であり、図７はその中のパケットプロセッサの構成を示すブロック図である。図において、負荷分散型パケット並列処理装置は、１つ以上の通信チャネル１００１〜１００Ｎと、これらの通信チャネルから受信した制御パケットを処理する複数のパケットプロセッサ３１０，３２０，３３０，３４０，３５０と、通信チャネルから受信する制御パケットを複数のパケットプロセッサ３１０，３２０，３３０，３４０，３５０へ分配するパケット分配制御部２１とを備えている。
【０００３】
通信チャネル１００１〜１００Ｎに、新たに制御パケットが到着すると、パケット分配制御部２１は複数のパケットプロセッサ３１０，３２０，３３０，３４０，３５０にパケット処理要求を出力し、その中でパケット処理要求に最も早く応答したパケットプロセッサに対して処理許可を与える。プロセッサカードは、図７に例示するように、自パケットプロセッサ３１０の負荷レベルを決定する負荷レベル決定部３１５と、この負荷レベル決定部３１５が決定した負荷レベルに応じて、パケット処理要求への応答時間および応答の可否を制御する送受信制御部３１１とを備えている。
【０００４】
この場合、負荷レベルの決定は、受信バッファ３１２に保持された制御パケットの量、送信バッファ３１３に保持された制御パケットの量、共有メモリ６のアクセス競合などによる処理中断中の制御パケットの数、パケットプロセッサ３１０における処理の種類などに応じて決定されるようになっている。
【０００５】
【特許文献１】
特開２０００−２２２３７４公報
【０００６】
【発明が解決しようとする課題】
以上のような従来の負荷分散型パケット並列処理装置では、バッファ内のパケットの量、処理種別、および中断中のパケットの数などで負荷レベルが決定されているが、これらはいずれも現在処理中のパケットを基準に負荷レベルの判定を行っているものである。一方、多重化フレームにおけるパケット処理のように、パケットの順序を守るために、一度特定のフレーム識別子（結果的にパケット識別子）を持つフレームが転送されたパケット処理部に対しては、同一のパケット識別子を持つパケットを継続して転送する必要がある。このような場合、フレームに含まれているパケット組立位置情報が「最終パケット」となっていないパケット識別子のパケットを大量に処理したパケット処理部に対して、近い将来、同じパケット識別子を持つパケットが大量に入力されることになる。そのため、上記負荷分散型パケット並列処理装置のように単に現在処理中のパケットのみを基準にパケットの割振りを行うと、パケット処理部に対する負荷が偏る可能性が大となるといった問題が発生する。
【０００７】
この発明は上記のような問題点を解決するためになされたもので、処理済のパケットのパケット組立位置情報を利用して、近い将来入力されるパケットの予測と現在処理中のパケット量（キューに入っているパケットの数）を併用することにより新規パケットの振分け先を判定し、並立化されたパケット処理部に対して、より高い精度で負荷の平準化を可能にする負荷分散並列処理装置を得ることを目的とする。
【０００８】
【課題を解決するための手段】
この発明に係る負荷分散並列処理装置は、複数の異なる通信情報のパケットを多重化した多重化フレームを受信してフレーム毎に転送先を判定するフレーム転送先判定部と、並列に配置されフレーム転送先判定部から転送されたフレームからパケットを分離して処理する複数のフレーム処理部と、各フレーム処理部のパケットの処理状況を入手して管理するパケット処理状況管理部とを備え、パケット処理状況管理部は、各フレーム処理部で処理されたパケットの識別子、パケット組立位置情報および受信キュー内の保留パケット数の情報を得てパケット組立位置情報からフレーム処理部で処理したパケットのうち受信予測されるパケット識別子数を算出し、フレーム処理部の識別子、その受信キュー内の保留パケット数および算出された受信予測されるパケット識別子数をパケット処理状況情報として格納するようにし、フレーム転送先判定部は、過去に処理したフレームの識別子と転送先のフレーム処理部の識別子をフレーム転送履歴として格納し、フレーム処理部毎の受信パケットのキューへの保留数の上限と下限の閾値を受信キュー保留数閾値として予め格納しておき、受信したフレームの識別子を基にフレーム転送履歴を参照し、既に転送履歴の有るフレームについては履歴と同じフレーム処理部を転送先に決定し、また、転送履歴のない新規フレームについては受信キュー保留数閾値および前記パケット処理状況情報を用いて受信キュー内の保留パケット数が下限閾値未満または上限閾値未満のフレーム処理部のうち受信が予測されるパケット識別子数が最も少ないフレーム処理部を転送先に決定するようにしたものである。
【０００９】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
この発明に係る負荷分散並列処理装置は、前提として、１単位の通信情報を小さなパケットに分割し、複数の独立した通信情報のパケットを１つの通信フレーム内に格納し、フレーム単位で通信を行うことにより、複数の異なる通信情報を多重化して送受する多重化フレームの通信ネットワーク上に配置されるマルチプロセッサ構成の通信装置を対象とするものである。
【００１０】
図１はこの発明の実施の形態１による負荷分散並列処理装置の機能構成を示すブロック図、図２はフレーム転送先判定部１０４の新規フレーム転送先判定のためのアルゴリズムを示すフローチャートである。
図１において、このシステムは、フレーム転送先制御部１００、パケット処理状況管理部２００、複数のフレーム処理部３００，４００，５００，６００から構成されている。フレーム処理部３００，４００，５００，６００は、フレームの並列処理を行うためのマルチプロセッサで構成され、それぞれはパケット分離部３０１，４０１，５０１，６０１、パケット処理部３０２，４０２，５０２，６０２および処理パケット情報通知部３０３，４０３，５０３，６０３からなっている。フレーム転送先制御部１００は、フレーム受信部１０１、フレーム識別部１０２、フレーム転送先判定部１０４、フレーム転送部１０６、転送先判定用受信キュー保留数閾値格納部１０７およびフレーム転送履歴格納部１０３から構成される。また、パケット処理状況管理部２００はパケット処理状況格納部２０１とパケット処理状況受信部２０２から構成される。
【００１１】
複数のフレーム処理部３００，４００，５００，６００において、パケット分離部３０１，４０１，５０１，６０１は、１つ以上のパケットを含む多重化フレームがフレーム転送先制御部１００の指示により転送されてくると、そのフレームからパケットを分離し、分離したパケットの識別子とパケット組立位置情報を抽出し受信キューに置く手段である。処理パケット情報通知部３０３，４０３，５０３，６０３は、この分離したパケットの識別子とパケット組立位置情報および受信キュー内のパケット数をフレーム処理部の識別子と共にパケット処理状況受信部２０２に通知する手段である。ここで、パケット組立位置情報は、１単位の通信情報を分割して作成される複数のパケットを再度通信単位に組み立てるためにパケット内に格納されている情報であり、そのパケットが「最終パケット」であるか、それ以外かを示す情報である。パケット処理部３０２，４０２，５０２，６０２は、パケット分離部３０１，４０１，５０１，６０１で分離したパケットについて所定のアプリケーションの処理行う手段である。
【００１２】
パケット処理状況管理部２００において、パケット処理状況受信部２０２は、各処理パケット情報通知部３０３，４０３，５０３，６０３から処理パケットの情報、すなわちパケットの識別子とパケット組立位置情報および受信キュー内のパケット数が通知された場合、その情報を受信し格納する手段である。パケット処理状況格納部２０１は、パケット処理状況受信部２０２が格納した情報から、フレーム処理部３００，４００，５００，６００の受信キュー内のパケット数、処理したパケットのうちパケット組立位置情報が「最終パケット」となっていないパケット識別子の数（これは受信が予測されるパケット識別子数である）を算出し、これらをパケット処理状況情報として格納する手段である。この格納されたパケット処理状況情報のデータ例を図４に示す。
【００１３】
フレーム転送先制御部１００において、フレーム受信部１０１は、入力される多重化フレームを受信する手段である。フレーム識別部１０２はその受信したフレームからのフレーム識別子を抽出する手段である。フレーム転送履歴格納部１０３は、過去に処理したフレーム識別子と転送先となったフレーム処理部の識別子からなるペア情報をフレーム転送履歴として格納する手段である。このフレーム転送履歴のデータ例を図３に示す。転送先判定用受信キュー保留数閾値格納部１０７は、フレーム処理部毎の受信パケットのキューへの保留数の上限と下限の閾値を予め設定し受信キュー保留数閾値として格納しておく手段である。この設定されている受信キュー保留数閾値のデータ例を図５に示す。
【００１４】
フレーム転送先判定部１０４は、フレーム転送履歴格納部１０３のフレーム転送履歴（図３）と受信したフレームの識別子を比較し、既に転送履歴の有るフレームについてはフレーム（パケット）の送信順序を確保するために、転送先のフレーム処理部を履歴と同じフレーム処理部に決定する手段である。また、転送履歴のない新規フレームについては、フレーム転送先判定部１０４は、転送先判定用受信キュー保留数閾値格納部１０７の受信キュー保留数閾値データ（図５）およびパケット処理状況格納部２０１のパケット処理状況情報（図４）に基づいて、図２に示すアルゴリズムにより転送先のフレーム処理部を決定する。また、フレーム転送先判定部１０４は、転送先を決定した場合、その受信フレーム識別子と転送を行うフレーム処理部の識別子をフレーム転送履歴格納部１０３に記録する。フレーム転送部１０６は、フレーム転送先判定部１０４において実際に判定されたフレーム処理部（３００，４００，５００，６００のいずれか）に対して受信フレームの転送を実行する。
【００１５】
次に、フレーム識別子“Ｋ”を持つ新規フレームをフレーム受信部１０１が受信した場合を例に、負荷分散並列処理装置の動作を説明する。
フレーム識別部１０２により受信フレームからフレーム識別子“Ｋ”が抽出されたとする。フレーム転送先判定部１０４は、抽出されたフレーム識別子“Ｋ”を基に、先ず、フレーム転送履歴格納部１０３を検索する。この場合、図３に例示するフレーム転送履歴データではフレーム識別子“Ｋ”が存在しないため、フレーム転送先判定部１０４は、このフレームを新規フレームと認識する。
【００１６】
次にフレーム転送先判定部１０４は図２のフレーム転送先判定アルゴリズムを用いて新規フレームの転送先とするフレーム処理部の判定を行う。先ず、図４に示すパケット処理状況情報から、受信キュー内の保留パケット数が、図５に示す受信キュー保留数閾値として設定されている下限閾値未満にあるフレーム処理部を検索する（ステップＳＴ１）。この場合、下限閾値未満のフレーム処理部が存在しないので、次に受信キュー内の保留パケット数が、図５に示す上限閾値未満のフレーム処理部があるかを検索する（ステップＳＴ２）。この場合、３つのフレーム処理部３００，５００，６００が検索される。次に、この３つのフレーム処理部３００，５００，６００のうち、図４に示すパケット処理状況格納部２０１内のデータで、「受信が予測されるパケット識別子数」が最も少ないフレームを選択する（ステップＳＴ３）。これにより、フレーム処理部６００が転送先フレーム処理部として判定される。この判定結果はフレーム転送履歴格納部１０３のフレーム転送履歴を更新し格納される。
【００１７】
続いて、フレーム転送部１０６は、フレーム転送先判定部１０４の判定結果を基に、新規フレーム“Ｋ”をフレーム処理部６００に転送する。フレーム処理部６００内のパケット分離部６０１はフレーム“Ｋ”からパケットを分離する。処理パケット情報通知部６０３は、分離されたパケット毎にそのパケットの識別子、パケット組立位置情報および現在の受信キュー内のパケット数をフレーム処理部６００の識別子と共にパケット処理状況受信部２０２に通知する。パケット分離部６０１で分離されたパケットは、アプリケーションに応じた処理をパケット処理部６０２により施される。一方、処理パケット情報通知部６０３から前記のパケット情報を受信したパケット処理状況受信部２０２は、その情報を格納する。パケット処理状況格納部２０１は、パケット処理状況受信部２０２で格納しているパケット情報の履歴から図４に表されるパケット処理状況情報のデータ更新を行う。更新されたデータは次の新規パケットの振分け判定時に利用される。
【００１８】
仮にこの発明の負荷分散並列処理装置を適応せず、前述の従来の装置により転送先のパケット処理部を判定した場合、受信キュー内の保留パケット数により転送先の判定が行われるため、受信キュー内の保留パケット数の最も少ない、フレーム処理部３００が転送先となる。この場合、フレーム処理部３００は現時点では最も負荷が少ないフレーム処理部であるが、受信が予想されるパケット種別数が最も多いため、近い将来、このフレーム処理部が最も過負荷になると予測される。そこに、さらに新規フレームを割振ることは非効率な負荷分散となる可能性が高くなる。
【００１９】
以上のように、この実施の形態１によれば、パケット内に格納されているパケット組立位置情報を利用することにより、近い将来、同じパケット識別子のパケットがそのパケット処理部に入力されるかの判定を行い、そのパケット組立位置情報と現在処理中のパケット量などの情報とを組み合わせて、最も負荷の低くなるであろうと予想されるフレーム処理部に対して新規フレーム振分けることが可能になり、より高い確率でパケット処理部の負荷を平準化できる効果が得られる。
なお、フレーム転送先判定部１０４において、フレーム処理部に将来入力されるパケット種別数を判定基準としてさらに組み込むようにしてもよい。そうすることで、将来的に処理負荷が低く見積もられるフレーム処理部を新規フレームの転送先として決定することができ、さらに高い確率でパケット処理部の負荷を平準化する効果が得られる。
【００２０】
【発明の効果】
以上のように、この発明によれば、複数の異なる通信情報のパケットを多重化した多重化フレームを受信してフレーム毎に転送先を判定するフレーム転送先判定部と、並列に配置されフレーム転送先判定部から転送されたフレームからパケットを分離して処理する複数のフレーム処理部と、各フレーム処理部のパケットの処理状況を入手して管理するパケット処理状況管理部とを備え、パケット処理状況管理部は、各フレーム処理部で処理されたパケットの識別子、パケット組立位置情報および受信キュー内の保留パケット数の情報を得てパケット組立位置情報からフレーム処理部で処理したパケットのうち受信予測されるパケット識別子数を算出し、フレーム処理部の識別子、その受信キュー内の保留パケット数および算出された受信予測されるパケット識別子数をパケット処理状況情報として格納するようにし、フレーム転送先判定部は、過去に処理したフレームの識別子と転送先のフレーム処理部の識別子のペア情報をフレーム転送履歴として格納し、フレーム処理部毎の受信パケットのキューへの保留数の上限と下限の閾値を受信キュー保留数閾値として予め格納しておき、受信したフレームの識別子についてフレーム転送履歴を参照し、既に転送履歴の有るフレームについては履歴と同じフレーム処理部を転送先に決定し、また、転送履歴のない新規フレームについては受信キュー保留数閾値およびパケット処理状況情報を用いて受信キュー内の保留パケット数が下限閾値未満または上限閾値未満のフレーム処理部のうち受信が予測されるパケット識別子数が最も少ないフレーム処理部を転送先に決定し転送を行うように構成したので、パケット内に格納されているパケット組立位置情報を利用することにより、前に処理されたパケットと同じパケット識別子を持つパケットが近い将来に到来して、その同じパケット処理部に入力されるかの判定を行うことができ、その情報と現在処理中のパケット量などの情報と組み合わせて、最も負荷の低くなるであろうと予想されるフレーム処理部に新規フレームを振分けることが可能となり、より高い確率でパケット処理部の負荷の平準化を可能とする効果がある。
【図面の簡単な説明】
【図１】この発明の実施の形態１による負荷分散並列処理装置の機能構成を示すブロック図である。
【図２】この発明の実施の形態１に係るフレーム転送先判定部の判定アルゴリズムを示すフローチャートである。
【図３】この発明の実施の形態１に係るフレーム転送履歴の格納データ例を示す説明図である。
【図４】この発明の実施の形態１に係るパケット処理状況情報の格納データ例を示す説明図である。
【図５】この発明の実施の形態１に係る受信キュー保留数閾値の設定データ例を示す説明図である。
【図６】従来の負荷分散型パケット並列処理装置の構成を示すブロック図である。
【図７】従来のパケットプロセッサの構成を示すブロック図である。
【符号の説明】
１００  フレーム転送先制御部、１０１  フレーム受信部、１０２  フレーム識別部、１０３  フレーム転送履歴格納部、１０４  フレーム転送先判定部、１０６  フレーム転送部、１０７  転送先判定用受信キュー保留数閾値格納部、２００  パケット処理状況管理部、２０１  パケット処理状況格納部、２０２  パケット処理状況受信部、３００，４００，５００，６００  複数のフレーム処理部、３０１，４０１，５０１，６０１  パケット分離部、３０２，４０２，５０２，６０２  パケット処理部、３０３，４０３，５０３，６０３  処理パケット情報通知部。
【図１】
2004235732.tif 000003
【図２】
2004235732.tif 000004
【図３】
2004235732.tif 000005
【図４】
2004235732.tif 000006
【図５】
2004235732.tif 000007
【図６】
2004235732.tif 000008
【図７】
2004235732.tif 000009