(57)【要約】【課題】              トランザクションの増減に瞬時に対応できる負荷分散機能を備えたスケールアウト型のサーバシステム及び課金機能を提供する。【解決手段】          サーバ群２を構成する各サーバをトランザクションを処理可能な状態にしておき、サーバ群２のフロントエンドに負荷分散装置１を接続する。負荷分散装置１は、サーバ毎にトランザクションの送信先にするか否かの指示を受け付ける機能（サーバ状態管理部７）と、トランザクションの送信先とされたサーバに対してトランザクションを送信する機能（負荷分散部６）とを備えて、クライアント３から送られたトランザクションをサーバ群２側に送信する。また、負荷分散装置１は、サーバ使用時間計測部８と、サーバ課金部９を備えて、トランザクションの送信先に指定された時間を集計し従量制の課金処理を実行する。【選択図】            図１
2006139578.tif 000002
【特許請求の範囲】
【請求項１】
各サーバがトランザクションを処理可能な状態にある複数のサーバ群のフロントエンドに位置し、クライアントからのトランザクションを分散して送信する負荷分散装置であって、
前記サーバ毎にトランザクションの送信先とするか否かを管理するサーバ状態管理部と、
トランザクション送信先とされたサーバに対してトランザクションを送信する負荷分散部と、を備えたこと、
を特徴とする負荷分散装置。
【請求項２】
請求項１に記載の負荷分散装置において、更に、
トランザクション送信先とされた時間を前記サーバ毎に測定するサーバ使用時間計測部を備えたこと、
を特徴とする負荷分散装置。
【請求項３】
請求項２に記載の負荷分散装置において、
前記サーバ使用時間計測部は、
少なくともサーバＩＤ、トランザクションの送信先であるか否か、トランザクションの送信先となった時間、トランザクションの送信先となった累計時間とを含むサーバ使用時間管理テーブルを備えて、
各サーバについて、所定期間におけるトランザクションの送信先とされた累計時間をそれぞれ測定すること、
を特徴とする負荷分散装置。
【請求項４】
請求項２又は３に記載の負荷分散装置において、
前記サーバ使用時間測定手段から出力されるサーバ使用時間データによる課金処理を行って請求額を出力するサーバ課金部を備えたこと、
を特徴とする負荷分散装置。
【請求項５】
請求項４に記載の負荷分散装置において、
前記サーバ課金部は、
少なくともサーバＩＤ、トランザクションの送信先であるか否か、トランザクションの送信先となった時間、トランザクションの送信先となった累計時間と、累積料金情報とを含むサーバ課金情報管理テーブルを備えて、
前記各サーバについて、所定期間におけるトランザクションの送信先とされた時間に基づいた課金処理を実行すること、
を特徴とする負荷分散装置。
【請求項６】
各サーバがトランザクションを処理可能な状態にある複数のサーバ群のフロントエンドに、請求項１乃至５いずれか一に記載の負荷分散装置を配置し、トランザクション送信先のサーバ数の増減によって負荷分散を行うサーバシステム。
【請求項７】
サーバ群を構成する各サーバをトランザクションを処理可能な状態にしておき、
前記サーバ群のフロントエンドに位置する負荷分散装置が、
前記サーバ毎にトランザクションの送信先にするか否かの指示を受け付けるステップと、
前記トランザクションの送信先とされたサーバに対してトランザクションを送信するステップと、を繰り返して、トランザクションの送信先としたサーバ数の増減により処理能力の適正化を行うことを特徴とする負荷分散方法。
【請求項８】
サーバ群を構成する各サーバをトランザクションを処理可能な状態にしておき、
前記サーバ群のフロントエンドに位置する負荷分散装置が、
前記サーバ毎にトランザクションの送信先にするか否かの指示を受け付けるステップと、
前記トランザクションの送信先とされたサーバに対してトランザクションを送信するステップと、
トランザクションの送信先に指定された時間をサーバ毎に集計するステップと、を繰り返して、前記サーバ毎に集計した時間を、負荷分散型サーバシステムに含まれる各サーバの使用時間として出力すること、
を特徴とするサーバの使用時間の計測方法。
【請求項９】
サーバ群を構成する各サーバをトランザクションを処理可能な状態にしておき、
前記サーバ群のフロントエンドに位置する負荷分散装置が、
前記サーバ毎にトランザクションの送信先にするか否かの指示を受け付けるステップと、
前記トランザクションの送信先とされたサーバに対してトランザクションを送信するステップと、
トランザクションの送信先に指定された時間をサーバ毎に集計するステップと、を繰り返すとともに、
所定時間毎に前記集計した時間に基づいた従量制の課金処理を実行すること、
を特徴とする課金方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバシステムの負荷分散を行う負荷分散装置、サーバシステム及び方法に関し、特に、システム全体のパフォーマンスを向上させるために、スケールアウト（Ｓｃａｌｅ  ｏｕｔ）を行う負荷分散装置、サーバシステム及び方法に関する。
【背景技術】
【０００２】
従来、複数台のサーバからなるサーバシステムにおけるトランザクションの処理能力を改善するための方策として、サーバシステムのフロントエンドに負荷分散装置を置き、負荷の軽い状態にあるサーバに対し優先的にトランザクションを送信し、処理を行わせる技術が知られている。
【０００３】
例えば、特開２００３−２９６２８９号公報では、トランザクションを受け付け、処理するサーバ内にＣＰＵ使用時間を測定する手段を設け、測定結果を負荷分散装置がネットワークを介して入手し、その測定結果をもとにサーバの負荷状況の軽いサーバを決定し、該決定されたサーバに優先的にトランザクションが送信する方法が紹介されている。
【０００４】
しかしながら、同公報に示されたようなシステム構成では、トランザクションの量に応じてシステムの全体処理能力を向上させることは難しく、用意したサーバの処理能力の総和を超えるトランザクションが送信される場合には、対応できないという課題がある。
【０００５】
そこで、注目する処理に関するサーバの数を増減することで、負荷の分散を行い、システム全体のパフォーマンスを向上させることができるようにしたスケールアウト型の負荷分散機能を備えたサーバシステムも知られている。例えば、特開２００２−２５９３５４号公報には、特定のコンテンツへの配信要求の数に応じて、該コンテンツを配信するサーバの数を増減する方法が紹介されている。
【特許文献１】特開２００３−２９６２８９号公報
【特許文献２】特開２００２−２５９３５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら上記した従来のスケールアウト型の負荷分散機能を備えたサーバシステムでは、処理すべきトランザクション量が急激に増加し、負荷分散先のサーバ数を増加させて、速やかにシステム全体の処理能力を改善させたい場合の応答性に欠け、システム全体の処理能力を瞬時に適正化できないという問題点があった。例えば、サーバ数の増操作の場合、サーバの電源ＯＮ操作やサービス変更操作から、実際にサーバがトランザクションを処理可能な状態に到達するまでの時間と、負荷分散装置がサーバの状態変更を認識するまでの時間を要するのが現状である。同様に、トランザクション数が減少したことによるサーバ数の減操作の場合にも、負荷分散装置がサーバの状態変更を認識するまでに多くの時間を要してしまい、システム全体の処理能力を瞬時に適正化できないという問題点があった。
【０００７】
また、この種のスケールアウト型の負荷分散機能を備えたサーバシステムでは、サーバの数が増減するとともに、パフォーマンスも改善されるため、実際に使用した資源に見合った合理的な課金方法は確立されていない。
【０００８】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、スケールアウト型の負荷分散機能を備えたサーバシステムに好適に用いることのできる、応答性に優れた負荷分散装置、これを含んだサーバシステム及び負荷分散方法を提供することにある。
【０００９】
更に、本発明は、使用した資源に見合った合理的な料金算定を行いうる負荷分散装置、これを含んだサーバシステム及びこの負荷分散装置を用いて実施できる課金方法を提供することも目的とする。  
【課題を解決するための手段】
【００１０】
本発明の第１の視点による負荷分散装置は、複数のサーバ群のフロントエンドに位置し、クライアントからのトランザクションを分散して送信する装置であって、サーバ状態管理部と、負荷分散部とを備えている。前記サーバ状態管理部は、前記サーバ毎にトランザクションの送信先とするか否かを管理する。前記負荷分散部は、トランザクション送信先とされたサーバに対してトランザクションを送信する。
【００１１】
また、本発明の第２の視点による負荷分散装置は、サーバ使用時間計測部と、サーバ課金部を備えて、課金処理機能を提供する。前記サーバ使用時間計測部は、トランザクション送信先とされた時間をサーバ毎に測定し、前記サーバ課金部は、前記サーバ使用時間測定手段から出力されるサーバ使用時間データによる課金処理を行って請求額を出力する。
【発明の効果】
【００１２】
本発明によれば、サーバシステム全体の処理能力を瞬時に適正化することができる。その理由は、負荷分散先のサーバ数を増減するスケールアウトの実現に際し、サーバをトランザクション処理可能状態に保ったまま、トランザクション送信先とするサーバ数を増減し、これに基づいて、トランザクションを送信する構成を採用したことにある。
【００１３】
本発明によれば、負荷分散先のサーバ数を増減するタイプのサーバシステムに好適に適用される合理的な課金体系を構築することができる。その理由は、上記トランザクション送信先となった時間に着目し、これに基づく従量制の課金処理を可能とする構成を採用したことにある。
【発明を実施するための最良の形態】
【００１４】
続いて、本発明の好ましい実施の形態について図面を参照して詳細に説明する。図１は、本発明の一実施の形態の全体構成を表したブロック図である。図１を参照すると、本実施の形態の負荷分散装置１は、スケールアウト型の負荷分散を行うためのサーバ群２と多数のクライアント３とにネットワーク４、５で接続される。また、負荷分散装置１は、少なくとも、負荷分散部６、サーバ状態管理部７、サーバ使用時間計測部８、サーバ課金部９を含んで構成されている。これらは、負荷分散装置１を構成するコンピュータのハードウェア資源及びハードウェア資源を駆動するプログラムによって構成される。
【００１５】
サーバ状態管理部７は、負荷分散部６、サーバ使用時間計測部８と接続される。システム管理者は、管理者端末等を利用して、サーバ状態管理部７に対し、サーバ群２に含まれるサーバについてトランザクションの受け付け可／不可の指示を与えるデータを入力する。なお、各サーバの指定は、後述するサーバＩＤによって行うことができる。そして、サーバ群２に含まれるサーバについてトランザクションの受け付け可／不可の指示についてのデータは、負荷分散部６、サーバ使用時間計測部８に送信される。
【００１６】
負荷分散部６は、少なくとも通信制御部１０、１１、トランザクションバッファ１２、１３、トランザクション送信先アドレス生成部１４、サーバ状態管理テーブル１５を含んで構成される。また、負荷分散部６は、通信制御部１０、１１を介してネットワーク４，５を含む外部のネットワークと接続可能となっている。
【００１７】
図２は、負荷分散装置１の図示しない記憶装置に格納されるサーバ状態管理テーブル１５の構成を説明するための図である。図２を参照すると、サーバ状態管理テーブル１５は、少なくともサーバＩＤフィールド３１、トランザクション送信対象フラグフィールド３２、サーバのプライベートＩＰアドレスフィールド３３を含んだエントリによって構成されている（ＲＦＵは、Ｒｅｓｅｒｖｅｄ  ｆｏｒ  Ｆｕｔｕｒｅ  Ｕｓｅの略である）。また、各エントリは、サーバ群２のサーバを特定するために与えられたサーバＩＤにより検索できるようになっている。
【００１８】
再度図１を参照すると、サーバ使用時間計測部８は、少なくともタイマ１６、サーバ使用時間管理テーブル更新部１７、サーバ使用時間管理テーブル１８を含んで構成され、サーバ課金部９、サーバ状態管理部７と接続されている。
【００１９】
図３は、負荷分散装置１の図示しない記憶装置に格納されるサーバ使用時間管理テーブル１８の構成を説明するための図である。図３を参照すると、サーバ使用時間管理テーブル１８は、少なくともサーバＩＤフィールド４１、トランザクション送信対象フラグフィールド４２、トランザクション送信先状態開始時刻フィールド４３、トランザクション送信先状態終了時刻フィールド４４、累積時間フィールド４５を含んだエントリによって構成されている。また、各エントリは、サーバＩＤにより検索できるようになっている。
【００２０】
再度図１を参照すると、サーバ課金部９は、少なくともサーバ課金管理テーブル１９、サーバ課金管理テーブル更新部２０、タイマ２１、課金情報提供部２２を含んで構成され、サーバ使用時間計測部８と接続されている。
【００２１】
図４は、負荷分散装置１の図示しない記憶装置に格納されるサーバ課金管理テーブル１９の構成を説明するための図である。図４を参照すると、サーバ課金管理テーブル１９は、少なくともサーバＩＤフィールド５１、日付フィールド５２、累積時間フィールド５３、累積料金フィールド５４を含んだエントリによって構成されている。また、各エントリは、サーバＩＤにより検索できるようになっている。
【００２２】
続いて、上記した構成からなる負荷分散装置１の負荷分散部６、サーバ使用時間計測部８、サーバ課金部９の動作について、図面を参照して順次説明する。
【００２３】
図５は、負荷分散部６の動作を説明するためのフローチャートである。以下、サーバ状態管理部７からの入力データにより、サーバ状態管理テーブル１５のエントリのトランザクション送信対象フラグフィールド３２に０又は１がセットされるものとして説明する。また、上記入力データによりセットされるトランザクション送信対象フラグが０である場合、そのサーバへはトランザクションが送信されないことを示し、反対にトランザクション送信対象フラグフィールド３２が１である場合、そのサーバへはトランザクションが送信されることを示している。
【００２４】
図５を参照すると、まず、クライアント３側のトランザクションバッファ１２よりトランザクションを受け取ると、負荷分散部６のトランザクション送信先アドレス生成部１４は、当該トランザクションの送信先ＩＰアドレスの一部をマスクする（ステップ１０２）。
【００２５】
続いて、負荷分散部６のトランザクション送信先アドレス生成部１４は、サーバ状態管理テーブル１５よりエントリを読み出し、トランザクション送信対象フラグフィールド３２をチェックする（ステップ１０３）。ここで、トランザクション送信対象フラグが０の場合（ステップ１０４のＹｅｓ）、当該エントリのサーバはトランザクション送信対象となっていないため、トランザクション送信先アドレス生成部１４は、サーバ状態管理テーブル１５より次のエントリを読み出す。
【００２６】
一方、上記ステップ１０４でトランザクション送信対象フラグが１の場合（ステップ１０４のＮｏ）、当該エントリのサーバはトランザクション送信対象となっているため、トランザクション送信先アドレス生成部１４は、ステップ１０２にてマスクされたトランザクションの送信先ＩＰアドレスに対し、当該エントリのサーバのプライベートＩＰアドレスフィールド３３の値をセットする（ステップ１０５）。
【００２７】
最後に、トランザクション送信先アドレス生成部１４は、この生成された送信先ＩＰアドレスとともにトランザクションをトランザクションバッファ１３に送信する（ステップ１０６）。
【００２８】
図６は、サーバ使用時間計測部８の動作を説明するためのフローチャートである。後に詳述するように、サーバ状態管理部７からの入力データにより、サーバ使用時間管理テーブル１８のエントリのトランザクション送信対象フラグフィールド４２に０又は１がセットされる。そして、トランザクション送信対象フラグが０となった場合、トランザクション送信対象であった期間を計算すべく、トランザクション送信先状態終了時刻フィールド４４、累積時間フィールド４５が有効（更新可能）となる。反対に、上記入力データによりトランザクション送信対象フラグが１となった場合、トランザクション送信対象であった期間の始点を記録すべく、トランザクション送信先状態開始時刻フィールド４３が有効（更新可能）となる。
【００２９】
図６を参照すると、サーバ使用時間計測部８のサーバ使用時間管理テーブル更新部１７は、通常サーバ状態管理部７又はタイマ１６からの入力を監視している（ステップ１２２、１２３、１２４）。
【００３０】
ステップ１２４にて、サーバ状態管理部７からの当該サーバをトランザクション送信先に指定との通知を受けると、サーバ使用時間管理テーブル更新部１７は、サーバＩＤを用いて、サーバ使用時間管理テーブル１８から該当エントリを読み出し（ステップ１２５）、トランザクション送信対象フラグフィールド４２に１をセットし（ステップ１２６）、タイマ１６から得た時刻データをトランザクション送信先状態開始時刻フィールド４３にセットする（ステップ１２７）。次いで、サーバ使用時間管理テーブル更新部１７は、更新されたエントリをサーバ使用時間管理テーブル１８に書き戻す（ステップ１２８）。
【００３１】
一方、ステップ１２３にて、サーバ状態管理部７からの当該サーバをトランザクション送信先から外すとの通知を受けると、サーバ使用時間管理テーブル更新部１７は、サーバＩＤを用いて、サーバ使用時間管理テーブル１８から該当エントリを読み出し（ステップ１２９）、トランザクション送信対象フラグフィールド４２に０をセットし（ステップ１３０）、タイマ１６から得た時刻データをトランザクション送信先状態終了時刻フィールド４４にセットする（ステップ１３１）。次いで、サーバ使用時間管理テーブル更新部１７は、今回のトランザクション送信先となっていた時間を求めるべく、トランザクション送信先状態終了時刻とトランザクション送信先状態開始時刻フィールド４３値の差分を計算し、累積時間フィールド４５の値に加算する（ステップ１３２）。最後に、サーバ使用時間管理テーブル更新部１７は、更新されたエントリをサーバ使用時間管理テーブル１８に書き戻す（ステップ１２８）。
【００３２】
更に、ステップ１２２にて、タイマ１６から予め定めた集計期間の満了日時が到来したことを示す”基準時刻到達の信号”を受信すると、サーバ使用時間管理テーブル更新部１７は、サーバ課金部９に課金のための基準時刻に到達した旨を通知し、サーバ使用時間管理テーブル１８の全エントリ分のデータを読み出させる（ステップ１３３及び図７参照）。そして、サーバ使用時間管理テーブル更新部１７は、サーバ使用時間管理テーブル１８のエントリ中の「トランザクション送信先状態開始時刻フィールド４３」に、新たな起算点として基準時刻をセットし（ステップ１３４）、累積時間フィールド４５にゼロをセットする（ステップ１３５）。
【００３３】
図７は、サーバ課金部９の動作を説明するためのフローチャートである。図７を参照すると、サーバ課金部９のサーバ課金管理テーブル更新部２０は、サーバ使用時間管理テーブル更新部１７からの入力を監視している（ステップ１４２）。
【００３４】
ステップ１４２にて、サーバ使用時間管理テーブル更新部１７から基準時刻に到達した旨の通知を受けると、サーバ課金管理テーブル更新部２０は、サーバ使用時間計測部８内のサーバ使用時間管理テーブル１８のエントリを１エントリずつ読み出す（ステップ１４３）。
【００３５】
サーバ課金管理テーブル更新部２０は、読み出したエントリ毎に累積時間フィールド４５の値に、例えば、所定の時間単価を乗ずる等して、料金計算を実施する（ステップ１４４）。
【００３６】
次いで、サーバ課金管理テーブル更新部２０は、読み出したエントリ中のサーバＩＤフィールド４１、累積時間フィールド４５の値をエントリのサーバＩＤフィールド５１、累積時間フィールド５３にセットする（ステップ１４５、１４６）。
【００３７】
次いで、サーバ課金管理テーブル更新部２０は、タイマ２１から受ける日付データをエントリの日付フィールド５２にセットする（ステップ１４７）。
【００３８】
更に、サーバ課金管理テーブル更新部２０は、ステップ１４４にて料金計算をした結果をエントリの累積料金フィールド５４にセットする（ステップ１４８）。
【００３９】
サーバ課金管理テーブル更新部２０は、上記各ステップで生成したエントリをサーバ課金管理テーブル１９に書き込む（ステップ１４９）。
【００４０】
サーバ課金管理テーブル更新部２０は、上記の一連の処理を、すべてのサーバＩＤに対して実施する（ステップ１４３〜１５０）。
【００４１】
このようにして得られたサーバ課金部９内にあるサーバ課金管理テーブル１９のデータは、課金情報提供部２２によって、サーバや課金計算期間の末日（基準時刻）を特定して、外部の課金端末等から閲覧・出力等が可能となる。
【００４２】
以上説明したように、本実施の形態のサーバシステムは、スケールアウトによってトランザクションの負荷分散を行うものであるが、負荷分散先のサーバ数をサーバ状態管理部７の通知によって瞬時に増減させることできるよう構成されている。従って、トランザクションの量やその他負荷の状況に応じてシステム全体の処理能力を柔軟かつ速やかに対応させることができるようになっている。また、この結果として、余分なマージン等を確保する必要も低減し、サーバシステムの運用コストも最適化される。
【００４３】
また、本実施の形態のサーバシステムでは、各サーバの負荷分散対象となった時間をサーバの使用時間と見做して、使用料金を計算することができるようになっている。従来のサーバへの接続時間、ＣＰＵの使用時間に基づいた課金では、スケールアウトによってトランザクションの負荷分散を行う場合に合理的な課金体系とはならないが、本実施の形態では、上述した負荷分散構成の特徴を利用して、合理的な従量制の料金を算出可能となっている。
【００４４】
また、本実施の形態のサーバシステムでは、各サーバがトランザクション送信先となった時間をサーバ単位で測定・保持し、上記した課金処理に利用しているが、これらの情報は、サーバシステムに対する運用計画の見直しや、将来の設備投資計画を検討する際に役立てることができる。
【００４５】
以上、本発明の実施の形態について説明したが、上記実施の形態は、説明が容易でありかつ、本発明を実施する上で好ましいと考えた一例を示したに過ぎないものである。例えば、上記した実施の形態では、タイマ１６、２１を２つのタイマを用意しているが、これらを一つのタイマで構成することも可能である。またクライアント３、負荷分散装置１及びサーバ群２を含む全体の構成も視覚的にわかり易い構成を例示したに過ぎず、各種の変形構成に適用可能であることはもちろんである。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施の形態の全体構成を表したブロック図である。
【図２】本発明の一実施の形態のサーバ状態管理テーブル１５の構成を説明するための図である。
【図３】本発明の一実施の形態のサーバ使用時間管理テーブル１８の構成を説明するための図である。
【図４】本発明の一実施の形態のサーバ課金管理テーブル１９の構成を説明するための図である。
【図５】本発明の一実施の形態の負荷分散部６の動作を説明するためのフローチャートである。
【図６】本発明の一実施の形態のサーバ使用時間計測部８の動作を説明するためのフローチャートである。
【図７】本発明の一実施の形態のサーバ課金部９の動作を説明するためのフローチャートである。
【符号の説明】
【００４７】
１  負荷分散装置
２  サーバ群
３  クライアント
４、５  ネットワーク
６  負荷分散部
７  サーバ状態管理部
８  サーバ使用時間計測部
９  サーバ課金部
１０、１１  通信制御部
１２、１３  トランザクションバッファ
１４  トランザクション送信先アドレス生成部
１５  サーバ状態管理テーブル
１６、２１  タイマ
１７  サーバ使用時間管理テーブル更新部
１８  サーバ使用時間管理テーブル
１９  サーバ課金管理テーブル
２０  サーバ課金管理テーブル更新部
２２  課金情報提供部
３１、４１、５１  サーバＩＤフィールド
３２、４２  トランザクション送信対象フラグフィールド
３３  サーバのプライベートＩＰアドレスフィールド
４３  トランザクション送信先状態開始時刻フィールド
４４  トランザクション送信先状態終了時刻フィールド
４５、５３  累積時間フィールド
５２  日付フィールド
５４  累積料金フィールド
【図１】
2006139578.tif 000003
【図２】
2006139578.tif 000004
【図３】
2006139578.tif 000005
【図４】
2006139578.tif 000006
【図５】
2006139578.tif 000007
【図６】
2006139578.tif 000008
【図７】
2006139578.tif 000009