(57)【要約】【課題】ストレージ管理装置とストレージ制御装置との間におけるストレージ装置の装置情報の同期を効率的に実現する。【解決手段】ストレージ装置の構成に関する、複数の情報要素を含む構成情報２２１と、その更新の状況を示す第１更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶する記憶部２２と、ストレージ制御装置から第１更新情報を取得し、前記記憶部２２が記憶する第１更新情報と比較する比較部２３ａと、両者が異なる場合、前記記憶部２２が記憶する複数の第２更新情報を前記ストレージ制御装置へ送信する送信部２４２と、送信した複数の第２更新情報に基づき前記ストレージ制御装置において抽出された１以上の情報要素を、前記ストレージ制御装置から受信する受信部２４２と、受信した１以上の情報要素に基づいて、前記記憶部２２が記憶する構成情報２２１を更新する更新部２４３と、をそなえる。【選択図】図１３
2019159536.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第１更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶する記憶部と、
前記ストレージ装置を制御するストレージ制御装置から第１更新情報を取得し、取得した第１更新情報と、前記記憶部が記憶する第１更新情報とを比較する比較部と、
取得した第１更新情報と前記記憶部が記憶する第１更新情報とが異なる場合、前記記憶部が記憶する複数の第２更新情報を前記ストレージ制御装置へ送信する送信部と、
送信した複数の第２更新情報に基づき前記ストレージ制御装置において抽出された１以上の情報要素を、前記ストレージ制御装置から受信する受信部と、
受信した１以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する更新部と、をそなえる
ストレージ管理装置。
【請求項２】
前記受信部は、送信した複数の第２更新情報の各々と、前記ストレージ制御装置が記憶する複数の第２更新情報の各々と、の比較によって抽出された前記１以上の情報要素を、前記ストレージ制御装置から受信する、請求項１に記載のストレージ管理装置。
【請求項３】
前記受信部は、前記ストレージ制御装置から、第１更新情報と、抽出された１以上の情報要素の各々の更新の状況を示す１以上の第２更新情報と、を受信し、
前記更新部は、受信した第１更新情報及び１以上の第２更新情報に基づいて、前記記憶部が記憶する第１更新情報及び複数の第２更新情報を更新する、請求項１又は請求項２に記載のストレージ管理装置。
【請求項４】
前記構成情報の前記複数の情報要素は、前記ストレージ装置が有する記憶ボリュームに関連する１以上の情報要素を含む、請求項１〜３のいずれか１項に記載のストレージ管理装置。
【請求項５】
前記ストレージ装置とは装置規模に関連する製品仕様が異なる他のストレージ装置の構成に関する構成情報を記憶する保持部と、
前記他のストレージ装置を制御する他のストレージ制御装置に対して、前記比較部、前記送信部、前記受信部、及び前記更新部の処理の実行を抑止するとともに、所定のタイミングで、前記他のストレージ制御装置から前記他のストレージ装置の構成に関する構成情報を取得し、取得した構成情報に基づいて前記保持部が保持する構成情報を更新する制御部と、をそなえる、請求項１〜４のいずれか１項に記載のストレージ管理装置。
【請求項６】
ストレージ装置をそなえるストレージシステムを管理するストレージ管理装置と、
前記ストレージ装置を制御するストレージ制御装置と、をそなえ、
前記ストレージ管理装置は、
前記ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第１更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶部に記憶し、
前記ストレージ制御装置から第１更新情報を取得し、取得した第１更新情報と、前記記憶部が記憶する第１更新情報とを比較し、
取得した第１更新情報と前記記憶部が記憶する第１更新情報とが異なる場合、前記記憶部が記憶する複数の第２更新情報を前記ストレージ制御装置へ送信し、
前記ストレージ制御装置は、
前記ストレージ管理装置から受信した複数の第２更新情報に基づき前記ストレージ制御装置が記憶する構成情報から、１以上の情報要素を抽出し、抽出した１以上の情報要素を前記ストレージ管理装置へ送信し、
前記ストレージ管理装置は、
受信した１以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する、
ストレージシステム。
【請求項７】
コンピュータに、
ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第１更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶部に記憶し、
前記ストレージ装置を制御するストレージ制御装置から第１更新情報を取得し、
取得した第１更新情報と、前記記憶部が記憶する第１更新情報とを比較し、
取得した第１更新情報と前記記憶部が記憶する第１更新情報とが異なる場合、前記記憶部が記憶する複数の第２更新情報を前記ストレージ制御装置へ送信し、
送信した複数の第２更新情報に基づき前記ストレージ制御装置において抽出された１以上の情報要素を、前記ストレージ制御装置から受信し、
受信した１以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する
処理を実行させる、ストレージ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ管理装置、ストレージシステム、及びストレージ管理プログラムに関する。
【背景技術】
【０００２】
ストレージシステムにおいて、ストレージ装置の管理、例えば、ストレージ装置の構成管理、障害管理、性能情報管理等の機能を提供するストレージ管理装置が用いられることがある。
【０００３】
ストレージ管理装置は、これらの機能を実現するために、自身の保持するストレージ装置の装置情報、例えば構成情報やステータス情報等を、ストレージ装置を制御するストレージ制御装置との間で独自の同期方式により高速に同期する。これにより、ストレージ装置の情報を可能な限り最新な情報とすることができる。
【０００４】
ストレージ管理装置が採用する同期方式としては、例えば、装置情報の更新に応じて変化するカウンタを用いた手法がある。
【０００５】
この手法は、例えば、ストレージ管理装置がストレージ制御装置からカウンタを取得し、前回取得して保持するカウンタとの差分を検出した場合に、ストレージ制御装置から全ての装置情報を取得することにより行なわれる。この場合、ストレージ管理装置は、取得した装置情報と、前回取得して保持する比較用の装置情報とを比較し、検出した差分データを、ストレージ管理装置が管理するデータベースに反映させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−５４４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、ストレージ装置の大規模化が進んでおり、スケールアウト型のストレージ装置も登場している。上述した同期方式においては、ストレージ管理装置とストレージ制御装置との間でストレージ装置の全ての装置情報が伝送されるが、ストレージ装置の規模が増大することにより、伝送される装置情報の情報量が肥大化することになる。
【０００８】
このため、ストレージ装置が大規模化するほど、ストレージ管理装置における差分抽出の処理遅延や、大容量のデータ転送に伴うネットワークの輻輳による通信遅延等が増大し、装置情報の高速な同期が困難になる場合がある。
【０００９】
また、例えば、データ容量が所定値（例えば５ＭＢ）よりも大きくなるとネットワークの通信エラーが発生し易くなり、安定した同期（例えば長距離間の同期）を行なうことが困難になる場合がある。
【００１０】
さらに、ストレージ管理装置においては、装置情報の比較のために過去データを保存するため、ストレージ装置が大規模化するほど、ディスク資源の消費量が増大し得る。
【００１１】
このように、ストレージ装置の規模（構成）に応じて、ストレージ管理装置とストレージ制御装置との間におけるストレージ装置の装置情報の同期が非効率になる場合がある。
【００１２】
１つの側面では、本発明は、ストレージ管理装置とストレージ制御装置との間におけるストレージ装置の装置情報の同期を効率的に実現することを目的の１つとする。
【課題を解決するための手段】
【００１３】
１つの側面では、ストレージ管理装置は、記憶部と、比較部と、送信部と、受信部と、更新部と、をそなえてよい。前記記憶部は、ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第１更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶してよい。前記比較部は、前記ストレージ装置を制御するストレージ制御装置から第１更新情報を取得し、取得した第１更新情報と、前記記憶部が記憶する第１更新情報とを比較してよい。前記送信部は、取得した第１更新情報と前記記憶部が記憶する第１更新情報とが異なる場合、前記記憶部が記憶する複数の第２更新情報を前記ストレージ制御装置へ送信してよい。前記受信部は、送信した複数の第２更新情報に基づき前記ストレージ制御装置において抽出された１以上の情報要素を、前記ストレージ制御装置から受信してよい。前記更新部は、受信した１以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新してよい。
【発明の効果】
【００１４】
１つの側面では、ストレージ管理装置とストレージ制御装置との間におけるストレージ装置の装置情報の同期を効率的に実現することができる。
【図面の簡単な説明】
【００１５】
【図１】比較例に係るストレージシステムの構成を示すブロック図である。
【図２】比較例に係る装置情報を示す図である。
【図３】比較例に係る同期制御カウンタを示す図である。
【図４】比較例に係る同期処理の動作を説明するフローチャートである。
【図５】図４に示す同期処理の動作を説明する図である。
【図６】図４に示す同期処理の動作を説明する図である。
【図７】図４に示す同期処理の動作を説明する図である。
【図８】図４に示す同期処理の動作を説明する図である。
【図９】図４に示す同期処理の動作を説明する図である。
【図１０】比較例に係るカウンタ送信処理の動作を説明するフローチャートである。
【図１１】比較例に係る装置情報送信処理の動作を説明するフローチャートである。
【図１２】一実施形態に係るストレージシステムの構成例を示すブロック図である。
【図１３】一実施形態に係るサーバの機能構成例を示すブロック図である。
【図１４】一実施形態に係る制御装置の機能構成例を示すブロック図である。
【図１５】図１３に示す管理情報又は図１４に示す装置情報の一例を示す図である。
【図１６】図１３又は図１４に示す同期制御カウンタの一例を示す図である。
【図１７】一実施形態に係る構成情報変更処理の動作例を説明するフローチャートである。
【図１８】一実施形態に係る同期処理の動作例を説明するフローチャートである。
【図１９】一実施形態に係る構成情報送信処理の動作例を説明するフローチャートである。
【図２０】図１８に示す同期処理の動作例を説明する図である。
【図２１】一実施形態に係るカウンタ送信処理の動作例を説明するフローチャートである。
【図２２】図１８に示す同期処理の動作例を説明する図である。
【図２３】図１８に示す同期処理の動作例を説明する図である。
【図２４】一実施形態に係る差分抽出処理の動作例を説明するフローチャートである。
【図２５】図２４に示す差分抽出処理の動作例を説明する図である。
【図２６】図２４に示す差分抽出処理の動作例を説明する図である。
【図２７】図１８に示す同期処理の動作例を説明する図である。
【図２８】図１８に示す同期処理の動作例を説明する図である。
【図２９】一実施形態に係るコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下の説明で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１７】
〔１〕一実施形態
〔１−１〕比較例
図１は比較例に係るストレージシステム１００の構成例を示すブロック図である。図１に示すように、ストレージシステム１００は、例示的に、サーバ１２０、制御装置１３０、及びサーバ１４０をそなえてよい。なお、図１においては、装置情報の同期処理に関連する機能ブロックに着目したブロック図を例示しており、ストレージシステム１００における業務等に関する機能ブロックの図示を省略している。
【００１８】
サーバ１２０は、ストレージ管理装置の一例であり、ＬＡＮ（Local Area Network）等のネットワーク１００ａを介して制御装置１３０と相互に通信可能に接続される。
【００１９】
制御装置１３０は、ストレージ装置１５０を制御するストレージ制御装置の一例である。制御装置１３０は、ＳＡＮ（Storage Area Network）等のネットワーク１００ｂを介して、サーバ１４０にストレージ装置１５０の記憶領域を提供する。なお、図１では、ストレージ装置１５０のストレージ（記憶領域を有する記憶装置）の図示を省略しているが、ストレージ装置１５０は、例えばネットワーク１００ｂ等により接続された複数のストレージをそなえてよい。
【００２０】
例えば、制御装置１３０は、メモリ部１３１及びファームウェア１３２をそなえる。メモリ部１３１には、装置情報１３１ａ及び同期制御カウンタ１３１ｂが格納されてよい。
【００２１】
装置情報１３１ａには、図２に例示するように、ストレージ装置１５０における構成情報やステータス情報等の種々の情報が含まれる。なお、図２において、「データ」内の「Subsystem Info」や「Firmware Info」等の各情報は、「Subsystem Infoのデータ」や「Firmware Infoのデータ」として示すように、複数の内容を含んでよい。また、各情報は、例えば「データ」テーブルからポインタ等により関連付けられる別テーブルによって管理されてもよい。
【００２２】
同期制御カウンタ１３１ｂには、図３に例示するように、ストレージ装置１５０のシリアル番号及びカウンタが含まれる。サーバ１２０のＤＢ（Database）１２２に格納される比較用の同期制御カウンタ１２２ｂも同期制御カウンタ１３１ｂと同様の構成でよい。
【００２３】
サーバ１４０は、エージェント１４１を有し、エージェント１４１を介してストレージ装置１５０にアクセスする業務サーバの一例である。
【００２４】
以下、図４〜図１１を参照して、図１に示す比較例に係るストレージシステム１００の動作について説明する。
【００２５】
図４に例示するように、サーバ１２０において同期処理のバックエンド（例えばスケジューラ等）としての処理を行なうバックエンド処理部１２３は、一定時間の経過を待ち合わせる（ステップＳ１０１及びＳ１０１でＮｏ）。一定時間が経過すると（ステップＳ１０１でＹｅｓ）、バックエンド処理部１２３は、同期処理の制御を行なう同期制御部１２４に対して、制御装置１３０の同期制御カウンタ１３１ｂを取得するためのカウンタ要求を発行する。
【００２６】
同期制御部１２４は、バックエンド処理部１２３からカウンタ要求を受信すると、同期制御カウンタ１３１ｂを取得するための情報を作成する（ステップＳ１０２）。また、同期制御部１２４は、作成した情報を制御装置１３０に送信する（ステップＳ１０３；図５の（ｉ）参照）。例えば、同期制御部１２４は、ＳＮＭＰ（Simple Network Management Protocol）に従ったコマンドを生成して送信してよい。
【００２７】
また、同期制御部１２４は、制御装置１３０からの同期制御カウンタ１３１ｂの受信を待ち合わせ（ステップＳ１０４及びＳ１０４でＮｏ）、受信すると（ステップＳ１０４でＹｅｓ）、受信した同期制御カウンタ１３１ｂをバックエンド処理部１２３に渡す。
【００２８】
バックエンド処理部１２３は、受信した同期制御カウンタ１３１ｂが、サーバ１２０のＤＢ１２２に格納している前回取得した同期制御カウンタ１２２ｂと一致するか否かを判定する（ステップＳ１０５；図６の（ii）参照）。
【００２９】
同期制御カウンタ１２２ｂ及び１３１ｂが一致する場合（ステップＳ１０５でＹｅｓ）、処理が終了する。一方、一致しない場合（ステップＳ１０５でＮｏ）、バックエンド処理部１２３は、同期制御部１２４に対して、ストレージ装置１５０の全ての装置情報１３１ａを取得するための取得要求を発行する。
【００３０】
同期制御部１２４は、バックエンド処理部１２３から取得要求を受信すると、ストレージ装置１５０のモデルを特定し、特定したモデルに応じた装置情報１３１ａを取得するための情報（例えばコマンド）を作成する（ステップＳ１０６）。
【００３１】
作成した情報は、制御装置１３０との間の通信ＩＦ（Interface）を制御するＭＩＣＣ（Maintenance and Inquiry Control Command）１２５に渡される。ＭＩＣＣ１２５は、同期制御部１２４からの情報を独自プロトコルのフレームワークを介してネットワーク１００ａ（制御装置１３０）に送信する（ステップＳ１０７；図７の（iii）参照）。
【００３２】
また、ＭＩＣＣ１２５は、制御装置１３０からの装置情報１３１ａの受信を待ち合わせる（ステップＳ１０８及びＳ１０８でＮｏ）。装置情報１３１ａを受信すると（ステップＳ１０８でＹｅｓ）、ＭＩＣＣ１２５は、受信した装置情報１３１ａを、同期制御部１２４を介してバックエンド処理部１２３に渡す。
【００３３】
バックエンド処理部１２３は、同期制御部１２４に対して、受信した装置情報１３１ａに基づくリポジトリ更新を要求する。
【００３４】
ここで、サーバ１２０は、ストレージ装置１５０の装置情報１３１ａをＤＢ１２２に格納し管理する。ＤＢ１２２はリポジトリの一例であり、例えば、ＰｏｓｔｇｒｅＳＱＬのようなデータベース管理システムであってよい。なお、図１においては、リポジトリとして管理される「装置情報」を管理情報１２２ａと表記する。
【００３５】
同期制御部１２４は、今回取得した装置情報１３１ａと、メモリ部１２１に保存してある前回取得した装置情報１２１ａ（図１参照）とを比較する（ステップＳ１０９；図８の（iv）参照）。
【００３６】
そして、同期制御部１２４は、比較が終了すると、今回取得した装置情報１３１ａをメモリ部１２１の装置情報１２１ａに上書きする（図９の（ｖ）参照）。また、同期制御部１２４は、差分のあるデータに基づき、リポジトリ、換言すれば、ＤＢ１２２（管理情報１２２ａ）を更新し（ステップＳ１１０；図９の（vi）参照）、処理が終了する。
【００３７】
なお、例えば、図１０に示すように、制御装置１３０のファームウェア１３２は、サーバ１２０からカウンタ要求を含むＳＮＭＰのコマンドを受信すると（ステップＳ１１１）、カウンタを含む応答をサーバ１２０に送信する（ステップＳ１１２）。応答としては、例えば、ＳＮＭＰで参照される管理情報の一例であるＭＩＢ（Management Information Base；管理情報ベース）が挙げられる。
【００３８】
また、例えば、図１１に示すように、ファームウェア１３２は、サーバ１２０から装置情報要求を受信すると（ステップＳ１２１）、装置情報１３１ａを収集し、送信用のデータを作成する（ステップＳ１２２）。そして、ファームウェア１３２は、生成したデータをサーバ１２０に送信する（ステップＳ１２３）。
【００３９】
比較例に係るストレージシステム１００において、ストレージ装置１５０として大規模なストレージ装置、例えばスケールアウト型のストレージ装置が用いられる場合、上述したように、装置情報１３１ａの同期が非効率になる場合がある。
【００４０】
そこで、以下の一実施形態においては、ストレージ管理装置とストレージ制御装置との間におけるストレージ装置の装置情報の同期を効率的に実現する手法について説明する。
【００４１】
〔１−２〕一実施形態に係るストレージシステムの構成例
図１２に示すように、一実施形態に係るストレージシステム１は、例示的に、サーバ２、制御装置３ａ及び３ｂ、並びに、サーバ４ａ及び４ｂをそなえてよい。なお、図１２においては、装置情報の同期処理に関連する機能ブロックに着目したブロック図を例示しており、ストレージシステム１における業務等に関する機能ブロックの図示を省略している。
【００４２】
サーバ２は、ストレージ管理装置の一例であり、ＬＡＮ等のネットワーク１ａを介して制御装置３ａと相互に通信可能に接続され、ＬＡＮ等のネットワーク１ｃを介して制御装置３ｂと相互に通信可能に接続される。
【００４３】
制御装置３ａは、ストレージ装置５ａを制御するストレージ制御装置の一例である。制御装置３ｂは、ストレージ装置５ｂを制御するストレージ制御装置の一例である。一実施形態において、ストレージ装置５ａは、例えば、ストレージ（記憶領域を有する記憶装置；図示省略）を増設可能なスケールアウト型のストレージ装置であってよい。一方、一実施形態において、ストレージ装置５ｂは、図１に示す比較例に係るストレージ装置１５０と同様であってよい。
【００４４】
このため、サーバ２は、装置規模に関連する製品仕様が互いに異なる、換言すれば、互いに異なる種別（機種）のストレージ装置５ａ及び５ｂを管理する管理部２ａ及び２ｂをそなえてよい。なお、ストレージシステム１は、複数のストレージ装置５ａを有してもよく、ストレージ装置５ｂを有しない構成であってもよい。
【００４５】
以下の説明において、スケールアウト型のストレージ装置５ａに関連する装置又は機能ブロックを特定する場合には、符号に代えて、装置名又は機能ブロック名の末尾に“Ａ”を付加して表記する。一方、比較例と同様のストレージ装置５ｂに関連する装置又は機能ブロックを特定する場合には、符号に代えて、装置名又は機能ブロック名の末尾に“Ｂ”を付加して表記する。なお、ストレージ装置５に「関連する」とは、例えば、ストレージ装置５に「属する」ことを意味してもよいし、或いは、ストレージ装置５を「処理対象とする」ことを意味してもよい。
【００４６】
以下、制御装置３ａ及び３ｂを区別しない場合には、単に「制御装置３」と表記し、サーバ４ａ及び４ｂを区別しない場合には、単に「サーバ４」と表記し、ストレージ装置５ａ及び５ｂを区別しない場合には、単に「ストレージ装置５」と表記する。
【００４７】
制御装置３ａは、ＳＡＮ等のネットワーク１ｂを介して、サーバ４ａにストレージ装置５ａの記憶領域を提供する。制御装置３ｂは、ＳＡＮ等のネットワーク１ｄを介して、サーバ４ｂにストレージ装置５ｂの記憶領域を提供する。なお、図１２では、ストレージ装置５のストレージ（記憶領域を有する記憶装置）の図示を省略しているが、ストレージ装置５は、例えばネットワーク１ｂ又は１ｄ等により接続された複数のストレージをそなえてよい。
【００４８】
サーバ４は、エージェント４１を有し、エージェント４１を介してストレージ装置５にアクセスする業務サーバの一例である。例えば、サーバ４ａは、ＳＡＮ等のネットワーク１ｂを介して制御装置３ａと相互に通信可能に接続されてよく、サーバ４ｂは、ＳＡＮ等のネットワーク１ｄを介して制御装置３ｂと相互に通信可能に接続されてよい。
【００４９】
〔１−２−１〕サーバの構成例
図１３に示すように、ストレージ管理装置の一例としてのサーバ２は、一実施形態に係る同期処理を行なう機能に着目すると、例示的に、メモリ部２１、ＤＢ２２、バックエンド処理部２３、同期制御部２４、及びＩＦ制御部２５をそなえてよい。
【００５０】
メモリ部２１は、装置情報２１１を格納してよい。装置情報２１１は、ストレージ装置５ｂとの同期処理において、装置情報３ｂから取得した全ての「装置情報」との差分を検出するために利用される比較用の装置情報Ｂである（図８の（iv）参照）。装置情報２１１は、図２に例示するデータ構成であってよい。装置情報２１１は、ストレージシステム１にストレージ装置５ｂが含まれない場合にはメモリ部２１とともに省略されてもよい。
【００５１】
換言すれば、メモリ部２１は、ストレージ装置５ａとは装置規模に関連する製品仕様が異なる他のストレージ装置５ｂの構成に関する構成情報を記憶する保持部の一例である。なお、構成情報の一例である装置情報２１１の格納先としては、メモリ部２１に代えて、ＤＢ２２が用いられてもよい。この場合、ＤＢ２２が保持部の一例となる。
【００５２】
メモリ部２１は、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。揮発性メモリとしては、例えばＲＡＭ（Random Access Memory）が挙げられる。記憶装置としては、例えばＨＤＤ（Hard Disk Drive）等の磁気ディスク装置やＳＳＤ（Solid State Drive）等の半導体ドライブ装置が挙げられる。
【００５３】
ＤＢ２２はリポジトリの一例であり、例えば、ＰｏｓｔｇｒｅＳＱＬのようなデータベース管理システムであってよい。図１３においては、リポジトリとして管理される「装置情報」を管理情報２２１と表記する。図１３に示す管理情報２２１は、後述する制御装置３ａが格納する装置情報３１１と同様のデータ構造であってよい。なお、ＤＢ２２は、リポジトリとして、ストレージ装置５ａの管理に用いるサーバ２独自の種々の管理テーブルを格納してよい。
【００５４】
ＤＢ２２は、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。
【００５５】
図１５に示すように、管理情報２２１／装置情報３１１は、例示的に、ｐｏｏｌテーブル２２１ａ／３１１ａ、ｐｏｒｔテーブル２２１ｂ／３１１ｂ、ｖｏｌｕｍｅテーブル２２１ｃ／３１１ｃ等の複数のテーブルを含んでよい。ｐｏｏｌテーブル２２１ａ／３１１ａはプールに関する情報を管理するテーブルであり、ｐｏｒｔテーブル２２１ｂ／３１１ｂは、ポートに関する情報を管理するテーブルである。ｖｏｌｕｍｅテーブル２２１ｃ／３１１ｃは、ボリューム（記憶領域）に関する情報を管理するテーブルである。
【００５６】
管理情報２２１及び装置情報３１１では、ストレージ装置５ａに関する情報が複数のテーブルによって管理される。換言すれば、これらのテーブルは、管理情報２２１及び装置情報３１１を、有意な単位（例えば部品単位、論理情報単位等）に細分化した情報（テーブル）である。
【００５７】
このため、制御装置３ａは、同期処理において、サーバ２に対して送信される差分データを、個々のテーブル単位で選択することができ、サーバ２における処理負荷の軽減、通信量の削減等を実現できる。
【００５８】
このように、管理情報２２１及び装置情報３１１は、ストレージ装置５ａの構成に関する構成情報であって複数の情報要素を含む構成情報の一例である。
【００５９】
また、ＤＢ２２は、一実施形態に係る同期制御を行なうための同期制御カウンタ２２２を格納する。同期制御カウンタ２２２は、ストレージ装置５ａから前回取得した比較用のカウンタであり、後述する制御装置３ａが格納する同期制御カウンタ３１２と同様のデータ構造であってよい。なお、ＤＢ２２は、ストレージ装置５ｂの同期制御を行なうために、図１に例示する同期制御カウンタ１２２ｂをさらに格納してもよい。
【００６０】
図１６に示すように、同期制御カウンタ２２２又は３１２は、例示的に、ストレージ装置５のシリアル番号、代表カウンタ２２２ａ又は３１２ａ、ｐｏｏｌカウンタ、ｐｏｒｔカウンタ、ｖｏｌｕｍｅカウンタ等の情報を含んでよい。なお、ｖｏｌｕｍｅカウンタは、ｖｏｌｕｍｅカウンタ（０〜１０００）、ｖｏｌｕｍｅカウンタ（１００１〜ｙｙｙｙ）等のように、ｖｏｌｕｍｅの範囲ごとに複数設けられてよい。
【００６１】
ここで、ｐｏｏｌカウンタ、ｐｏｒｔカウンタ、ｖｏｌｕｍｅカウンタ（０〜１０００）、ｖｏｌｕｍｅカウンタ（１００１〜ｙｙｙｙ）等のカウンタは、個別カウンタ２２２ｂ又は３１２ｂの一例である。
【００６２】
換言すれば、個別カウンタ２２２ｂ又は３１２ｂは、管理情報２２１及び装置情報３１１を有意な単位（例えば部品単位、論理情報単位等）に細分化した情報（テーブル）ごとに個別に設けられるカウンタである。すなわち、これらのカウンタは、管理情報２２１又は装置情報３１１における複数のテーブルに対応している。例えば、ｐｏｏｌカウンタはｐｏｏｌテーブル２２１ａ又は３１１ａに対応し、ｐｏｒｔカウンタはｐｏｒｔテーブル２２１ｂ又は３１１ｂに対応し、ｖｏｌｕｍｅカウンタはｖｏｌｕｍｅテーブル２２１ｃ又は３１１ｃに対応する。
【００６３】
なお、ｖｏｌｕｍｅカウンタについては、ｖｏｌｕｍｅテーブル２２１ｃ又は３１１ｃ内の対応する（担当する）エントリ（「名前」又は「ｉｄ」）範囲を分けた複数のカウンタとしてよい。例えば、ｖｏｌｕｍｅカウンタ（０〜１０００）は、ｖｏｌｕｍｅテーブル２２１ｃ又は３１１ｃの「ｖｏｌｕｍｅ０」から「ｖｏｌｕｍｅ１０００」までに対応してよい。また、ｖｏｌｕｍｅカウンタ（１００１〜ｙｙｙｙ）は、ｖｏｌｕｍｅテーブル２２１ｃ又は３１１ｃの「ｖｏｌｕｍｅ１００１」から「ｖｏｌｕｍｅｙｙｙｙ」までに対応してよい。
【００６４】
これらの個別カウンタ２２２ｂ又は３１２ｂは、制御装置３ａにおいて、対応する（担当する）テーブル又はエントリ範囲における情報の更新に応じて、カウンタ値が変化（例えばインクリメント）するように制御されてよい。
【００６５】
一方、代表カウンタ２２２ａ又は３１２ａは、制御装置３ａにおいて、個別カウンタ２２２ｂ又は３１２ｂの１以上のカウンタ値が変化した場合に、代表カウンタ２２２ａ又は３１２ａのカウンタ値が変化（例えばインクリメント）するように制御されてよい。換言すれば、代表カウンタ２２２ａ又は３１２ａは、制御装置３ａにおいて装置情報３１１が更新される都度、カウンタ値が変化するカウンタである。また、個別カウンタ２２２ｂ又は３１２ｂは、制御装置３ａにおいて装置情報３１１内の担当するテーブルが更新される都度、カウンタ値が変化するカウンタである。代表カウンタ２２２ａ又は３１２ａのカウンタ値は、全ての個別カウンタ２２２ｂ又は３１２ｂのカウンタ値の合計値になるように制御されてもよい。
【００６６】
このように、代表カウンタ２２２ａ又は３１２ａは、制御装置３ａによる装置情報３１１の更新の状況を示す第１更新情報の一例である。また、複数の個別カウンタ２２２ｂ又は３１２ｂは、制御装置３ａによる装置情報３１１の複数の情報要素の各々の更新の状況を示す複数の第２更新情報の一例である。
【００６７】
上述のように、サーバ２が格納する同期制御カウンタ２２２は、制御装置３ａから前回受信したカウンタである。従って、同期制御カウンタ２２２の代表カウンタ２２２ａ及び個別カウンタ２２２ｂのカウンタ値は、前回受信した（制御装置３ａから送信された）時点の、装置情報３１１の更新の状況を示すといえる。
【００６８】
以上のことから、ＤＢ２２は、構成情報と、構成情報の更新の状況を示す第１更新情報と、構成情報における複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶する記憶部の一例である。
【００６９】
バックエンド処理部２３は、サーバ２において同期処理のバックエンド（例えばスケジューラ等）としての処理を行なう。バックエンド処理部２３は、例示的に、ストレージ装置５ａ（制御装置３ａ）に対する処理を行なうバックエンド処理部２３ａと、ストレージ装置５ｂ（制御装置３ｂ）に対する処理を行なうバックエンド処理部２３ｂと、をそなえてよい。バックエンド処理部２３ｂの処理は、図１に例示するバックエンド処理部１２３と同様であってよい。
【００７０】
バックエンド処理部２３ａは、同期処理の起動タイミングの調整（例えば、一定時間間隔での同期制御部２４ａの起動制御）や、同期制御カウンタ２２２と同期制御カウンタ３１２との比較等を行なう。
【００７１】
ここで、一実施形態においては、バックエンド処理部２３ａは、同期制御カウンタ２２２の代表カウンタ２２２ａと同期制御カウンタ３１２の代表カウンタ３１２ａとの比較を行なう。
【００７２】
同期制御部２４は、ストレージ装置５（制御装置３）に対する同期処理の制御を行なう。同期制御部２４は、例示的に、ストレージ装置５ａ（制御装置３ａ）に対する同期処理の制御を行なう同期制御部２４ａと、ストレージ装置５ｂ（制御装置３ｂ）に対する同期処理の制御を行なう同期制御部２４ｂと、をそなえてよい。同期制御部２４ｂの制御は、図１に例示する同期制御部１２４と同様であってよい。
【００７３】
同期制御部２４ａは、例示的に、カウンタ制御部２４１、差分データ取得部２４２、及びデータ管理部２４３をそなえてよい。
【００７４】
カウンタ制御部２４１は、同期制御カウンタ２２２の管理、制御装置３ａからの同期制御カウンタ３１２の取得、及び取得した同期制御カウンタ３１２による同期制御カウンタ２２２の更新、等を行なう。
【００７５】
差分データ取得部２４２は、バックエンド処理部２３ａによる代表カウンタ２２２ａ及び３１２ａの比較により、代表カウンタ２２２ａ及び３１２ａが一致しない（差分がある）場合に、制御装置３ａから差分データを取得する。
【００７６】
データ管理部２４３は、制御装置３ａから取得した差分データをリポジトリ、例えばＤＢ３１の管理情報２２１に反映する。
【００７７】
ＩＦ制御部２５は、制御装置３との間の通信ＩＦを制御する。ＩＦ制御部２５は、例示的に、制御装置３ａとの間の通信ＩＦを制御するＲＥＳＴ（Representational State Transfer）制御部２５ａと、制御装置３ｂとの間の通信ＩＦを制御するＭＩＣＣ２５ｂと、をそなえてよい。ＭＩＣＣ２５ｂの制御は、図１に例示するＭＩＣＣ１２５と同様であってよい。
【００７８】
ＲＥＳＴ制御部２５ａは、制御装置３ａとの間で、ＲＥＳＴのフレームワークを介した通信を制御する。
【００７９】
以上のように、サーバ２においては、ＤＢ２２、バックエンド処理部２３ａ、同期制御部２４ａ、及びＲＥＳＴ制御部２５ａが図１２に示す管理部２ａの一例である。また、メモリ部２１、（ＤＢ２２、）バックエンド処理部２３ｂ、同期制御部２４ｂ、及びＭＩＣＣ２５ｂが図１２に示す管理部２ｂの一例である。
【００８０】
〔１−２−２〕制御装置Ａの構成例
図１４に示すように、ストレージ装置５ａの制御装置３ａ（制御装置Ａ）は、例示的に、ＤＢ３１及びファームウェア３２をそなえてよい。
【００８１】
ＤＢ３１はリポジトリの一例であり、例えば、ＰｏｓｔｇｒｅＳＱＬのようなデータベース管理システムであってよい。図１４においては、リポジトリとして管理される「装置情報」を装置情報（或いは構成情報）３１１（図１５参照）と表記する。なお、ＤＢ３１は、リポジトリとして、ストレージ装置５ａの制御に用いる種々の制御テーブルを格納してよい。
【００８２】
また、ＤＢ３１は、一実施形態に係る同期制御を行なうための同期制御カウンタ３１２（図１６参照）を格納する。
【００８３】
ＤＢ３１は、揮発性メモリ、記憶装置、或いはフラッシュメモリ等の記憶領域により実現されてよい。
【００８４】
ファームウェア３２は、一実施形態に係る同期処理を行なう機能に着目すると、例示的に、リポジトリ制御部３３及びＵＩ（User Interface）制御部３４をそなえてよい。
【００８５】
リポジトリ制御部３３は、リポジトリとしてのＤＢ３１の制御を行なう。例えば、リポジトリ制御部３３は、ストレージ装置５ａに関する構成情報の変更に応じて、装置情報３１１を更新する。ストレージ装置５ａに関する構成情報の変更としては、例えば、機器の接続関係の変更や設定変更、ＬＵＮ等のボリュームに関する設定変更等の構成・設定変更、ストレージ装置５ａの機器の故障・リカバリに関する情報、ボリュームの利用状況等が挙げられる。ＬＵＮはLogical Unit Numberの略称である。
【００８６】
リポジトリ制御部３３は、カウンタ制御部３３１をそなえてよい。カウンタ制御部３３１は、リポジトリ制御部３３における装置情報３１１の更新に応じて、同期制御カウンタ３１２内の対応するカウンタ、例えば、対応する個別カウンタ３１２ｂと、代表カウンタ３１２ａとを更新する。カウンタ制御部３３１の詳細は後述する。
【００８７】
ＵＩ制御部３４は、サーバ２に対するＵＩ制御を行なう。図１４に示すように、ＵＩ制御部３４は、例示的に、カウンタ比較部３４１及びデータ生成部３４２をそなえてよい。
【００８８】
カウンタ比較部３４１は、サーバ２からのカウンタの取得要求に応じて同期制御カウンタ３１２を応答する。また、カウンタ比較部３４１は、サーバ２からの差分データの取得要求に応じて、サーバ２から受信した同期制御カウンタ２２２の個別カウンタ２２２ｂと、制御装置３ａが保持する同期制御カウンタ３１２の個別カウンタ３１２ｂとを比較する。
【００８９】
データ生成部３４２は、カウンタ制御部３３１による比較結果に応じて、一致しない個別カウンタ２２２ｂ及び３１２ｂに属する差分データ（例えばテーブル）を抽出して、差分データの取得要求に対する応答データを生成する。
【００９０】
〔１−３〕動作例
次に、上述の如く構成されたストレージシステム１の動作例を、サーバ２によるストレージ装置５ａとの同期処理に着目して説明する。
【００９１】
〔１−３−１〕構成情報変更処理
まず、図１７を参照して、制御装置３ａにおける装置情報（構成情報）３１１の変更処理の動作例を説明する。図１７に示すように、制御装置３ａで動作するジョブ、例えばボリュームの作成や構成情報の変更を行なうアプリケーションは、ストレージ装置５ａの構成情報を変更すると（ステップＳ１）、リポジトリ（ＤＢ３１）を更新するか否かを判定する（ステップＳ２）。
【００９２】
リポジトリを更新しない場合（ステップＳ２でＮｏ）、処理が終了する。一方、リポジトリを更新する場合（ステップＳ２でＹｅｓ）、リポジトリ制御部３３は、対象のリポジトリ、例えば装置情報３１１の対象のテーブルを更新する（ステップＳ３）。
【００９３】
次いで、リポジトリ制御部３３（例えばカウンタ制御部３３１）は、装置情報３１１の更新個所がカウンタ制御の対象か否かを判定する（ステップＳ４）。更新個所がカウンタ制御の対象ではない場合（ステップＳ４でＮｏ）、処理が終了する。
【００９４】
更新個所がカウンタ制御の対象の場合（ステップＳ４でＹｅｓ）、カウンタ制御部３３１は、更新個所が属するカウンタを検索する（ステップＳ５）。例えば、カウンタ制御部３３１は、装置情報３１１或いはＤＢ３１が格納する制御テーブル等を参照してよい。
【００９５】
そして、カウンタ制御部３３１は、検索したカウンタ（個別カウンタ３１２ｂ）及び代表カウンタ３１２ａを更新し（ステップＳ６）、処理が終了する。
【００９６】
このように、制御装置３ａにおいては、カウンタを細分化し、リポジトリを更新した場合に、細分化したカウンタ単位で、更新個所に対応するカウンタを更新する。これにより、細分化の度合いに応じて、細かい単位でリポジトリの変更点を検出できる。
【００９７】
〔１−３−２〕同期処理
次に、図１８〜図２８を参照して、サーバ２及び制御装置３ａにおける同期処理の動作例を説明する。
【００９８】
図１８に示すように、サーバ２において、バックエンド処理部２３は、ストレージ装置５（例えば、サーバ２に接続される全てのストレージ装置５のそれぞれ）に対する、構成情報取得要求のＲＥＳＴ  ＡＰＩを発行する。ＲＥＳＴ制御部２５ａは、ＲＥＳＴのフレームワークを通じて、ネットワーク１ａを介してストレージ装置５に要求を送信する（ステップＳ１１）。
【００９９】
図１９に例示するように、制御装置３ａのデータ生成部３４２は、構成情報送信処理において、サーバ２から構成情報取得要求を受信すると（ステップＳ３１）、送信用の構成情報を生成する（ステップＳ３２）。そして、データ生成部３４２は、生成した構成情報をサーバ２に送信する（ステップＳ３３）。なお、この構成情報は、構成情報取得要求を受信したときの装置情報３１１であってよい。
【０１００】
図１８の説明に戻り、サーバ２のバックエンド処理部２３は、制御装置３から構成情報を正常に取得したか否かを判定する（ステップＳ１３）。正常に取得していない場合（ステップＳ１３でＮｏ）、構成情報取得要求を送信した制御装置３が、ＲＥＳＴに対応していないストレージ装置５ｂの制御装置３ｂであることを意味する。
【０１０１】
従って、この場合、バックエンド処理部２３は、管理部２ｂに対して、構成情報を正常に取得できなかったストレージ装置５ｂに対する制御装置Ｂ用の同期処理を実行するように指示する。管理部２ｂは、制御装置Ｂ用の同期処理（図４のステップＳ１０１〜Ｓ１１０参照）を実行し（ステップＳ１２）、処理が終了する。
【０１０２】
このように、バックエンド処理部２３（２３ｂ）は、制御装置３ｂに対して、後述するバックエンド処理部２３ａ、同期制御部２４ａ、及びＲＥＳＴ制御部２５ａによる処理の実行を抑止する制御部の一例である。制御部としてのバックエンド処理部２３（２３ｂ）は、所定のタイミング（例えば一定時間間隔）で、制御装置３ｂからストレージ装置５ｂの構成に関する装置情報を取得し、取得した装置情報に基づいてメモリ部２１が保持する装置情報２１１を更新してよい。
【０１０３】
一方、制御装置３から構成情報を正常に取得した場合（ステップＳ１３でＹｅｓ）、構成情報取得要求を送信した制御装置３が、ＲＥＳＴに対応するストレージ装置５ａの制御装置３ａであることを意味する。
【０１０４】
この場合、バックエンド処理部２３は、管理部２ａに対して、構成情報を正常に取得できたストレージ装置５ａに対する制御装置Ａ用の同期処理を実行するように指示する。このように、バックエンド処理部２３は、装置規模に関連する製品仕様に応じて、管理部２ａによる処理を行なうか、管理部２ｂによる処理を行なうか、を切り替える（判断する）切替部の一例である。以下、管理部２ａによる処理を説明する。
【０１０５】
バックエンド処理部２３ａは、一定時間の経過を待ち合わせる（ステップＳ１４及びＳ１４でＮｏ）。一定時間が経過すると（ステップＳ１４でＹｅｓ）、バックエンド処理部２３ａは、同期制御部２４ａに対して、制御装置３ａの同期制御カウンタ３１２を取得するためのカウンタ要求を発行する。
【０１０６】
同期制御部２４ａは、バックエンド処理部２３ａからカウンタ要求を受信すると、同期制御カウンタ３１２を取得するための情報を作成する（ステップＳ１５）。また、同期制御部２４ａは、作成した情報を送信するためのＲＥＳＴ  ＡＰＩを発行する。ＲＥＳＴ制御部２５ａは、ＲＥＳＴのフレームワークを通じて、生成した情報をネットワーク１ａを介して制御装置３ａに送信する（ステップＳ１６；図２０の（ｉ）参照）。
【０１０７】
図２１に例示するように、制御装置３ａのカウンタ比較部３４１は、カウンタ送信処理において、サーバ２からカウンタ要求を受信すると（ステップＳ４１）、ＤＢ３１から送信用の同期制御カウンタ３１２を抽出する（ステップＳ４２）。そして、カウンタ比較部３４１は、抽出した同期制御カウンタ３１２をサーバ２に送信する（ステップＳ４３）。
【０１０８】
図１８の説明に戻り、同期制御部２４ａ及びＲＥＳＴ制御部２５ａは、制御装置３ａからの同期制御カウンタ３１２の受信を待ち合わせる（ステップＳ１７及びＳ１７でＮｏ）。
【０１０９】
ＲＥＳＴ制御部２５ａがネットワーク１ａから要求結果を受信すると（ステップＳ１７でＹｅｓ）、同期制御部２４ａのカウンタ制御部２４１は、受信した同期制御カウンタ３１２をバックエンド処理部２３ａに渡す。
【０１１０】
バックエンド処理部２３ａは、受信した同期制御カウンタ３１２の代表カウンタ３１２ａと、ＤＢ２２に格納された同期制御カウンタ２２２の代表カウンタ２２２ａとを比較する。そして、バックエンド処理部２３ａは、両者の代表カウンタ２２２ａ及び３１２ａが一致するか否かを判定する（ステップＳ１８；図２２の（ii）参照）。
【０１１１】
換言すれば、バックエンド処理部２３ａは、制御装置３ａから代表カウンタ３１２ａを取得し、取得した代表カウンタ３１２ａと、ＤＢ２２が記憶する代表カウンタ２２２ａとを比較する比較部の一例である。
【０１１２】
両者の代表カウンタ２２２ａ及び３１２ａが一致する場合（ステップＳ１８でＹｅｓ）、処理が終了する。一方、両者の代表カウンタ２２２ａ及び３１２ａが一致しない場合（ステップＳ１８でＮｏ）、バックエンド処理部２３ａは、同期制御部２４ａに差分データ及びカウンタの取得要求を発行する。
【０１１３】
同期制御部２４ａの差分データ取得部２４２は、ＤＢ２２に格納された同期制御カウンタ２２２のうちの複数の個別カウンタ２２２ｂを抽出し、これらの個別カウンタ２２２ｂを指定して、差分データを取得するための情報を作成する（ステップＳ１９）。当該情報には、同期制御カウンタ２２２のうちの少なくとも複数の個別カウンタ２２２ｂの情報が含まれてよい。差分データ取得部２４２は、作成した情報を送信するためのＲＥＳＴ  ＡＰＩを発行する。ＲＥＳＴ制御部２５ａは、ＲＥＳＴのフレームワークを通じて、生成した情報をネットワーク１ａを介して制御装置３ａに送信する（ステップＳ２０；図２３の（iii）参照）。
【０１１４】
このように、差分データ取得部２４２は、比較の結果、代表カウンタ２２２ａ及び３１２ａが異なる場合、ＤＢ２２が記憶する複数の個別カウンタ２２２ｂを制御装置３ａへ送信する送信部の一例である。
【０１１５】
図２４に例示するように、制御装置３ａのカウンタ比較部３４１は、差分抽出処理において、サーバ２から同期制御カウンタ２２２の少なくとも個別カウンタ２２２ｂの情報を含む差分データ取得要求を受信する（ステップＳ５１）。カウンタ比較部３４１は、受信した同期制御カウンタ２２２の個別カウンタ２２２ｂの各々と、ＤＢ３１が保持する同期制御カウンタ３１２の個別カウンタ３１２ｂの各々とを比較する（ステップＳ５２；図２５の（iv）参照）。
【０１１６】
データ生成部３４２は、比較の結果、両者が一致しない個別カウンタ２２２ｂ及び３１２ｂの属するリポジトリのデータをＤＢ３１から抽出する（ステップＳ５３）。例えば、データ生成部３４２は、両者が一致しない個別カウンタ２２２ｂ及び３１２ｂに対応するテーブル又はエントリ範囲のデータを、ＤＢ３１の装置情報３１１から抽出してよい（図２６の（ｖ）参照）。そして、データ生成部３４２は、抽出したデータ（例えばテーブル又はエントリ範囲）に基づきサーバ２への返却用のデータを生成する（ステップＳ５４）。
【０１１７】
カウンタ比較部３４１は、データ生成部３４２からの返却用のデータと、現在の同期制御カウンタ３１２の情報とをサーバ２に送信する（ステップＳ５５；図２７の（vi）参照）。
【０１１８】
なお、制御装置３ａからサーバ２に送信される同期制御カウンタ３１２の情報は、差分のあったデータに対応する個別カウンタ３１２ｂ、及び代表カウンタ３１２ａの情報に限定されてもよい。これにより、サーバ２においては、差分のあったデータ及びその個別カウンタ３１２ｂを容易に特定可能となる。
【０１１９】
図１８の説明に戻り、同期制御部２４ａ及びＲＥＳＴ制御部２５ａは、制御装置３ａからの差分データ及び同期制御カウンタ３１２の情報の受信を待ち合わせる（ステップＳ２１及びＳ２１でＮｏ）。
【０１２０】
ＲＥＳＴ制御部２５ａがネットワーク１ａから要求結果を受信すると（ステップＳ２１でＹｅｓ）、同期制御部２４ａの差分データ取得部２４２は、受信した同期制御カウンタ３１２をデータ管理部２４３に渡す。
【０１２１】
このように、差分データ取得部２４２は、送信した複数の個別カウンタ２２２ｂに基づき制御装置３ａにおいて抽出された１以上の情報要素、例えばテーブル又はエントリ範囲等の差分データを、制御装置３ａから受信する受信部の一例である。なお、上述のように、受信部としての差分データ取得部２４２は、制御装置３ａから、最新の代表カウンタ３１２ａと、抽出された１以上の情報要素の各々の更新の状況を示す１以上の個別カウンタ３１２ｂと、を受信してよい。
【０１２２】
データ管理部２４３は、差分データに対応するリポジトリをＤＢ２２から特定し（ステップＳ２２）、差分データ及び同期制御カウンタ３１２の情報をリポジトリに反映させ（ステップＳ２３；図２８の（vii）参照）、処理が終了する。
【０１２３】
換言すれば、データ管理部２４３は、受信した１以上の情報要素に基づいて、ＤＢ２２が記憶する管理情報２２１を更新する更新部の一例である。
【０１２４】
例えば、データ管理部２４３は、ＤＢ２２の管理情報２２１から、差分データに対応するテーブル又はエントリ範囲を特定し、差分データにより特定したテーブル又はエントリ範囲のデータを更新してよい。また、データ管理部２４３は、受信した同期制御カウンタ３１２の情報により、ＤＢ２２内の同期制御カウンタ２２２の代表カウンタ２２２ａ及び差分データに対応する個別カウンタ２２２ｂを更新してよい。同期制御カウンタ３１２そのものを受信している場合には、データ管理部２４３は、同期制御カウンタ３１２により同期制御カウンタ２２２を上書きしてもよい。
【０１２５】
このように、サーバ２は、比較用の情報（例えば個別カウンタ２２２ｂ）を制御装置３ａに送信することで、制御装置３ａ上で差分データを抽出可能となる。これにより、制御装置３ａからサーバ２に送信されるデータを差分データとすることができるため、サーバ２における処理負荷を低減できるとともに、ネットワーク１ａの転送量を削減することができる。
【０１２６】
例えば、サーバ２は、構成情報のデータ量が比較的小さい制御装置３ｂとの間では、全ての構成情報を取得して同期する。一方、ストレージ装置５ａのように装置構成が肥大化すると、制御装置３ｂと同様の同期手法では、構成情報の取得に時間がかかることになる。一実施形態に係る手法によれば、サーバ２は、ストレージ装置５ａの装置情報３１１を、全ての構成情報ではなく差分データによって制御装置３ａと同期することで、構成情報が肥大化しても、取得時間に与える影響を低減できる。
【０１２７】
また、ネットワーク１ａ上を伝搬する差分データは、例えばテーブル単位となる。このように、装置情報３１１を分割した単位でデータ送信が行なわれるため、ネットワーク１ａ上のデータ送信量が一定容量以上とならないように制御できる。
【０１２８】
さらに、差分データがテーブル単位であっても、大規模な運用を行なうユーザにおいては、データ送信量が大きくなる場合がある。例えば、差分データがボリューム情報やＳＡＮ接続グループ等に関するテーブル（ｖｏｌｕｍｅテーブル３１１ｃ等）の場合である。このような場合であっても、装置情報３１１のテーブルのエントリ範囲等で同期制御カウンタ３１２の個別カウンタ３１２ｂを分割できるため、データ送信量の増加を抑制できる。
【０１２９】
また、サーバ２においては、代表カウンタ２２２ａ及び３１２ａの比較を行ない不一致を検出した場合、装置情報３１１の差分データの検出を、制御装置３ａにオフロードできる。また、制御装置３ａにおいては、個別カウンタ２２２ｂ及び３１２ｂの比較によって、差分データを検出できる。
【０１３０】
これにより、サーバ２側の負荷を制御装置３ｂとの同期処理の場合と比較して低減できるとともに、差分データの抽出を行なうための制御装置３ａの処理負荷も低減できる。また、サーバ２においては、差分データの検出のための比較用の装置情報３１１の保持を不要とすることができる。
【０１３１】
〔１−４〕ハードウェア構成例
次に、図２９を参照して、一実施形態に係るサーバ２、制御装置３ａ及び３ｂ、並びにサーバ４のハードウェア構成例について説明する。サーバ２、制御装置３ａ及び３ｂ、並びにサーバ４は、同様のハードウェア構成をそなえてよいため、以下、これらの一例としてコンピュータ１０を例に挙げて、コンピュータ１０のハードウェア構成例について説明する。
【０１３２】
図２９に示すように、コンピュータ１０は、例示的に、プロセッサ１０ａ、メモリ１０ｂ、記憶部１０ｃ、ＩＦ部１０ｄ、Ｉ／Ｏ（Input / Output）部１０ｅ、及び読取部１０ｆをそなえてよい。
【０１３３】
プロセッサ１０ａは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ１０ａは、コンピュータ１０内の各ブロックとバス１０ｉで相互に通信可能に接続されてよい。プロセッサ１０ａとしては、例えば、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＡＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡ等の集積回路（ＩＣ；Integrated Circuit）が用いられてもよい。なお、ＣＰＵはCentral Processing Unitの略称であり、ＭＰＵはMicro Processing Unitの略称である。ＧＰＵはGraphics Processing Unitの略称であり、ＡＰＵはAccelerated Processing Unitの略称である。ＤＳＰはDigital Signal Processorの略称であり、ＡＳＩＣはApplication Specific ICの略称であり、ＦＰＧＡはField-Programmable Gate Arrayの略称である。
【０１３４】
メモリ１０ｂは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。メモリ１０ｂとしては、例えばＲＡＭ等の揮発性メモリが挙げられる。
【０１３５】
記憶部１０ｃは、種々のデータやプログラム等の情報を格納するハードウェアの一例である。記憶部１０ｃとしては、例えばＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、ＳＣＭ（Storage Class Memory）、ＲＯＭ（Read Only Memory）等が挙げられる。
【０１３６】
なお、サーバ２において、図１３に示すメモリ部２１及びＤＢ２２は、それぞれ、例えば、サーバ２のメモリ１０ｂ及び記憶部１０ｃの少なくとも一方の記憶領域により実現されてもよい。また、制御装置３ａにおいて、図１４に示すＤＢ３１は、例えば、制御装置３ａのメモリ１０ｂ及び記憶部１０ｃの少なくとも一方の記憶領域により実現されてもよい。
【０１３７】
また、記憶部１０ｃは、コンピュータ１０の各種機能の全部若しくは一部を実現するプログラム１０ｇを格納してよい。プロセッサ１０ａは、記憶部１０ｃに格納されたプログラム１０ｇをメモリ１０ｂに展開して実行することにより、サーバ２、制御装置３ａ若しくは３ｂ、又はサーバ４としての機能を実現できる。
【０１３８】
例えば、サーバ２においては、サーバ２のプロセッサ１０ａが、記憶部１０ｃに格納されたプログラム１０ｇをメモリ１０ｂに展開して演算処理を実行することで、バックエンド処理部２３、同期制御部２４、及びＩＦ制御部２５としての機能を実現できる。また、制御装置３ａにおいては、制御装置３ａのプロセッサ１０ａが、記憶部１０ｃに格納されたプログラム１０ｇをメモリ１０ｂに展開して演算処理を実行することで、ファームウェア３２としての機能を実現できる。
【０１３９】
ＩＦ部１０ｄは、ネットワークとの間の接続及び通信の制御等を行なう通信インタフェースの一例である。例えば、ＩＦ部１０ｄは、ＬＡＮ、或いは、光通信（例えばＦＣ（Fibre Channel；ファイバチャネル））等に準拠したアダプタを含んでよい。
【０１４０】
例えば、サーバ２のＩＦ部１０ｄは、ネットワーク１ａ及び１ｃとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよい。サーバ２のＩＦ制御部２５は、当該通信インタフェースの一例である。また、制御装置３ａのＩＦ部１０ｄは、ネットワーク１ａとの間の接続及び通信の制御を行なう通信インタフェースと、ネットワーク１ｂとの間の接続及び通信の制御を行なう通信インタフェースと、をそなえてよい。さらに、制御装置３ｂのＩＦ部１０ｄは、ネットワーク１ｃとの間の接続及び通信の制御を行なう通信インタフェースと、ネットワーク１ｄとの間の接続及び通信の制御を行なう通信インタフェースと、をそなえてよい。また、サーバ４ａのＩＦ部１０ｄは、ネットワーク１ｂとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよく、サーバ４ｂのＩＦ部１０ｄは、ネットワーク１ｄとの間の接続及び通信の制御を行なう通信インタフェースをそなえてよい。
【０１４１】
例えば、サーバ２、制御装置３ａ若しくは３ｂ、又はサーバ４のプログラム１０ｇは、当該通信インタフェースを介してネットワーク１ａ〜１ｄのいずれかからダウンロードされ、記憶部１０ｃに格納されてもよい。
【０１４２】
Ｉ／Ｏ部１０ｅは、マウス、キーボード、又は操作ボタン等の入力部、並びに、タッチパネルディスプレイ、ＬＣＤ（Liquid Crystal Display）等のモニタ、プロジェクタ、又はプリンタ等の出力部、の一方又は双方を含んでよい。
【０１４３】
読取部１０ｆは、記録媒体１０ｈに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部１０ｆは、記録媒体１０ｈを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部１０ｆとしては、例えば、ＵＳＢ（Universal Serial Bus）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体１０ｈにはプログラム１０ｇが格納されてもよく、読取部１０ｆが記録媒体１０ｈからプログラム１０ｇを読み出して記憶部１０ｃに格納してもよい。
【０１４４】
記録媒体１０ｈとしては、例示的に、磁気／光ディスクやフラッシュメモリ等の非一時的な記録媒体が挙げられる。磁気／光ディスクとしては、例示的に、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）、ブルーレイディスク、ＨＶＤ（Holographic Versatile Disc）等が挙げられる。フラッシュメモリとしては、例示的に、ＵＳＢメモリやＳＤカード等が挙げられる。なお、ＣＤとしては、例示的に、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等が挙げられる。また、ＤＶＤとしては、例示的に、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。
【０１４５】
上述したコンピュータ１０のハードウェア構成は例示である。従って、コンピュータ１０内でのハードウェアの増減（例えば任意のブロックの追加や削除）、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【０１４６】
〔２〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【０１４７】
例えば、サーバ２において、バックエンド処理部２３、同期制御部２４、及びＩＦ制御部２５の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。また、サーバ２の同期制御部２４ａにおけるカウンタ制御部２４１、差分データ取得部２４２、及びデータ管理部２４３の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。さらに、制御装置３ａのファームウェア３２におけるリポジトリ制御部３３及びＵＩ制御部３４の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。また、ファームウェア３２のＵＩ制御部３４におけるカウンタ比較部３４１及びデータ生成部３４２の各機能は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
【０１４８】
〔３〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【０１４９】
（付記１）
ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第１更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶する記憶部と、
前記ストレージ装置を制御するストレージ制御装置から第１更新情報を取得し、取得した第１更新情報と、前記記憶部が記憶する第１更新情報とを比較する比較部と、
取得した第１更新情報と前記記憶部が記憶する第１更新情報とが異なる場合、前記記憶部が記憶する複数の第２更新情報を前記ストレージ制御装置へ送信する送信部と、
送信した複数の第２更新情報に基づき前記ストレージ制御装置において抽出された１以上の情報要素を、前記ストレージ制御装置から受信する受信部と、
受信した１以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する更新部と、をそなえる
ストレージ管理装置。
【０１５０】
（付記２）
前記受信部は、送信した複数の第２更新情報の各々と、前記ストレージ制御装置が記憶する複数の第２更新情報の各々と、の比較によって抽出された前記１以上の情報要素を、前記ストレージ制御装置から受信する、付記１に記載のストレージ管理装置。
【０１５１】
（付記３）
前記受信部は、前記ストレージ制御装置から、第１更新情報と、抽出された１以上の情報要素の各々の更新の状況を示す１以上の第２更新情報と、を受信し、
前記更新部は、受信した第１更新情報及び１以上の第２更新情報に基づいて、前記記憶部が記憶する第１更新情報及び複数の第２更新情報を更新する、付記１又は付記２に記載のストレージ管理装置。
【０１５２】
（付記４）
前記構成情報の前記複数の情報要素は、前記ストレージ装置が有する記憶ボリュームに関連する１以上の情報要素を含む、付記１〜３のいずれか１項に記載のストレージ管理装置。
【０１５３】
（付記５）
前記ストレージ装置とは装置規模に関連する製品仕様が異なる他のストレージ装置の構成に関する構成情報を記憶する保持部と、
前記他のストレージ装置を制御する他のストレージ制御装置に対して、前記比較部、前記送信部、前記受信部、及び前記更新部の処理の実行を抑止するとともに、所定のタイミングで、前記他のストレージ制御装置から前記他のストレージ装置の構成に関する構成情報を取得し、取得した構成情報に基づいて前記保持部が保持する構成情報を更新する制御部と、をそなえる、付記１〜４のいずれか１項に記載のストレージ管理装置。
【０１５４】
（付記６）
ストレージ装置をそなえるストレージシステムを管理するストレージ管理装置と、
前記ストレージ装置を制御するストレージ制御装置と、をそなえ、
前記ストレージ管理装置は、
前記ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第１更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶部に記憶し、
前記ストレージ制御装置から第１更新情報を取得し、取得した第１更新情報と、前記記憶部が記憶する第１更新情報とを比較し、
取得した第１更新情報と前記記憶部が記憶する第１更新情報とが異なる場合、前記記憶部が記憶する複数の第２更新情報を前記ストレージ制御装置へ送信し、
前記ストレージ制御装置は、
前記ストレージ管理装置から受信した複数の第２更新情報に基づき前記ストレージ制御装置が記憶する構成情報から、１以上の情報要素を抽出し、抽出した１以上の情報要素を前記ストレージ管理装置へ送信し、
前記ストレージ管理装置は、
受信した１以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する、
ストレージシステム。
【０１５５】
（付記７）
前記ストレージ制御装置は、受信した複数の第２更新情報の各々と、前記ストレージ制御装置が記憶する複数の第２更新情報の各々と、の比較によって抽出された前記１以上の情報要素を、前記ストレージ管理装置に送信する、付記６に記載のストレージシステム。
【０１５６】
（付記８）
前記ストレージ制御装置は、前記ストレージ制御装置が記憶する第１更新情報と、抽出した１以上の情報要素の各々の更新の状況を示す１以上の第２更新情報と、を前記ストレージ管理装置に送信し、
前記ストレージ管理装置は、受信した第１更新情報及び１以上の第２更新情報に基づいて、前記記憶部が記憶する第１更新情報及び複数の第２更新情報を更新する、付記６又は付記７に記載のストレージシステム。
【０１５７】
（付記９）
前記構成情報の前記複数の情報要素は、前記ストレージ装置が有する記憶ボリュームに関連する１以上の情報要素を含む、付記６〜８のいずれか１項に記載のストレージシステム。
【０１５８】
（付記１０）
前記ストレージ装置とは装置規模に関連する製品仕様が異なる他のストレージ装置と、
前記他のストレージ装置を制御する他のストレージ制御装置と、をそなえ、
前記ストレージ管理装置は、
前記他のストレージ装置の構成に関する構成情報を保持部に記憶し、
前記他のストレージ制御装置に対して、前記比較、前記送信、及び前記更新の処理の実行を抑止するとともに、所定のタイミングで、前記他のストレージ制御装置から前記他のストレージ装置の構成に関する構成情報を取得し、取得した構成情報に基づいて前記保持部が保持する構成情報を更新する、付記６〜９のいずれか１項に記載のストレージシステム。
【０１５９】
（付記１１）
コンピュータに、
ストレージ装置の構成に関する構成情報であって複数の情報要素を含む前記構成情報と、前記構成情報の更新の状況を示す第１更新情報と、前記複数の情報要素の各々の更新の状況を示す複数の第２更新情報と、を記憶部に記憶し、
前記ストレージ装置を制御するストレージ制御装置から第１更新情報を取得し、
取得した第１更新情報と、前記記憶部が記憶する第１更新情報とを比較し、
取得した第１更新情報と前記記憶部が記憶する第１更新情報とが異なる場合、前記記憶部が記憶する複数の第２更新情報を前記ストレージ制御装置へ送信し、
送信した複数の第２更新情報に基づき前記ストレージ制御装置において抽出された１以上の情報要素を、前記ストレージ制御装置から受信し、
受信した１以上の情報要素に基づいて、前記記憶部が記憶する構成情報を更新する
処理を実行させる、ストレージ管理プログラム。
【０１６０】
（付記１２）
前記受信する処理において、送信した複数の第２更新情報の各々と、前記ストレージ制御装置が記憶する複数の第２更新情報の各々と、の比較によって抽出された前記１以上の情報要素を、前記ストレージ制御装置から受信する、付記１１に記載のストレージ管理プログラム。
【０１６１】
（付記１３）
前記受信する処理において、前記ストレージ制御装置から、第１更新情報と、抽出された１以上の情報要素の各々の更新の状況を示す１以上の第２更新情報と、を受信し、
前記更新する処理において、受信した第１更新情報及び１以上の第２更新情報に基づいて、前記記憶部が記憶する第１更新情報及び複数の第２更新情報を更新する、付記１１又は付記１２に記載のストレージ管理プログラム。
【０１６２】
（付記１４）
前記構成情報の前記複数の情報要素は、前記ストレージ装置が有する記憶ボリュームに関連する１以上の情報要素を含む、付記１１〜１３のいずれか１項に記載のストレージ管理プログラム。
【０１６３】
（付記１５）
前記コンピュータに、
前記ストレージ装置とは装置規模に関連する製品仕様が異なる他のストレージ装置の構成に関する構成情報を保持部に記憶し、
前記他のストレージ装置を制御する他のストレージ制御装置に対して、前記取得、前記比較、前記送信、前記受信、及び前記更新の処理の実行を抑止するとともに、所定のタイミングで、前記他のストレージ制御装置から前記他のストレージ装置の構成に関する構成情報を取得し、
取得した構成情報に基づいて前記保持部が保持する構成情報を更新する
処理を実行させる、付記１１〜１４のいずれか１項に記載のストレージ管理プログラム。
【符号の説明】
【０１６４】
１    ストレージシステム
１ａ〜１ｄ    ネットワーク
２、４、４ａ、４ｂ    サーバ
２ａ、２ｂ    管理部
２１    メモリ部
２１１、３１１    装置情報
２２、３１    ＤＢ
２２１    管理情報
２２２、３１２    同期制御カウンタ
２２２ａ、３１２ａ    代表カウンタ
２２２ｂ、３１２ｂ    個別カウンタ
２３、２３ａ、２３ｂ    バックエンド処理部
２４、２４ａ、２４ｂ    同期制御部
２４１、３３１    カウンタ制御部
２４２    差分データ取得部
２４３    データ管理部
２５    ＩＦ制御部
２５ａ    ＲＥＳＴ制御部
２５ｂ    ＭＩＣＣ
３、３ａ、３ｂ    制御装置
３２    ファームウェア
３３    リポジトリ制御部
３４    ＵＩ制御部
３４１    カウンタ比較部
３４２    データ生成部
４１    エージェント
【図１】
2019159536.tif 000003
【図２】
2019159536.tif 000004
【図３】
2019159536.tif 000005
【図４】
2019159536.tif 000006
【図５】
2019159536.tif 000007
【図６】
2019159536.tif 000008
【図７】
2019159536.tif 000009
【図８】
2019159536.tif 000010
【図９】
2019159536.tif 000011
【図１０】
2019159536.tif 000012
【図１１】
2019159536.tif 000013
【図１２】
2019159536.tif 000014
【図１３】
2019159536.tif 000015
【図１４】
2019159536.tif 000016
【図１５】
2019159536.tif 000017
【図１６】
2019159536.tif 000018
【図１７】
2019159536.tif 000019
【図１８】
2019159536.tif 000020
【図１９】
2019159536.tif 000021
【図２０】
2019159536.tif 000022
【図２１】
2019159536.tif 000023
【図２２】
2019159536.tif 000024
【図２３】
2019159536.tif 000025
【図２４】
2019159536.tif 000026
【図２５】
2019159536.tif 000027
【図２６】
2019159536.tif 000028
【図２７】
2019159536.tif 000029
【図２８】
2019159536.tif 000030
【図２９】
2019159536.tif 000031