(57)【特許請求の範囲】
【請求項１】
流量制御装置で実行される流量制御方法であって、
複数のフロントエンド処理を行うフロントエンド機能部と複数のバックエンド処理を行うバックエンド機能部とを含む情報システムについて、バックエンド機能部と該バックエンド機能部にアクセスするフロントエンド機能部との対応関係を示す構成管理テーブルを取得して記憶部に格納する取得工程と、
前記バックエンド機能部の負荷を監視する監視工程と、
前記監視工程において前記バックエンド機能部の負荷が所定のしきい値を超えたことを検知した場合に、前記構成管理テーブルを参照して特定した該バックエンド機能部に対応するフロントエンド機能部から該バックエンド機能部へのアクセスを抑制する抑制工程と、
を含んだことを特徴とする流量制御方法。
【請求項２】
前記抑制工程において、負荷が所定のしきい値を超えたことが検知された前記バックエンド機能部に対応するフロントエンド機能部に対するアクセスを抑制することにより、該バックエンド機能部へのアクセスを抑制することを特徴とする請求項１に記載の流量制御方法。
【請求項３】
前記抑制工程において、負荷が所定のしきい値を超えたことが検知された前記バックエンド機能部と該バックエンド機能部に対応するフロントエンド機能部との間のトラフィックを抑制することにより、該バックエンド機能部へのアクセスを抑制することを特徴とする請求項１に記載の流量制御方法。
【請求項４】
複数のフロントエンド処理を行うフロントエンド機能部と複数のバックエンド処理を行うバックエンド機能部とを含む情報システムについて、バックエンド機能部と該バックエンド機能部にアクセスするフロントエンド機能部との対応関係を示す構成管理テーブルを取得して記憶部に格納する取得部と、
前記バックエンド機能部の負荷を監視する監視部と、
前記監視部が前記バックエンド機能部の負荷が所定のしきい値を超えたこと検知した場合に、前記構成管理テーブルを参照して特定した該バックエンド機能部に対応するフロントエンド機能部から該バックエンド機能部へのアクセスを抑制する抑制部と、
を備えることを特徴とする流量制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、流量制御方法および流量制御装置に関する。
【背景技術】
【０００２】
ＰａａＳ（Platform  as  a  Service）基盤を用いて構築される情報システムにおいて、ハードウェア等のリソースは必要に応じて柔軟に割り当てることができる。また、ＰａａＳ基盤には、ＨＴＴＰベースのアプリケーション（ＡＰＩ）の公開時に必要な認証やトラフィック制御等の共通機能を提供するＡＰＩ−ＧＷ（gateway）が含まれる（非特許文献１参照）。したがってＰａａＳ基盤上には、このＡＰＩ−ＧＷ等を通じて、バックエンド（back  end）の情報システムと連携したフロントエンド（front  end）のアプリケーションを動的に構築することができる。
【０００３】
しかしながら、フロントエンドを通じて多数のアクセスが集中していわゆる輻輳状態になった場合に、バックエンドの情報システムが過負荷の状態に陥り、処理が滞ってしまっていた。そこで、従来、システムのリソースを監視して、輻輳状態を検知した場合にフロントエンドからのアクセスを抑制する輻輳制御が行われてきた。
【０００４】
例えば、一般にＡＰＩ−ＧＷはトラフィック制御の機能を備え、トラフィックの流量制御を行っている（非特許文献１参照）。また、業務を実行しているバックエンドサーバの負荷を監視して、負荷が高くなった業務に対して負荷の低いサーバの能力を動的に割り当てる負荷分散制御が知られている（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】▲高▼橋真由美、「Ｂ２Ｂ２Ｘビジネスモデル活性化を目指したＡＰＩ活用の取り組み」、ＮＴＴ技術ジャーナル  ２０１５年１０月、ｐｐ．５６−５８
【非特許文献２】「ＮＥＣ  ＷｅｂＯＴＸとＦ５  ＢＩＧ−ＩＰを適用した、快適なデータトラフィック  インフラ構築の実現」、[online]、２００７年１０月、日本電気株式会社、［２０１６年４月２１日検索]、インターネット＜URL:http://jpn.nec.com/webotx/download/info/nec_f5-white_paper.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＡＰＩ−ＧＷにおいては、トラフィックの流量制御の条件を動的に変更することは考慮されていなかった。また、負荷分散制御では、フロントエンドとバックエンドとの対応関係の動的な変更が考慮されていなかった。
【０００７】
本発明は、上記に鑑みてなされたものであって、フロントエンドとバックエンドとの対応関係の動的な変化にも柔軟に対応して、負荷が上昇したバックエンドの情報システムの輻輳状態を回避することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明に係る流量制御方法は、流量制御装置で実行される流量制御方法であって、複数のフロントエンド処理を行うフロントエンド機能部と複数のバックエンド処理を行うバックエンド機能部とを含む情報システムについて、バックエンド機能部と該バックエンド機能部にアクセスするフロントエンド機能部との対応関係を示す構成管理テーブルを取得して記憶部に格納する取得工程と、前記バックエンド機能部の負荷を監視する監視工程と、前記監視工程において前記バックエンド機能部の負荷が所定のしきい値を超えたことを検知した場合に、前記構成管理テーブルを参照して特定した該バックエンド機能部に対応するフロントエンド機能部から該バックエンド機能部へのアクセスを抑制する抑制工程と、を含んだことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、フロントエンドとバックエンドとの対応関係の動的な変化にも柔軟に対応して、負荷が上昇したバックエンドの情報システムの輻輳状態を回避することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の一実施形態に係る流量制御装置が対象とするシステムの概略構成を示す模式図である。
【図２】図２は、本実施形態の流量制御装置の概略構成を示す模式図である。
【図３】図３は、管理構成テーブルのデータ構成を例示する図である。
【図４】図４は、本実施形態の流量制御処理手順を示すフローチャートである。
【図５】図５は、流量制御プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１２】
［対象システムの構成］
図１は、本実施形態に係る流量制御装置の流量制御処理の対象とするシステムの概略構成を例示する図である。図１に例示するように、このシステムは、ＰａａＳ基盤上に、複数のフロントエンド処理を行うフロントエンド機能部２０と、複数のバックエンド処理を行うバックエンド機能部３０とを含んで構成される。フロントエンド機能部２０は、例えばアプリケーションを搭載したサーバ等で実現される。バックエンド機能部３０は、例えばサーバ等で実現され、端末Ｔがアクセスしたアプリケーションを実行するフロントエンド機能部２０が利用するバックエンド機能を提供し、端末Ｔへの応答を生成する。
【００１３】
なお、フロントエンド機能部２０と、このフロントエンド機能部２０がアクセスして利用するバックエンド機能部３０との対応関係は予め設定されている。図１に示す例では、フロントエンド機能部２０ａはバックエンド機能部３０ａにアクセスするように設定されている。フロントエンド機能部２０ｂは、バックエンド機能部３０ａおよびバックエンド機能部３０ｂにアクセスするように設定されている。この場合、フロントエンド機能部２０ｂが利用するバックエンド機能は、バックエンド機能部３０ａおよびバックエンド機能部３０ｂにおいて機能分散して処理される。また、フロントエンド機能部２０ｃはバックエンド機能部３０ｂにアクセスするように設定されている。
【００１４】
本実施形態の流量制御装置は、バックエンド機能部３０の負荷を監視して、負荷が所定のしきい値を超えたことを検知した場合に、このバックエンド機能部３０に対応するフロントエンド機能部２０からのアクセスを抑制する流量制御処理を実行する。
【００１５】
［流量制御装置の構成］
図２は、本実施形態に係る流量制御装置の概略構成を示す図である。図２に例示するように、流量制御装置１０は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１、出力部１２、通信制御部１３、記憶部１４、および制御部１５を備える。
【００１６】
入力部１１は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して処理開始などの各種指示情報を入力する。出力部１２は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置、情報通信装置等によって実現される。
【００１７】
通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介したフロントエンド機能部２０およびバックエンド機能部３０等の外部の装置と制御部１５との通信を制御する。
【００１８】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。なお、記憶部１４は、通信制御部１３を介して制御部１５と通信する構成でもよい。記憶部１４には、構成管理テーブル１４ａが格納されている。構成管理テーブル１４ａは、後述する流量制御処理において生成され、記憶部１４に格納される。
【００１９】
図３は、構成管理テーブル１４ａのデータ構成を例示する図である。図３に例示するように、構成管理テーブル１４ａは、バックエンド機能部３０と該バックエンド機能部３０にアクセスするフロントエンド機能部２０との対応関係を示す。図３には、例えば、バックエンド機能部３０ａとフロントエンド機能部２０ａとが対応することが示されている。
【００２０】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部１５は、図２に例示するように、取得部１５ａ、監視部１５ｂおよび抑制部１５ｃとして機能して、後述する流量制御処理を実行する。
【００２１】
取得部１５ａは、バックエンド機能部３０と該バックエンド機能部３０にアクセスするフロントエンド機能部２０との対応関係を示す構成管理テーブル１４ａを取得して記憶部１４に格納する。具体的に、取得部１５ａは、例えばＰａａＳ基盤の機能を利用して、フロントエンド機能部２０が利用するように設定されているバックエンド機能部３０を取得する。そして、取得部１５ａは、取得したフロントエンド機能部２０とバックエンド機能部３０との対応関係を表す構成管理テーブル１４ａを生成し、記憶部１４に格納する。このように、構成管理テーブル１４ａは、ＰａａＳ基盤の機能を利用することにより、自動的に生成される。したがって、バックエンド機能部３０とフロントエンド機能部２０との対応関係が変化した場合にも、構成管理テーブル１４ａを最新の状態を反映したものにすることが可能である。
【００２２】
監視部１５ｂは、バックエンド機能部３０の負荷を監視する。具体的に、監視部１５ｂは、バックエンド機能部３０の負荷として、ＣＰＵ使用率やロードアベレージ等を定期的に監視する。監視部１５ｂは、ＣＰＵ使用率の上昇やロードアベレージの増加等が所定のしきい値を超えた場合に、負荷が上昇したと判定する。なお、監視部１５ｂは、バックエンド機能部３０の負荷として、メモリやディスク入出力等のリソースを監視してもよい。
【００２３】
抑制部１５ｃは、監視部１５ｂがバックエンド機能部３０の負荷が所定のしきい値を超えたことを検知した場合に、構成管理テーブル１４ａを参照して特定した該バックエンド機能部３０に対応するフロントエンド機能部２０から該バックエンド機能部３０へのアクセスを抑制する。
【００２４】
具体的に、抑制部１５ｃは、指示部１５ｄおよび抑制制御部１５ｅを含む。バックエンド機能部３０の負荷が所定のしきい値を超え、負荷が上昇したと監視部１５が判定した場合に、指示部１５ｄが、構成管理テーブル１４ａを参照してこのバックエンド機能部３０に対応するフロントエンド機能部２０を抽出し、抑制制御部１５ｅに通知する。抑制制御部１５ｅは、通知されたフロントエンド機能部２０からバックエンド機能部３０へのアクセスを抑制するよう、トラフィックの流量制御を行う。
【００２５】
例えば、図１に例示したシステムについて、監視部１５ｂがバックエンド機能部３０ａの負荷が上昇したと判定した場合に、指示部１５ｄは、構成管理テーブル１４ａを参照して、フロントエンド機能部２０ａおよびフロントエンド機能部２０ｂを抽出する。この場合に、抑制制御部１５ｅは、フロントエンド機能部２０ａからバックエンド機能部３０ａへのアクセスと、フロントエンド機能部２０ｂからバックエンド機能部３０ａおよび３０ｂへのアクセスとを抑制する。
【００２６】
ここで、抑制制御部１５ｅは、例えばロードバランサを用いて、負荷の上昇が判定されたバックエンド機能部３０に対応するフロントエンド機能部２０の前段で、このフロントエンド機能部２０への端末Ｔからのアクセスを抑制する。あるいは、抑制制御部１５ｅは、例えばＡＰＩ−ＧＷを用いて、負荷の上昇が判定されたバックエンド機能部３０とこのバックエンド機能部３０に対応するフロントエンド機能部２０との間のトラフィックを抑制する制御を行う。いずれの方式によっても、負荷の上昇が判定されたバックエンド機能部３０に対するアクセスを適切に抑制できる。
【００２７】
［流量制御処理］
次に、図４を参照して、本実施形態に係る流量制御装置１０による流量制御処理について説明する。図４は、流量制御処理手順を示すフローチャートである。図４のフローチャートは、例えば、処理の開始を指示する操作入力があったタイミングや、フロントエンド機能部２０と利用するバックエンド機能部３０との対応関係が変更されたタイミング等で開始される。
【００２８】
取得部１５ａは、バックエンド機能部３０とこのバックエンド機能部３０にアクセスするフロントエンド機能部２０との対応関係を示す構成管理テーブル１４ａを取得して、記憶部１４に格納する（ステップＳ１）。
【００２９】
監視部１５ｂは、バックエンド機能部３０の負荷が所定のしきい値を超えたことを検知するまで（ステップＳ２，Ｎｏ）、負荷を監視する。監視部１５ｂは、バックエンド機能部３０の負荷が所定のしきい値を超えたことを検知した場合（ステップＳ２，Ｙｅｓ）、負荷が上昇したと判定して抑制部１５ｃに通知する。
【００３０】
通知を受けた抑制部１５ｃでは、指示部１５ｄが、記憶部１４の構成管理テーブル１４ａを参照し、負荷の上昇が判定されたバックエンド機能部３０に対応するフロントエンド機能部２０を抽出する（ステップＳ３）。また、抑制制御部１５ｅが、抽出されたフロントエンド機能部２０からのバックエンド機能部３０へのアクセスを抑制する（ステップＳ４）。これにより、一連の流量制御処理が終了する。
【００３１】
以上、説明したように、本実施形態の流量制御装置１０には、取得部１５ａが、バックエンド機能部３０と該バックエンド機能部３０にアクセスするフロントエンド機能部２０との対応関係を示す構成管理テーブル１４ａを取得して記憶部１４に格納する。また、監視部１５ｂが、バックエンド機能部３０の負荷を監視する。また、抑制部１５ｃが、監視部１５ｂがバックエンド機能部３０の負荷が所定のしきい値を超えたことを検知した場合に、構成管理テーブル１４ａを参照して特定した該バックエンド機能部３０に対応するフロントエンド機能部２０から該バックエンド機能部３０へのアクセスを抑制する。
【００３２】
これにより、流量制御装置１０は、フロントエンド機能部２０とバックエンド機能部３０との対応関係が動的に変化した場合にも、負荷が上昇したバックエンド機能部３０へのアクセスを適切に抑制して、バックエンド機能部３０へのトラフィックの流量制御を行う。このように、流量制御装置１０は、フロントエンド機能部２０とバックエンド機能部３０との対応関係の動的な変化にも柔軟に対応して、負荷が上昇したバックエンド機能部３０の輻輳状態を回避することができる。
【００３３】
［プログラム］
上記実施形態に係る流量制御装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、流量制御装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の流量制御処理を実行する流量制御プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の流量制御プログラムを情報処理装置に実行させることにより、情報処理装置を流量制御装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の流量制御処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、流量制御装置１０は、フロントエンド機能部２０とバックエンド機能部３０との対応関係を入力とし、アクセス抑制結果を出力する流量制御処理サービスを提供するサーバ装置として実装される。この場合、流量制御装置１０は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の流量制御処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、流量制御装置１０と同様の機能を実現する流量制御プログラムを実行するコンピュータの一例を説明する。
【００３４】
図５に示すように、流量制御プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００３５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００３６】
ここで、図５に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００３７】
また、流量制御プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した流量制御装置が実行する各処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【００３８】
また、流量制御プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００３９】
なお、流量制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、流量制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００４０】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００４１】
１０  流量制御装置
１１  入力部
１２  出力部
１３  通信制御部
１４  記憶部
１４ａ  構成管理テーブル
１５  制御部
１５ａ  取得部
１５ｂ  監視部
１５ｃ  抑制部
１５ｄ  指示部
１５ｅ  抑制制御部
２０，２０ａ，２０ｂ，２０ｃ  フロントエンド機能部
３０，３０ａ，３０ｂ  バックエンド機能部
【図１】
0006554062.tif 000002
【図２】
0006554062.tif 000003
【図３】
0006554062.tif 000004
【図４】
0006554062.tif 000005
【図５】
0006554062.tif 000006