(57)【要約】【課題】  データ共有化の処理負担を軽減する。【解決手段】  マスタ管理手段１３ａは、共有データ１ａに応じたマスタへの遷移条件が自装置に成立していれば、データ管理情報２ａから共有データ１ａのマスタを特定する。特定されたマスタが他装置である場合には、現在のマスタに対しマスタ取得要求を行って、この共有データ１ａのマスタを自装置に設定し、以降の共有データ１ａに関するデータ管理処理を行う。アクセス制御手段１２ａは、自装置がマスタである共有データ１ａに関し、共有データ１ａの更新の際には、自装置のデータ記憶手段１１ａを更新するとともに、必要に応じて、データ管理情報２ａの装置情報に従い共有データ１ａを共有する装置に対し、共有データの更新を指示する。【選択図】  図１
2006338378.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続する複数の装置が各々保有する共有データに関し、各装置間で前記共有データの整合性を保持してアクセス制御を行うデータ共有装置において、
前記共有データとともに、前記共有データを共有する装置に関する装置情報及び前記共有データを管理するマスタに関するマスタ情報を含むデータ管理情報を前記共有データに対応付けて記憶するデータ記憶手段と、
前記共有データに応じた前記マスタへの遷移条件が成立したかどうかを判定し、前記遷移条件が自装置に成立している場合は、前記共有データに対応する前記マスタ情報に設定された前記マスタが他装置であれば、前記他装置にマスタ取得要求を行って自装置を前記マスタに設定するマスタ管理手段と、
自装置が前記マスタである前記共有データに関し、前記共有データの更新時、自装置の前記データ記憶手段の前記共有データを更新するとともに、必要に応じて、前記装置情報に従い前記共有データを共有する他装置に対し、前記共有データの更新を指示するアクセス制御手段と、
を具備することを特徴とするデータ共有装置。
【請求項２】
前記アクセス制御手段は、
前記共有データの更新を指示する際に、前記装置情報から応答が必要な装置に関する応答リストを作成し、前記共有データの更新指示とともに対象の前記装置に送信して前記装置から応答を取得すると前記応答リストから前記応答を取得した前記装置を削除する処理を前記応答リストが空になるまで繰り返す、
ことを特徴とする請求項１記載のデータ共有装置。
【請求項３】
前記アクセス制御手段は、さらに、
前記共有データの利用形態及び利用頻度を含む特性に応じて設定される、前記共有データ読み出し時に自装置の前記共有データを利用するか前記マスタの前記共有データを利用するかを規定する読み出し利用モードと、前記共有データへの書き込み時に前記マスタの前記共有データのみを更新するか、他装置が保有する前記共有データも更新するかを規定する書き込み利用モードと、に従ってアクセス制御を行う、
ことを特徴とする請求項１記載のデータ共有装置。
【請求項４】
所定の共有データに関し、各装置の前記アクセス制御手段が作成する前記データ記憶手段に格納される前記共有データの読み出し回数と前記共有データへの書き込み回数に応じたアクセス履歴情報を、前記装置情報に基づき前記所定の共有データを共有する他装置から取得し、自装置の前記アクセス履歴情報とに基づいて前記共有データの利用状況を解析し、前記利用状況に応じて前記読み出し時の利用モード及び前記書き込み時の利用モードを設定する利用モード管理手段、
を具備することを特徴とする請求項３記載のデータ共有装置。
【請求項５】
ネットワークを介して接続する複数の装置が各々保有する共有データに関し、各装置間で前記共有データの整合性を保持してアクセス制御を行うデータ共有処理プログラムにおいて、
コンピュータに、
前記共有データとともに、前記共有データを共有する装置に関する装置情報及び前記共有データを管理するマスタに関するマスタ情報を含むデータ管理情報を前記共有データに対応付けてデータ記憶手段に記憶しておく手順と、
前記共有データに応じた前記マスタへの遷移条件が成立したかどうかを判定し、前記遷移条件が自装置に成立している場合は、前記共有データに対応する前記マスタ情報に設定された前記マスタが他装置であれば、前記他装置にマスタ取得要求を行って自装置を前記マスタに設定する手順と、
自装置が前記マスタである前記共有データに関し、前記共有データの更新時、自装置の前記データ記憶手段の前記共有データを更新するとともに、必要に応じて、前記装置情報に従い前記共有データを共有する他装置に対し、前記共有データの更新を指示する手順と、
を実行させることを特徴とするデータ共有処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ共有装置及びデータ共有処理プログラムに関し、特にネットワークを介して接続する複数の装置が各々保有する共有データに関し各装置間で共有データの整合性が保持されるようにアクセス制御を行うデータ共有装置及びデータ共有処理プログラムに関する。
【背景技術】
【０００２】
コンピュータ・ネットワークシステムでは、ネットワークに接続された異なるコンピュータの協調動作などを目的とし、コンピュータ間でデータの共有化が図られている。
一般に、複数台のコンピュータ間でデータを共有する場合、コンピュータ間のデータの整合性を確保するため、処理サーバとは別にデータを管理するデータ管理サーバを新設してデータ処理が行われている。このような構成のシステムでは、各々の処理サーバに共有データをそれぞれ保持させ、データ管理サーバは各処理サーバが保持する共有データのデータ更新状態を把握し、自装置の共有データを最新にしておく。そして、各処理サーバは、管理サーバに対し、適宜データ更新有無の問合せを行い、問合せの結果、データが更新されていれば、この最新のデータをコピーして自装置内に保持するデータに反映するという処理を行っている。
【０００３】
各処理サーバが各々共有データを保有するシステムでは、サーバ間のデータの整合性を確保するため、データの変更開始時と終了時にそれぞれ更新開始通知と更新終了通知を他のサーバに送ってデータ更新中であることを通知することによって多重更新を回避するとともに、通知に基づき他のサーバのデータ更新を認知し、そのデータを、データ更新を行ったサーバから取得する手法がある（たとえば、特許文献１参照）。
【０００４】
また、ネットワークを介してデータを共有するコンピュータから受信したデータ参照要求の数をカウントし、カウント数に基づいてあるデータの参照頻度が高いと判断したときに、そのデータを参照の発生頻度の高いコンピュータにコピーする手法も提案されている（たとえば、特許文献２参照）。
【特許文献１】特開平１１−２７２５３４号公報（段落番号〔００１２〕〜〔００２４〕、図１）
【特許文献２】特開平２−２３１６７６号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来のデータを共有化するシステムでは、処理サーバとは別にデータ管理サーバを配置する必要があり、導入コストが大きくなるという問題点があった。
また、データ管理サーバを新設しても、アクセス頻度の高いデータを処理するシステムであれば、複数の処理サーバからデータ管理サーバへの問合せの頻度が増し、データ管理サーバに処理負荷がかかるという問題がある。このとき、処理サーバ側の応答待ち時間も増加し、アクセス性能が落ちる。たとえば、電話交換機など、多くの端末からのアクセスが集中するシステムを、ブレードサーバのような複数のサーバと、端末からの要求をいずれのサーバに割り当てるかを決める負荷分散装置を組み合わせて構成する場合がある。このようなシステムで、処理サーバ群各々に同じデータベースを持たせ、データ変更があると、サーバ間でデータの整合性をとるようにすると、データの整合性をとるためのトランザクションが頻繁に発生し、多くのリソースがとられるという問題がある。
【０００６】
また、従来のデータ変更時にデータ変更を行うサーバから他のサーバへデータ変更の開始と終了を通知する手法では、データ管理サーバに対する問合せを行う必要がなくなる。しかし、データを整合させるためのデータコピーはデータ変更ごとに実行されるため、データ通信量を軽減させることは難しい。
【０００７】
同様に、参照の発生頻度が高いと判断された場合にデータを参照側のコンピュータにコピーする手法は、参照されるマスタデータがデータ更新の頻度が少ない場合には有効であるが、マスタデータの格納位置は固定であるので、マスタデータの更新が頻繁に行われるような場合には、他のコンピュータへのコピーも頻繁になり、データ通信量及び処理負担を軽減することは難しい。
【０００８】
本発明はこのような点に鑑みてなされたものであり、データ共有化に係る処理負担を軽減することが可能なデータ共有装置及びデータ共有処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では上記課題を解決するために、図１に示すようなデータ共有装置が提供される。データ共有装置１０ａ及びデータ共有装置１０ｂは、ネットワーク２０を介して接続し、同一の内容の共有データ１ａ、１ｂをそれぞれ保持し、装置間で共有データ１ａ、１ｂの整合性が確保されるようにアクセス制御を行っている。データ共有装置１０ａは、データ記憶手段１１ａ、アクセス制御手段１２ａ及びマスタ管理手段１３ａを具備し、データ共有装置１０ｂも同様の処理手段を具備する。以下、データ共有装置１０ａによって説明する。
【００１０】
データ記憶手段１１ａには、共有データ１ａと共有データ１ａに対応付けられたデータ管理情報２ａの組が、データ共有装置１０ａに割り当てられた数だけ格納される。データ管理情報２ａには、少なくとも、この共有データ１ａを共有する他装置に関する装置情報と、共有データ１ａを管理するマスタに関するマスタ情報が設定される。マスタ管理手段１３ａは、共有データ１ａに応じたマスタへの遷移条件が成立したかどうかを判定する。そして、遷移条件が自装置に成立している場合は、データ管理情報２ａに含まれるマスタ情報に基づき、共有データ１ａのマスタである装置を特定する。他装置がマスタである場合は、現在のマスタである他装置にマスタ取得要求を行って、共有データ１ａのマスタを自装置に設定する。アクセス制御手段１２ａは、自装置がマスタである共有データに関し、共有データの更新時、自装置のデータ記憶手段１１ａの共有データ１ａを更新するとともに、必要に応じて、装置情報に従い共有データ１ａを共有する他装置に対して共有データの更新を指示する。
【００１１】
このようなデータ共有装置１０ａでは、データ共有装置１０ｂの共有データ１ｂと同一の共有データ１ａが、対応するデータ管理情報２ａとともにデータ記憶手段１１ａに格納されている。マスタ管理手段１３ａは、共有データ１ａへのアクセス要求が発生した場合など、所定のタイミングで共有データ１ａに応じたマスタへの遷移条件が成立したかどうかを判定する。そして、遷移の条件が自装置に成立している場合は、データ管理情報２ａを読み出し、そのマスタ情報に基づき、共通データ１ａのマスタを特定する。特定されたマスタが他装置である場合には、現在のマスタである他装置に対しマスタ取得要求を行って、この共有データ１ａのマスタを自装置に設定する。アクセス制御手段１２ａは、自装置がマスタである共有データ１ａに関し、共有データ１ａの更新を行う際には、データ記憶手段１１ａの共有データ１ａを更新するとともに、必要に応じて、データ管理情報２ａの装置情報に従い共有データ１ａを共有する装置に対し、共有データの更新を指示する。
【００１２】
これにより、共有データに応じたマスタへの遷移条件に基づき、共有データを管理するマスタが動的に設定され、マスタに設定された装置がデータ管理処理を行う。
なお、データ共有装置１０ａの各処理手段は、コンピュータがデータ共有処理プログラムを実行することによって実現することができる。
【発明の効果】
【００１３】
本発明のデータ共有装置では、共有データに応じた遷移条件に従って、この共有データを管理するマスタが動的に設定される。これにより、たとえば、共有データの更新頻度が高いデータ共有装置など、データ管理に適したデータ共有装置が共有データへのアクセス状況に応じてマスタに選択され、この共有データを管理するようになる。このように、共有データごとにデータ管理を行うマスタが動的に設定されるので、専用のデータ管理装置を設ける必要がなくなる。また、共有データに関するデータ管理処理は各装置に分散されるので、各装置の処理負担を軽減することができる。この結果、システム全体のアクセス性能を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。
【００１５】
本発明に係るデータ共有装置１０ａ及びデータ共有装置１０ｂは、ネットワーク２０を介して接続し、共有データをそれぞれの記憶手段に保持し、自装置のアプリケーションや他装置から取得した共有データへのアクセス要求に対するアクセス制御を行うデータ共有システムに配置される。なお、データ共有装置は、何台接続されていてもよい。以下、共通する箇所をまとめ、たとえば、データ共有装置１０ａ、１０ｂと表記する。
【００１６】
データ共有装置１０ａ、１０ｂは、共有データ１ａ、１ｂとそのデータ管理情報２ａ、２ｂを記憶するデータ記憶手段１１ａ、１１ｂ、アクセスを制御するアクセス制御手段１２ａ、１２ｂ、データを管理するマスタを管理するマスタ管理手段１３ａ、１３ｂ、共有データの利用モードを管理する利用モード管理手段１４ａ、１４ｂ及びネットワーク２０を介した通信を制御する通信制御手段１５ａ、１５ｂを具備する。また、図示しないアプリケーション処理部などを備える処理装置でもある。
【００１７】
データ記憶手段１１ａ、１１ｂは、共有データ１ａ、１ｂと、共有データ１ａ、１ｂに対応付けられたデータ管理情報２ａ、２ｂの組を、データ共有装置１０ａ、１０ｂに割り当てられた共有データ数だけ格納する記憶手段である。なお、データ共有装置１０ａとデータ共有装置１０ｂに割り当てられる共有データは、その処理機能に応じて個別に設定される。ここでは、共有データ１ａ、１ｂは同一のデータであるとする。また、各共有データは、各装置間で整合性が保たれるように、この共有データを共有するデータ共有装置のいずれかによってデータ管理される。以下、共有データのデータ管理を行うデータ共有装置をマスタとする。共有データ１ａのデータ管理情報２ａには、少なくとも、この共有データ１ａを共有する装置に関する装置情報と、共有データ１ａを管理するマスタに関するマスタ情報が設定される。共有データ１ｂも同様である。
【００１８】
アクセス制御手段１２ａ、１２ｂは、自装置のアプリケーションなどからのアクセス要求、または通信制御手段１５ａ、１５ｂを介して入力される他装置からのアクセス要求に応じて起動される。このとき、必要に応じてマスタ管理手段１３ａ、１３ｂを起動し、共有データのマスタを更新する。そして、自装置がマスタであるか否かに応じて、以下のアクセス制御を行うとともに、アクセスの記録をアクセス履歴情報として残す。
【００１９】
自装置がマスタの場合、アクセス要求が書き込みであれば、自装置内のデータ記憶手段１１ａ、１１ｂに格納される対象の共有データ１ａ、１ｂを書き換えるとともに、データ管理情報２ａ、２ｂの装置情報に登録される、対象の共有データを有するすべての装置に対し、共有データを更新するよう指示する。このとき、自装置が書き込みに対する応答を待つ装置の指示情報を更新データとともに送信し、必要のない装置からの応答通信を省く。なお、マスタでない他装置から排他獲得要求を取得した場合は、他装置に排他権を渡していない場合は、要求のあった装置に排他権を付与し、当該共有データに関するそれ以外の装置からのアクセス要求を拒否する。一方、アクセス要求が読み出しであれば、読み出し対象の共有データをデータ記憶手段１１ａ、１１ｂから読み出し、要求先へ送る。なお、アクセス対象の共有データのデータ特性に応じた読み出し及び書き込み時の利用モードが設定されている場合には、利用モードに従って処理を行う。
【００２０】
また、自装置がマスタでない場合、アクセス要求が書き込みであれば、自装置内のデータ記憶手段１１ａ、１１ｂの共有データを書き換えるとともに、書き換えをマスタに通知する。書き換えに際し、他装置との排他制御が必要となる場合は、マスタに排他獲得要求を送信して排他権を獲得してから書き込みを行う。書き込みが終了したら処理終了をマスタに通知し、排他権を放棄する。排他処理の詳細については後述する。一方、アクセス要求が読み出しであれば、読み出し対象の共有データをデータ記憶手段１１ａ、１１ｂから読み出し、要求先へ送る。なお、自装置がマスタの場合と同様に、アクセス対象の共有データに利用モードが設定されている場合には、利用モードに従って処理を行う。
【００２１】
マスタ管理手段１３ａ、１３ｂは、アクセス対象の共有データに応じた遷移条件に基づき、自装置に遷移条件が成立しているかどうかを判定する。この判定処理は、たとえば、共有データへのアクセス要求発生時、共有データの更新要求発生時、もしくは所定の周期ごと、などのタイミングで開始される。そして、マスタへの遷移条件が自装置に成立していると判定された場合は、データ管理情報２ａ、２ｂに格納されるマスタ情報から、対象の共有データのマスタを検知する。このマスタが他装置であれば、この現マスタに対しマスタ取得要求を行う。現マスタによって認められれば、自装置をマスタに設定し、共有データを共有する他装置に自装置がマスタとなったことを宣言する。なお、マスタの変更を他装置に通知するのは、遷移許可を与えた前マスタであってもよい。
【００２２】
利用モード管理手段１４ａ、１４ｂは、共有データへのアクセス状況を解析し、共有データのデータ特性に応じた利用時のモードを設定する。データには、たとえば顧客の住所情報など、あまり更新されることはないが、複数の装置から頻繁に参照されるなどのデータ特性を持つものがある。このようなデータは、各装置が自装置のデータ記憶手段１１ａ、１１ｂに共有データとして格納しておき、書き換え時には、マスタが関連する全装置のデータ記憶手段１１ａ、１１ｂの情報を更新する利用形態が適している。一方、比較的頻繁に更新が行われるが、あまり頻繁に参照されないようなデータは、最終に更新された共有データを有する装置に対し、読み出しを行うようにする利用形態が適している。このデータ特性を有するデータに、前述の更新時にマスタが一斉に書き換えを指示する利用形態を適用すると、通信量が増大し、各装置の処理負担が増してしまう。このように、共有データの持つデータ特性に応じて、利用モードを設定することにより、通信量を最小に保つ。利用モードは、データ特性に応じて、書き込みと読み出しそれぞれに用意する。
【００２３】
通信制御手段１５ａ、１５ｂは、ネットワーク２０を介して他のデータ共有装置１０ｂ、１０ａとの間で交換されるデータの送受信制御を行う。
このような構成のデータ共有装置１０ａ、１０ｂの動作について説明する。
【００２４】
データ共有装置１０ａ、１０ｂは、それぞれのデータ記憶手段１１ａ、１１ｂに、この装置間で共有される共有データ１ａ、１ｂを格納している。
以下の説明では、データ共有装置１０ａが保有する共有データ１ａと、データ共有装置１０ｂが保有する共有データ１ｂの内容は常に一致させるようにアクセス制御が行われ、遷移条件として、共有データ１ａ、１ｂを最終的に更新する側がマスタとなることが設定されているとする。
【００２５】
まず、最初にデータ共有装置１０ａが共有データ１ａ、１ｂのマスタに設定され、データ共有装置１０ａ側で共有データ１ａの更新要求が発生したとする。更新要求を取得したアクセス制御手段１２ａは、マスタ管理手段１３ａを起動する。マスタ管理手段１３ａでは、遷移条件（最終更新者がマスタ）が成立するかどうかを判定する。ここでは、自装置が共有データ１ａを更新するので、自装置がマスタになると判定する。この場合、データ管理情報２ａのマスタ情報には、マスタとしてデータ共有装置１０ａ（自装置）が設定されており、自装置は既にマスタであるのでマスタ獲得処理は行わない。
【００２６】
アクセス制御手段１２ａは、データ記憶手段１１ａに格納される共有データ１ａを更新要求されたデータに書き換えるとともに、アクセス履歴情報に書き込みを行ったことを記録する。次に、データ管理情報２ａの装置情報を検索し、この共有データ１ａを保有するデータ共有装置を検出する。ここでは、データ共有装置１０ｂが検出される。アクセス制御手段１２ａは、通信制御手段１５ａ経由でデータ共有装置１０ｂに対し、共有データの更新指示、応答の指示情報及び更新データを送信する。
【００２７】
データ共有装置１０ｂは、通信制御手段１５ｂ経由で共有データの更新指示を取得すると、応答の指示情報に自装置が登録されているかどうかを調べ、登録されていれば、指示された共有データ（ここでは、共有データ１ｂ）が格納されるデータ記憶手段１１ｂの領域を添付された更新データに書き換え、応答を返す。データ共有装置１０ａは、通信制御手段１５ａ経由で応答を取得すると、アクセス制御手段１２ａは、応答の指示情報からデータ共有装置１０ｂを削除する。そして、応答の指示情報に他の装置がなければ、更新処理を終了する。
【００２８】
以上の処理手順により、データ共有装置１０ｂの共有データ１ｂが、データ共有装置１０ａで更新された共有データ１ａと同様の内容に更新される。
次に、この状態からデータ共有装置１０ｂ側で共有データ１ｂの更新要求が発生したとする。更新要求を取得したアクセス制御手段１２ｂは、マスタ管理手段１３ｂを起動する。マスタ管理手段１３ｂでは、自装置が共有データ１ｂを更新するので、遷移条件（最終更新者がマスタ）が自装置に成立すると判定する。この場合、データ管理情報２ｂのマスタ情報には、マスタとしてデータ共有装置１０ａが設定されているので、データ共有装置１０ａに対しマスタ取得要求を行う。通信制御手段１５ａ経由でマスタ取得要求を受信したデータ共有装置１０ａは、要求を認め、マスタをデータ共有装置１０ｂに引き渡す通知を行う。この通知を通信制御手段１５ｂ経由で取得したデータ共有装置１０ｂは、自装置がマスタとなったことをデータ管理情報２ｂの装置情報に登録されたこの共有データを共有する他装置に通知する。
【００２９】
マスタがデータ共有装置１０ａからデータ共有装置１０ｂに移った後は、データ共有装置１０ｂによって上記のデータ共有装置１０ａと同様のデータ更新処理が行われ、データ共有装置１０ａ、１０ｂの共有データ１ａ、１ｂがともに更新される。なお、マスタへの変更通知は、更新データ送信時に同時に送信されるようにすることも可能で、これにより、通信量を削減することができる。
【００３０】
以上のように、遷移条件（上記の例では、最終更新者がマスタ）に基づき、共有データの管理を行うマスタが動的に遷移する。これにより、予め設定されたデータ管理装置が集中して共有データを管理するのではなく、共有データごとに最適な処理装置が選択されてマスタとなり、データ管理が複数の処理装置に分散される。この結果、新たにデータ管理装置を設けなくても、各装置の処理負荷が分散され、各処理装置がデータ管理を兼任できるようになる。さらに、データ管理処理が一箇所に集中することによる処理の停滞も防止でき、システム全体のアクセス性能を向上させることが可能となる。
【００３１】
さらに、利用モード管理手段１４ａ、１４ｂは、所定のタイミングで起動し、アクセス状況を解析して共有データの利用モードを設定する。利用モードの設定は、たとえば、共有データのマスタが所定の周期で実行する。設定周期に到達した場合には、データ管理情報２ａ、２ｂの装置情報に基づき、該共有データを共有する装置から、この共有データに関するアクセス履歴情報を取得する。そして、装置ごとに得られた読み出し及び書き込みのアクセス状況を解析し、読み出し及び書き込みの利用モードを設定し、各装置に通知する。これにより、共有データのデータ特性に応じた最適な利用モードが選択され、効果的に機能しないデータ更新に伴う各装置の処理負担及び装置間の通信量を削減することができる。利用モードの詳細については、後述する。
【００３２】
以下、実施の形態を、ブレードサーバシステムのデータ共有に適用した場合を例に図面を参照して詳細に説明する。
図２は、本実施の形態のブレードサーバシステムの構成図である。
【００３３】
本発明に係るブレードサーバシステムは、各々がサーバ処理を行うサーバブレード１（１００ａ）、サーバブレード２（１００ｂ）、サーバブレード３（１００ｃ）及びサーバブレード４（１００ｄ）が通信路２１を介して接続する。
【００３４】
ここで、各サーバブレードは、装置全体を制御するＣＰＵ（Central Processing Unit）に、内部バスを介して、ＲＡＭ（Random Access Memory）、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）などの記憶部及び通信制御部などが接続されている。ＨＤＤには、ＯＳやアプリケーションのプログラムが格納され、ＲＡＭには、ＣＰＵに実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。ＣＰＵは、ＨＤＤもしくはＲＡＭに格納されるプログラムを実行することによって、以下に説明する各処理部の機能を実現する。また、所定の期間に渡って保持が必要なデータは、ＨＤＤに格納され、ＣＰＵがプログラムを実行する際に一時的に必要な各種データは、ＲＡＭに格納される。
【００３５】
このようなハードウェア構成のサーバブレードは、たとえば、サーバブレード１（１００ａ）を例にとると、ＨＤＤもしくはＲＡＭなどにより構成されるデータ記憶部１１０、ＣＰＵがプログラムを実行することにより所定の処理機能を実現する制御部１２０及び通信制御部１５０を有する。
【００３６】
データ記憶部１１０は、サーバブレード１（１００ａ）が利用する共有データとそのデータ管理情報を含む管理データを格納する。図の例では、管理データ１（３１０）、管理データ２（３２０）及び管理データ３（３３０）が格納される。なお、データは、このように共有データとデータ管理情報とが管理データとしてまとめられていても、図１に示したようにそれぞれが別に格納されていてもよい。
【００３７】
制御部１２０は、アクセス制御部１２１、マスタ制御部１２２、マスタ管理部１２３及び利用モード管理部１２４を有する。アクセス制御部１２１は、自装置のアプリケーションや、通信制御部１５０を介して他装置から入力されるデータ記憶部１１０に格納する管理データへのアクセス制御を行う。また、アクセス制御のうち、特に自装置がマスタの共有データのデータ管理に関連するアクセス処理はマスタ制御部１２２で行われるとする。マスタ管理部１２３は、所定のタイミングでマスタへの遷移条件が成立したかどうかを判定し、成立すれば、マスタを変更するための処理を行う。利用モード管理部１２４は、アクセス制御部１２１が生成するアクセス履歴情報に基づき、共有データの利用状況を解析し、解析結果に応じて読み出し時と、書き込み時の利用モードを設定する。
【００３８】
通信制御部１５０は、通信路２１を介してサーバブレード２（１００ｂ）、サーバブレード３（１００ｃ）及びサーバブレード４（１００ｄ）との間でデータ交換を行う。
他のサーバブレード２（１００ｂ）、サーバブレード３（１００ｃ）及びサーバブレード４（１００ｄ）も同様の構成である。
【００３９】
以上のような構成のブレードサーバシステムの動作及び共有データ処理方法について説明する。
まず、管理データについて説明する。
【００４０】
図３は、本実施の形態のサーバブレードで利用される管理データの一例を示した図である。本実施の形態の管理データは、データ管理情報部３０１と、共有データ部３０２より構成される。
【００４１】
データ管理情報部３０１は、対応する共有データ部３０２に関するデータ管理に用いる情報、図の例では、サーバリスト３０３、応答リスト３０４、マスタ情報３０５及び排他獲得者３０６により構成される。サーバリスト３０３には、この共有データを共有するサーバブレードの識別情報が設定される。応答リスト３０４には、マスタが共有データを保持する他装置にデータ更新の指示を行う際、応答が期待される装置が設定される。データ更新の開始時、応答リスト３０４には、サーバリスト３０３に登録される、自装置を除くすべてのサーバブレードが設定される。そして、データ更新指示の応答を取得するごとに、該当するサーバブレードを応答リストから削除することにより、応答リスト３０４には応答が得られないサーバブレードが残る。こうして応答リスト３０４が空になるまでデータ更新指示を行うことにより、データを共有するサーバブレードがそれぞれ保有する共有データを確実に更新することができる。マスタ情報３０５には、共有データを管理する管理サーバブレードが設定される。各サーバブレードは、マスタ情報３０５を読み出すことによって、現時のマスタを知ることができる。排他獲得者３０６は、この共有データに関する排他権を獲得しているサーバブレードが設定される。排他獲得者３０６は、マスタのみが参照する情報で、マスタが有する情報のみが有効である。
【００４２】
共有データ部３０２は、他サーバブレードと共有される共有データが設定される。
次に、図２に示した本実施の形態におけるマスタの変更と、共有データの更新処理について説明する。以下の説明では、マスタへの遷移条件には、「最終に共有データを更新するサーバブレードがマスタとなる」が設定されており、各サーバブレードの共有データは、マスタによって内容が一致するように制御されるとする。なお、以下の説明では、サーバブレードを単にサーバと表記する。
【００４３】
データ更新開始前の状態について説明する。
図４は、本実施の形態のブレードサーバシステムにおけるデータ更新開始前の管理データの状態を示した図である。図２と同じものには同じ符号を付すが、各要素の所在を明確にするため、サーバ１に属するものはａ、同様にサーバ２はｂ、サーバ３はｃ、サーバ４はｄを符号に付加する。
【００４４】
各サーバのデータ記憶部１１０ａ、１１０ｂ、１１０ｃ、１１０ｄには、共有データとそのデータ管理情報を含む管理データが格納される。図の例では、サーバ１（１００ａ）は、管理データ１（３１０ａ）と管理データ２（３２０ａ）を具備する。同様に、サーバ２（１００ｂ）とサーバ４（１００ｄ）は、管理データ１（３１０ｂ、３１０ｄ）と管理データ２（３２０ｂ、３２０ｄ）を具備する。また、サーバ３（１００ｃ）は、管理データ２（３２０ｃ）のみを具備する。各サーバに配置される共有データ１（３１２ａ、３１２ｂ、３１２ｄ）及び共有データ２（３２２ａ、３２２ｂ、３２２ｃ、３２２ｄ）には、すべて同じ値が設定されている。
【００４５】
ここで、サーバ１（１００ａ）のデータ記憶部１１０ａに格納される管理データ１（３１０ａ）には、サーバリスト３１３ａにデータを共有するサーバが「１、２、４」であること、マスタ情報３１５ａにマスタが「１」であることが設定されている。なお、数字は、各サーバのサーバ番号（サーバｎ；ｎは任意の数）に相当する。同様に、管理データ２（３２０ａ）には、サーバリスト３２３ａにデータを共有するサーバが「１、２、３、４」であること、マスタ情報３２５ａにマスタが「１」であることが設定されている。また、双方の応答リスト（３１４ａ、３２４ａ）と、排他獲得者（３１６ａ、３２６ａ）は、空（ＮＵＬＬ、図では０）が設定されている。従って、各サーバに配置される共有データ１（３１２ａ、３１２ｂ、３１２ｄ）及び共有データ２（３２２ａ、３２２ｂ、３２２ｃ、３２２ｄ）は、ともにサーバ１（１００ａ）によって管理されている。
【００４６】
この状態から、サーバ２（１００ｂ）に共有データ２の更新要求が発生したとする。
図５は、本実施の形態のブレードサーバシステムにおける非マスタのデータ更新要求発生時の管理データの状態を示した図である。なお、以下の図面では、データ記憶部１１０ａ、１００ｂ、１００ｃ、１００ｄを省略する。
【００４７】
サーバ２（１００ｂ）にデータ更新要求が発生すると、サーバ２（１００ｂ）のマスタ管理部１２３は、遷移条件が成立したと判定し、マスタ情報３２５ｂに設定されている「１」に相当するサーバ１（１００ａ）に対しマスタ取得要求を行ってマスタを取得する（ステップＳ０１）。マスタの取得により、自装置のデータ記憶部１１０ｂに格納される共有データ２（３２２ｂ）を「０」から「１」に更新するとともに、共有データ２に関するマスタ情報３２５ｂを「１」から「２」に変更し、サーバリスト３２３ｂから自装置を除く「１、３、４」を応答リスト３２４ｂに設定する。また、元のマスタであるサーバ１（１００ａ）は、マスタ情報３２５ａを自装置「１」から変更先のマスタ「２」に書き換える。
【００４８】
続いて、サーバ２（１００ｂ）のマスタ制御部１２２は、応答リスト３２４ｂに設定される他装置「１、３、４」のデータ記憶部１１０ａ、１１０ｃ、１１０ｄに格納される共有データを自装置と一致させるため、データ更新指示をマルチキャストで送信する（ステップＳ０２）。データ更新指示は、更新された共有データ３２２ｂに応答リスト３２４ｂを添付して送信される。なお、この例では、データ更新指示を受信する側がデータ更新指示をサーバ２（１００ｂ）から受信したことはわかるので、データ更新指示にマスタ情報を添付していないが、必要に応じて添付することもできる。また、通信量を最小とするため、マルチキャストで送信するとしたが、マルチキャストが実行できなければ、応答リストに基づき、対象のサーバに対し順次データ更新指示を送信する。
【００４９】
以上の手順が実行されることにより、共通データ２を更新するサーバ２（１００ｂ）がマスタになり、共有データ２を共有する他装置に対し、更新データと応答リストがマルチキャストで送信される。図の例では、サーバ４（１００ｄ）は、データ更新指示を受信できなかったとする。
【００５０】
図６は、本実施の形態のブレードサーバシステムにおけるデータ更新要求に対する応答受信時の管理データの状態を示した図である。
データ更新指示をマルチキャストで配布されたサーバ１（１００ａ）及びサーバ３（１００ｃ）は、添付された応答リスト「１、３、４」に自装置が含まれているかどうかを照合する。サーバ１（１００ａ）は、自装置が含まれているので、受信した更新データで自装置内の共有データ２（３２２ａ）を更新し、応答を返す（ステップＳ０３−１）。同様に、サーバ３（１００ｃ）も、自装置が含まれているので、受信した更新データで自装置内の共有データ２（３２２ｃ）を更新し、応答を返す（ステップＳ０３−２）。また、マスタ情報３２５ｃを「２」に変更する。一方、サーバ４（１００ｄ）は、データ更新指示を受信できなかったので、応答を返すことはできない。
【００５１】
こうして、マスタであるサーバ２（１００ｂ）は、サーバ１（１００ａ）とサーバ３（１００ｃ）からの応答が受信できるので、応答リストから対応する「１」と「３」を削除する。
【００５２】
以上の手順が実行されることにより、データ更新が完了したサーバがマスタであるサーバ２（１００ｂ）が保持する共有データ２の応答リスト３２４ｂから削除され、データ更新が未完のサーバが応答リスト３２４ｂに残る。
【００５３】
図７は、本実施の形態のブレードサーバシステムにおけるデータ更新要求の再送時の管理データの状態を示した図である。
マスタであるサーバ２（１００ｂ）は、自装置内に格納される共有データ２に関する応答リスト３２４ｂがＮＵＬＬではないので、データ更新指示を再送する（ステップＳ０４）。データ更新指示は、更新データに応答リスト「４」が添付され、マルチキャストで送信される。これを受信したサーバ１（１００ａ）とサーバ３（１００ｃ）は、応答リストに自装置がないので、処理を行わない。サーバ４（１００ｄ）は、受信した応答リストに自装置が含まれているので、受信した更新データで自装置内の共有データ２（３２２ｄ）を更新し、応答を返す（ステップＳ０５）。また、マスタ情報３２５ｄを「２」に変更する。
【００５４】
以上の手順が実行されることにより、共有データのデータ更新が未完のサーバ４（１００ｄ）に対するデータ更新が完了する。
図８は、本実施の形態のブレードサーバシステムにおけるデータ更新要求処理終了時の管理データの状態を示した図である。
【００５５】
マスタであるサーバ２（１００ｂ）は、サーバ４（１００ｄ）からの応答が受信されたので、応答リスト３２４ｂから対応する「４」を削除する。これにより、応答リスト３２４ｂは、ＮＵＬＬになるので、データ更新指示は完了する。
【００５６】
ここで、サーバに共有データのデータ更新が発生した時点から、共有データの更新までの処理手順を説明する。図９は、本実施の形態の共有データ更新手順を示したフローチャートである。なお、以下の説明で、＜＞は、他装置の処理を示す。
【００５７】
データ更新要求が発生し、処理が開始される。
［ステップＳ１１］  データ更新要求がされた対象の共有データに関するデータ管理情報のマスタ情報を参照し、自装置が対象の共有データのマスタであるかどうかを判定する。マスタであれば、処理をステップＳ１４へ進める。
【００５８】
［ステップＳ１２］  自装置が対象の共有データのマスタでなければ、マスタ情報に設定されている現在のマスタに対してマスタ変更依頼を行う。
［ステップＳ１３］  マスタ変更要求先である旧マスタから応答を受信し、自装置をマスタに設定する。
【００５９】
［ステップＳ１４］  他装置のデータ記憶部に格納される共有データを更新するため、対象の共有データのデータ管理情報からサーバリストを読み出し、自装置を除いて応答リストを設定する。これにより、応答リストには、共有データを共有する他のサーバ、すなわち、データ変更が正常に終了した場合に送信される応答を待つ対象のサーバが設定される。
【００６０】
［ステップＳ１５］  配布する更新データに応答リストを付与し、マルチキャストで送信する。
＜マルチキャストを受信したサーバは、応答リストに一致すれば、応答を返却する。＞
［ステップＳ１６］  サーバからの応答を受信したら、応答を返してきたサーバを応答リストから削除する。これにより、応答リストには、応答が返らない（データ更新が終了しない）サーバが残る。
【００６１】
［ステップＳ１７］  応答リストがＮＵＬＬ（＝０）であるかどうかを判定する。ＮＵＬＬであれば、すべての対象サーバから応答が得られているので、処理を終了する。ＮＵＬＬでなければ、応答リストに残ったサーバから応答を得られていないので、ステップＳ１５に戻って、更新データと応答リストを再送する。
【００６２】
このように、本実施の形態のブレードサーバシステムでは、各サーバに配置される共有データの最終更新者が共有データを管理するマスタになり、データを共有する他のサーバのデータ変更処理を行う。一般的に、データ共有化のためには、データ更新の際、更新データをデータ管理サーバに通知しなければならないため、データ更新を行うサーバがデータ管理サーバである場合に、処理負担及び通信量が最小になる。しかしながら、アクセス状況を想定して予めデータ管理サーバを設定するのは、システム管理者にとって負担となる。また、アクセス状況は、変化していくものであり、設定が状況に合わなくなる場合もある。本実施の形態では、データ管理処理は固定のサーバで行われるのではなく、共有データごとに最適なサーバが動的に割り当てられるようになる。この結果、通信量の削減など、データ共有化に係る処理負担を軽減することが可能となる。
【００６３】
さらに、本実施の形態では、共有データの配布にマルチキャストを用いるとともに、配布の際には応答の要否を指示する応答リストを付加することにより、サーバ間の通信量が最小となるようにしている。
【００６４】
従来、たとえば、電話交換機のように多くの端末から頻繁にアクセスを処理するシステムの場合、汎用のブレードサーバではデータ共有化のための処理負担が重く、要求性能の実現が難しくなってしまうため、専用のハードウェアを用いてシステム構築を行うことが多かった。しかし、本実施の形態を適用すれば、各々のブレードサーバの処理負担を軽減させることができるため、汎用のブレードサーバによってシステムを構築することが可能となる。
【００６５】
次に、上記の構成の本実施の形態における排他処理について説明する。
図１０は、本実施の形態の排他獲得要求時の排他権処理を示した図である。図は、サーバ２（１００ｂ）が共有データを含む管理データ（３３０ａ、３３０ｂ、３３０ｃ、３３０ｄ）のマスタであり、サーバ３（１００ｃ）から排他獲得要求があった場合を示している。
【００６６】
サーバ３（１００ｃ）は、アクセス制御部１２１が、共有データを排他的に利用するため、マスタから排他権を獲得する処理を開始する。アクセス制御部１２１は、自装置に格納される共有データに関するマスタ情報３３５ｃを読み出し、マスタが「２」であることを検出する。そして、［２］に相当するサーバ２（１００ｂ）に対し、排他獲得要求を行う（ステップＳ２１）。排他獲得要求を受信したサーバ２（１００ｂ）では、マスタ制御部１２２が、排他獲得者３３６ｂを参照し、排他獲得者がいない（＝０である）ことを確認すると、排他獲得者３３６ｂに要求元のサーバ３（１００ｃ）を設定し、排他獲得要求を許可する通知（ＯＫ）をサーバ３（１００ｃ）に送信する（ステップＳ２２）。
【００６７】
以上の処理手順により、サーバ３（１００ｃ）に対し、共有データの排他権が付与される。
この状態で、他のサーバから排他獲得要求があった場合について説明する。
【００６８】
図１１は、本実施の形態における排他権が付与された後の排他権処理を示した図である。
図は、サーバ３（１００ｃ）が排他権を獲得した後、サーバ１（１００ａ）から排他獲得要求があった場合を示している。
【００６９】
サーバ１（１００ａ）のアクセス制御部１２１は、共有データに関し、自装置に格納されるマスタ情報３３５ａに基づき、サーバ２（１００ｂ）に対し、排他獲得要求を行う（ステップＳ２３）。排他獲得要求を受信したサーバ２（１００ｂ）では、マスタ制御部１２２が、排他獲得者３３６ｂを確認する。この場合、排他権はサーバ３（１００ｃ）に付与されているので、排他獲得要求を拒否する通知（ＮＧ）をサーバ１（１００ａ）に送信する（ステップＳ２４）。
【００７０】
以上のように、データ管理情報に排他獲得者情報を設け、他のサーバからの排他獲得要求を管理することにより、排他区間の制御を行うことができる。
ところで、共有データの設定は任意であり、データごとにその特性が異なる。たとえば、電話交換機システムなどでは、加入者名や加入者識別情報、住所などのデータは、変更されることが少ない。一方、利用時間や利用料金などのデータは、更新頻度が高い。このように、共有データはそのデータ項目によって特性が大きく異なる。
【００７１】
このため、利用料金など、更新頻度の高いデータを一般的な共有データの利用形態、すなわち、各装置に同一内容の共有データを保持させ、データ更新時にはすべての装置のデータ記憶部に格納されるデータを更新する利用形態の場合、頻繁に発生するデータ更新ごとにマスタからのデータ更新指示が行われることになり、データの整合性を確保するための通信量が増大してしまう。一方、加入者識別情報などのように、更新される頻度は低いが、多くの装置が参照するようなデータをマスタが保持し、他装置は必要時にマスタから読み出すようにすると、読み出しが発生するたびにマスタとの間で行なわれる通信量が膨大となり、アクセス性能が低下してしまう。
【００７２】
そこで、本実施の形態では、データ特性に応じて読み出し及び書き込みの際の利用モードを設け、各装置のアクセス制御部１２１は、その利用モードに従った読み出し及び書き込み処理を行う。利用モードについて説明する。
【００７３】
本実施の形態では、書き込みと読み出しのそれぞれに、自装置内またはマスタのみで処理が完結する利用モードと、他装置の共有データにアクセスする利用モードの２種類を設ける。具体的には、書き込みでは、ライトバックと、ライトスルーを設ける。また、読み出しでは、リードマスタと、リードローカルを設ける。
【００７４】
ライトバック（以下、ＷＢとする）は、データ更新時に、マスタのデータのみを書き換える利用形態である。すなわち、自装置がマスタであれば、自装置内のデータ記憶部の書き換えで処理が終了する。また、自装置がマスタでない場合は、マスタへデータ変更を依頼する通信が行なわれるが、その後、マスタから他装置へのデータ更新要求は行われない。このように、ＷＢを選択することにより、処理負担が軽減される。
【００７５】
図１２は、本実施の形態のライトバック処理の手順を示したフローチャートである。
データ更新時、更新対象の利用モードにＷＢが設定されている場合に、処理が開始される。
【００７６】
［ステップＳ３１］  自装置がマスタであるかどうかを、データ更新対象の共有データに関するマスタ情報に基づき判定する。自装置がマスタでない場合は、処理をステップＳ３３へ進める。
【００７７】
［ステップＳ３２］  自装置がマスタである場合、共有データが格納される自装置のメモリ（データ記憶部）へ更新データを書き込み、処理を終了する。
［ステップＳ３３］  自装置がマスタでない場合、マスタ情報に設定されたマスタに対し、データ変更を依頼する。
【００７８】
＜データ変更依頼を受信したマスタは、マスタの対象メモリの共有データを受信した更新データに書き換え、応答を返す。＞
［ステップＳ３４］  マスタから応答を受信して、マスタのメモリ上の共有データが更新されたことを確認し、処理を終了する。
【００７９】
ライトスルー（以下、ＷＴとする）は、サーバリストに含まれるサーバすべてのデータを書き換える利用形態である。すなわち、自装置がマスタであれば、自装置のメモリの書き換えとともに、サーバリストに設定される他のサーバに対し、データ更新要求を行う。また、自装置がマスタでない場合は、マスタを取得した後、同様の処理を行う。このように、ＷＴでは、図９に示したデータ更新処理の手順と同様の処理手順が実行される。ＷＴでは、すべてのデータの書き換えが行われるので、ＷＢと比較して処理負担が重くなる。
【００８０】
リードマスタ（以下、ＲＭとする）は、マスタのデータをリードする利用形態である。すなわち、自装置がマスタであれば、自装置からのメモリ読み出しになる。また、自装置がマスタでない場合は、対象の共有データのマスタ情報に設定されたマスタに対して共有データの取得要求を行う。通信が発生するため、自装置のメモリの読み出しに比べて処理負担が重くなるが、常に最新のデータを取得することができる。
【００８１】
図１３は、本実施の形態のリードマスタ処理の手順を示したフローチャートである。データ読み出し時、対象の利用モードにＲＭが設定されている場合に、処理が開始される。
［ステップＳ４１］  自装置がマスタであるかどうかを、データ読み出し対象の共有データに関するマスタ情報に基づき判定する。自装置がマスタでない場合は、処理をステップＳ４３へ進める。
【００８２】
［ステップＳ４２］  自装置がマスタである場合、共有データが格納される自装置のメモリから対象の共有データを読み出し、処理を終了する。
［ステップＳ４３］  自装置がマスタでない場合、マスタ情報に設定されたマスタに対し、データ読み出しを依頼する。
【００８３】
＜データ読み出し依頼を受信したマスタは、マスタの対象メモリの共有データを読み出し、応答を返す。＞
［ステップＳ４４］  マスタから応答を受信し、対象データを取得して処理を終了する。
【００８４】
リードローカル（以下、ＲＬとする）は、自装置のメモリに保有する共有データを読み出す利用形態である。すなわち、自装置がマスタであるか否かにかかわらず、自装置のメモリに格納されるデータを読み出すので、通信処理は発生せず、ＲＭと比較して処理負担が軽い。
【００８５】
このような利用モードは、データの特性に応じて装置ごとに設定される。以下、４種類のデータ特性パターンに応じた利用モードの設定例を説明する。なお、以下の説明では、サーバ２（１００ｂ）がマスタであるとする。
【００８６】
図１４は、本実施の形態の第１のデータ特性パターンにおける利用モードを示した図である。
図１４の例では、共有データは、サーバ２（１００ｂ）からは「たまにライト」され、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）からは、「頻繁にリード」されるというデータ特性を持っている。そこで、「たまにライト」するサーバ２（１００ｂ）にＲＬ／ＷＴを設定し、「頻繁にリード」するサーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）にもＲＬ／ＷＴを設定する。
【００８７】
このような設定では、マスタであるサーバ２（１００ｂ）にライトが発生した場合、アクセス制御部１２１は、利用モードがＷＴであるので、自装置内の共有データ３３２ｂを更新するとともに、他のサーバの共有データを更新する処理を行う。これにより、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）がそれぞれのメモリに保持する共有データ３３２ａ、３３２ｃ、３３２ｄは、サーバ２（１００ｂ）と同じ値に更新される。また、サーバ１（１１０ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）の利用モードはＲＬであるので、データの読み出し要求が発生した場合には、自装置内に格納される共有データ３３２ａ、３３２ｃ、３３２ｄを読み出す。これにより、頻繁に発生する読み出しが自装置内で完結することになり、読み出し処理の処理負担が軽減される。一方、サーバ２（１００ｂ）でデータ更新が発生した場合には、データを一致させる処理が行われるが、頻度は少ないため、全体の処理負荷にはあまり影響しない。
【００８８】
なお、マスタではない他のサーバにデータ書き込みが発生した場合には、そのサーバがマスタに遷移し、同様の処理を行うようにすることもできる。
次に、第２のデータ特性パターンの場合について説明する。図１５は、本実施の形態の第２のデータ特性パターンにおける利用モードを示した図である。
【００８９】
図１５の例では、共有データは、サーバ２（１００ｂ）からは「頻繁にライト」されるが、他のサーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）からは「たまにリード」されるというデータ特性を持っている。そこで、「頻繁にライト」するサーバ２（１００ｂ）にＲＭ／ＷＢを設定し、「たまにリード」するサーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）にもＲＭ／ＷＢを設定する。
【００９０】
このような設定では、マスタであるサーバ２（１００ｂ）にライトが発生した場合、アクセス制御部１２１は、利用モードがＷＢであるので、自装置内の共有データ３３２ｂを更新し、処理を終了する。一方、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）の利用モードはＲＭであるので、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）は、データ読み出し時、サーバ２（１００ｂ）に対し共有データの読み出し要求を行う。サーバ２（１００ｂ）は、自装置内に格納される最新の共有データ３３２ｂを要求のあったサーバに送信する。これにより、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）は、自装置内の共有データ（３３２ａ、３３２ｃ、３３２ｄ）は更新されないが、最新のデータを読み出すことができる。なお、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）でライトが発生した場合には、ＷＢであるので、マスタであるサーバ２（１００ｂ）へデータ更新を通知する。データ更新を通知されたサーバ２（１００ｂ）は、通知によってデータを更新するが、ＷＢであるので、他サーバのデータ更新処理は行わない。
【００９１】
以上のように、頻繁に書き込みがされる共有データは、マスタであるサーバ２（１００ｂ）のみ更新させることにより、他のサーバのデータ更新のための処理を省くことができ、通信量を削減することができるとともに、装置の処理負担を軽減することができる。なお、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）は、必要時にサーバ２（１００ｂ）に対してデータの読み出しを行わなければならないが、頻度は少ないため、全体の処理負荷にはあまり影響しない。
【００９２】
次に、第３のデータ特性パターンの場合について説明する。図１６は、本実施の形態の第３のデータ特性パターンにおける利用モードを示した図である。
図１６の例では、共有データは、サーバ２（１００ｂ）からは「頻繁にリード」され、他のサーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）からは「たまにライト」されるというデータ特性を持っている。そこで、「頻繁にリード」するサーバ２（１００ｂ）にＷＢ／ＲＭを設定し、「たまにライト」するサーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）にもＷＢ／ＲＭを設定する。
【００９３】
このような設定では、サーバ１（１００ａ）、サーバ３（１００ｃ）またはサーバ４（１００ｄ）にライトが発生した場合、そのアクセス制御部は、利用モードがＷＢであるので、マスタであるサーバ２（１００ｂ）へデータ更新を通知する。データ更新を通知されたサーバ２（１００ｂ）は、通知によってデータを更新するが、ＷＢであるので、他サーバのデータ更新を行わず、処理を終了する。これにより、サーバ２（１００ｂ）内の共有データ３３２ｂは最新のデータとなる。なお、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）の利用モードはＲＭであるので、サーバ１（１００ａ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）は、データ読み出し時、サーバ２（１００ｂ）に対し共有データの読み出し要求を行って最新のデータを読み出す。
【００９４】
以上のように、頻繁にリードされる共有データは、リードを行うサーバ内に最新データを保持しておくことにより、頻繁なリードを自装置内で完結させることができる。また、他サーバからたまにしか利用されないのであれば、頻繁にリードするサーバをマスタとし、他サーバはＷＢとすることにより、共有データを一致化させるための処理を省くことができる。この結果、通信量を削減し、全体の処理負荷を軽減させることができる。
【００９５】
次に、第４のデータ特性パターンの場合について説明する。図１７は、本実施の形態の第４のデータ特性パターンにおける利用モードを示した図である。
図１７の例では、共有データは、サーバ１（１００ａ）からは「たまにリード」され、他のサーバ２（１００ｂ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）からは「頻繁にライト」されるというデータ特性を持っている。そこで、「頻繁にライト」するサーバ２（１００ｂ）、サーバ３（１００ｃ）及びサーバ４（１００ｄ）にＲＭ／ＷＢを設定し、「たまにリード」するサーバ１（１００ａ）にもＲＭ／ＷＢを設定する。
【００９６】
このような設定では、マスタであるサーバ２（１００ｂ）にライトが発生した場合、アクセス制御部１２１は、利用モードがＷＢであるので、自装置内の共有データ３３２ｂを更新し、処理を終了する。一方、マスタではないサーバ３（１００ｃ）及びサーバ４（１００ｄ）にライトが発生した場合、サーバ３（１００ｃ）及びサーバ４（１００ｄ）のアクセス制御部１２１は、サーバ２（１００ｂ）に対してデータ更新を通知する。データ更新を通知されたサーバ２（１００ｂ）は、通知によってデータを更新するが、ＷＢであるので、他サーバのデータ更新処理は行わない。こうして、マスタであるサーバ２（１００ｂ）内の共有データ３３２ｂのみが常に最新の状態を維持する。また、たまにリードを行うサーバ１（１００ａ）の利用モードはＲＭであるので、アクセス制御部１２１は、データ読み出し時、サーバ２（１００ｂ）に対し共有データの読み出し要求を行う。サーバ２（１００ｂ）は、自装置内に格納される最新の共有データ３３２ｂを要求のあったサーバ１（１００ａ）に送信する。これにより、サーバ１（１００ａ）は、自装置内の共有データ３３２ａは更新されないが、最新のデータを読み出すことができる。なお、サーバ３（１００ｃ）及びサーバ４（１００ｄ）でリードが発生した場合にも同様に、ＲＭであるので、マスタであるサーバ２（１００ｂ）からデータの読み出しを行う。これにより、サーバ３（１００ｃ）及びサーバ４（１００ｄ）においても利用時には最新のデータが得られる。
【００９７】
以上のように、頻繁にライトされるが、たまにしかリードされない共有データは、ＷＢとすることによって、マスタであるサーバ２（１００ｂ）は、頻繁なライトを自装置内で完結させることができる。なお、マスタ以外で頻繁なライトを行うサーバ３（１００ｃ）及びサーバ４（１００ｄ）は、マスタへのデータ更新を通知する処理が必要になるが、その後の共有データを一致させるための処理が省かれるので、結果として通信量を削減することができる。
【００９８】
以上のように、本実施の形態では、データの特性に応じて、読み出し及び書き込みの利用モードを設定し、利用モードに従って、書き込み時にデータを一致させる処理を行うか否か、また、読み出し時の読み出し先を選択することによって、通信量を削減し、装置の処理負荷を軽減することができる。なお、上記の説明のデータ特性のパターンは、一例であり、他のパターンの場合にも同様に通信量を軽減する最適な利用モードを設定することができる。
【００９９】
しかしながら、管理者にとって、共有データがどのようなデータ特性を有しているかを解析し、最適な利用モードを設定することは容易ではない。また、アクセス状況の変化によって一旦設定された利用モードが、システムに適合しなくなることもある。
【０１００】
そこで、本実施の形態では、各装置のアクセス制御部１２１が、共有データへのアクセス状況をアクセス履歴情報として残しておき、解析サーバが、各装置のアクセス履歴情報を解析する。そして、解析結果に応じて、利用モード管理部１２４が、各装置の利用モードを設定する。さらに、利用モードの設定とともに、解析結果に基づき、マスタ管理部１２３がマスタの設定を行うようにする。
【０１０１】
以下、アクセス状況解析が開始されてから、解析結果に基づき利用モードとマスタが設定されるまでの処理手順を、アクセス履歴情報解析、管理情報送信及び設定更新の順に説明する。
【０１０２】
図１８は、本実施の形態の利用モード設定処理におけるアクセス履歴情報解析を示した図である。
図の例では、サーバ１（１００ａ）、サーバ２（１００ｂ）、サーバ３（１００ｃ）、サーバ４（１００ｄ）及びサーバ６（１００ｆ）が同一の共有データをそれぞれのデータ記憶部（１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｆ）に格納している。各データ記憶部（１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｆ）には、共有データＡ、Ｂ、Ｃ、Ｄが格納されており、それぞれの共有データを管理する管理サーバ（マスタ）には、サーバ６（１００ｆ）が設定されている。さらに、各サーバはアクセス制御部１２１ａ、１２１ｂ、１２１ｃ、１２１ｄ、１２１ｆを有しており、アクセス制御部１２１ａ、１２１ｂ、１２１ｃ、１２１ｄ、１２１ｆは、自装置が共有データにアクセスするごとに、その読み出し回数と書き込み回数をカウントし、アクセス履歴情報として残している。なお、アクセス履歴情報は、共有データごとに作成される。
【０１０３】
管理サーバ（マスタ）であるサーバ６（１００ｆ）は、利用モード管理部１２４ｆが、一定周期ごとなど、所定のタイミングで、自装置が管理サーバ（マスタ）である共有データについて、データを共有するサーバのアクセス制御部１２１ａ、１２１ｂ、１２１ｃ、１２１ｄ及び自装置のアクセス制御部１２１ｆから対象の共有データに関するアクセス履歴情報を収集し、これを統計処理してアクセス頻度履歴を作成する。図の例では、共有データＢに関するアクセス頻度履歴４０１が作成される。以下、共有データＢの場合で説明する。
【０１０４】
アクセス頻度履歴４０１は、所定の期間のアクセス回数がサーバごとに記録されており、各サーバのアクセス頻度を判定することができる。たとえば、サーバ１は、リードが５回、ライトが０回であり、サーバ２は、リードが２０回、ライトも２０回であることがわかる。同様に、サーバ３、サーバ４及び自サーバ６のアクセス頻度もわかる。
【０１０５】
マスタ管理部１２３ｆ及び利用モード管理部１２４ｆは、このアクセス頻度履歴４０１を解析して、最適なマスタ及び利用モードを設定する。
マスタ管理部１２３ｆは、たとえば、マスタ遷移条件として、「アクセス頻度が最も高いサーバ」が設定されているとすると、アクセス頻度を比較して最もアクセス頻度の高いサーバを次のマスタに選択する。図の例では、サーバ２が、リード２０回、ライト２０回と、最もアクセス頻度が高いので、次のマスタに設定される。なお、リードの頻度とライトの頻度のどちらを優先するのかなど、遷移条件はシステムごとに任意に設定される。
【０１０６】
利用モード管理部１２４ｆは、アクセス頻度履歴４０１に基づき、利用モードを判定する。たとえば、サーバ１は、リード５回、ライト０回で、「たまにリード」であると判定される。サーバ３及びサーバ４も同じ回数であるので、同様に、「たまにリード」と判定される。また、サーバ２は、リード２０回、ライト２０回であり、「頻繁にリード」と「頻繁にライト」と判定される。そして、自装置であるサーバ６は、リード０回、ライト５回で、「たまにライト」と判定される。利用モード管理部１２４では、アクセス頻度履歴４０１の解析によって、このようなデータ特性が得られ、マスタ管理部１２３ｆによって次のマスタにサーバ２が選択されていることから、サーバ２をマスタとするＷＢ／ＲＭを利用モードに設定する。なお、所定期間のアクセス回数がいくつ以上であれば「頻繁」とするのかなどや、各サーバにおけるデータ特性と設定する利用モードなどの条件は、たとえば、予めテーブルなどに登録しておき、これを参照することによって利用モードを決定する。
【０１０７】
以上の処理が実行されることにより、アクセス状況の解析結果に基づき、次の管理サーバ（マスタ）と、利用モードが選択される。
続いて、管理サーバ（マスタ）の指定と、利用モードを各サーバに通知する処理が開始される。
【０１０８】
図１９は、本実施の形態の利用モード設定処理における管理情報送信を示した図である。
図１８の処理によって、共有データＢについて、管理サーバ(マスタ)がサーバ２、利用モードがＷＢ／ＲＭに設定される。ここでは、アクセス制御部１２１ｆを介して各サーバに設定情報を送信することとする。
【０１０９】
サーバ６（１００ｆ）のアクセス制御部１２１ｆは、サーバ１（１００ａ）に対し、次の管理サーバ（マスタ）及び利用モードを管理情報として送信する。管理情報を取得したサーバ１（１００ａ）は、共有データＢの管理サーバ（マスタ）をサーバ２（１００ｂ）に変更するとともに、利用モードをＷＢ／ＲＭに設定する。同様に、サーバ３（１００ｃ）及びサーバ４（１００ｄ）は、アクセス制御部１２１ｃ、１２１ｄを介して受信した管理情報に基づき、共有データＢの管理サーバ（マスタ）をサーバ２（１００ｂ）に変更し、利用モードをＷＢ／ＲＭに設定する。また、アクセス制御部１２１ｆは、次の管理サーバとなるサーバ２（１００ｂ）に対しては、管理情報とともに自装置のデータ記憶部１１０ｆに格納される最新の共有データＢのデータを送信する。サーバ２（１００ｂ）は、アクセス制御部１２１ｂ経由で受信した管理情報に基づき、管理サーバ（マスタ）を自装置とするとともに、利用モードをＷＢ／ＲＭとする。そして、受信した共有データＢを自装置のデータ記憶部１１０ｂに格納する。
【０１１０】
以上の処理が実行されることにより、共有データＢについて、次のマスタと利用モードが設定される。
図２０は、本実施の形態の利用モード設定処理における設定後の状態を示した図である。
【０１１１】
図１９の処理によって、共有データＢについて管理サーバ（マスタ）がサーバ２（１００ｂ）に変更され、利用モードがＷＢ／ＲＭになる。これにより、以降、サーバ１（１００ａ）、サーバ３（１００ｃ）、サーバ４（１００ｄ）及びサーバ６（１００ｆ）に共有データＢのライトが発生した場合には、マスタであるサーバ２（１００ｂ）にデータ更新が通知され、サーバ２（１００ｂ）は自装置のデータ記憶部１１０ｂを更新して最新の状態を維持する。また、サーバ１（１００ａ）、サーバ３（１００ｃ）、サーバ４（１００ｄ）及びサーバ６（１００ｆ）に共有データＢのリードが発生した場合には、各サーバは、マスタであるサーバ２（１００ｂ）からデータを読み出す。
【０１１２】
そして、所定の周期が経過後、管理サーバ（マスタ）であるサーバ２（１００ｂ）は、各サーバからアクセス履歴情報を収集し、解析を行って、次のマスタ及び利用モードを選択する。
【０１１３】
このように、管理サーバ（マスタ）となったサーバが、利用モード管理部及びマスタ管理部によって各サーバのアクセス履歴情報を収集・解析し、最適なマスタ及び利用モードを動的に変更していくことにより、システムの通信量を最小の状態とし、全体の処理負荷を軽減することが可能となる。
【０１１４】
上記の説明の実施の形態では、アクセス状況を解析し、解析結果に基づき各装置の利用モードとマスタを設定するとしたが、処理機能は適用するシステムに応じて適宜変形される。たとえば、利用モードを一般的なＷＴ／ＲＬに固定しておき、アクセス状況の解析に基づき、最も利用頻度の高いサーバをマスタに設定する適用が可能である。また、利用モードの設定をマスタ以外のサーバが行うことによって、マスタの処理負担を軽減させる構成とすることもできる。
【０１１５】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、データ共有装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１１６】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１７】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１８】
（付記１）  ネットワークを介して接続する複数の装置が各々保有する共有データに関し、各装置間で前記共有データの整合性を保持してアクセス制御を行うデータ共有装置において、
前記共有データとともに、前記共有データを共有する装置に関する装置情報及び前記共有データを管理するマスタに関するマスタ情報を含むデータ管理情報を前記共有データに対応付けて記憶するデータ記憶手段と、
前記共有データに応じた前記マスタへの遷移条件が成立したかどうかを判定し、前記遷移条件が自装置に成立している場合は、前記共有データに対応する前記マスタ情報に設定された前記マスタが他装置であれば、前記他装置にマスタ取得要求を行って自装置を前記マスタに設定するマスタ管理手段と、
自装置が前記マスタである前記共有データに関し、前記共有データの更新時、自装置の前記データ記憶手段の前記共有データを更新するとともに、必要に応じて、前記装置情報に従い前記共有データを共有する他装置に対し、前記共有データの更新を指示するアクセス制御手段と、
を具備することを特徴とするデータ共有装置。
【０１１９】
（付記２）  前記マスタ管理手段は、
自装置が前記マスタである前記共有データに関し、前記遷移条件が他装置に成立したと判定すると、前記遷移条件が成立した前記他装置に前記マスタへの変更要求を行う、
ことを特徴とする付記１記載のデータ共有装置。
【０１２０】
（付記３）  前記マスタ管理手段は、
自装置が前記マスタの前記共有データに対する前記マスタ取得要求を受信すると、前記マスタ取得要求の要求元へ前記マスタを遷移させることを通知するマスタ変更通知を前記装置情報に設定されたすべての装置に対して送信するとともに、自装置が前記データ記憶手段に格納する前記共有データを前記要求元に対して送信する、
ことを特徴とする付記１記載のデータ共有装置。
【０１２１】
（付記４）  前記マスタ管理手段は、
前記マスタ取得要求を送信した現在の前記マスタから前記マスタ取得要求に対する許可応答を受信すると、自装置を前記マスタとした後、前記マスタに遷移したことを通知するマスタ変更通知を前記装置情報に設定されたすべての装置に対して送信する、
ことを特徴とする付記１記載のデータ共有装置。
【０１２２】
（付記５）  前記遷移条件として前記共有データの更新を行う装置が前記マスタに遷移することが設定され、
前記アクセス制御手段が、前記共有データの更新指示を入力すると、前記マスタ管理手段によって前記共有データの前記マスタとなった後、前記マスタに遷移したことを通知するマスタ変更通知を前記共有データの更新データとともに前記装置情報に設定されたすべての装置に対して送信する、
ことを特徴とする付記１記載のデータ共有装置。
【０１２３】
（付記６）  前記遷移条件として前記共有データへのアクセス頻度が高い装置が前記マスタに遷移することが設定され、
前記アクセス制御手段が、自装置の前記データ記憶手段に格納される前記共有データへのアクセス回数をカウントしてアクセス履歴情報として残し、
前記マスタ管理手段が、自装置が前記マスタである前記共有データに関し、前記装置情報に設定された他装置の前記アクセス履歴情報を取得し、自装置の前記アクセス履歴情報とともに装置ごとのアクセス状況を解析し、最もアクセス頻度の高い前記装置を前記マスタに設定する、
ことを特徴とする付記１記載のデータ共有装置。
【０１２４】
（付記７）  前記アクセス制御手段は、
前記共有データの更新を指示する際に、前記装置情報から応答が必要な装置に関する応答リストを作成し、前記共有データの更新指示とともに対象の前記装置に送信して前記装置から応答を取得すると前記応答リストから前記応答を取得した前記装置を削除する処理を前記応答リストが空になるまで繰り返す、
ことを特徴とする付記１記載のデータ共有装置。
【０１２５】
（付記８）  前記アクセス制御手段は、
前記共有データの更新指示と前記応答リストをマルチキャストで送信する、
ことを特徴とする付記７記載のデータ共有装置。
【０１２６】
（付記９）  前記アクセス制御手段は、
自装置が前記マスタの前記共有データに関する排他権を有する装置に関する排他獲得者情報を前記データ管理情報に備え、他装置から所定の共有データに対する前記排他権を要求する排他獲得要求を取得すると、前記所定の共有データに関する前記排他獲得者情報に基づき前記排他権を付与できるかどうかを判定し、付与できる場合には前記排他権を要求元の前記他装置に付与し、前記排他権に基づく処理が終了されるまで、前記排他獲得者情報に前記他装置を設定する、
ことを特徴とする付記１記載のデータ共有装置。
【０１２７】
（付記１０）  前記アクセス制御手段は、
自装置が前記マスタでない前記共有データに関し前記排他権が必要な場合は、前記マスタに対し前記排他獲得要求を行って前記排他権を獲得して排他処理を実行し、処理終了後に処理終了の通知を前記マスタに送信する、
ことを特徴とする付記９記載のデータ共有装置。
【０１２８】
（付記１１）  前記アクセス制御手段は、さらに、
前記共有データの利用形態及び利用頻度を含む特性に応じて設定される、前記共有データ読み出し時に自装置の前記共有データを利用するか前記マスタの前記共有データを利用するかを規定する読み出し利用モードと、前記共有データへの書き込み時に前記マスタの前記共有データのみを更新するか、他装置が保有する前記共有データも更新するかを規定する書き込み利用モードと、に従ってアクセス制御を行う、
ことを特徴とする付記１記載のデータ共有装置。
【０１２９】
（付記１２）  所定の共有データに関し、各装置の前記アクセス制御手段が作成する前記データ記憶手段に格納される前記共有データの読み出し回数と前記共有データへの書き込み回数に応じたアクセス履歴情報を、前記装置情報に基づき前記所定の共有データを共有する他装置から取得し、自装置の前記アクセス履歴情報とに基づいて前記共有データの利用状況を解析し、前記利用状況に応じて前記読み出し時の利用モード及び前記書き込み時の利用モードを設定する利用モード管理手段、
を具備することを特徴とする付記１１記載のデータ共有装置。
【０１３０】
（付記１３）  ネットワークを介して接続する複数の装置が各々保有する共有データに関し、各装置間で前記共有データの整合性を保持してアクセス制御を行うデータ共有処理プログラムにおいて、
コンピュータに、
前記共有データとともに、前記共有データを共有する装置に関する装置情報及び前記共有データを管理するマスタに関するマスタ情報を含むデータ管理情報を前記共有データに対応付けてデータ記憶手段に記憶しておく手順と、
前記共有データに応じた前記マスタへの遷移条件が成立したかどうかを判定し、前記遷移条件が自装置に成立している場合は、前記共有データに対応する前記マスタ情報に設定された前記マスタが他装置であれば、前記他装置にマスタ取得要求を行って自装置を前記マスタに設定する手順と、
自装置が前記マスタである前記共有データに関し、前記共有データの更新時、自装置の前記データ記憶手段の前記共有データを更新するとともに、必要に応じて、前記装置情報に従い前記共有データを共有する他装置に対し、前記共有データの更新を指示する手順と、
を実行させることを特徴とするデータ共有処理プログラム。
【０１３１】
（付記１４）  ネットワークを介して接続する複数の装置が各々保有する共有データに関し、各装置間で前記共有データの整合性を保持してアクセス制御を行うデータ共有処理方法において、
前記共有データとともに、前記共有データを共有する装置に関する装置情報及び前記共有データを管理するマスタに関するマスタ情報を含むデータ管理情報を前記共有データに対応付けてデータ記憶手段に記憶しておく手順と、
マスタ管理手段が、前記共有データに応じた前記マスタへの遷移条件が成立したかどうかを判定し、前記遷移条件が自装置に成立している場合は、前記共有データに対応する前記マスタ情報に設定された前記マスタが他装置であれば、前記他装置にマスタ取得要求を行って自装置を前記マスタに設定する手順と、
アクセス制御手段が、自装置が前記マスタである前記共有データに関し、前記共有データの更新時、自装置の前記データ記憶手段の前記共有データを更新するとともに、必要に応じて、前記装置情報に従い前記共有データを共有する他装置に対し、前記共有データの更新を指示する手順と、
を有することを特徴とするデータ共有処理方法。
【図面の簡単な説明】
【０１３２】
【図１】実施の形態に適用される発明の概念図である。
【図２】本実施の形態のブレードサーバシステムの構成図である。
【図３】本実施の形態のサーバブレードで利用される管理データの一例を示した図である。
【図４】本実施の形態のブレードサーバシステムにおけるデータ更新開始前の管理データの状態を示した図である。
【図５】本実施の形態のブレードサーバシステムにおける非マスタのデータ更新要求発生時の管理データの状態を示した図である。
【図６】本実施の形態のブレードサーバシステムにおけるデータ更新要求に対する応答受信時の管理データの状態を示した図である。
【図７】本実施の形態のブレードサーバシステムにおけるデータ更新要求の再送時の管理データの状態を示した図である。
【図８】本実施の形態のブレードサーバシステムにおけるデータ更新要求処理終了時の管理データの状態を示した図である。
【図９】本実施の形態の共有データ更新手順を示したフローチャートである。
【図１０】本実施の形態の排他獲得要求時の排他権処理を示した図である。
【図１１】本実施の形態における排他権が付与された後の排他権処理を示した図である。
【図１２】本実施の形態のライトバック処理の手順を示したフローチャートである。
【図１３】本実施の形態のリードマスタ処理の手順を示したフローチャートである。
【図１４】本実施の形態の第１のデータ特性パターンにおける利用モードを示した図である。
【図１５】本実施の形態の第２のデータ特性パターンにおける利用モードを示した図である。
【図１６】本実施の形態の第３のデータ特性パターンにおける利用モードを示した図である。
【図１７】本実施の形態の第４のデータ特性パターンにおける利用モードを示した図である。
【図１８】本実施の形態の利用モード設定処理におけるアクセス履歴情報解析を示した図である。
【図１９】本実施の形態の利用モード設定処理における管理情報送信を示した図である。
【図２０】本実施の形態の利用モード設定処理における設定後の状態を示した図である。
【符号の説明】
【０１３３】
１ａ、１ｂ  共有データ
２ａ、２ｂ  データ管理情報
１０ａ、１０ｂ  データ共有装置
１１ａ、１１ｂ  データ記憶手段
１２ａ、１２ｂ  アクセス制御手段
１３ａ、１３ｂ  マスタ管理手段
１４ａ、１４ｂ  利用モード管理手段
１５ａ、１５ｂ  通信制御手段
【図１】
2006338378.tif 000003
【図２】
2006338378.tif 000004
【図３】
2006338378.tif 000005
【図４】
2006338378.tif 000006
【図５】
2006338378.tif 000007
【図６】
2006338378.tif 000008
【図７】
2006338378.tif 000009
【図８】
2006338378.tif 000010
【図９】
2006338378.tif 000011
【図１０】
2006338378.tif 000012
【図１１】
2006338378.tif 000013
【図１２】
2006338378.tif 000014
【図１３】
2006338378.tif 000015
【図１４】
2006338378.tif 000016
【図１５】
2006338378.tif 000017
【図１６】
2006338378.tif 000018
【図１７】
2006338378.tif 000019
【図１８】
2006338378.tif 000020
【図１９】
2006338378.tif 000021
【図２０】
2006338378.tif 000022