(57)【要約】【課題】  クライアントのアクセスを，サーバ毎のライセンス使用状態に基づいて，より効率的にサーバに振分ける処理を実現する。【解決手段】  ライセンス制御部１１は，サーバ２からライセンス情報を収集し，ライセンス管理情報で各ライセンスの使用状態を管理する。コネクション管理部１３は，クライアント４のコネクション確立要求を受けると，受信パケットからコネクション情報とライセンス識別キーを抽出して振分け処理部１５へ通知する。振分け処理部１５は，通知された情報をもとに，振分け対象となるサーバのライセンスの使用状態をライセンス制御部１１へ問い合わせ，該当するライセンスの使用状態（可否）から振分け対象のサーバ２を決定する。コネクション管理部１３で決定したサーバ２のコネクション確立完了後に，ライセンス制御部１１は，ライセンス管理情報の該当ライセンスの使用数を更新する。【選択図】  図１
2010039661.tif 000002
【特許請求の範囲】
【請求項１】
サーバアクセスのライセンスを有する複数のクライアントと，自装置が管理するライセンス情報に基づいて前記クライアントへサービスを提供する複数のサーバとに接続され，前記クライアントのアクセスを前記サーバへ分散させるサーバ負荷分散装置であって，
複数のサーバがそれぞれ管理するライセンス情報を収集し，サーバおよびライセンス毎にライセンスの使用可能数と使用数と使用可否を記録するライセンス管理情報に基づいて前記複数サーバ各々のライセンスの使用状態を管理する処理と，クライアントのアクセスの振分け対象となりうる振分け候補サーバにおけるライセンスの使用状態の問い合わせに対して，前記ライセンス管理情報から該当するライセンスの使用可または使用不可を応答する処理と，前記クライアントのコネクションが確立した場合に接続したサーバで使用されるライセンスについて前記ライセンス管理情報の使用数と使用状態を更新する処理とを行うライセンス制御部と，
クライアントからサーバのアクセス要求があった場合に，当該アクセス要求のパケットから，要求したクライアントが有するライセンスの識別情報を抽出し，抽出されたライセンスの識別情報に基づいて振分け対象の割り出し要求を発行する処理と，前記割り出し要求に対する応答を受け付け，当該応答で特定された振分け対象のサーバと当該クライアントとのコネクションを管理し，当該コネクションが確立したとき，前記振分け対象のサーバの識別情報と当該コネクションに使用されるライセンスの識別情報とを前記ライセンス制御部へ通知する処理とを行うコネクション管理部と，
予め，前記複数のサーバ各々と振分けが可能なライセンスとの対応関係を定義した振分け情報を保持し，前記割り出し要求を受け付けた場合に，当該割り出し要求のライセンスの識別情報をもとに当該振分け情報から振分け候補となるサーバを選択し，選択したサーバでのライセンスの使用状態を前記ライセンス制御部へ問い合わせる処理と，前記問い合わせに対する応答に含まれるライセンスの使用可または使用不可に基づいて，前記振分け候補のサーバから振分け対象となるサーバを特定して前記コネクション管理部へ通知する処理とを行う振分け処理部とを備える
ことを特徴とするサーバ負荷分散装置。
【請求項２】
前記コネクション管理部は，前記クライアントとサーバのコネクションが解放された場合に，解放されたコネクションのサーバの識別情報と当該コネクションで使用されたライセンスの識別情報とを前記ライセンス制御部へ通知し，
前記ライセンス制御部は，前記解放したコネクションのサーバで使用されたライセンスについて前記ライセンス管理情報の使用数と使用状態とを更新する
ことを特徴とする請求項１に記載のサーバ負荷分散装置。
【請求項３】
前記ライセンス制御部は，前記クライアントから収集したライセンス情報に，ライセンス使用数のカウント方法がクライアント資源を用いて設定され，かつ，前記クライアントのパケットから抽出されるクライアント識別情報に当該クライアント資源が設定されている場合に，前記ライセンス管理情報に当該クライアント資源を記憶し，コネクションが確立または解放したサーバで使用されたライセンスの使用数を，当該クライアント資源の単位で更新する
ことを特徴とする請求項１または請求項２に記載のサーバ負荷分散装置。
【請求項４】
前記ライセンス制御部は，所定の期間または契機ごとに，前記複数のサーバ各々から前記ライセンス情報を収集して前記ライセンス管理情報を更新する
ことを特徴とする請求項１ないし請求項３のいずれか一項に記載のサーバ負荷分散装置。
【請求項５】
前記ライセンス制御部は，前記複数のサーバのいずれかのサーバからライセンス情報変更の通知を受け付けた場合に，通知したサーバのライセンス情報を取得して前記ライセンス管理情報を更新する
ことを特徴とする請求項１ないし請求項４のいずれか一項に記載のサーバ負荷分散装置。
【請求項６】
サーバアクセスが可能なライセンスを有する複数のクライアントと，自装置が管理するライセンス情報に基づいて前記クライアントへサービスを提供する複数のサーバとに接続され，前記クライアントからのアクセスを前記サーバへ分散させるサーバ負荷分散装置が実行するサーバ負荷分散方法であって，
複数のサーバがそれぞれ管理するライセンス情報を収集し，サーバおよびライセンス毎にライセンスの使用可能数と使用数と使用可否を記録するライセンス管理情報を記憶部に保持しておき，当該ライセンス管理情報に基づいて各サーバのライセンスの使用状態を管理する処理過程と，
クライアントからサーバのアクセス要求があった場合に，当該アクセス要求のパケットから，要求したクライアントが有するライセンスの識別情報を抽出し，抽出されたライセンスの識別情報に基づいて振分け対象の割り出し要求を発行する処理過程と，
予め，前記複数サーバ各々と振分けが可能なライセンスとの対応関係を定義した振分け情報を保持しておき，前記割り出し要求を受け付けた場合に，当該割り出し要求のライセンスの識別情報をもとに，前記振分け情報から振分け候補となるサーバを選択し，選択したサーバでのライセンスの使用状態を前記ライセンス制御部へ問い合わせる処理過程と，
前記選択されたサーバのライセンスの使用状態の問い合わせに対して当該ライセンス管理情報から該当するライセンスの使用可または使用不可を応答する処理過程と，
前記問い合わせに対する応答に含まれるライセンスの使用可または使用不可に基づいて，前記振分け候補のサーバから振分け対象となるサーバを特定する処理過程と，
前記振分け対象のサーバと当該クライアントのコネクションを管理し，当該コネクションが確立したときに，前記振分け対象のサーバの識別情報と当該コネクションに使用されるライセンスの識別情報とを通知する処理過程と，
前記コネクションが確立した場合に，接続したサーバで使用されるライセンスについて前記ライセンス管理情報の使用数と使用状態を更新する処理過程とを備える
ことを特徴とするサーバ負荷分散方法。
【請求項７】
サーバアクセスが可能なライセンスを有する複数のクライアントからのアクセスを，自装置が管理するライセンス情報に基づいてサービスを提供する複数のサーバへ分散させるサーバ負荷分散プログラムであって，
前記クライアントと前記サーバとに接続されるコンピュータを，
複数のサーバがそれぞれ管理するライセンス情報を収集し，サーバおよびライセンス毎にライセンスの使用可能数と使用数と使用可否を記録するライセンス管理情報に基づいて前記複数サーバ各々のライセンスの使用状態を管理する処理と，クライアントのアクセスの振分け対象となりうる振分け候補サーバにおけるライセンスの使用状態の問い合わせに対して，前記ライセンス管理情報から該当するライセンスの使用可または使用不可を応答する処理と，前記クライアントのコネクションが確立した場合に接続したサーバで使用されるライセンスについて前記ライセンス管理情報の使用数と使用状態を更新する処理とを行うライセンス制御部と，
クライアントからサーバのアクセス要求があった場合に，当該アクセス要求のパケットから，要求したクライアントが有するライセンスの識別情報を抽出し，抽出されたライセンスの識別情報に基づいて振分け対象の割り出し要求を発行する処理と，前記割り出し要求に対する応答を受け付け，当該応答で特定された振分け対象のサーバと当該クライアントとのコネクションを管理し，当該コネクションが確立したとき，前記振分け対象のサーバの識別情報と当該コネクションに使用されるライセンスの識別情報とを前記ライセンス制御部へ通知する処理とを行うコネクション管理部と，
予め，前記複数のサーバ各々と振分けが可能なライセンスとの対応関係を定義した振分け情報を保持し，前記割り出し要求を受け付けた場合に，当該割り出し要求のライセンスの識別情報をもとに当該振分け情報から振分け候補となるサーバを選択し，選択したサーバでのライセンスの使用状態を前記ライセンス制御部へ問い合わせる処理と，前記問い合わせに対する応答に含まれるライセンスの使用可または使用不可に基づいて，前記振分け候補のサーバから振分け対象となるサーバを特定して前記コネクション管理部へ通知する処理とを行う振分け処理部として機能させる
ことを特徴とするサーバ負荷分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，サーバのライセンス情報によるサーバ負荷分散技術に関する。より詳しくは，サーバ負荷分散装置とサーバとが通信によって連動し，サーバのライセンス管理と連動させた効率的なコネクションの負荷分散処理を実現するサーバ負荷分散装置，方法およびプログラムに関する。
【背景技術】
【０００２】
インターネットの普及によりインターネット利用者数は増加しており，それに従いインターネットサイトへのリクエストも増加している。リクエストが増加すると，Ｗｅｂサイトの応答が遅くなったり，Ｗｅｂサイトに接続しにくくなったり等，サービスの低下が懸念される。
【０００３】
そのため，Ｗｅｂサイトの能力が不足してきた場合にサーバを容易に拡張できる技術，故障発生時にサービスを停止させない技術，サービスを中断せずに保守・修理する技術が提供されている（特許文献１参照）。
【０００４】
サーバ負荷分散装置は，仮想サーバとして代表アドレス（仮想ＩＰアドレス）を持ち，仮想ＩＰアドレスへのアクセスを，所定の分散ポリシに基づいて振分け対象となる複数のサーバのいずれか一つのサーバへ分散し，セッションの制御および連続的サービスの維持を行う。
【０００５】
また，アクセスの分散ポリシとして，一定の順序に基づく選択（ラウンドロビン），最小クライアント数や最小ＣＰＵ負荷率等に基づく選択等，いくつかの静的または動的分散方式が知られている。
【非特許文献１】特開２０００−２６８０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
サーバ負荷分散装置によって，分散されたサービスに対して，振分け先のサーバ上でライセンス数によるアクセス制御が行われていることがある。例えば，アプリケーションが使用するポート等に対して接続できるクライアント数をＩＰアドレス等で識別し，接続可能なクライアント数の上限値を設けてアクセス制御することがある。
【０００７】
この場合に，サーバに振分けられたサービスに対して使用可能なライセンス数が上限値に達していると，振分けが無効（ＮＧ）となることがある。
【０００８】
このような状態を防止するために，従来のサーバ負荷分散装置では，対象サービスのコネクション数等をライセンス数と見なし，ライセンス数の上限値と同じ値で，各サーバへのアクセス数（コネクション数）を制御していた。
【０００９】
しかし，サーバ毎にライセンス数の上限値をユーザが意識して設定する必要があり，設定作業が煩雑化するという問題が生じていた。
【００１０】
また，前記の設定作業を行ったとしても，コネクション数＝ライセンス数とは必ずしもならないため，効率的なアクセス負荷分散が行えないという問題があった。
【００１１】
本発明の目的は，サーバのライセンス情報を取得して，各サーバのライセンス使用状態を擬似的に管理し，管理するライセンス使用状態に基づいてアクセスの振分け先となるサーバを決定する処理を行って，ライセンス数の上限値超過によるサーバのアクセス拒否を生じさせるような振分けを少なくすることができるサーバ負荷分散装置を提供することである。
【００１２】
さらに，本発明の別の目的は，前記サーバ負荷分散装置が実行する各処理過程でなるサーバ負荷分散方法を提供することである。
【００１３】
さらに，本発明の別の目的は，コンピュータを前記サーバ負荷分散装置として機能させるためのサーバ負荷分散プログラムを提供することである。
【課題を解決するための手段】
【００１４】
本発明では，サーバ負荷分散装置とサーバとが通信によって連動し，サーバ負荷分散装置がサーバ側で保持されるライセンス情報を収集し，収集したライセンス情報をもとに各サーバのライセンス使用状態を疑似的に管理して，各サーバのライセンス使用状態に基づいて振分け対象とするサーバを決定することによって，効率的な負荷分散を実現する。
【００１５】
また，サーバ負荷分散装置が，定期的に各サーバのライセンス状態を監視して，各サーバのライセンス使用状態を疑似的に管理することによって，また，振分け対象となるサーバが，ライセンス状態の変更を検出しサーバ負荷分散装置へ通知することによって，適宜かつ柔軟な負荷分散を実現する。
【００１６】
開示する装置は，複数のサーバがそれぞれ管理するライセンス情報を収集し，サーバおよびライセンス毎にライセンスの使用可能数と使用数と使用可否を記録するライセンス管理情報に基づいて複数サーバ各々のライセンスの使用状態を管理する処理と，クライアントのアクセスの振分け対象となりうる振分け候補サーバにおけるライセンスの使用状態の問い合わせに対して，ライセンス管理情報から該当するライセンスの使用可または使用不可を応答する処理と，クライアントのコネクションが確立した場合に接続したサーバで使用されるライセンスについてライセンス管理情報の使用数と使用状態を更新する処理とを行うライセンス制御部を備える。さらに，クライアントからサーバのアクセス要求があった場合に，アクセス要求のパケットから，要求したクライアントが有するライセンスの識別情報を抽出し，抽出されたライセンスの識別情報に基づいて振分け対象の割り出し要求を発行する処理と，割り出し要求に対する応答を受け付け，この応答で特定された振分け対象のサーバとクライアントとのコネクションを管理し，コネクションが確立したとき，振分け対象のサーバの識別情報とコネクションに使用されるライセンスの識別情報とをライセンス制御部へ通知する処理とを行うコネクション管理部を備える。さらに，予め，複数のサーバ各々と振分けが可能なライセンスとの対応関係を定義した振分け情報を保持し，割り出し要求を受け付けた場合に，割り出し要求のライセンスの識別情報をもとに振分け情報から振分け候補となるサーバを選択し，選択したサーバでのライセンスの使用状態をライセンス制御部へ問い合わせる処理と，問い合わせに対する応答に含まれるライセンスの使用可または使用不可に基づいて，振分け候補のサーバから振分け対象となるサーバを特定してコネクション管理部へ通知する処理とを行う振分け処理部とを備える。
【００１７】
前記開示する装置では，ライセンス制御部が，複数のサーバがそれぞれ管理するライセンス情報を収集し，サーバおよびライセンス毎にライセンスの使用可能数と使用数と使用可否を記録するライセンス管理情報を記憶部に保持しておき，ライセンス管理情報に基づいて各サーバのライセンスの使用状態を管理する。
【００１８】
そして，コネクション管理部は，クライアントからサーバのアクセス要求があった場合に，アクセス要求のパケットから，要求したクライアントが有するライセンスの識別情報を抽出し，抽出されたライセンスの識別情報に基づいて振分け対象の割り出し要求を振分け処理部に対して発行する。
【００１９】
振分け処理部は，予め，複数サーバ各々と振分けが可能なライセンスとの対応関係を定義した振分け情報を保持しておき，割り出し要求を受け付けた場合に，割り出し要求のライセンスの識別情報をもとに，振分け情報から振分け候補となるサーバを選択し，選択したサーバでのライセンスの使用状態を前記ライセンス制御部へ問い合わせる。ライセンス制御部は，選択されたサーバのライセンスの使用状態の問い合わせに対して，ライセンス管理情報から該当するライセンスの使用可または使用不可を応答する。
【００２０】
そして，振分け処理部は，問い合わせに対する応答に含まれるライセンスの使用可または使用不可に基づいて，振分け候補のサーバから振分け対象となるサーバを特定する。
【００２１】
コネクション管理部は，振分け対象のサーバとクライアントのコネクションを管理し，このコネクションが確立したときに，振分け対象のサーバの識別情報とコネクションに使用されるライセンスの識別情報とをライセンス制御部へ通知する。
【００２２】
そして，ライセンス制御部は，コネクションが確立した場合に，接続したサーバで使用されるライセンスについてライセンス管理情報の使用数と使用状態を更新する。
【００２３】
これにより，開示の装置は，サーバから収集したライセンス情報からライセンス管理情報を生成し，コネクションの確立／解放に応じてライセンス管理情報の該当するライセンスの使用状態（使用可または使用不可）を更新し，クライアントのアクセス要求をサーバへ振り分ける際に，各サーバに対応するライセンスとそのライセンスの使用状態をもとに，ライセンスの使用が可能なサーバを振分け対象とすることができる。
【発明の効果】
【００２４】
本発明によれば，各サーバのライセンス情報とその使用状態（使用可否）を擬似的に管理し，使用可能なライセンス数の上限値を超過しないサーバへ，クライアントのアクセスを振り分けることができる。よって，ライセンス数上限の超過を理由とするサーバのアクセス拒否を生じさせるような振分けを少なくさせることができる。
【００２５】
また，サーバ負荷分散装置は，サーバのライセンス情報を自動的に取得することができる。そのため，サーバ負荷分散装置に意識的にライセンス情報の定義情報等を設定するユーザ作業が不要になる。
【００２６】
また，中継点であるサーバ負荷分散装置内においてサーバのライセンスの使用状態を管理し，アクセスの振分け先を決定できるため，クライアントのアクセスから振分け先の決定までの処理時間を，従来に比べて短くすることができる。
【００２７】
また，サーバに対して，ライセンスが必要なサービスの状態を定常的に監視することができる。よって，ライセンスに関連したサービスのダウン（実行不能）の発生，ライセンス数の変更等に対して，タイムリーかつ柔軟に追従することができる。
【００２８】
また，サーバ側からライセンスの状態変更の通知を受けることができるので，同様に，変更状態に柔軟に追従することができる。
【発明を実施するための最良の形態】
【００２９】
図１は，本発明の実施の形態における構成例を示す図である。
【００３０】
サーバ負荷分散装置１は，振分け対象となる複数のサーバ２各々とＬＡＮ３を介して接続され，また，サーバ２のサービスを享受できるライセンスを有するクライアント４とインターネット５を介して接続される。
【００３１】
サーバ負荷分散装置１は，サーバ２のライセンス情報を管理し，サーバ２各々のライセンスの使用状態に基づいて，クライアント４のアクセス要求を一つのサーバ２へ振り分け，クライアント４とサーバ２とのコネクションを制御する。クライアント４のアクセスとは，コネクション確立／解放要求，データ等の受信パケットである。
【００３２】
サーバ負荷分散装置１は，ライセンス制御部１１とコネクション管理部１３と振分け処理部１５とを備える。
【００３３】
ライセンス制御部１１は，各サーバ２のライセンス情報を収集し，各ライセンスの使用状態を管理する。
【００３４】
コネクション管理部１３は，クライアント４からのコネクション確立を管理し，振分け対象となったサーバ２へのコネクションの確立／解放，クライアント（クライアントＩＰ）の追加／削除等をライセンス制御部１１へ通知する。
【００３５】
振分け処理部１５は，振分け情報とライセンス情報とに基づいて振分け対象のサーバを決定する。振分け情報は，サーバ２各々と振分けが可能なライセンスとの対応関係を定義した情報である。
【００３６】
サーバ２は，それぞれ，ライセンス管理部（ライセンス管理エージェント）２１を備える。
【００３７】
ライセンス管理エージェント２１は，サーバ負荷分散装置１からのライセンス情報要求に対して，自サーバが管理するライセンス情報を通知する。
【００３８】
以下，サーバ負荷分散装置１およびサーバ２の処理を，より詳細に説明する。
【００３９】
図２は，サーバ２のライセンス管理エージェント２１の処理を説明するための図である。
【００４０】
サーバ２のライセンス管理エージェント２１は，自装置が管理するライセンスに関するライセンス情報７１を保持してライセンスを管理する。
【００４１】
ライセンス情報７１は，ライセンス管理エージェント２１のユーザ定義情報である。
【００４２】
図３に，ライセンス情報７１のデータ構成例を示す。
【００４３】
ライセンス情報７１は，ライセンスの種別を示す「ライセンス種別（ライセンスＡ，ライセンスＢ等）」，使用されるライセンスを識別するキーを設定した「ライセンス識別キー（ＵＲＬ：ａａａ，ＵＲＬ：ｂｂｂ，ＵＲＬ：ｃｃｃ等）」，使用可能なライセンス数の上限値を設定する「使用可能ライセンス数」，ライセンスの使用数をカウントする場合のカウント対象となる資源（カウント対象資源）を設定する「ライセンスカウント方法（コネクション毎，クライアントＩＰ毎等）」の各データ項目からなる。
【００４４】
「ライセンスカウント方法」の“コネクション毎”は，コネクション単位でのカウント，すなわち，ライセンスを使用するコネクション数をライセンスの使用数とすることを表す。同様に，“クライアントＩＰ毎”は，クライアントＩＰ単位でカウントすることを表す。
【００４５】
ライセンス管理エージェント２１は，ライセンス情報応答処理として，サーバ負荷分散装置１のライセンス制御部１１のライセンス情報要求を受け付けると，ライセンス制御部１１へライセンス情報７１を送信する。
【００４６】
また，ライセンス管理エージェント２１は，ライセンス状態監視応答処理として，ライセンス制御部１１のライセンス生存確認を受け付けると，ライセンスの状況，例えば，サービス使用の可否，ライセンスの使用可能数の変更等を応答する。
【００４７】
さらに，ライセンス管理エージェント２１は，ライセンス状態管理処理として，自サーバが管理するライセンス数の上限値，ライセンスカウント方法等に変更があった場合に，ライセンス制御部１１にライセンス変更通知を発行する。
【００４８】
図４は，サーバ負荷分散装置１の各処理部の処理を説明するための図である。
【００４９】
ライセンス制御部１１は，ライセンス情報要求処理として，サーバ負荷分散装置１の起動のとき，または，サーバ２からライセンス変更通知を受けたときに，ライセンス情報要求を各サーバ２のライセンス管理エージェント２１へ送信し，ライセンス情報７１を収集する。そして，収集したライセンス情報７１からライセンス管理情報７３を生成してライセンス管理情報記憶部（図示しない）で保持する。
【００５０】
図５は，ライセンス管理情報７３のデータ構成例を示す図である。
【００５１】
ライセンス管理情報７３は，サーバの識別情報（ＩＰアドレス）を設定する「サーバ識別情報（ＩＰアドレスＡ，ＩＰアドレスＢ等）」，「ライセンス種別（ライセンスＡ，ライセンスＢ等）」，「ライセンス識別キー（ＵＲＬ：ａａａ，ＵＲＬ：ｂｂｂ，ＵＲＬ：ｃｃｃ等）」，「使用可能ライセンス数」，ライセンスの使用数をカウントする場合のカウント対象資源を設定する「ライセンスカウント方法」，使用されている各ライセンスのカウント対象資源による使用数を示す「ライセンス使用数」，ライセンスが使用可能か使用不可能かを示す「ライセンス状態」の各データ項目からなる。
【００５２】
「ライセンス状態」の“可”は，ライセンス使用数が使用可能ライセンス数に対して所定の割合／数以下であり，ライセンスの使用が可能な状態を示す。また，“否”は，ライセンス使用数が使用可能ライセンス数に対して所定の割合／数を超過して，当該時点でライセンスの使用が不可能な状態を示す。
【００５３】
さらに，ライセンス制御部１１は，ライセンス状態監視処理として，所定の期間または契機で，ライセンス管理エージェント２１へライセンス生存確認を送信し，ライセンス管理エージェント２１からライセンスの状況，例えば，ダウンしたサービス，使用可能ライセンス数の変更等の情報を受信する。
【００５４】
また，ライセンス情報７１に変更があったサーバ２または新規に追加されたサーバ２のライセンス管理エージェント２１からライセンス変更通知を受け付けると，通知したサーバ２に対してライセンス情報要求を送信して，再問い合わせを行う。
【００５５】
これにより，サーバ２のライセンス情報を自動的に取得するため，ユーザがサーバ負荷分散装置１に意識的にライセンス情報の定義情報等を設定する作業が不要になる。また，サーバ２でライセンスに関連したサービスがダウンした場合やライセンス数が変更された場合も，その変更状態をすぐにライセンス管理情報７３に反映させることができる。
【００５６】
さらに，ライセンス制御部１１は，振分け可否応答処理として，振分け処理部１５から問い合わせ情報を受け付ける。
【００５７】
問い合わせ情報は，後述する振分け情報７７に基づいて生成され，振分け候補として選択されたサーバ２の識別子（サーバ２のＩＰアドレス）とその振分けキー（サービス種別またはライセンス識別キー）とが設定されている。
【００５８】
ライセンス制御部１１は，問い合わせ情報をもとに，ライセンス管理情報７３から該当するサーバ２のライセンスを割り出し，ライセンスの使用数，ライセンス使用状態（使用可または使用不可）を確認し，サーバ２の該当するライセンスの使用可否を応答する。ライセンス管理情報７３のライセンス状態が“可”であれば「使用可（振分け可）」を応答し，ライセンス状態が“否”であれば「使用不可（振分け不可）」を応答する。
【００５９】
さらに，ライセンス制御部１１は，ライセンス状態管理処理として，コネクション管理部１３から，後述するライセンス用コネクション情報７５に基づくコネクション確立通知を受け付けると，ライセンス管理情報７３から該当するサーバ２のライセンスを割り出し，コネクション確立通知をもとにライセンス使用数をカウント対象資源により加算する。
【００６０】
また，コネクション解放通知を受け付けると，同様にしてライセンス使用数を減算する。さらに，コネクション確立／解放通知によって使用数が変更された場合に，使用可能ライセンス数と使用数とをもとに，ライセンスの使用状態（可／否）を判定して，変更する。
【００６１】
コネクション管理部１３は，クライアント４の通信をサーバ２に振り分け，コネクション毎に管理する。
【００６２】
コネクション管理部１３は，クライアント４からの受信パケットが新規コネクション確立要求である場合に，振分け対象要求処理として，振分け処理部１５に対して，クライアント４の受信パケットからライセンス識別キーを抽出し，ライセンス識別キーが付いた振分け対象の割り出し要求を通知する。
【００６３】
また，コネクション管理部１３は，振分け処理部１５から振分け対象のサーバ２を示す応答情報を受けて，要求したクライアント４と振分け対象のサーバ２とのコネクションを管理し，このコネクションのライセンス用コネクション情報７５を生成し，ライセンス用コネクション情報７５を含むコネクション確立通知をライセンス制御部１１へ通知する。
【００６４】
また，要求したクライアント４と振分け対象のサーバ２とのコネクション解放等があった場合に，該当するライセンス用コネクション情報７５を含むコネクション解放通知をライセンス制御部１１へ通知する。
【００６５】
図６は，ライセンス用コネクション情報７５のデータ構成例を示す図である。
【００６６】
ライセンス用コネクション情報７５は，「サーバの識別情報」，「ライセンス識別キー」，「ライセンスカウント資源（コネクション／クライアントＩＰ等）」の各データ項目からなる。
【００６７】
振分け処理部１５は，振分け情報７７を保持して，振分け対象特定処理として，コネクション管理部１３から振分け対象割り出し要求を受け付け，振分け情報７７をもとに振分け対象割り出し要求のライセンス識別キーに合致する振分け候補サーバを選択する。
【００６８】
さらに，振分け候補サーバに選択されたサーバ２の振分け可否をライセンス制御部１１へ問い合わせる。
【００６９】
そして，振分け処理部１５は，ライセンス制御部１１から，振分け候補サーバに選択されたサーバ２の振分け可否を示す応答情報をもとに，振分け対象となるサーバ２を決定し，コネクション管理部１３へ通知する。
【００７０】
振分け情報７７は，振分け対象となりうるサーバ２と振分けが可能なライセンスとの対応関係が設定され，ライセンス管理情報７３の作成処理時に元情報として参照される。
【００７１】
図７は，振分け情報７７のデータ構成例を示す図である。
【００７２】
振分け情報７７は，振分け対象となるサーバ２を識別する「サーバ識別情報」，サーバ２に振り分けるライセンス識別キーを設定した「振分けキー（サービス種別，ライセンス識別キー等）」の各データ項目からなる。
【００７３】
このように，ライセンス情報およびその使用状態をサーバ２へ問い合わせる必要がなく，サーバ負荷分散装置１内で保持するライセンス管理情報７３を使用して振分け対象となるサーバ２を決定できるため，クライアント４のアクセスに対する振分け時の処理時間を従来に比べて短くすることができる。
【００７４】
図８〜図１２は，サーバ負荷分散装置１の各処理の処理フロー図である。
【００７５】
図８は，ライセンス情報を収集する処理の処理フロー図である。
【００７６】
図８に示す処理フローにおいて，ライセンス制御部１１は，振分け情報７７を参照して振分け対象となりうるサーバ２を選択し，選択したサーバ２のライセンス管理エージェント２１に対し，ライセンス情報要求Ｐ１を発行する（ステップＳ１）。
【００７７】
ライセンス情報要求Ｐ１は，図１３（Ａ）に示すように，プロトコル識別子，パケット種別（ライセンス情報要求１）で構成されている。
【００７８】
サーバ２のライセンス管理エージェント２１は，ライセンス情報要求Ｐ１を受け，自サーバが管理している全てのライセンスのライセンス情報を内容とするライセンス情報応答Ｐ２を応答する（ステップＳ２）。
【００７９】
ライセンス情報応答Ｐ２は，図１３（Ｂ）に示すように，プロトコル識別子，パケット種別（ライセンス情報応答１），ライセンス種別（ライセンスＡ等），ライセンス識別キー（ＵＲＬ：ａａａ等）で構成されている。
【００８０】
ライセンス制御部１１は，ライセンス情報応答Ｐ２を受け，振分け情報７７の振分けキーに対応するライセンス（例えば，振分けキーが“ＨＴＴＰ通信”かつライセンス識別キーが“ＵＲＬ：ａａａ”であるライセンス）を識別し，この情報をライセンス管理情報７３に設定する（ステップＳ３）。
【００８１】
さらに，ライセンス制御部１１は，ライセンス管理エージェント２１に対し，ライセンス情報要求Ｐ３を発行する（ステップＳ４）。
【００８２】
ライセンス情報要求Ｐ３は，図１４（Ａ）に示すように，プロトコル識別子，パケット種別（ライセンス情報要求２），ライセンス種別（ライセンスＡ等）で構成されている。
【００８３】
ライセンス管理エージェント２１は，ライセンス情報要求Ｐ３を受け，要求されたライセンスに対するライセンス情報応答Ｐ４を応答する（ステップＳ５）。
【００８４】
ライセンス情報応答Ｐ４は，図１４（Ｂ）に示すように，プロトコル識別子，パケット種別（ライセンス情報応答２），ライセンス種別（ライセンスＡ等），使用可能ライセンス数，ライセンスカウント方法（コネクション毎等）で構成されている。
【００８５】
ライセンス制御部１１は，ライセンス情報応答Ｐ４を受け，ライセンス管理情報７３の対応するライセンスの項目に，ライセンス情報応答Ｐ４の追加情報を設定する（ステップＳ６）。
【００８６】
図９は，ライセンスの状態を監視する処理の処理フロー図である。
【００８７】
図９に示す処理フローにおいて，ライセンス制御部１１は，ライセンス管理情報７３に設定されたサーバ２に対して，ライセンス状態監視確認Ｐ５を発行して，ライセンスの状態監視を行う（ステップＳ１０）。
【００８８】
ライセンス状態監視確認Ｐ５は，図１５（Ａ）に示すように，プロトコル識別子，パケット種別（ライセンス情報要求３），ライセンス種別（ライセンスＡ等）で構成されている。
【００８９】
ライセンス管理エージェント２１は，ライセンス状態監視確認Ｐ５を受け，要求されたライセンスに対する使用状況を内容とするライセンス状態監視応答Ｐ６を応答する（ステップＳ１１）。
【００９０】
ライセンス状態監視応答Ｐ６は，図１５（Ｂ）に示すように，プロトコル識別子，パケット種別（ライセンス情報応答３），ライセンス種別（ライセンスＡ等），状態（使用可／使用不可）で構成されている。
【００９１】
ライセンス制御部１１は，ライセンス状態監視応答Ｐ６を受け，ライセンス管理情報７３の該当するサーバとライセンスのライセンス状態（使用状態）に“可/不可”を記録する（ステップＳ１２）。
【００９２】
一定時間（例えば5秒程度）待機して（ステップＳ１３），ステップＳ１０の処理へ戻り，サーバ負荷分散装置１の処理終了までＳ１０〜Ｓ１３の処理を繰り返す。
【００９３】
図１０は，コネクション確立時に振分け対象を特定し，ライセンス管理情報に反映させる処理の処理フロー図である。
【００９４】
図１０の処理フローにおいて，コネクション管理部１３は，クライアント４からのアクセスが新規コネクション確立要求である場合に，受信したパケットから，コネクション情報（宛先ＩＰアドレス，宛先ポート番号，送信元ＩＰアドレス，送信元ポート番号等）とライセンス識別キーを取り出し，振分け処理部１５に通知する（ステップＳ２０）。
【００９５】
振分け処理部１５は，受け取ったコネクション情報と振分け情報７７とをもとに「振分けキー」に一致するサーバ２を選択して振分け候補サーバとし，選択した振分け候補サーバのサーバ識別情報とライセンス識別キーとをライセンス制御部１１へ通知する（ステップＳ２１）。
【００９６】
ライセンス制御部１１は，ライセンス管理情報７３を検索し，振分け候補サーバのライセンス情報からライセンス識別キーが一致するライセンスを検索する。一致したライセンスのライセンス状態（可／不可）を応答する（ステップＳ２２）。
【００９７】
振分け処理部１５は，ライセンス制御部１１からの応答を受けて，振分け候補サーバから使用可能で振分け条件に一致するサーバ２を一つ選択し，コネクション管理部１３へ通知する（ステップＳ２３）。
【００９８】
コネクション管理部１３は，振分け対象として選択されたサーバ２とクライアント４のコネクションが確立したときに，コネクションを確立したサーバ２のサーバ識別情報，ライセンス識別キー，カウント対象資源等の情報をライセンス制御部１１へ通知する（ステップＳ２４）。
【００９９】
ライセンス制御部１１は，コネクション管理部１３の通知を受けて，ライセンス管理情報７３の該当するライセンスの使用数をライセンスカウント方法に基づいて加算する（ステップＳ２５）。
【０１００】
図１１は，コネクション解放をライセンス管理情報に反映させる処理の処理フロー図である。
【０１０１】
図１１の処理フローにおいて，コネクション管理部１３は，コネクションまたはクライアント４の資源の解放があった場合に，該当するサーバ２のサーバ識別情報，ライセンス識別キー，解放されたカウント対象資源（コネクション／クライアントＩＰ等）等の情報をライセンス制御部１１へ通知する（ステップＳ３０）。
【０１０２】
ライセンス制御部１１は，コネクション管理部１３の通知を受けて，ライセンス管理情報の該当するライセンスの使用数をライセンスカウント方法に基づいて減算する（ステップＳ３１）。
【０１０３】
図１２は，ライセンス情報の変更をライセンス管理情報に反映させる処理の処理フロー図である。
【０１０４】
図１２の処理フローにおいて，ライセンス管理エージェント２１は，サーバの初期起動の場合または自サーバ内のライセンスの状況が変更された場合（例えば，サービスが実行不能状態となった場合，使用可能ライセンス数の変更があった場合等）に，ライセンス状態変更通知Ｐ７をライセンス制御部１１へ通知する（ステップＳ４０）。
【０１０５】
ライセンス状態変更通知Ｐ７は，図１６に示すように，プロトコル識別子，パケット種別（ライセンス状態変更），サーバ識別情報（ＩＰアドレスＡ等）で構成されている。
【０１０６】
ライセンス制御部１１は，ライセンス状態変更通知Ｐ７を受け，該当するサーバ２に対し，図１３（Ａ）のライセンス情報要求Ｐ１を発行して，ライセンス情報７１を取得する（ステップＳ４１）。
【０１０７】
以上，本発明をその実施の形態により説明したが，本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【０１０８】
また，サーバ負荷分散装置１は，コンピュータにより読み取られ実行されるプログラムとして実施することが可能である。サーバ負荷分散装置１を実現するプログラムは，コンピュータが読み取り可能な，可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記録媒体に格納することができ，これらの記録媒体に記録して提供され，または，通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施の形態における構成例を示す図である。
【図２】サーバのライセンス管理エージェントの処理を説明するための図である。
【図３】ライセンス情報のデータ構成例を示す図である。
【図４】サーバ負荷分散装置の各処理部の処理を説明するための図である。
【図５】ライセンス管理情報のデータ構成例を示す図である。
【図６】ライセンス用コネクション情報のデータ構成例を示す図である。
【図７】振分け情報のデータ構成例を示す図である。
【図８】ライセンス情報を収集する処理の処理フロー図である。
【図９】ライセンスの状態を監視する処理の処理フロー図である。
【図１０】コネクション確立時に振分け対象を特定し，ライセンス管理情報に反映させる処理の処理フロー図である。
【図１１】コネクション解放をライセンス管理情報に反映させる処理の処理フロー図である。
【図１２】ライセンス情報の変更をライセンス管理情報に反映させる処理フロー図である。
【図１３】ライセンス情報要求Ｐ１とライセンス情報応答Ｐ２とのデータ構成例を示す図である。
【図１４】ライセンス情報要求Ｐ３とライセンス情報応答Ｐ４とのデータ構成例を示す図である。
【図１５】ライセンス状態監視確認Ｐ５とライセンス状態監視応答Ｐ６とのデータ構成例を示す図である。
【図１６】ライセンス状態変更通知Ｐ７のデータ構成例を示す図である。
【符号の説明】
【０１１０】
１  サーバ負荷分散装置
１１  ライセンス制御部
１３  コネクション管理部
１５  振分け処理部
２  サーバ
２１  ライセンス管理部（エージェント）
３  ＬＡＮ
４  クライアント
５  インターネット
【図１】
2010039661.tif 000003
【図２】
2010039661.tif 000004
【図３】
2010039661.tif 000005
【図４】
2010039661.tif 000006
【図５】
2010039661.tif 000007
【図６】
2010039661.tif 000008
【図７】
2010039661.tif 000009
【図８】
2010039661.tif 000010
【図９】
2010039661.tif 000011
【図１０】
2010039661.tif 000012
【図１１】
2010039661.tif 000013
【図１２】
2010039661.tif 000014
【図１３】
2010039661.tif 000015
【図１４】
2010039661.tif 000016
【図１５】
2010039661.tif 000017
【図１６】
2010039661.tif 000018