(57)【要約】      （修正有）【課題】複数のクライアントがネットワークにより接続され、共通のＯＳを参照するシステムにおいて、共通のＯＳ領域のアップデートを、個々のクライアントの動作に影響をあたえることなく行える計算機システムを提供する。【解決手段】ＯＳアップデートにより更新されてしまうファイルを差分データとして保存し、クライアントがリブートするまでは、ＯＳ領域参照マップにより、透過的に更新前の差分データを参照することで、共通環境のＯＳのアップデート後もアップデート前のＯＳ領域を参照する機構をそなえた計算機システムにより解決する。【選択図】図２
2010186356.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークと計算機（管理サーバおよびクライアント）と各クライアントから参照可能な共用記憶装置とからなり、オペレーティングシステム領域を、クライアントごとに持つことなく、共用記憶装置上に持ち、共用記憶装置上のオペレーティングシステムで起動したクライアントが動作中に、その動作に影響をあたえることなく、共用記憶装置上のオペレーティングシステムのアップデートを可能とすることを特徴とする計算機システム。
【請求項２】
請求項１の計算機システムにおいて、アップデート後のオペレーティングシステムと、各クライアントで動作中のオペレーティングシステムとの差分を個々に格納し、各クライアントがオペレーティングシステム領域参照時に、各クライアントのアップデート状態に応じたオペレーティングシステム環境を参照可能とすることで、アップデート状態の異なるオペレーティングシステムのクライアントが混在可能であることを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムが動作する上で必要となるオペレーティングシステムを管理するための方法およびその変更を計算機システムの動作に影響を与えることなく実行できるシステムに関するものである。
【背景技術】
【０００２】
従来は、特開２００６−１１５４１号公報の記載のように、オペレーティングシステムを共有する計算機システムでは、個々のクライアントに応じたオペレーティングの差分をファイルとして管理するものの、オペレーティングシステムの更新後は、それを参照している各クライアントは、直ちにシステムを再起動する必要があった。
【０００３】
上記従来技術は、オペレーティングシステムの共通化による資源の効率化、個々のクライアントに応じたオペレーティングシステム環境を提供する機能は備えているが、各クライアントが動作中に共通オペレーティングシステム環境の変更を行った場合の、動作中のクライアントへの影響が考慮されていなかった。例えば、クライアントが動作中に、共通環境を参照した際に、参照した部分のみオペレーティングシステムの更新中であった場合、更新により本来アップデートされる領域の一部しか更新されていない状態となり、内部矛盾が発生し、システムダウンやデータ破壊などの重篤な症状を発生させる危険性があるという問題があった。
【０００４】
このため、本発明の目的である、クライアントが動作中に共通オペレーティングシステム環境の更新を行える計算機システムを提供することができなかった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１１５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする目的は、複数のクライアントが共通のオペレーティングシステムで動作するシステムにおいて、オペレーティングシステムのアップデートを、個々のクライアントの動作に影響をあたえることなく行える計算機システムを提供することを特徴とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、オペレーティングシステムをアップデート時の、クライアントごとのオペレーティングシステムの差分を個々に管理し、クライアントからのオペレーティングシステム領域を参照する際、共通のオペレーティングシステムと差分から、一つのオペレーティングシステム領域のように透過的に参照するためのマップファイルにより、各クライアントが、個々の差分を意識することなくオペレーティングシステム領域を参照する機能を備えたものである。
【発明の効果】
【０００８】
本発明によれば、クライアントの動作を停止することなく、オペレーティングシステムをアップデートすることができる利点がある。さらに、本発明によれば、多くクライアントからなるシステムであっても、オペレーティングシステムのアップデート作業は、１つの環境に対してのみ実施すればよいという利点がある。さらに、オペレーティングシステムを格納するのに必要な記憶装置の領域が、１つのオペレーティングシステムと各クライアントの差分をあわせた領域のみとなるため、記憶装置を削減できるという利点がある。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施方法のハードウェア構成を示した説明図である。
【図２】図１で示した構成の各要素を詳細に示した説明図である。
【図３】ＯＳ領域参照マップの詳細を示した説明図である。
【図４】クライアント状態管理テーブルの詳細を示した説明図である。
【図５】ＯＳアップデートの処理の流れを示した説明図である。
【図６】クライアントをリブートした時の処理の流れを示した説明図である。
【図７】ＯＳ参照マップとクライアント状態管理テーブルによる、ＯＳのアップデート時の管理例を示した説明図である。
【図８】ＯＳ参照マップとクライアント状態管理テーブルによる、ＯＳのアップデート時の管理例を示した説明図である。
【図９】ＯＳ参照マップとクライアント状態管理テーブルによる、ＯＳのアップデート時の管理例を示した説明図である。
【図１０】ＯＳ参照マップとクライアント状態管理テーブルによる、ＯＳのアップデート時の管理例を示した説明図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
【００１１】
図１は、本発明における実施例である計算機システムのハードウェアの構成を示すものである。管理サーバ１０１と複数のクライアント１１０が、ＬＡＮ１２６により接続されており、さらにＳＡＮ１２５に接続した共用記憶装置１１５で実現されている。なお、本例では、共用記憶装置をＳＡＮ環境で共用する実施例を示したが、同一筐体内の仮想的に分離されたシステムで共用できる記憶装置であってもよい。
【００１２】
図２は、図１の構成要素の機能を示したものである。管理サーバ１０１は、メモリ１０８とＣＰＵ１０９、ＦＣ(ファイバチャネル)Ｉ／Ｆ１１６、ネットワークＩ／Ｆ１１７から構成され、ＯＳアップデート要求時に、メモリ１０８中のＯＳアップデート処理部１０２により、更新されるファイルを抽出後、ブートイメージ１２０と共通ＯＳ領域１２１を更新する。
【００１３】
クライアント管理部１０３のＯＳ差分管理部１０４は、ＯＳアップデート処理部で抽出した更新されるファイルを、クライアントＯＳ差分データ１２２に格納する。
【００１４】
ＯＳ領域参照マップ管理部１０５は、クライアントＯＳ差分データをもとに、ＯＳ参照マップ管理領域１０６の各クライアントのＯＳ領域参照マップ１０７を更新する。ＯＳ領域参照マップ１０７は、クライアントが動作しているアップデート前の状態のＯＳファイルを参照するために、更新前のファイルが格納されたクライアントＯＳ差分データ１２２のファイルを対応づけるマップである。
【００１５】
更新状態管理テーブル１１４は、各クライアントのＯＳアップデート状態を保持する。
【００１６】
クライアント１１０は、メモリ１０８上ブートイメージ取得部１１１が、クライアントの電源が投入されたときに、ブートイメージ１２０を取得しブートを開始する。ＯＳ領域参照マップ取得部１１２は、管理サーバ１０１のＯＳ領域参照マップ管理部１０５経由でＯＳ領域参照マップ１０７を取得する。クライアントは、取得したＯＳ領域参照マップによりＯＳ領域を参照し、クライアントごとに異なる固有のデータは、クライアント固有データ１２３に格納する。
【００１７】
図３は、ＯＳ領域参照マップ１０７の実施例を示したものである。ＯＳ領域参照マップは、クライアントに対応して作成され、ＯＳアップデートにより更新されたファイルを示す更新ファイル４０２と、それに対応して、クライアントが現在起動中のＯＳで参照する更新前のファイルの格納先を示す参照先４０３からなり、クライアントがＯＳ領域を参照する際、更新ファイル４０２に登録されたファイルであれば、参照先４０３に登録されたファイルを参照するように変更する。なお、この実施例では、ファイル単位でのＯＳ参照マップを示しているが、アップデート前後の差分管理可能であれば、ファイル単位でなくてもよい。
【００１８】
図４は、更新状態管理テーブル１１４を示したものである。各クライアントを識別するための識別子５０２と、各クライアント個別のＯＳ領域参照マップの格納先５０３と、クライアントの更新状態５０４からなり、ＯＳアップデート後の各クライアントの更新状態を管理する。
【００１９】
図５は、ＯＳアップデートの流れを示す。共通ＯＳ領域のアップデート要求を受けると、ＯＳアップデート処理部は、アップデートにともない新しく更新されるファイルを抽出する（ステップ２０１）。クライアント管理部では、それぞれのクライアントが参照しているＯＳ領域参照マップと抽出された更新ファイルをもとに、クライアントごとに差分管理が必要な差分ファイルを抽出する（ステップ２０２）。抽出した差分ファイルを、共通ＯＳ領域から複製し、クライアントＯＳ差分データ領域に格納する（ステップ２０３）。ＯＳ領域参照マップ管理部は、ＯＳ差分データ領域格納したファイルを参照するための対応づけを、ＯＳ領域参照マップに追加し（ステップ２０４）、クライアントの状態を未更新に設定する（ステップ２０６）。全てのクライアントで同一処理を実施後、共通ＯＳ領域の更新を行う（ステップ２０７）。最後に、ブートイメージの更新を行う（ステップ２０８）。
【００２０】
図６は、未更新状態のクライアントが、リブートする時の処理の流れを示す。クライアントのリブート開始後、ブートイメージ取得部により、ブートイメージが取得される（ステップ３０５）。ブート開始をネットワーク経由で管理サーバに通知する（ステップ３０６）。
【００２１】
管理サーバでは、クライアントからのブート開始通知後、クライアントのＯＳ領域参照マップを初期化する（ステップ３０１）。続いて、管理するクライアントの更新状態を更新済に変更し（ステップ３０２）、ＯＳ差分管理領域を破棄する（ステップ３０３）。
【００２２】
クライアントは、管理サーバからＯＳ領域参照マップを取得する（ステップ３０７）。ブートイメージにより、ＯＳ領域参照マップを使用して、ブート処理が実行される（ステップ３０８）。
【００２３】
図７から図１０までは、ＯＳ領域参照マップと更新状態管理テーブルをクライアントごとに持つことで、アップデート状態の異なるオペレーティングシステムで動作する、２つのクライアントの管理例を示したものである。
【００２４】
図７は、いずれのクライアントとも最新のＯＳで動作している状態を示す。クライアント更新状態管理テーブル１１４には、クライアントＩＤ５０２が、”0101”と”0102”の２つのクライアントが登録されており、どちらの状態５０４とも”更新済”となっている。また、それぞれ参照するＯＳ領域参照マップ５０３は、更新ファイルが登録されていない状態のＯＳ領域参照マップ１０７となる。このＯＳ参照マップによるＯＳ領域の参照は、最新の共通ＯＳ領域を参照する。
【００２５】
図８は、図７の状態の時に、クライアントの動作中に、ＯＳアップデートにより、共通ＯＳ領域のファイルが更新された状態である。更新ファイル一覧５０５のファイル更新要求があると、両方クライアントとも動作中のため、ＯＳ領域参照マップ１０７の更新ファイル４０２欄に、更新ファイルそれぞれに対応したエントリが追加され、クライアントＯＳ差分データ領域に格納されたファイルの格納先を、参照先４０３に登録し、クライアント更新状態管理テーブル１１４の状態５０４を”未更新”に変更する。
【００２６】
図９は、図８の状態から、クライアントＩＤ０１０１のクライアントをリブートした後の状態を示したものである。クライアントＩＤ０１０１のクライアントのＯＳ領域参照マップ１０７は初期化され、更新ファイル４０２にファイルが登録されていない状態となり、クライアント更新状態管理テーブル１１４の状態５０４を”更新済”に変更する。
【００２７】
図１０は、図９の状態に新たにＯＳのアップデートをし、更新ファイル一覧５０５のファイルが更新された状態である。このアップデートでは、最初のアップデートで更新されたファイルをさらに更新するため、最初のアップデート状態から未更新のクライアントＩＤ０１０２のクライアントが参照するＯＳ領域参照マップ１０７では、２回目のアップデートで更新されるファイル（本例では、更新ファイル一覧５０５の”/lib/libxxxA.a (V1)”ではなく、最初のアップデートでクライアントＯＳ差分データ領域に格納されたファイル（本例では、”/lib/libxxxA.a (V0)”）をそのまま参照先とすることで、そのファイルを参照する別のファイルとの整合性を保つ。
【符号の説明】
【００２８】
１０１…計算機（サーバ）、１０２…ＯＳアップデート処理部、１０３…クライアント管理部、１０４…ＯＳ差分管理部、１０５…ＯＳ領域参照マップ管理部、１０６…ＯＳ領域参照マップ管理領域、１０７…ＯＳ領域参照マップ、１１０…計算機（クライアント）、１１１…ブートイメージ取得部、１１２…ＯＳ領域参照マップ取得部、１１４…更新状態管理テーブル、１１５…共用記憶装置、１２０…ブートイメージ、１２１…共通ＯＳ領域、１２２…クライアントＯＳ差分データ、１２３…クライアント固有データ、１２５…ＳＡＮ（Storage Area Network）、１２６…ＬＡＮ。
【図１】
2010186356.tif 000003
【図２】
2010186356.tif 000004
【図３】
2010186356.tif 000005
【図４】
2010186356.tif 000006
【図５】
2010186356.tif 000007
【図６】
2010186356.tif 000008
【図７】
2010186356.tif 000009
【図８】
2010186356.tif 000010
【図９】
2010186356.tif 000011
【図１０】
2010186356.tif 000012