(57)【要約】【課題】分散処理の有効・無効の繰り返しによるＣＰＵリソースの浪費を抑制可能な処理分散方法および電子機器を提供する。【解決手段】現用系プロセッサ５と待機系プロセッサ７を有する電子機器に用いる処理分散方法であって、現用系プロセッサ５の使用率を監視し、過去一定時間の現用系プロセッサ５の使用率の平均値が、予め設定した分散開始用閾値を所定時間上回り続けたとき、現用系プロセッサ５の処理の一部を待機系プロセッサ７に実行させる分散処理を有効にし、当該分散処理の有効化の後、過去一定時間の現用系プロセッサ５と待機系プロセッサ７の使用率の合計の平均値が、予め設定した分散終了用閾値を所定時間下回り続けたとき、分散処理を無効にする。【選択図】図１
2014010755.tif 000002
【特許請求の範囲】
【請求項１】
現用系プロセッサと待機系プロセッサを有する電子機器に用いる処理分散方法であって、
前記現用系プロセッサの使用率を監視し、
過去一定時間の前記現用系プロセッサの使用率の平均値が、予め設定した分散開始用閾値を所定時間上回り続けたとき、前記現用系プロセッサの処理の一部を前記待機系プロセッサに実行させる分散処理を有効にし、
当該分散処理の有効化の後、過去一定時間の前記現用系プロセッサと前記待機系プロセッサの使用率の合計の平均値が、予め設定した分散終了用閾値を所定時間下回り続けたとき、前記分散処理を無効にする
ことを特徴とする処理分散方法。
【請求項２】
前記現用系プロセッサの使用率の上昇率を監視し、
当該上昇率が予め設定した上昇率用閾値を上回ったとき、前記現用系プロセッサの処理の一部を前記待機系プロセッサに実行させる分散処理を有効にし、
当該分散処理の有効化の後、一定時間経過した後に、過去一定時間の前記現用系プロセッサと前記待機系プロセッサの使用率の合計の平均値が、予め設定した前記分散終了用閾値を所定時間下回り続けたとき、前記分散処理を無効にする
請求項１記載の処理分散方法。
【請求項３】
現用系プロセッサと待機系プロセッサを有する電子機器であって、
前記現用系プロセッサの使用率を監視する監視部と、
過去一定時間の前記現用系プロセッサの使用率の平均値が、予め設定した分散開始用閾値を所定時間上回り続けたとき、前記現用系プロセッサの処理の一部を前記待機系プロセッサに実行させる分散処理を有効にし、
当該分散処理の有効化の後、過去一定時間の前記現用系プロセッサと前記待機系プロセッサの使用率の合計の平均値が、予め設定した分散終了用閾値を所定時間下回り続けたとき、前記分散処理を無効にする条件判定部と、
を備えたことを特徴とする電子機器。
【請求項４】
前記監視部は、前記現用系プロセッサの使用率の上昇率を監視するよう構成され、
前記条件判定部は、
前記現用系プロセッサの使用率の上昇率が予め設定した上昇率用閾値を上回ったとき、前記現用系プロセッサの処理の一部を前記待機系プロセッサに実行させる分散処理を有効にし、
当該分散処理の有効化の後、一定時間経過した後に、過去一定時間の前記現用系プロセッサと前記待機系プロセッサの使用率の合計の平均値が、予め設定した前記分散終了用閾値を所定時間下回り続けたとき、前記分散処理を無効にするよう構成される
請求項３記載の電子機器。
【請求項５】
前記現用系プロセッサを備える現用系管理カードと、前記待機系プロセッサを備える待機系管理カードと、前記現用系管理カードと前記待機系管理カードとを接続するバックプレーンと、を備えるシャーシ型スイッチからなる
請求項３または４記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現用系プロセッサと待機系プロセッサで冗長化した電子機器に用いる処理分散方法および電子機器に関するものである。
【背景技術】
【０００２】
従来より、現用系プロセッサ（現用系ＣＰＵという）の使用率（ＣＰＵ使用率という）が予め設定した閾値を超えた場合に、待機系プロセッサ（待機系ＣＰＵという）に処理を分散する処理分散方法が知られている（例えば、特許文献１参照）。
【０００３】
この処理分散を行う電子機器では、通常時の運用の処理に用いる現用系ＣＰＵと、障害時の運用の処理に用いる待機系ＣＰＵと、現用系ＣＰＵのＣＰＵ使用率を監視する監視部と、ＣＰＵ使用率に応じて分散処理の有効・無効を判定する判定部（サービス制御部）と、分散処理有効時におけるサービス（命令）と処理をするＣＰＵの対応表である分散テーブル（サービス制御テーブル）と、が備えられている。
【０００４】
このような電子機器では、分散処理有効時においてサービスが要求された場合、分散テーブルを参照して、現用系ＣＰＵのみで処理すべきか、現用系ＣＰＵと待機系ＣＰＵで処理すべきか、あるいは待機系ＣＰＵのみで処理すべきかを判断し、処理を現用系ＣＰＵと待機系ＣＰＵに分散するよう負荷分散が行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−１２９３６４号公報
【特許文献２】特開平１０−２９３７５２号公報
【特許文献３】特開２００９−２９０２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の処理分散方法では、ＣＰＵ使用率が閾値を上回った瞬間に、分散処理を有効とし分散テーブルを参照して処理の分散を行うため、ＣＰＵ使用率が閾値を上回ったり下回ったりすることを繰り返すと、分散処理の有効・無効を繰り返すことになり、現用系ＣＰＵで処理するか待機系ＣＰＵで処理するかの判定の処理が多発してしまう。そのため、ＣＰＵ内でこれらの処理を実行させる場合はＣＰＵリソースの浪費につながってしまうという問題がある。
【０００７】
そこで、本発明の目的は、上記課題を解決し、分散処理の有効・無効の繰り返しによるＣＰＵリソースの浪費を抑制可能な処理分散方法および電子機器を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は上記目的を達成するために創案されたものであり、現用系プロセッサと待機系プロセッサを有する電子機器に用いる処理分散方法であって、前記現用系プロセッサの使用率を監視し、過去一定時間の前記現用系プロセッサの使用率の平均値が、予め設定した分散開始用閾値を所定時間上回り続けたとき、前記現用系プロセッサの処理の一部を前記待機系プロセッサに実行させる分散処理を有効にし、当該分散処理の有効化の後、過去一定時間の前記現用系プロセッサと前記待機系プロセッサの使用率の合計の平均値が、予め設定した分散終了用閾値を所定時間下回り続けたとき、前記分散処理を無効にする処理分散方法である。
【０００９】
前記現用系プロセッサの使用率の上昇率を監視し、当該上昇率が予め設定した上昇率用閾値を上回ったとき、前記現用系プロセッサの処理の一部を前記待機系プロセッサに実行させる分散処理を有効にし、当該分散処理の有効化の後、一定時間経過した後に、過去一定時間の前記現用系プロセッサと前記待機系プロセッサの使用率の合計の平均値が、予め設定した前記分散終了用閾値を所定時間下回り続けたとき、前記分散処理を無効にしてもよい。
【００１０】
また、本発明は、現用系プロセッサと待機系プロセッサを有する電子機器であって、前記現用系プロセッサの使用率を監視する監視部と、過去一定時間の前記現用系プロセッサの使用率の平均値が、予め設定した分散開始用閾値を所定時間上回り続けたとき、前記現用系プロセッサの処理の一部を前記待機系プロセッサに実行させる分散処理を有効にし、当該分散処理の有効化の後、過去一定時間の前記現用系プロセッサと前記待機系プロセッサの使用率の合計の平均値が、予め設定した分散終了用閾値を所定時間下回り続けたとき、前記分散処理を無効にする条件判定部と、を備えた電子機器である。
【００１１】
前記監視部は、前記現用系プロセッサの使用率の上昇率を監視するよう構成され、前記条件判定部は、前記現用系プロセッサの使用率の上昇率が予め設定した上昇率用閾値を上回ったとき、前記現用系プロセッサの処理の一部を前記待機系プロセッサに実行させる分散処理を有効にし、当該分散処理の有効化の後、一定時間経過した後に、過去一定時間の前記現用系プロセッサと前記待機系プロセッサの使用率の合計の平均値が、予め設定した前記分散終了用閾値を所定時間下回り続けたとき、前記分散処理を無効にするよう構成されてもよい。
【００１２】
前記現用系プロセッサを備える現用系管理カードと、前記待機系プロセッサを備える待機系管理カードと、前記現用系管理カードと前記待機系管理カードとを接続するバックプレーンと、を備えるシャーシ型スイッチからなってもよい。
【発明の効果】
【００１３】
本発明によれば、分散処理の有効・無効の繰り返しによるＣＰＵリソースの浪費を抑制可能な処理分散方法および電子機器を提供できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態に係る電子機器としてのシャーシ型スイッチの概略構成図である。
【図２】本発明の一実施の形態に係る処理分散方法のフロー図である。
【図３】図２におけるステップＳ５の分散処理のフロー図である。
【図４】本発明の一実施の形態に係る処理分散方法を適用した際の現用系ＣＰＵと待機系ＣＰＵのＣＰＵ使用率の挙動の一例を示すグラフ図である。
【図５】本発明の一実施の形態に係る処理分散方法を適用した際の現用系ＣＰＵと待機系ＣＰＵのＣＰＵ使用率の挙動の一例を示すグラフ図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を添付図面にしたがって説明する。
【００１６】
図１は、本実施の形態に係る電子機器としてのシャーシ型スイッチの概略構成図である。
【００１７】
本実施の形態では、一例として本発明の電子機器がシャーシ型スイッチである場合を説明するが、本発明はこれに限らず、現用系プロセッサ（現用系ＣＰＵという）と待機系プロセッサ（待機系ＣＰＵという）で冗長化した冗長化システムを有するものであればどのような電子機器にも適用可能である。
【００１８】
図１に示すように、シャーシ型スイッチ１は、現用系管理カード２と待機系管理カード３がバックプレーン４により接続された構造となっている。シャーシ型スイッチ１は、この他に、複数のラインカードやクロスバースイッチ等を備えているが、ここでは説明を省略する。
【００１９】
現用系管理カード２には、現用系ＣＰＵ５と現用系メモリ６とが搭載されている。現用系ＣＰＵ５は、処理実行部５ａと、監視部５ｂと、条件判定部５ｃと、分散テーブル５ｄとから構成されている。
【００２０】
待機系管理カード３は、現用系管理カード２の障害時のバックアップ用に存在するため、現用系管理カード２と同様の構成となっている。つまり、待機系管理カード３には、待機系ＣＰＵ７と待機系メモリ８とが搭載されており、待機系ＣＰＵ７は、処理実行部７ａと、監視部７ｂと、条件判定部７ｃと、分散テーブル７ｄとから構成されている。
【００２１】
現用系メモリ６は、現用系ＣＰＵ５で実行する命令やその実行結果を保存する部位であり、待機系メモリ８は、待機系ＣＰＵ７で実行する命令やその実行結果を保存する部位である。処理実行部５ａ，７ａは、様々な命令を実行する部位であり、監視部５ｂ，７ｂは、ＣＰＵ５，７の使用率（ＣＰＵ使用率という）とＣＰＵ使用率の上昇率（ＣＰＵ上昇率という）を監視する部位である。
【００２２】
条件判定部５ｃは、ＣＰＵ使用率と、ＣＰＵ上昇率と、後述する条件とを基に、分散処理の開始・終了（有効・無効）を判定する部位である。条件判定部５ｃの判定条件の詳細については後述する。
【００２３】
分散テーブル５ｄは、処理実行部５ａで実行する様々な命令と、分散処理有効時に待機系メモリ８に当該命令を送信するかどうか（つまり待機系ＣＰＵ７に処理を分散するかどうか）を対応づけたテーブルである。
【００２４】
待機系管理カード３における条件判定部７ｃ，分散テーブル７ｄは、現用系管理カード２の条件判定部５ｃ，分散テーブル５ｄと同様のものであるが、現用系管理カード２の正常動作時には、待機系管理カード３は処理を分散される側となるので分散テーブル７ｄや条件判定部７ｃは使用されず、処理実行部７ａと監視部７ｂと待機系メモリ８のみが使用されることになる。
【００２５】
さて、本実施の形態に係る電子機器としてのシャーシ型スイッチ１では、条件判定部５ｃは、過去一定時間（ａ秒とする）の現用系ＣＰＵ５のＣＰＵ使用率の平均値が、予め設定した分散開始用閾値（単位は％）を所定時間（ｂ秒とする）上回り続けたという分散開始第１条件を満たしたとき、現用系ＣＰＵ５の処理の一部を待機系ＣＰＵ７に実行させる分散処理を有効にするよう構成される。
【００２６】
また、条件判定部５ｃは、当該分散処理の有効化の後（分散開始第１条件により分散処理を有効とした後）、過去一定時間（ａ秒）の現用系ＣＰＵ５と待機系ＣＰＵ７のＣＰＵ使用率の合計の平均値が、予め設定した分散終了用閾値（単位は％）を所定時間（ｂ秒）下回り続けたという分散終了第１条件を満たしたとき、分散処理を無効にするよう構成される。
【００２７】
本実施の形態では、分散開始用閾値と分散終了用閾値とを同じ値に設定したが、分散開始用閾値と分散終了用閾値とを異なる値に設定してもよい。例えば、分散開始用閾値＞分散終了用閾値とすれば、分散処理を有効とする条件が厳しくなるため分散処理が有効になりにくいが、１度分散処理が有効となると、分散終了用閾値が低いため長い間分散処理が続くことになる。逆に、分散開始用閾値＜分散終了用閾値とすれば、分散処理を有効とする条件が緩和され早期に分散処理が有効になるが、分散終了用閾値が高いため分散処理は早く無効となる（この場合、分散処理が有効後すぐに無効となることを抑制するため、分散処理が有効となってから所定時間は分散処理を無効にしない等、なんらかの対処が必要となる）。このように、分散開始用閾値と分散終了用閾値を適宜な値に設定することにより、運用形態に適した分散処理の運用が可能である。
【００２８】
上述の分散開始第１条件では、現用系ＣＰＵ５のＣＰＵ使用率が短時間に急激に上昇した場合に瞬時に分散処理を有効にすることができないので、本実施の形態では、さらに、現用系ＣＰＵ５の過去一定時間（ｃ秒とする）でのＣＰＵ上昇率が予め設定した上昇率用閾値（単位は％／秒）を上回ったという分散開始第２条件を満たすとき、分散処理を有効にするよう条件判定部５ｃを構成した。
【００２９】
また、条件判定部５ｃは、当該分散処理の有効化の後（分散開始第２条件により分散処理を有効とした後）、一定時間（ｄ秒とする）経過した後に、過去一定時間（ａ秒）の現用系ＣＰＵ５と待機系ＣＰＵ７のＣＰＵ使用率の合計の平均値が、予め設定した分散終了用閾値を所定時間（ｂ秒）下回り続けたという分散終了第２条件を満たしたとき、分散処理を無効にするよう構成される。これは、短時間にＣＰＵ使用率が急上昇した場合は、ＣＰＵ使用率の平均値が分散終了用閾値を下回ってしまうことが多いため、分散処理が有効後すぐに無効になることを防止するためである。
【００３０】
つまり、条件判定部５ｃは、上述の分散開始第１条件と分散開始第２条件のいずれかを満たすときに分散処理を有効とし、分散開始第１条件により分散処理を有効とした場合は分散終了第１条件、分散開始第２条件により分散処理を有効とした場合は分散終了第２条件により分散処理の無効の判定を行うように構成される。
【００３１】
次に、本実施の形態に係る処理分散方法をシャーシ型スイッチ１の動作と共に説明する。
【００３２】
図２に示すように、シャーシ型スイッチ１では、処理の命令は現用系メモリ６に保存されるので、現用系ＣＰＵ５の処理実行部５ａが現用系メモリ６の命令を参照し、現用系ＣＰＵ５の処理実行部５ａが処理を実行する（ステップＳ１）。終了した命令は現用系メモリ６から削除する（ステップＳ２）。なお、現用系ＣＰＵ５の監視部５ｂは、現用系ＣＰＵ５のＣＰＵ使用率とＣＰＵ上昇率を常に監視し、その結果を現用系メモリ６に保存し続ける。
【００３３】
その後、現用系管理カード２と待機系管理カード３の両方が正常であるかを判定し（ステップＳ３）、ステップＳ３にてＹＥＳと判定された場合はステップＳ４に進み、ＮＯと判定された場合はステップＳ１に戻る。
【００３４】
ステップＳ４では、分散処理の設定が有効であるかを判定し、ステップＳ４にてＹＥＳと判定された場合、ステップＳ５の分散処理を行った後ステップＳ１に戻る。ステップＳ４にてＮＯと判定された場合、分散処理を行わずにステップＳ１に戻る。
【００３５】
図３に示すように、ステップＳ５の分散処理では、まず、ステップＳ１１にて、条件判定部５ｃが、上述の分散開始第１条件を満たすかを判定する。ステップＳ１１にてＹＥＳと判定された場合、ステップＳ１４に進む。
【００３６】
ステップＳ１１にてＮＯと判定された場合、ステップＳ１２にて、条件判定部５ｃが、上述の分散開始第２条件を満たすかを判定する。ステップＳ１２にてＹＥＳと判定された場合、ステップＳ１３にて第２条件フラグをオンにした後、ステップＳ１４に進む。ステップＳ１２にてＮＯと判定された場合、分散開始第１条件と分散開始第２条件の両方を満たさないので、分散処理を行わずに処理を終了する（図２のステップＳ１に戻る）。
【００３７】
ステップＳ１４では、現用系メモリ６にある命令を分散テーブル５ｄに従い待機系メモリ８にコピーする。その後、現用系ＣＰＵ５の処理実行部５ａで処理を実行し（ステップＳ１５）、待機系ＣＰＵ７の処理実行部７ａで命令を実行し（ステップＳ１６）、待機系ＣＰＵ７の実行結果を現用系メモリ６に渡し（ステップＳ１７）、終了した現用系メモリ６と待機系メモリ８の命令を削除し（ステップＳ１８）、ステップＳ１９に進む。
【００３８】
ステップＳ１９では、第２条件フラグがオフであるか判定する。ステップＳ１９でＹＥＳと判定された場合、分散開始第１条件により分散処理が有効とされたことになるので、ステップＳ２０にて分散終了第１条件を満たすかを判定する。ステップＳ２０でＹＥＳと判定された場合は分散処理を終了し（図２のステップＳ１に戻り）、ＮＯと判定された場合はステップＳ１４に戻り分散処理を続ける。
【００３９】
ステップＳ１９でＮＯと判定された場合、分散開始第２条件により分散処理が有効とされたことになるので、ステップＳ２１にて分散終了第２条件を満たすかを判定する。ステップＳ２１でＹＥＳと判定された場合は第２条件フラグをオフ（ステップＳ２２）した後分散処理を終了し（図２のステップＳ１に戻り）、ＮＯと判定された場合はステップＳ１４に戻り分散処理を続ける。
【００４０】
一例として、ａ＝５（秒）、ｂ＝５（秒）、ｃ＝３（秒）、ｄ＝５（秒）、分散開始用閾値＝分散終了用閾値＝９５（％）、上昇率用閾値＝８（％／秒）とした場合における、現用系ＣＰＵ５と待機系ＣＰＵ７のＣＰＵ使用率の挙動を図４に示す。
【００４１】
図４の例では、７〜１３秒でＣＰＵ使用率が閾値（分散開始用閾値、分散終了用閾値）を上下しているが、本実施の形態に係る処理分散方法によれば、１３〜１７秒で分散開始第１条件を満たして分散処理が有効となり、その後２９〜３３秒で分散終了第１条件を満たして分散処理が無効となっており、分散処理の有効・無効の繰り返しを抑制できていることが分かる。
【００４２】
また、短時間にＣＰＵ使用率が上昇する場合の例を図５に示す。図５では、６秒の時点で分散開始第２条件を満たして分散処理が有効となり、その後１７〜２１秒で分散終了第２条件を満たし、分散処理が無効となっている。この例では、１０秒と１５秒で現用系ＣＰＵ５と待機系ＣＰＵ７のＣＰＵ使用率の合計値が一時的に１００％を超えており、分散開始第２条件を適用せず分散開始第１条件のみとした場合には輻輳状態が発生すると考えられる。分散開始第２条件を適用することで、現用系ＣＰＵ５のＣＰＵ使用率を閾値（分散開始用閾値、分散終了用閾値）より大幅に下回らせることでき、輻輳状態を回避できていることが分かる。
【００４３】
以上説明したように、本実施の形態に係る処理分散方法では、現用系ＣＰＵ５の使用率を監視し、過去一定時間の現用系ＣＰＵ５のＣＰＵ使用率の平均値が、予め設定した分散開始用閾値を所定時間上回り続けたとき、現用系ＣＰＵ５の処理の一部を待機系ＣＰＵ７に実行させる分散処理を有効にし、当該分散処理の有効化の後、過去一定時間の現用系ＣＰＵ５と待機系ＣＰＵ７のＣＰＵ使用率の合計の平均値が、予め設定した分散終了用閾値を所定時間下回り続けたとき、分散処理を無効にしている。
【００４４】
これにより、ＣＰＵ使用率が閾値（分散開始用閾値、分散終了用閾値）の近傍で上昇・下降を繰り返したような場合であっても、分散処理の有効・無効の繰り返しを抑制することが可能となり、現用系ＣＰＵ５で処理するか待機系ＣＰＵ７で処理するかの判定の処理が多発することを防止し、ＣＰＵリソースの浪費を抑制することが可能になる。
【００４５】
また、本実施の形態に係る処理分散方法では、現用系ＣＰＵ５のＣＰＵ上昇率を監視し、ＣＰＵ上昇率が予め設定した上昇率用閾値を上回ったとき、分散処理を有効にし、当該分散処理の有効化の後、一定時間経過した後に、過去一定時間の現用系ＣＰＵ５と待機系ＣＰＵ７の使用率の合計の平均値が、予め設定した分散終了用閾値を所定時間下回り続けたとき、分散処理を無効にしている。
【００４６】
これにより、短時間にＣＰＵ使用率が急上昇したような場合であっても、瞬時に分散処理を有効にし、輻輳状態を防止することが可能になる。
【００４７】
さらに、本実施の形態に係る処理分散方法では、分散処理を有効にした後、自動的に分散処理を無効にすることができるため、通常時は現用系ＣＰＵ５のみの運用を実施することができる。
【００４８】
本発明は上記実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更を加え得ることは勿論である。
【符号の説明】
【００４９】
１  シャーシ型スイッチ（電子機器）
２  現用系管理カード
３  待機系管理カード
４  バックプレーン
５  現用系プロセッサ
５ａ  処理実行部
５ｂ  監視部
５ｃ  条件判定部
５ｄ  分散テーブル
６  現用系メモリ
７  待機系プロセッサ
８  待機系メモリ
【図１】
2014010755.tif 000003
【図２】
2014010755.tif 000004
【図３】
2014010755.tif 000005
【図４】
2014010755.tif 000006
【図５】
2014010755.tif 000007