(57)【要約】【課題】ネットワーク内のトラフィックやデータベースサーバの処理の負荷の偏りを軽減し、通信システム全体の効率化を図る。【解決手段】ロードバランサ４は、ユーザから送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別部４３１と、要求信号の内容を基に、ネットワーク内のトラフィックと、要求信号の処理に要する各ＤＢサーバにおける処理量と、を予測する処理量予測部４３２と、要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するＤＢサーバに振り分け、要求種別がデータ参照であると判別された要求信号を、処理量予測部４３２の予測結果に応じて複数のＤＢサーバのいずれかに振り分ける振分部４３３と、を有する。【選択図】図４
2018036978.tif 000002
【特許請求の範囲】
【請求項１】
各々の装置間でデータ同期を行うとともに管理対象データと参照対象データとに分けてデータを記憶する複数のデータベースサーバのいずれかに、端末装置から送信された要求信号を振り分ける振分装置であって、
前記端末装置から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別部と、
前記要求信号の内容を基に、当該振分装置が配置されるネットワーク内のトラフィックと、前記要求信号の処理に要する各データベースサーバにおける処理量と、を予測する処理量予測部と、
前記要求種別判別部によって要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するデータベースサーバに振り分け、前記要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、前記処理量予測部の予測結果に応じて前記複数のデータベースサーバのいずれかに振り分ける振分部と、
を有することを特徴とする振分装置。
【請求項２】
前記振分部は、前記複数のデータベースサーバのうち、前記処理量予測部によって前記トラフィック及び前記処理量が最小となると予測されたデータベースサーバに、前記要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、振り分けることを特徴とする請求項１に記載の振分装置。
【請求項３】
各々の装置間でデータ同期を行うとともに管理対象データと参照対象データとに分けてデータを記憶する複数のデータベースサーバと、端末装置から送信された要求信号を前記複数のデータベースサーバのいずれかに振り分ける振分装置と、を有する通信システムであって、
前記データベースサーバは、
更新管理対象であるデータを記憶する管理用データベースと、
参照用のデータを記憶する参照用データベースと、
前記管理用データベースのデータを管理し、前記管理用データベースのデータに対して更新要求を受けた場合には更新対象のデータを更新するデータ管理部と、
前記参照用データベースのデータに対して参照要求を受けた場合には参照対象のデータを要求元に送信するデータ送信部と、
を有し、
前記振分装置は、
前記端末装置から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別部と、
前記要求信号の内容を基に、前記振分装置が配置されるネットワーク内のトラフィックと、前記要求信号の処理に要する各データベースサーバにおける処理量と、を予測する処理量予測部と、
前記要求種別判別部によって要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するデータベースサーバに振り分け、前記要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、前記処理量予測部の予測結果に応じて前記複数のデータベースサーバのいずれかに振り分ける振分部と、
を有することを特徴とする通信システム。
【請求項４】
前記振分部は、前記要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、前記複数のデータベースサーバのうち、前記トラフィック及び前記処理量が最小となるデータベースサーバに振り分けることを特徴とする請求項３に記載の通信システム。
【請求項５】
各々の装置間でデータ同期を行うとともに管理対象データと参照対象データとに分けてデータを記憶する複数のデータベースサーバのいずれかに、端末装置から送信された要求信号を振り分ける振分装置が実行するデータ振分方法であって、
前記振分装置が、前記端末装置から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別工程と、
前記振分装置が、前記要求信号の内容を基に、前記振分装置が配置されるネットワーク内のトラフィックと、前記要求信号の処理に要する各データベースサーバにおける処理量と、を予測する処理量予測工程と、
前記振分装置が、前記要求種別判別工程において要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するデータベースに振り分け、前記要求種別判別工程において要求種別がデータ参照であると判別された要求信号を、前記処理量予測工程における予測結果に応じて前記複数のデータベースサーバのいずれかに振り分ける振分工程と、
を含んだことを特徴とするデータ振分方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、振分装置、通信システム及びデータ振分方法に関する。
【背景技術】
【０００２】
従来、複数のデータベース（ＤＢ）を用いてＤＢを冗長化したＤＢサーバシステムが知られている（特許文献１参照）。そして、このようなＤＢサーバシステムのうち大規模な分散ＤＢサーバシステムでは、どのＤＢサーバでもデータ参照応答ができるよう、データ更新時の呼毎レプリケーションにより番号帯等で分散されているＤＢサーバ間同士での共有が一般的に行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１４２９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のＤＢサーバシステムでは、単純なソースルーティングで処理すると、ＤＢサーバへの更新要求及び参照要求の際に特定の番号帯に偏りが発生した場合には、該当のＤＢサーバの処理負荷が高くなるという問題があった。
【０００５】
そこで、具体的に、従来のＤＢサーバシステムについて説明する。図９を参照して、従来のＤＢサーバシステムについて説明する。図９は、従来のＤＢサーバシステムの構成及び通信方法を説明する図である。
【０００６】
図９に示すように、従来のＤＢサーバシステムは、データを分散して記憶するＤＢサーバ２ＡＰ〜２ＣＰ、及び、各ユーザ５ＡＰ〜５ＨＰが接続するサービス提供装置３ＡＰ〜３ＤＰを有する。ＤＢサーバ２ＡＰ〜２ＣＰは、各サーバの通信インターフェース（ＩＦ）を介してネットワークと接続することで各々が接続し、データを同期させるレプリケーションを行っている。例えば、ＤＢサーバ２ＡＰは、１０００番帯を管理対象とし、２０００番帯及び３０００番帯を参照対象として記憶する。また、ＤＢサーバ２ＢＰは、２０００番帯を管理対象とし、他の１０００番帯、３０００番帯を参照対象として記憶する。そして、ＤＢサーバ２ＣＰは、３０００番帯を管理対象とし、他の１０００番帯、２０００番帯を参照対象として記憶する。
【０００７】
ここで、例えば、ユーザ５ＡＰによる「１１１０」番のデータ更新要求Ｕ１、ユーザ５ＤＰによる「１２１０」番のデータ更新要求Ｕ２、ユーザ５ＦＰによる「１１２０」番のデータ参照要求Ｑ３、ユーザ５ＨＰによる「１１２０」番のデータ参照要求Ｑ４があった場合を例に説明する（図９の（１−１）〜（１−４）参照）。
【０００８】
この場合には、データ更新及びデータ参照の対象が１０００番帯の番号であるため、１０００番帯のデータを管理するＤＢサーバ２ＡＰに、データ更新要求Ｕ１，Ｕ２、データ参照要求Ｑ３，Ｑ４が送信される。そして、ＤＢサーバ２ＡＰは、更新を要求された「１１１０」，「１２１０」番のデータ更新（図９の（２−１），（２−２）参照）に加え、参照を要求された「１１２０」番のデータの参照及び送信（図９の（２−３）参照）を行わなくてはならない。このように、ＤＢサーバへの更新要求及び参照要求の際に「１０００」番帯に偏りが発生し、問い合わせが集中した場合には、該当するＤＢサーバ２ＡＰの処理負荷が高くなってしまう（図９の（３）参照）。
【０００９】
そこで、ネットワーク内の負荷バランスを考慮して、ロードバランサを導入することによって、トラフィックを分散させる構成も提案されている。図１０を参照して、従来のＤＢサーバシステムにロードバランサを導入した構成について説明する。図１０は、従来のＤＢサーバシステムの構成及び通信方法を説明する図である。
【００１０】
図１０に示す構成では、サービス提供装置３ＡＰ〜３ＤＰと、ＤＢサーバ２ＡＰ〜２ＣＰとの間にロードバランサ４Ｐを設け、ロードバランサ４Ｐが、ＤＢサーバ２ＡＰ〜２ＣＰに、ユーザから送信された要求信号を受信順に振り分ける。例えば、要求信号が、データ更新要求Ｕ１、データ更新要求Ｕ２、データ参照要求Ｑ３、データ参照要求Ｑ４（図１０の（１−１）〜（１−４））の順で、ロードバランサ４Ｐが各要求を受信した場合について説明する。この場合、ロードバランサ４Ｐは、データ更新要求Ｕ１をＤＢサーバ２ＡＰに振り分け、データ更新要求Ｕ２をＤＢサーバ２ＢＰに振り分け（図１０の（２−１）参照）、データ参照要求Ｑ３をＤＢサーバ２ＣＰに振り分け、データ参照要求Ｑ４をＤＢサーバ２ＡＰに振り分ける。
【００１１】
しかしながら、データ更新要求Ｕ２の更新対象である「１２１０」番のデータは、該データ更新要求Ｕ２が振り分けられたＤＢサーバ２ＢＰでは更新できない。「１２１０」番のデータは、ＤＢサーバ２ＡＰで管理しているためである。そこで、データ更新要求Ｕ２は、ＤＢサーバ２ＢＰからＤＢサーバ２ＡＰに転送される（図１０の（２−２），（２−３）参照）。この結果、ＤＢサーバ２ＢＰとＤＢサーバ２ＡＰとの間で、余計なトラフィックが発生してしまうという問題があった。
【００１２】
本発明は、上記に鑑みてなされたものであって、データベースサーバ冗長化構成をとっている通信システムにおいて、ネットワーク内のトラフィックやデータベースサーバの処理の負荷の偏りを軽減し、通信システム全体の効率化を図ることができる振分装置、通信システム及びデータ振分方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明に係る振分装置は、各々の装置間でデータ同期を行うとともに管理対象データと参照対象データとに分けてデータを記憶する複数のデータベースサーバのいずれかに、端末装置から送信された要求信号を振り分ける振分装置であって、端末装置から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する要求種別判別部と、要求信号の内容を基に、当該振分装置が配置されるネットワーク内のトラフィックと、要求信号の処理に要する各データベースサーバにおける処理量と、を予測する処理量予測部と、要求種別判別部によって要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するデータベースサーバに振り分け、要求種別判別部によって要求種別がデータ参照であると判別された要求信号を、処理量予測部の予測結果に応じて複数のデータベースサーバのいずれかに振り分ける振分部と、を有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、ネットワーク内のトラフィックやデータベースサーバの処理の負荷の偏りを軽減し、通信システム全体の効率化を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施の形態に係る通信システムの概略構成を示す模式図である。
【図２】図２は、図１に示すＤＢサーバの構成を例示する模式図である。
【図３】図３は、図１に示すサービス提供装置の構成を例示する模式図である。
【図４】図４は、図３に示すロードバランサの構成を例示する模式図である。
【図５】図５は、ユーザからデータ更新を要求する信号が送信された場合の、通信システムの処理の流れの一例を示す図である。
【図６】図６は、ユーザからデータ参照を要求する信号が送信された場合の、通信システムの処理の流れの一例を示す図である。
【図７】図７は、図１に示すロードバランサの処理手順を示すフローチャートである。
【図８】図８は、プログラムが実行されることにより、ＤＢサーバ或いはロードバランサが実現されるコンピュータの一例を示す図である。
【図９】図９は、従来のＤＢサーバシステムの構成及び通信方法を説明する図である。
【図１０】図１０は、従来のＤＢサーバシステムの構成及び通信方法を説明する図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１７】
［実施の形態］
まず、実施の形態に係る通信システムについて、通信システムの概略構成及び通信システムにおける通信処理の流れ及び具体例を説明する。
【００１８】
［通信システム］
図１は、本実施の形態に係る通信システムの概略構成を示す模式図である。図１に示すように、通信システム１は、ＤＢサーバ２Ａ〜２Ｃ、サービス提供装置３Ａ〜３Ｄと、ロードバランサ４（振分装置）を有する。また、サービス提供装置３Ａ〜３Ｄには、それぞれユーザ５Ａ〜５Ｂ，５Ｃ〜５Ｄ，５Ｅ〜５Ｆ，５Ｇ〜５Ｈ（端末装置）が接続する。なお、以降、ＤＢサーバ２Ａ〜２Ｃを区別なく表記する際は、ＤＢサーバ２と表記する。また、サービス提供装置３Ａ〜３Ｄを区別なく表記する際は、サービス提供装置３と表記する。そして、ユーザ５Ａ〜５Ｂ，５Ｃ〜５Ｄ，５Ｅ〜５Ｆ，５Ｇ〜５Ｈを区別なく表記する際は、ユーザ５と示す。
【００１９】
ＤＢサーバ２Ａ〜２Ｃは、それぞれＤＢを有し、サービス提供に必要なデータを分散して記憶する。ＤＢサーバ２Ａ〜２Ｃは、各サーバの通信インターフェース（ＩＦ）を介してネットワーク（ＮＷ）と接続することによって各々が接続し、データを同期させるレプリケーションを行っている。例えば、ＤＢサーバ２Ａは、１０００番帯のデータを管理用ＤＢに記憶し、２０００番帯及び３０００番帯を参照用ＤＢに記憶する。また、ＤＢサーバ２Ｂは、２０００番帯を管理用ＤＢに記憶し、他の１０００番帯、３０００番帯を参照対象として記憶する。そして、ＤＢサーバ２Ｃは、３０００番帯を管理用ＤＢに記憶し、他の１０００番帯、２０００番帯を参照対象として記憶する。ＤＢサーバ２Ａ〜２Ｃは、受信した要求信号にしたがい、データの更新、或いは、データの参照及び参照データの送信を行う。
【００２０】
サービス提供装置３Ａ〜３Ｄは、それぞれ接続するユーザ５Ａ〜５Ｂ，５Ｃ〜５Ｄ，５Ｅ〜５Ｆ，５Ｇ〜５Ｈにサービスを提供する。サービス提供装置３Ａ〜３Ｄは、接続するユーザ５から送信されたデータ参照要求信号を、ロードバランサ４を介して、ＤＢサーバ２Ａ〜２Ｃに送信する。そして、サービス提供装置３Ａ〜３Ｄは、ＤＢサーバ２Ａ〜２Ｃから送信された参照データをキャッシュメモリに記憶するデータキャッシュを行う。続いて、サービス提供装置３Ａ〜３Ｄは、このデータを用いて、それぞれ接続するユーザ５にサービスを提供する。また、サービス提供装置３Ａ〜３Ｄは、それぞれ接続するユーザ５のデータ更新要求信号を、ロードバランサ４を介して、ＤＢサーバ２Ａ〜２Ｃに送信する。
【００２１】
ロードバランサ４は、ユーザ５から送信された要求信号の要求種別がデータ更新及びデータ参照であるかを判別し、判別結果に基づいてＤＢサーバ２Ａ〜２Ｃに振り分ける。
【００２２】
例えば、ロードバランサ４は、ユーザ５から送信された要求信号がデータ更新要求である場合には、該要求信号において更新対象とされたデータを管理するＤＢサーバ２Ａ〜２Ｃに振り分ける。
【００２３】
そして、ユーザ５から送信された要求信号がデータ参照要求である場合について説明する。この場合、ロードバランサ４は、この要求信号の内容を基に、ＮＷ内のトラフィックと、要求信号の処理に要するＤＢサーバ２Ａ〜２Ｃにおける処理量と、を予測する。そして、ロードバランサ４は、この予測結果に応じてＤＢサーバ２Ａ〜２Ｃに振り分ける。具体的には、ロードバランサ４は、ＤＢサーバ２Ａ〜２Ｃのうち、トラフィック及びＤＢサーバ２Ａ〜２Ｃにおける処理量が最小となると予測されたＤＢサーバ２Ａ〜２Ｃに、データ参照要求であると判別された要求信号を、振り分ける。
【００２４】
この通信システム１では、ロードバランサ４において、振分対象の要求信号の要求種別を判別するとともに、この要求信号の内容を基にトラフィックとＤＢサーバ２Ａ〜２Ｃにおける処理量を予測して、要求種別判別結果と予測結果に応じて、要求信号をＤＢサーバ２Ａ〜２Ｃに振り分けている。これによって、通信システム１では、データ更新を適正に実行するとともに、ＮＷ内のトラフィックやＤＢサーバ２Ａ〜２Ｃの処理の負荷の偏りを軽減している。そこで、通信システム１における各装置の構成及び機能について説明する。
【００２５】
［ＤＢサーバの構成］
まず、ＤＢサーバ２Ａ〜２Ｃの構成について説明する。図２は、図１に示すＤＢサーバ２Ａの構成を例示する模式図である。なお、ＤＢサーバ２Ｂ，２ＣＤは、ＤＢサーバ２Ａと同様の機能構成である。以降、ＤＢサーバ２Ａ〜２Ｃを区別なく表記する際は、ＤＢサーバ２と表記する。
【００２６】
ＤＢサーバ２Ａは、ワークステーションやパソコン等の汎用コンピュータで実現され、図２に示すように、ＤＢ２１と、入力部２２と、出力部２３と、通信部２４と、制御部２５とを備える。
【００２７】
ＤＢ２１は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、またはハードディスク、光ディスク等の記憶装置によって実現される。なお、ＤＢ２１は、ＤＢサーバ２Ａとは別体であり、通信部２４（後述）を介して制御部２５（後述）と通信する構成としてもよい。
【００２８】
ＤＢ２１は、サービス提供装置３が参照してサービス提供に用いるサービス情報を記憶する。このサービス情報のデータ部分は、制御部２５の制御により、あるいは予め、通信部２４あるいは入力部２２を介して上位ＯｐＳ（Operation  System）やユーザ等から取得される。ＤＢ２１は、管理用ＤＢ２１１、参照用ＤＢ２１２，２１３を有する。管理用ＤＢ２１１は、更新管理対象である１０００番帯のデータを記憶し、参照用ＤＢ２１２は、参照用のデータである２０００番帯のデータを記憶し、参照用ＤＢ２１３は、参照用のデータである３０００番帯のデータを記憶する。そして、これらのデータは、データ更新時の呼毎レプリケーションにより、ＤＢサーバ２Ａ〜２Ｃ間同士で共有される。
【００２９】
入力部２２は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部２５に対して処理開始などの各種指示情報を入力する。出力部２３は、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現される。
【００３０】
通信部２４は、ＮＷを介して接続された装置と各種情報を送受信する通信インターフェースである。通信部２４は、制御部２５（後述）の制御の基、ＬＡＮ（Local  Area  Network）やインターネット等の電気通信回線を介したＤＢサーバ２Ａ〜２Ｃ、ロードバランサ４、上位ＯｐＳ等の外部の装置との間で通信する。
【００３１】
制御部２５は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部２５は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。制御部２５は、図２に例示するように、データ管理部２５１及びデータ送信部２５２を有する。
【００３２】
データ管理部２５１は、管理用ＤＢ２１１のデータを管理する。データ管理部２５１は、上位ＯｐＳやユーザ等から更新用のデータが入力された際、ＤＢ２１のうち、管理用ＤＢ２１１のデータを更新する。また、データ管理部２５１は、ロードバランサ４を介して、サービス提供装置３Ａ〜３Ｄから管理用ＤＢ２１１に対してデータ更新の要求信号を受信した場合には、この要求信号にしたがって、管理用ＤＢ２１１における更新対象のデータを更新する。具体的に、データ管理部２５１は、サービス情報を更新するためのデータが入力された際、対応する番号のデータを入力されたデータに更新する。
【００３３】
また、データ管理部２５１は、ロードバランサ４を介して、サービス提供装置３Ａ〜３Ｄからデータ参照の要求信号を受信した際、ＤＢ２１のデータを該サービス提供装置３Ａ〜３Ｄに参照させる。
【００３４】
データ送信部２５２は、ＤＢ２１の管理用ＤＢ２２１のデータが更新された後、他のＤＢサーバ２Ｂ，２Ｃにデータが更新された番号を送信する。具体的に、データ送信部２５２は、データ管理部２５１が管理用ＤＢ２２１のデータを更新した場合に、直ちに、或いは所定のタイミングで、ＤＢサーバ２Ｂ，２Ｃに、更新された番号のデータについての、ＤＢサーバ２Ｂ，２Ｃとの同期を指示するレプリケーションを送信する。また、データ送信部２５２は、参照用ＤＢ２１２，２１３のデータに対して参照要求を受けた場合には、参照対象のデータを要求元に送信する。そして、データ送信部２５２は、データ管理部２５１によるデータ更新が完了した場合には、データ更新完了通知を、データ更新要求元に返信する。
【００３５】
［サービス提供装置の構成］
まず、サービス提供装置３Ａ〜３Ｄの構成について説明する。図３は、図１に示すサービス提供装置３Ａの構成を例示する模式図である。なお、サービス提供装置３Ｂ，３Ｃ，３Ｄは、サービス提供装置３Ａと同様の機能構成である。
【００３６】
サービス提供装置３Ａは、ワークステーションやパソコン等の汎用コンピュータで実現され、ＣＰＵ等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図３に例示するように、データ参照部３１およびサービス提供部３２として機能する。
【００３７】
データ参照部３１は、ユーザ５Ａ〜５Ｂから送信されたデータ更新或いはデータ参照の要求信号をロードバランサ４に送信する。また、データ参照部３１は、参照要求に応答してＤＢサーバ２Ａ〜２Ｃから返送された参照応答に含まれるデータを、キャッシュメモリに記憶する（以下、データキャッシュと称する）。
【００３８】
サービス提供部３２は、データキャッシュされたデータを用いて、ユーザ５Ａ〜５Ｂにサービスを提供する。例えば、サービス提供部３２は、番号帯を示すデータを用いて、ユーザ５Ａ〜５Ｂが指定した番号帯に対応するデータを、ユーザ５Ａ〜５Ｂに通知するサービスを提供する。
【００３９】
［ロードバランサの構成］
次に、ロードバランサ４の構成について説明する。図４は、図１に示すロードバランサ４の構成を例示する模式図である。ロードバランサ４は、図４に示すように、通信部４１、記憶部４２及び制御部４３を備える。
【００４０】
通信部４１は、ＮＷを介して接続された装置と各種情報を送受信する通信インターフェースである。
【００４１】
記憶部４２は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、ロードバランサ４を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。
【００４２】
制御部４３は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部４３は、ＣＰＵやＭＰＵなどの電子回路である。制御部４３は、要求種別判別部４３１、処理量予測部４３２及び振分部４３３を有する。
【００４３】
要求種別判別部４３１は、ユーザ５から送信された要求信号の要求種別がデータ更新及びデータ参照のいずれであるかを判別する。そして、要求種別判別部４３１は、判別結果を、処理量予測部４３２及び振分部４３３に出力する。
【００４４】
処理量予測部４３２は、要求信号の内容を基に、ロードバランサ４が配置されるＮＷ内のトラフィックと、要求信号の処理に要する各ＤＢサーバ２Ａ〜２Ｃにおける処理量と、を予測する。処理量予測部４３２は、送信先の各ＤＢサーバ２の処理負荷を、例えば、パケット数、ＴＡＴ（Turn  Around  Time）、リクエスト長を用いて分析し、最も処理負荷が小さいＤＢサーバ２を特定する。
【００４５】
振分部４３３は、要求種別判別部４３１によって要求種別がデータ更新であると判別された要求信号を、該要求信号において更新対象とされたデータを管理するＤＢサーバ２Ａ〜２Ｃに振り分ける。すなわち、振分部４３３は、要求種別がデータ更新である場合には、該当番号帯を管理するＤＢサーバ２Ａ〜２Ｃに、この要求信号を送信する。
【００４６】
また、振分部４３３は、要求種別判別部４３１によって要求種別がデータ参照であると判別された要求信号を、処理量予測部４３２の予測結果に応じてＤＢサーバ２Ａ〜２Ｃのいずれかに振り分ける。具体的には、振分部４３３は、ＤＢサーバ２Ａ〜２Ｃのうち、処理量予測部４３２によってトラフィック及び処理量が最小となると予測されたＤＢサーバ２Ａ〜２Ｃに、この要求信号を振り分ける。言い換えると、振分部４３３は、要求種別がデータ参照である場合には、処理負荷が小さいＤＢサーバ２に、この要求信号を送信する。
【００４７】
［通信処理の流れ］
ここで、通信システム１の処理の流れについて説明する。図５は、ユーザからデータ更新を要求する要求信号が送信された場合の、通信システム１の処理の流れの一例を示す図である。
【００４８】
例えば、ユーザ５Ａによる「１１１０」番のデータの更新を要求する要求信号（以下、データ更新要求、とも記載する。）Ｕ１、ユーザ５Ｄによる「１２１０」番のデータ更新要求Ｕ２があった場合を例に説明する（図５の（１−１），（２−１）参照）。この場合、これらのデータ更新要求Ｕ１，Ｕ２は、サービス提供装置３Ａ，３Ｂを介して、ロードバランサ４に送信される（図５の（１−２），（２-２）参照）。
【００４９】
そして、ロードバランサ４は、受信した要求信号Ｕ１，Ｕ２の要求種別を判別する。例えば、ロードバランサ４は、要求信号Ｕ１については、要求種別が「データ更新」であると判別する（図５の（１−３）参照）。このため、ロードバランサ４は、この要求信号Ｕ１については、更新を要求する「１１１０」番の該当番号を管理するＤＢサーバ２Ａに、直接送信する（図５の（１−４）参照）。したがって、ロードバランサ４は、他のＤＢサーバ２Ｂ，２Ｃを介することなく、要求信号Ｕ１を直接ＤＢサーバ２Ａに送信するため、余計なトラフィックを防止することができる。そして、ＤＢサーバ２Ａは、受信した要求信号Ｕ１にしたがって、管理用ＤＢ２１１の「１１１０」番のデータを更新し（図５の（１−５）参照）、データ更新完了通知を、データ更新要求元のユーザ５Ａに返信する。
【００５０】
また、ロードバランサ４は、要求信号Ｕ２についても、要求種別が「データ更新」であると判別し（図５の（２−３）参照）、データの更新を要求する「１２１０」番の該当番号を管理するＤＢサーバ２Ａに、直接送信する（図５の（２−４）参照）。そして、ＤＢサーバ２Ａは、受信した要求信号Ｕ２にしたがって、管理用ＤＢ２１１の「１２１０」番のデータを更新し（図５の（２−５）参照）、データ更新完了通知を、データ更新要求元のユーザ５Ｄに返信する。
【００５１】
このように、ロードバランサ４は、要求信号の種別がデータ更新である場合には、更新対象の番号帯を管理している該当のＤＢサーバのみがデータ更新可能であるため、要求信号を直接、該当するＤＢサーバ２Ａにルーティングさせる。これによって、ＤＢサーバ２Ａ〜２Ｃ間の余計なトラフィックが流れることを防止することができる。
【００５２】
次に、図６を参照して、ユーザからデータ参照を要求する要求信号が送信された場合の、通信システム１の処理の流れについて説明する。図６は、ユーザからデータ参照を要求する信号が送信された場合の、通信システム１の処理の流れの一例を示す図である。
【００５３】
例えば、ユーザ５Ｆによる「１１２０」番のデータの参照を要求する要求信号（以下、データ参照要求、とも記載する。）Ｑ３、ユーザ５Ｈによる「１１２０」番のデータ参照要求Ｑ４があった場合を例に説明する（図６の（３−１），（４−１）参照）。この場合、これらのデータ参照要求Ｑ３，Ｑ４は、サービス提供装置３Ｃ，３Ｄを介して、ロードバランサ４に送信される（図６の（３−２），（４−２）参照）。
【００５４】
そして、ロードバランサ４は、受信した要求信号Ｑ３，Ｑ４の要求種別を判別する。例えば、ロードバランサ４は、要求信号Ｑ３については、要求種別が「データ参照」であると判別する（図６の（３−３）参照）。この場合には、ロードバランサ４は、要求信号Ｑ３の内容を基に、ＮＷ内のトラフィックと、要求信号の処理に要する各ＤＢサーバ２Ａ〜２Ｃにおける処理量と、を予測する。
【００５５】
そして、ロードバランサ４は、処理負荷が小さいＤＢサーバ２としてＤＢサーバ２Ｂを特定する。参照要求はどのＤＢサーバ２Ａ〜２Ｃでも処理可能であるため、ロードバランサ４は、余力があるＤＢサーバ２Ｂに、要求信号Ｑ３を送信する（図６の（３−４）参照）。そして、ＤＢサーバ２Ｂは、受信した要求信号Ｑ３にしたがって、参照用ＤＢの「１１２０」番のデータを参照し、参照したデータをデータ参照要求元のユーザ５Ｆに返信する。
【００５６】
また、ロードバランサ４は、要求信号Ｑ４についても、要求種別が「データ参照」であると判別する（図６の（４−３）参照）。この場合には、ロードバランサ４は、要求信号Ｑ４の内容を基に、ＮＷ内のトラフィックと、要求信号の処理に要する各ＤＢサーバ２Ａ〜２Ｃにおける処理量と、を予測する。そして、ロードバランサ４は、処理負荷が小さいＤＢサーバ２としてＤＢサーバ２Ｃを特定する。そこで、ロードバランサ４は、余力があるＤＢサーバ２Ｃに、要求信号Ｑ４を送信する（図６の（４−４）参照）。そして、ＤＢサーバ２Ｃは、受信した要求信号Ｑ４にしたがって、参照用ＤＢの「１１２０」番のデータを参照し、参照したデータをデータ参照要求元のユーザ５Ｈに返信する。
【００５７】
このように、ロードバランサ４は、要求信号の種別がデータ参照である場合には、どのＤＢサーバ２Ａ〜２Ｃでも処理が可能であるため、処理量予測部４３２の機能により、ＮＷ内のトラフィックとＤＢサーバ２Ａ〜２Ｃの負荷状況に応じて、要求信号を分散させている。
【００５８】
［ロードバランサの処理］
次に、図７を参照して、ロードバランサ４の処理手順について説明する。図７は、図１に示すロードバランサ４の処理手順を示すフローチャートである。
【００５９】
まず、ロードバランサ４は、要求信号を受信すると（ステップＳ１）、要求種別判別部４３１が、受信した要求信号の種別が、データ更新或いはデータ参照であるかを判別する（ステップＳ２）。
【００６０】
要求種別判別部４３１が、受信した要求信号がデータ更新であると判別した場合（ステップＳ２：更新）、振分部４３３は、この要求信号を、更新対象のデータ管理先のＤＢサーバ２に振り分け（ステップＳ３）、送信する。
【００６１】
一方、要求種別判別部４３１が、受信した要求信号がデータ参照であると判別した場合（ステップＳ２：参照）、処理量予測部４３２は、要求信号の内容を基に、ＤＢサーバ２Ａ〜２Ｃとロードバランサ４との間におけるトラフィックと、要求信号の処理に要する各ＤＢサーバ２Ａ〜２Ｃにおける処理量と、を予測する処理量予測処理を行う（ステップＳ４）。この処理量予測処理では、処理量予測部４３２は、送信先のＤＢサーバ２の処理負荷を、例えば、パケット数、ＴＡＴ、リクエスト長を用いて分析し、最も処理負荷が小さいＤＢサーバ２を特定する。
【００６２】
そして、振分部４３３は、ＤＢサーバ２Ａ〜２Ｃのうち、処理量予測部４３２によってトラフィック及び処理負荷が最小であると予測されたＤＢサーバ２に、この要求信号を振り分け（ステップＳ５）、送信する。
【００６３】
［実施の形態の効果］
このように、実施の形態に係る通信システム１では、ロードバランサ４が、受信した要求信号の種別を、データ更新或いはデータ参照のいずれであるかを判別している。そして、ロードバランサ４は、要求信号の種別がデータ更新であると判別した場合には、更新対象の番号帯を管理している該当のＤＢサーバ２のみがデータ更新可能であるため、要求信号を直接、該当するＤＢサーバ２Ａにルーティングさせる。これによって、ＤＢサーバ２Ａ〜２Ｃ間の余計なトラフィックが流れることを防止することができる。
【００６４】
一方、ロードバランサ４は、要求信号の種別がデータ参照であると判別した場合には、どのＤＢサーバ２Ａ〜２Ｃでも処理が可能であるため、ＮＷトラフィックとＤＢサーバ２Ａ〜２Ｃの負荷状況に応じて、要求信号を分散させる。すなわち、ロードバランサ４は、要求信号の種別がデータ参照であると判別した場合には、トラフィック及び処理負荷が最小であると予測したＤＢサーバ２に、この要求信号を振り分ける。
【００６５】
この結果、通信システム１では、ＮＷ内のトラフィックやＤＢサーバ２Ａ〜２Ｃの処理の負荷の偏りを軽減させることができ、ＤＢサーバ２Ａ〜２Ｃの能力を均等に使用して、システム全体の効率化を図ることができる。
【００６６】
［他の実施の形態］
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６７】
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６８】
［プログラム］
図８は、プログラムが実行されることにより、ＤＢサーバ２Ａ〜２Ｃ或いはロードバランサ４が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００はハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０はハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００７０】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、ＤＢサーバ２Ａ〜２Ｃ或いはロードバランサ４の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、ＤＢサーバ２Ａ〜２Ｃ或いはロードバランサ４における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００７１】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００７２】
なお、プログラムモジュール１０９３やプログラムデータ１０９４はハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７３】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００７４】
１  通信システム
２Ａ〜２Ｃ，２ＡＰ〜２ＣＰ  データベース（ＤＢ）サーバ
３Ａ〜３Ｄ，３ＡＰ〜３ＤＰ  サービス提供装置
４，４Ｐ  ロードバランサ
５Ａ〜５Ｈ，５ＡＰ〜５ＨＰ  ユーザ
２１  ＤＢ
２２  入力部
２３  出力部
２４，４１  通信部
２５，４３  制御部
３１  データ参照部
３２  サービス提供部
４２  記憶部
２１１  管理用ＤＢ
２１２，２１３  参照用ＤＢ
２５１  データ管理部
２５２  データ送信部
４３１  要求種別判別部
４３２  処理量予測部
４３３  振分部
【図１】
2018036978.tif 000003
【図２】
2018036978.tif 000004
【図３】
2018036978.tif 000005
【図４】
2018036978.tif 000006
【図５】
2018036978.tif 000007
【図６】
2018036978.tif 000008
【図７】
2018036978.tif 000009
【図８】
2018036978.tif 000010
【図９】
2018036978.tif 000011
【図１０】
2018036978.tif 000012