クライアント装置からの要求に応じて、通信を行うために必要なネットワークアドレス等の設定情報をサーバ装置がクライアント装置に割り当てる設定割当技術が知られている。このような設定割当技術を用いることにより、クライアント装置のネットワーク設定を一元管理することが可能となる。
現在広く用いられている設定割当技術の1つにDHCP(Dynamic Host Configuration Protocol)がある(非特許文献1参照)。DHCPを用いた設定割当の例について、図12を参照しながら説明する。
図12に示すように、クライアント装置2は、電源ON等のタイミングで、IPアドレスやサブネットマスク等のIP通信に必要な設定情報候補を要求するために、DHCPサーバ3に対してクライアントを識別するクライアントIDを含めたDISCOVERメッセージを送出する(ステップS11)。
DHCPサーバ3は、クライアント装置2に対して、払出し可能な設定情報候補を決定し、設定情報候補を含めたOFFERメッセージをクライアントに対して送出する(ステップS12)。クライアント装置2は、OFFERメッセージに含まれる設定情報候補を確認し、クライアント毎の個々のポリシーに基づいて受諾できるものであるかどうかを判断し、受諾できるものであれば、DHCPサーバ3に対してREQUESTメッセージを送出し、設定情報の確保を要求する(ステップS13)。
DHCPサーバ3は、REQUESTメッセージを受信すると、クライアント装置2に払い出す設定情報を確保して他の装置に重複する設定を割り当てないようにするとともに、確保した設定情報を含むACKメッセージをクライアント装置2へ送出する(ステップS14)。クライアント装置2は、ACKメッセージを含まれる設定情報を自身のネットワークインターフェースに設定し、通信サービスの利用を開始する。
例えば、クライアント装置2がIP電話等のセッションを確立して他の装置と通信を行う場合、クライアント装置2は、SIPサーバ1に自身を登録するために、SIPサーバ1へREGISTERメッセージを送出する(ステップS15)。SIPサーバ1は、REGISTERメッセージを受信すると、クライアント装置2のIPアドレスを登録し、クライアント装置2へ200OKメッセージを送出する(ステップS16)。
DHCPサーバ3が払い出す設定情報には一定の有効期間(以下、「リース期間」という)が設定されていることが通常であり、クライアント装置2は、リース期間が切れる前に更新を要求しなくてはならない。そこで、クライアント装置2は、リース期間が切れる前に、自身に払いだされた設定情報を含むREQUESTメッセージを送出してリース期間の更新を要求する(ステップS17)。
DHCPサーバ3は、設定情報を含むREQUESTメッセージを受信すると、REQUESTメッセージに含まれる設定情報と自身がクライアント装置2に払い出した設定情報とが一致するかを確認する。そして、両者が一致する場合、DHCPサーバ3は、リース期間を更新するとともに、クライアント装置2へACKメッセージを送出する(ステップS18)。
クライアント装置2は、ACKメッセージを受信すると、SIPサーバ1に自身を登録するために、SIPサーバ1へREGISTERメッセージを送出し(ステップS19)、SIPサーバ1から200OKメッセージを受信する(ステップS20)。ステップS17〜ステップS20は、定期的に繰り返して実行される。
そして、クライアント装置2は、シャットダウンの実行時に、自身に払い出された設定情報を解放させるためにDHCPサーバ3へRELEASEメッセージを送信する。DHCPサーバ3は、RELEASEメッセージを受信すると、クライアント装置2に払い出していた設定情報を解放して他の装置に払出し可能にする(ステップS21)。
クライアント装置2は、必要に応じて、払い出された設定情報に含まれるIPアドレスが他の装置が使用しているIPアドレスと重複していることを示すDECLINEメッセージや、IPアドレス以外の設定情報を要求するINFORMメッセージをDHCPサーバ3へ送信することがある。
以下に、本発明に係る設定割当装置、設定割当方法および設定割当プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例に係る設定割当方法および設定割当装置について図1を参照しながら説明する。設定割当装置10は、インターネットやLAN(Local Area Network)等のネットワーク4を介して、クライアント装置20a〜20n、SIPサーバ30、DNSサーバ40等と接続されており、本実施例に係る設定割当方法を用いて、クライアント装置20a〜20nに対してネットワークに関する設定を割り当てる。
クライアント装置20a〜20nは、設定割当装置10と所定のメッセージのやり取りを行って、設定割当装置10からネットワークに関する設定の割り当てを受ける。設定の割り当てのためのクライアント装置20a〜20nと設定割当装置10との間のメッセージのやり取りは、例えば、DHCPに基づいて行われ、設定割当装置10がクライアント装置20a〜20nに割り当てる設定には、例えば、IPアドレスやサブネットマスクに関する設定が含まれる。
SIPサーバ30は、外部のネットワーク5と接続されており、IP電話等のためのセッションをクライアント装置20a〜20nに提供する。DNSサーバ40は、ドメイン名をIPアドレスへ変換するサービスをクライアント装置20a〜20n等に提供する。DNSサーバ40は、ダイナミックDNS機能を有し、クライアント装置20a〜20nに動的に割り当てられたIPアドレスについても、ドメイン名からIPアドレスへ変換する。
設定割当装置10は、通信部11と、バッファ12と、記憶部13と、制御部14とを有する。通信部11は、クライアント装置20a〜20n等との間で各種メッセージの送受信を行う。バッファ12は、通信部11が受信したメッセージを先入れ先出し方式で一時的に記憶する。
記憶部13は、ハードディスク装置や半導体記憶装置等の記憶装置であり、ポリシー131と、割当情報132と、計数情報133等を記憶する。ポリシー131は、設定割当装置10の動作を定義する各種の設定値を含む定義情報である。割当情報132は、クライアント装置20a〜20nに割り当てた設定の内容を保持する。計数情報133は、設定の割り当てに関するメッセージの処理状況を保持する。
制御部14は、設定割当装置10を全体制御する制御部であり、設定割当部141と、計数部142と、処理制御部143とを有する。設定割当部141は、ネットワークの設定に関するメッセージをバッファ12から読み出し、読み出したメッセージに対応する処理を実行する。設定割当部141は、必要であれば、実行した処理の結果に関するメッセージを生成して、読み出したメッセージの送信元へ応答する。
計数部142は、設定割当部141によるメッセージの処理状況を計数情報133として記録する。例えば、計数部142は、設定割当部141がバッファ12から読み出したメッセージ数、または、設定割当部141が応答したメッセージ数、または、その両方のメッセージ数をメッセージの種別毎に記録する。あるいは、計数部142は、これらのメッセージ数を、メッセージの種別毎に定義された等級(クラス)毎に記録する。メッセージの種別と等級の対応は、予めポリシー131内に定義される。
等級は、好適には、処理負荷の大きさに基づいて決定される。ここでいう「処理負荷」とは、設定割当部141が実行する処理にともなって、ネットワークまたはネットワークに接続されたいずれかの機器において生じる可能性のある処理の負荷をいう。「ネットワークに接続されたいずれかの機器」は、自装置である設定割当装置10を含むものであってもよい。また、「処理負荷の大きさ」とは、設定割当部141が実行する処理にともなって、ネットワークまたはネットワークに接続されたいずれかの機器において生じる可能性のある処理の負荷の大きさに係る分類を示す情報をいう。なお、等級を決定するに際しては、処理負荷の大きさだけでなく、プロトコル上の各種別のメッセージの送信順序や、メッセージに対する応答の有無等を考慮することとしてもよい。
設定割当部141がDHCPに基づいて設定の割当処理を実行するとした場合、等級は、例えば、以下のように定義される。
設定割当部141が、バッファ12からDISCOVERメッセージを読み出し、設定情報候補を含むOFFERメッセージを応答する場合、これにともなって発生する処理は、OFFERメッセージを受信した装置が設定情報候補を確認してREQUESTメッセージを設定割当装置10へ送信するというものであり、負荷は比較的小さい。このため、ポリシー131では、OFFERメッセージやREQUESTメッセージと対応付けて、処理負荷が中程度である旨を示す等級が定義される。
また、設定割当部141が、バッファ12からREQUESTメッセージを読み出し、設定情報の確保またはリース期間の更新等を行ってACKメッセージを応答する場合、これにともなって、ACKメッセージを受信した装置がSIPサーバ30やDNSサーバ40に自身のIPアドレスを登録するといった比較的負荷の重い処理が発生する可能性がある。このため、ポリシー131では、REQUESTメッセージやACKメッセージと対応付けて、処理負荷が大きい旨を示す等級が定義される。
また、設定割当部141が、バッファ12からRELEASEメッセージを読み出し、設定情報の解放を行う場合、これにともなって発生する処理は、RELEASEメッセージを送信した装置がシャットダウンを行うといった負荷が小さいものであることがほとんどであると考えられる。このため、ポリシー131では、RELEASEメッセージと対応付けて、処理負荷が小さい旨を示す等級が定義される。
処理制御部143は、計数情報133に基づいて現状の全体的な処理負荷の大きさを評価し、評価結果が所定以上である場合に、設定割当部141による処理の実行を所定の契機まで制約する。これにより、設定割当部141による処理にともなって、ネットワークまたはネットワークに接続されたいずれかの機器に高い負荷が集中して生じることを防止することができる。なお、ここでいう「制約する」とは、例えば、設定割当部141による処理の実行を停止させることであってもよいし、処理負荷が大きい旨を示す等級に対応する種別のメッセージについての処理の実行を遅延させることであってもよいし、優先度が低いものとしてポリシー131に定義されている等級に対応する種別のメッセージについての処理の実行を遅延させることであってもよい。
設定割当部141による処理の実行の制約を解除する契機は、例えば、設定割当部141内に設けられたタイマーによって与えられる。この場合、例えば、設定割当部141による処理の実行を制約する制約期間が、予めポリシー131に定義され、タイマーは、設定割当部141による処理の実行の制約が開始された時点で計時を開始する。そして、設定割当部141は、タイマーによって制約期間の経過を検知して制約を解除する。なお、設定割当部141による処理の実行の制約を解除する契機は、タイマーを有する他の機能部または外部装置によって与えられてもよい。また、設定割当部141による処理の実行を制約している間にリース期間が経過しないように、設定割当部141による処理の実行を制約する場合は、制約する期間分だけリース期間を延長させることとしてもよい。ただし、リース期間を延長させるのは、制約する期間がリース期間に比べて十分に小さい場合が望ましい。
また、処理制御部143は、現状の全体的な処理負荷の大きさを評価するにあたって、処理負荷の集中状況が顕在化するように、計数情報133に記録されている各メッセージ数を一定時間毎に初期化する。計数情報133に記録されている各メッセージ数を初期化する間隔は、処理負荷が集中して発生していることを計数情報133に基づいて検知できる程度に短いことが好ましい。処理制御部143は、設定割当部141による処理の実行を制約した場合も、計数情報133に記録されている各メッセージ数を初期化する。
なお、計数情報133に記録されている各メッセージ数を初期化する代わりに、ポリシー131の定義に基づいて、これらのメッセージ数を一定数だけまたは一定の割合で減少させることとしてもよい。例えば、メッセージ数を50ずつ減少させる旨がポリシー131内に定義されている場合、処理制御部143は、70となっているメッセージ数を20に減少させ、30となっているメッセージ数を負の値とならないように0に減少させる。
このように、メッセージ数を減少させることにより、直近の負荷傾向が計数情報133に残った状態でメッセージ数の集計を再開することができる。このため、メッセージ数を初期化する場合と比較して、処理負荷の集中を検出し易くなり、より精密な制御が可能となる。
処理制御部143による現状の全体的な処理負荷の大きさの評価は、例えば、計数情報133に記録されているメッセージ数をポリシー131内に定義されている等級毎に集計した値を、等級毎にポリシー131内に定義されているしきい値と比較することにより行われる。等級毎にポリシー131内に定義されているしきい値は、例えば、対応する種別のメッセージに起因する処理負荷の大きさが大きいほど値が小さくなるように設定される。これは、処理負荷の大きい処理は、実行される回数が少なくても現状の全体的な処理負荷に大きな影響を与えるためである。
また、処理制御部143による現状の全体的な処理負荷の大きさの評価は、計数情報133に記録されているメッセージ数をポリシー131内に定義されている等級毎に集計した値に、等級毎にポリシー131内に定義されている重みを乗じて得られる合計値またはその合計値から算出される加重平均値を、ポリシー131内に定義されているしきい値と比較することにより行ってもよい。等級毎にポリシー131内に定義されている重みは、例えば、対応する種別のメッセージに起因する処理負荷の大きさが大きいほど値が大きくなるように設定される。これは、処理負荷の大きい処理は、実行される回数が少なくても現状の全体的な処理負荷に大きな影響を与えるためである。
また、処理制御部143による現状の全体的な処理負荷の大きさの評価は、計数情報133に記録されている全ての種別のメッセージ数を単純合計した値をポリシー131内に定義されているしきい値と比較する方式を、上述した各種方式と併用して行うこととしてもよい。全ての種別のメッセージ数を単純合計した値を用いる方式を併用することにより、等級毎の設定に関わらず、全体的な処理負荷が短期間に一定以上に大きくなることを抑止できる。
上述してきたように、本実施例では、設定の割当に関する処理の状況の記録に基づいて、設定の割当に関する処理にともなって生じている負荷を評価し、評価された負荷が所定以上の場合は、設定の割当に関する処理を制約することとしたので、設定の割当に関する処理にともなって高い負荷が集中して生じることを防止できる。
本実施例では、等級毎に集計したメッセージ数と等級毎に定義されたしきい値と比較して現状の全体的な処理負荷の大きさを評価する例についてさらに詳細に説明する。なお、以下の説明では、既に説明した部分と同様の部分については、既に説明した部分と同一の符号を付して重複する説明を省略することがある。また、以下の説明では、設定割当部141による処理の実行を一定期間停止させることにより、設定割当部141による処理の実行を所定の契機まで制約する機能を実現することとする。また、以下では、DHCPを用いて設定の割り当てを行うことを前提として説明を行うが、他の方式を用いて設定の割り当てを行うこととしてもよい。
図2に、本実施例に係る設定割当方法を実行する設定割当装置10aを示す。設定割当装置10aは、インターネットやLAN等のネットワーク4を介して、クライアント装置20a〜20n、SIPサーバ30、DNSサーバ40等と接続されており、本実施例に係る設定割当方法を用いて、クライアント装置20a〜20nに対してネットワークに関する設定を割り当てる。
図2に示すように、設定割当装置10aは、通信部11と、バッファ12と、記憶部13aと、制御部14aとを有する。記憶部13aは、ハードディスク装置や半導体記憶装置等の記憶装置であり、ポリシー131aと、割当情報132と、計数情報133a等を記憶する。
ポリシー131aは、設定割当装置10aの動作を定義する各種の設定値を含む。割当情報132は、クライアント装置20a〜20nに割り当てた設定の内容を保持する。計数情報133aは、設定の割り当てのためのメッセージの処理状況を保持する。
図3に、ポリシー131aの一例を示す。図3に示すポリシー131aには、バッファ12から読み出されるメッセージの種別毎の等級の定義と、期間に関する定義と、等級毎のしきい値の定義が含まれている。
具体的には、メッセージの種別毎の等級の定義としては、REQUESTメッセージに対しては、処理負荷が大きいことを示す「HIGH」が設定され、DISCOVERメッセージおよびINFORMメッセージに対しては、処理負荷が中程度であることを示す「MID」が設定され、RELEASEメッセージおよびDECLINEメッセージに対しては、処理負荷が小さいことを示す「LOW」が設定されている。
また、期間に関する定義としては、計数情報133aへの記録を継続する期間、すなわち、計数情報133aの値を初期化または減少させてから次に初期化または減少させるまでの期間である計数期間が60秒と設定され、現状の全体的な処理負荷の大きさが所定以上の場合に設定割当部141を停止させる期間である停止期間が10秒に設定されている。
また、等級毎のしきい値の定義としては、「HIGH」に対応するしきい値として200が定義され、「MID」に対応するしきい値として400が定義され、「LOW」に対応するしきい値として2000が定義されている。これらのしきい値は、メッセージ数を等級毎に合計した値に対するしきい値である。また、図3に示すポリシー131aには、計数情報133aに記録されている全ての種別のメッセージ数を単純合計した値に対するしきい値として、2200が定義されている。
図4に、計数情報133aの一例を示す。図4に示す計数情報133aには、設定割当部141がバッファ12から読み出したメッセージ数が、メッセージの種別毎に記録されている。計数部142は、設定割当部141がバッファ12からメッセージを読み出す度に、読み出されたメッセージの種別に対応する計数情報133aのメッセージ数を1だけ増加させる。なお、図5に示すように、ポリシー131aに定義されている等級毎にメッセージ数を記録することとしてもよい。
図2に戻って、制御部14aは、設定割当装置10aを全体制御する制御部であり、設定割当部141と、計数部142と、処理制御部143aとを有する。
処理制御部143aは、ポリシー131aに定義されているしきい値と計数情報133aに基づいて現状の全体的な処理負荷の大きさを評価し、評価結果が所定以上である場合に、設定割当部141による処理の実行を一定期間停止させる。
具体的には、ポリシー131aの内容が図3の例の通りである場合、処理制御部143aは、等級が「HIGH」と定義されているREQUESTメッセージのメッセージ数を「HIGH」に対応するしきい値である200と比較し、等級が「MID」と定義されているDISCOVERメッセージとINFORMメッセージのメッセージ数の合計を「MID」に対応するしきい値である400と比較し、等級が「LOW」と定義されているRELEASEメッセージとDECLINEメッセージのメッセージ数の合計を「LOW」に対応するしきい値である2000と比較し、全ての種別のメッセージ数の合計を「TOTAL」に対応するしきい値である2200と比較し、いずかの値がしきい値を超過していれば、設定割当部141による処理の実行を一定期間停止させる。
また、処理制御部143aは、現状の全体的な処理負荷の大きさを評価するにあたって、処理負荷の集中状況が顕在化するように、計数情報133aに記録されている各メッセージ数を一定時間毎に初期化または減少させる。また、処理制御部143aは、設定割当部141による処理の実行を停止させた場合も、計数情報133aに記録されている各メッセージ数を初期化または減少させる。
続いて、フローチャートを参照しながら、設定割当装置10aの動作について説明する。図6に、設定割当装置10aにおける設定割当処理の処理手順を示す。図6に示すように、処理制御部143aは、計数情報133aに記録されているメッセージ数を初期化してクリアする(ステップS101)。そして、処理制御部143aは、計数情報133aに記録されているメッセージ数を集計し、集計値をポリシー131aに定義されているしきい値と比較する(ステップS102)。ここで、しきい値を超過している集計値が1つもなければ(ステップS103否定)、ステップS106以降の処理手順が実行される。
一方、いずれかの集計値がしきい値を超過していれば(ステップS103肯定)、処理制御部143aは、停止期間が経過するまで設定割当処理を停止させるとともに(ステップS104)、計数情報133aに記録されている各メッセージ数を初期化または減少させる(ステップS105)。その後、ステップS106以降の処理手順が実行される。
ステップS106では、設定割当部141は、バッファ12からメッセージを取得する。そして、設定割当部141は、取得したメッセージに対応する処理を実行する(ステップS107)。そして、計数部142は、設定割当部141が読み出したメッセージに対応する計数情報133a内のメッセージ数を1だけ増加させる(ステップS108)。その後、ステップS102から処理手順が再開される。
図7に、設定割当装置10aにおける計数情報133aの初期化処理の処理手順を示す。図7に示すように、処理制御部143aは、計数期間が経過するまで待ち(ステップS111)、計数期間が経過すると、計数情報133aに記録されている各メッセージ数を初期化または減少させる(ステップS112)という手順を繰り返し実行する。
このように、計数期間毎に計数情報133aに記録されている各メッセージ数を初期化または減少させることにより、計数期間あたりの処理量を一定以下に抑えつつ処理量を平準化できる。換言すると、計数期間毎に計数情報133aに記録されている各メッセージ数を初期化または減少させることにより、一定時間動作したら停止し、停止期間が過ぎたらまた処理再開、という間欠的な動作になることを抑止できる。
本実施例では、等級毎に集計したメッセージ数と等級毎に定義されたしきい値と比較して現状の全体的な処理負荷の大きさを評価する他の例について説明する。図8に、本実施例に係る設定割当方法を実行する設定割当装置10bを示す。設定割当装置10bは、インターネットやLAN等のネットワーク4を介して、クライアント装置20a〜20n、SIPサーバ30、DNSサーバ40等と接続されており、本実施例に係る設定割当方法を用いて、クライアント装置20a〜20nに対してネットワークに関する設定を割り当てる。
図8に示すように、設定割当装置10bは、通信部11と、バッファ12と、記憶部13bと、制御部14bとを有する。記憶部13bは、ハードディスク装置や半導体記憶装置等の記憶装置であり、ポリシー131bと、割当情報132と、計数情報133b等を記憶する。
ポリシー131bは、設定割当装置10bの動作を定義する各種の設定値を含む。割当情報132は、クライアント装置20a〜20nに割り当てた設定の内容を保持する。計数情報133bは、設定の割り当てのためのメッセージの処理状況を保持する。
図9に、ポリシー131bの一例を示す。図9に示すポリシー131bには、バッファ12から読み出されるメッセージの種別毎の等級の定義と、期間に関する定義と、しきい値に関する定義が含まれている。
具体的には、メッセージの種別毎の等級の定義としては、REQUESTメッセージに対しては、処理負荷が大きいことを示す「HIGH」が設定され、その他のメッセージに対しては、処理負荷が小さいことを示す「LOW」が設定されている。
期間に関する定義としては、計数期間が10秒と設定されている。しきい値の定義としては、「HIGH」に対応するしきい値として200が定義され、全ての種別のメッセージ数を単純合計した値に対するしきい値として、800が定義されている。
図10に、計数情報133bの一例を示す。図10に示す計数情報133bには、高負荷メッセージカウンタ133cと、全メッセージカウンタ133dとが含まれる。高負荷メッセージカウンタ133cは、「HIGH」という等級に対応する種別のメッセージ、すなわち、処理負荷が大きいメッセージの数を保持する。全メッセージカウンタ133dは、全ての種別のメッセージの数を保持する。
図8に戻って、制御部14bは、設定割当装置10bを全体制御する制御部であり、設定割当部141と、計数部142と、処理制御部143bとを有する。
処理制御部143bは、ポリシー131bに定義されているしきい値と計数情報133bに基づいて現状の全体的な処理負荷の大きさを評価し、評価結果が所定以上である場合に、設定割当部141による処理の実行を停止させる。
具体的には、ポリシー131bの内容が図9の例の通りである場合、処理制御部143bは、高負荷メッセージカウンタ133cに保持されているメッセージ数を「HIGH」に対応するしきい値である200と比較し、全メッセージカウンタ133dに保持されているメッセージ数を「TOTAL」に対応するしきい値である800と比較し、いずかの値がしきい値を超過していれば、設定割当部141による処理の実行を停止させる。
また、処理制御部143bは、現状の全体的な処理負荷の大きさを評価するにあたって、処理負荷の集中状況が顕在化するように、計数情報133bに記録されている各メッセージ数を一定時間毎に初期化または減少させる。処理制御部143bが設定割当部141による処理の実行を停止させている場合、計数情報133bに記録されている各メッセージ数を一定時間毎に初期化または減少させることで各カウンタの値がしきい値を下回れば、設定割当部141による処理の実行が再開される。また、処理制御部143bは、設定割当部141による処理の実行を停止させた場合も、計数情報133bに記録されている各メッセージ数を初期化または減少させる。
続いて、フローチャートを参照しながら、設定割当装置10bの動作について説明する。なお、計数情報133bの初期化処理の処理手順については、実施例2と同様であるので説明を省略する。
図11に、設定割当装置10bにおける設定割当処理の処理手順を示す。図11に示すように、処理制御部143bは、計数情報133bに記録されているメッセージ数を初期化してクリアする(ステップS201)。そして、処理制御部143bは、各カウンタの値をしきい値と比較する(ステップS202)。
ここで、いずれかのカウンタの値がしきい値を超過していれば(ステップS203肯定)、ステップS202から処理手順が再開される。この結果、計数情報133bの初期化処理によってカウンタの値が初期化または減少されるまで、ステップS202〜ステップS203が繰り返し実行され、その間、設定割当部141による処理の実行は停止することとなる。
一方、いずれのカウンタの値もしきい値を超過していなければ(ステップS203否定)、設定割当部141は、バッファ12からメッセージを取得する(ステップS204)。そして、設定割当部141は、取得したメッセージに対応する処理を実行する(ステップS205)。
そして、計数部142は、設定割当部141が読み出したメッセージが「HIGH」の等級に対応する種別のものであれば(ステップS206肯定)、高負荷メッセージカウンタ133cの値を1だけ増加させるとともに(ステップS207)、全メッセージカウンタ133dの値を1だけ増加させる(ステップS208)。一方、設定割当部141が読み出したメッセージが「HIGH」の等級に対応する種別のものでなければ(ステップS206否定)、全メッセージカウンタ133dの値のみを1だけ増加させる(ステップS208)。その後、ステップS202から処理手順が再開される。
上述してきたように、本実施例では、計数情報133bとして2つのカウンタ値のみを管理することとしたので、計数情報133bに必要な記憶容量を削減することができるとともに、処理を簡略化することができる。
本実施例では、等級毎に定義されている重みを用いて現状の全体的な処理負荷の大きさを評価する例についてさらに詳細に説明する。図12に、本実施例に係る設定割当方法を実行する設定割当装置10cを示す。設定割当装置10cは、インターネットやLAN等のネットワーク4を介して、クライアント装置20a〜20n、SIPサーバ30、DNSサーバ40等と接続されており、本実施例に係る設定割当方法を用いて、クライアント装置20a〜20nに対してネットワークに関する設定を割り当てる。
図12に示すように、設定割当装置10cは、通信部11と、バッファ12と、記憶部13cと、制御部14cとを有する。記憶部13cは、ハードディスク装置や半導体記憶装置等の記憶装置であり、ポリシー131cと、割当情報132と、計数情報133a等を記憶する。
ポリシー131cは、設定割当装置10cの動作を定義する各種の設定値を含む。割当情報132は、クライアント装置20a〜20nに割り当てた設定の内容を保持する。計数情報133aは、設定の割り当てのためのメッセージの処理状況を保持する。
図13に、ポリシー131cの一例を示す。図13に示すポリシー131cには、バッファ12から読み出されるメッセージの種別毎の等級の定義と、期間に関する定義と、等級毎の重みの定義と、しきい値に関する定義が含まれている。
具体的には、メッセージの種別毎の等級の定義としては、REQUESTメッセージに対しては、処理負荷が大きいことを示す「HIGH」が設定され、DISCOVERメッセージおよびINFORMメッセージに対しては、処理負荷が中程度であることを示す「MID」が設定され、RELEASEメッセージおよびDECLINEメッセージに対しては、処理負荷が小さいことを示す「LOW」が設定されている。
期間に関する定義としては、計数期間が60秒と設定され、停止期間が10秒に設定されている。等級毎の重みの定義としては、「HIGH」に対応する重みとして10が定義され、「MID」に対応する重みとして3が定義され、「LOW」に対応する重みとして1が定義されている。また、しきい値としては、重みを乗じたメッセージ数の合計値に対するしきい値として、1000が定義されている。
図12に戻って、制御部14cは、設定割当装置10cを全体制御する制御部であり、設定割当部141と、計数部142と、処理制御部143cとを有する。
処理制御部143cは、ポリシー131cに定義されている重みおよびしきい値と計数情報133aに基づいて現状の全体的な処理負荷の大きさを評価し、評価結果が所定以上である場合に、設定割当部141による処理の実行を一定期間停止させる。
具体的には、ポリシー131cの内容が図13の例の通りである場合、処理制御部143cは、等級が「HIGH」と定義されているREQUESTメッセージのメッセージ数に「HIGH」に対応する重みである10を乗じ、等級が「MID」と定義されているDISCOVERメッセージとINFORMメッセージのメッセージ数の合計に「MID」に対応する重みである3を乗じ、等級が「LOW」と定義されているRELEASEメッセージとDECLINEメッセージのメッセージ数の合計に「LOW」に対応する重みである1を乗じて、これらの乗算結果の合計をしきい値である1000と比較し、乗算結果の合計がしきい値を超過していれば、設定割当部141による処理の実行を一定期間停止させる。
また、処理制御部143cは、現状の全体的な処理負荷の大きさを評価するにあたって、処理負荷の集中状況が顕在化するように、計数情報133aに記録されている各メッセージ数を一定時間毎に初期化または減少させる。また、処理制御部143cは、設定割当部141による処理の実行を停止させた場合も、計数情報133aに記録されている各メッセージ数を初期化または減少させる。
続いて、フローチャートを参照しながら、設定割当装置10cの動作について説明する。なお、計数情報133aの初期化処理の処理手順については、実施例2と同様であるので説明を省略する。
図14に、設定割当装置10cにおける設定割当処理の処理手順を示す。図14に示すように、処理制御部143cは、計数情報133aに記録されているメッセージ数を初期化してクリアする(ステップS301)。そして、処理制御部143cは、計数情報133aに記録されているメッセージ数を重み付けして集計し(ステップS302)、集計値をポリシー131cに定義されているしきい値と比較する(ステップS303)。ここで、集計値がしきい値を超過していなければ(ステップS304否定)、ステップS307以降の処理手順が実行される。
一方、集計値がしきい値を超過していれば(ステップS304肯定)、処理制御部143cは、停止期間が経過するまで設定割当処理を停止させるとともに(ステップS305)、計数情報133aに記録されている各メッセージ数を初期化または減少させる(ステップS306)。その後、ステップS307以降の処理手順が実行される。
ステップS307では、設定割当部141は、バッファ12からメッセージを取得する。そして、設定割当部141は、取得したメッセージに対応する処理を実行する(ステップS308)。そして、計数部142は、設定割当部141が読み出したメッセージに対応する計数情報133a内のメッセージ数を1だけ増加させる(ステップS309)。その後、ステップS302から処理手順が再開される。
上述した設定割当装置10、設定割当装置10a、設定割当装置10b、設定割当装置10cの制御部14、制御部14a、制御部14b、制御部14cの機能をソフトウェアとして実装し、これをコンピュータで実行することにより、設定割当装置10、設定割当装置10a、設定割当装置10bと同等の機能を実現することもできる。以下に、制御部14の機能をソフトウェアとして実装した設定割当プログラム1071を実行するコンピュータの一例を示す。
図15は、設定割当プログラム1071を実行するコンピュータ1000を示す機能ブロック図である。このコンピュータ1000は、各種演算処理を実行するCPU(Central Processing Unit)1010と、ユーザからのデータの入力を受け付ける入力装置1020と、各種情報を表示するモニタ1030と、記録媒体からプログラム等を読み取る媒体読取り装置1040と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置1050と、各種情報を一時記憶するRAM(Random Access Memory)1060と、ハードディスク装置1070とをバス1080で接続して構成される。
そして、ハードディスク装置1070には、図1に示した制御部14と同様の機能を有する設定割当プログラム1071と、図1に示した記憶部13に記憶される各種データに対応する設定割当用データ1072とが記憶される。なお、設定割当用データ1072を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
そして、CPU1010が設定割当プログラム1071をハードディスク装置1070から読み出してRAM1060に展開することにより、設定割当プログラム1071は、設定割当プロセス1061として機能するようになる。そして、設定割当プロセス1061は、設定割当用データ1072から読み出した情報等を適宜RAM1060上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
なお、上記の設定割当プログラム1071は、必ずしもハードディスク装置1070に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておき、コンピュータ1000がこれらからプログラムを読み出して実行するようにしてもよい。