(57)【特許請求の範囲】
【請求項１】
物理マシン上で仮想マシンが動作し、前記仮想マシン上で単一もしくは複数のソフトウェアがそれぞれ階層状に動作する場合に、前記物理マシン、前記仮想マシンとそれぞれの前記ソフトウェアを階層として、前記階層の管理権限をそれぞれ特定する仮想マシンレイヤ管理装置であって、
ユーザを識別する情報に対応付けて前記階層の範囲を表すインデックス情報である管理範囲を記憶するサービス管理記憶部と、
前記管理範囲と、当該管理範囲が示す前記階層ごとの管理権限を特定する為の情報を対応付けて記憶する管理権限管理記憶部と、
ユーザを識別する情報を受け付ける手段と、
前記ユーザを識別する情報に対応する管理範囲を前記サービス管理記憶部から特定する手段と、
前記特定された管理範囲に対応する各階層それぞれの管理権限の有無を、前記管理権限管理記憶部から特定する手段と
を備えた仮想マシンレイヤ管理装置。
【請求項２】
請求項１記載の仮想マシンレイヤ管理装置であって、
前記管理権限管理記憶部は、各管理範囲における複数の前記階層それぞれについての管理権限の有無を示す情報を記憶する仮想マシンレイヤ管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンのレイヤ管理の技術に関する。
【背景技術】
【０００２】
物理マシン上で仮想マシンを動作させる場合においては、その仮想マシン上にOS（オペレーションシステム）さらにそのOS上でミドルウェア、そのミドルウェア上でジョブアプリケーションと言ったように、各種ソフトウェアが階層構造を有し、管理・運営されることが一般的である。以下、本願明細書では、物理マシン、仮想マシン、および各ソフトウェアのそれぞれを階層ないしレイヤと表現する。
【０００３】
現在、クラウドサービスのように、この仮想マシン上で動作するジョブアプリケーションを、仮想マシンを管理する管理者が、ユーザへ貸し出して使用させるサービスがある。このようなサービス形態では、ユーザはジョブアプリケーションの使用はするが、ジョブアプリケーション、OS等のそれぞれの階層を管理をするのは管理者である。
【０００４】
ここで、仮想マシンの管理を行うためには、アクセス権限もしくは、管理権限を特定する必要がある。このような管理権限について、仮想リソースＩＤごとに管理権限の有無の情報を決めることで、仮想マシンのリソースに対する管理権限を設定することが特許文献１に開示されている。それにより、ユーザは仮想マシンのリソースを管理することができる。
【０００５】
また、階層構造を有するフォルダにアクセス権限を設定する技術について、特許文献２で開示されている。この特許文献２では、階層構造を持つフォルダの上位のフォルダのアクセス権限と同一もしくは弱いアクセス権限を下位のフォルダができた場合に設定する為に、フォルダアクセス権管理テーブルの中でフォルダ毎にアクセス権限を設定する旨について開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２０８９９９号公報
【特許文献２】特開２００４−６２７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のようにそれぞれの階層の管理は管理者が行っているのが現状であるが、しかしながら、今後この形態のサービスにおいて、ユーザ自身がそれぞれの階層を直接管理したいと思うニーズが高まると考えられる。具体的には、例えばユーザが直接使用するジョブアプリケーション層を管理をしたいと思う場合や、ジョブアプリケーション層から、さらにその下で動いているミドルウェア層までを管理したいと思う場合や、更にその下のOS層まで管理したい場合等、ユーザによって管理したい階層の範囲が異なった需要がでてくることが見込まれる。
【０００８】
この点については、特許文献１に開示されている技術では対応できない。特許文献１では、仮想マシンのリソースの管理権限をユーザへ与えることが開示されているが、このリソースとはＣＰＵ、メモリ等のひとつのカテゴリーをいい、階層構造を有しない。このように仮想マシン上で階層構造を考慮しない管理権限の方法はあるが、仮想マシンにおいて、階層構造を考慮して管理権限を設定する仕組みについて開示されたものはなく、実現しているものはまだない。
【０００９】
また、特許文献２に開示された技術を用いて、仮想システムでの各階層の管理権限（アクセス権限）を管理しようとすると、以下に示す課題が生じる。
【００１０】
特許文献２では、上位のフォルダの設定を変更した場合、フォルダの階層情報に基づいて下位にあたるフォルダを判別して、それぞれのフォルダ毎にアクセス権限を設定するようになっている。しかしながら、この場合、各フォルダについて、それぞれ１つずつにアクセス権限を特定する情報を設定するので、フォルダの下位の階層それぞれのアクセス権限を変更処理するのに手間がかかる。よって、これを仮想マシンに応用するとしても、ユーザの管理権限の範囲を変更したい場合において、管理権限を階層毎に管理権限の有無の情報を逐次書き換えねばならず手間がかかるという課題が生じる。
【課題を解決するための手段】
【００１１】
ユーザＩＤ等のユーザを特定する情報毎に管理する階層の範囲のインデックス情報である管理範囲を関連付けて記憶するサービス管理テーブルと、その管理範囲と、各層毎の管理権限の有無についての情報を関連付けて管理する管理範囲管理テーブルとを記憶し、これらふたつのテーブルの情報を照らし合わせて各ユーザが管理権限を有する階層を特定する。
【発明の効果】
【００１２】
階層の管理権限をユーザ毎に管理するに際し、その利便性が向上する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態におけるサービス管理テーブルを示す図である。
【図２】本発明の一実施形態における仮想ノード管理テーブルを示す図である。
【図３】本発明の一実施形態におけるユーザ管理テーブルを示す図である。
【図４】本発明の一実施形態における物理ノード管理テーブルを示す図である。
【図５】本発明の一実施形態における管理範囲管理テーブルを示す図である。
【図６】本発明の一実施形態におけるユーザ登録フローを示す図である。
【図７】本発明の一実施形態におけるシステム登録フローを示す図である。
【図８】本発明の一実施形態におけるユーザによるシステム構成の参照フロー図である。
【図９】本発明の一実施形態における特定システムの操作ロックフロー（センタ側操作）
【図１０】本発明の一実施形態における特定システムの操作ロック解除処理（センタ側操作）を示すフロー図である。
【図１１】本発明の一実施形態における特定システム操作ロック処理（バッチジョブ契機）を示すフロー図である。
【図１２】本発明の一実施形態における特定システムの操作ロック解除処理（バッチジョブ契機）を示すフロー図である。
【図１３】本発明の一実施形態におけるシステム全体構成を示す図である。
【図１４】本発明の一実施形態におけるシステム名管理テーブルを示す図である。
【図１５】本発明の一実施形態における階層範囲管理テーブルを示す図である。
【発明を実施するための形態】
【００１４】
以下に、図面を用いて、本発明の一実施の形態について説明する。
【００１５】
図１３のシステムの全体像で示すとおり、仮想マシンレイヤ管理装置004（以下本装置と呼ぶ）には一番下の層に物理マシン群が接続され、その上に仮想マシン、その上にＯＳ、その上にミドルウェア、その上にジョブアプリケーション（実際ユーザに直接使われるアプリ層を言い図１３ではジョブと表記）のように階層（レイヤ）の構造をとっている。この仮想マシンレイヤ装置001にそれぞれ、ユーザの仮想マシンシステムの管理者の端末であるユーザ管理者端末001、仮想マシンシステムの管理者側であるセンタ管理者端末002、エンドユーザの端末であるインターネット端末003等がそれぞれ接続される。
【００１６】
仮想マシンの階層の管理権限を特定する場合とは、例えば次のような場合がある。
【００１７】
（１）ユーザが仮想マシン以上の階層の管理権限を有する場合
つまりユーザ毎に仮想マシンが割当てられ、ユーザはその仮想マシン上でミドルウェア、ジョブアプリケーションを運用する。これにより、各ユーザは自由度の高いシステムを構築できるメリットがある。一方、サービス使用料は、仮想マシン全体でジョブ、ミドル、ＯＳを含む価格になるので高くなりるデメリットがある。
【００１８】
（２）ユーザがジョブアプリケーション層以上の管理権限を有する場合
つまり、各ユーザには同じ仮想マシン、ミドルウェアが与えられ、ユーザはジョブアプリケーション層を運用する。これによりユーザは仮想マシンを共有している為、ジョブアプリケーションあたりのサービス使用料は安い（システムの集約化）というメリットがある。つまり、ユーザにとっては管理権限を有する階層によってサービス提供費用が変わるので、費用対効果を鑑みて管理権限の欲しい階層を指定することになる。
【００１９】
また、各階層の管理権限の具体例を次に示す。仮想マシン層の管理権限を有するとは、例えば仮想マシンのメモリサイズ、CPUコア数、ストレージ容量等の変更を許容することを指す。また、物理マシン層とは、論理的なネットワークの設定などがある。ネットワークの経路を物理マシンの内部で、論理的に組む事ができ、たとえば、物理的にＡ−Ｂ、Ａ−Ｃと、Ａから二つのポイントに接続している状況で「Ａ−Ｂの経路を使用する」事を論理的に設定する事ができる。さらに、例えばファームウェアの設定することを想定しており、たとえばサーバの場合、BIOSという、サーバのファームウェアが存在し、BIOSの設定を変えると、サーバを起動した場合に読み込む装置（CDドライブか、その他のストレージかなど）を変更することができる。ミドルウェア層までの権限とは、OSやサーバソフトウェアの設定情報（システムのエンドユーザからのリクエストの同時受付数やアプリケーションの同時実行数など）などを設定する事ができる。このように、ジョブアプリケーション層だけでなく、より深い層まで管理権限を有することにより、ユーザに利便性を提供できる。
【００２０】
図１は、各ユーザにどのようなサービスが適用されているかを特定するサービス管理テーブル101の一例である。このサービス管理テーブル101では、ユーザを特定するユーザコード1012と、仮想マシン上に構築したシステム（勤怠入力、旅費精算システムなど）に付与する、ユーザの使用するシステムを一意に識別するシステムＩＤ1013と（仮想マシンレイヤ管理装置上で一意の値にする必要がある。）、ユーザの使用するサブシステムを一意に識別するサブシステムＩＤ1014と、ユーザが管理できる範囲である管理範囲のインデックス情報である管理範囲1015と（具体的な値は、「仮想マシン以上」「仮想マシン」「ミドルウェア」「ＶＭ」など、システムを構成する階層（レイヤ）の一部または全部を意味する値であってもよいし、ただ単に番号やＩＤを割り振ったものでもよい。）、サポートレベル1016と仮想ノードを特定する為の仮想ノードＩＤ1017を対応付けて記憶する。
【００２１】
ここでサポートレベル1016とは、センタ側（具体的にはセンタ管理者端末側）で管理を行うレベル（時間帯）を指す。通常、ソフトウェア製品では、障害発生した場合にサポートの窓口へ問い合わせを行う。具体的には、サポートレベル1016を「9:00−17:00」と設定した場合、この時間帯以外は、センタ側での管理を行わない。それ故、上記時間以外で、仮に障害が発生した場合でも、ユーザ側だけで問題を解決しなければならない。つまり逆に、サポートレベル1016を「24h365d」（24時間365日）とした場合は、センタ側のサポートを受けられることを意味する。クラウドコンピューティングを前提とした場合、レベルを分ける事で、使用料のランク分けを行うことができる。
【００２２】
ここで、システムとサブシステムとの違いを説明する。システムは、例えばユーザＡの業務システム全体を指す。（Aユーザが構築した、勤怠入力、旅費精算、業務日誌、顧客管理システムなどを内包する意味で、業務システム全般を指す。）サブシステムは、ユーザＡの業務システムが内包する各システム（勤怠入力、旅費精算システムなど）を指す。例えば、ユーザAの業務システムをシステムID：A、ユーザAの勤怠システムはサブシステムID：A-1のように表す。
【００２３】
管理範囲1015とサポートレベル1016を合わせることで、より詳細なユーザが管理する範囲を表すことができる。例として、ユーザ管理範囲は「仮想マシン以上」、サポートレベルは「センタ側で自動的にフェイルオーバ」とすると、ユーザは仮想マシンに対して細かい設定を施すことが可能だが、障害の場合の対応は考慮する必要がなくなる。
【００２４】
図２は、仮想ノードを管理する仮想ノード管理テーブル102の一例である。この仮想ノード管理テーブル102では、仮想ノードを特定する仮想ノードＩＤ1022と、仮想ノードの操作のロックの状態を表す操作ロックフラグ1023と、仮想ノードの操作可能時間帯を決定する操作可能時間帯1024と、実際仮想ノードが動作する物理ノードを特定する物理ノードＩＤ1025と、その仮想ノードに割当てられる割当ＣＰＵ1026と割当てられる割当メモリ1027と割当てられる割当ディスク1028と仮想ノードが使用済みかどうかを表すフラグを記憶する仮想ノード使用済みフラグ1029の情報をそれぞれ対応付けて記憶する。
【００２５】
図３は、ユーザ情報を記憶するユーザ管理テーブル103の一例である。このユーザ管理テーブル103では、ユーザを特定するコードであるユーザコード1031毎に、ユーザ名1033と、ユーザの所属を表す所属1034と、ユーザの管理するシステムを表す管理システムID1035（管理システムIDには、登録済みのシステムIDが入り、一人のユーザは、複数のシステムを管理する事が可能である。）をそれぞれ対応付けて記憶する。
【００２６】
図４は、物理ノードの情報を記憶する物理ノード管理テーブル201の一例である。この物理ノード管理テーブル201では、物理ノードを特定する物理ノードＩＤ2012と、この物理ノードＩＤ毎に、物理ノードのＣＰＵ2013、メモリ2014、ディスク容量2015、その物理ノードに仮想ノードが作成されているかいないかを示すフラグを記憶する仮想ノード作成有無2016等の情報をそれぞれ対応付けて記憶する。本実施例ではCPUをコア数、メモリは容量（GB）、ディスクは容量（GB）としているが、これに限定されるものではなく、CPU、メモリ、ディスクの能力を表す値であればよい。
【００２７】
図５は、ユーザ毎の管理範囲を特定する管理範囲管理テーブルの一例である。管理範囲管理テーブルでは、管理できる層の範囲、つまり、仮想マシン層(VM)、ＯＳ層(OS)、ミドルウェア層(ミドル)、ジョブ層（ジョブ）などを管理する管理範囲2022に対応付けて、仮想マシンのCPUの管理権限を特定する仮想マシン(CPU)操作権限2023、仮想マシンのメモリの管理権限を特定する仮想マシン（メモリ）操作権限2024、ＯＳの管理権限を特定するＯＳ操作権限2025、ミドルウェアの管理権限を特定するミドル操作権限2026、ジョブアプリケーションの管理権限を特定するジョブ操作権限2027等の階層毎の管理権限をそれぞれ対応づけて記憶する。
【００２８】
図１４は、システム名を特定するシステム名管理テーブル１０４の一例である。システム名管理テーブル１０４では、システムを特定するシステムID１０４２とそのサブシステムを特定するサブシステムID１０４３とそれぞれのシステム名を関連付けて記憶する。
【００２９】
図１５は、階層により管理範囲を特定する為の階層管理範囲テーブルの一例である。階層管理範囲テーブル２０４では、管理範囲を特定する為の、管理範囲２０４２と、管理範囲２０４２毎に、管理権限のある階層の種別を記憶する操作権限範囲定義２０４３をそれぞれ対応付けて記憶する。
【００３０】
以下図６、図７、図８のフローに従って、図６ユーザ登録、図７システム登録、図８ユーザによるシステム構成と段階に分けて処理の流れを説明する。
【００３１】
＜ユーザ登録＞
まず、図６のフローに従って、ユーザの登録について説明する。まず、本装置を使用するユーザの情報は本装置へ登録される。具体的には、ステップS301で処理が開始されると、まずユーザが入力する登録情報をユーザ管理者端末が受け付ける。ユーザ管理者端末001から受け付けられた登録情報が仮想マシンレイヤ管理装置004に送信される。そして、受け付けられた情報を、ステップS302で仮想マシンレイヤ管理装置004のユーザ管理テーブル103に対し登録する。具体的には、ユーザコード1032、ユーザ名1033、所属1034、管理システムＩＤ1035を登録する。これでユーザ登録は完了となる。ユーザコードはシステムが自動でそれぞれのユーザを識別するＩＤを割り振ることとしてもよい。管理システムＩＤ１０３５とはユーザの使用するシステムのＩＤをいい、システムＩＤ、サブシステムＩＤを含む、システムを特定する情報である。
【００３２】
＜システム登録＞
続いて、システム登録フローについて図7で説明する。システム登録とは、仮想マシンレイヤ管理装置004に対し、仮想マシン上に構築したシステムを識別させるために、システムに関する情報を登録する事を指す。また、システムの登録のために、仮想マシンを新たに増設する必要があるその増設の手続きも含む。必要なスペックの仮想マシンを用意して、仮想基盤上に設置し、設置した仮想マシンにシステムを構築する。この場合に、仮想マシンを用意するために必要な情報や、構築したシステムを識別する情報を仮想マシンレイヤ管理装置で記憶する。
【００３３】
まず、ステップS401でシステム登録の処理を開始する。ステップS402で、センタ管理者端末002はユーザの使用したい仮想ノード数・仮想ノードスペックの情報を受付ける。そして、センタ管理者端末002から受け付けられた情報を仮想マシンレイヤ管理装置004に送信する。その結果仮想マシンレイヤ装置は送信された情報を受け付ける。その際、管理範囲やサポートレベルの情報も受信してもよい。具体的には、仮想ノードスペックCPU 4コア、メモリ2048MB、HDD40GBの仮想ノードを、４ノード、サポートレベルは、日中のサービス、管理範囲は、OS以上といった情報を受付ける。受け付ける情報はこれに限定されるものではなく、例えばサポートレベルがないものでもよい。
【００３４】
次にステップS403で、仮想ノード管理テーブル１０２を参照して、受付けた仮想ノードの存在有無を判定する。具体的には、仮想ノード管理テーブル１０２で管理される各ノードの割当ＣＰＵ１０２６、割当メモリ１０２７、割当ディスク１０２８等の各仮想ノードの情報から受付けた仮想ノードと同じスペックの仮想ノードがないか判定する。同じスペックの仮想ノードが存在する場合、その後、仮想ノード使用済みフラグ1029を確認して、当該仮想ノードが使用済みかどうかを判定する。当該仮想ノードが未使用であれば、ユーザがその仮想ノードを使用することを許可する為、ステップS４０６の処理に移る。当該仮想ノードが使用済みであれば、新規に仮想ノードを作成する為ステップS４０４の処理に移る。
【００３５】
この新規仮想ノードを作成可能か判定するステップS４０４の処理について詳しく説明する。本装置は物理ノード管理テーブル２０１の仮想ノード作成有無2016の情報を特定して、仮想ノードを作成していない物理ノードを選んで物理ノードＩＤ2012を特定して、その特定された物理ノードに仮想ノードを作成可能かどうか判定する。仮想ノード作成有無とは２０１６物理ノードに新しい仮想ノードを設定できない状態の場合に、有を表す情報が記憶され、他の仮想ノードが既に作成されているが、まだ追加で作成するスペックに余裕のある場合は、無を表す情報が記憶される。仮想ノードは、物理ノードのリソース全てを使用するわけではない。具体的には、物理ノードのメモリが32GBである場合、仮想ノードはその内の4GBしか使用しないことがある。そのため、仮想ノードを作成する際は、ある物理ノードに余剰リソースがあれば、その物理ノードに仮想ノードを作成可能である。物理ノードＩＤで特定される物理ノードにユーザから受付けた情報を元に仮想ノードを作成する。
【００３６】
続いてステップS405で本装置は、ユーザから受付けた情報を、仮想ノード管理テーブル１０２に追加して記憶させる。具体例では、新たな仮想ノードＩＤ１０２２を割当、ステップ４０４で特定された物理ＩＤを物理ノードＩＤ１０２５、割当ＣＰＵ１０２６に4コア、割当メモリ１０２７に２ＧＢ、割当ディスクに４０ＧＢの情報を記憶させる。この場合、操作ロックフラグ1023は解放（使用するので）となり、操作可能時間帯1024は契約に従って、契約に沿った値が付与され、仮想ノード使用済みフラグ1029は使用するので使用を表す情報、例えばYesが記憶される。Yesの情報は使用を表す情報であればなんでもよく、これに限定されるものではない。
【００３７】
次に、ステップS４０６でサービス管理テーブル１０１の各カラム１０１２〜１０１７に、ユーザから受付けた情報、具体的には、システムID、サブシステムID、ユーザコード、管理範囲、サポートレベル、仮想ノードIDの情報を追加する。
【００３８】
＜ユーザによるシステム構成の参照フロー＞
続いて、登録されたシステムをユーザが参照する場合について述べる。各ユーザからは先に説明したシステム登録で登録された権限内でしかシステムを参照できない。それを実現する為の仕組みを図８のユーザによるシステム構成参照フローに沿って説明する。
【００３９】
まず、ステップS５０１で処理を開始する。続いてステップS５０２で装置は、ユーザがログインすると、ユーザコード、ユーザ名、所属等の入力されたユーザ情報と一致するユーザ管理テーブル１０３の管理システムID１０３５を特定し、ユーザが管理するシステムの一覧を表示する。
【００４０】
その場合、装置は管理システムＩＤ１０３５の情報を元にシステム名管理テーブル１０４のシステムＩＤ１０４２およびサブシステムＩＤ１０４３に対応するシステム名１０４４を出力する。具体的には、システム名管理テーブル１０４のカラム１０４３サブシステムIDを特定し、ユーザ管理テーブル１０３のカラム１０３５管理システムIDに該当する値に合致するシステム名を出力する。
【００４１】
続いて、ステップS５０３で本装置は、自身が出力したシステム一覧からユーザにより指定された管理したいシステムの一覧を受け付ける。本装置は、指定されたシステムの管理システムＩＤ１０３５に基いて、サービス管理テーブル101の、ユーザ毎の管理できる範囲を示す管理範囲と管理対象仮想ノードの情報を抽出する。具体的には、抽出する情報は、サービス管理テーブル１０１のカラム１０１５管理範囲の情報およびカラム１０１７仮想ノードＩＤを抽出する。
【００４２】
ステップS５０４で本装置は、サービス管理テーブル１０１のカラム１０１７仮想ノードＩＤの値を基に、仮想ノード管理テーブル１０２のカラム１０２３操作ロックフラグを特定する。特定したロックフラグにおいて、操作がロック状態か解放状態かを判断する。（このロック状態の詳細については後述する。）
ロック状態の場合は、ステップS５０２に戻りシステム一覧画面を再度表示する。ロックが解放されている場合は、ステップS５０５に移る。装置は、サービス管理テーブル１０１のカラム１０１７仮想ノードＩＤの値を基に、仮想ノード管理テーブル１０２のカラム１０２４操作可能時間帯を特定する。特定した値は、ユーザが指定したシステムが使用する仮想ノードの操作可能時間帯を指す。
【００４３】
次にステップS５０６で本装置は、特定した操作可能時間帯１０２４と現在時刻を比較する。比較の結果、現在時刻が操作可能時間帯１０２４に該当するかを判定する。（たとえば、現在時刻が14:00であり、操作可能時間帯が9:00〜17:00であった場合、14:00は操作可能時間帯に該当するので、操作が可能となる。）
現在時刻が操作可能時間帯外の場合は、ステップS５０２に戻りシステム一覧画面を再度表示する。
【００４４】
現在時刻が操作可能時間帯内である場合は、次にステップS５０７に移り、本装置は、ユーザが指定したシステムＩＤからサービス管理テーブル１０１の仮想ノードＩＤを検索し、紐付く仮想ノードの一覧を出力する。ユーザに、本装置が出力した仮想ノードの一覧から参照・変更したい管理対象を選択を受け付けられる状態として、選択した仮想ノードＩＤを受付ける。
【００４５】
次にステップS５０８で本装置は、ユーザが選択した管理対象（仮想ノード）について、ユーザが管理可能な範囲を特定する。具体的には、まず、サービス管理テーブル１０１のカラム１０１５管理範囲を特定する。
【００４６】
次に、本装置は、サービス管理テーブル１０１の管理範囲１０１５の情報と、管理範囲管理テーブル２０２の管理範囲２０２２が同じ管理範囲の情報を検索して、そのカラム１０１５管理範囲と合致するレコードを特定する。該当するレコードの各カラムの操作権限から、ユーザへ表示可能な範囲を特定する。例えば、サービス管理テーブル１０１の管理範囲１０１５がＶＭであった場合、管理範囲管理テーブル２０２の管理範囲２０２２のＶＭに対応する、ＶＭ（ＣＰＵ）操作権限２０２３“あり”、ＶＭ（メモリ）操作権限２０２４“あり”、ＯＳ操作権限２０２５“あり”、ミドル操作権限２０２６“あり”、ジョブ操作権限２０２７“あり”の情報を特定する。この場合、ユーザが参照・操作可能な項目は、管理範囲管理テーブル２０２の各カラムで、値が「あり」のものとなる。そのため、装置は、管理範囲管理テーブル２０２の各カラムで、「あり」に該当する項目をユーザへ表示する。続いてステップS５０９で装置は、ユーザが選択した管理対象（仮想ノード）で、ユーザの操作が可能な範囲を表示する。
【００４７】
ここでは、管理範囲管理テーブル２０２により管理範囲を特定する旨説明したが、階層範囲管理テーブル２０４により管理範囲を特定する方法についても次に説明する。
【００４８】
管理範囲管理テーブル２０２の例ではステップS５０８で管理範囲管理テーブルを照会する旨あるがこの場合、階層範囲管理テーブルを照会することとしてもよい。具体的には階層範囲管理テーブル２０４の管理範囲２０４２を特定し、管理範囲毎に特定された操作権限範囲定義２０４３を読み込み、この操作権限範囲定義２０４３に記憶されてある情報によって、ユーザが操作可能な範囲を特定する。
【００４９】
具体的には、管理範囲１０１５がＶＭであった場合、階層範囲管理テーブル２０４の管理範囲２０４２のＶＭに対応する、操作権限範囲定義２０４３のＶＭ、ＯＳ、ミドル、ジョブの情報から、操作権限範囲定義２０４３には管理権限を許可される階層の情報が記憶されており、ＶＭ、ＯＳ、ミドル、ジョブに管理権限が“あり”であると特定する。操作権限範囲定義２０４３に記憶されていない階層には管理権限が与えられない。
＜特定システムの操作ロック＞
次に、日々の運用の中でユーザが自由にシステムを管理する事でシステムに影響が出る場合や、センタ側の都合により一時的にユーザによるシステムの管理を凍結したい場合などに対応するため、特定システムをロックする方法について説明する。ロックの仕方としては以下のようなパターンが考えられる。
（１）時間指定によるシステムの参照のロック
ユーザとクラウドサービス提供ベンダとの契約において、ユーザがシステムを管理する時間帯を指定する。これにより、ユーザは自身の業務時間にシステムを管理することが可能となり、システム管理の容易性を向上させることができる。ユーザがシステムを管理する時間帯を指定するのは、システムの登録のフローの場合、仮想ノードを割当てる場合に、当該仮想ノードの管理時間帯を指定する。具体例では仮想ノード管理テーブル102の操作可能時間帯1024に0800-1700といった時間を特定する情報（この場合は08:00〜17:00）を記憶させる。
（２）センタ側によるシステムの参照のロック／解除
仮想基盤を管理するセンタのメンテナンス等のために、ユーザにシステムを参照・変更等をさせないよう、システムへの操作をロックする場合について説明する。ロックは、図９のフローのように行う。ロックの後、ユーザがシステムを参照した場合、添付図８のフローの中でロック状態を検知し、ユーザにシステムを参照させないようにする。ロックの解除は、図１０のフローに従って行う。
【００５０】
ここで（２）の特定システムのロックの設定を、図９のフローに従って詳細に説明する。  まず、ステップS６０１で処理を開始する。そして、ステップS６０２でセンタ管理者端末002がセンタ操作者から選択したロックしたいシステムを特定する情報の入力を受付ける。そして、センタ管理者端末002が入力された情報を本装置に送信する。本装置は入力された情報を受信する。
【００５１】
ステップS６０３で本装置は、サービス管理テーブル１０１のカラム１０１４サブシステムＩＤを特定して、センタ操作者にロックしたいシステムを選択させ、その入力を受付ける。さらに、装置は、センタ操作者が選択したシステムＩＤに紐付く仮想ノードについて、カラム１０１７仮想ノードIDを特定する。
【００５２】
ステップS６０４で本装置は、受付けたシステムＩＤのロックの対象となる仮想ノードについて、現在の操作ロックフラグを判定する。具体的には選び出した各仮想ノードにおいて、仮想ノード管理テーブル１０２のカラム１０２３操作ロックフラグを特定し、ロック状態か判定する。操作ロックフラグが「ロック」であれば、ステップS６０１のシステム一覧へ戻る。
【００５３】
ステップS６０５で装置は、仮想ノード管理テーブル１０２のカラム１０２３操作ロックフラグをロックの情報を示す「ロック」に変更する。
＜特定システムの操作ロックの解除＞
続いてロックの解除について図１０のフローに沿って詳細に説明する。
【００５４】
ステップS７０１で処理を開始する。ステップS７０２で本装置はセンタ操作者にロックを解除したいシステムを選択させ、センタ管理者端末002からそのシステムのＩＤの入力を受けつける。
【００５５】
ステップS７０３で本装置は、受け付けたシステムのＩＤを基に、サービス管理テーブル１０１のカラム１０１４サブシステムＩＤを特定して、センタ操作者がロックを解除したいシステムを特定する。さらに、本装置は、センタ操作者が選択したシステムに紐付く仮想ノードについて、カラム１０１７仮想ノードIDを特定する。
【００５６】
ステップS７０４で本装置は、ロック対象となるつまり、特定された仮想ノードに対応する、現在の操作ロックフラグ１０２３を特定する。特定された操作ロックフラグ１０２３が「ロック」でなければ、ステップS７０２へ戻る。特定された操作ロックフラグ１０２３が「ロック」であればステップＳ７０５へ進む。
【００５７】
ステップS７０５で本装置は、仮想ノード管理テーブル１０２のカラム１０２３操作ロックフラグ１０２３を「解放」に変更する。操作ロックフラグ１０２３に記憶される情報は「解放」に限定されず、ロックされていないことを示す情報であれば何でもよい。
＜特定システムの操作ロック（バッチジョブ契機）＞
続いて、バッチジョブ契機によるシステムの参照のロック／解除について説明する。バッチジョブ契機によるシステムの参照のロックとは、バッチ処理を実行する前など、処理中にシステムの変更等が行われると処理に影響が出てしまう状況に対応するため、バッチ等を実行する前に、システムの構成変更などの操作をロックする仕組みを言う。
【００５８】
操作をロックする手段として、例として、長時間のバッチジョブを行う場合、そのバッチジョブの前に操作をロックするジョブを用意する。操作をロックするジョブにより、システムへの参照をロックし、その後にバッチ処理を行う。処理が終了した後のジョブとして操作ロックを解除するジョブを用意することで、処理後にロックを解除する。
【００５９】
このようなジョブによるシステム操作のロック／解除の仕組みを提供することで、バッチ等の処理中にシステムが変更されることを防ぐ。
【００６０】
まず、特定システムの操作をロックする処理について、図１１のフローに沿って説明する。以下の処理は本装置で行う。ステップS８０１で処理を開始し、ステップS８０２でバッチジョブは、ロック対象のシステムを選択・ロックする。具体的には、バッチジョブからロック対象のシステムを特定する情報（サブシステムID）が与えられ、その情報に基づき仮想ノード管理テーブル102のロック対象の仮想ノードＩＤ１０２２を特定し、操作ロックフラグ1023をロックを表す情報に変更する。つまり、ステップS８０３で装置は、サービス管理テーブル101にアクセスして、操作ロックの対象システムの仮想ノードＩＤを特定する。
【００６１】
ステップS８０４では、仮想ノード管理テーブル102において特定した仮想ノードIDから操作ロックフラグ１０２３が、解放状態であった場合、ステップS８０５で装置は、仮想ノード管理テーブル１０２の当該仮想ノードの操作ロックフラグ1023をロックを表すに変更する。 
＜特定システムの操作ロック解除（バッチジョブ契機）＞
続いて、ロックを解除する処理について、図１１のフローに従って説明する。まず、ステップS９０１で処理を開始する。以下の処理は本装置が実行する。ステップS９０２で、バッチジョブに含まれるコマンドに従って、ロック対象のシステムを選択・ロック解除する。具体的には、バッチジョブからロック対象のシステムを特定する情報（サブシステムID）が与えられ、その情報に基づき仮想ノード管理テーブル102のロック解除対象の仮想ノードＩＤ１０２２を特定し、操作ロックフラグ1023を解放に表す情報に変更する。つまり、ステップS９０３で装置は、サービス管理テーブル101にアクセスして、操作ロック解除の対象システムの仮想ノードＩＤ１０２２を特定する。
【００６２】
ステップS９０４で、仮想ノード管理テーブル102において特定した仮想ノードの「操作ロックフラグ」(1023)がロック状態であった場合、ステップS９０５で装置は、仮想ノード管理テーブル102の当該仮想ノードの操作ロックフラグ1023を解放を表す情報に変更する。 
【符号の説明】
【００６３】
１０１  サービス管理テーブル
１０２  仮想ノード管理テーブル
１０３  ユーザ管理テーブル
１０４  システム名管理テーブル
２０１  物理ノード管理テーブル
２０２  管理範囲管理テーブル
２０４  階層範囲管理テーブル
【図１】
0005690676.tif 000002
【図２】
0005690676.tif 000003
【図３】
0005690676.tif 000004
【図４】
0005690676.tif 000005
【図５】
0005690676.tif 000006
【図６】
0005690676.tif 000007
【図７】
0005690676.tif 000008
【図８】
0005690676.tif 000009
【図９】
0005690676.tif 000010
【図１０】
0005690676.tif 000011
【図１１】
0005690676.tif 000012
【図１２】
0005690676.tif 000013
【図１３】
0005690676.tif 000014
【図１４】
0005690676.tif 000015
【図１５】
0005690676.tif 000016