説明

サーバシステム及びソフトウェア更新方法

【課題】 ミッションクリティカルシステムに適用可能な同期化されたソフトウェア更新を行う。
【解決手段】 サーバ40のHDD41に格納されているソフトウェアを予備系サーバであるサーバ50,70のHDD50,71に格納し、ソフト更新部44によってサーバ50,70に対して現在動作しているソフトウェアから新たに格納されたソフトウェアへの更新を指示し、その指示によってソフト更新部54,74にてソフトウェアの更新を行い、系管理部45によってソフトウェア更新が行われたサーバ50,70を運用系サーバへの系切り替えを指示し、その指示によって系管理部55,75においてサーバ50,70を運用系サーバへの系切り替えを一斉に行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上でソフトウェアによって動作するサーバシステム及びソフトウェア更新方法に関する。
【背景技術】
【0002】
従来より、複数のサーバを有するサーバシステムにおいて、サーバ上で動作するソフトウェアの更新を行う場合、1つのサーバがマスターとなり、他の複数のサーバがスレーブとなるようなサーバ・クライアント方式のサーバシステムにおいては、マスターとなるサーバからスレーブとなる他の複数のクライアントサーバの各磁気ディスク装置等の記憶手段に新ソフトウェアを転送・格納し、その後、各クライアントサーバ毎にソフトウェア更新を行っている(例えば、特許文献1参照。)。つまり、複数のクライアントサーバについては、サーバ単位でソフトウェアの更新が行われていることとなる。
【0003】
また、サーバを運用系サーバと予備系サーバとの二重化構成とし、運用系サーバによって新ソフトウェアを予備系サーバへ転送して起動し、新ソフトウェアの動作を確認した後、予備系サーバを運用系サーバへ、また運用系サーバを予備系サーバへ切り替える方法が考えられている(例えば、特許文献2参照。)。
【特許文献1】特開平06−309261号公報
【特許文献2】特開平08−106399号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載された方法においては、サーバが一重化構成であるため、サーバシステムが負荷分散システムである場合はソフトウェア更新中には処理能力が低下し、サーバシステムの各サーバが異なる機能エンティティを有する場合は各サーバのソフトウェア更新中にサーバシステムの処理が一時的に停止してしまうという問題点がある。また、各サーバのソフトウェア更新がシーケンシャルに行われるため、サーバシステムのソフトウェア更新開始から完了までの間に新ソフトウェアで稼動するサーバと旧ソフトウェアで稼動するサーバとが混在してしまい、そのため新旧のソフトウェアが混在の状態においても正常に動作する複雑なソフトウェアを開発しなければならないという問題点がある。
【0005】
また、特許文献2に記載された方法においては、複数の二重化構成のサーバが存在した場合、各運用系サーバがそれぞれ独立して各予備系サーバに対して新ソフトウェアを転送して起動するため、サーバシステムにおける新ソフトウェアの転送及び起動を同期して行うことができず、同期化されたソフトウェア更新を行うことができないという問題点がある。
【0006】
上述したような問題が生じることによって、サーバシステムが一時停止してしまったり、同期化されたソフトウェアの更新ができずに新旧のソフトウェア混在での動作になったりしてしまうと、企業において様々な業務の中核を担う情報システムであるミッションクリティカルシステムにおいては、信用の失墜等の経営的に大きなダメージを受けてしまうため、本サーバシステムを適用することができないという問題に発展してしまう。
【0007】
本発明は、上述したような従来の技術が有する問題点を鑑みてなされたものであって、ミッションクリティカルシステムに適用可能な同期化されたソフトウェア更新ができるサーバシステム及びソフトウェア更新方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために本発明は、
運用系サーバと予備系サーバとの2つの運用系を排他的にとるサーバの組を複数有し、前記複数のサーバ上で動作するソフトウェアを更新するサーバシステムであって、
前記運用系サーバのうちいずれか1つのサーバによって、前記サーバの組が有する全ての予備系サーバへ更新用ソフトウェアを転送し、前記全ての予備系サーバ上で動作するソフトウェアを前記更新用ソフトウェアへ更新し、前記更新用ソフトウェアへ更新された予備系サーバと前記サーバの組が有する全ての運用系サーバとの運用系を一斉に切り替える。
【0009】
また、前記運用系サーバ及び前記予備系サーバのそれぞれは、
当該サーバ上で動作するソフトウェアを格納する格納手段と、
当該サーバ上で動作するソフトウェアを前記更新用ソフトウェアへ更新するソフト更新手段と、
当該サーバの運用系を切り替える系管理手段とを有することを特徴とする。
【0010】
また、前記系管理手段は、当該サーバの運用系を、他の運用系をとるサーバの運用系と排他的な運用系に切り替えることを特徴とする。
【0011】
また、運用系サーバと予備系サーバとの2つの運用系を排他的にとるサーバの組を複数有し、前記複数のサーバ上で動作するソフトウェアを更新するサーバシステムにおけるソフトウェア更新方法であって、
前記運用系サーバのうちいずれか1つのサーバによって、前記サーバの組が有する全ての予備系サーバへ更新用ソフトウェアを転送する処理と、
前記全ての予備系サーバ上で動作するソフトウェアを前記更新用ソフトウェアへ更新する処理と、
前記更新用ソフトウェアへ更新された予備系サーバと前記サーバの組が有する全ての運用系サーバとの運用系を一斉に切り替える処理とを有する。
【0012】
また、当該サーバの運用系を、他の運用系をとるサーバの運用系と排他的な運用系に切り替えることを特徴とする。
【0013】
上記のように構成された本発明においては、運用系サーバのうちいずれか1つのサーバによって、サーバの組が有する全ての予備系サーバへ更新用ソフトウェアが転送され、全ての予備系サーバ上で動作するソフトウェアが更新用ソフトウェアへ更新され、更新用ソフトウェアへ更新された予備系サーバとサーバの組が有する全ての運用系サーバとの運用系が一斉に切り替えられる。
【0014】
このように、1つのサーバによって全ての予備系サーバに対して新しいソフトウェアの転送、更新、運用系切り替えといったソフトウェア更新に必要な一連の手順を行うため、それぞれの予備系サーバにてソフトウェアの更新を行った後に運用系の切り替えを開始するタイミングを計るための処理が不要となり、また、新しいソフトウェアに更新された全ての予備系サーバを運用系サーバへ一斉に切り替えるため、複数のサーバ間にて同期したソフトウェア更新が実現可能となる。
【発明の効果】
【0015】
以上説明したように本発明においては、運用系サーバのうちいずれか1つのサーバが、サーバの組が有する全ての予備系サーバへ更新用ソフトウェアを転送し、全ての予備系サーバ上で動作するソフトウェアを更新用ソフトウェアへ更新し、更新用ソフトウェアへ更新された予備系サーバとサーバの組が有する全ての運用系サーバとの運用系を一斉に切り替える構成としたため、ミッションクリティカルシステムに適用可能な同期化されたソフトウェア更新ができる。
【発明を実施するための最良の形態】
【0016】
以下に、本発明の実施の形態について図面を参照して説明する。
【0017】
図1は、本発明のサーバシステムの実施の一形態を示す図である。
【0018】
図1に示すように、本形態のサーバシステム10には、ネットワーク80に接続され、冗長構成を有する制御組20と、制御組20によってソフトウェア更新の制御が行われる被制御組30とが設けられている。さらに、制御組20は、サーバ40と、サーバ40と二重化構成を取るサーバ50とから構成されている。また、被制御組30は、サーバ60と、サーバ60と二重化構成を取るサーバ70とから構成されている。さらに、サーバ40は、他のサーバとの間においてソフトウェアの更新を制御するための信号及びデータの送受信を行う送受信部42と、ソフトウェア等を格納する格納手段であるHDD41と、HDD41にアクセスする制御を行うHDDアクセス部43と、HDD41に格納されているソフトウェアを更新するソフト更新部44と、サーバ40の系を制御する系管理部45とから構成されている。また、サーバ50は、他のサーバとの間においてソフトウェアの更新を制御するための信号及びデータの送受信を行う送受信部52と、ソフトウェア等を格納する格納手段であるHDD51と、HDD51にアクセスする制御を行うHDDアクセス部53と、HDD51に格納されているソフトウェアを更新するソフト更新部54と、サーバ50の系を制御する系管理部55とから構成されている。なお、系管理部45と、系管理部55とにおいて、一方にて運用系であることが設定されると、排他論理が働いて他方にて予備系であることが設定される。また、一方にて予備系であることが設定されると、排他論理が働いて他方にて運用系であることが設定される。また、サーバ60は、他のサーバとの間においてソフトウェアの更新を制御するための信号及びデータの送受信を行う送受信部62と、ソフトウェア等を格納する格納手段であるHDD61と、HDD61にアクセスする制御を行うHDDアクセス部63と、HDD61に格納されているソフトウェアを更新するソフト更新部64と、サーバ60の系を制御する系管理部65とから構成されている。また、サーバ70は、他のサーバとの間においてソフトウェアの更新を制御するための信号及びデータの送受信を行う送受信部72と、ソフトウェア等を格納する格納手段であるHDD71と、HDD71にアクセスする制御を行うHDDアクセス部73と、HDD71に格納されているソフトウェアを更新するソフト更新部74と、サーバ70の系を制御する系管理部75とから構成されている。なお、系管理部65と、系管理部75とにおいて、一方にて運用系であることが設定されると、排他論理が働いて他方にて予備系であることが設定される。また、一方にて予備系であることが設定されると、排他論理が働いて他方にて運用系であることが設定される。
【0019】
以下に、図1に示したサーバシステム10におけるソフトウェア更新方法について説明する。
【0020】
図2は、図1に示したサーバシステム10におけるソフトウェア更新方法を説明するためのシーケンス図である。
【0021】
ソフトウェア更新に使用される更新用ソフトウェアである新ソフトウェアがサーバ40のHDD41に予め格納されている。HDD41には、ネットワーク80を介して送信されてきた新ソフトウェアが格納されていても良いし、サーバ40に記憶媒体用のドライブを設け、設けられたドライブによってCD−ROMやMO等の移動可能な記憶媒体に書き込まれた新ソフトウェアが読み出され、読み出された新ソフトウェアがHDD41に格納されるものであっても良い。
【0022】
また、現在制御組20においては、サーバ40が運用系サーバとして稼動しており、サーバ50が予備系サーバとして稼動しており、また、被制御組30においては、サーバ60が運用系サーバとして稼動しており、サーバ70が予備系サーバとして稼動しているとする。
【0023】
HDD41に格納されている新ソフトウェアがHDDアクセス部43によって読み出され、読み出された新ソフトウェアが送受信部42によってサーバ50へ送信されると(ステップS1)、サーバ50の送受信部52にて新ソフトウェアが受信され(ステップS2)、受信された新ソフトウェアがHDDアクセス部53によってHDD51に格納される(ステップS3)。
【0024】
新ソフトウェアがHDD51に格納されると、転送完了応答信号がHDDアクセス部53によって生成され、生成された転送完了応答信号が送受信部52によってサーバ40へ送信される(ステップS4)。そして、サーバ40へ送信された転送完了応答信号がサーバ40の送受信部42にて受信されると(ステップS5)、その旨がHDDアクセス部43へ通知され、新ソフトウェアがHDD51に格納されたことがHDDアクセス部43にて認識される。
【0025】
次に、HDD41に格納されている新ソフトウェアがHDDアクセス部43によって読み出され、読み出された新ソフトウェアが送受信部42によってサーバ60へ送信される(ステップS6)。サーバ60へ送信された新ソフトウェアがサーバ60の送受信部62にて受信され(ステップS7)、受信された新ソフトウェアがHDDアクセス部63によってHDD61に格納される(ステップS8)。
【0026】
新ソフトウェアがHDD61に格納されると、転送完了応答信号がHDDアクセス部63によって生成され、生成された転送完了応答信号が送受信部62によってサーバ40へ送信される(ステップS9)。そして、サーバ40へ送信された転送完了応答信号がサーバ40の送受信部42にて受信されると(ステップS10)、その旨がHDDアクセス部43へ通知され、新ソフトウェアがHDD61に格納されたことがHDDアクセス部43にて認識される。
【0027】
次に、HDD41に格納されている新ソフトウェアがHDDアクセス部43によって読み出され、読み出された新ソフトウェアが送受信部42によってサーバ70へ送信される(ステップS11)。サーバ70へ送信された新ソフトウェアがサーバ70の送受信部72にて受信され(ステップS12)、受信された新ソフトウェアがHDDアクセス部73によってHDD71に格納される(ステップS13)。
【0028】
新ソフトウェアがHDD71に格納されると、転送完了応答信号がHDDアクセス部73によって生成され、生成された転送完了応答信号が送受信部72によってサーバ40へ送信される(ステップS14)。そして、サーバ40へ送信された転送完了応答信号がサーバ40の送受信部42にて受信されると(ステップS15)、その旨がHDDアクセス部43へ通知され、新ソフトウェアがHDD71に格納されたことがHDDアクセス部43にて認識される。
【0029】
このようにして、制御組20の運用系サーバであるサーバ40から、サーバ40とネットワーク80を介して接続されているサーバ50,60,70への新ソフトウェアの転送が完了する。
【0030】
次に、制御組20にて予備系サーバとして稼動しているサーバ50及び被制御組30にて予備系サーバとして稼動しているサーバ70のソフトウェア更新の処理が開始される。
【0031】
まず最初に、サーバ40のソフト更新部44によってソフトウェア更新命令信号が生成され、生成されたソフトウェア更新命令信号が送受信部42によってサーバ50へ送信される(ステップS16)。サーバ50へ送信されたソフトウェア更新命令信号がサーバ50の送受信部52にて受信され(ステップS17)、受信されたソフトウェア更新命令信号がソフト更新部54によって認識され、HDD51に格納されている新ソフトウェアが起動され、サーバ50を制御するソフトウェアが、今まで動作していた旧ソフトウェアから新ソフトウェアに更新される(ステップS18)。新ソフトウェアへの更新が完了すると、ソフトウェア更新完了応答信号がソフト更新部54によって生成され、生成されたソフトウェア更新完了応答信号が送受信部52によってサーバ40へ送信される(ステップS19)。そして、サーバ40へ送信されたソフトウェア更新完了応答信号がサーバ40の送受信部42にて受信されると(ステップS20)、その旨がソフト更新部44へ通知され、サーバ50においてソフトウェアが更新されたことがソフト更新部44にて認識される。
【0032】
次に、サーバ40のソフト更新部44によってソフトウェア更新命令信号が生成され、生成されたソフトウェア更新命令信号が送受信部42によってサーバ70へ送信される(ステップS21)。サーバ70へ送信されたソフトウェア更新命令信号がサーバ70の送受信部72にて受信され(ステップS22)、受信されたソフトウェア更新命令信号がソフト更新部74によって認識され、HDD71に格納されている新ソフトウェアが起動され、サーバ70を制御するソフトウェアが、今まで動作していた旧ソフトウェアから新ソフトウェアに更新される(ステップS23)。新ソフトウェアへの更新が完了すると、ソフトウェア更新完了応答信号がソフト更新部74によって生成され、生成されたソフトウェア更新完了応答信号が送受信部72によってサーバ40へ送信される(ステップS24)。そして、サーバ40へ送信されたソフトウェア更新完了応答信号がサーバ40の送受信部42にて受信されると(ステップS25)、その旨がソフト更新部44へ通知され、サーバ70においてソフトウェアが更新されたことがソフト更新部44にて認識される。
【0033】
このようにして、制御組20にて予備系サーバとして稼動しているサーバ50及び被制御組30にて予備系サーバとして稼動しているサーバ70において、ソフトウェアの更新が完了する。
【0034】
予備系サーバのソフトウェアが更新されると、運用系の切り替えの処理が開始される。運用系の切り替え処理とは、予備系サーバであるサーバを運用系サーバに、また運用系サーバであるサーバを予備系サーバに切り替える処理である。
【0035】
まずは、サーバ40内の系管理部45にて、サーバシステム10内の自身の組以外の組についての運用系切り替えのプロセスが生成される(ステップS26)。本形態においては、自身の組が制御組20に該当するため自身の組以外の組である被制御組30についての運用系切り替えプロセスが生成されることとなる。このプロセスとは、後述するステップS27の処理である。
【0036】
系管理部45にて生成されたプロセスに従って、系管理部45によって被制御組30の運用系切り替えを行うために運用系サーバ切り替え命令信号が生成され、生成された運用系サーバ切り替え命令信号が送受信部42によってサーバ60へ送信される(ステップS27)。送信された運用系サーバ切り替え命令信号がサーバ60の送受信部62にて受信され(ステップS28)、受信された運用系サーバ切り替え命令信号が系管理部65によって認識されると、系管理部65にてサーバ60の系が運用系から予備系に切り替えられ、同時にサーバ70の系が予備系から運用系に切り替えられる(ステップS29)。ここで、系管理部65においては系を切り替えるための信号について排他論理が組まれており、この排他論理によって生成される一方の系と他方の系との間における信号である交絡信号を生成するための論理回路または論理プログラムが設けられており、この交絡信号が一方の系から他方の系へ送信されることにより、一方の系と他方の系とが瞬時に排他的な系状態に切り替わることを実現可能としている。
【0037】
一方、制御組20においても運用系切り替えを行うために、サーバ40の系管理部45にてサーバ40の系が運用系から予備系に切り替えられ、同時にサーバ50の系が予備系から運用系に切り替えられる(ステップS30)。系管理部45においても系管理部65と同様に、系を切り替えるための信号について排他論理が組まれている。なお、ステップS27の処理とステップS30の処理とは、説明上シリアル処理で記述しているが、サーバ40上にて並行して処理される。また、ステップS27及びステップS28の処理に要する時間が非常に短いため、ステップS29の処理とステップS30の処理とは同時に実行されるとみなすことができる。
【0038】
以上の処理により、制御組20についてはサーバ50が運用系サーバとして新ソフトウェアで稼動され、また被制御組30についてはサーバ70が運用系サーバとして新ソフトウェアで稼動されることにより、サーバシステム10にて運用系サーバとして稼動しているサーバにおけるソフトウェア更新が一斉に同期して行われたこととなる。
【0039】
次に、制御組20にて運用系サーバとなったサーバ50によって、制御組20にて予備系サーバとなったサーバ40及び被制御組30にて予備系サーバとなったサーバ60のソフトウェアを新ソフトウェアに更新する処理が開始される。
【0040】
サーバ50のソフト更新部54によってソフトウェア更新命令信号が生成され、生成されたソフトウェア更新命令信号が送受信部52によってサーバ40へ送信される(ステップS31)。サーバ40へ送信されたソフトウェア更新命令信号がサーバ40の送受信部42にて受信され(ステップS32)、受信されたソフトウェア更新命令信号がソフト更新部44によって認識され、HDD41に格納されている新ソフトウェアが起動され、サーバ40を制御するソフトウェアが、今まで動作していた旧ソフトウェアから新ソフトウェアに更新される(ステップS33)。新ソフトウェアへの更新が完了すると、ソフトウェア更新完了応答信号がソフト更新部44によって生成され、生成されたソフトウェア更新完了応答信号が送受信部42によってサーバ50へ送信される(ステップS34)。そして、サーバ50へ送信されたソフトウェア更新完了応答信号がサーバ50の送受信部52にて受信されると(ステップS35)、その旨がソフト更新部54へ通知され、サーバ40においてソフトウェアが更新されたことがソフト更新部54にて認識される。
【0041】
次に、サーバ50のソフト更新部54によってソフトウェア更新命令信号が生成され、生成されたソフトウェア更新命令信号が送受信部52によってサーバ60へ送信される(ステップS36)。サーバ60へ送信されたソフトウェア更新命令信号がサーバ60の送受信部62にて受信され(ステップS37)、受信されたソフトウェア更新命令信号がソフト更新部64によって認識され、HDD61に格納されている新ソフトウェアが起動され、サーバ60を制御するソフトウェアが、今まで動作していた旧ソフトウェアから新ソフトウェアに更新される(ステップS38)。新ソフトウェアへの更新が完了すると、ソフトウェア更新完了応答信号がソフト更新部64によって生成され、生成されたソフトウェア更新完了応答信号が送受信部62によってサーバ50へ送信される(ステップS39)。そして、サーバ50へ送信されたソフトウェア更新完了応答信号がサーバ50の送受信部52にて受信されると(ステップS40)、その旨がソフト更新部54へ通知され、サーバ60においてソフトウェアが更新されたことがソフト更新部54にて認識される。
【0042】
このようにして、制御組20にて予備系サーバとして稼動しているサーバ40及び被制御組30にて予備系サーバとして稼動しているサーバ60において、ソフトウェアの更新が完了する。その結果、サーバシステム10内の全てのサーバにおけるソフトウェア更新が完了したこととなる。
【0043】
以上、冗長構成を持つサーバの組については、制御する制御組20と、制御組20によって制御される被制御組30との間で主従関係を有するサーバシステムについて例を挙げて説明したが、各組の間で主従関係を有しないサーバシステムについても同様の処理が考えられる。以下に、各組の間で主従関係を有しないサーバシステムについて例を挙げて説明する。
【0044】
図3は、各組の間で主従関係を有さないサーバシステムの実施の一形態を示す図である。
【0045】
本形態は図3に示すように、サーバシステム110には、ネットワーク180に接続され、冗長構成を有する組120,130が設けられている。さらに、組120は、サーバ140と、サーバ140と二重化構成を取るサーバ150とから構成されている。また、組130は、サーバ160と、サーバ160と二重化構成を取るサーバ170とから構成されている。さらに、サーバ140は、他のサーバとの間においてソフトウェアの更新を制御するための信号及びデータの送受信を行う送受信部142と、ソフトウェア等を格納する格納手段であるHDD141と、HDD141にアクセスする制御を行うHDDアクセス部143と、HDD141に格納されているソフトウェアを更新するソフト更新部144と、サーバ140の系を制御する系管理部145とから構成されている。また、サーバ150は、他のサーバとの間においてソフトウェアの更新を制御するための信号及びデータの送受信を行う送受信部152と、ソフトウェア等を格納する格納手段であるHDD151と、HDD151にアクセスする制御を行うHDDアクセス部153と、HDD151に格納されているソフトウェアを更新するソフト更新部154と、サーバ150の系を制御する系管理部155とから構成されている。なお、系管理部145と、系管理部155とにおいて、一方にて運用系であることが設定されると、排他論理が働いて他方にて予備系であることが設定される。また、一方にて予備系であることが設定されると、排他論理が働いて他方にて運用系であることが設定される。また、サーバ160は、他のサーバとの間においてソフトウェアの更新を制御するための信号及びデータの送受信を行う送受信部162と、ソフトウェア等を格納する格納手段であるHDD161と、HDD161にアクセスする制御を行うHDDアクセス部163と、HDD161に格納されているソフトウェアを更新するソフト更新部164と、サーバ160の系を制御する系管理部165とから構成されている。また、サーバ170は、他のサーバとの間においてソフトウェアの更新を制御するための信号及びデータの送受信を行う送受信部172と、ソフトウェア等を格納する格納手段であるHDD171と、HDD171にアクセスする制御を行うHDDアクセス部173と、HDD171に格納されているソフトウェアを更新するソフト更新部174と、サーバ170の系を制御する系管理部175とから構成されている。なお、系管理部165と、系管理部175とにおいて、一方にて運用系であることが設定されると、排他論理が働いて他方にて予備系であることが設定される。また、一方にて予備系であることが設定されると、排他論理が働いて他方にて運用系であることが設定される。
【0046】
以下に、図3に示したサーバシステム110におけるソフトウェア更新方法について説明する。
【0047】
図4は、図3に示したサーバシステム110におけるソフトウェア更新方法を説明するためのシーケンス図である。なお、主従関係を有さない場合の処理の特徴を明示するために、ソフトウェア更新において、新ソフトウェアの障害が検出され、旧ソフトウェアに切り戻す処理を例に挙げて説明する。
【0048】
ソフトウェア更新に使用される更新用ソフトウェアである新ソフトウェアがサーバ140のHDD141に予め格納されている。HDD141には、ネットワーク180を介して送信されてきた新ソフトウェアが格納されていても良いし、サーバ140に記憶媒体用のドライブを設け、設けられたドライブによってCD−ROMやMO等の移動可能な記憶媒体に書き込まれた新ソフトウェアが読み出され、読み出された新ソフトウェアがHDD141に格納されるものであっても良い。
【0049】
また、現在組120においては、サーバ140が運用系サーバとして稼動しており、サーバ150が予備系サーバとして稼動しており、また、組130においては、サーバ160が運用系サーバとして稼動しており、サーバ170が予備系サーバとして稼動しているとする。
【0050】
HDD141に格納されている新ソフトウェアがHDDアクセス部143によって読み出され、読み出された新ソフトウェアが送受信部142によってサーバ150へ送信されると(ステップS101)、サーバ150の送受信部152にて新ソフトウェアが受信され(ステップS102)、受信された新ソフトウェアがHDDアクセス部153によってHDD151に格納される(ステップS103)。
【0051】
新ソフトウェアがHDD151に格納されると、転送完了応答信号がHDDアクセス部153によって生成され、生成された転送完了応答信号が送受信部152によってサーバ140へ送信される(ステップS104)。そして、サーバ140へ送信された転送完了応答信号がサーバ140の送受信部142にて受信されると(ステップS105)、その旨がHDDアクセス部143へ通知され、新ソフトウェアがHDD151に格納されたことがHDDアクセス部143にて認識される。
【0052】
次に、HDD141に格納されている新ソフトウェアがHDDアクセス部143によって読み出され、読み出された新ソフトウェアが送受信部142によってサーバ160へ送信される(ステップS106)。サーバ160へ送信された新ソフトウェアがサーバ160の送受信部162にて受信され(ステップS107)、受信された新ソフトウェアがHDDアクセス部163によってHDD161に格納される(ステップS108)。
【0053】
新ソフトウェアがHDD161に格納されると、転送完了応答信号がHDDアクセス部163によって生成され、生成された転送完了応答信号が送受信部162によってサーバ140へ送信される(ステップS109)。そして、サーバ140へ送信された転送完了応答信号がサーバ140の送受信部142にて受信されると(ステップS110)、その旨がHDDアクセス部143へ通知され、新ソフトウェアがHDD161に格納されたことがHDDアクセス部143にて認識される。
【0054】
次に、HDD141に格納されている新ソフトウェアがHDDアクセス部143によって読み出され、読み出された新ソフトウェアが送受信部142によってサーバ170へ送信される(ステップS111)。サーバ170へ送信された新ソフトウェアがサーバ170の送受信部172にて受信され(ステップS112)、受信された新ソフトウェアがHDDアクセス部173によってHDD171に格納される(ステップS113)。
【0055】
新ソフトウェアがHDD171に格納されると、転送完了応答信号がHDDアクセス部173によって生成され、生成された転送完了応答信号が送受信部172によってサーバ140へ送信される(ステップS114)。そして、サーバ140へ送信された転送完了応答信号がサーバ140の送受信部142にて受信されると(ステップS115)、その旨がHDDアクセス部143へ通知され、新ソフトウェアがHDD171に格納されたことがHDDアクセス部143にて認識される。
【0056】
このようにして、組120の運用系サーバであるサーバ140から、サーバ140とネットワーク180を介して接続されているサーバ150,160,170への新ソフトウェアの転送が完了する。
【0057】
次に、組120にて予備系サーバとして稼動しているサーバ150及び組130にて予備系サーバとして稼動しているサーバ170のソフトウェア更新の処理が開始される。
【0058】
まず最初に、サーバ140のソフト更新部144によってソフトウェア更新命令信号が生成され、生成されたソフトウェア更新命令信号が送受信部142によってサーバ150へ送信される(ステップS116)。サーバ150へ送信されたソフトウェア更新命令信号がサーバ150の送受信部152にて受信され(ステップS117)、受信されたソフトウェア更新命令信号がソフト更新部154によって認識され、HDD151に格納されている新ソフトウェアが起動され、サーバ150を制御するソフトウェアが、今まで動作していた旧ソフトウェアから新ソフトウェアに更新される(ステップS118)。新ソフトウェアへの更新が完了すると、ソフトウェア更新完了応答信号がソフト更新部154によって生成され、生成されたソフトウェア更新完了応答信号が送受信部152によってサーバ140へ送信される(ステップS119)。そして、サーバ140へ送信されたソフトウェア更新完了応答信号がサーバ140の送受信部142にて受信されると(ステップS120)、その旨がソフト更新部144に通知され、サーバ150においてソフトウェアが更新されたことがソフト更新部144にて認識される。
【0059】
次に、サーバ140のソフト更新部144によってソフトウェア更新命令信号が生成され、生成されたソフトウェア更新命令信号が送受信部142によってサーバ170へ送信される(ステップS121)。サーバ170へ送信されたソフトウェア更新命令信号がサーバ170の送受信部172にて受信され(ステップS122)、受信されたソフトウェア更新命令信号がソフト更新部174によって認識され、HDD171に格納されている新ソフトウェアが起動され、サーバ170を制御するソフトウェアが、今まで動作していた旧ソフトウェアから新ソフトウェアに更新される(ステップS123)。新ソフトウェアへの更新が完了すると、ソフトウェア更新完了応答信号がソフト更新部174によって生成され、生成されたソフトウェア更新完了応答信号が送受信部172によってサーバ140へ送信される(ステップS124)。そして、サーバ140へ送信されたソフトウェア更新完了応答信号がサーバ140の送受信部142にて受信されると(ステップS125)、その旨がソフト更新部144へ通知され、サーバ170においてソフトウェアが更新されたことがソフト更新部144にて認識される。
【0060】
このようにして、組120にて予備系サーバとして稼動しているサーバ150及び組130にて予備系サーバとして稼動しているサーバ170において、ソフトウェアの更新が完了する。
【0061】
予備系サーバのソフトウェアが更新されると、運用系の切り替えの処理が開始される。運用系の切り替え処理とは、予備系サーバであるサーバを運用系サーバに、また運用系サーバであるサーバを予備系サーバに切り替える処理である。
【0062】
まずは、サーバ140内の系管理部145にて、サーバシステム110内の自身の組以外の組についての運用系切り替えのプロセスが生成される(ステップS126)。本形態においては、自身の組が組120に該当するため自身の組以外の組である組130についての運用系切り替えプロセスが生成されることとなる。このプロセスとは、後述するステップS127の処理である。
【0063】
系管理部145にて生成されたプロセスに従って、系管理部145によって組130の運用系切り替えを行うために運用系サーバ切り替え命令信号が生成され、生成された運用系サーバ切り替え命令信号が送受信部142によってサーバ160へ送信される(ステップS127)。送信された運用系サーバ切り替え命令信号がサーバ160の送受信部162にて受信され(ステップS128)、受信された運用系サーバ切り替え命令信号が系管理部165によって認識されると、系管理部165にてサーバ160の系が運用系から予備系に切り替えられ、同時にサーバ170の系が予備系から運用系に切り替えられる(ステップS129)。ここで、系管理部165においては系を切り替えるための信号について排他論理が組まれており、この排他論理によって生成される一方の系と他方の系との間における信号である交絡信号を生成するための論理回路または論理プログラムが設けられており、この交絡信号が一方の系から他方の系へ送信されることにより、一方の系と他方の系とが瞬時に排他的な系状態に切り替わることを実現可能としている。
【0064】
一方、組120においても運用系切り替えを行うために、サーバ140の系管理部145にてサーバ140の系が運用系から予備系に切り替えられ、同時にサーバ150の系が予備系から運用系に切り替えられる(ステップS130)。系管理部145においても系管理部165と同様に、系を切り替えるための信号について排他論理が組まれている。なお、ステップS127の処理とステップS130の処理とは、説明上シリアル処理で記述しているが、サーバ140上にて並行して処理される。また、ステップS127及びステップS128の処理に要する時間が非常に短いため、ステップS129の処理とステップS130の処理とは同時に実行されるとみなすことができる。
【0065】
以上の処理により、組120についてはサーバ150が運用系サーバとして新ソフトウェアで稼動され、また組130についてはサーバ170が運用系サーバとして新ソフトウェアで稼動されることにより、サーバシステム110にて運用系サーバとして稼動しているサーバにおけるソフトウェアの更新が一斉に同期して行われたこととなる。
【0066】
その後、新ソフトウェアに更新され、運用系サーバとなったサーバ170にて新ソフトウェアが原因である障害が検出されたとする。この障害検出は、サーバ170内に障害検出手段(不図示)が設けられており、その障害検出手段によって新ソフトウェアが原因である障害が発生したと判断された場合である。なお、サーバ140,150,160についても同様の障害検出手段が設けられていることが望ましい。
【0067】
サーバ170内の障害検出手段にて新ソフトウェアが原因である障害が検出されると(ステップS131)、サーバ170内の系管理部175にて、サーバシステム110内の自身の組以外の組についての運用系切り替えのプロセスが生成される(ステップS132)。本形態においては、自身の組が組130に該当するため自身の組以外の組である組120についての運用系切り替えプロセスが生成されることとなる。このプロセスとは具体的には、後述するステップS133の処理である。
【0068】
系管理部175にて生成されたプロセスに従って、障害を発生させる新ソフトウェアで稼動している組120の運用系切り替えを行うために、系管理部175によって運用系サーバ切り替え命令信号が生成され、生成された運用系サーバ切り替え命令信号が送受信部172によってサーバ150へ送信される(ステップS133)。送信された運用系サーバ切り替え命令信号がサーバ150の送受信部152にて受信され(ステップS134)、受信された運用系サーバ切り替え命令信号が系管理部155によって認識されると、系管理部155にてサーバ150の系が運用系から予備系に切り替えられ、同時にサーバ140の系が予備系から運用系に切り替えられる(ステップS135)。ここで、系管理部155においては系を切り替えるための信号について排他論理が組まれており、この排他論理によって生成される一方の系と他方の系との間における信号である交絡信号を生成するための論理回路または論理プログラムが設けられており、この交絡信号が一方の系から他方の系へ送信されることにより、一方の系と他方の系とが瞬時に排他的な系状態に切り替わることを実現可能としている。
【0069】
一方、組130においても障害を発生させる新ソフトウェアで稼動しているため運用系切り替えを行うために、サーバ170の系管理部175にてサーバ170の系が運用系から予備系に切り替えられ、同時にサーバ160の系が予備系から運用系に切り替えられる(ステップS136)。系管理部175においても系管理部155と同様に、系を切り替えるための信号について排他論理が組まれている。なお、ステップS133の処理とステップS136の処理とは、説明上シリアル処理で記述しているが、サーバ170上にて並行して処理される。また、ステップS133及びステップS134の処理に要する時間が非常に短いため、ステップS135の処理とステップS136の処理とは同時に実行されるとみなすことができる。
【0070】
以上の処理により、組120については旧ソフトウェアで稼動しているサーバ140が運用系サーバとされ、また組130については旧ソフトウェアで稼動しているサーバ160が運用系サーバとされることにより、サーバシステム110にて動作するソフトウェアが新ソフトウェアから旧ソフトウェアへ一斉に同期して切り戻されることとなる。
【0071】
なお、組については2つの場合について説明したが、3つ以上の複数の組であっても同様の処理が可能であることは言うまでもない。
【図面の簡単な説明】
【0072】
【図1】本発明のサーバシステムの実施の一形態を示す図である。
【図2】図1に示したサーバシステムにおけるソフトウェア更新方法を説明するためのシーケンス図である。
【図3】各組の間で主従関係を有さないサーバシステムの実施の一形態を示す図である。
【図4】図3に示したサーバシステムにおけるソフトウェア更新方法を説明するためのシーケンス図である。
【符号の説明】
【0073】
10,110 サーバシステム
20 制御組
30 被制御組
40,50,60,70,140,150,160,170 サーバ
41,51,61,71,141,151,161,171 HDD
42,52,62,72,142,152,162,172 送受信部
43,53,63,73,143,153,163,173 HDDアクセス部
44,54,64,74,144,154,164,174 ソフト更新部
45,55,65,75,145,155,165,175 系管理部
80,180 ネットワーク
120,130 組

【特許請求の範囲】
【請求項1】
運用系サーバと予備系サーバとの2つの運用系を排他的にとるサーバの組を複数有し、前記複数のサーバ上で動作するソフトウェアを更新するサーバシステムであって、
前記運用系サーバのうちいずれか1つのサーバによって、前記サーバの組が有する全ての予備系サーバへ更新用ソフトウェアを転送し、前記全ての予備系サーバ上で動作するソフトウェアを前記更新用ソフトウェアへ更新し、前記更新用ソフトウェアへ更新された予備系サーバと前記サーバの組が有する全ての運用系サーバとの運用系を一斉に切り替えるサーバシステム。
【請求項2】
請求項1に記載のサーバシステムにおいて、
前記運用系サーバ及び前記予備系サーバのそれぞれは、
当該サーバ上で動作するソフトウェアを格納する格納手段と、
当該サーバ上で動作するソフトウェアを前記更新用ソフトウェアへ更新するソフト更新手段と、
当該サーバの運用系を切り替える系管理手段とを有することを特徴とするサーバシステム。
【請求項3】
請求項2に記載のサーバシステムにおいて、
前記系管理手段は、当該サーバの運用系を、他の運用系をとるサーバの運用系と排他的な運用系に切り替えることを特徴とするサーバシステム。
【請求項4】
運用系サーバと予備系サーバとの2つの運用系を排他的にとるサーバの組を複数有し、前記複数のサーバ上で動作するソフトウェアを更新するサーバシステムにおけるソフトウェア更新方法であって、
前記運用系サーバのうちいずれか1つのサーバによって、前記サーバの組が有する全ての予備系サーバへ更新用ソフトウェアを転送する処理と、
前記全ての予備系サーバ上で動作するソフトウェアを前記更新用ソフトウェアへ更新する処理と、
前記更新用ソフトウェアへ更新された予備系サーバと前記サーバの組が有する全ての運用系サーバとの運用系を一斉に切り替える処理とを有するソフトウェア更新方法。
【請求項5】
請求項4に記載のソフトウェア更新方法において、
当該サーバの運用系を、他の運用系をとるサーバの運用系と排他的な運用系に切り替えることを特徴とするソフトウェア更新方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2006−323485(P2006−323485A)
【公開日】平成18年11月30日(2006.11.30)
【国際特許分類】
【出願番号】特願2005−143994(P2005−143994)
【出願日】平成17年5月17日(2005.5.17)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】