JP6107218B2 - 制御装置,制御方法,および制御プログラム - Google Patents

制御装置,制御方法,および制御プログラム Download PDF

Info

Publication number
JP6107218B2
JP6107218B2 JP2013034477A JP2013034477A JP6107218B2 JP 6107218 B2 JP6107218 B2 JP 6107218B2 JP 2013034477 A JP2013034477 A JP 2013034477A JP 2013034477 A JP2013034477 A JP 2013034477A JP 6107218 B2 JP6107218 B2 JP 6107218B2
Authority
JP
Japan
Prior art keywords
server
control
destination
request
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013034477A
Other languages
English (en)
Other versions
JP2014164479A (ja
Inventor
智塁 遠藤
智塁 遠藤
正彦 大橋
正彦 大橋
金司 川口
金司 川口
幸司 岩本
幸司 岩本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013034477A priority Critical patent/JP6107218B2/ja
Priority to US14/158,094 priority patent/US20140244728A1/en
Publication of JP2014164479A publication Critical patent/JP2014164479A/ja
Application granted granted Critical
Publication of JP6107218B2 publication Critical patent/JP6107218B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Description

本件は、制御装置,制御方法,および制御プログラムに関する。
従来、サーバからユーザ端末に対してネットワーク経由でサービスを提供する種々のシステムが知られている。このようなシステムでは、ユーザ端末は、サーバへサービスのリクエスト(要求)を発行し、サーバは、リクエストに対する処理を行ない、処理結果をレスポンス(応答)としてユーザ端末へ送信する。
サーバは、仮想サーバ上、又はOperating System(OS)上(つまり物理サーバ上)で、ユーザ端末に提供するサービス(アプリケーション)を実行する。例えば、サーバは、Central Processing Unit(CPU)等の負荷が低いときには、起動中の1以上の仮想サーバ又はOS(物理サーバ自体)をシャットダウン状態やスリープ状態等の停止状態に遷移させて、省電力制御を行なうことがある。
また、サーバは、システムの継続利用の観点から、継続してユーザ端末のリクエストを受け付けることが望ましいが、CPUの負荷が高いビジー状態である場合には、リクエストを受け付けることが難しい。
例えば、社内で利用される勤怠や出張旅費等の申請を受け付けるサービスでは、月曜日(またはその週の最初の営業日)の始業時から数時間、月度の締日、又は期末等の特定期間に、ユーザ端末からサーバへの接続要求のアクセスが集中すると考えられる。上述の特定期間以外ではサーバへのアクセスが少ないため、サーバは、省電力制御により、最大構成よりも少ない仮想サーバでサービスを提供したり、OS(物理サーバ自体)を停止状態にすると考えられる。
少ない仮想サーバでサービスを提供するサーバは、上述の特定期間に多数の要求を受信すると、仮想サーバの稼働数が少ないため、要求に係る処理が累積してビジー状態になり、ユーザ端末へ接続要求の応答を送信することが困難になる場合がある。また、OSを停止状態にしたサーバは、上述の特定期間に多数の要求を受信しても、ユーザ端末へ接続要求の応答を送信することができない。これらの場合、接続要求を送信したユーザ端末は、サーバから応答を受け取って接続が確立できるまで、サーバへ接続要求の再送(リトライ)を繰り返す。
なお、関連する技術として、管理サーバが、リクエストを処理する複数の計算機の負荷状態に応じて、予備機の使用開始又は使用終了を管理する技術が知られている(例えば、特許文献1参照)。この技術では、管理サーバは、負荷量の閾値と負荷分散対象とすべき予備機の数とを対応付けた情報に基づいて、使用する予備機の数を増減させる。
特開2005−11331号公報
上述したシステムでは、サービスを利用中のユーザが多い状態で、新たにサービスへの接続要求を発行するユーザ端末が接続を確立できずに再送を繰り返すと、サーバ(ネットワーク)へのアクセスがさらに集中することになる。
少ない仮想サーバでサービスを提供するサーバにおいては、サーバへのアクセスが集中する結果、ビジー状態が悪化し、ユーザがサービスを利用し難い状況が深刻化するという問題がある。
また、OSを停止状態にしたサーバにおいては、サーバへのアクセスが集中する結果、例えばサーバが起動処理を行なっている場合には、接続要求の受信により起動処理の遅延が発生し、サーバが応答処理を行なえる動作状態に遷移するまでに時間がかかる場合がある。この場合にも、ユーザがサービスを利用し難い状況が深刻化するという問題がある。
さらに、省電力制御を行なうサーバにおいては、ネットワークへのアクセスが集中する結果、ネットワークの輻輳が発生し、ユーザが他のサーバの提供するサービスについても利用し難い状況が発生し得る。
このように、上述したシステムでは、サーバ(処理装置)がユーザ端末(端末装置)からの要求に応答することが難しい停止状態である場合、ユーザ端末からの要求の再送に起因して、システム全体の性能が低下するという問題がある。
なお、上述した関連する技術では、上述した問題については考慮されていない。
1つの側面では、本発明は、処理装置が端末装置からの要求に応答することが難しい停止状態である場合に生じるシステムの性能低下を抑制することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
本件の制御装置は、端末装置と前記端末装置からの要求に対して応答を行なう一以上の処理装置との間に介設され、前記処理装置の制御を行なう制御装置であって、前記端末装置からの要求の宛先である宛先処理装置が停止状態の場合、前記宛先処理装置に対して、停止状態から動作状態に遷移させる起動制御を行なう状態制御部と、前記宛先処理装置が停止状態の場合、前記一以上の処理装置の代わりに代理応答を行なう代理応答部に、前記端末装置に対する代理応答を実行させ、前記宛先処理装置が停止状態から動作状態に遷移すると、前記端末装置からの要求を前記宛先処理装置へ送信する要求制御部と、前記端末装置と前記代理応答部との間でセッションを確立し、前記セッションと前記端末装置の通信先である前記代理応答部とを対応付けた管理情報を管理し、前記宛先処理装置の状態が前記停止状態から前記動作状態に遷移した後、前記端末装置から前記宛先処理装置に前記要求が送信されたことに応じて、前記管理情報に対して前記セッションにおける前記端末装置の通信先を前記代理応答部から前記宛先処理装置に切り替えるセッション管理部と、をそなえる。
一実施形態によれば、処理装置が端末装置からの要求に応答することが難しい停止状態である場合に生じるシステムの性能低下を抑制することができる。
一実施形態に係る情報処理システムの構成例を示す図である。 図1に示すサービス環境制御サーバのハードウェア構成例を示す図である。 図1に示すサービス環境制御サーバの構成例を示す図である。 図1に示すサービス環境制御サーバが保持するサーバ状態情報DBのデータ構造の一例を示す図である。 図1に示すサービス環境制御サーバが保持する制御条件定義情報DBのデータ構造の一例を示す図である。 図1に示すサービス環境制御サーバが保持する制御情報DBのデータ構造の一例を示す図である。 図1に示すサービス環境制御サーバが保持するセッション情報DBのデータ構造の一例を示す図である。 図1に示すサービス環境制御サーバが保持する代理応答情報DBのデータ構造の一例を示す図である。 一実施形態に係るサービス環境制御サーバの動作例を説明するフローチャートである。 一実施形態に係るサービス環境制御サーバの動作例を説明するシーケンス図である。 一実施形態に係るサービス環境制御サーバの動作例を説明するフローチャートである。 一実施形態に係るサービス環境制御サーバの動作例を説明するシーケンス図である。 一実施形態に係るサービス環境制御サーバの動作例を説明するフローチャートである。 一実施形態に係るサービス環境制御サーバの動作例を説明するフローチャートである。 一実施形態に係るサービス環境制御サーバの動作例を説明するシーケンス図である。 一実施形態に係るサービス環境制御サーバの動作例を説明するシーケンス図である。 一実施形態に係るサービス環境制御サーバの動作例を説明するシーケンス図である。
以下、図面を参照して実施の形態を説明する。
〔1〕一実施形態
〔1−1〕情報処理システムについて
図1は、一実施形態に係る情報処理システムの構成例を示す図である。図1に示すように、一実施形態に係る情報処理システムは、サービス環境制御サーバ1、ユーザ端末2、サービス提供システム3、及び管理装置4をそなえる。
ユーザ端末(端末装置)2は、ネットワーク5に接続され、サービス提供システム3へのリクエスト(要求)の発行処理を行なうとともに、サービス提供システム3からのレスポンス(応答)に応じた処理を行なう装置である。上述した処理を行なうため、ユーザ端末2は、少なくともCPU等のプロセッサ、メモリ、及びネットワーク5との間で有線又は無線による通信を行なうインタフェース(いずれも図示省略)をそなえる。なお、ユーザ端末2としては、スマートフォン、PC、又はタブレット等の種々の情報処理装置が挙げられる。また、ネットワーク5としては、インターネット又はイントラネット等の種々のネットワークが挙げられる。
サービス提供システム3は、ユーザ端末2へ所定のサービスを提供するシステムである。サービス提供システム3は、一例として、図1に示すように、勤怠管理サービスサーバ3a−1、出張申請サービスサーバ3a−2、勤怠情報Database(DB)3b−1、及び出張旅費情報DB3b−2をそなえる。なお、サービス提供システム3は、ハードウェアリソースとしての情報処理装置(図示省略)をそなえる。
勤怠管理サービスサーバ3a−1及び出張申請サービスサーバ3a−2は、ユーザ端末へ所定のサービスを提供する仮想サーバ又は物理サーバ(サービス提供サーバ)であり、ユーザ端末2からの要求に対して応答を行なう処理装置の一例である。
サービス提供システム3がそなえる情報処理装置は、少なくともCPU等のプロセッサ、メモリ、Hard Disk Drive(HDD)等の記憶部、及びサービス環境制御サーバ1との間で有線又は無線による通信を行なうインタフェース(いずれも図示省略)を有する。情報処理装置は、各ハードウェアを用いて、仮想サーバ又は物理サーバとして、勤怠管理サービスサーバ3a−1又は出張申請サービスサーバ3a−2の機能を実現する。
勤怠管理サービスサーバ3a−1は、ユーザからの業務の勤怠情報の登録、更新、又は参照等のリクエストに応じて、所定の処理を行なうサーバであり、勤怠情報DB3b−1は、ユーザごとの勤怠情報を保持するデータベースである。例えば、勤怠管理サービスサーバ3a−1は、ユーザ端末2からのリクエストに応じて、勤怠情報DB3b−1に保持されたユーザごとの勤怠情報の登録、更新、読出等の処理を行ない、処理結果をレスポンスとしてユーザ端末2へ送信する。
出張申請サービスサーバ3a−2は、ユーザからの出張又は旅費に関する出張旅費情報の登録、更新、又は参照等のリクエストに応じて、所定の処理を行なうサーバであり、出張旅費情報DB3b−2は、ユーザごとの出張旅費情報を保持するデータベースである。例えば、出張申請サービスサーバ3a−2は、ユーザ端末2からのリクエストに応じて、出張旅費情報DB3b−2に保持されたユーザごとの出張旅費情報の登録、更新、読出等の処理を行ない、処理結果をレスポンスとしてユーザ端末2へ送信する。
以下、勤怠管理サービスサーバ3a−1及び出張申請サービスサーバ3a−2を区別しない場合には、サービス提供サーバ3a又は単にサーバ3aという。
なお、サービス提供システム3は、図1に示す例では2つのサーバ3aをそなえるものとして説明したが、これに限定されるものではなく、1以上のサーバ3aをそなえることができる。
管理装置4は、サービス環境制御サーバ1の管理を行なう装置である。例えばサービス環境制御サーバ1又はサービス提供システム3の管理者は、管理装置4の操作を通じて、サービス環境制御サーバ1に後述する制御条件定義情報を設定する。
管理装置4は、CPU等のプロセッサ、メモリ、サービス環境制御サーバ1との間で有線又は無線による通信を行なうインタフェース、及び入出力部(いずれも図示省略)をそなえる。入出力部は、例えばマウスやキーボード等の入力装置及びディスプレイやプリンタ等の出力装置の少なくとも一方を含んでよい。例えば、管理装置4のCPUは、入出力部(入力装置)により管理者からの制御条件定義情報の入力を受け付け、インタフェースを介してサービス環境制御サーバ1へ送信する。また、管理装置4のCPUは、サービス環境制御サーバ1からの制御の処理結果を出力装置に表示(出力)させる。
なお、図1に示す例では、管理装置4は、サービス環境制御サーバ1に接続されているが、ネットワーク5を介してサービス環境制御サーバ1に接続されてもよい。また、管理者が、サービス環境制御サーバ1の後述する入出力部10eを用いてサービス環境制御サーバ1に制御条件定義情報を入力し、入出力部10eに表示(出力)される処理結果を参照する場合には、管理装置4は省略されてもよい。
サービス環境制御サーバ(制御装置)1は、ユーザ端末2とサービス提供サーバ3aとの間に介設され、サーバ3aの制御を行なう情報処理装置である。
〔1−2〕サービス環境制御サーバのハードウェア構成
次に、図2を参照して、サービス環境制御サーバ1のハードウェア構成を説明する。図2は、図1に示すサービス環境制御サーバ1の構成例を示す図である。
サービス環境制御サーバ1は、図2に示すように、CPU10a、メモリ10b、記憶部10c、インタフェース10d、入出力部10e、記録媒体10f、及び読取部10gをそなえる。
CPU10aは、メモリ10b、記憶部10c、インタフェース10d、入出力部10e、記録媒体10f、及び読取部10gと接続され、種々の制御や演算を行なう処理装置(プロセッサ)である。CPU10aは、メモリ10b、記憶部10c、記録媒体10、読取部10gを介した記録媒体10h、又は図示しないRead Only Memory(ROM)等に格納されたプログラムを実行することにより、サービス環境制御サーバ1における種々の機能を実現する。なお、CPU10aに限らず、プロセッサとしては、Micro Processing Unit(MPU)等の電子回路が用いられてもよい。
メモリ10bは、種々のデータやプログラムを一時的に格納する記憶装置であって、CPU10aがプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。なお、メモリ10bとしては、例えばRandom Access Memory(RAM)等の揮発性メモリが挙げられる。
記憶部10cは、例えばHDD等の磁気ディスク装置、Solid State Drive(SSD)等の半導体ドライブ装置、フラッシュメモリ等の不揮発性メモリ等の各種デバイスであり、種々のデータやプログラム等を格納するハードウェアである。
インタフェース10dは、有線又は無線により、サービス提供システム3及びネットワーク5との間の接続及び通信の制御を行なうコントローラである。
入出力部10eは、例えばマウスやキーボード等の入力装置及びディスプレイやプリンタ等の出力装置の少なくとも一方を含んでよい。例えば入出力部10eは、上述した管理者により、制御条件定義情報の入力及びサービス環境制御サーバ1による制御の処理結果の参照等に用いられる。
記録媒体10fは、フラッシュメモリやROM等の記憶装置であり、種々のデータやプログラムを記録する。読取部10gは、光ディスクやUniversal Serial Bus(USB)メモリ等のコンピュータ読取可能な記録媒体10hに記録されたデータやプログラムを読み出す装置である。
記録媒体10f及び10hの少なくとも一方には、本実施形態に係るサービス環境制御サーバ1の機能を実現する制御プログラムが格納されてもよい。すなわち、CPU10aは、記録媒体10f、又は読取部10gを介して記録媒体10hから入力された制御プログラムを、メモリ10b等の記憶装置に展開して実行することにより、サービス環境制御サーバ1の機能を実現する。
なお、上述した各ハードウェアは、互いにバスで通信可能に接続される。
また、情報処理システム間、つまりユーザ端末2及びネットワーク5間、サービス環境制御サーバ1及びネットワーク5間、並びにサービス環境制御サーバ1及びサービス提供システム3間は、有線接続及び無線接続のいずれの態様で接続されてもよい。有線接続におけるケーブルとしては、Local Area Network(LAN)ケーブル、InfiniBand(インフィニバンド(登録商標))等のケーブル、Fibre Channel(ファイバチャネル)、又はUSBケーブル等のシリアルケーブルが例として挙げられる。なお、ケーブルとして、パラレルケーブルが用いられてもよい。また、無線接続としては、無線LAN、Bluetooth(登録商標)、又は無線USB等が例として挙げられる。なお、情報処理システム間は、上述した例示に限られず、種々の態様により接続することが可能である。
なお、サービス環境制御サーバ1の上述したハードウェア構成は例示である。従って、サービス環境制御サーバ1内でのハードウェアの増減や分割等は適宜行なわれてもよい。また、後述するサービス環境制御サーバ1の機能ごとに、図2に例示するハードウェアを有する情報処理装置がそなえられてもよい。
〔1−3〕サービス環境制御サーバの説明
次に、サービス環境制御サーバ1の詳細を説明する。
サービス環境制御サーバ1は、上述のように、サービス提供サーバ3aの制御を行なう。例えば、サービス環境制御サーバ1は、ユーザ端末2及びサーバ3a間でやり取りされるリクエスト及びレスポンスを中継する。また、サービス環境制御サーバ1は、ユーザ端末2からのリクエストのパケットを監視し、監視結果に基づいて、サーバ3aの状態制御を行なう。
具体的に、サービス環境制御サーバ1は、以下の(1)〜(3)の制御を行なう。
(1)ユーザ端末2によるサービス提供サーバ3aの利用状況に基づき、所定の条件を満たすサービス提供サーバ3aを動作状態から停止状態に遷移させる。
(2)上記利用状況に基づき、ユーザ端末2からのリクエストの宛先であるサービス提供サーバ3a(以下、宛先サーバ3aともいう)及び宛先サーバ3aのサーバ状態(状態)を判定する。宛先サーバ3aが動作状態(動作中)の場合、リクエストを宛先サーバ3aへ送信(中継)する。
(3)宛先サーバ3aが停止状態の場合、以下の(3−1)及び(3−2)を行なう。
(3−1)宛先サーバ3aに対して、停止状態から動作状態に遷移させる制御を行なうとともに、リクエストを送信したユーザ端末2に、宛先サーバ3aが動作状態への遷移中である旨を、宛先サーバ3aに代わって代理応答する。
(3−2)宛先サーバ3aが動作状態に遷移すると、リクエストを宛先サーバ3aへ送信(中継)する。
なお、動作状態とは、サービス提供サーバ3aが、ユーザ端末2からのリクエストに対するレスポンスを送信可能である状態をいう。
また、停止状態とは、サービス提供サーバ3aがユーザ端末2からの要求に応答することが難しい状態をいう。具体的には、停止状態には、サーバ3aへの給電が停止したシャットダウン状態、及びサーバ3aの一部のハードウェアへの給電が停止したスリープ状態の少なくとも一方が含まれてよい。
このように、サービス環境制御サーバ1は、上記(1)によって、ユーザ端末2によるサービスの利用状況に合わせて、サービス提供サーバ3aを停止状態に遷移させるので、サービス提供サーバ3aの省電力化を実現することができる。
また、サービス環境制御サーバ1は、上記(2)によって、サービス環境制御サーバ1がそなえられない場合と同様に、ユーザ端末2からのリクエストを宛先サーバ3aへ渡すことができる。
さらに、サービス環境制御サーバ1は、上記(3)によって、宛先サーバ3aが停止状態から動作状態に遷移するまでの間、代理応答を受信したユーザ端末2により接続要求等のリクエストが繰り返し再送(リトライ)されることを抑止することができる。これにより、サービス環境制御サーバ1は、宛先サーバ3a(ネットワーク5)へのアクセス集中を緩和することができる。従って、サービス環境制御サーバ1は、宛先サーバ3aの処理負荷の低減を図ることができ、ユーザが宛先サーバ3aのサービスを利用し難い状況の早期解消を実現することができる。また、サービス環境制御サーバ1は、ネットワークの輻輳の抑制を図ることができ、ユーザが他のサービス提供サーバ3aのサービスを利用し難い状況に陥ることを抑止することができる。このように、サービス環境制御サーバ1は、上記(3)によって、システム全体の性能低下を抑制することができる。
〔1−4〕サービス環境制御サーバの構成例
以下、図3〜図8を参照して、サービス環境制御サーバ1の構成例を説明する。図3は、図1に示すサービス環境制御サーバ1の構成例を示す図である。図4〜図6は、それぞれ、図1に示すサービス環境制御サーバ1が保持するサーバ状態情報DB13c、制御条件定義情報DB12、及び制御情報DB12のデータ構造の一例を示す図である。図7及び図8は、それぞれ、サービス環境制御サーバ1が保持するセッション情報DB12及び代理応答情報DB14aのデータ構造の一例を示す図である。
サービス環境制御サーバ1は、図3に示すように、受付部11、制御管理部12、サーバ管理部13、及び代理応答部14をそなえる。
〔1−4−1〕サーバ管理部の説明
サーバ管理部13は、サービス提供サーバ3aとの間でデータ及びコマンド等の情報のやり取りを行なう。具体的には、サーバ管理部13は、サービス提供サーバ3aからサーバ状態(状態)を取得する。また、サーバ管理部13は、サーバ3aの状態制御を行なう。
サーバ管理部13は、一例として、サーバ状態取得部13a、サーバ制御部13b、及びサーバ状態情報DB13cをそなえる。
サーバ状態取得部(状態取得部)13aは、サービス提供サーバ3aからサーバ状態を取得する。例えば、サーバ状態取得部13aは、後述する制御管理部12からサーバ状態の取得要求を受けると、サーバ3aに対して、サーバ状態の取得要求を発行し、サーバ3aからの応答結果に基づいて、サーバ状態を判定(取得)する。なお、サーバ状態の取得要求は制御管理部12から定期的に発行される。サーバ管理部13は、制御管理部12から定期的なサーバ状態の取得要求を受け取る都度、サーバ状態の取得を行なう。
なお、サーバ状態の取得対象のサービス提供サーバ3aは、サービス環境制御サーバ1に接続された全てのサーバ3aであってもよいし、制御管理部12からのサーバ状態の取得要求で指定された特定のサーバ3aであってもよい。
サーバ状態取得部13aは、サーバ3aからサーバ状態を取得すると、図4に示すサーバ状態情報DB13cを更新する。
サーバ状態情報DB13cは、サービス提供サーバ3aごとのサーバ状態を管理するためのデータベースであり、図4に例示するデータ構造のサーバ状態情報(状態情報)を、サーバ3aごとに格納する。図4に示すように、サーバ状態情報は、サーバ3aの識別情報の一例であるサーバID、サーバ3aのアドレスの一例であるInternet Protocol(IP)アドレス、及びサーバ3aが提供するサービスの識別情報の一例であるサービスIDを含む。また、サーバ状態情報は、サーバ状態取得部13aによってサーバ3aから取得されたサーバ状態、サーバ3aのCPU使用率(%)、及びサーバ状態情報の取得時刻(状態取得時刻)をさらに含む。図4に示すサーバ状態情報DB13cは、サーバID“Server01”〜“Server04”の各々のサーバ状態情報を格納する。一例として、サーバID“Server01”には、IPアドレス“aaa.aaa.aaa.aaa”、サービスID“Service01”、サーバ状態“Stop”、CPU使用率(%)“0”、状態取得時刻“yymmdd hh:mm:ss”が対応付けられる。
サーバ状態取得部13aは、例えば、サーバ状態情報DB13cにおけるサーバ状態、CPU使用率、及び状態取得時刻以外の項目の情報を予めサーバ3aから収集し、サーバ状態情報DB13cに設定しておくことが好ましい。なお、サーバ状態取得部13aは、サーバ3aから、サーバ状態及びCPU使用率の他に、サーバ状態情報DB13cにおける状態取得時刻以外の情報についても取得し、サーバ状態情報DB13cに設定してもよい。
また、サーバ状態取得部13aは、CPU使用率については、後述する理由により、サーバ状態の取得要求とは別に、サーバ3aの稼動状況を監視する所定のコマンド等を用いて取得することが好ましい。CPU使用率を取得する手法は、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。
サーバ状態取得部13aは、サーバ状態及びCPU使用率を取得すると、サーバ状態情報DB13cのうちの対応するレコードに、取得したサーバ状態、CPU使用率、及びサーバ状態を取得したときの時刻(状態取得時刻)をそれぞれ設定する。
なお、サーバ状態としては、図4に例示するように、動作状態を示す“Running”、停止状態のうちのシャットダウン状態を示す“Stop”、停止状態のうちのスリープ状態を示す“Sleep”、及びビジー状態を示す“Busy”が挙げられる。
また、サーバ状態情報DB13cが持つ項目は、図4に示すものに限定されるものではない。例えば、サーバ状態情報DB13cには、サーバ3aのネットワーク使用率等、サーバ3aから取得可能な種々の項目が含まれてもよい。
さらに、サーバ3aのアドレスとして、IPアドレスを例に挙げたが、これに限定されるものではなく、IP以外のプロトコルにおいてサーバ3aとしての仮想サーバ又は物理サーバを特定可能な種々のアドレスが用いられてもよい。
ここで、サーバ状態取得部13aがサーバ状態を判定する手法を説明する。
サーバ状態取得部13aは、サーバ3aへサーバ状態の取得要求を発行した後、所定期間内にサーバ3aから応答があるか否かを判断する。サーバ3aから応答があった場合、サーバ状態取得部13aは、当該サーバ3aが動作状態であると判定する。
一方、所定期間内にサーバ3aから応答がない場合、サーバ3aは、シャットダウン状態、スリープ状態、又はビジー状態の可能性が高い。そこで、サーバ状態取得部13aは、サーバ3aのハードウェアへの給電が行なわれているか否かを、サーバ3aのハードウェア状態を監視する所定のコマンド等を用いて判断する。なお、この判断は、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。サーバ3aのハードウェアへの給電が行なわれていない場合、サーバ状態取得部13aは、サーバがシャットダウン状態であると判定する。
また、サーバ3aのハードウェアへの給電が行なわれている場合、サーバ3aは、スリープ状態又はビジー状態である可能性が高い。これは、スリープ状態の場合、サーバ3aのハードウェア(少なくともCPU及びメモリ)に給電が行なわれ、ビジー状態の場合、サーバ3aは稼動中でありハードウェアに給電が行なわれているためである。そこで、サーバ状態取得部13aは、サーバ3aから取得したCPU使用率を参照し、所定の閾値以下であるか否かを判断する。なお、サーバ状態取得部13aは、サーバ状態の取得要求とは別に、所定のコマンドを用いてCPU使用率を取得することで、取得要求への応答が得られない場合であっても、確実にCPU使用率を得ることができる。
CPU使用率が所定の閾値以下である場合、サーバ状態取得部13aは、サーバ3aがスリープ状態であると判定する。これは、スリープ状態の場合、サーバ3aのCPUは、主にメモリをリフレッシュする処理に用いられるため、負荷の低い状態が維持されるためである。
一方、CPU使用率が所定の閾値よりも高い場合、サーバ状態取得部13aは、サーバ3aがビジー状態であると判定する。これは、ビジー状態の場合、CPUは、サーバ状態の取得要求に対する応答を返せない程度に高負荷になっているためである。
サーバ状態取得部13aは、以上の手法により、サーバ状態の判定を行なう。
また、サーバ状態取得部13aは、制御管理部12からの要求に応じて、サーバ状態情報DB13cを更新すると、サーバ状態情報DB13c内のサーバ状態とサーバ3aを特定するためのサーバID又はIPアドレスとを読み出す。そして、サーバ状態取得部13aは、読み出した情報を制御管理部12へサーバ状態の取得応答として出力する。サーバ状態の取得応答には、サーバ状態情報DB13c内の全てのレコードのサーバ状態とサーバID又はIPアドレスとが含まれてもよいし、直近に更新が行なわれたレコードのみのサーバ状態とサーバID又はIPアドレスとが含まれてもよい。なお、サーバ状態取得部13aは、サーバ状態情報DB13c全体を取得応答として制御管理部12へ出力してもよい。
なお、サーバ状態の取得応答は、制御管理部12により、上記(1)の処理で、サーバ3aを動作状態から停止状態に遷移させるか否かの判断に用いられる。
さらに、サーバ状態取得部13aは、制御管理部12からサーバ状態の問合せ要求を受けた場合、問合せ要求に係るサーバ状態をサーバ状態情報DB13cから読み出し、サーバ状態の問合せ応答として制御管理部12へ出力する。なお、サーバ状態の問合せ応答は、後述する受付部11により、上記(2)又は(3)の処理で、サーバ3aが動作状態であるか否かの判断に用いられる。
以下、サーバ状態取得部13aが制御管理部12からサーバ状態の問合せ要求を受けた場合の処理を説明する。
サーバ状態の問合せ要求には、受付部11により指定された、サーバ3aのIPアドレスが含まれる。
サーバ状態取得部13aは、問合せ要求を受けると、サーバ状態情報DB13cを参照して、指定されたIPアドレスのサーバ3aが提供するサービスのサービスIDを識別する。また、サーバ状態取得部13aは、サーバ状態情報DB13cの中で、識別したサービスIDと同一のサービスIDを持つ他のサーバ3aが存在するか否かを判断する。同一のサービスIDを持つ他のサーバ3aが存在する場合、サーバ状態取得部13aは、識別したサービスIDと同一のサービスIDを持つ全てのサーバ3aのサーバ状態と、サーバ3aを特定するサーバID又はIPアドレスとを、サーバ状態の問合せ応答として制御管理部12へ出力する。
ところで、サーバ状態情報DB13cにおいて、同一のサービスIDを持つサーバ3a(図4に示す例では、サーバID“Server01”及び“Server03”)は、ユーザ端末2に対して同一のサービスを提供することができる。
そこで、サーバ状態取得部13aは、問合せ要求に含まれるIPアドレスのサーバ状態の他に、同一のサービスを提供することができる他のサーバ3a(IPアドレス)が存在する場合には、他のサーバ3aのサーバ状態も問合せ応答に含めるのである。これにより、受付部11では、例えば同一のサービスを提供できる動作状態の他のサーバ3aが存在するにもかかわらず、問合せ要求に係るサーバ3aが停止状態であるために不要な起動制御が行なわれることを抑止することができる。
サーバ制御部13bは、制御管理部12からの制御要求に応じて、サービス提供サーバ3aの状態制御を行なう。
具体的には、サーバ制御部13bは、制御管理部12から、サーバ3aを動作状態から停止状態に遷移させる制御要求を受けると、制御要求において指定されたサーバ3aに対して、シャットダウン又はスリープ等、停止状態へ遷移させる制御要求を発行する。また、サーバ制御部13bは、制御管理部12から、サーバ3aを停止状態から動作状態に遷移させる制御要求を受けると、制御要求において指定されたサーバ3aに対して、停止状態から起動状態へ遷移させる制御要求を発行する。
また、サーバ制御部13bは、制御要求に応じて状態制御が実行されたサーバ3aから制御応答を受けると、サーバ状態情報DB13cのうちの対応するレコードに、遷移後のサーバ状態及びサーバ状態の更新時刻(状態取得時刻)をそれぞれ設定する。
なお、サーバ3aは、停止状態から動作状態に遷移した場合、起動処理が完了した旨を制御応答に含めてサーバ制御部13bへ出力する。
一方、サーバ3aは、動作状態から停止状態に遷移する場合、シャットダウン処理又はスリープ処理等の停止処理の開始予定時刻(又は何秒後に行なうか)を制御応答に含めてサーバ制御部13bへ出力する。この場合、制御応答を受信したサーバ制御部13bは、少なくとも開始予定時刻まで待ってから、サーバ状態情報DB13cの更新及び制御管理部12への問合せ応答の送信を行なうこととしてもよい。なお、サーバ制御部13bは、開始予定時刻以降に、サーバ状態取得部13aにサーバ3aに対するサーバ状態の取得を指示して、サーバ3aの停止処理が完了したか否かを確認してもよい。
なお、サーバ管理部13は、ユーザ端末2から受付部11を介してリクエストを受け取ると、リクエストの宛先アドレスが示すサーバ3aが動作状態である場合に、宛先アドレスへ当該リクエストを転送する。
また、サーバ管理部13は、ユーザ端末2からのリクエストの宛先アドレスが示すサーバ3aが停止状態又はビジー状態の場合でも、同一のサービスIDを持つ動作状態の他のサーバ3aが存在する場合には、他のサーバ3aへ当該リクエストを転送してもよい。
なお、リクエストの宛先アドレスが示すサーバ3aと同一のサービスIDを持つ他のサーバ3aの特定手法は、上述のサーバ状態取得部13aと同様であるため、その説明を省略する。
このように、サーバ管理部13は、ユーザ端末2からのリクエストの宛先である宛先サーバ3aを、同一のサービスIDを持つ1以上のサーバ3aから特定し、特定したサーバ3aへリクエストを転送することもできる。
〔1−4−2〕受付部の説明
受付部(要求制御部)11は、ユーザ端末2からの接続要求等のリクエストを受け付けて、リクエストの宛先である宛先サーバ3aの状態に応じた処理を行なう。例えば、受付部11は、宛先サーバ3aが停止状態の場合、サーバ3aの代わりに代理応答を行なう代理応答部14に、ユーザ端末2に対する代理応答を実行させる。また、受付部11は、宛先サーバ3aが動作状態の場合、ユーザ端末2からの要求を宛先サーバ3aへ送信(中継)する。
また、受付部11は、上述した処理の他に、管理者からの制御条件定義情報を受け付けて制御管理部12へ設定を要求する処理、並びに宛先サーバ3aからのレスポンス及び代理応答部14からの代理応答をユーザ端末2へ送信する処理を行なう。
以下、受付部11の詳細な構成例を説明する。受付部11は、一例として、キューイング部11a及び状態判定部11bをそなえる。
キューイング部(保持部)11aは、ユーザ端末2からインタフェース10dを介して受信したリクエスト(パケット)を一時的に保持する。キューイング部11aは、例えばメモリ10bにより実現される。
宛先判定部11bは、受信したリクエスト(パケット)を監視して、ユーザ端末2の接続先、つまりリクエストの宛先アドレスを識別する。例えば、宛先判定部11bは、受信したパケット又はキューイング部11aに保持されたパケットを参照して、宛先アドレス(例えばIPアドレス)を取得する。
そして、宛先判定部11bは、制御管理部12を介してサーバ管理部13へ、サーバ状態の問合せ要求を発行する。サーバ状態の問合せ要求には、宛先判定部11bが識別した宛先アドレスが含まれる。
サーバ管理部13では、上述の如く、サーバ状態取得部13aにより、宛先アドレスのサーバ3aが提供するサービスと同一のサービスを提供する全てのサーバ3aのサーバ状態とサーバID又はIPアドレスとが、サーバ状態の問合せ応答として出力される。宛先判定部11bは、制御管理部12を介してサーバ状態の問合せ応答を受け取ると、以下の判断条件に従い、ユーザ端末2からのリクエストに対する制御を行なう。
(i)問合せ応答のサーバ状態に、動作状態を示す“Running”が含まれる場合
宛先判定部11bは、サーバ状態が動作状態であるサーバ3aを宛先サーバ3aと特定し、宛先サーバ3aへリクエストの転送を行なう。
(ii)問合せ応答のサーバ状態に、動作状態を示す“Running”が含まれず、停止状態を示す“Stop”又は“Sleep”が含まれる場合
宛先判定部11bは、サーバ状態が停止状態であるサーバ3aを宛先サーバ3aと特定し、後述する代理応答部14に、リクエストの送信元であるユーザ端末2への代理応答を実行させる。
(iii)問合せ応答のサーバ状態に、動作状態を示す“Running”並びに停止状態を示す“Stop”又は“Sleep”が含まれず、ビジー状態を示す“Busy”が含まれる場合
この場合、全てのサーバ3aがビジー状態であり、待機(停止)中のサーバ3aが存在しない。従って、宛先判定部11bは、サーバ状態がビジー状態であるサーバ3aを宛先サーバ3aと特定し、代理応答部14に、リクエストの送信元であるユーザ端末2への代理応答を実行させる。
なお、上記(i)〜(iii)のいずれの場合においても、問合せ応答のサーバ状態に、同じサーバ状態のサーバ3aが複数含まれる場合には、宛先サーバ3aとして、同じサーバ状態のサーバ3aのいずれを選択してもよい。
宛先判定部11bは、問合せ応答に含まれるサーバ状態について、上記(i)〜(iii)の順で判断条件を満たすか否かを判定する。
以上のように、宛先判定部11bは、リクエストに応答可能な1以上のサーバ3aのサーバ状態に基づき宛先サーバ3aを特定し、宛先サーバ3aのサーバ状態に応じて、リクエストに対する制御を行なう。
なお、宛先判定部11bによる上記(i)〜(iii)の判定は、リクエストの宛先アドレスのサーバ3aが提供するサービスと同一のサービスを提供する他のサーバ3aがない場合であっても、同様に行なわれる。つまり宛先判定部11bは、サーバ状態の問合せ応答に含まれるサーバ状態が、宛先アドレスのサーバ状態だけである場合、サーバ状態が動作状態、停止状態、及びビジー状態のいずれであるかを判定し、判定結果に応じた処理を行なう。
受付部11は、上記(i)の判断条件を満たす場合、キューイング部11aにキューイングされたリクエストを接続要求として宛先サーバ3aへ向けて送出する。
また、受付部11は、上記(ii)又は(iii)の判断条件を満たす場合、キューイング部11aにキューイングされたリクエストの複製を、代理応答要求として代理応答部14へ向けて送出する。なお、代理応答と並行して、制御管理部12及びサーバ管理部13では、宛先サーバ3aの起動制御が行なわれる。受付部11は、宛先サーバ3aが起動し制御管理部12からサーバ3aの起動完了通知を受けると、キューイング部11aにキューイングされたリクエストを起動完了通知の受信応答として宛先サーバ3aへ向けて送出する。
なお、受付部11は、上記(i)〜(iii)の判定により、リクエスト又はリクエストの複製の送出先(宛先サーバ3a又は代理応答部14)が、宛先アドレス以外のアドレスに代わる場合には、リクエスト又はリクエストの複製を送出先へリダイレクトする。
このように、受付部11は、宛先サーバ3aが停止状態又はビジー状態の間、ユーザ端末2に対する代理応答を代理応答部14に実行させて、ユーザ端末2に現在の宛先サーバ3aの状況を通知することができる。従って、ユーザ端末2によりリクエストの再送が繰り返されることにより生じる、宛先サーバ3a及びネットワーク5へのアクセス集中(トラフィック)を低減することができる。
なお、上述のように、サーバ管理部13は、ユーザ端末2からのリクエストの宛先である宛先サーバ3aを、同一のサービスIDを持つ1以上のサーバ3aから特定し、特定したサーバ3aへリクエストを転送することもできる。そこで、受付部11(宛先判定部11b)は、宛先サーバ3aの特定をサーバ管理部13に実行させてもよい。つまり、宛先判定部11b及びサーバ管理部13を宛先制御部の一例としてもよい。この場合、宛先判定部11bは、上述のように、上記(i)〜(iii)の判定を行ない、リクエストの転送及び代理応答のうちのいずれを実行するかを決定するが、宛先サーバ3aの特定は行なわない。つまり、宛先サーバ3aは、判定結果が上記(i)である場合、リクエストのパケットの宛先アドレスに当該リクエストを転送すればよい。また、宛先サーバ3aは、判定結果が上記(ii)又は(iii)である場合、リクエストのパケットをそのまま代理応答部14へ送出すればよい。
〔1−4−3〕制御管理部の説明
制御管理部12は、管理装置4から受け取った制御条件定義情報の管理、受付部11からサーバ管理部13へのサーバ状態の問合せ要求の転送、及びサーバ管理部13から受付部11への問合せ応答の転送を行なう。また、制御管理部12は、受付部11から代理応答部14へのリクエストの転送、代理応答部14からユーザ端末2(受付部11)への代理応答の転送、サーバ3aのサーバ状態の制御、及びユーザ端末2が利用するサービスのセッション情報の管理等を行なう。
以下、制御管理部12の詳細な構成例を説明する。制御管理部12は、一例として、制御条件管理部12a、制御判定部12b、セッション管理部12c、制御条件定義情報DB12d、制御情報DB12e、及びセッション情報DB12fをそなえる。
制御条件管理部12aは、管理者から受付部11を介して制御条件定義情報を受け取ると、図5に示す制御条件定義情報DB12dを更新する。
制御条件定義情報DB12dは、サービス提供サーバ3aごとの状態制御の条件のうち、動作状態から停止状態へ遷移させる条件を定義するデータベースであり、図5に例示するデータ構造の制御条件を、サーバ3aごとに格納する。図5に示すように、制御条件は、サーバ3aのIPアドレス、IPアドレスに対応するサーバID、及び停止状態のうちのシャットダウン状態及びスリープ状態のいずれの状態に遷移させるかを示す制御種別を含む。また、制御条件は、状態制御を行なうか否かの判定に用いる判定対象、判定対象の閾値である量(quantity)、及び判定対象時間(m)をさらに含む。図5に示す制御条件定義情報DB12dは、IPアドレス“aaa.aaa.aaa.aaa”〜“ddd.ddd.ddd.ddd”の各々の制御条件を格納する。一例として、IPアドレス“aaa.aaa.aaa.aaa”には、サーバID“Server01”、制御種別“Sleep”、判定対象“transaction”、量(quantity)“10”、判定対象時間(m)“5”が対応付けられる。
監視装置4は、管理者により設定された制御条件を含む定義要求をサービス環境制御サーバ1へ送信する。なお、管理者は、制御条件として、IPアドレス及びサーバIDの少なくとも一方、制御種別、判定対象、量、並びに判定対象時間を設定する。サービス環境制御サーバ1では、制御条件管理部12aは、受付部11を介して制御条件の定義要求を受け取り、制御条件定義情報DB12dへ設定(更新)する。なお、制御条件管理部12aは、例えば、制御条件定義情報DB12dにおけるIPアドレス及びサーバIDの項目の情報を予めサーバ3aから収集し、制御条件定義情報DB12dに設定してもよい。
制御判定部12bは、サーバ3aの状態制御を行なうか否かを判定する。例えば、制御判定部12bは、サーバ3aを動作状態から停止状態へ遷移させる停止制御を行なうか否か、及び、サーバ3aを停止状態から動作状態へ遷移させる起動制御を行なうか否かを判定する。
はじめに、制御判定部12bが、停止制御を行なう場合について説明する。
具体的に、制御判定部12bは、サーバ状態の取得要求を発行し、サーバ管理部13から定期的にサーバ状態を取得し、図6に示す制御情報DB12eを更新する。
制御情報DB12eは、サーバ管理部13が保持するサーバ状態情報DB13cと同様の情報を管理するデータベースである。図6に示す例では、制御情報DB12eは、CPU使用率の項目を持たない点がサーバ状態情報DB13cと異なるが、それ以外の項目は、サーバ状態情報DB13cと同一である。
制御判定部12bは、サーバ管理部13からのサーバ状態の取得応答に含まれる情報を用いて、制御情報DB12eの対応するレコードを更新する。なお、制御管理部12は、例えば、制御情報DB12eにおけるサーバ状態及び状態取得時刻以外の項目の情報を予めサーバ3aから収集し、制御情報DB12eに設定しておいてもよい。また、制御管理部12は、サーバ管理部13からサーバ状態情報DB13c自体を受け取る場合には、受け取ったサーバ状態情報DB13cにより制御情報DB12e全体を更新してもよい。
制御判定部12bは、制御情報DB12eを更新すると、制御条件定義情報DB12dと制御情報DB12eとを比較して、サーバ3aごとに、状態制御を行なうか否かを判定する。具体的には、制御判定部12bは、制御情報DB12eにおいて、サーバ状態が“Running”であるサーバ3a(サーバID又はIPアドレス)を特定する。そして、制御判定部12bは、特定したサーバ3aが、制御条件定義情報DB12dの判定対象、量(例えばパケット数)、及び判定対象時間により定義される制御条件を満たすか否かを判定する。
例えば、サーバ状態が“Running”であるサーバ3a(サーバID“Server02”)に着目する(図6参照)。制御判定部12bは、当該サーバ3aについて、過去10分以内のトランザクションが0以下であるか否か、及び、過去15分以内のトランザクションが0以下であるか否かを判定する(図5参照)。
判定の結果、過去10分以内又は15分以内のトランザクションが0以下である場合、制御判定部12bは、制御条件定義情報DB12d内の対応するレコードの制御種別を参照し、停止制御としてシャットダウン及びスリープのいずれかを特定する。所定期間内にリクエストがない、又は少ないサーバ3aは、停止状態にしてもサービスに与える影響が少ないからである。一方、過去15分以内のトランザクションが0ではない場合、制御判定部12bは、当該サーバ3aに対する状態制御は行なわないと判定する。
制御判定部12bは、サーバ状態が“Running”である全てのサーバ3aについて同様に、制御条件を参照して判定を行なう。そして、制御判定部12bは、サーバ状態が“Running”である全てのサーバ3aについて判定を行なうと、状態制御を行なうと判定したサーバ3aについて、特定した制御種別にサーバ状態を遷移させる制御要求を生成し、サーバ制御部13bへ出力する。
なお、制御判定部12bは、受付部11から送出された、ユーザ端末2からのリクエストのパケットを、宛先サーバ3a又は代理応答部14へ中継する。制御判定部12bは、リクエストの中継の際に、宛先サーバ3aのIPアドレスと、中継した時刻とを保持しておくことで、宛先サーバ3aごとのトランザクションの量を収集することができる。従って、制御判定部12bは、収集したトランザクションの量と中継した時刻とに基づいて、サーバ状態が“Running”であるサーバ3aが制御条件を満たすか否かを判定することができる。
また、図5に示す例では、判定対象にトランザクションが設定されているが、これに限定されるものではない。判定対象としては、制御判定部12bがパケットの監視を通じてサーバ3aの利用状況を認識できる種々の条件とすることができる。
さらに、制御判定部12bは、1つのサーバ3aの制御条件に複数の制御種別(“Sleep”及び“Stop”)があり、いずれの制御種別に係る制御条件も満たされている場合には、状態制御を適用する制御種別を、運用に応じて任意に決定することができる。
制御判定部12bは、以上のように停止制御を行なう。
なお、ここまで、制御判定部12bは、管理者が定義した制御条件定義情報DB12dに従って、定期的に停止制御を行なうものとして説明したが、これに限定されるものではない。例えば、管理者は、制御情報DB12e又はサーバ状態情報DB13c等を参照して、状態制御を行なうサーバ3a及び制御種別を手動で特定して、制御要求を生成してもよい。この場合、制御判定部12bは、管理装置4を介して管理者から受け取った制御要求を、サーバ管理部13へ転送する。
例えば、図1に示す社内サービスのような環境の場合、ユーザからのアクセス規模にある程度対応できるよう、サービス提供システム3が構成されている。しかし、アクセスが集中しない時間帯も同様の構成を維持してはリソースが余剰となり、余計な電力を消費してしまう。
一方、上述した制御判定部12bは、管理者によって定義されたサーバ3aの制御条件と、ユーザ端末2からのリクエストのパケット監視によるユーザ利用状況の観測結果と、を合わせた判定に基づき、サーバ3aの状態制御を行なう。これにより、従来は手動で、又はスケジュール等によって実施されていたリソースの制御を、ユーザの利用状況の変化に応じたタイミングで行なうことができ、消費電力の効率的な削減を図ることができる。
上述した制御判定部12bによるサーバ3aの停止制御は、特に、多数のユーザが接続するWebサービス等を提供するサービス提供システム3に用いて好適である。
次に、制御判定部12bが、起動制御を行なう場合について説明する。
上述のように、受付部11は、宛先サーバ3aが停止状態であると判定すると、ユーザ端末2からのリクエストの複製(代理応答要求)を代理応答部14へ転送する。そこで、制御判定部12bは、代理応答要求を代理応答部14へ中継する際に、代理応答要求に含まれる宛先サーバ3a及び当該宛先サーバ3aが停止状態であることを特定することができる。
そして、制御判定部12bは、特定した宛先サーバ3aのサーバ状態が停止状態である場合、宛先サーバ3aに対して停止状態から動作状態へ遷移させる起動制御を行なうと判定する。また、制御判定部12bは、起動制御を行なうと判定した宛先サーバ3aについて、起動状態にサーバ状態を遷移させる制御要求を生成し、サーバ制御部13bへ出力する。
なお、制御判定部12bは、上述した宛先判定部11bによる(i)〜(iii)の判定結果を受け取り、宛先サーバ3a及び宛先サーバ3aのサーバ状態を特定してもよい。
また、制御判定部12bは、宛先サーバ3a及び宛先サーバ3aのサーバ状態を自身で特定してもよい。例えば、制御判定部12bは、受付部11からのサーバ状態の問合せ要求及びサーバ管理部13からの問合せ応答をそれぞれ中継する。制御判定部12bは、サーバ管理部13からの問合せ応答を受付部11へ中継する際、問合せ応答の内容を参照し、上述した宛先判定部11bと同様の手法により、宛先サーバ3a及び宛先サーバ3aのサーバ状態を特定してもよい。
また、制御判定部12bは、宛先サーバ3aのサーバ状態がビジー状態である場合、上記(iii)で説明したように、宛先サーバ3aと同一のサービスを提供する全てのサーバ3aがビジー状態であり、待機(停止)中のサーバ3aが存在しない。この場合、制御判定部12bは、起動制御を行なわず、ビジー状態の宛先サーバ3aが負荷の低下によって動作状態に遷移するのを待つ。なお、このとき、制御判定部12bは、ビジー状態である旨を管理装置4に通知してもよい。
以上のように、制御判定部12b及びサーバ制御部13bは、ユーザ端末2からの要求の宛先である宛先サーバ3aが停止状態の場合、宛先サーバ3aに対して、停止状態から動作状態に遷移させる起動制御を行なう状態制御部15の一例である。
セッション管理部12cは、ユーザ端末2とサーバ3aとの間のセッション情報を管理する。例えば、ユーザ端末2からのリクエスト(例えば接続要求)が動作状態のサーバ3aに到達すると、サーバ3aからユーザ端末2へレスポンス(接続応答)が送出される。また、ユーザ端末2からのリクエストが受付部11により代理応答部14へリダイレクトされると、代理応答部14からユーザ端末2へレスポンス(代理応答)が送出される。
セッション管理部12cは、サーバ管理部13を介して受け取った当該レスポンスを受付部11へ中継する際に、レスポンスを参照して、図7に示すセッション情報DB12fを更新する。
セッション情報DB12fは、サーバ3aが提供するサービスのセッションごとに、ユーザ端末2とサーバ3aとの間の接続状態を管理するデータベースであり、図7に例示するデータ構造のセッション情報を、セッションごとに格納する。図7に示すように、セッション情報は、セッションの識別情報の一例であるセッションID、ユーザ端末2が利用するサービスのサービスID、ユーザ端末2の識別情報の一例であるユーザID、及びユーザ端末2とサーバ3aとの間の接続状態を含む。図7に示すセッション情報DB12fは、セッションID“Session01”〜“Session04”の各々のセッション情報を格納する。一例として、セッションID“Session01”には、サービスID“Service01”、ユーザID“User01”、接続状態“Redirected”が対応付けられる。
セッション管理部12cは、サーバ3a又は代理応答部14からユーザ端末2へのレスポンスを参照して、レスポンスに含まれるセッションID、サービスID、及びユーザIDを取得し、セッション情報DB12fに設定する。また、セッション管理部12cは、セッション情報DB12fの対応するレコードの接続状態に、レスポンスの送信元がサーバ3aである場合には“Connected”を、レスポンスの送信元が代理応答部14である場合には“Redirected”を設定する。
このように、セッション情報DB12fは、セッションごとに、ユーザ端末2とサーバ3aとの間で接続が確立された状態を示す“Connected”、又はサーバ3aが停止状態でありリクエストがサーバ3aに到達していない状態を示す“Redirected”を対応付ける。
また、セッション管理部12cは、状態制御部15により停止状態の宛先サーバ3aが起動されると、宛先サーバ3aからユーザ端末2へのレスポンスを参照する。セッション管理部12cは、制御情報DB12eとセッション情報DB12fとをサーバID又はIPアドレスにより紐付けて管理する。
セッション管理部12cは、制御情報DB12eの中で、宛先サーバ3aのサーバ状態が“Running”に遷移したことを検出すると、セッション情報DB12fの対応するレコードの接続状態を、“Redirected”から“Connected”に更新する。
このように、セッション管理部12cによれば、ユーザ端末2は、宛先サーバ3aからのレスポンスを受信できない場合でも、代理応答の送信元との間でセッションを維持することができる。また、宛先サーバ3aが起動し動作状態になった場合には、宛先サーバ3aからユーザ端末2へのレスポンスに基づき、セッションを容易に切り替えることができる。
〔1−4−4〕代理応答部の説明
代理応答部14は、制御管理部12を介して受付部11からの代理応答要求、つまりユーザ端末2からのリクエストの複製を受信すると、リクエストの送信元であるユーザ端末2に対して、代理応答を行なう。なお、代理応答の内容としては、「サーバ起動中のためお待ちください」といった、ユーザにリクエストの再送を控えさせるメッセージを含むものが例として挙げられる。例えば、代理応答の内容には、上記メッセージを表示するwait画面のUniform Resource Identifier(URI)が含まれてもよい。
代理応答部14は、一例として、代理応答情報DB14aをそなえる。
代理応答部14は、代理応答要求を受けると、リクエストの宛先アドレス又は宛先サーバ3aのIPアドレス等に基づいて、図8に示す代理応答情報DB14aから代理応答に含めるURIを取得し、取得したURIを含めた代理応答を行なう。
代理応答情報DB14aは、サービス提供サーバ3aごとに、ユーザ端末2へ送信するメッセージ(例えばwait画面へのURI)を管理するデータベースであり、図8に例示するデータ構造の代理応答情報を、サーバ3aごとに格納する。図8に示すように、代理応答情報は、サーバ3aのサーバID、IPアドレス、サーバ3aが提供するサービスのサービスID,及び代理応答に含めるコンテンツURIを含む。図8に示す代理応答情報DB14aは、IPアドレス“aaa.aaa.aaa.aaa”〜“ddd.ddd.ddd.ddd”の各々の代理応答情報を格納する。一例として、IPアドレス“aaa.aaa.aaa.aaa”には、サーバID“Server01”、サービスID“Service01”、応答コンテンツURI“http://Service01/Answer”が対応付けられる。
なお、代理応答部14は、例えば、代理応答情報DB14aにおけるサーバID、IPアドレス、及びサービスIDの項目の情報を予めサーバ3aから収集し、代理応答情報DB14aに設定しておくことが好ましい。また、代理応答情報DB14aの応答コンテンツURIは、例えば、管理装置4を介して管理者等により設定される。応答コンテンツURIは、サービス環境制御サーバ1、サーバ3a、及び管理装置4のうちのいずれのリソースを示すものであってもよい。
〔1−5〕動作例
次に、図9〜図17を参照して、上述の如く構成された一実施形態に係るサービス環境制御サーバ1の動作例を説明する。図9、図11、図13、及び図14は、それぞれ、一実施形態に係るサービス環境制御サーバ1の動作例を説明するフローチャートである。図10、図12、図15〜図17は、それぞれ、一実施形態に係るサービス環境制御サーバ1の動作例を説明するシーケンス図である。なお、図16及び図17は、処理T25までの処理が図15と共通するため、一部の図示を省略している。
〔1−5−1〕サーバ管理部によるサーバ状態の取得処理の動作例
はじめに、図9及び図10を参照して、サーバ管理部13によるサーバ状態の取得処理の動作例を説明する。
図9に示すように、サーバ管理部13により、サーバ3aへサーバ状態取得要求が発行される(ステップS1,図10の処理T1−1)。なお、サーバ管理部13は、制御管理部12からのサーバ状態取得要求を受信したことをトリガとして、サーバ3aに対してサーバ状態取得要求を発行する。サーバ3aでは、サーバ状態取得要求が受信されると、サーバ状態を含むサーバ状態取得応答がサーバ管理部13へ送信される(ステップS2,図10の処理T1−2)。
サーバ管理部13により、サーバ状態取得応答が受信されると、サーバ状態取得応答に含まれるサーバ状態に基づいて、図4に示すサーバ状態情報DB13cが更新される(ステップS3,図10の処理T2)。
次いで、制御管理部12により、現在の時刻がサーバ状態の次回取得時刻になったか否かが判定される(ステップS4)。現在の時刻がサーバ状態の次回取得時刻になっていない場合(ステップS4のNoルート)、制御管理部12により、一定時間待機され(ステップS5)、ステップS4に移行する。
一方、現在の時刻がサーバ状態の次回取得時刻になった場合(ステップS4のYesルート)、ステップS1に移行する。ステップS1では、制御管理部12により、サーバ管理部13に対して、サーバ状態取得要求が発行される。
以上のように、サーバ管理部13によるサーバ状態の取得処理が行なわれる。
〔1−5−2〕サービス環境制御サーバにおける制御条件定義情報の設定処理及びサービス提供サーバの停止制御の動作例
次に、図11及び図12を参照して、サービス環境制御サーバ1における制御条件定義情報の設定処理及びサービス提供サーバ3aの停止制御の動作例を説明する。
はじめに、図11に示すように、管理装置4において、管理者により制御条件が設定され、管理装置4により、制御条件定義要求が発行される(ステップS11)。制御条件定義要求は、受付部11を経由して制御管理部12により受信される(図12の処理T11−1及びT11−2)。
次いで、制御管理部12により、受信した制御条件定義要求に含まれる制御条件に基づいて、制御条件定義情報DB12dの登録(更新)が行なわれる(ステップS12,図12の処理T12)。そして、制御管理部12により、制御条件の登録が正常に完了したか否かを示す情報を含む制御条件定義応答が送信される。制御条件定義応答は、受付部11を経由して管理装置4により受信される(図12の処理T11−3及びT11−4)。
また、制御管理部12により、サーバ状態取得要求がサーバ管理部13へ発行される(図12の処理T13−1)。サーバ管理部13では、図9のステップS1〜S3の処理が実行され、サーバ状態情報DB13cが更新される(ステップS13,図12の処理T13−2,T13−3,T14)。サーバ状態情報DB13cが更新されると、サーバ管理部13により、取得したサーバ状態を含むサーバ状態取得応答が制御管理部12へ発行される(図12の処理T13−4)。
次いで、制御管理部12により、サーバ管理部13から受信したサーバ状態取得応答憎まれるサーバ状態が、制御条件定義情報DB12dに定義された制御条件を満たすか否かが判定される(ステップS14,図12の処理T15)。サーバ状態が制御条件を満たさない場合(ステップS14のNoルート)、制御管理部12及びサーバ管理部13により、図9のステップS1〜S5の処理が実行され(ステップS15)、ステップS14に移行する。つまり、図12の処理T13−1〜13−4,T14,T15が実行される。なお、ステップS15の処理は、定期的に実行される。
一方、ステップS14において、サーバ状態が制御条件を満たす場合(ステップS14のYesルート)、制御管理部12により、制御種別として“Stop”又は“Sleep”が含まれるサーバ制御要求が発行される(ステップS16)。サーバ制御要求は、サーバ管理部13を経由してサーバ3aにより受信される(図12の処理T16−1及びT16−2)。
サーバ3aでは、サーバ制御要求に含まれる制御種別に応じた停止処理が行なわれ(図12の処理T17)、結果がサーバ制御応答として発行される。サーバ制御応答は、サーバ管理部13を経由して制御管理部12により受信される(ステップS17,図12の処理T16−3,T16−4)。このとき、サーバ制御応答を受信したサーバ管理部13では、サーバ3aによる停止処理の結果に基づいて、サーバ状態情報DB13cが更新される(ステップS18,図12の処理T18)。
また、サーバ制御応答を受信した制御管理部12では、サーバ3aによる停止処理の結果に基づいて、サーバ状態が変化したサーバ3aのサーバ状態とIPアドレス又はサーバIDとを含む状態変化通知が発行され(ステップS19)、ステップS15に移行する。状態変化通知は、受付部11を経由して管理装置4により受信される(図12の処理T19−1,T19−2)。
以上のように、サービス環境制御サーバ1における制御条件定義情報の設定処理及びサービス提供サーバの停止制御が行なわれる。
〔1−5−3〕サービス環境制御サーバにおけるユーザ端末からの接続要求への処理及びユーザ端末とサービス提供サーバとの接続処理の動作例
次に、図13〜図17を参照して、サービス環境制御サーバ1におけるユーザ端末2からの接続要求への処理及びユーザ端末2とサービス提供サーバ3aとの接続処理の動作例を説明する。
はじめに、図13に示すように、受付部11により、ユーザ端末2からの接続要求が受信される(ステップS21,図15の処理T21−1)。なお、接続要求は、受付部11のキューイング部11aに保持される。そして、受付部11により、受信した接続要求の接続先のサーバ、例えば宛先アドレスが識別される(ステップS22,図15の処理T222)。
次いで、受付部11により、識別した宛先アドレスを含むサーバ状態問合せ要求が発行される(ステップS23)。サーバ状態問合せ要求は、制御管理部12を経由してサーバ管理部13により受信される(図15の処理T23−1,T23−2)。サーバ管理部13では、サーバ状態情報DB13cのサービスIDに基づき、サーバ状態問合せ要求に含まれる宛先アドレスのサーバ3aと同一のサービスを提供する全てのサーバ3aが識別され、結果がサーバ状態取得応答として送信される(ステップS23)。サーバ状態取得応答は、制御管理部12を経由して受付部11により受信される(図15の処理T23−3,T23−4)。
受付部11では、サーバ状態取得応答に基づき、上述した(i)〜(iii)の判定条件に従って、宛先サーバ3a及び宛先サーバ3aのサーバ状態が特定される。そして、受付部11により、宛先サーバ3aのサーバ状態が動作状態であるか否かが判定される(ステップS24,図15の処理T25)。
宛先サーバ3aのサーバ状態が動作状態である場合(ステップS24のYesルート)、受付部11により、キューイング部11aに保持された接続要求が宛先サーバ3aへ送信される(ステップS25)。接続要求は、制御管理部12及びサーバ管理部13を経由して宛先サーバ3aにより受信される(図15の処理T21−2〜T21−4)。
宛先サーバ3aでは、接続要求に応じた接続処理が行なわれ、接続の判定結果を含む結果が接続応答として送信される(ステップS26)。接続応答は、サーバ管理部13を経由して制御管理部12により受信される(図15の処理T21−5,T21−6)。
制御管理部12では、接続応答が参照されて、接続の判定結果に基づきセッション情報DB12fの接続状態が更新される(ステップS27,図15の処理T24)。そして、制御管理部12により、接続応答が転送される。接続応答は、受付部11を経由してユーザ端末2により受信される(図15の処理T21−7,T21−8)。
ユーザ端末2では、接続応答に含まれる接続の判定結果と、例えばログイン画面のUniform Resource Locator(URL)等の情報(判定結果が接続可の場合)とに基づいて、宛先サーバ3aとの接続が行なわれる(ステップS28)。
一方、ステップS24において、宛先サーバ3aが動作状態ではない場合(ステップS24のNoルート)、図14のステップS31に移行する。
図14に示すように、ステップS31では、宛先サーバ3aが停止状態であるか否かが判定される。
宛先サーバ3aが停止状態である場合(ステップS31のYesルート)、並行して実施されるステップS32及びS34に移行する。
ステップS32では、受付部11により、ユーザ端末2からの接続要求に対する代理応答要求が代理応答部14へ送信される。代理応答要求は、制御管理部12を経由して代理応答部14により受信される(図16の処理T31−1,T31−2)。代理応答部14では、代理応答要求に基づいて、ユーザ端末2に対する代理応答が送信される(ステップS33)。代理応答は、制御管理部12及び受付部11を経由してユーザ端末2により受信される(図16の処理T31−3〜31−4)。なお、ユーザ端末2では、代理応答に含まれるURIへのアクセスにより、代理応答画面が表示される。また、並行して実施されるステップS37が完了すると、図13のステップS25に移行する。
一方、ステップS34では、制御管理部12により、代理応答部14へ中継する代理応答要求(図16の処理T31−2参照)が参照され、宛先サーバ3a及び宛先サーバ3aが停止状態であることが特定される。宛先サーバ3aが停止状態であることが特定されると、制御管理部12により、制御種別として“起動”が含まれるサーバ制御要求が発行される。サーバ制御要求は、サーバ管理部13を経由して宛先サーバ3aにより受信される(図17の処理T32−1及びT32−2)。
宛先サーバ3aでは、サーバ制御要求に含まれる制御種別に応じた起動処理が行なわれ(図17の処理T33)、結果がサーバ制御応答として発行される。サーバ制御応答は、サーバ管理部13を経由して制御管理部12により受信される(ステップS35,図17の処理T32−3,T32−4)。このとき、サーバ制御応答を受信したサーバ管理部13では、宛先サーバ3aによる起動処理の結果に基づいて、サーバ状態情報DB13cが更新される(ステップS36,図17の処理T34)。
また、サーバ制御応答を受信した制御管理部12では、宛先サーバ3aによる起動処理の結果に基づいて、宛先サーバ3aの起動完了(接続準備の完了)を示すサーバ起動完了通知がユーザ端末2へ通知される(ステップS37)。サーバ起動完了通知は、受付部11を経由してユーザ端末2により受信される(図17の処理T35−1,T35−2)。
ユーザ端末2では、サーバ起動完了通知に対する応答であるサーバ起動完了通知受信応答が発行され、図13のステップS25に移行する。
つまり、サーバ起動完了通知受信応答は、受付部11により受信されると(図17の処理T36−1)、受付部11により、キューイング部11aに保持された接続要求が含められて制御管理部12へ送信される(図17の処理T36−2)。
制御管理部12では、受信した接続要求が、宛先サーバ3aへ送信される。接続要求は、サーバ管理部13を経由して宛先サーバ3aにより受信される(図17の処理T37−2,T37−2)。
宛先サーバ3aでは、接続要求に応じた接続処理が行なわれ、接続の判定結果を含む結果が接続応答として送信される(ステップS26)。接続応答は、サーバ管理部13を経由して制御管理部12により受信される(図17の処理T37−3,T37−4)。
制御管理部12では、接続応答が参照されて、接続の判定結果に基づきセッション情報DB12fの接続状態が更新される(ステップS27,図17の処理T38)。そして、制御管理部12により、接続応答が転送される。接続応答は、受付部11を経由してユーザ端末2により受信される(図17の処理T37−5,T37−6)。
ユーザ端末2では、接続応答に含まれる接続の判定結果と、例えばログイン画面のURL等の情報(判定結果が接続可の場合)とに基づいて、宛先サーバ3aとの接続が行なわれる(ステップS28)。
以上のように、サービス環境制御サーバ1におけるユーザ端末2からの接続要求への処理及びユーザ端末2とサービス提供サーバ3aとの接続処理が行なわれる。
なお、上述のように、制御管理部12は、サーバ管理部13からのサーバ状態の問合せ応答を受信したときに(図15の処理T23−3参照)、宛先サーバ3a及び宛先サーバ3aのサーバ状態を自身で特定してもよい。この場合、図14のステップS34(図17の処理T32−1)から先の処理は、図13のステップS23(図15の処理T23−3)が行なわれたときに実行されてもよい。
〔2〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
上述した一実施形態において、受付部11、制御管理部12、サーバ管理部13、及び代理応答部14のブロック間での要求及び応答、並びに種々のデータの受け渡しは、適宜省略してもよい。例えば、上記ブロックが共通の記憶部10cに各DBを保存する場合には、各ブロックが適宜記憶部10cに保存されたDBを参照することで、上述した要求及び応答、並びに種々のデータを省略することができる。
なお、一実施形態のサービス環境制御サーバ1の各種機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のプログラムを実行することによって実現されてもよい。
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体(例えば図2に示す記録媒体10h)に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
ここで、コンピュータとは、ハードウェアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウェアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記プログラムは、上述のようなコンピュータに、一実施形態のサービス環境制御サーバ1の各種機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
〔3〕付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
端末装置と前記端末装置からの要求に対して応答を行なう一以上の処理装置との間に介設され、前記処理装置の制御を行なう制御装置であって、
前記端末装置からの要求の宛先である宛先処理装置が停止状態の場合、前記宛先処理装置に対して、停止状態から動作状態に遷移させる起動制御を行なう状態制御部と、
前記宛先処理装置が停止状態の場合、前記一以上の処理装置の代わりに代理応答を行なう代理応答部に、前記端末装置に対する代理応答を実行させ、前記宛先処理装置が停止状態から動作状態に遷移すると、前記端末装置からの要求を前記宛先処理装置へ送信する要求制御部と、をそなえる
ことを特徴とする、制御装置。
(付記2)
前記状態制御部は、前記一以上の処理装置に対して所定期間内に発行された要求に基づき、前記一以上の処理装置のうちの所定の条件を満たす処理装置に対して、動作状態から停止状態に遷移させる停止制御を行なう
ことを特徴とする、付記1記載の制御装置。
(付記3)
前記状態制御部は、前記一以上の処理装置のうちの前記所定期間内に発行された要求の数が所定の閾値以下である処理装置に対して、前記停止制御を行なう
ことを特徴とする、付記2記載の制御装置。
(付記4)
複数の前記処理装置の各々の状態を取得する状態取得部をさらにそなえ、
前記要求制御部は、前記端末装置からの要求の宛先アドレスに対応する処理装置と同一のサービスを提供する処理装置の中から、前記状態取得部が取得した状態に基づいて、前記宛先処理装置を特定する
ことを特徴とする、付記1〜3のいずれか1項記載の制御装置。
(付記5)
前記端末装置からの要求を保持する保持部をさらにそなえ、
前記要求制御部は、前記宛先処理装置が停止状態の場合、前記保持部に保持された前記端末装置からの要求の複製を前記代理応答部に転送し、前記宛先処理装置が停止状態から動作状態に遷移すると、前記保持部に保持された前記端末装置からの要求を前記宛先処理装置へ送信する
ことを特徴とする、付記1〜4のいずれか1項記載の制御装置。
(付記6)
前記要求制御部から転送された要求の複製を受信すると、受信した要求の複製の送信元である前記端末装置に対して、前記宛先処理装置に応じた代理応答を行なう前記代理応答部をさらにそなえる
ことを特徴とする、付記5記載の制御装置。
(付記7)
端末装置と前記端末装置からの要求に対して応答を行なう一以上の処理装置との間に介設され、前記処理装置の制御を行なう制御装置における制御方法であって、
前記端末装置からの要求の宛先である宛先処理装置が停止状態の場合、前記宛先処理装置に対して、停止状態から動作状態に遷移させる起動制御を行ない、
前記宛先処理装置が停止状態の場合、前記端末装置に対して前記宛先処理装置の代わりに代理応答を行ない、
前記宛先処理装置が停止状態から動作状態に遷移すると、前記端末装置からの要求を前記宛先処理装置へ送信する
ことを特徴とする、制御方法。
(付記8)
前記一以上の処理装置に対して所定期間内に発行された要求に基づき、前記一以上の処理装置のうちの所定の条件を満たす処理装置に対して、動作状態から停止状態に遷移させる停止制御を行なう
ことを特徴とする、付記7記載の制御方法。
(付記9)
前記停止制御を行なう処理は、前記一以上の処理装置のうちの前記所定期間内に発行された要求の数が所定の閾値以下である処理装置に対して、前記停止制御を行なう
ことを特徴とする、付記8記載の制御方法。
(付記10)
複数の前記処理装置の各々の状態を取得し、
前記端末装置からの要求の宛先アドレスに対応する処理装置と同一のサービスを提供する処理装置の中から、前記複数の処理装置の各々から取得した状態に基づいて、前記宛先処理装置を特定する
ことを特徴とする、付記7〜9のいずれか1項記載の制御方法。
(付記11)
前記代理応答を行なう処理は、前記宛先処理装置が停止状態の場合、前記端末装置からの要求を保持する保持部に保持された要求に基づいて、前記要求の送信元である前記端末装置に対して、前記宛先処理装置に応じた代理応答を行ない、
前記端末装置からの要求を前記宛先処理装置へ送信する処理は、前記宛先処理装置が停止状態から動作状態に遷移すると、前記保持部に保持された前記端末装置からの要求を前記宛先処理装置へ送信する
ことを特徴とする、付記7〜10のいずれか1項記載の制御方法。
(付記12)
端末装置と前記端末装置からの要求に対して応答を行なう一以上の処理装置との間に介設され、前記処理装置の制御を行なうコンピュータに、
前記端末装置からの要求の宛先である宛先処理装置が停止状態の場合、前記宛先処理装置に対して、停止状態から動作状態に遷移させる起動制御を行ない、
前記宛先処理装置が停止状態の場合、前記端末装置に対して前記宛先処理装置の代わりに代理応答を行ない、
前記宛先処理装置が停止状態から動作状態に遷移すると、前記端末装置からの要求を前記宛先処理装置へ送信する
処理を実行させることを特徴とする、制御プログラム。
(付記13)
前記一以上の処理装置に対して所定期間内に発行された要求に基づき、前記一以上の処理装置のうちの所定の条件を満たす処理装置に対して、動作状態から停止状態に遷移させる停止制御を行なう
処理を前記コンピュータに実行させることを特徴とする、付記12記載の制御プログラム。
(付記14)
前記停止制御を行なう処理は、前記一以上の処理装置のうちの前記所定期間内に発行された要求の数が所定の閾値以下である処理装置に対して、前記停止制御を行なう
ことを特徴とする、付記13記載の制御プログラム。
(付記15)
複数の前記処理装置の各々の状態を取得し、
前記端末装置からの要求の宛先アドレスに対応する処理装置と同一のサービスを提供する処理装置の中から、前記複数の処理装置の各々から取得した状態に基づいて、前記宛先処理装置を特定する
処理を前記コンピュータに実行させることを特徴とする、付記12〜14のいずれか1項記載の制御プログラム。
(付記16)
前記代理応答を行なう処理は、前記宛先処理装置が停止状態の場合、前記端末装置からの要求を保持する保持部に保持された要求に基づいて、前記要求の送信元である前記端末装置に対して、前記宛先処理装置に応じた代理応答を行ない、
前記端末装置からの要求を前記宛先処理装置へ送信する処理は、前記宛先処理装置が停止状態から動作状態に遷移すると、前記保持部に保持された前記端末装置からの要求を前記宛先処理装置へ送信する
ことを特徴とする、付記12〜15のいずれか1項記載の制御プログラム。
(付記17)
端末装置と前記端末装置からの要求に対して応答を行なう一以上の処理装置との間に介設され、前記処理装置の制御を行なう制御装置であって、
プロセッサをそなえ、
前記プロセッサが、
前記端末装置からの要求の宛先である宛先処理装置が停止状態の場合、前記宛先処理装置に対して、停止状態から動作状態に遷移させる起動制御を行ない、
前記宛先処理装置が停止状態の場合、前記端末装置に対して前記宛先処理装置の代わりに代理応答を行ない、
前記宛先処理装置が停止状態から動作状態に遷移すると、前記端末装置からの要求を前記宛先処理装置へ送信する
ことを特徴とする、制御装置。
1 サービス環境制御サーバ(制御装置)
2 ユーザ端末(端末装置)
3 サービス提供システム
3a,3a−1 勤怠管理サービスサーバ(サービス提供サーバ,処理装置)
3a,3a−2 出張申請サービスサーバ(サービス提供サーバ,処理装置)
3b−1 勤怠情報DB
3b−2 出張旅費情報DB
4 管理装置
5 ネットワーク
10a CPU(プロセッサ)
10b メモリ
10c 記憶部
10d インタフェース
10e 入出力部
10f,10h 記録媒体
10g 読取部
11 受付部(要求制御部)
11a キューイング部(保持部)
11b 宛先判定部
12 制御管理部
12a 制御条件管理部
12b 制御判定部
12c セッション管理部
12d 制御条件定義情報DB
12e 制御情報DB
12f セッション情報DB
13 サーバ管理部
13a サーバ状態取得部
13b サーバ制御部
13c サーバ状態情報DB
14 代理応答部
14a 代理応答情報DB
15 状態制御部

Claims (10)

  1. 端末装置と前記端末装置からの要求に対して応答を行なう一以上の処理装置との間に介設され、前記処理装置の制御を行なう制御装置であって、
    前記端末装置からの要求の宛先である宛先処理装置が停止状態の場合、前記宛先処理装置に対して、停止状態から動作状態に遷移させる起動制御を行なう状態制御部と、
    前記宛先処理装置が停止状態の場合、前記一以上の処理装置の代わりに代理応答を行なう代理応答部に、前記端末装置に対する代理応答を実行させ、前記宛先処理装置が停止状態から動作状態に遷移すると、前記端末装置からの要求を前記宛先処理装置へ送信する要求制御部と、
    前記端末装置と前記代理応答部との間でセッションを確立し、前記セッションと前記端末装置の通信先である前記代理応答部とを対応付けた管理情報を管理し、前記宛先処理装置の状態が前記停止状態から前記動作状態に遷移した後、前記端末装置から前記宛先処理装置に前記要求が送信されたことに応じて、前記管理情報に対して前記セッションにおける前記端末装置の通信先を前記代理応答部から前記宛先処理装置に切り替えるセッション管理部と、をそなえる
    ことを特徴とする、制御装置。
  2. 前記状態制御部は、前記一以上の処理装置に対して所定期間内に発行された要求に基づき、前記一以上の処理装置のうちの所定の条件を満たす処理装置に対して、動作状態から停止状態に遷移させる停止制御を行なう
    ことを特徴とする、請求項1記載の制御装置。
  3. 前記状態制御部は、前記一以上の処理装置のうちの前記所定期間内に発行された要求の数が所定の閾値以下である処理装置に対して、前記停止制御を行なう
    ことを特徴とする、請求項2記載の制御装置。
  4. 複数の前記処理装置の各々の状態を取得する状態取得部をさらにそなえ、
    前記要求制御部は、前記端末装置からの要求の宛先アドレスに対応する処理装置と同一のサービスを提供する処理装置の中から、前記状態取得部が取得した状態に基づいて、前記宛先処理装置を特定する
    ことを特徴とする、請求項1〜3のいずれか1項記載の制御装置。
  5. 前記端末装置からの要求を保持する保持部をさらにそなえ、
    前記要求制御部は、前記宛先処理装置が停止状態の場合、前記保持部に保持された前記端末装置からの要求の複製を前記代理応答部に転送し、前記宛先処理装置が停止状態から動作状態に遷移すると、前記保持部に保持された前記端末装置からの要求を前記宛先処理装置へ送信する
    ことを特徴とする、請求項1〜4のいずれか1項記載の制御装置。
  6. 前記要求制御部から転送された要求の複製を受信すると、受信した要求の複製の送信元である前記端末装置に対して、前記宛先処理装置に応じた代理応答を行なう前記代理応答部をさらにそなえる
    ことを特徴とする、請求項5記載の制御装置。
  7. 端末装置と前記端末装置からの要求に対して応答を行なう一以上の処理装置との間に介設され、前記処理装置の制御を行なう制御装置における制御方法であって、
    前記端末装置からの要求の宛先である宛先処理装置が停止状態の場合、前記宛先処理装置に対して、停止状態から動作状態に遷移させる起動制御を行ない、
    前記宛先処理装置が停止状態の場合、前記端末装置に対して前記宛先処理装置の代わりに代理応答を行なう代理応答部に、前記端末装置に対する代理応答を実行させ
    前記端末装置と前記代理応答部との間でセッションを確立し、
    前記セッションと前記端末装置の通信先である前記代理応答部とを対応付けた管理情報を管理し、
    前記宛先処理装置が停止状態から動作状態に遷移すると、前記端末装置からの要求を前記宛先処理装置へ送信し、
    前記宛先処理装置の状態が前記停止状態から前記動作状態に遷移した後、前記端末装置から前記宛先処理装置に前記要求が送信されたことに応じて、前記管理情報に対して前記セッションにおける前記端末装置の通信先を前記代理応答部から前記宛先処理装置に切り替え
    ことを特徴とする、制御方法。
  8. 前記一以上の処理装置に対して所定期間内に発行された要求に基づき、前記一以上の処理装置のうちの所定の条件を満たす処理装置に対して、動作状態から停止状態に遷移させる停止制御を行なう
    ことを特徴とする、請求項7記載の制御方法。
  9. 端末装置と前記端末装置からの要求に対して応答を行なう一以上の処理装置との間に介設され、前記処理装置の制御を行なうコンピュータに、
    前記端末装置からの要求の宛先である宛先処理装置が停止状態の場合、前記宛先処理装置に対して、停止状態から動作状態に遷移させる起動制御を行ない、
    前記宛先処理装置が停止状態の場合、前記端末装置に対して前記宛先処理装置の代わりに代理応答を行なう代理応答部に、前記端末装置に対する代理応答を実行させ
    前記端末装置と前記代理応答部との間でセッションを確立し、
    前記セッションと前記端末装置の通信先である前記代理応答部とを対応付けた管理情報を管理し、
    前記宛先処理装置が停止状態から動作状態に遷移すると、前記端末装置からの要求を前記宛先処理装置へ送信し、
    前記宛先処理装置の状態が前記停止状態から前記動作状態に遷移した後、前記端末装置から前記宛先処理装置に前記要求が送信されたことに応じて、前記管理情報に対して前記セッションにおける前記端末装置の通信先を前記代理応答部から前記宛先処理装置に切り替え
    処理を実行させることを特徴とする、制御プログラム。
  10. 前記一以上の処理装置に対して所定期間内に発行された要求に基づき、前記一以上の処理装置のうちの所定の条件を満たす処理装置に対して、動作状態から停止状態に遷移させる停止制御を行なう
    処理を前記コンピュータに実行させることを特徴とする、請求項9記載の制御プログラム。
JP2013034477A 2013-02-25 2013-02-25 制御装置,制御方法,および制御プログラム Active JP6107218B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013034477A JP6107218B2 (ja) 2013-02-25 2013-02-25 制御装置,制御方法,および制御プログラム
US14/158,094 US20140244728A1 (en) 2013-02-25 2014-01-17 Controller, method for controlling, and computer-readable recording medium having stored therein control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013034477A JP6107218B2 (ja) 2013-02-25 2013-02-25 制御装置,制御方法,および制御プログラム

Publications (2)

Publication Number Publication Date
JP2014164479A JP2014164479A (ja) 2014-09-08
JP6107218B2 true JP6107218B2 (ja) 2017-04-05

Family

ID=51389329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013034477A Active JP6107218B2 (ja) 2013-02-25 2013-02-25 制御装置,制御方法,および制御プログラム

Country Status (2)

Country Link
US (1) US20140244728A1 (ja)
JP (1) JP6107218B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10051052B2 (en) 2014-11-18 2018-08-14 Red Hat, Inc. Replication with adustable consistency levels
JP2017033331A (ja) * 2015-08-03 2017-02-09 富士通株式会社 代理応答プログラム、代理応答装置及び代理応答方法
CN110830538B (zh) * 2018-08-13 2022-06-14 华为技术有限公司 一种消息传输方法、装置及存储介质
JP2021157288A (ja) * 2020-03-25 2021-10-07 富士通株式会社 情報処理システム、情報処理方法、情報処理プログラム及び情報処理装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4133459B2 (ja) * 2003-03-06 2008-08-13 シャープ株式会社 集線装置,ネットワーク対応装置,通信システム
JP4546040B2 (ja) * 2003-05-12 2010-09-15 キヤノン株式会社 ネットワークサービスシステムおよびサービス代行処理方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム
US20070180452A1 (en) * 2003-05-26 2007-08-02 Hideaki Hirayama Load distributing system and method
US7107442B2 (en) * 2003-08-20 2006-09-12 Apple Computer, Inc. Method and apparatus for implementing a sleep proxy for services on a network
US8667120B2 (en) * 2006-04-26 2014-03-04 Nippon Telegraph And Telephone Corporation Load control device and method thereof for controlling requests sent to a server
JP2007316837A (ja) * 2006-05-24 2007-12-06 Fujitsu Ltd サーバシステム
JP2008015786A (ja) * 2006-07-06 2008-01-24 Hitachi Ltd アクセス制御システム及びアクセス制御サーバ
US7925795B2 (en) * 2007-04-30 2011-04-12 Broadcom Corporation Method and system for configuring a plurality of network interfaces that share a physical interface
JP4470006B2 (ja) * 2008-04-30 2010-06-02 サイレックス・テクノロジー株式会社 省電力支援装置
US9122537B2 (en) * 2009-10-30 2015-09-01 Cisco Technology, Inc. Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets
US9432451B2 (en) * 2009-12-15 2016-08-30 Tekelec, Inc. Methods, systems, and computer readable media for communicating media server capabilities and status information between media servers and a media resource broker
US8260958B2 (en) * 2010-02-24 2012-09-04 F5 Networks, Inc. Reducing energy consumption of servers
JP5474644B2 (ja) * 2010-04-14 2014-04-16 株式会社ソニー・コンピュータエンタテインメント サーバ接続方法、サーバ、および遠隔操作システム
US8452848B1 (en) * 2011-01-31 2013-05-28 Symantec Corporation Facilitating secure 24x7 on-demand service availability while minimizing power consumption and power load spikes
JP5843459B2 (ja) * 2011-03-30 2016-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体
JP2013129147A (ja) * 2011-12-22 2013-07-04 Brother Industries Ltd プリンタと代理サーバ

Also Published As

Publication number Publication date
JP2014164479A (ja) 2014-09-08
US20140244728A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
JP6018182B2 (ja) カテゴリ情報の送信
US10484464B2 (en) Connection control device, connection control system, and non-transitory computer readable medium
US8973005B2 (en) Information processing apparatus, information processing method, recording medium and information processing system
US8539077B2 (en) Load distribution apparatus, load distribution method, and storage medium
CN101223513A (zh) 网关设备后的后台网络带宽共享
RU2015106840A (ru) Способ (варианты) и система (варианты) предотвращения несанкционированного доступа, содержащая множество серверных узлов
CN102546590A (zh) 基于动态服务响应时间向服务器分配流量的***和方法
JP6107218B2 (ja) 制御装置,制御方法,および制御プログラム
WO2013043162A1 (en) Peer-to-peer data migration
CN102938788A (zh) 事件的处理方法和装置
CN111917838B (zh) 基于微服务的处理方法及装置、存储介质、电子装置
WO2013097363A1 (zh) 一种调度数据共享装置的方法及***
JP2014007610A (ja) コンテンツ受信装置、コンテンツ受信方法、およびコンテンツ受信システム
CN102170476B (zh) 一种基于云节点自主学习的云计算方法和装置
US9021109B1 (en) Controlling requests through message headers
JP2015201698A (ja) 通信装置、通信方法、及び、プログラム
JP2009080642A (ja) 負荷制御方法及び装置及びプログラム
US10635997B1 (en) Finite life instances
CN103118055A (zh) 一种多媒体接入的方法和设备
WO2015059849A1 (ja) 通信システム、共通サービス制御装置、データ送信方法及び非一時的なコンピュータ可読媒体
CN114143569B (zh) 一种网页录制和直播方法及***
WO2014121605A1 (zh) 一种支持多终端应用的永远在线架构的方法及设备及***
TWI727519B (zh) 終端裝置、通信系統及通信方法
CN110971669A (zh) 消息通知方法、装置、服务器、电子设备及可读存储介质
JP6788251B2 (ja) 通信システム、サーバ装置、デバイス装置、及びサーバ負荷分散方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170220

R150 Certificate of patent or registration of utility model

Ref document number: 6107218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150