JP2017004502A - 情報システムおよびアップデート方法 - Google Patents

情報システムおよびアップデート方法 Download PDF

Info

Publication number
JP2017004502A
JP2017004502A JP2016082924A JP2016082924A JP2017004502A JP 2017004502 A JP2017004502 A JP 2017004502A JP 2016082924 A JP2016082924 A JP 2016082924A JP 2016082924 A JP2016082924 A JP 2016082924A JP 2017004502 A JP2017004502 A JP 2017004502A
Authority
JP
Japan
Prior art keywords
host
update
cluster
information
status information
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.)
Pending
Application number
JP2016082924A
Other languages
English (en)
Inventor
健太 山野
Kenta Yamano
健太 山野
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2017004502A publication Critical patent/JP2017004502A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】システムを稼働させた状態でアップデートを行うことができる情報システムおよびアップデート方法を提供する。【解決手段】監視サーバ装置は、監視対象システムが正常に稼働しているか否かを確認する確認手段と、その結果を示す第1状態情報を送信する第1通信手段と、を備え、ホストは、第2通信手段と、第1状態情報を受信する第1受信手段と、同一のクラスタ内の他のホストから、他のホストの動作状態を示す第2状態情報を受信する第2受信手段と、アップデート動作の開始が指定された場合、アップデート動作を実行するアップデート手段と、第1状態情報が正常である場合、第2受信手段により受信された第2状態情報が、アップデート動作を実行することが可能な状態を示す他のホストのいずれかに対して、アップデート開始指令を通知する通知手段と、を備える。【選択図】図3

Description

本発明は、情報システムおよびアップデート方法に関する。
システム環境に、無停止状態でソフトウェアおよびデータベース等をデプロイまたはアップデート(以下、まとめて「アップデート」と称するものとする)する場合、システムに含まれるクラスタ間の依存関係、または、システムが複数の場合、システム間の依存関係を考慮して行う必要がある。
このような、システム環境に対して、無停止状態でソフトウェアおよびデータベース等をアップデートする技術として、運用系モジュール(システム)および待機系モジュール(システム)のように、システムを二重化してアップデートを行う技術が提案されている(特許文献1参照)。この技術では、まず、待機系モジュールに対して最新レビジョンのデータでアップデートを行う。次に、運用系モジュールを待機系モジュールに切り替え、アップデートが終了した元々の待機系モジュールを運用系モジュールに切り替え、運用を再開する。そして、運用系モジュールから切り替えられた待機系モジュールに対して最新レビジョンのデータでアップデートを行う。
しかしながら、特許文献1に記載された技術は、アップデートを行う場合、起動はさせているものの運用には通常利用しない待機系モジュール(システム)が必要となる構成であり、運用系モジュール(システム)のみである場合、アップデートを行うことができないという問題がある。また、上述のように、稼働システムである運用系モジュールの他に、冗長化のために待機状態にある待機系モジュール、すなわち、運用系モジュールのコピーが必要となるため、コストが嵩むという問題点もある。
本発明は、上述の問題点を鑑みてなされたものであって、システムを稼働させた状態でアップデートを行うことができる情報システムおよびアップデート方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数のホストを含むクラスタを有する監視対象システムと、前記監視対象システムの状態を監視する監視サーバ装置と、を有する情報システムであって、前記監視サーバ装置は、前記監視対象システムが正常に稼働しているか否かを確認する確認手段と、前記確認手段により確認された結果を示す第1状態情報を送信する第1通信手段と、を備え、前記ホストは、第2通信手段と、前記第1通信手段から送信された前記第1状態情報を、前記第2通信手段を介して受信する第1受信手段と、同一のクラスタ内の他のホストから、前記第2通信手段を介して、前記他のホストの動作状態を示す第2状態情報を受信する第2受信手段と、アップデート動作の開始が指定された場合、外部から前記第2通信手段を介してアップデート情報を取得し、前記アップデート情報に基づいて前記アップデート動作を実行するアップデート手段と、前記アップデート手段により前記アップデート動作が完了した後、前記第1受信手段により受信された前記第1状態情報が正常である場合、前記第2受信手段により受信された前記第2状態情報が、前記アップデート動作を実行することが可能な状態を示す前記他のホストのいずれかに対して、前記第2通信手段を介してアップデート開始指令を通知する通知手段と、を備えたことを特徴とする。
本発明によれば、システムを稼働させた状態でアップデートを行うことができる。
図1は、第1の実施の形態に係る情報システムの全体構成の一例を示す図である。 図2は、第1の実施の形態のホストおよびサーバのハードウェア構成の一例を示す図である。 図3は、第1の実施の形態に係る情報システムの機能ブロックの構成の一例を示す図である。 図4は、クラスタ内でステータス情報を共有することを説明する図である。 図5は、ホストの状態遷移図である。 図6は、第1の実施の形態のクラスタ内のホストのアップデート動作の一例を説明する図である。 図7は、ホストのアップデート動作時におけるアップデート情報の受信動作を説明する図である。 図8は、アップデート完了時のステータス情報の取得の動作を説明する図である。 図9は、アップデートするモジュールのバージョンの例を示す図である。 図10は、第1の実施の形態でのシステム停止時のアップデート動作の一例を説明する図である。 図11は、クラスタ間でステータス情報を共有することを説明する図である。 図12は、第2の実施の形態のクラスタ間でのホストのアップデート動作の一例を示す図である。 図13は、第2の実施の形態でのクラスタのアップデートの実行順序の類型を説明する図である。 図14は、第2の実施の形態でのシステム停止時のアップデート動作の一例を説明する図である。 図15は、第3の実施の形態のシステム間でホストのアップデート動作の一例を示す図である。 図16は、第4の実施形態のクラスタにリクエストが送られたときの動作を説明する図である。 図17は、第4の実施形態のクラスタに送られたリクエストがリダイレクトされる動作を説明する図である。 図18は、第5の実施形態のリクエストを受信したアプリクラスタのホストが適切な共通サービスクラスタのホストにアクセスする動作を説明する図である。
以下に、図1〜15を参照しながら、本発明に係る情報システムおよびアップデート方法の実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
[第1の実施の形態]
(情報システムの全体構成)
図1は、第1の実施の形態に係る情報システムの全体構成の一例を示す図である。図1を参照しながら、情報システム1の全体構成の概略を説明する。
図1に示すように、情報システム1は、ステージング環境システム10a(監視対象システム)と、本番環境システム10b(監視対象システム)と、サービス監視サーバ20a、20b(監視サーバ装置)と、構成管理サーバ30(外部装置の一例)と、を有する。
なお、サービス監視サーバ20a、20bのうち任意のサーバを示す場合、または総称する場合、単に「サービス監視サーバ20」と称する。
ステージング環境システム10aは、後述する本番環境である本番環境システム10bで発生した不具合等の事象を再現するための環境が形成されたシステムである。本番環境システム10bは、ユーザに特定のサービスを提供するための環境が形成されたシステムである。ここで、ステージング環境とは、本番環境において発生した現象を再現して検証するためのシステム環境である。また、本番環境とは、サービスを実際に提供するために稼働している状態のシステム環境である。ステージング環境システム10aおよび本番環境システム10bは、例えば、クラウド内のシステムとして構成される。また、ステージング環境システム10aおよび本番環境システム10bは、いずれも独立して稼働することが可能なシステムであり、いずれかのシステムで不具合が発生した場合に、サービスの提供を代行するための冗長化を目的としたものではない。
なお、図1では、情報システム1が有するシステムとして、ステージング環境システム10aおよび本番環境システム10bの2つのシステムが示されているが、これに限定されるものではなく、1つまたは3つ以上のシステムを有するものとしてもよい。また、情報システム1が有するシステムとして、ステージング環境システム10aおよび本番環境システム10bの2種類のシステム環境が示されているが、これに限定されるものではなく、情報システム1は、他のシステム環境を有するものとしてもよい。例えば、他のシステム環境としては、開発環境および評価環境等が挙げられる。ここで、開発環境とは、ソフトウェアおよびデータベース等の開発等行うためのシステム環境である。また、評価環境とは、システム環境で開発されたシステムをリリースする前に、そのシステムに対する評価テストを行うためのシステム環境である。
サービス監視サーバ20aは、ステージング環境システム10aが提供する印刷機能等のサービスが正常に稼働しているか否かを監視するサーバ装置またはサーバシステムである。サービス監視サーバ20bは、同様に、本番環境システム10bが提供するサービスが正常に稼働しているか否かを監視するサーバ装置またはサーバシステムである。
構成管理サーバ30は、ステージング環境システム10aおよび本番環境システム10bが含む各ホストにインストールされているモジュールのバージョンを管理するサーバ装置またはサーバシステムである。また、構成管理サーバ30は、情報システム1のアップデート動作時に、各ホストにアップデートすべき最新のモジュールおよびデータ等の情報(以下、アップデート情報と称する場合がある)を提供する。
図1に示すように、ステージング環境システム10aは、アプリクラスタ11aと、共通サービスクラスタ12aと、データベースクラスタ13aと、を有する。ここで、クラスタとは、複数のサーバ(ホスト)によって、特定機能を有する単一のシステムとして振る舞うように動作させるシステム形態をいう。
アプリクラスタ11aは、プラットフォームとなる共通サービスクラスタ12aの機能を利用するアプリケーション機能を提供するクラスタである。例えば、アプリクラスタ11aがウェブアプリの機能を提供する場合、例えば、ユーザ側のブラウザに表示されるユーザインターフェースである印刷画面情報を提供する。アプリクラスタ11aは、ホスト110a、111a、112aを有する。
ホスト110a、111a、112aは、それぞれ、アプリケーション機能を提供するアプリクラスタ11aの実体となるサーバ装置またはサーバシステムであり、いずれも同一の、または代替可能な機能を提供する。
共通サービスクラスタ12aは、アプリクラスタ11aの各ホストに共通する機能(共通サービス)を提供するプラットフォームとして機能するクラスタである。例えば、共通サービスクラスタ12aは、アプリクラスタ11aの各ホストが共通して利用するファイル変換、認証機能、ライセンス管理およびOCR(Optical Character Reader)機能等の機能を提供する。共通サービスクラスタ12aは、ホスト120a、121aを有する。
ホスト120a、121aは、それぞれ、プラットフォームとしての機能を提供する共通サービスクラスタ12aの実体となるサーバ装置またはサーバシステムであり、いずれも同一の、または代替可能な機能を提供する。
データベースクラスタ13aは、アプリクラスタ11aおよび共通サービスクラスタ12aが利用する設定情報および認証情報等のデータを記憶および管理するクラスタである。データベースクラスタ13aは、ホスト130a、131aを有する。
ホスト130a、131aは、それぞれ、設定情報等のデータベースとしての機能を提供するデータベースクラスタ13aの実体となるサーバ装置またはサーバシステムであり、いずれも同一の、または代替可能な機能を提供する。
図1に示すように、本番環境システム10bは、アプリクラスタ11bと、共通サービスクラスタ12bと、データベースクラスタ13bと、を有する。アプリクラスタ11b、共通サービスクラスタ12bおよびデータベースクラスタ13bは、それぞれ、上述したアプリクラスタ11a、共通サービスクラスタ12aおよびデータベースクラスタ13aと同様の機能を有する。
アプリクラスタ11bは、ホスト110b、111b、112b、113bを有する。共通サービスクラスタ12bは、ホスト120b、121b、122b、123bを有する。データベースクラスタ13bは、ホスト130b、131b、132b、133bを有する。
なお、図1に示すステージング環境システム10aおよび本番環境システム10bが有するクラスタは例を示すものであり、異なる機能のクラスタを有するものとしてもよい。
また、図1に示す各クラスタが有するホストの数は一例であり、図1に示す台数に限定されるものではない。すなわち、各クラスタにおいては、そのクラスタが提供する機能の負荷によって自動的にホストが追加されたり、削除されたりするオートスケールの仕組みが実現されているものとする。このオートスケールの機能は、上述の構成管理サーバ30の構成管理によって実現される。
また、図1に示す各クラスタが有するホストのうち任意のホストを示す場合、または総称する場合、単に「ホスト100」と称する場合がある。
(情報システムハードウェア構成)
図2は、第1の実施の形態のホストおよびサーバのハードウェア構成の一例を示す図である。図2を参照しながら、サービス監視サーバ20、構成管理サーバ30、およびホスト100のハードウェア構成の詳細について説明する。
まず、図2を参照しながらサービス監視サーバ20のハードウェア構成について説明する。図2に示すように、サービス監視サーバ20は、CPU(Central Processing Unit)501と、ROM(Read Only Memory)502と、RAM(Random Access Memory)503と、補助記憶装置505と、メディアドライブ507と、ディスプレイ508と、ネットワークI/F509と、キーボード511(入力手段の一例)と、マウス512(入力手段の一例)と、CD−ROM(Compact Disc Read Only Memory)ドライブ514と、を備えている。
CPU501は、サービス監視サーバ20全体の動作を制御する装置である。ROM502は、サービス監視サーバ20用のプログラムを記憶している不揮発性記憶装置である。RAM503は、CPU501のワークエリアとして使用される揮発性記憶装置である。補助記憶装置505は、各種データを記憶するHDD(Hard Disk Drive)またはSSD(Solid State Drive)等の記憶装置である。
メディアドライブ507は、CPU501の制御に従って、フラッシュメモリ等の記録メディア506に対するデータの読み出しおよび書き込みを制御する装置である。ディスプレイ508は、カーソル、メニュー、ウィンドウ、文字または画像等の各種情報を表示する表示装置である。ネットワークI/F509は、ネットワークを介してデータを通信するためのインターフェースである。キーボード511は、文字、数字、各種指示の選択、およびカーソルの移動等を行う入力装置である。マウス512は、各種指示の選択および実行、処理対象の選択、ならびにカーソルの移動等を行うための入力装置である。CD−ROMドライブ514は、着脱自在な記憶媒体の一例としてのCD−ROM513に対するデータの読み出しおよび書き込みを制御する装置である。
上述のCPU501、ROM502、RAM503、補助記憶装置505、メディアドライブ507、ディスプレイ508、ネットワークI/F509、キーボード511、マウス512およびCD−ROMドライブ514は、アドレスバスおよびデータバス等のバスライン510によって互いに通信可能に接続されている。
なお、上述のサービス監視サーバ20用のプログラムは、インストール可能な形式または実行可能な形式のファイルによって、記録メディア506またはCD−ROM513等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
また、構成管理サーバ30は、上述のサービス監視サーバ20と同様のハードウェア構成を有しているため、その説明を省略する。ただし、ROM502には、構成管理サーバ30を制御するための構成管理サーバ30用のプログラムが記録されている。この場合も、構成管理サーバ30用のプログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディア506またはCD−ROM513等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
また、ホスト100は、上述のサービス監視サーバ20と同様のハードウェア構成を有しているため、その説明を省略する。ただし、ROM502には、ホスト100を制御するためのホスト100用のプログラムが記録されている。この場合も、ホスト100用のプログラムは、インストール可能な形式または実行可能な形式のファイルで、記録メディア506またはCD−ROM513等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
なお、図2に示したサービス監視サーバ20、構成管理サーバ30およびホスト100のハードウェア構成は一例を示すものであり、図2に示した構成要素を全て含む必要はなく、または、その他の構成要素を含むものとしてもよい。また、サービス監視サーバ20、構成管理サーバ30およびホスト100それぞれが、同一のハードウェア構成を有する必要もないのは言うまでもない。
(情報システムの機能ブロック構成)
図3は、第1の実施の形態に係る情報システムの機能ブロックの構成の一例を示す図である。図3を参照しながら、情報システム1に含まれるサービス監視サーバ20、構成管理サーバ30およびホスト100の機能ブロックの構成について説明する。
図3に示すように、情報システム1では、ホスト100が、サービス監視サーバ20および構成管理サーバ30それぞれと通信可能なように接続されている。なお、図3に示す接続関係に限定されるものではなく、サービス監視サーバ20、構成管理サーバ30およびホスト100それぞれが、任意のネットワーク(例えば、インターネット、LAN(Local Area Network)または専用回線等)を介して、互いに通信可能なように接続されているものとしてもよい。
図3に示すように、サービス監視サーバ20は、通信部201(第1通信手段)と、システム確認部202(確認手段)と、を有する。
通信部201は、ネットワークを介して、ホスト100とデータを通信する機能部である。例えば、通信部201は、ホスト100が正常に稼働しているか否か等を示す情報であるステータス情報を受信し、ホスト100で構成される特定のシステム(ステージング環境システム10a、本番環境システム10b)が正常に稼働しているか否かを示す情報であるシステムのステータス情報(以下、システム状態情報と称する場合がある)を送信する。通信部201は、図2示すネットワークI/F509によって実現される。
システム確認部202は、通信部201を介して受け取った各ホスト100のステータス情報に基づいて、サービス監視サーバ20が監視対象とするシステム(図1に示すステージング環境システム10aまたは本番環境システム10b)が正常に稼働しているか否かを確認する機能部である。システム確認部202は、確認した結果を含むシステム状態情報を、通信部201を介して監視対象のシステムが有する各ホスト100に送信する。システム確認部202は、図2に示すROM502、補助記憶装置505またはCD−ROM513に記憶されているプログラムに従ったCPU501からの命令によって動作することで実現される。
なお、システム確認部202は、ソフトウェアであるプログラムではなく、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)またはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
また、通信部201およびシステム確認部202は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示すサービス監視サーバ20において、独立した機能部として図示された複数の機能部を、1つの機能部として構成してもよい。一方、図3に示すサービス監視サーバ20において、1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
図3に示すように、構成管理サーバ30は、通信部301と、提供部302と、記憶部303と、を有する。
通信部301は、ネットワークを介して、ホスト100とデータを通信する機能部である。例えば、通信部301は、情報システム1がアップデート動作を実行する場合に、提供部302による構成管理に基づいて提供されるアップデート情報を、アップデートの対象となるホスト100に送信する。通信部301は、図2に示すネットワークI/F509によって実現される。
提供部302は、情報システム1がアップデート動作を実行する場合に、各システム(図1ではステージング環境システム10aおよび本番環境システム10b)に含まれる各ホスト100のアップデートに必要なアップデート情報を、通信部301を介して各ホスト100に提供する機能部である。提供部302は、図2に示すROM502、補助記憶装置505またはCD−ROM513に記憶されているプログラムに従ったCPU501からの命令によって動作することで実現される。
記憶部303は、各ホスト100のアップデートに必要なアップデート情報を記憶する機能部である。また、記憶部303は、各ホスト100にインストールされているモジュールのバージョンを管理するための管理情報も記憶している。記憶部303は、図2に示す補助記憶装置505によって実現される。なお、記憶部303は、図2に示す構成管理サーバ30に内蔵された補助記憶装置505によって実現されることに限定されるものではなく、構成管理サーバ30の外部に設置された他の補助記憶装置(例えば、外付けのHDD等)によって実現されるものとしてもよい。
なお、提供部302は、ソフトウェアであるプログラムではなく、例えば、ASIC、FPGAまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
また、通信部301、提供部302および記憶部303は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示す構成管理サーバ30において、独立した機能部として図示された複数の機能部を、1つの機能部として構成してもよい。一方、図3に示す構成管理サーバ30において、1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
図3に示すように、ホスト100は、通信部101(第2通信手段、通信手段)と、第1管理部102(第1受信手段)と、第2管理部103(第2受信手段)と、第3管理部104と、アップデート部105(アップデート手段)と、イベント発行部106(通知手段)と、ロールバック部107(ロールバック手段)と、記憶部108と、を有する。
通信部101は、ネットワークを介して、サービス監視サーバ20および構成管理サーバ30とデータを通信する機能部である。また、通信部101は、他のホスト100ともデータを通信する。通信部101がサービス監視サーバ20および構成管理サーバ30と通信するデータの内容は、上述の通りである。通信部101は、図2に示すネットワークI/F509によって実現される。
第1管理部102は、通信部101を介して、サービス監視サーバ20から受け取った自身が属するシステムのシステム状態情報(第1状態情報)を取得して管理する機能部である。第2管理部103は、通信部101を介して、他のホスト100から受け取った他のホスト100のステータス情報(第2状態情報)を取得して管理する機能部である。第3管理部104は、自身が含まれるホスト100のステータス情報を取得して管理する機能部である。
アップデート部105は、図2に示すキーボード511またはマウス512等の入力手段から受け付けたアップデートの操作の情報であるアップデート操作情報を受け取った場合、または、他のホスト100からの後述するアップデート開始イベントを受信した場合に、アップデート動作を実行する機能部である。アップデート部105によるアップデート動作の詳細は、後述する。
イベント発行部106は、アップデート動作において、他のホスト100に対して、アップデート開始イベントまたはアップデート完了イベントを発行する機能部である。各イベントの発行タイミングについての詳細は、後述する。
ロールバック部107は、アップデート動作中において、第1管理部102が所定間隔で取得および管理している自身が属するシステムのシステム状態情報が異常を示した場合、アップデート動作を中断させ、自身が含まれるホスト100をアップデート動作前の状態に戻す機能部である。
記憶部108は、ホスト100がサービスを種々のサービスを提供するための情報、および設定情報等を記憶する機能部である。また、記憶部108は、第1管理部102により取得されたシステム状態情報、ならびに、第2管理部103および第3管理部104により取得された各ホスト100のステータス情報を記憶する。記憶部108は、図2に示す補助記憶装置505によって実現される。なお、記憶部108は、図2に示すホスト100に内蔵された補助記憶装置505によって実現されることに限定されるものではなく、ホスト100の外部に設置された他の補助記憶装置(例えば、外付けのHDD等)によって実現されるものとしてもよい。
なお、第1管理部102、第2管理部103、第3管理部104、アップデート部105、イベント発行部106およびロールバック部107は、ソフトウェアであるプログラムではなく、例えば、ASIC、FPGAまたはその他の集積回路等のハードウェア回路によって実現されるものとしてもよい。
また、通信部101、第1管理部102、第2管理部103、第3管理部104、アップデート部105、イベント発行部106、ロールバック部107および記憶部108は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図3に示すホスト100において、独立した機能部として図示された複数の機能部を、1つの機能部として構成してもよい。一方、図3に示すホスト100において、1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(ステータス情報の共有)
図4は、クラスタ内でステータス情報を共有することを説明する図である。図4を参照しながら、情報システム1の各クラスタ内のホスト同士でステータス情報を共有する動作について説明する。なお、ここでは、ホスト同士でステータス情報を共有するクラスタとして、アプリクラスタ11aを例にして説明する。
図4(a)に示すアプリクラスタ11aのホスト110a〜112aは、それぞれ、状態を示す情報であるステータス情報をお互いに共有するためのステータス情報テーブル1000を記憶部108に記憶している。
ステータス情報テーブル1000では、図4(b)に示すように、クラスタ名と、ホスト名と、IP(Ineternet Protocol)アドレスと、ステータスとが関連付けられて管理される。ここで、クラスタ名は、ステータス情報テーブル1000を有するホストを含むクラスタの名称である。また、ホスト名は、ステータス情報テーブル1000を有するホストの名称である。また、IPアドレスは、インターネットまたはイントラネット等のTCP(Transmission Control Protocol)/IPネットワークに接続された通信機器ごとに割り振られた識別番号である。なお、図4(b)に示したIPアドレスは、32ビットの情報で表されるIPv4を示しているが、これに限定されるものではなく、IPv6を用いていもよい。ステータスは、クラスタ名およびホスト名で特定されるホストの状態(ステータス情報)を示す。
例えば、図4(b)に示すステータス情報テーブル1000においては、クラスタ名が「portal」で、ホスト名が「portal−002」であるホストのIPアドレスは「xx.xx.xx.104」であり、ステータスは「ジョブ処理中」であることが示されている。なお、図4(b)に示すIPアドレスは、表記を簡略化して示している。また、各ステータスの内容については、図5で後述する。
アプリクラスタ11aの各ホスト(ホスト110a〜112a)の第2管理部103は、定期的、または特定の条件に従う間隔で、互いのステータス情報を送受信し、取得したステータス情報を、ステータス情報テーブル1000に更新することによって、互いのステータスを管理している。また、アプリクラスタ11aの各ホストの第3管理部104は、定期的、または特定の条件に従う間隔で、自身のステータス情報を取得し、取得した自身のステータス情報を、ステータス情報テーブル1000に更新することによって、自身のステータスも管理する。
(ステータスの遷移について)
図5は、ホストの状態遷移図である。図5を参照しながら、ホストの状態(ステータス)の遷移関係について説明する。
図5に示す「正常」のステータスは、正常にジョブリクエスト、またはアップデートを開始するためのイベントであるアップデート開始イベントを受け付け可能な状態である。「ジョブ処理中」のステータスは、ジョブリクエストを受け付けて、ジョブを処理している状態である。この「ジョブ処理中」のステータスでは、アップデート開始イベントを受け付けることは可能であるが、この場合、ジョブの処理が終了してステータスが「正常」に戻った後、「アップデート中」に遷移する。「アップデート中」のステータスは、上述したように、アップデート部105によって、アップデート操作情報またはアップデータ開始イベントが受け取られた場合に、アップデート動作が開始された状態を示す。「アップデート完了」のステータスは、アップデート部105によってアップデート動作が完了した状態を示す。「退避中」のステータスは、不具合の発生等によってクラスタから切り離されている状態を示す。
(クラスタ内のホストのアップデート動作)
図6は、第1の実施の形態のクラスタ内のホストのアップデート動作の一例を説明する図である。図7は、ホストのアップデート動作時におけるアップデート情報の受信動作を説明する図である。図8は、アップデート完了時のステータス情報の取得の動作を説明する図である。図9は、アップデートするモジュールのバージョンの例を示す図である。図6〜9を参照しながら、本実施の形態の情報システム1のクラスタ内でのホストのアップデート動作について説明する。なお、ここでは、ステージング環境システム10aにおけるホスト110a〜112aを有するアプリクラスタ11a内でのアップデート動作について説明する。
まず、管理者50は、アップデート動作の対象とするクラスタとして、ステージング環境システム10aのアプリクラスタ11aを特定し、アプリクラスタ11a内のホスト110a〜112aのいずれかに対して、アップデート操作を行う。例えば、図6に示すように、管理者50は、アプリクラスタ11aのホスト110aに対して、図2に示すキーボード511およびマウス512等の入力手段を介してアップデートの操作を行ったものとする。
次に、ホスト110aのアップデート部105は、管理者50により入力手段を介して入力されたアップデートの操作の情報であるアップデート操作情報を受け取ると、ホスト110aにおけるアップデート動作を開始する。アップデート部105は、アップデート動作を開始すると、図6に示すように、ホスト110aの記憶部108に記憶されているステータス情報テーブル1000の自己のホスト(ホスト110a)に関連付けられているステータスを「アップデート中」に更新する。
また、アップデート部105は、アップデート動作を開始すると、まず、図7(a)および(b)に示すように、構成管理サーバ30からアップデート情報を要求して取得する。アップデート部105は、取得したアップデート情報に基づいて、アプリクラスタ11aの機能を実現するためのプログラムおよびデータ等をアップデートする。アップデート部105は、アップデート動作が完了すると、ステータス情報テーブル1000の自己のホスト(ホスト110a)に関連付けられているステータスを「アップデート完了」に更新する。
アップデート部105によりアップデート動作が完了すると、ホスト110aの第1管理部102は、図8に示すように、ホスト110aの通信部101を介して、サービス監視サーバ20aから、アプリクラスタ11aが属するステージング環境システム10aのその時点のシステム状態情報を取得する。また、ホスト110aの第2管理部103は、図8に示すように、通信部101を介して、アプリクラスタ11aの他のホスト(ホスト111a、112a)からその時点のステータス情報を取得する。そして、ホスト110aのイベント発行部106は、システム状態情報が「正常」であり、かつ、ホスト111aおよびホスト112aのステータス情報が「正常」である場合、ステータス情報が「正常」であるホスト111aおよびホスト112aのいずれかに対して、通信部101を介して、アップデート開始イベントを発行(送信)する。図6の例では、イベント発行部106は、ホスト111aに対してアップデート開始イベントを発行したものとする。
次に、ホスト111aのアップデート部105は、ホスト110aのイベント発行部106からアップデート開始イベントを受信した場合、ホスト111aにおけるアップデート動作を開始する。アップデート部105は、アップデート動作を開始すると、図6に示すように、ホスト111aの記憶部108に記憶されているステータス情報テーブル1000の自己のホスト(ホスト111a)に関連付けられているステータスを「アップデート中」に更新する。
また、アップデート部105は、アップデート動作を開始すると、図7(a)および(b)に示すように、構成管理サーバ30からアップデート情報を要求して取得する。アップデート部105は、取得したアップデート情報に基づいて、アプリクラスタ11aの機能を実現するためのプログラムおよびデータ等をアップデートする。アップデート部105は、アップデート動作が完了すると、ステータス情報テーブル1000の自己のホスト(ホスト111a)に関連付けられているステータスを「アップデート完了」に更新する。
アップデート部105によりアップデート動作が完了すると、ホスト111aの第1管理部102は、ホスト111aの通信部101を介して、アプリクラスタ11aが属するステージング環境システム10aのその時点のシステム状態情報を、サービス監視サーバ20aから取得する。また、ホスト111aの第2管理部103は、通信部101を介して、ステージング環境システム10aの他のホスト(ホスト110a、112a)からその時点のステータス情報を取得する。そして、ホスト111aのイベント発行部106は、システム状態情報が「正常」であり、かつ、ホスト112aのステータス情報が「正常」である場合、ステータス情報が「正常」であるホスト112aに対して、通信部101を介して、アップデート開始イベントを発行(送信)する。この場合、ホスト110aは既にアップデートが完了しておりステータス情報が「アップデート完了」であるので、ホスト111aは、ホスト110aに対してアップデート開始イベントを発行しない。
ここで、下記の(表1)を参照しながら、アップデート開始イベントをどのホストに発行するかについての類型について説明する。下記の(表1)は、ホスト110aがアップデート動作を完了し、ステータス情報が「アップデート完了」となった状態を示している。なお、アップデート開始イベントを送る時点で、システム状態情報は「正常」であるものとする。
Figure 2017004502
上述のように、ホスト110aのイベント発行部106は、ホスト111aおよびホスト112aのステータス情報が共に「正常」である場合、ステータス情報が「正常」であるホスト111aおよびホスト112aのいずれかに対して、アップデート開始イベントを発行する。また、ホスト110aのイベント発行部106は、ホスト111aのステータス情報が「正常」であり、ホスト112aのステータス情報が「アップデート完了」である場合、ホスト110a、112aでのアップデート動作は既に完了しているので、ホスト111aにアップデート開始イベントを発行する。また、ホスト110aのイベント発行部106は、ホスト111aのステータス情報が「正常」であり、ホスト112aのステータス情報が「ジョブ処理中」である場合、ステータス情報が「正常」であるホストを優先し、ホスト111aにアップデート開始イベントを発行する。
また、ホスト110aのイベント発行部106は、ホスト111aのステータス情報が「正常」であり、ホスト112aのステータス情報が「退避中」である場合、ホスト112aでのアップデート動作は実行できない状態なので、ホスト111aにアップデート開始イベントを発行する。ただし、イベント発行部106は、ホスト112aのステータス情報が「退避中」である旨を、管理者50等に通知するものとしてもよい。例えば、通知する方法として、イベント発行部106は、ディスプレイ508にホスト112aのステータス情報が「退避中」である旨を表示させたり、または、特定のアドレスにその旨をメールで通知するものとしてもよい。
また、ホスト110aのイベント発行部106は、ホスト111aのステータス情報が「アップデート完了」であり、ホスト112aのステータス情報が「ジョブ処理中」である場合、ホスト110a、111aでのアップデート動作は既に完了しているので、ホスト112aにアップデート開始イベントを発行する。この場合、ホスト112aのアップデート部105は、ホスト112aにおけるジョブの処理が終了してステータス情報が「正常」になった後に、アップデート動作を開始し、ステータス情報を「アップデート中」に更新する。
すなわち、上述のように、ホストのステータス情報が「正常中」または「ジョブ処理中」である場合、そのホストがアップデート動作を実行することが可能な状態を示す。
また、ホスト110aのイベント発行部106は、ホスト111aおよびホスト112aのステータス情報が共に「ジョブ処理中」である場合、ステータス情報が「ジョブ処理中」であるホスト111aおよびホスト112aのいずれかに対して、アップデート開始イベントを発行する。この場合、アップデート開始イベントを受信したホスト(ホスト111aまたはホスト112a)のアップデート部105は、アップデート開始イベントを受信したホストにおけるジョブの処理が終了してステータス情報が「正常」になった後に、アップデート動作を開始し、ステータス情報を「アップデート中」に更新する。
また、ホスト110aのイベント発行部106は、ホスト111aのステータス情報が「ジョブ処理中」であり、ホスト112aのステータス情報が「退避中」である場合、ホスト112aでのアップデート動作は実行できない状態なので、ホスト111aにアップデート開始イベントを発行する。この場合、ホスト111aのアップデート部105は、ホスト111aにおけるジョブの処理が終了してステータス情報が「正常」になった後に、アップデート動作を開始し、ステータス情報を「アップデート中」に更新する。また、ホスト110aのイベント発行部106は、ホスト112aのステータス情報が「退避中」である旨を、管理者50等に通知するものとしてもよい。通知する方法は、上述した通りである。
ここで、図6のアップデート動作の説明に戻る。ホスト112aのアップデート部105は、ホスト111aのイベント発行部106からアップデート開始イベントを受信した場合、ホスト112aにおけるアップデート動作を開始する。アップデート部105は、アップデート動作を開始すると、図6に示すように、ホスト112aの記憶部108に記憶されているステータス情報テーブル1000の自己のホスト(ホスト112a)に関連付けられているステータスを「アップデート中」に更新する。
また、アップデート部105は、アップデート動作を開始すると、図7(a)および(b)に示すように、構成管理サーバ30からアップデート情報を要求して取得する。アップデート部105は、取得したアップデート情報に基づいて、アプリクラスタ11aの機能を実現するためのプログラムおよびデータ等をアップデートする。アップデート部105は、アップデート動作が完了すると、ステータス情報テーブル1000の自己のホスト(ホスト112a)に関連付けられているステータスを「アップデート完了」に更新する。
アップデート部105によりアップデート動作が完了すると、ホスト112aの第1管理部102は、ホスト112aの通信部101を介して、アプリクラスタ11aが属するステージング環境システム10aのその時点のシステム状態情報を取得する。また、ホスト112aの第2管理部103は、通信部101を介して、アプリクラスタ11aの他のホスト(ホスト110a、111a)からその時点のステータス情報を取得する。そして、ホスト112aのイベント発行部106は、自身のステータス情報が「アップデート完了」であることを前提として、システム状態情報が「正常」であり、かつ、ホスト110a、111aのステータス情報が「アップデート完了」である場合、アプリクラスタ11aのすべてのホストに対して、通信部101を介して、アップデート完了イベントを発行(送信)する。アップデート完了イベントを受信したホスト110a〜112aは、それぞれのステータス情報テーブル1000の自己のホストに関連付けられているステータスを「正常」に更新する。
以上のように、クラスタ内のホストが互いにステータス情報を共有し、アップデート動作が完了したホストが、他のホストのステータス情報に応じて、次にアップデート動作を行うべきホストを特定してアップデート開始イベントを発行していくことにより、クラスタ内でのホストのアップデート動作が行われる。すなわち、アップデート動作を行っていないホストによって、クラスタの機能を提供することができる。したがって、システム(図6の例ではステージング環境システム10a)を稼働させた状態で、各クラスタの各ホストをアップデートすることができる。よって、システム全体をアップデートするために、システムを冗長化(例えば、システムのコピー)させる必要がないため、冗長化によるコストを軽減することができる。
また、クラスタ内のホストのアップデート動作が完了すると、構成管理サーバ30は、どのホストがどのバージョンのアップデート情報によってアップデートされたかを記憶して管理する。例えば、図9に示すように、アップデート動作が実行される前のホスト110aにインストールされているモジュールのバージョンのうち、システムバージョンが「2.0.1」、および、アプリクラスタのバージョンが「2.0.1」となっている場合に、ホスト110aでアップデート動作が完了すると、構成管理サーバ30は、ホスト110aにアップデートされたモジュールのバージョンのうち、システムバージョンを「2.0.2」、および、アプリクラスタのバージョンを「2.0.2」として管理する。
なお、上述のように、それぞれのクラスタ内のホストは、互いのステータス情報に応じて、順にアップデート動作を行うので、アップデート後のホストが提供する機能は、アップデート前のホストが提供する機能に対して互換性(後方互換性)を有することが望ましい。
ここで、上述の(表1)を参照しながら、アップデート完了イベントをどのホストに発行するかについての類型について説明する。上述したように(表1)は、ホスト110aがアップデート動作を完了し、ステータス情報が「アップデート完了」となった状態を示している。なお、アップデート完了イベントを送る時点で、システム状態情報は「正常」であるものとする。
ホスト110aのイベント発行部106は、ホスト111aおよびホスト112aのステータス情報が共に「アップデート完了」である場合、ホスト110a〜112aいずれもアップデート動作が既に完了しているので、アプリクラスタ11aのすべてのホスト(実質的にはホスト110a〜112a)に対して、アップデート完了イベントを発行する。
また、ホスト110aのイベント発行部106は、ホスト111aのステータス情報が「アップデート完了」であり、ホスト112aのステータス情報が「退避中」である場合、ホスト110a、111aでのアップデート動作が既に完了しており、ホスト112aでのアップデート動作は実行できない状態なので、ステータス情報が「アップデート完了」のすべてのホスト(ホスト110a、111a)に対して、アップデート完了イベントを発行する。また、ホスト110aのイベント発行部106は、ホスト112aのステータス情報が「退避中」である旨を、管理者50等に通知するものとしてもよい。通知する方法は、上述した通りである。
また、ホスト110aのイベント発行部106は、ホスト111aおよびホスト112aのステータス情報が共に「退避中」である場合、ステータス情報が「アップデート完了」である自ホスト(ホスト110a)に対して、アップデート完了イベントを発行する。また、ホスト110aのイベント発行部106は、ホスト111aおよびホスト112aのステータス情報が「退避中」である旨を、管理者50等に通知するものとしてもよい。通知する方法は、上述した通りである。
また、アップデート中であるか否かに関わらず、ホスト110a〜112aの第1管理部102は、通信部101を介して、サービス監視サーバ20aからステージング環境システム10aのシステム状態情報を取得し、そのシステム状態情報が「異常」を示す場合、ステージング環境システム10aの状態が異常である旨を、管理者50等に通知する。例えば、通知する方法として、第1管理部102は、ディスプレイ508にステージング環境システム10aのシステム状態情報が「異常」である旨を表示させたり、または、特定のアドレスにその旨をメールで通知するものとしてもよい。なお、ステージング環境システム10aの状態を監視しているサービス監視サーバ20aが、ステージング環境システム10aの異常を検出した場合に、その旨を、管理者50等に通知するものとしてもよい。
また、各ホストのロールバック部107は、上述のアップデート動作中に、ホスト自身の異常、または、システム状態情報を通じてステージング環境システム10aに異常が発生したことを認識した場合は、アップデート動作を中断させ、アップデート動作前の状態に戻すロールバックを実行する。
(システムが停止中でのホストのアップデート動作)
図10は、第1の実施の形態でのシステム停止時のアップデート動作の一例を説明する図である。図10を参照しながら、本実施の形態の情報システム1の特定のシステムの動作が停止中におけるクラスタ内でのホストのアップデート動作について説明する。なお、ここでは、ホスト110a〜112aを有するステージング環境システム10aの動作が停止中におけるアプリクラスタ11a内でのアップデート動作について説明する。
ステージング環境システム10aの動作が停止中である場合、アプリクラスタ11a内の各ホストは、互いのステータス情報に応じて、アップデート動作の順番を考慮する必要がない。したがって、図10に示すように、例えば、管理者50のアップデート操作を受け付けた順に、各ホストが独立してアップデート動作を実行するものとすればよい。各ホストのアップデート動作の内容は、図6で上述した動作に準じる。ただし、各ホストのイベント発行部106は、アップデート動作が完了しても、他のホストの動作を考慮する必要がないので、アップデート開始イベントおよびアップデート完了イベントのいずれも発行する必要はない。また、各ホストの第1管理部102は、システム状態情報を取得する必要もなく、第2管理部103および第3管理部104は、ステータス情報を取得する必要もない。
以上のように、システムが停止している場合は、システムのクラスタ内のホストのアップデート動作の順番を考慮する必要がないので、管理者50は、任意のタイミングで各ホストのアップデート動作を実行することができる。
なお、上述の図6および10において、ステージング環境システム10aのアプリクラスタ11a内のホストのアップデート動作について説明したが、他のクラスタ(共通サービスクラスタ12a、データベースクラスタ13a)内のアップデート動作、および、本番環境システム10bの各クラスタ内のアップデート動作も、上述のアップデート動作と同様である。
[第2の実施の形態]
第2の実施の形態に係る情報システムについて、第1の実施の形態に係る情報システム1と相違する点を中心に説明する。第1の実施の形態では、クラスタ内の各ホストについて、互いのステータス情報に応じて、次にアップデート動作を実行するホストを決定する動作について説明した。本実施の形態では、特に、異なるクラスタ間でステータス情報を共有し、クラスタの依存関係に基づいて、アップデート動作を実行するクラスタを決定する動作について説明する。なお、本実施の形態の情報システム、サービス監視サーバ20、構成管理サーバ30およびホスト100の構成は、図1〜3で示した構成と同様である。
(ステータス情報の共有)
図11は、クラスタ間でステータス情報を共有することを説明する図である。図11を参照しながら、本実施の形態の情報システムの各クラスタ内、およびクラスタ間でステータス情報を共有する動作について説明する。なお、ここでは、ホスト同士でステータス情報を共有するクラスタとして、ステージング環境システム10aのアプリクラスタ11aおよび共通サービスクラスタ12aを例にして説明する。また、説明を簡潔にするため、図11では、アプリクラスタ11aが有するホストとして、ホスト110aおよびホスト111aのみを図示している。
図11(a)に示すアプリクラスタ11aのホスト110a、111a、および共通サービスクラスタ12aのホスト120a、121aは、それぞれ、状態を示す情報であるステータス情報をお互いに共有するためのステータス情報テーブル1001を記憶部108に記憶している。
ステータス情報テーブル1001では、図11(b)に示すように、クラスタ名と、ホスト名と、IPアドレスと、ステータスとが関連付けられて管理される。ここで、クラスタ名は、ステータス情報テーブル1001を有するホストを含むクラスタの名称である。また、ホスト名は、ステータス情報テーブル1001を有するホストの名称である。また、IPアドレスおよびステータスは、第1の実施の形態で上述した通りである。
アプリクラスタ11aおよび共通サービスクラスタ12aの各ホスト(ホスト110a、111a、120a、121a)の第2管理部103は、定期的、または特定の条件に従う間隔で、互いのステータス情報を、通信部101を介して送受信し、取得したステータス情報を、ステータス情報テーブル1001に更新することによって、互いのステータスを管理している。すなわち、各クラスタのホストは、自身が属するクラスタだけではなく、異なるクラスタのホストともステータス情報を送受信して交換する。また、アプリクラスタ11aおよび共通サービスクラスタ12aの各ホストの第3管理部104は、定期的、または特定の条件に従う間隔で、自身のステータス情報を取得し、取得した自身のステータス情報を、ステータス情報テーブル1001に更新することによって、自身のステータスも管理する。
(クラスタ間の協調に基づくホストのアップデート動作)
図12は、第2の実施の形態のクラスタ間でのホストのアップデート動作の一例を示す図である。図13は、第2の実施の形態でのクラスタのアップデートの実行順序の類型を説明する図である。図12および13を参照しながら、本実施の形態の情報システムのクラスタ間の協調に基づくホストのアップデート動作について説明する。なお、ここでは、ステージング環境システム10aにおけるホスト110a、111aを有するアプリクラスタ11aと、ホスト120a、121aを有する共通サービスクラスタ12aとの間の協調に基づくアップデート動作について説明する。
システム(図1に示すステージング環境システム10a、本番環境システム10b)内の各クラスタ間にはアップデート動作についての依存関係がある。例えば、図1に示すステージング環境システム10aは、クラスタとして、上述のように、アプリクラスタ11a、共通サービスクラスタ12a、およびデータベースクラスタ13aを有する。このうちデータベースクラスタ13aは、アプリクラスタ11aおよび共通サービスクラスタ12aとの関係を考慮すると、先にアプリクラスタ11aまたは共通サービスクラスタ12aがアップデートされた場合、アップデートされたクラスタが、古いクラスタであるデータベースクラスタ13aには無いデータを要求する可能性があるため、最も先にアップデートする必要がある。また、共通サービスクラスタ12aは、アプリクラスタ11aとの関係を考慮すると、先にアプリクラスタ11aがアップデートされた場合、アップデートされたアプリクラスタ11aが、古いクラスタである共通サービスクラスタ12aには無い共通サービスを要求する場合があるため、アプリクラスタ11aよりも優先してアップデートする必要がある。そこで、本実施の形態の構成管理サーバ30は、上述のようなアップデート動作についての依存関係、すなわち、アップデート動作の優先順位の関係を規定する依存関係情報を有する。例えば、依存関係情報は、データベースクラスタ13a、共通サービスクラスタ12a、アプリクラスタ11aの順で優先的にアップデートを行うことを規定する情報とする。
また、依存関係情報は、例えば、図13に示すようなコードによって、アップデート動作の優先順位の関係を規定するようにすればよい。図1のステージング環境システム10aおよび本番環境システム10bに相当するシステムが、クラスタとして、共通サービスクラスタcsおよびアプリクラスタapliを有する場合、依存関係情報として、図13(a)に示す[cs,apli]で表記されるコードで規定する。ここで、[A,B]は、クラスタA→クラスタBのように直列の順序でアップデートを行う意味を表す。
また、システムが、図1に示すステージング環境システム10aおよび本番環境システム10bと同様のクラスタを有する場合、すなわち、データベースクラスタdb、共通サービスクラスタcsおよびアプリクラスタapliを有する場合、依存関係情報として、図13(b)に示す[db,cs,apli]で表記されるコードを規定する。すなわち、この依存関係情報は、データベースクラスタdb→共通サービスクラスタcs→アプリクラスタapliのように直列の順序でアップデートを行うことを規定する。
また、図1では、ステージング環境システム10aおよび本番環境システム10bのいずれも、アプリクラスタ、共通サービスクラスタおよびデータベースクラスタをそれぞれ1ずつ有するものとしているが、上述のように、クラスタの種類および個数は限定されるものではないので、例えば、2種類のアプリクラスタを有する場合も想定される。この2種類のアプリクラスタが、互いに機能が独立である場合、アップデート動作の順序については優劣がないので、並行してアップデート動作を実行させることが可能である。ここで、(A,B)を、クラスタAおよびクラスタBを並行してアップデートを行う意味を表すものとする。ここで、システムが、データベースクラスタdb、共通サービスクラスタcs、ならびに、互いに機能が独立なアプリクラスタk−apliおよびアプリクラスタI−apliを有する場合、依存関係情報としては、図13(c)に示す[db,cs,(k−apli,I−apli)]のようなコードで規定すればよい。すなわち、この依存関係情報は、データベースクラスタdb→共通サービスクラスタcs→(アプリクラスタk−apli、I−apliを並列にアップデート)の順序でアップデートを行うことを規定する。
さらに、システムが、データベースクラスタdb1、db2、共通サービスクラスタcs1、cs2、および、アプリクラスタk−apli1、k−apli2、I−apli1、I−apli2を有するものとする。そして、データベースクラスタdb1とデータベースクラスタdb2とは、互いに機能が独立しており、共通サービスクラスタcs1と共通サービスクラスタcs2とは、互いに機能が独立しているものとする。また、アプリクラスタk−apli1とアプリクラスタk−apli2とは、機能に依存関係があり、アプリクラスタk−apli1→アプリクラスタk−apli2の順序でアップデートする必要があるものとする。また、アプリクラスタI−apli1とアプリクラスタI−apli2とについても、機能に依存関係があり、アプリクラスタI−apli1→アプリクラスタI−apli2の順序でアップデートする必要があるものとする。ただし、アプリクラスタk−apli1、k−apli2の組み合わせと、アプリクラスタI−apli1、I−apli2の組み合わせとは、互いに機能が独立しているものとする。この場合、依存関係情報としては、図13(d)に示す[(db1,db2),(cs1,cs2),([k−apli1,k−apli2],[I−apli1,I−apli2])]のようなコードで規定すればよい。すなわち、この依存関係情報は、(データベースクラスタdb1、db2を並列にアップデート)→(共通サービスクラスタcs1、cs2を並列にアップデート)→((アプリクラスタk−apli1→アプリクラスタk−apli2)、(アプリクラスタI−apli1→アプリクラスタI−apli2)を並列にアップデート)の順序でアップデートを行うことを規定する。
次に、図12を参照しながら、クラスタ間の協調に基づくホストのアップデート動作の説明に移る。まず、管理者50は、構成管理サーバ30が有する依存関係情報を参照し、アップデート動作の対象とするクラスタとして、アプリクラスタ11aよりもアップデートの優先順位が高い共通サービスクラスタ12aを特定し、共通サービスクラスタ12a内のホスト120a、121aのいずれかに対して、アップデート操作を行う。例えば、図12に示すように、管理者50は、共通サービスクラスタ12aのホスト120aに対して、図2に示すキーボード511およびマウス512等の入力手段を介してアップデートの操作を行う。
なお、上述のように、管理者50が、依存関係情報を参照して、アップデート動作の対象とするクラスタを特定するものとしたが、これに限定されるものではない。例えば、管理者50が、構成管理サーバ30に対してアップデート操作を行い、アップデート操作を受け付けた構成管理サーバ30は、保有する依存関係情報に基づいて、優先的にアップデート動作の対象とすべきクラスタに対してアップデート開始イベントを送信するものとしてもよい。また、例えば、管理者50によるアップデート操作ではなく、構成管理サーバ30が、ステージング環境システム10aに対するアップデート動作を実行するための何らかのトリガを検出した場合に、保有する依存関係情報に基づいて、優先的にアップデート動作の対象とすべきクラスタに対してアップデート開始イベントを送信するものとしてもよい。
まず、共通サービスクラスタ12aのホスト120aが、管理者50から、アップデート操作を受け付けたものとする。次に、ホスト120aの第1管理部102は、ホスト120aの通信部101を介して、構成管理サーバ30が有する依存関係情報を参照し、アップデート動作の対象が共通サービスクラスタ12a(第1クラスタの一例)で正しいことを確認する。ここで、管理者50からアップデート操作を受け付けたホストが、依存関係情報に基づくアップデート動作の対象となるクラスタに属するものではない場合、その旨を管理者50に対して通知する。通知する方法は、上述した通りである。
また、ホスト120aのアップデート部105は、ホスト120aの記憶部108に記憶されているステータス情報テーブル1001を参照し、各クラスタの各ホストのステータスが「正常」、すなわち、アップデート動作が実行されていないことを確認する。アップデート部105は、各クラスタの各ホストのステータスが「正常」の場合、ホスト120aにおけるアップデート動作を開始する。アップデート部105は、アップデート動作を開始すると、図12に示すように、記憶部108に記憶されているステータス情報テーブル1001の自己のホスト(ホスト120a)に関連付けられているステータスを「アップデート中」に更新する。
また、アップデート部105は、アップデート動作を開始すると、まず、構成管理サーバ30からアップデート情報を要求して取得する。アップデート部105は、取得したアップデート情報に基づいて、共通サービスクラスタ12aの機能を実現するためのプログラムおよびデータ等をアップデートする。アップデート部105は、アップデート動作が完了すると、ステータス情報テーブル1001の自己のホスト(ホスト120a)に関連付けられているステータスを「アップデート完了」に更新する。
アップデート部105によりアップデート動作が完了すると、ホスト120aの第1管理部102は、ホスト120aの通信部101を介して、サービス監視サーバ20aから、共通サービスクラスタ12aが属するステージング環境システム10aのその時点のシステム状態情報を取得する。また、ホスト120aの第2管理部103は、通信部101を介して、共通サービスクラスタ12aの他のホスト(ホスト121a)からその時点のステータス情報を取得する。そして、ホスト120aのイベント発行部106は、システム状態情報が「正常」であり、かつ、ホスト121aのステータス情報が「正常」である場合、ステータス情報が「正常」であるホスト121aに対して、通信部101を介して、アップデート開始イベントを発行(送信)する。
次に、ホスト121aのアップデート部105は、ホスト120aのイベント発行部106からアップデート開始イベントを受信した場合、ホスト121aにおけるアップデート動作を開始する。アップデート部105は、アップデート動作を開始すると、図12に示すように、ホスト121aの記憶部108に記憶されているステータス情報テーブル1001の自己のホスト(ホスト121a)に関連付けられているステータスを「アップデート中」に更新する。
また、アップデート部105は、アップデート動作を開始すると、構成管理サーバ30からアップデート情報を要求して取得する。アップデート部105は、取得したアップデート情報に基づいて、共通サービスクラスタ12aの機能を実現するためのプログラムおよびデータ等をアップデートする。アップデート部105は、アップデート動作が完了すると、ステータス情報テーブル1001の自己のホスト(ホスト121a)に関連付けられているステータスを「アップデート完了」に更新する。
アップデート部105によりアップデート動作が完了すると、ホスト121aの第1管理部102は、ホスト121aの通信部101を介して、共通サービスクラスタ12aが属するステージング環境システム10aのその時点のシステム状態情報を取得する。また、ホスト121aの第2管理部103は、通信部101を介して、共通サービスクラスタ12aの他のホスト(ホスト120a)からその時点のステータス情報を取得する。そして、ホスト121aのイベント発行部106は、自身のステータス情報が「アップデート完了」であることを前提として、システム状態情報が「正常」であり、かつ、ホスト120aのステータス情報が「アップデート完了」である場合、共通サービスクラスタ12aのすべてのホストに対して、通信部101を介して、アップデート完了イベントを発行(送信)する。アップデート完了イベントを受信したホスト120a、121aは、それぞれのステータス情報テーブル1001の自己のホストに関連付けられているステータスを「正常」に更新する。
さらに、ホスト121aの第1管理部102は、ホスト121aの通信部101を介して、構成管理サーバ30が有する依存関係情報を参照し、次のアップデート動作の対象がアプリクラスタ11a(第2クラスタの一例)であることを確認する。また、ホスト121aの第2管理部103は、通信部101を介して、アプリクラスタ11aの各ホスト(ホスト110a、111a)からその時点のステータス情報を取得する。そして、ホスト121aのイベント発行部106は、システム状態情報が「正常」であり、かつ、ホスト110a、111aのステータス情報が「正常」である場合、ホスト110a、111aのいずれかに対して、通信部101を介して、アップデート開始イベントを発行(送信)する。ここでは、イベント発行部106は、ホスト110aに対してアップデート開始イベントを発行したものとする。
次に、ホスト110aの第1管理部102は、ホスト121aのイベント発行部106からアップデート開始イベントを受信した場合、ホスト110aの通信部101を介して、構成管理サーバ30が有する依存関係情報を参照し、アップデート動作の対象がアプリクラスタ11aで正しいことを確認する。そして、ホスト110aのアップデート部105は、ホスト110aにおけるアップデート動作を開始する。アップデート部105は、アップデート動作を開始すると、図12に示すように、ホスト110aの記憶部108に記憶されているステータス情報テーブル1001の自己のホスト(ホスト110a)に関連付けられているステータスを「アップデート中」に更新する。
また、アップデート部105は、アップデート動作を開始すると、構成管理サーバ30からアップデート情報を要求して取得する。アップデート部105は、取得したアップデート情報に基づいて、アプリクラスタ11aの機能を実現するためのプログラムおよびデータ等をアップデートする。アップデート部105は、アップデート動作が完了すると、ステータス情報テーブル1001の自己のホスト(ホスト110a)に関連付けられているステータスを「アップデート完了」に更新する。
アップデート部105によりアップデート動作が完了すると、ホスト110aの第1管理部102は、ホスト110aの通信部101を介して、サービス監視サーバ20aから、共通サービスクラスタ12aが属するステージング環境システム10aのその時点のシステム状態情報を取得する。また、ホスト110aの第2管理部103は、通信部101を介して、アプリクラスタ11aの他のホスト(ホスト111a)からその時点のステータス情報を取得する。そして、ホスト110aのイベント発行部106は、システム状態情報が「正常」であり、かつ、ホスト111aのステータス情報が「正常」である場合、ステータス情報が「正常」であるホスト111aに対して、通信部101を介して、アップデート開始イベントを発行(送信)する。
次に、ホスト111aのアップデート部105は、ホスト110aのイベント発行部106からアップデート開始イベントを受信した場合、ホスト111aにおけるアップデート動作を開始する。アップデート部105は、アップデート動作を開始すると、図12に示すように、ホスト111aの記憶部108に記憶されているステータス情報テーブル1001の自己のホスト(ホスト111a)に関連付けられているステータスを「アップデート中」に更新する。
また、アップデート部105は、アップデート動作を開始すると、構成管理サーバ30からアップデート情報を要求して取得する。アップデート部105は、取得したアップデート情報に基づいて、アプリクラスタ11aの機能を実現するためのプログラムおよびデータ等をアップデートする。アップデート部105は、アップデート動作が完了すると、ステータス情報テーブル1001の自己のホスト(ホスト111a)に関連付けられているステータスを「アップデート完了」に更新する。
アップデート部105によりアップデート動作が完了すると、ホスト111aの第1管理部102は、ホスト111aの通信部101を介して、アプリクラスタ11aが属するステージング環境システム10aのその時点のシステム状態情報を取得する。また、ホスト111aの第2管理部103は、通信部101を介して、アプリクラスタ11aの他のホスト(ホスト110a)からその時点のステータス情報を取得する。そして、ホスト111aのイベント発行部106は、自身のステータス情報が「アップデート完了」であることを前提として、システム状態情報が「正常」であり、かつ、ホスト110aのステータス情報が「アップデート完了」である場合、アプリクラスタ11aのすべてのホストに対して、通信部101を介して、アップデート完了イベントを発行(送信)する。アップデート完了イベントを受信したホスト110a、111aは、それぞれのステータス情報テーブル1001の自己のホストに関連付けられているステータスを「正常」に更新する。
さらに、ホスト111aの第1管理部102は、ホスト111aの通信部101を介して、構成管理サーバ30が有する依存関係情報を参照し、次のアップデート動作の対象がないことを確認する。
以上のように、システム(図1の例ではステージング環境システム10aまたは本番環境システム10b)内の各クラスタの各ホストが互いにステータス情報を共有し、かつ、クラスタ間でアップデート動作の優先順位の関係を規定する依存関係情報に基づいて、クラスタ間で協調してアップデート動作を実行するものとしている。これによって、システムにおいて、クラスタ間でのアップデート動作の順番不良による不具合が生じないように、システムを稼働させた状態で、各クラスタの各ホストをアップデートすることができる。よって、第1の実施の形態の効果を有すると共に、システムに対して、1回のトリガ(例えば、管理者50のアップデート操作、または、構成管理サーバ30による特定のタイミングでのアップデート開始イベント)によって、システムの稼働に支障を来さないように自動的にアップデート動作を実行することができ、人手による作業を大幅に軽減することができる。
なお、図12のアップデート動作の説明では、各ホストは、適切なタイミングで、構成管理サーバ30が有する依存関係情報を参照するものとしているが、これに限定するものではなく、適切なタイミングに構成管理サーバ30から依存関係情報を取得して、取得した依存関係情報を参照するものとしてもよい。
また、構成管理サーバ30の依存関係情報を参照するタイミングは、図12で上述したタイミングに限定されるものではない。すなわち、共通サービスクラスタ12aの次にアプリクラスタ11aの順番でアップデート動作を行うことができれば、どのようなタイミングで参照するものとしてもよい。
(システムが停止中でのホストのアップデート動作)
図14は、第2の実施の形態でのシステム停止時のアップデート動作の一例を説明する図である。図14を参照しながら、本実施の形態の情報システムの特定のシステムの動作が停止中におけるそのシステム内でのホストのアップデート動作について説明する。なお、ここでは、ホスト110a、111aを有するアプリクラスタ11aと、ホスト120a、121aを有する共通サービスクラスタ12aとを有するステージング環境システム10aの動作が停止中におけるアップデート動作について説明する。
ステージング環境システム10aの動作が停止中である場合、アプリクラスタ11aおよび共通サービスクラスタ12a内の各ホストは、互いのステータス情報に応じて、アップデート動作の順番を考慮する必要がない。したがって、図14に示すように、例えば、管理者50のアップデート操作を受け付けた順に、各ホストが独立してアップデート動作を実行するものとすればよい。各ホストのアップデート動作の内容は、図12で上述した動作に準じる。ただし、各ホストのイベント発行部106は、アップデート動作が完了しても、他のホストの動作を考慮する必要がないので、アップデート開始イベントおよびアップデート完了イベントのいずれも発行する必要はない。また、各ホストの第1管理部102は、システム状態情報を取得する必要もなく、第2管理部103および第3管理部104は、ステータス情報を取得する必要もない。
以上のように、システムが停止している場合は、システムの複数のクラスタにおける各ホストのアップデート動作の順番を考慮する必要がないので、管理者50は、任意のタイミングで各ホストのアップデート動作を実行することができる。
なお、上述の図12および14において、ステージング環境システム10aでのホストのアップデート動作について説明したが、他のシステム(図1の例では本番環境システム10b)の各クラスタ内のアップデート動作も、上述のアップデート動作と同様である。
[第3の実施の形態]
第3の実施の形態に係る情報システムについて、第2の実施の形態に係る情報システムと相違する点を中心に説明する。第2の実施の形態では、異なるクラスタ間でステータス情報を共有し、クラスタの依存関係に基づいて、アップデート動作を実行するクラスタを決定する動作について説明した。本実施の形態においては、特に、情報システムに含まれる複数のシステムのアップデート動作について説明する。なお、本実施の形態の情報システム、サービス監視サーバ20、構成管理サーバ30およびホスト100の構成は、図1〜3で示した構成と同様である。
(ステータス情報の共有)
図15は、第3の実施の形態のシステム間でホストのアップデート動作の一例を示す図である。図15を参照しながら、本実施の形態の情報システムが含むステージング環境システム10aおよび本番環境システム10bでの各クラスタ内、およびクラスタ間でステータス情報を共有する動作について説明する。なお、ステージング環境システム10aでのホスト同士でステータス情報を共有クラスタとして、アプリクラスタ11aおよび共通サービスクラスタ12aを例にし、本番環境システム10bでのホスト同士でのステータス情報を共有するクラスタとして、アプリクラスタ11bおよび共通サービスクラスタ12bを例にして説明する。
図15に示すステージング環境システム10aにおいて、アプリクラスタ11aのホスト110a、111a、および共通サービスクラスタ12aのホスト120a、121aは、それぞれ、状態を示す情報であるステータス情報をお互いに共有するためのステータス情報テーブル1001(図11(b)参照)を記憶部108に記憶している。また、図15に示す本番環境システム10bにおいて、アプリクラスタ11bのホスト110b、111b、および共通サービスクラスタ12bのホスト120b、121bも、それぞれ、ステータス情報をお互いに共有するためのステータス情報テーブル1001を記憶部108に記憶している。
ステージング環境システム10aのアプリクラスタ11aおよび共通サービスクラスタ12aの各ホスト(ホスト110a、111a、120a、121a)の第2管理部103は、定期的、または特定の条件に従う間隔で、互いのステータス情報を、通信部101を介して送受信し、取得したステータス情報を、ステータス情報テーブル1001に更新することによって、互いのステータスを管理している。すなわち、ステージング環境システム10aの各クラスタのホストは、自身が属するクラスタだけではなく、異なるクラスタのホストともステータス情報を送受信して交換する。また、ステージング環境システム10aのアプリクラスタ11aおよび共通サービスクラスタ12aの各ホストの第3管理部104は、定期的、または特定の条件に従う間隔で、自身のステータス情報を取得し、取得した自身のステータス情報を、ステータス情報テーブル1001に更新することによって、自身のステータスも管理する。
本番環境システム10bのアプリクラスタ11bおよび共通サービスクラスタ12bの各ホスト(ホスト110b、111b、120b、121b)の第2管理部103は、定期的、または特定の条件に従う間隔で、互いのステータス情報を、通信部101を介して送受信し、取得したステータス情報を、ステータス情報テーブル1001に更新することによって、互いのステータスを管理している。すなわち、本番環境システム10bの各クラスタのホストは、自身が属するクラスタだけではなく、異なるクラスタのホストともステータス情報を送受信して交換する。また、本番環境システム10bのアプリクラスタ11bおよび共通サービスクラスタ12bの各ホストの第3管理部104は、定期的、または特定の条件に従う間隔で、自身のステータス情報を取得し、取得した自身のステータス情報を、ステータス情報テーブル1001に更新することによって、自身のステータスも管理する。
ここで、異なるシステム、すなわち、ステージング環境システム10aおよび本番環境システム10bに属するそれぞれのホスト同士は、図15に示すように、ステータス情報の共有、およびメッセージ等の通信はしない。
(情報システムに含まれる複数のシステムのアップデート動作)
図15を参照しながら、本実施の形態の情報システムに含まれる複数のシステムのアップデート動作について説明する。
図15に示すように、管理者50は、ステージング環境システム10aおよび本番環境システム10bそれぞれに対して、アップデート操作を行う。具体的には、ステージング環境システム10aに対してアップデートを行う場合、管理者50は、構成管理サーバ30が有するステージング環境システム10aについての依存関係情報を参照し、アップデート動作の対象とするクラスタを特定し、そのクラスタ内のホストのいずれかに対して、アップデート操作を行う。また、ステージング環境システム10a内で最後にアップデート動作を完了したホストが、完了した旨を、管理者50に通知する。例えば、通知する方法として、最後にアップデート動作を完了したホストが、ディスプレイ508に完了した旨を表示させたり、または、特定のアドレスにその旨をメールで通知するものとしてもよい。
また、本番環境システム10bに対してアップデートを行う場合、管理者50は、構成管理サーバ30が有する本番環境システム10bについての依存関係情報を参照し、アップデート動作の対象とするクラスタを特定し、そのクラスタ内のホストのいずれかに対して、アップデート操作を行う。また、本番環境システム10b内で最後にアップデート動作を完了したホストが、完了した旨を、管理者50に通知する。通知する方法は、上述と同様である。
ステージング環境システム10aおよび本番環境システム10bにおけるアップデート動作の内容は、第2の実施の形態のアップデート動作の内容と同様である。
以上のように、複数のシステムを有する情報システムにおいては、各システム間で、ステータス情報の共有、およびメッセージ等の通信はしないので、各システムに対して別個にアップデート動作を実行することができる。すなわち、各システムを稼働させた状態で、別個にアップデート動作を実行することができる。
なお、情報システムが有する複数のシステム(図15の例では、ステージング環境システム10aおよび本番環境システム10b)のアップデート動作に優先順位がある場合、管理者50は、優先順位に従ってアップデート操作を行うものとすればよい。
また、上述のように、管理者50が、ステージング環境システム10aおよび本番環境システム10bに対して、アップデート操作を行うものとしたが、これに限定されるものではない。例えば、管理者50が、構成管理サーバ30に対してアップデート操作を行い、アップデート操作を受け付けた構成管理サーバ30が、各システムにおけるクラスタ間の依存関係情報に基づいて、各システムに対してアップデート開始イベントを送信するものとしてもよい。
[第4の実施の形態]
第4の実施の形態に係る情報システムについて、第1の実施の形態に係る情報システム1と相違する点を中心に説明する。第1の実施の形態では、クラスタ内の各ホストについて、互いのステータス情報に応じて、次にアップデート動作を実行するホストを決定する動作について説明した。本実施の形態では、外部からのリクエストに対し、互いのステータス情報に応じて、他のホストにリダイレクトする動作について説明する。なお、本実施の形態の情報システム、サービス監視サーバ20、構成管理サーバ30、およびホスト100の構成は、図1〜3で示した構成と同様である。
(ステータス情報の共有)
図16は、第4の実施形態のクラスタにリクエストが送られたときの動作を説明する図である。図4で上述したように、情報システムの各クラスタ内のホスト同士間では、ステータス情報を共有する。なお、ここでは、ホスト同士でステータス情報を共有するクラスタとして、アプリクラスタ11bを例にして説明する。
図16(a)に示すアプリクラスタ11bのホスト110b〜112bは、それぞれ、状態を示す情報であるステータス情報をお互いに共有するために、図16(b)に示すようなステータス情報テーブル1002を記憶部108(図3参照)に記憶している。
ステータス情報テーブル1002では、図16(b)に示すように、クラスタ名と、ホスト名と、IPアドレスと、ステータスとが関連付けられて管理される。例えば、図16(b)に示すステータス情報テーブル1002においては、クラスタ名が「portal」で、ホスト名が「portal−011」であるホストのIPアドレスは「xx.xx.xx.123」であり、ステータスは「アップデート中」であることが示されている。なお、図16(b)に示すIPアドレスは、表記を簡略化して示している。また、本実施の形態では、ステータス情報テーブル1002のホスト名「portal−011」がホスト110bに対応し、ホスト名「portal−012」がホスト111bに対応し、ホスト名「portal−013」がホスト112bに対応しているものとして説明する。
アプリクラスタ11bの各ホスト(ホスト110b〜112b)の第2管理部103(図3参照)は、定期的、または特定の条件に従う間隔で、互いのステータス情報を送受信し、取得したステータス情報を、ステータス情報テーブル1002に更新することによって、互いのステータスを管理している。また、アプリクラスタ11bの各ホストの第3管理部104(図3参照)は、定期的、または特定の条件に従う間隔で、自身のステータス情報を取得し、取得した自身のステータス情報をステータス情報テーブル1002に更新することによって、自身のステータスも管理する。
図16に示す本番環境システム10bのアプリクラスタ11bの各ホスト(ホスト110b〜112b)は、第1の実施の形態のステージング環境システム10aのアプリクラスタ11aを例にして説明した動作と同様に、アプリクラスタ11b内でアップデート動作を行うことが可能である。また、アプリクラスタ11bは、第2の実施の形態で説明したように、異なるクラスタ(例えば、共通サービスクラスタ12b等)との間で、ステータス情報を共有し、クラスタの依存関係に基づいて、アップデート動作を行うことが可能であるものとしてもよい。すなわち、アプリクラスタ11bの各ホストは、ステータスとして、図5に示すように、「正常」、「ジョブ処理中」、「退避中」、「アップデート中」および「アップデート完了」等の各ステータスを取り得る。
(外部からのリクエストに対する応答動作)
本番環境システム10bのアプリクラスタ11bの各ホスト(ホスト110b〜112b)は、図16(a)に示すように、外部からインターネット2を介して、アプリクラスタ11bの機能の提供を要求するためのリクエストをランダムに受信する。図16(a)に示す例では、外部からインターネット2を介して送信されたリクエストを、アプリクラスタ11bのホスト112bが、通信部101を介して受信した例を示している。
ホスト112bの第3管理部104(確認手段の一例)は、ステータス情報テーブル1002で管理している自身のステータス情報を確認する。第3管理部104は、図16(b)のステータス情報テーブル1002に示すように、自身のステータス情報が「正常」であることを確認する。したがって、第3管理部104は、自身のステータス情報が「正常」であることから、外部からのリクエストに対する応答として、機能の提供を行う。例えば、ホスト112bが、ウェブサーバである場合、リクエストとしてページ要求を受信した場合、そのページ要求に応じたページ情報を、リクエストに対する応答として送信する。
また、図16(b)のステータス情報テーブル1002の例では、ホスト112bのステータス情報が「正常」となっているが、例えば、ステータス情報が「アップデート完了」である場合でも、リクエストに対する応答処理は可能であるので、ホスト112bの第3管理部104は、自身のステータス情報が「アップデート完了」である場合でも、外部からのリクエストに対する応答として、機能の提供を行う。
なお、図16(a)に示すように、アプリクラスタ11bのホストは、外部からインターネット2を介してリクエストを受信するものとしたが、これに限定されるものではなく、インターネット2以外のネットワーク、例えば、LAN(Local Area ネットワーク)、イントラネット、または専用線のネットワーク等であってもよい。
図17は、第4の実施形態のクラスタに送られたリクエストがリダイレクトされる動作を説明する図である。次に、図17を参照しながら、リクエストを受信したホストが、リクエストに対する応答処理を実行できない状態である場合、他のホストにリダイレクトする動作について説明する。
図17に示すように、例えば、本番環境システム10bのアプリクラスタ11bのホスト110bが、外部からインターネット2を介して、アプリクラスタ11bの機能の提供を要求するためのリクエストを通信部101により受信したものとする。通信部101によりリクエストが受信されると、ホスト110bの第3管理部104は、記憶部108に記憶されたステータス情報テーブル1002を参照し、自身のステータス情報を確認する。図16(b)に示すように、第3管理部104は、ステータス情報テーブル1002において自身のステータスが「アップデート中」であることを確認し、リクエストに対する応答処理が実行できないと判断する。
次に、ホスト110bの第2管理部103は、ステータス情報テーブル1002を参照し、アプリクラスタ11b内の他のホスト(ホスト111b、112b)のステータス情報を参照する。第2管理部103(リダイレクト手段の一例)は、他のホストであるホスト111b、112bの各ステータス情報に基づいて、通信部101により受信されたリクエストをリダイレクトするホストを決定する。具体的には、第2管理部103は、他のホストのうち、ステータス情報が「正常」または「アップデート完了」であるホストが存在する場合、そのホストによって、通信部101により受信されたリクエストに対する応答処理が可能であると判断し、そのリクエストを、ステータス情報が「正常」または「アップデート完了」であるホストにリダイレクトする。リクエストを他のホストにリダイレクトする方法としては、例えば、受信したリクエストを、通信部101を介して他のホストに対してそのまま転送するものとしてもよく、または、リクエストを受信したホストが新たにリクエストを生成して、通信部101を介して他のホストに対して送信するものとしてもよい。また、ステータス情報が「アップデート完了」であるホストは、本番環境システム10bの異常等によりロールバックを実行する可能性があるので、第2管理部103は、ステータス情報が「アップデート完了」であるホストよりも、ステータス情報が「正常」であるホストを優先してリダイレクトすることが望ましい。
また、第2管理部103は、他のホストのうちステータス情報が「ジョブ処理中」のホストは特定のジョブの処理を実行中であるため、通信部101により受信されたリクエストを、そのホストにリダイレクトしない。また、第2管理部103は、他のホストのうちステータス情報が「退避中」のホストは不具合の発生等によってアプリクラスタ11bから切り離されている状態であるため、通信部101により受信されたリクエストを、そのホストにリダイレクトしない。また、第2管理部103は、他のホストのうちステータス情報が「アップデート中」のホストはアップデート情報によるアップデート動作中であるため、通信部101により受信されたリクエストを、そのホストにリダイレクトしない。
なお、ステータス情報が「ジョブ処理中」のホストにはリダイレクトしないものとしたが、これに限定されるものではなく、「ジョブ処理中」である場合、特定のジョブの処理が終了すれば、リクエストに対する応答処理の実行が可能になるので、ステータス情報が「ジョブ処理中」のホストは、リダイレクトの受け付けが可能であるものとしてもよい。この場合、リダイレクトを受け付けたステータス情報が「ジョブ処理中」のホストは、そのジョブの処理が終了次第、リダイレクトされたリクエストに対する応答処理を実行するものとすればよい。また、ステータス情報が「ジョブ処理中」であっても、そのジョブ、およびリダイレクトされたリクエストに対する応答処理の並列処理が可能であれば、そのジョブと並列してリクエストに対する応答処理を実行するものとしてもよい。また、リダイレクト先の候補となる複数のホストのうち、ステータス情報が「正常」(または「アップデート完了」)であるホストと、ステータス情報が「ジョブ処理中」であるホストとが存在する場合、リダイレクト先として、ステータス情報が「ジョブ処理中」であるホストよりも、ステータス情報が「正常」(または「アップデート完了」)であるホストを優先させること望ましいのは言うまでもない。
図16(b)に示すステータス情報テーブル1002の例では、ホスト名が「portal−012」であるホスト111bのステータス情報が「ジョブ処理中」であり、ホスト名が「portal−013」であるホスト112bのステータス情報が「正常」である。したがって、ホスト110bの第2管理部103は、図17に示すように、ステータス情報が「正常」であるホスト112bに対してリクエストをリダイレクトする。そして、ホスト112bが、ホスト110bに代わって、リクエストに対する応答処理を実行する。
以上のように、本実施の形態では、外部からのリクエストを、インターネット2を介して受信したホストが、自身のステータスにより、そのリクエストに対応する応答処理の実行ができない場合、同一クラスタ内の他のホストのステータス情報を確認し、そのステータス情報に基づいてリクエストに対応する応答処理の実行が可能な他のホストを決定し、決定したホストにリクエストをリダイレクトするものとしている。リクエストのリダイレクトを受けたホストは、元々、外部からリクエストを受信したホストに代わって、リクエストに対応する応答処理を実行する。これによって、クラスタ内の複数のホストがアップデート動作中であっても、クラスタ内の他のホストにリクエストをリダイレクトして、リクエストに対する応答処理を実行することができるので、リクエストを送ったユーザ側から見て、リクエストに対する応答を受けつつ、クラスタが無停止の状態でアップデート動作を行うことができる。
[第5の実施の形態]
第5の実施の形態に係る情報システムについて、第4の実施の形態に係る情報システムと相違する点を中心に説明する。第4の実施の形態では、外部からのリクエストに対し、アプリクラスタのホストが、他のホストのステータス情報に応じてリダイレクトする動作について説明した。本実施の形態では、リクエストに対する応答処理をするアプリクラスタのホストが、他のクラスタの機能を利用する場合において、そのクラスタのホストのステータス情報に応じて、機能の利用先を決定する動作について説明する。なお、本実施の形態の情報システム、サービス監視サーバ20、構成管理サーバ30、およびホスト100の構成は、図1〜3で示した構成と同様である。
(ステータス情報の共有)
図18は、第5の実施形態のリクエストを受信したアプリクラスタのホストが適切な共通サービスクラスタのホストにアクセスする動作を説明する図である。まず、図18を参照しながら、本実施の形態の情報システムの各クラスタ内、およびクラスタ間でステータス情報を共有する動作について説明する。なお、ここでは、ホスト同士でステータス情報を共有するクラスタとして、本番環境システム10bのアプリクラスタ11bおよび共通サービスクラスタ12bを例にして説明する。また、説明を簡潔にするため、図18(a)では、アプリクラスタ11bが有するホストとして、ホスト110bおよびホスト111bのみを図示し、共通サービスクラスタ12bが有するホストとして、ホスト120bおよびホスト121bのみを図示している。
図18(a)に示すアプリクラスタ11bのホスト110b、111b、および共通サービスクラスタ12bのホスト120b、121bは、それぞれ、状態を示す情報であるステータス情報をお互いに共有するためのステータス情報テーブル1003を記憶部108に記憶している。
ステータス情報テーブル1003では、図18(b)に示すように、クラスタ名と、ホスト名と、IPアドレスと、ステータスとが関連付けられて管理される。例えば、図18(b)に示すステータス情報テーブル1003においては、クラスタ名が「app」で、ホスト名が「app−011」であるホストのIPアドレスは「xx.xx.xx.133」であり、ステータスは「アップデート中」であることが示されている。なお、図18(b)に示すIPアドレスは、表記を簡略化して示している。また、本実施の形態では、ステータス情報テーブル1003のホスト名「portal−011」がホスト110bに対応し、ホスト名「portal−012」がホスト111bに対応し、ホスト名「app−011」がホスト120bに対応し、ホスト名「app−012」がホスト121bに対応しているものとして説明する。
アプリクラスタ11bおよび共通サービスクラスタ12bの各ホスト(ホスト110b、111b、120b、121b)の第2管理部103は、定期的、または特定の条件に従う間隔で、互いのステータス情報を、通信部101を介して送受信し、取得したステータス情報を、ステータス情報テーブル1003に更新することによって、互いのステータスを管理している。すなわち、各クラスタのホストは、自身が属するクラスタだけではなく、異なるクラスタのホストともステータス情報を送受信して交換する。また、アプリクラスタ11bおよび共通サービスクラスタ12bの各ホストの第3管理部104は、定期的、または特定の条件に従う間隔で、自身のステータス情報を取得し、取得した自身のステータス情報を、ステータス情報テーブル1003に更新することによって、自身のステータスも管理する。
図18に示す本番環境システム10bのアプリクラスタ11bおよび共通サービスクラスタ12bの各ホスト(ホスト110b、111b、120b、121b)は、第2の実施の形態で説明した動作と同様に、上述のように、異なるクラスタとの間でステータス情報を共有し、クラスタの依存関係に基づいて、アップデート動作を行うことが可能である。すなわち、アプリクラスタ11bおよび共通サービスクラスタ12bの各ホストは、ステータスとして、図5に示すように、「正常」、「ジョブ処理中」、「退避中」、「アップデート中」および「アップデート完了」等の各ステータスを取り得る。
(外部からのリクエストに対する応答動作)
次に、図18を参照しながら、アプリクラスタ11bのホストが外部からリクエストを受信した場合に、そのリクエストに対して応答する動作について説明する。外部のインターネット2と通信することが可能な本番環境システム10bのアプリクラスタ11bの各ホストは、図18(a)に示すように、外部からインターネット2を介して、アプリクラスタ11bの機能の提供を要求するためのリクエストをランダムに受信する。図18(a)に示す例では、外部からインターネット2を介して送信されたリクエストを、アプリクラスタ11bのホスト110bが、通信部101を介して受信した例を示している。
ホスト110bの第3管理部104は、ステータス情報テーブル1003で管理している自身のステータス情報を確認する。第3管理部104は、図18(b)のステータス情報テーブル1003に示すように、自身のステータス情報が「正常」であることを確認する。したがって、第3管理部104は、自身のステータス情報が「正常」であることから、外部からのリクエストに対する応答として、機能の提供を行う。また、図18(b)のステータス情報テーブル1003の例では、ホスト110bのステータス情報が「正常」となっているが、例えば、ステータス情報が「アップデート完了」である場合でも、リクエストに対する応答処理は可能であるので、ホスト110bの第3管理部104は、自身のステータス情報が「アップデート完了」である場合でも、外部からのリクエストに対する応答として、機能の提供を行う。
ここで、ホスト110bがリクエストに対する応答処理を実行するために、他のクラスタである共通サービスクラスタ12bの共通サービスの利用が必要な場合がある。この場合、ホスト110bは、共通サービスを利用するために、共通サービスクラスタ12bのいずれかのホストにアクセスする必要がある。そこで、ホスト110bの第2管理部103は、ステータス情報テーブル1003を参照し、共通サービスクラスタ12b内のホスト(図18(a)の例ではホスト120b、121b)のステータス情報を参照する。第2管理部103は、共通サービスクラスタ12b内のホスト120b、121bの各ステータス情報に基づいて、リクエストに対する応答処理を実行するために、共通サービスを利用する共通サービスクラスタ12b内のホストを決定する。具体的には、第2管理部103は、共通サービスクラスタ12bのホストのうち、ステータス情報が「正常」または「アップデート完了」であるホストが存在する場合、そのホストから共通サービスの利用が可能であると判断し、そのホストにアクセスする。また、ステータス情報が「アップデート完了」であるホストは、本番環境システム10bの異常等によりロールバックを実行する可能性があるので、第2管理部103は、ステータス情報が「アップデート完了」であるホストよりも、ステータス情報が「正常」であるホストを優先してアクセスすることが望ましい。
また、第2管理部103は、共通サービスクラスタ12b内のホストのうち、ステータス情報が「ジョブ処理中」のホストは特定のジョブの処理を実行中であるため、アクセスしない。また、第2管理部103は、共通サービスクラスタ12b内のホストのうち、ステータス情報が「退避中」のホストは不具合の発生等によって共通サービスクラスタ12bから切り離されている状態であるため、アクセスしない。また、第2管理部103は、共通サービスクラスタ12b内のホストのうち、ステータス情報が「アップデート中」のホストはアップデート情報によるアップデート動作中であるため、アクセスしない。
なお、ステータス情報が「ジョブ処理中」のホストにはアクセスしないものとしたが、これに限定されるものではなく、「ジョブ処理中」である場合、特定のジョブの処理が終了すれば、アクセスしたホスト110bに対して共通サービスの提供が可能になるので、ステータス情報が「ジョブ処理中」のホストは、アクセスの受け付けが可能であるものとしてもよい。この場合、アクセスを受け付けたステータス情報が「ジョブ処理中」のホストは、そのジョブの処理が終了次第、アクセスされたホスト110bに対して、共通サービスの提供を行うものとすればよい。また、ステータス情報が「ジョブ処理中」であっても、そのジョブ、およびアクセスされたホスト110bに対する共通サービスの提供の処理の並列処理が可能であれば、そのジョブと並列してリクエストに対する応答処理を実行するものとしてもよい。また、アクセス先の候補となる複数のホストのうち、ステータス情報が「正常」(または「アップデート完了」)であるホストと、ステータス情報が「ジョブ処理中」であるホストとが存在する場合、アクセス先として、ステータス情報が「ジョブ処理中」であるホストよりも、ステータス情報が「正常」(または「アップデート完了」)であるホストを優先させること望ましいのは言うまでもない。
図18(b)に示すステータス情報テーブル1003の例では、ホスト名が「app−011」であるホスト120bのステータス情報が「アップデート中」であり、ホスト名が「app−012」であるホスト121bのステータス情報が「アップデート完了」である。したがって、ホスト110bの第2管理部103は、図18(a)に示すように、ステータス情報が「アップデート完了」であるホスト121bに対して、共通サービスを利用するためにアクセスする。そして、ホスト110bの第3管理部104(提供手段の一例)は、第2管理部103によるホスト121bへのアクセスによって利用可能となった共通サービスを用いて、外部からのリクエストに対する応答処理を実行する。
なお、図18(a)の例では、外部からのリクエストがインターネット2を介して、アプリクラスタ11bのホスト110bにより受信され、そのホスト110bのステータス情報が「正常」であるため、ホスト110bがリクエストに対する応答処理を実行する例を示したが、これに限定されるものではない。例えば、リクエストを受信したアプリクラスタ11bのホストが、リクエストに対する応答処理を実行できないステータスである場合、上述の第4の実施の形態で上述したように、応答処理の実行が可能なアプリクラスタ11b内の他のホストにリダイレクトし、そのホストが、共通サービスクラスタ12b内のホストのステータス情報に応じて、特定のホストにアクセスし、共通サービスの提供を受けるものとしてもよい。
以上のように、本実施の形態では、外部からのリクエストを、インターネット2を介して受信したホスト、または、そのホストからリダイレクトを受けたホストが、リクエストに対する応答処理を実行するために、他のクラスタの機能(共通サービスクラスタ12bである場合は、共通サービス)を利用する際、他のクラスタ内のホストのステータス情報を確認し、そのステータス情報に基づいて、機能(例えば、共通サービス)を利用することが可能なホストを決定し、決定したホストにアクセスして機能を利用するものとしている。これによって、外部からのリクエストに応答するための機能(例えば、共通サービス)を提供するクラスタ内の複数のホストがアップデート動作中であっても、そのクラスタ内のホストのうち機能の提供が可能なステータスを有するホストにアクセスすることによって、リクエストに対する応答処理を実行することができる。これによって、リクエストを送ったユーザ側から見て、リクエストに対する応答を受けつつ、クラスタが無停止の状態でアップデート動作を行うことができる。
なお、上述の図18の例では、アプリクラスタ11bのホストが、共通サービスクラスタ12bのホストの共通サービスの提供を受けるためにアクセスする動作について説明したが、これに限定されるものではない。例えば、アプリクラスタ11bのホストが、データベースクラスタ13b(図1参照)のホストの機能の提供を受けるためにアクセスする動作、および、共通サービスクラスタ12bのホストが、さらにデータベースクラスタ13bのホストにアクセスする場合の動作等にも、上述の図18を例にして説明した動作を適用することが可能である。
また、上述の各実施の形態において、ホスト100の第1管理部102、第2管理部103、第3管理部104、アップデート部105、イベント発行部106およびロールバック部107、サービス監視サーバ20のシステム確認部202、ならびに、構成管理サーバ30の提供部302の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM502等に予め組み込まれて提供されるものとしてもよい。また、上述の各実施の形態の情報システムで実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の各実施の形態の情報システムで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の各実施の形態の情報システムで実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。上述の各実施の形態の情報システムで実行されるプログラムは、上述したホスト100の第1管理部102、第2管理部103、第3管理部104、アップデート部105、イベント発行部106およびロールバック部107、サービス監視サーバ20のシステム確認部202、ならびに、構成管理サーバ30の提供部302の少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはCPU501が上述のROM502からプログラムを読み出して実行することにより、上述の各部が主記憶装置上にロードされて生成されるようになっている。
1 情報システム
2 インターネット
10a ステージング環境システム
10b 本番環境システム
11a、11b アプリクラスタ
12a、12b 共通サービスクラスタ
13a、13b データベースクラスタ
20、20a、20b サービス監視サーバ
30 構成管理サーバ
50 管理者
100 ホスト
101 通信部
102 第1管理部
103 第2管理部
104 第3管理部
105 アップデート部
106 イベント発行部
107 ロールバック部
108 記憶部
110a、111a、112a、120a、121a、130a、131a ホスト
110b〜113b、120b〜123b、130b〜133b ホスト
201 通信部
202 システム確認部
301 通信部
302 提供部
303 記憶部
501 CPU
502 ROM
503 RAM
505 補助記憶装置
506 記録メディア
507 メディアドライブ
508 ディスプレイ
509 ネットワークI/F
510 バスライン
511 キーボード
512 マウス
513 CD−ROM
514 CD−ROMドライブ
1000〜1003 ステータス情報テーブル
特開2013−206024号公報

Claims (13)

  1. 複数のホストを含むクラスタを有する監視対象システムと、前記監視対象システムの状態を監視する監視サーバ装置と、を有する情報システムであって、
    前記監視サーバ装置は、
    前記監視対象システムが正常に稼働しているか否かを確認する確認手段と、
    前記確認手段により確認された結果を示す第1状態情報を送信する第1通信手段と、
    を備え、
    前記ホストは、
    第2通信手段と、
    前記第1通信手段から送信された前記第1状態情報を、前記第2通信手段を介して受信する第1受信手段と、
    同一のクラスタ内の他のホストから、前記第2通信手段を介して、前記他のホストの動作状態を示す第2状態情報を受信する第2受信手段と、
    アップデート動作の開始が指定された場合、外部から前記第2通信手段を介してアップデート情報を取得し、前記アップデート情報に基づいて前記アップデート動作を実行するアップデート手段と、
    前記アップデート手段により前記アップデート動作が完了した後、前記第1受信手段により受信された前記第1状態情報が正常である場合、前記第2受信手段により受信された前記第2状態情報が、前記アップデート動作を実行することが可能な状態を示す前記他のホストのいずれかに対して、前記第2通信手段を介してアップデート開始指令を通知する通知手段と、
    を備えた情報システム。
  2. 前記監視対象システムは、複数のクラスタを有し、
    前記ホストの前記通知手段は、前記複数のクラスタのうち該ホストを含む第1クラスタが有する全てのホストの前記アップデート動作が終了した場合、前記複数のクラスタの前記アップデート動作の順序を規定する依存関係に基づいて、前記複数のクラスタのうち次に前記アップデート動作を行う第2クラスタを特定し、前記第2クラスタに含まれるホストのいずれかに、前記第2通信手段を介して、前記アップデート開始指令を通知する請求項1に記載の情報システム。
  3. 前記ホストの前記通知手段は、前記第1クラスタが有する全てのホストの前記アップデート動作が終了した場合、前記第2通信手段を介して、外部装置が有する前記依存関係を規定する依存関係情報を参照し、前記依存関係情報に基づいて前記第2クラスタを特定する請求項2に記載の情報システム。
  4. 前記外部装置によって、前記依存関係情報に基づいて前記複数のクラスタのうち最初に前記アップデート動作を行う前記第1クラスタが特定され、
    前記第1クラスタが含む前記ホストの前記アップデート手段は、さらに、前記外部装置によって通知されたアップデート開始指令に従って、前記アップデート動作を実行する請求項3に記載の情報システム。
  5. 前記ホストは、
    前記アップデート動作が実行中に、前記第1受信手段により受信された前記第1状態情報が、前記監視対象システムの稼働状態が異常であることを示す場合、該アップデート動作を中断させ、該ホストの状態を該アップデート動作前の状態に戻すロールバック手段を、さらに備えた請求項1に記載の情報システム。
  6. 前記アップデート手段は、前記監視対象システムの稼働が停止中の場合、前記第1状態情報および前記第2状態情報が示す内容に関わらず、入力手段により受け付けたアップデート操作の情報を受け取った時点で前記アップデート動作を実行する請求項1に記載の情報システム。
  7. 前記アップデート手段は、前記監視対象システムの稼働が停止中の場合、前記第1状態情報および前記第2状態情報が示す内容、ならびに前記依存関係に関わらず、入力手段により受け付けたアップデート操作の情報を受け取った時点で前記アップデート動作を実行する請求項2に記載の情報システム。
  8. 前記アップデート手段は、前記アップデート動作とは異なる処理を実行中に前記アップデート動作の開始が指定された場合、前記アップデート動作とは異なる処理が終了した時点で、前記アップデート動作を開始する請求項1に記載の情報システム。
  9. 前記ホストは、
    前記第2通信手段によって外部から特定の機能の提供を要求するリクエストが受信された場合、該ホスト自身の動作状態を示す第3状態情報を確認する確認手段と、
    前記確認手段により前記第3状態情報が前記特定の機能の提供が不可であることを示すことが確認された場合、前記第2受信手段により受信された前記第2状態情報が、前記特定の機能の提供を行うことが可能な状態を示す前記他のホストのいずれかに対して、前記第2通信手段を介して前記リクエストをリダイレクトするリダイレクト手段と、
    をさらに備えた請求項1〜8のいずれか一項に記載の情報システム。
  10. 前記リダイレクト手段は、前記第2状態情報が前記アップデート動作の完了を示す前記他のホストよりも優先して、前記第2状態情報が正常を示す前記他のホストに対して、前記リクエストをリダイレクトする請求項9に記載の情報システム。
  11. 前記ホストは、前記リクエストを受信し、かつ、該ホストの前記第3状態情報が前記特定の機能を提供することが可能な状態を示す場合、または、前記他のホストからリダイレクトされた場合、前記特定の機能の提供のために、該ホストを含むクラスタとは別のクラスタに含まれるホストのうち、該ホストの前記第2状態情報がサービスの提供を行うことが可能な状態を示すホストのいずれかからの前記サービスを利用して前記特定の機能を提供する提供手段を、さらに備えた請求項9または10に記載の情報システム。
  12. 前記提供手段は、前記第2状態情報が前記アップデート動作の完了を示す前記別のクラスタのホストよりも優先して、前記第2状態情報が正常を示す前記別のクラスタのホストからの前記サービスを利用して前記特定の機能を提供する請求項11に記載の情報システム。
  13. 複数のホストを含むクラスタを有する監視対象システムと、前記監視対象システムの状態を監視する監視サーバ装置と、を有する情報システムのアップデート方法であって、
    前記監視対象システムが正常に稼働しているか否かを確認する確認ステップと、
    確認した結果を示す第1状態情報を前記監視サーバ装置から送信する送信ステップと、
    前記監視サーバ装置から送信された前記第1状態情報を、通信手段を介して受信する第1受信ステップと、
    同一のクラスタ内の他のホストから、前記通信手段を介して、前記他のホストの動作状態を示す第2状態情報を受信する第2受信ステップと、
    前記ホストが、アップデート動作の開始が指定された場合、外部から前記通信手段を介してアップデート情報を取得し、前記アップデート情報に基づいて前記アップデート動作を実行するアップデートステップと、
    前記アップデート動作が完了した後、受信した前記第1状態情報が正常である場合、受信した前記第2状態情報が、前記アップデート動作を実行することが可能な状態を示す前記他のホストのいずれかに対して、前記通信手段を介してアップデート開始指令を通知する通知ステップと、
    を備えたアップデート方法。
JP2016082924A 2015-06-15 2016-04-18 情報システムおよびアップデート方法 Pending JP2017004502A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015120620 2015-06-15
JP2015120620 2015-06-15

Publications (1)

Publication Number Publication Date
JP2017004502A true JP2017004502A (ja) 2017-01-05

Family

ID=57752851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016082924A Pending JP2017004502A (ja) 2015-06-15 2016-04-18 情報システムおよびアップデート方法

Country Status (1)

Country Link
JP (1) JP2017004502A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042956B2 (en) 2018-11-27 2021-06-22 Fujitsu Limited Monitoring apparatus and monitoring method
JP2022170887A (ja) * 2021-04-30 2022-11-11 株式会社日立製作所 アップデート装置、アップデート方法、およびプログラム
US11500622B2 (en) 2020-03-18 2022-11-15 Fujifilm Business Innovation Corp. Information processing apparatus, information processing system, and non-transitory computer readable medium for coordinating a switch to an updated program in a cluster to suppress confusion on users

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042956B2 (en) 2018-11-27 2021-06-22 Fujitsu Limited Monitoring apparatus and monitoring method
US11500622B2 (en) 2020-03-18 2022-11-15 Fujifilm Business Innovation Corp. Information processing apparatus, information processing system, and non-transitory computer readable medium for coordinating a switch to an updated program in a cluster to suppress confusion on users
JP2022170887A (ja) * 2021-04-30 2022-11-11 株式会社日立製作所 アップデート装置、アップデート方法、およびプログラム
JP7240439B2 (ja) 2021-04-30 2023-03-15 株式会社日立製作所 アップデート装置、アップデート方法、およびプログラム

Similar Documents

Publication Publication Date Title
US7958210B2 (en) Update management method and update management unit
US7114094B2 (en) Information processing system for judging if backup at secondary site is necessary upon failover
JP5328177B2 (ja) 情報処理装置、情報処理装置のデータ処理方法、記憶媒体及びプログラム
JP5211160B2 (ja) コンピュータネットワークのシステムダウンタイムを自動的に管理する方法
JP7106953B2 (ja) サーバ切り替えプログラム、サーバ切り替え方法、及びサーバ切り替えシステム
JP5165206B2 (ja) バックアップシステムおよびバックアップ方法
JP2010509677A (ja) 分散型サーバーシステムにおいてバックアップマネージャを転送するメッセージ
CN109558260B (zh) Kubernetes故障排除系统、方法、设备及介质
CN111147274B (zh) 为集群解决方案创建高度可用的仲裁集的系统和方法
US11281550B2 (en) Disaster recovery specific configurations, management, and application
US8112598B2 (en) Apparatus and method for controlling copying
JP2017004502A (ja) 情報システムおよびアップデート方法
JP6755680B2 (ja) データ移行システム、及び、データ移行システムの制御方法
JP2007264904A (ja) プログラム自動更新システム
US20150135004A1 (en) Data allocation method and information processing system
KR102422189B1 (ko) 인쇄 시스템의 에러 발생시 인쇄작업을 관리하는 방법 및 이를 수행하기 위한 장치
JP4375121B2 (ja) データベース管理システムにおける処理代行方法
JP2018181194A (ja) 情報処理装置、情報処理システム、及び制御プログラム
US10866756B2 (en) Control device and computer readable recording medium storing control program
WO2014155654A1 (ja) 情報処理装置及び情報処理装置の交換支援システム並びに交換支援方法
JP7013988B2 (ja) 制御装置、制御方法、制御プログラム、及び制御システム
US20180150336A1 (en) Management system and control method
JP5262492B2 (ja) クラスタシステム及びコマンド競合制御方法
US10929250B2 (en) Method and system for reliably restoring virtual machines
WO2024000535A1 (zh) 分区表更新方法、装置、电子设备及存储介质