(57)【特許請求の範囲】
【請求項１】
通信部が他の装置から受信したデータのデータ処理をおこなう複数のプロセッサに対する負荷を管理する負荷管理装置であって、
前記通信部が着脱自在に構成された複数のスロットと、
前記複数のスロットへの前記通信部の装着状況を検出する検出手段と、
前記検出手段により検出される装着状況毎に予め決められたスロットとプロセッサの対応に基づいて、スロットに装着された通信部が受信したデータに対するデータ処理をおこなうプロセッサを選択する選択手段と、
を備えたことを特徴とする負荷管理装置。
【請求項２】
前記検出手段は、前記通信部が装着されたスロットの組み合わせを検出し、前記選択手段は、前記検出手段により検出されたスロットの組み合わせの情報に基づいて、前記データ処理をおこなうプロセッサを選択することを特徴とする請求項１に記載の負荷管理装置。
【請求項３】
前記選択手段は、通信部が受信したデータのデータ処理をおこなう第１のプロセッサと、通信部が受信したデータのデータ処理に加えて自装置の制御処理をおこなう第２のプロセッサとがある場合に、第１のプロセッサによりデータ処理が実行されるデータを受信する通信部が装着されたスロット数が、第２のプロセッサによりデータ処理が実行されるデータを受信する通信部が装着されたスロット数以上となるように、前記データ処理をおこなうプロセッサを選択することを特徴とする請求項１または２に記載の負荷管理装置。
【請求項４】
通信部が他の装置から受信したデータのデータ処理をおこなう複数のプロセッサに対する負荷を管理する負荷管理装置によって実行される負荷管理方法であって、
前記負荷管理装置が、
前記通信部が着脱自在に構成された複数のスロットへの前記通信部の装着状況を検出する検出工程と、
前記検出工程により検出される装着状況毎に予め決められたスロットとプロセッサの対応に基づいて、スロットに装着された通信部が受信したデータに対するデータ処理をおこなうプロセッサを選択する選択工程と、
を含んだことを特徴とする負荷管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信部が他の装置から受信したデータのデータ処理をおこなう複数のプロセッサに対する負荷を管理する負荷管理装置および負荷管理方法に関し、特に、通信部の数が増減する場合でも、ＣＰＵの負荷の分散を効率的におこなうことができる負荷管理装置および負荷管理方法に関する。
【背景技術】
【０００２】
従来、ネットワーク上の複数のサーバからデータを共有することができるネットワークストレージシステムが利用されている。さらに、近年では、ネットワークストレージシステムが複数のＣＰＵ（Central Processing Unit）を搭載し、各ＣＰＵが平行してディスク装置へのＩ／Ｏ処理をおこなうことにより、処理の高速化が図られている。
【０００３】
このような複数のＣＰＵを搭載したネットワークストレージシステムでは、Ｉ／Ｏ処理要求をホストコンピュータなどから複数のポートを介して受け付けた場合に、その要求を各ＣＰＵに順に割り当て、Ｉ／Ｏ処理を実行するなどしている。
【０００４】
しかし、この方法では、Ｉ／Ｏ処理の負荷が大きいポートと負荷が小さいポートとが混在する場合、負荷が大きいポートがすべてのＣＰＵに対して大きな負荷をかけることになり、負荷が小さいポートを介して要求されたＩ／Ｏ処理のレスポンスやスループットが低下してしまう。
【０００５】
そのため、ＣＰＵの負荷割合をあらかじめ定めておき、現在のＣＰＵの負荷割合をその負荷割合に近づけるよう、ＣＰＵに対してＩ／Ｏ要求をおこなう技術が開示されている（たとえば、特許文献１を参照）。
【０００６】
【特許文献１】特開２００４−１７１１７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような従来技術では、ＣＰＵの負荷割合を所定の負荷割合に近づけるため、ＣＰＵの切り替えが頻繁に必要になり、処理が複雑になるという問題があった。
【０００８】
特に、ユーザの必要性に応じて、ポートの増設または取り外しができ、ポート数が変化するようなネットワークストレージシステムも開発されているが、このようなネットワークストレージシステムではポート数が増えるに従い、処理の複雑度がさらに増してしまう。
【０００９】
一方で、各ポートからのＩ／Ｏ処理を実行するＣＰＵを各ＣＰＵの負荷が分散されるようにあらかじめ定めておくこととすれば、ＣＰＵの切り替えは発生せず、処理が複雑になることは防げるが、ポートの増設や取り外しがなされた場合には、各ＣＰＵの負荷バランスが変化してしまう。
【００１０】
そのため、ホストコンピュータなどの他の装置からデータを受信するポートの数が増減する場合でも、ＣＰＵの負荷の分散を効率的におこなうことができる技術の開発が望まれている。
【００１１】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ポートの数が増減する場合でも、ＣＰＵの負荷の分散を効率的におこなうことができる負荷管理装置および負荷管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、本発明は、通信部が他の装置から受信したデータのデータ処理をおこなう複数のプロセッサに対する負荷を管理する負荷管理装置であって、前記複数の通信部の稼動状況を検出する検出手段と、前記検出手段により検出された稼動状況に応じて各通信部が受信したデータに対するデータ処理をおこなうプロセッサを選択する選択手段と、を備えたことを特徴とする。
【００１３】
また、本発明は、上記発明において、前記検出手段は、前記通信部が自装置が有するスロットに対して着脱可能である場合に、通信部の稼動状況を、当該通信部が前記スロットに装着されているか否かを判定することにより検出することを特徴とする。
【００１４】
また、本発明は、上記発明において、前記検出手段は、前記通信部が装着されたスロットの組み合わせを検出し、前記選択手段は、前記検出手段により検出されたスロットの組み合わせの情報に基づいて、前記データ処理をおこなうプロセッサを選択することを特徴とする。
【００１５】
また、本発明は、上記発明において、前記選択手段は、通信部が受信したデータのデータ処理をおこなう第１のプロセッサと、通信部が受信したデータのデータ処理に加えて自装置の制御処理をおこなう第２のプロセッサとがある場合に、第１のプロセッサによりデータ処理が実行されるデータを受信する通信部が装着されたスロット数が、第２のプロセッサによりデータ処理が実行されるデータを受信する通信部が装着されたスロット数以上となるように、前記データ処理をおこなうプロセッサを選択することを特徴とする。
【００１６】
また、本発明は、上記発明において、前記プロセッサがおこなうデータ処理は、割り込み処理であることを特徴とする。
【００１７】
また、本発明は、通信部が他の装置から受信したデータのデータ処理をおこなう複数のプロセッサに対する負荷を管理する負荷管理方法であって、前記複数の通信部の稼動状況を検出する検出工程と、前記検出工程により検出された稼動状況に応じて各通信部が受信したデータに対するデータ処理をおこなうプロセッサを選択する選択工程と、を含んだことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、複数の通信部の稼動状況を検出し、検出した稼動状況に応じて各通信部が受信したデータに対するデータ処理をおこなうプロセッサを選択することとしたので、データを受信する通信部の数が増減する場合でも、プロセッサの負荷の分散を効率的におこなうことができるという効果を奏する。
【００１９】
また、本発明によれば、通信部が自装置が有するスロットに対して着脱可能である場合に、通信部の稼動状況を、当該通信部がスロットに装着されているか否かを判定することにより検出することとしたので、通信部が着脱されることによりその数が増減する場合でも、プロセッサの負荷の分散を効率的におこなうことができるという効果を奏する。
【００２０】
また、本発明によれば、通信部が装着されたスロットの組み合わせを検出し、検出したスロットの組み合わせの情報に基づいて、データ処理をおこなうプロセッサを選択することとしたので、通信部が装着されたスロットの組み合わせに応じてプロセッサを選択することにより、負荷の管理を適切におこなうことができるようプロセッサを選択することができるという効果を奏する。
【００２１】
また、本発明によれば、通信部が受信したデータのデータ処理をおこなう第１のプロセッサと、通信部が受信したデータのデータ処理に加えて自装置の制御処理をおこなう第２のプロセッサとがある場合に、第１のプロセッサによりデータ処理が実行されるデータを受信する通信部が装着されたスロット数が、第２のプロセッサによりデータ処理が実行されるデータを受信する通信部が装着されたスロット数以上となるように、データ処理をおこなうプロセッサを選択することとしたので、プロセッサの負荷の分散を適切におこなうことができるという効果を奏する。
【００２２】
また、本発明によれば、プロセッサがおこなうデータ処理は、割り込み処理であることとしたので、プロセッサに対して割り込み処理の実行が要求された場合に、プロセッサの負荷の分散を効率的におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、本発明に係る負荷管理装置および負荷管理方法の好適な実施例を詳細に説明する。
【実施例】
【００２４】
まず、本発明に係る負荷管理処理の概念について説明する。図１は、本発明に係る負荷管理処理の概念を説明する図である。この負荷管理装置は、ＣＡ（Channel Adaptor）１３ａ〜１３ｆが装着されるスロット１０ａ〜１０ｄ、１１ａ〜１１ｄと、ＣＭ（Centralized Module）１４，１５と、ＲＡＩＤを構成するハードディスク装置１６ａ〜１６ｚ，１７ａ〜１７ｚを備える。
【００２５】
ＣＡ１３ａ〜１３ｆは、ホストコンピュータとの間でデータの送受信をおこなうポート１２ａ〜１２ｆを備え、データの送受信におけるインターフェース制御をおこなうＰＣＩ（Peripheral Component Interconnect）デバイスである。
【００２６】
このＣＡ１３ａ〜１３ｆは、負荷管理装置に電源を入れた際、あるいは、負荷管理装置の運転中に、必要に応じてあらかじめ設置されたスロット１０ａ〜１０ｄ、１１ａ〜１１ｄに活性増設され、また、増設されたＣＡ１３ａ〜１３ｆは、スロット１０ａ〜１０ｄ、１１ａ〜１１ｄから活性減設される。
【００２７】
ホストコンピュータからハードディスク装置１６ａ〜１６ｚ，１７ａ〜１７ｚに対するデータの入出力要求を受け付けた場合には、ＣＡ１３ａ〜１３ｆは、ＣＭ１４，１５に備えられたいずれかのＣＰＵ１４ａ、１４ｂ、１５ａ、１５ｂに対して割り込み処理を実行させる。
【００２８】
ＣＭ１４，１５は、ハードディスク装置１６ａ〜１６ｚ，１７ａ〜１７ｚに対するデータの入出力処理を実行するモジュールである。各ＣＭ１４，１５は、それぞれ複数のＣＰＵ１４ａ，１４ｂ，１５ａ，１５ｂを備えている。
【００２９】
この負荷管理処理では、データの入出力処理をおこなう場合に、スロット１０ａ〜１０ｄ、１１ａ〜１１ｄに装着されたＣＡ１３ａ〜１３ｆの組み合わせに応じて、各ＣＡ１３ａ〜１３ｆからの割り込みを担当するＣＰＵ１４ａ，１４ｂ，１５ａ，１５ｂを選択する処理をおこなう。
【００３０】
たとえば、図１に示すように、ＣＭ１４のスロット１０ａ，１０ｃ，１０ｄにＣＡ１３ａ、１３ｂ、１３ｃが装着されている場合には（スロット１０ｂはＣＡが未装着）、ＣＰＵ１４ａにＣＡ１３ａからの割り込みを担当させ、ＣＰＵ１４ｂにＣＡ１３ｂ，１３ｃからの割り込みを担当させる。
【００３１】
また、ＣＭ１５のスロット１１ａ，１１ｂ，１１ｄにＣＡ１３ｄ、１３ｅ、１３ｆが装着されている場合には（スロット１１ｃはＣＡが未装着）、ＣＰＵ１５ａにＣＡ１３ｄからの割り込みを担当させ、ＣＰＵ１５ｂにＣＡ１３ｅ，１３ｆからの割り込みを担当させる。
【００３２】
このように、スロット１０ａ〜１０ｄ，１１ａ〜１１ｄに装着されたＣＡ１３ａ〜１３ｆの組み合わせに応じて、割り込み要求をおこなうＣＰＵ１４ａ，１４ｂ，１５ａ，１５ｂを選択することにより、ポート１２ａ〜１２ｆを備えたＣＡ１３ａ〜１３ｆの数が増減する場合でも、ＣＰＵ１４ａ，１４ｂ，１５ａ，１５ｂの負荷の分散を効率的におこなうことができる。
【００３３】
つぎに、本実施例に係る負荷管理装置の機能構成について説明する。図２は、本実施例に係る負荷管理装置の機能構成を示す図である。
【００３４】
なお、図１には、２つのＣＭ１４，１５が示されているが、各ＣＭ１４，１５の機能は同等であるので、図２では、そのうちの１つのＣＭの機能構成を示すこととする。また、図２では、ハードディスク装置１６ａ〜１６ｚ，１７ａ〜１７ｚの図示を省略している。
【００３５】
図２に示すように、この負荷管理装置は、ポート２１ａ〜２１ｄを有するＣＡ２２ａ〜２２ｄが装着されるスロット２０ａ〜２０ｄと、ＣＰＵ２３により機能が実現されるＣＡ通信部２６、Ｉ／Ｏ制御部２７、カーネル部２８、システム制御部２９と、ＣＰＵ２４により機能が実現されるＣＡ通信部３０、Ｉ／Ｏ制御部３１、カーネル部３２と、記憶部２５とを有する。
【００３６】
スロット２０ａ〜２０ｄ、および、ＣＡ２２ａ〜２２ｄは、図１で説明したスロット１０ａ〜１０ｄ、１１ａ〜１１ｄ、およびＣＡ１３ａ〜１３ｆと同様のものである。ＣＡ通信部２６は、スロット２０ａ〜２０ｄに装着されたＣＡ２２ａ〜２２ｄとの間でデータ通信をおこなう通信部である。
【００３７】
また、このＣＡ通信部２６は、ＣＡ２２ａ〜２２ｄがスロット２０ａ〜２０ｄに活性増設された場合、あるいは、スロット２０ａ〜２０ｄから活性減設された場合に、それを検知して、スロット２０ａ〜２０ｄに装着されているＣＡ２２ａ〜２２ｄからの割り込みを担当するＣＰＵ２３，２４を決定し、その情報を記憶部２５に記憶させる。
【００３８】
具体的には、ＣＡ通信部２６は、スロット２０ａ〜２０ｄに装着されたＣＡ２２ａ〜２２ｄの組み合わせに応じて、各ＣＡ２２ａ〜２２ｄから要求された割り込み処理を担当するＣＰＵ２３，２４を決定する。
【００３９】
図３は、４つのスロット２０ａ〜２０ｄにＣＡ２２ａ〜２２ｄが装着される装着パターンを示す図である。図３において丸印は、ＣＡ２２ａ〜２２ｄが装着されたスロットを示している。このように、スロット２０ａ〜２０ｄが４つある場合には、１６通りの装着パターンがあることになる。
【００４０】
図４−１から図４−３は、ＣＡ２２ａ〜２２ｄの装着パターンに応じて決定される割り込み担当ＣＰＵ２３，２４の一例について説明する図（１）、（２）および（３）である。
【００４１】
図４−１に示すように、この例では、図３に示した装着パターンが５あるいは１０である場合には、ＣＰＵ２３はスロット２０ａ，２０ｂに装着されたＣＡ２２ａ，２２ｂからの割り込み処理に、ＣＰＵ２４はスロット２０ｃ，２０ｄに装着されたＣＡ２２ｃ，２２ｄからの割り込み処理に割り当てられる。
【００４２】
また、図４−２に示すように、図３に示した装着パターンが２，８，１１あるいは１４である場合には、ＣＰＵ２３はスロット２０ａ，２０ｃに装着されたＣＡ２２ａ，２２ｃからの割り込み処理に、ＣＰＵ２４はスロット２０ｂ，２０ｄに装着されたＣＡ２２ｂ，２２ｄからの割り込み処理に割り当てられる。
【００４３】
また、図４−３に示すように、図３に示した装着パターンが上記装着パターン以外である場合には、ＣＰＵ２３はスロット２０ｂ，２０ｄに装着されたＣＡ２２ｂ，２２ｄからの割り込み処理に、ＣＰＵ２４はスロット２０ａ，２０ｃに装着されたＣＡ２２ａ，２２ｃからの割り込み処理に割り当てられる。
【００４４】
ここで、後に説明するように、ＣＰＵ２３は、システム制御部２９が負荷管理装置の制御をおこなう分、ＣＰＵ２４に比べて負荷が大きくなる可能性が高い。そのため、図４−２および図４−３に示したように、各装着パターンにおいては、ＣＰＵ２４が割り込みを担当するＣＡ２２ａ〜２２ｄの数が、ＣＰＵ２３が割り込みを担当するＣＡ２２ａ〜２２ｄの数以上になるように設定される。
【００４５】
また、図４−１〜図４−３に示したようなＣＰＵ２３，２４の割り当ては、ＣＡ通信部２６が、ワイヤードロジックにより実行することとしてもよいし、各ＣＡ２２ａ〜２２ｄからの割り込みを担当するＣＰＵ２３，２４の情報を、スロット２０ａ〜２０ｄに装着されたＣＡ２２ａ〜２２ｄの組み合わせに対応付けてあらかじめ記憶部２５に記憶させておき、ＣＡ通信部２６が、その情報を参照することにより実行することとしてもよい。
【００４６】
さらに、ＣＡ通信部２６は、各ＣＡ２２ａ〜２２ｄからの割り込みを担当するＣＰＵ２３，２４がＣＰＵ２３に決定された場合に、各ＣＡ２２ａ〜２２ｄに一意に割り当てられている割り込みベクタに割り込みハンドラを対応付けたＣＡ管理テーブル２５ａを生成し、記憶部２５に記憶する。
【００４７】
図５は、記憶部２５に記憶されるＣＡ管理テーブル２５ａの一例を示す図である。図５には、図３の装着パターンが「１５」である場合、すなわち、４つのＣＡ２２ａ〜２２ｄがスロット２０ａ〜２０ｄに装着される場合の例を示している。
【００４８】
図５に示すように、このＣＡ管理テーブル２５ａには、各ＣＰＵ２３，２４に対応付けられた割り込みベクタと、割り込みハンドラとが記憶されている。
【００４９】
ここで、割り込みハンドラ「ca_int_handler_1」は、ＣＡ２２ａに対応する割り込みハンドラであり、割り込みハンドラ「ca_int_handler_2」は、ＣＡ２２ｂに対応する割り込みハンドラであり、割り込みハンドラ「ca_int_handler_3」は、ＣＡ２２ｃに対応する割り込みハンドラであり、割り込みハンドラ「ca_int_handler_4」は、ＣＡ２２ｄに対応する割り込みハンドラである。
【００５０】
図５の例では、割り込みベクタ「０」と「２」とにＣＰＵ２４に対する割り込みハンドラが記憶され、割り込みベクタ「１」と「３」とにＣＰＵ２３に対する割り込みハンドラが記憶されており、ＣＡ２２ｂ，２２ｄによる割り込みをＣＰＵ２３が担当し、ＣＡ２２ａ，２２ｃによる割り込みをＣＰＵ２４が担当するように設定されている。
【００５１】
また、ＣＡ通信部２６は、このＣＡ管理テーブル２５ａを参照し、ＣＰＵ２３で処理される割り込みベクタおよび割り込みハンドラを、割り込み処理を発生させるＣＡ２２ａ〜２２ｄと対応付けてカーネル部２８に登録する処理をおこなう。
【００５２】
Ｉ／Ｏ制御部２７は、他のＣＭとの間、あるいは、ハードディスク装置との間におけるデータの入出力を制御する制御部である。このＩ／Ｏ制御部２７は、ＣＭ間通信部２７ａおよびディスク通信部２７ｂを有する。
【００５３】
ＣＭ間通信部２７ａは、他のＣＭとの間で制御データなどの送受信をおこなう通信部である。ディスク通信部２７ｂは、ＣＡ２２ａ〜２２ｄに接続されたホストコンピュータから記憶要求を受け付けたデータをハードディスク装置に転送する処理や、ホストコンピュータから読み出し要求を受け付けたデータをハードディスク装置から読み出す処理などをおこなう。
【００５４】
カーネル部２８は、ＣＰＵ２３により処理される割り込みベクタおよび割り込みハンドラの登録要求をＣＡ通信部２６から受け付け、受け付けた割り込みベクタおよび割り込みハンドラを、割り込み処理を発生させるＣＡ２２ａ〜２２ｄと対応付けて登録する。
【００５５】
そして、あるＣＡ２２ａ〜２２ｄからの割り込み処理が発生し、そのＣＡ２２ａ〜２２ｄの割り込み処理を担当するＣＰＵがＣＰＵ２３である場合には、カーネル部２８は、割り込みハンドラを実行する。
【００５６】
システム制御部２９は、負荷管理装置の電源制御やシステム監視などの処理をおこなう制御部である。
【００５７】
また、ＣＡ通信部３０は、スロット２０ａ〜２０ｄに装着されたＣＡ２２ａ〜２２ｄとの間でデータ通信をおこなう通信部である。
【００５８】
さらに、このＣＡ通信部３０は、ＣＡ管理テーブル２５ａを参照し、ＣＰＵ２４で処理される割り込みベクタおよび割り込みハンドラを、割り込み処理を発生させるＣＡ２２ａ〜２２ｄと対応付けてカーネル部３２に登録する処理をおこなう。
【００５９】
Ｉ／Ｏ制御部３１は、Ｉ／Ｏ制御部２７と同様に、他のＣＭとの間、あるいは、ハードディスク装置との間におけるデータの入出力を制御する制御部である。このＩ／Ｏ制御部３１は、ＣＭ間通信部３１ａおよびディスク通信部３１ｂを有する。
【００６０】
ＣＭ間通信部３１ａは、他のＣＭとの間で制御データなどの送受信をおこなう通信部である。ディスク通信部３１ｂは、ＣＡ２２ａ〜２２ｄに接続されたホストコンピュータから記憶要求を受け付けたデータをハードディスク装置に転送する処理や、ホストコンピュータから読み出し要求を受け付けたデータをハードディスク装置から読み出す処理などをおこなう。
【００６１】
カーネル部３２は、ＣＰＵ２４により処理される割り込みベクタおよび割り込みハンドラの登録要求をＣＡ通信部３０から受け付け、受け付けた割り込みベクタおよび割り込みハンドラを、割り込み処理を発生させるＣＡ２２ａ〜２２ｄと対応付けて登録する。
【００６２】
そして、あるＣＡ２２ａ〜２２ｄからの割り込み処理が発生し、そのＣＡ２２ａ〜２２ｄの割り込みを担当するＣＰＵがＣＰＵ２４である場合には、カーネル部３２は、割り込みハンドラを実行する。
【００６３】
記憶部２５は、メモリなどの記憶デバイスであり、ＣＰＵ２３，２４により読み出される種々のデータを記憶する。具体的には、記憶部２５は、図５に示したＣＡ管理テーブル２５ａなどの情報を記憶する。
【００６４】
つぎに、本実施例に係る割り込み担当ＣＰＵの決定処理の処理手順について説明する。図６は、本実施例に係る割り込み担当ＣＰＵの決定処理の処理手順を示すフローチャートである。
【００６５】
図６に示すように、まず、負荷管理装置のＣＡ通信部２６は、ＣＡ２２ａ〜２２ｄの増減設がなされた場合に、スロット２０ａ〜２０ｄに装着されているＣＡ２２ａ〜２２ｄを検出する（ステップＳ１０１）。
【００６６】
そして、ＣＡ通信部２６は、図４−１〜図４−３で説明したように、ＣＡ２２ａ〜２２ｄの装着パターン１〜１６に応じて、各ＣＡ２２ａ〜２２ｄからの割り込みを担当するＣＰＵ２３，２４を各ＣＡ２２ａ〜２２ｄに割り当てる（ステップＳ１０２）。
【００６７】
続いて、ＣＡ通信部２６は、ＣＡ２２ａ〜２２ｄに対応する各割り込みベクタに割り込みハンドラを対応付けた、図５に示したようなＣＡ管理テーブル２５ａを生成する（ステップＳ１０３）。
【００６８】
そして、ＣＡ通信部２６およびＣＡ通信部３０は、それぞれのＣＰＵ２３，２４で処理される割り込みベクタ、割り込みハンドラ、および、割り込み処理を発生させるＣＡ２２ａ〜２２ｄの組をカーネル部２８，３２にそれぞれ登録し（ステップＳ１０４）、この割り込み担当ＣＰＵの決定処理を終了する。
【００６９】
つぎに、本実施例に係る割り込み処理の処理手順について説明する。図７は、本実施例に係る割り込み処理の処理手順を示すフローチャートである。
【００７０】
図７に示すように、まず、ＣＡ２２ａ〜２２ｄによりデータが送信されるなどして割り込み要求が発生した場合には、負荷管理装置のカーネル部２８，３２は、その割り込み要求を受信する（ステップＳ２０１）。
【００７１】
そして、カーネル部２８，３２は、当該割り込みの割り込みベクタと、その割り込みベクタに対応する割り込みハンドラとが登録されているか否かを調べる（ステップＳ２０２）。
【００７２】
いずれか一方のカーネル部２８，３２に、割り込みベクタと、その割り込みベクタに対応する割り込みハンドラとが登録されている場合には（ステップＳ２０２，Ｙｅｓ）、割り込みハンドラが登録されているカーネル部２８，３２があるＣＰＵ２３，２４側のカーネル部２８，３２が、割り込みハンドラを実行し（ステップＳ２０３）、この割り込み処理を終了する。
【００７３】
当該割り込みの割り込みベクタ、あるいは、その割り込みベクタに対応する割り込みハンドラがカーネル部２８，３２に登録されていない場合には（ステップＳ２０２，Ｎｏ）、カーネル部２８，３２は、エラー信号を出力するなどのエラー処理をおこない（ステップＳ２０４）、この割り込み処理を終了する。
【００７４】
上述してきたように、本実施例では、ＣＡ通信部２６が、ポート２１ａ〜２１ｄを備えた複数のＣＡ２２ａ〜２２ｄの稼動状況を検出し、検出した稼動状況に応じて各ＣＡ２２ａ〜２２ｄが受信したデータに対するデータ処理をおこなうＣＰＵ２３，２４を選択することとしたので、ＣＡ２２ａ〜２２ｄの数が増減する場合でも、ＣＰＵ２３，２４の負荷の分散を効率的におこなうことができる。
【００７５】
また、本実施例では、ＣＡ２２ａ〜２２ｄが着脱可能である場合に、ＣＡ通信部２６が、ＣＡ２２ａ〜２２ｄの稼動状況を、当該ＣＡ２２ａ〜２２ｄがスロット２０ａ〜２０ｄに装着されているか否かを判定することにより検出することとしたので、ＣＡ２２ａ〜２２ｄが着脱されたことによりＣＡ２２ａ〜２２ｄの数が増減する場合でも、ＣＰＵ２３，２４の負荷の分散を効率的におこなうことができる。
【００７６】
また、本実施例では、ＣＡ通信部２６が、ＣＡ２２ａ〜２２ｄが装着されたスロット２０ａ〜２０ｄの組み合わせを検出し、検出したスロット２０ａ〜２０ｄの組み合わせの情報に基づいて、各ＣＡ２２ａ〜２２ｄが受信したデータに対するデータ処理をおこなうＣＰＵ２３，２４を選択することとしたので、ＣＡ２２ａ〜２２ｄが装着されたスロット２０ａ〜２０ｄの組み合わせに応じてＣＰＵ２３，２４を選択することにより、負荷の管理を適切におこなうことができるようＣＰＵ２３，２４を選択することができる。
【００７７】
また、本実施例では、データの入出力処理を制御するＣＰＵ２４と、データの入出力処理の制御に加えて負荷管理装置の制御処理をおこなうＣＰＵ２３とがある場合に、ＣＰＵ２４によりデータ処理が実行されるデータを受信するＣＡ２２ａ〜２２ｄが装着されたスロット２０ａ〜２０ｄの数が、ＣＰＵ２３によりデータ処理が実行されるデータを受信するＣＡ２２ａ〜２２ｄが装着されたスロット２０ａ〜２０ｄの数以上となるように、各ＣＡ２２ａ〜２２ｄが受信したデータに対するデータ処理をおこなうＣＰＵ２３，２４を選択することとしたので、ＣＰＵ２３，２４の負荷の分散を適切におこなうことができる。
【００７８】
また、本実施例では、ＣＰＵ２３，２４がおこなうデータ処理は、割り込み処理であることとしたので、ＣＰＵ２３，２４に対して割り込み処理の実行が要求された場合に、ＣＰＵ２３，２４の負荷の分散を効率的におこなうことができる。
【００７９】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【００８０】
たとえば、本実施例では、ＣＡ２２ａ〜２２ｄの装着あるいは取り外しがなされた場合にそれを検出し、ＣＡ２２ａ〜２２ｄの装着パターンに応じて各ＣＡ２２ａ〜２２ｄからの割り込みを担当するＣＰＵ２３，２４を決定することとしたが、ＣＡ２２ａ〜２２ｄが負荷管理装置に固定的に装着されている場合に、各ＣＡ２２ａ〜２２ｄが稼動中か停止中かを検出し、稼動中である各ＣＡ２２ａ〜２２ｄの組み合わせに基づいて、割り込みを担当するＣＰＵ２３，２４を決定することとしてもよい。
【００８１】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。
【００８２】
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８３】
また、図示した負荷管理装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、負荷管理装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００８４】
さらに、負荷管理装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８５】
（付記１）通信部が他の装置から受信したデータのデータ処理をおこなう複数のプロセッサに対する負荷を管理する負荷管理装置であって、
前記複数の通信部の稼動状況を検出する検出手段と、
前記検出手段により検出された稼動状況に応じて各通信部が受信したデータに対するデータ処理をおこなうプロセッサを選択する選択手段と、
を備えたことを特徴とする負荷管理装置。
【００８６】
（付記２）前記検出手段は、前記通信部が自装置が有するスロットに対して着脱可能である場合に、通信部の稼動状況を、当該通信部が前記スロットに装着されているか否かを判定することにより検出することを特徴とする付記１に記載の負荷管理装置。
【００８７】
（付記３）前記検出手段は、前記通信部が装着されたスロットの組み合わせを検出し、前記選択手段は、前記検出手段により検出されたスロットの組み合わせの情報に基づいて、前記データ処理をおこなうプロセッサを選択することを特徴とする付記２に記載の負荷管理装置。
【００８８】
（付記４）前記選択手段は、通信部が受信したデータのデータ処理をおこなう第１のプロセッサと、通信部が受信したデータのデータ処理に加えて自装置の制御処理をおこなう第２のプロセッサとがある場合に、第１のプロセッサによりデータ処理が実行されるデータを受信する通信部が装着されたスロット数が、第２のプロセッサによりデータ処理が実行されるデータを受信する通信部が装着されたスロット数以上となるように、前記データ処理をおこなうプロセッサを選択することを特徴とする付記２または３に記載の負荷管理装置。
【００８９】
（付記５）前記プロセッサがおこなうデータ処理は、割り込み処理であることを特徴とする付記１〜４のいずれか１つに記載の負荷管理装置。
【００９０】
（付記６）通信部が他の装置から受信したデータのデータ処理をおこなう複数のプロセッサに対する負荷を管理する負荷管理方法であって、
前記複数の通信部の稼動状況を検出する検出工程と、
前記検出工程により検出された稼動状況に応じて各通信部が受信したデータに対するデータ処理をおこなうプロセッサを選択する選択工程と、
を含んだことを特徴とする負荷管理方法。
【産業上の利用可能性】
【００９１】
以上のように、本発明に係る負荷管理装置および負荷管理方法は、通信部の数が増減する場合でも、ＣＰＵの負荷の分散を効率的におこなうことができる負荷分散システムに有用である。
【図面の簡単な説明】
【００９２】
【図１】本発明に係る負荷管理処理の概念を説明する図である。
【図２】本実施例に係る負荷管理装置の機能構成を示す図である。
【図３】４つのスロット２０ａ〜２０ｄにＣＡ２２ａ〜２２ｄが装着される装着パターンを示す図である。
【図４−１】ＣＡ２２ａ〜２２ｄの装着パターンに応じて決定される割り込み担当ＣＰＵ２３，２４の一例について説明する図（１）である。
【図４−２】ＣＡ２２ａ〜２２ｄの装着パターンに応じて決定される割り込み担当ＣＰＵ２３，２４の一例について説明する図（２）である。
【図４−３】ＣＡ２２ａ〜２２ｄの装着パターンに応じて決定される割り込み担当ＣＰＵ２３，２４の一例について説明する図（３）である。
【図５】記憶部２５に記憶されるＣＡ管理テーブル２５ａの一例を示す図である。
【図６】本実施例に係る割り込み担当ＣＰＵの決定処理の処理手順を示すフローチャートである。
【図７】本実施例に係る割り込み処理の処理手順を示すフローチャートである。
【符号の説明】
【００９３】
１０ａ〜１０ｄ，１１ａ〜１１ｄ，２０ａ〜２０ｄ    スロット
１２ａ〜１２ｆ，２１ａ〜２１ｄ    ポート
１３ａ〜１３ｆ，２２ａ〜２２ｄ    ＣＡ
１４，１５    ＣＭ
１４ａ，１４ｂ，１５ａ，１５ｂ，２３，２４    ＣＰＵ
１６ａ〜１６ｚ，１７ａ〜１７ｚ    ハードディスク装置
２５    記憶部
２５ａ    ＣＡ管理テーブル
２６，３０    ＣＡ通信部
２７，３１    Ｉ／Ｏ制御部
２７ａ，３１ａ    ＣＭ間通信部
２７ｂ，３１ｂ    ディスク通信部
２８，３２    カーネル部
２９    システム制御部
【図１】
0004402624.tif 000002
【図２】
0004402624.tif 000003
【図３】
0004402624.tif 000004
【図４−１】
0004402624.tif 000005
【図４−２】
0004402624.tif 000006
【図４−３】
0004402624.tif 000007
【図５】
0004402624.tif 000008
【図６】
0004402624.tif 000009
【図７】
0004402624.tif 000010