(57)【要約】      （修正有）【課題】バージョン管理の仕組みを融合したバージョン管理システムを提供する。【解決手段】ＣＰＵと、メモリと、情報処理装置と通信可能に接続する通信インタフェース部と、バージョン情報を付帯させたファイルが記憶されるリポジトリデータベースと、情報処理装置からの要求に応じてリポジトリデータベースからファイルをチェックアウトするチェックアウト処理部、情報処理装置からファイルを特定する情報が設定されたデータ書き込み要求を受信するデータ書き込み要求受信部、データ書き込み要求に応じてチェックアウトしたファイルに対するファイル書き込み処理部、情報処理装置からのチェックイン要求に応じて、ファイルをリポジトリデータベースにチェックインするチェックイン処理部、及び、チェックイン処理部がチェックインするのに応じて、リポジトリデータベースに記憶されているファイルのバックアップを行うバックアップ処理部とを備える。【選択図】図２
2005234860.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、メモリと、
通信ネットワークを通じて情報処理装置と通信可能に接続する通信インタフェース部と、
バージョン情報を付帯させたファイルが記憶されるリポジトリデータベースと、
前記ＣＰＵが前記メモリに記憶されているプログラムを実行することにより実現される、
前記情報処理装置から送信される、前記リポジトリデータベースから前記ファイルをチェックアウトするように指示するコマンドであるチェックアウト要求を受信し、受信した前記チェックアウト要求に応じて、前記リポジトリデータベースから前記ファイルをチェックアウトするチェックアウト処理部、
前記情報処理装置から送信される、前記ファイルを特定する情報が設定されたデータ書き込み要求を受信するデータ書き込み要求受信部、
前記データ書き込み要求に応じて、前記チェックアウトした前記ファイルに対するデータの書き込みを行うファイル書き込み処理部、
前記情報処理装置から送信される、前記チェックアウトした前記ファイルを前記リポジトリデータベースにチェックインするように指示するコマンドであるチェックイン要求を受信し、受信した前記チェックイン要求に応じて、前記チェックアウトした前記ファイルを前記リポジトリデータベースにチェックインするチェックイン処理部、
及び、前記チェックイン処理部が前記チェックインするのに応じて、前記リポジトリデータベースに記憶されているファイルのバックアップを行うバックアップ処理部と、
を備えることを特徴とするバージョン管理システム。
【請求項２】
ＣＰＵと、メモリと、
情報処理装置と通信ネットワークを通じて通信可能に接続する通信インタフェース部と、
バージョン情報を付帯させたファイルが記憶されるリポジトリデータベースを備える記憶デバイス制御装置と通信可能に接続するストレージインタフェース部と、
前記ＣＰＵが前記メモリに記憶されているプログラムを実行することにより実現される、
前記情報処理装置から送信される、前記リポジトリデータベースから前記ファイルをチェックアウトするように指示するコマンドであるチェックアウト要求を受信し、受信した前記チェックアウト要求に応じて、前記リポジトリデータベースから前記ファイルをチェックアウトするチェックアウト処理部、
前記情報処理装置から送信される、前記ファイルを特定する情報が設定されたデータ書き込み要求を受信するデータ書き込み要求受信部、
前記データ書き込み要求に応じて、前記リポジトリデータベースから読み出した前記ファイルに対するデータの書き込みを行うファイル書き込み処理部、
前記情報処理装置から送信される、前記チェックアウトした前記ファイルを前記リポジトリデータベースにチェックインするように指示するコマンドであるチェックイン要求を受信し、受信した前記チェックイン要求に応じて、前記チェックアウトした前記ファイルを前記リポジトリデータベースにチェックインするチェックイン処理部、
及び、前記チェックイン処理部が前記チェックインするのに応じて、前記リポジトリデータベースに記憶されているファイルのバックアップを行うバックアップ処理部と、
を備えることを特徴とするバージョン管理サーバ装置。
【請求項３】
ＣＰＵと、メモリと、
通信ネットワークを通じて情報処理装置と通信可能に接続する通信インタフェース部と、
記憶デバイスに対するデータの入出力に関する制御を行うディスクインタフェース部と、
前記通信インタフェース部と前記ディスクインタフェース部との間で授受されるデータを記憶するキャッシュメモリと、
バージョン情報を付帯させたファイルが記憶されるリポジトリデータベースと、
前記ＣＰＵが前記メモリに記憶されているプログラムを実行することにより実現される、
前記情報処理装置から送信される、前記リポジトリデータベースから前記ファイルを書き込み可能に読み出すように指示するチェックアウト要求を受信し、受信した前記チェックアウト要求に応じて、前記リポジトリデータベースから前記ファイルをチェックアウトするチェックアウト処理部、
前記情報処理装置から送信される、前記ファイルを特定する情報が設定されたデータ書き込み要求を受信するデータ書き込み要求受信部、
前記データ書き込み要求に応じて、前記チェックアウトした前記ファイルに対するデータの書き込みを行うファイル書き込み処理部、
前記情報処理装置から送信される、前記チェックアウトした前記ファイルを前記リポジトリデータベースにチェックインするように指示するコマンドであるチェックイン要求を受信し、受信した前記チェックイン要求に応じて、前記チェックアウトした前記ファイルを前記リポジトリデータベースにチェックインするチェックイン処理部、
及び、前記チェックイン処理部が前記チェックインするのに応じて、前記リポジトリデータベースに記憶されているファイルのバックアップを行うバックアップ処理部と、
を備えることを特徴とする記憶デバイス制御装置。
【請求項４】
請求項１に記載のバージョン管理システムであって、
前記データ書き込み要求は、ＷｅｂＤＡＶプロトコルに従って前記情報処理装置から送信されること、
を特徴とするバージョン管理システム。
【請求項５】
請求項１に記載のバージョン管理システムであって、
記憶装置が提供する記憶領域上に論理的に設定される記憶領域である第１及び第２の論理ボリュームを備え、
前記リポジトリデータベースは前記第１の論理ボリュームに格納され、
前記バックアップ処理部によるバックアップは、前記第１の論理ボリュームに記憶されているデータの複製を前記第２の論理ボリュームに書き込むことにより行われること、
を特徴とするバージョン管理システム。
【請求項６】
請求項１に記載のバージョン管理システムであって、
第１及び第２の記憶装置を備え、
前記リポジトリデータベースは、第１の前記記憶装置が提供する記憶領域に格納され、
前記バックアップは、前記第１の記憶装置が提供する記憶領域に記憶されているデータの複製を、第２の前記記憶装置が提供する記憶領域に書き込むことにより行われること、
を特徴とするバージョン管理システム。
【請求項７】
請求項１に記載のバージョン管理システムであって、
前記リポジトリデータベースは、前記ファイルを前記ファイルが所属するグループを特定する識別情報を付帯させて記憶し、
前記チェックアウト処理部は、前記チェックアウト要求に応じて、前記リポジトリデータベースから同一の前記識別情報が付帯されている前記ファイルをチェックアウトし、
前記バックアップは、前記ファイルをチェックインした後に行われること、
を特徴とするバージョン管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置に関する。
【背景技術】
【０００２】
情報処理システムで取り扱われるデータ量が増加している。このような状況の下、データを記憶管理するための記憶装置として、ディスクアレイ装置が多用されている。ディスクアレイ装置は、多数のハードディスクドライブを備え、情報処理装置に対して大容量の記憶リソースを提供している。このようなディスクアレイ装置は高機能化が進んでおり、ディスクアレイ装置間でデータを複製する機能（遠隔レプリケーション）や、ディスクアレイ装置内でデータの複製を保存する機能（以下、データコピー機能と称する）などが、ミッションクリティカルなディスクアレイ装置では標準的なものとなっている。データコピー機能については、特開２０００−２７６３０６号公報に詳しい。
【０００３】
また、情報処理装置とディスクアレイ装置とを、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルなどに従うネットワークで接続し、情報処理装置に対してネットワーク経由でファイルシステムを提供するＮＡＳ（Network Attached Storage）の技術が開発されている。このようなファイルシステムでは、ある時点でのファイルの内容を保存するスナップショット機能が実用化されているが、さらに進んでファイルの変更履歴を管理するバージョン管理機能を持つものが現れてきている。このようなバージョン管理の仕組みを取り入れたＮＡＳとしてＷｅｂＤＡＶ（Web Distributed Authoring and Versioning）が注目を集めている。
【特許文献１】特開２０００−２７６３０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＷｅｂＤＡＶなどのバージョン管理機能をもつＮＡＳシステムでは、ファイルに対する操作の履歴をリポジトリと呼ばれるデータベースに記録しておくことにより、過去のファイルを復元できるようにする仕組みが提供されている。また、ディスクアレイ装置においても、ある記憶領域に記憶されているデータの複製を、他の記憶領域に記憶させることにより、複製先の記憶領域から元のデータを復元できるようにする仕組みが開発されている。
【０００５】
しかしながら、ＷｅｂＤＡＶなどによるファイルのバージョン管理と、ディスクアレイ装置によるデータの複製処理とは連携されることがなく、それぞれ独立して管理を行う必要があった。そこで、ディスクアレイ装置には、ＷｅｂＤＡＶなどによるバージョン管理の仕組みを融合させた、ファイルの保全性の向上が期待されている。
【０００６】
本発明は、このような背景を鑑みてなされたものであり、バージョン管理の仕組みを融合したバージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明の主たる発明は、バージョン管理システムであって、ＣＰＵと、メモリと、通信ネットワークを通じて情報処理装置と通信可能に接続する通信インタフェース部と、バージョン情報を付帯させたファイルが記憶されるリポジトリデータベースと、前記ＣＰＵが前記メモリに記憶されているプログラムを実行することにより実現される、前記情報処理装置から送信される、前記リポジトリデータベースから前記ファイルをチェックアウトするように指示するコマンドであるチェックアウト要求を受信し、受信した前記チェックアウト要求に応じて、前記リポジトリデータベースから前記ファイルをチェックアウトするチェックアウト処理部、前記情報処理装置から送信される、前記ファイルを特定する情報が設定されたデータ書き込み要求を受信するデータ書き込み要求受信部、前記データ書き込み要求に応じて、前記チェックアウトした前記ファイルに対するデータの書き込みを行うファイル書き込み処理部、前記情報処理装置から送信される、前記チェックアウトした前記ファイルを前記リポジトリデータベースにチェックインするように指示するコマンドであるチェックイン要求を受信し、受信した前記チェックイン要求に応じて、前記チェックアウトした前記ファイルを前記リポジトリデータベースにチェックインするチェックイン処理部、及び、前記チェックイン処理部が前記チェックインするのに応じて、前記リポジトリデータベースに記憶されているファイルのバックアップを行うバックアップ処理部と、を備えることとする。
【発明の効果】
【０００８】
本発明によれば、バージョン管理の仕組みを融合したバージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置を提供することができる。
【発明を実施するための最良の形態】
【０００９】
［実施例１］
＝＝＝システム構成＝＝＝
図１に本実施例に係る情報処理システム１の全体構成を示す。情報処理システム１は、情報処理装置１０とバージョン管理システム２０とを含んで構成される。
【００１０】
情報処理装置１０は、バージョン管理システム２０とネットワーク４０を介して通信可能に接続される。ネットワーク４０は、例えばＬＡＮ（Local Area Network）やインターネットである。なお、情報処理装置１０は複数台存在することもある。
【００１１】
情報処理装置１０は、ＣＰＵ（Central Processing Unit）やメモリを備えるコンピュータであり、例えば、パーソナルコンピュータやワークステーション、メインフレームなどである。情報処理装置１０は、ファイルを特定する情報を設定したデータ入出力要求（以下、ファイルアクセス要求と称する）をバージョン管理システム２０に送信することで、バージョン管理システム２０が提供するファイルシステムにアクセスする。上記ファイルアクセス要求には、ファイルを特定する情報としてファイル名が設定されている。
【００１２】
情報処理装置１０は、ＷｅｂＤＡＶプロトコルに従って、ネットワーク４０を介してファイルアクセス要求をバージョン管理システム２０に送信する。なお、ＷｅｂＤＡＶプロトコルについてはＲＦＣ（Request For Comments）２５１８、ＲＦＣ３２５３等に規定されているものとする。
【００１３】
バージョン管理システム２０は、ファイルシステムで管理されるファイルのバージョン管理を行う。バージョン管理システム２０は、ファイルに対してどのような操作が行われたか、またその操作によってファイルの内容がどのように変化したかといった情報を管理する。
【００１４】
バージョン管理システム２０は、ＣＰＵ２１、メモリ２２、通信インタフェース部２３、及び記憶装置３０を備える一台以上のコンピュータによって実現されている。ＣＰＵ２１がメモリ２２に記憶されているプログラムを実行することにより、例えば、ファイルシステムや、ファイルシステムで管理されるファイルのバージョン管理を行う機能が実現される。通信インタフェース部２３は、ネットワーク４０を介して情報処理装置１０との間で通信を行う。通信インタフェース部２３は、例えば、イーサネット（登録商標）のアダプタである。記憶装置３０は、例えば、ハードディスクドライブや半導体記憶装置等の記憶デバイスである。記憶装置３０は、データやアプリケーションプログラムなどを記憶する。記憶装置３０は上記コンピュータとは別体とすることもできる。その場合、記憶装置３０はバージョン管理システム２０を構成するコンピュータにＳＣＳＩ（Small Computer System Interface）やファイバチャネルのケーブルによって通信可能に接続するようにすることができる。
【００１５】
＝＝＝バージョン管理システム構成＝＝＝
図２はバージョン管理システム２０の機能を示している。  
ファイルシステム２４は、記憶装置３０に記憶されているファイルのファイル名と、そのファイル名に対応するデータが格納されている記憶装置３０上のアドレスとの対応づけを管理している。  
データ書き込み要求受信部２５は、情報処理装置１０から送信されてくる、ファイルにデータを書き込むように指示するファイルアクセス要求（以下、データ書き込み要求と称する）を受信する。
【００１６】
データ書き込み処理部２６は、データ書き込み要求受信部２５が受信した上記データ書き込み要求に応じて、ファイルに対するデータの書き込みを行う。ファイルに対するデータの書きこみは、データ書き込み処理部２６が、ファイルシステム２４によって特定される記憶装置３０のアドレスを指定したＳＣＳＩやファイバチャネルの書き込みコマンドを記憶装置３０に送信することにより行われる。
【００１７】
リポジトリデータベース３１は、該ファイルのバージョン情報を格納するデータベースであり、本実施例ではバージョン情報が付帯されたファイルを記憶するデータベースである。バージョン情報とは、例えばファイルがリポジトリデータベース３１に登録された日時や、ファイルがリポジトリデータベース３１に登録されるときに割り当てられる番号や記号、ファイルを利用するユーザが指定した名称等である。
【００１８】
リポジトリデータベース３１には、各バージョンに対応するファイルの内容（データ）が記憶されている。なお、このようにファイルの内容（データ）を丸ごと記憶しておく方法以外にも、例えば各バージョン間の差分を示すデータを記憶しておき、そのデータから各バージョンに対応するファイルの内容を再現する方法により各バージョンに対応するファイルの内容（データ）を管理するようにすることもできる。このようにすれば、ファイルを記憶しておくための記憶容量を節約することができる。なお、リポジトリデータベース３１には、どのようなファイル名のファイルが記憶されているかを示す情報（メタ情報）が管理（記憶）されていることもある。また、ファイルに対する読み出しや書き込み等の操作を表す情報（操作履歴）や、ファイルに付与されたコメント情報などが管理（記憶）されていることもある。
【００１９】
チェックアウト処理部２７は、情報処理装置１０から送信される、チェックアウトを指示するコマンド（ＣＨＥＣＫＯＵＴ：以下、チェックアウト要求と称する）を受信する。チェックアウトとは、リポジトリデータベース３１に記憶されているファイルのうち、あるバージョン情報に対応するファイルを情報処理装置１０から読み書き可能な状態にすることである。ファイルを情報処理装置１０から読み書き可能な状態にすることとは、例えば、リポジトリデータベース３１に記憶されているファイルを、記憶装置３０が提供する記憶領域であるワークスペース３２に読み出すことである。なお、既にチェックアウトされているファイルに対して重複してチェックアウトがされないように排他制御を行うようにしてもよい。この場合にはリポジトリデータベース３１に排他制御に関する情報も管理（記憶）される。
【００２０】
チェックイン処理部２８は、情報処理装置１０から送信される、ＷｅｂＤＡＶに規定されるチェックインを指示するコマンド（ＣＨＥＣＫＩＮ：以下、チェックイン要求と称する）を受信する。チェックインとは、ファイルに対する変更履歴をリポジトリデータベース３１に登録することである。ファイルがリポジトリデータベース３１にチェックインされることにより、ファイルの変更履歴を検索したり、過去のバージョンのファイルを取り出したりすることが可能となる。
【００２１】
バックアップ処理部２９は、リポジトリデータベース３１に記憶されているファイルの複製を、記憶装置３０の記憶領域であるバックアップボリューム３３に記憶させることにより、リポジトリデータベース３１に記憶されているファイルのバックアップを行う。なお、バックアップボリューム３３は、記憶装置３０とは異なる記憶装置により提供される記憶領域とすることもできる。これにより、記憶装置３０に発生する障害がバックアップボリューム３３に及ぼす影響を低減し、データの保全性を高めることができる。バックアップボリューム３３は、例えば、ディスクドライブ、テープドライブ、ＭＯディスクドライブ、ＣＤ−Ｒディスクドライブ、ＤＶＤ−Ｒディスクドライブ等の記憶装置が提供する記憶領域とすることができる。
【００２２】
＝＝＝ファイル更新処理の流れ＝＝＝
次に情報処理装置１０からの要求に基づき、バージョン管理システム２０でバージョン管理が行われているファイルに対して更新が行われる場合の処理（ファイル更新処理）について説明する。
【００２３】
図３は情報処理装置１０からの要求に基づいて行われるチェックアウトに関する処理を説明している。まず、情報処理装置１０が、バージョン情報を設定したチェックアウト要求をバージョン管理システム２０に送信し、これをバージョン管理システム２０のチェックアウト処理部２７が受信する。チェックアウト処理部２７は受信したチェックアウト要求に設定されるバージョン情報をキーとして、リポジトリデータベース３１からワークスペース３２にファイルを読み出す（S301）。以上がチェックアウトに関する処理である。
【００２４】
次に、情報処理装置１０は、ファイル名を設定したデータ書き込み要求をバージョン管理システム２０に送信する。バージョン管理システム２０のデータ書き込み要求受信部２５が情報処理装置１０から送信されたデータ書き込み要求を受信する。バージョン管理システム２０のデータ書き込み処理部２６は、受信したデータ書き込み要求に応じて、ワークスペース３２に記憶されているファイルに対して書き込みを行う（S302）。このようにして情報処理装置１０からチェックアウトされたファイルに対する変更が行われる。
【００２５】
図４はチェックインに関する処理を説明している。まず、情報処理装置１０が、ファイル名を設定したチェックイン要求をバージョン管理システム２０に送信する。バージョン管理システム２０のチェックイン処理部２８は、情報処理装置１０からチェックイン要求を受信する。次にチェックイン処理部２８は、ユニークな番号をバージョン情報として生成し、生成したバージョン情報をワークスペース３２に記憶されているチェックインの対象となるファイルに割り当てる。チェックイン処理部２８は、チェックイン対象となるファイルを、割り当てたバージョン情報を付帯させてリポジトリデータベース３１に登録する（S303）。以上がバージョン管理システム２０におけるチェックインに関する処理である。
【００２６】
チェックイン処理部２８によってチェックインが行われると、次にバックアップ処理部２９がリポジトリデータベース３１に記憶されているファイルの複製をバックアップボリューム３３に書き込む（S304）。これによりリポジトリデータベース３１に記憶されているファイルのバックアップが行われる。
【００２７】
以上により、リポジトリデータベース３１に記憶される各バージョンに対応するファイルが確実にバックアップされる。ここで、バックアップボリューム３３に書き込まれたデータ（バックアップデータ）の複製を、必要に応じてテープ等の他の媒体に書き込むようにしてもよい。
【００２８】
ところで、上記のチェックインは、ファイル単位ではなく、複数のファイルが所属する同一のグループ（ＷｅｂＤＡＶに規定されるベースライン）を単位として行うようにすることもできる。この場合、リポジトリデータベース３１は、バージョン情報に加え、ベースラインの識別情報を付帯させてファイルを記憶する。バックアップ処理部２９は、同一のベースラインに所属するファイルが全てリポジトリデータベース３１に登録された後にバックアップを行う。これにより、同一のベースラインに所属するファイルを確実にバックアップすることができる。
【００２９】
また、ファイルがリポジトリデータベース３１からチェックアウトされたときに、ワークスペース３２に記憶されるファイルの複製を、記憶装置３０の別の記憶領域に記憶しておくようにしてもよい。これによりワークスペース３２に記憶されているファイルに対する変更が行われている間にも、バージョン管理システム２０は、変更前のファイルの内容を読み出すことができる。従って、情報処理装置１０がワークスペース３２に記憶されているファイルに対する変更を行っている間に、情報処理装置１０が変更前のファイルに対するデータの読み出しを行うファイルアクセス要求（以下、データ読み出し要求と称する）を送信する場合に、バージョン管理システム２０は、複製されたファイルからデータを読み出して迅速に応答することができる。
【００３０】
［実施例２］
図５は、実施例２として説明する上述の情報処理システム１である。バージョン管理サーバ装置１００とディスクアレイ装置２００との間の通信はＳＡＮ（Storage Area Network）５０を介して行われる。この通信は、ファイバチャネルプロトコル、ＬＡＮ、ＳＣＳＩ、ｉＳＣＳＩ（Internet Small Computer System Interface）、ＥＳＣＯＮ（Enterprise System Connection：登録商標）、ＦＩＣＯＮ（Fibre CONnection：登録商標）、ＡＣＯＮＡＲＣ（Advanced CONnection ARChitecture：登録商標）、ＦＩＢＡＲＣ（FIBre connection ARChitecture：登録商標）等を用いて行われる。なお、バージョン管理サーバ装置１００とディスクアレイ装置２００とは、例えば、ＳＣＳＩケーブルにより直接接続するようにしてもよい。
【００３１】
ディスクアレイ装置２００は、記憶デバイスである複数のハードディスクドライブ３００が提供する記憶領域を管理し、ハードディスクドライブ３００に対するデータの入出力を制御する。ディスクアレイ装置２００は、チャネル制御部２１０、共有メモリ２２０、キャッシュメモリ２３０、ディスク制御部２４０、接続部２５０、及びハードディスクドライブ３００を備える。なお、ハードディスクドライブ３００は、ディスクアレイ装置２００に内蔵する形態とすることもできるし、外付けの形態とすることもできる。
【００３２】
ハードディスクドライブ３００が提供する物理的な記憶領域である物理ボリュームには、論理的に設定される記憶領域である論理ボリューム３１０が設定される。ディスクアレイ装置２００は、３つの論理ボリューム１乃至３（３１０）を備える。
【００３３】
チャネル制御部２１０はバージョン管理サーバ装置１００との間で通信を行うための通信インタフェースを備え、バージョン管理サーバ装置１００から送信される論理ボリューム３１０のアドレスを指定したデータ入出力要求（以下、ディスクアクセス要求と称する）を受信する。チャネル制御部２１０はディスクアクセス要求を受信すると、受信したディスクアクセス要求に応じて、論理ボリューム３１０にアクセスするためのＩ／Ｏコマンドを作成する。
【００３４】
共有メモリ２２０及びキャッシュメモリ２３０は、チャネル制御部２１０やディスク制御部２４０により共有されるメモリである。共有メモリ２２０は主に制御情報やコマンド等を記憶するために利用されるのに対し、キャッシュメモリ２３０は主にデータを記憶するために利用される。チャネル制御部２１０は生成したＩ／Ｏコマンドを共有メモリ２２０に書き込み、Ｉ／Ｏコマンドに付随する書き込みデータ等はキャッシュメモリ２３０に書き込む。
【００３５】
ディスク制御部２４０は、共有メモリ２２０に書き込まれたＩ／Ｏコマンドを読み出し、読み出したＩ／Ｏコマンドに従って、論理ボリューム３１０へのデータの入出力に関する制御を行う。ディスク制御部２４０は、チャネル制御部２１０がＩ／Ｏコマンドに指定した論理ボリューム３１０のアドレスを、ハードディスク３００の物理アドレスに変換し、ハードディスクドライブ３００に対するデータの入出力を行う。また、ディスク制御部２４０は、論理ボリューム３１０を構成するハードディスクドライブ３００がＲＡＩＤにより管理されている場合に、ＲＡＩＤ構成（例えば、ＲＡＩＤ０，１，５）に従ったデータのアクセスを行う。
【００３６】
接続部２５０は、チャネル制御部２１０、共有メモリ２２０、キャッシュメモリ２３０、ディスク制御部２４０を相互に接続するスイッチである。チャネル制御部２１０、共有メモリ２２０、キャッシュメモリ２３０、及びディスク制御部２４０の夫々の間でのデータやコマンドの授受は、接続部２５０を介して行われる。接続部２５０は、例えば、高速スイッチングによりデータ伝送を行う高速クロスバスイッチなどの高速バスである。
【００３７】
実施例１で説明したバージョン管理システム２０の機能のうち、リポジトリデータベース３１、ワークスペース３２、及びバックアップボリューム３３に対応する機能はディスクアレイ装置２００によって実現され、その他の機能はバージョン管理サーバ装置１００によって実現される。ディスクアレイ装置２００が備える論理ボリューム１（３１０）にはリポジトリデータベース３１が構築される。また、ディスクアレイ装置２００が備える論理ボリューム２（３１０）にはワークスペース３２が、論理ボリューム３（３１０）にはバックアップボリューム３３が夫々設けられる。バックアップ処理部２９によるバックアップは、バックアップを指示するコマンド（以下、バックアップ要求と称する）をディスクアレイ装置２００に送信することにより行われる。
【００３８】
ディスクアレイ装置２００は、バックアップ要求を受信するバックアップ要求受信部２１０１と、受信したバックアップ要求に応じて論理ボリューム１（３１０）に記憶されているデータの複製を、論理ボリューム３（３１０）に記憶させるように制御するバックアップ制御部２１０２とを備える。バックアップ要求受信部２１０１及びバックアップ制御部２１０２は、ディスクアレイ装置２００が備えるチャネル制御部２１０において実現される。
【００３９】
図６は、チャネル制御部２１０の構成を示す図である。チャネル制御部２１０は、ＣＰＵ２１１、メモリ２１２、ＮＶＲＡＭ２１３、通信インタフェース部２１４、データ転送プロセッサ２１５、及びコネクタ２１７を備える。ＣＰＵ２１１はＮＶＲＡＭ２１３に記憶されたアプリケーションプログラムをメモリ２１２に読み出して実行することによって、上述のバックアップ要求受信部２１０１やバックアップ制御部２１０２等の機能を実現する。ＮＶＲＡＭ２１３は各種プログラムや設定データなどを格納する不揮発性のメモリである。通信インタフェース部２１４は通信ポート２１６を備え、通信ポート２１６を介してチャネル制御部２１０と情報処理装置１０との間での通信を行う。データ転送プロセッサ２１５は、データの転送を司るもので、例えば、通信インタフェース部２１４が受信したデータをメモリ２１２に転送したり、メモリ２１２に記憶されているデータをディスクアレイ装置２００のキャッシュメモリ２３０に転送したりする。コネクタ２１７は、チャネル制御部２１０をディスクアレイ装置２００の本体と接続するためのものである。コネクタ２１７とディスクアレイ装置２００側のコネクタとが嵌合することにより、チャネル制御部２１０はディスクアレイ装置２００と電気的に接続する。
【００４０】
上記の構成によれば、バックアップ制御部２１０２がリポジトリデータベース３１に記憶されているファイルのバックアップを行うため、バージョン管理サーバ装置１００におけるバックアップに係る処理負荷を低減することができる。
【００４１】
なお、論理ボリューム１（３１０）に記憶されているデータを複製する先として、テープドライブやＭＯドライブ、ＣＤ−Ｒドライブ、ＤＶＤ−Ｒドライブなど、可搬型の記録媒体にデータを記憶させるバックアップ装置を用いることもできる。この場合、バックアップ要求受信部２１０１がバージョン管理サーバ装置１００からバックアップ要求を受信すると、バックアップ制御部２１０２は論理ボリューム１（３１０）に記憶されているデータをバックアップ装置に送信し、バックアップ装置は可搬型の記録媒体に受信したデータを書き込む。可搬型記録媒体をディスクアレイ装置２００が設置されている場所とは異なる場所に保管することなどによって、バージョン管理の対象となるファイルの保全性を高めることができる。
【００４２】
［実施例３］
図７は、実施例３として説明する情報処理システム１の構成である。本実施例では、論理ボリューム１（３１０）に記憶されているデータの複製を、ディスクアレイ装置２００内に記憶するのではなく、遠隔地に転送する例を示す。本実施例のディスクアレイ装置２００は、実施例２で説明したチャネル制御部２１０に更に他のディスクアレイ装置４００にデータを送信するための通信インタフェース（チャネルエクステンダ）を付加したリモート通信インタフェース部２６０を備える。他のディスクアレイ装置４００は、通信路６０を介してディスクアレイ装置２００と通信可能に接続されている。通信路６０は、例えば、公衆電話回線や専用線等の通信路である。他のディスクアレイ装置４００は、ディスクアレイ装置２００が設置される場所とは遠隔した場所に設置される。
【００４３】
ディスクアレイ装置２００は、論理ボリューム３１０に記憶されているデータの複製を、リモート通信インタフェース部２６０を介して通信可能に接続される他のディスクアレイ装置４００の論理ボリューム３１０に記憶させる処理（以下、リモートコピーと称する）を行う。リモートコピーは、遠隔地複製又はレプリケーションとも呼ばれる。リモートコピーは、チャネル制御部２１０が備える複製処理部２１０３により行われる。複製処理部２１０３は、チャネル制御部２１０が備えるＣＰＵ２１１がメモリ２１２に記憶されているプログラムを実行することにより実現される。
【００４４】
ディスクアレイ装置２００は、リポジトリデータベース３１が構築される論理ボリューム１（３１０）と、ワークスペース３２が設けられる論理ボリューム２（３１０）を備える。他のディスクアレイ装置４００は、バックアップボリューム３３が設けられる論理ボリューム３（３１０）を備える。
【００４５】
バックアップ制御部２１０２は、バックアップ要求受信部２１０１がバックアップ要求を受信するのに応じて、複製処理部２１０３が論理ボリューム１（３１０）を複製元とし、他のディスクアレイ装置４００の論理ボリューム３（３１０）を複製先として、リモートコピーを行うようにする。複製処理部２１０３は、チェックイン処理部２８が行うチェックインによって論理ボリューム１（３１０）に書き込まれたデータを、リモート通信インタフェース部２６０を介して他のディスクアレイ装置４００に送信する。他のディスクアレイ装置４００は受信したデータを論理ボリューム３（３１０）に書き込む。これにより、論理ボリューム１（３１０）に記憶されているデータの複製が論理ボリューム３（３１０）に記憶される。リポジトリデータベース３１に記憶されているファイルがバックアップボリューム３３にバックアップされることになる。以上によりリポジトリデータベース３１に記憶されるファイルの保全性を高めることができる。また、リポジトリデータベース３１にファイルがチェックインされたときにリモートコピーが起動されるため、リポジトリデータベース３１の内容を確実にバックアップすることができる。なお、リポジトリデータベース３１に対するチェックイン以外の処理による論理ボリューム３１０への書き込みではリモートコピーを起動させないようにすれば、他のディスクアレイ装置４００との間の通信頻度を抑えることができる。一般に遠隔の通信は通信コストが高く、データの転送スピードが比較的遅いことが多いが、本実施例に係るバージョン管理システム２０では、ワークスペース３２に記憶される比較的重要度の低いデータについて遠隔地へのデータ転送を行わないことにより通信路６０の通信量を抑え、通信コストや通信負荷を低減することができる。なお、リポジトリデータベース３１に対するチェックイン以外の処理による論理ボリューム３１０への書き込みでリモートコピーを起動するようにすることもできる。
【００４６】
［実施例４］
図８は、実施例４として説明する情報処理システム１である。本実施例では、情報処理装置１０がディスクアレイ装置２００に対して直接バックアップの指示を行う。図８に示すように、情報処理装置１０は、バージョン管理サーバ装置１００とネットワーク４０を介して通信可能に接続するとともに、ディスクアレイ装置２００とも通信路７０を介して通信可能に接続する。通信路７０は、例えば、ＬＡＮやインターネットなどのネットワークである。通信路７０は、ＳＣＳＩやファイバチャネルのプロトコルに従う通信路としてもよい。
【００４７】
バージョン管理サーバ装置１００は、上述の構成に加え、反映確認処理部１０１と、論理ボリューム応答部１０２とを備えている。
【００４８】
反映確認処理部１０１は、情報処理装置１０から送信される、チェックインに係るリポジトリデータベース３１へのデータの書き込みが終了したかどうかを問い合わせるコマンド（以下、反映確認要求と称する）を受信し、論理ボリューム１（３１０）に対するデータの書き込みが行われたかどうかを示す情報を応答する。例えば、チェックイン処理部２８が、チェックインに係るディスクアクセス要求をディスクアレイ装置２００に送信するよりも前に、情報処理装置１０にチェックインを行った旨の応答を返すようにしている場合、反映確認処理部１０１は、上記のディスクアクセス要求をディスクアレイ装置２００に送信したかどうかを示す情報を情報処理装置１０に応答する。
【００４９】
論理ボリューム応答部１０２は、情報処理装置１０から送信される、リポジトリデータベース３１が構築されている論理ボリューム３１０の識別情報を問い合わせるコマンド（以下、論理ボリューム取得要求と称する）を受信し、論理ボリューム１（３１０）の識別情報を情報処理装置１０に応答する。
【００５０】
上記反映確認処理部１０１及び論理ボリューム応答部１０２は、バージョン管理サーバ装置１００におけるＣＰＵ２１がメモリ２２に記憶されているプログラムを実行することで実現される。
【００５１】
図９に本構成におけるチェックインからバックアップまでの処理の流れを示す。  
情報処理装置１０はバージョン管理サーバ装置１００にチェックイン要求を送信する（S1001）。バージョン管理サーバ装置１００は受信したチェックイン要求に応じてワークスペース３２に記憶されているファイルをリポジトリデータベース３１にチェックインする。情報処理装置１０はバージョン管理サーバ装置１００に反映確認要求を送信する（S1002）。バージョン管理サーバ装置１００の反映確認処理部１０１は、論理ボリューム１（３１０）に対するデータの書き込みが行われたかどうかを示す情報を応答する（S1003）。情報処理装置１０は、バージョン管理サーバ装置１００から上記の反映確認要求に対する応答を受信し、チェックインに伴うデータの書き込みが完了したことを確認すると、論理ボリューム取得要求をバージョン管理サーバ装置１００に送信する（S1004）。バージョン管理サーバ装置１００の論理ボリューム応答部１０２は、論理ボリューム１（３１０）を特定する情報を情報処理装置１０に応答する（S1005）。
【００５２】
情報処理装置１０は、論理ボリューム取得要求に対する応答から、チェックインされたファイルのデータが記憶されている論理ボリューム３１０を取得する。情報処理装置１０は、取得した論理ボリューム３１０を特定する情報を設定したバックアップ要求を、通信路７０を介してディスクアレイ装置２００に送信する（S1006）。
【００５３】
これにより、ディスクアレイ装置２００のバックアップ制御部２１０２は、バックアップ要求受信部２１０１が受信したバックアップ要求から、バックアップの対象となる論理ボリューム３１０を特定し、特定した論理ボリューム３１０に記憶されているデータの複製をバックアップボリューム３３に書き込むことができる。このようにすることで、バージョン管理サーバ装置１００のバックアップに係る処理負荷を低減することができる。
【００５４】
［実施例５］
実施例２〜４で説明したディスクアレイ装置２００の構成は、図１０に示すような構成とすることもできる。  
ディスクアレイ装置５００は、ＣＰＵ２１、メモリ２２、通信インタフェース部２３、ディスクインタフェース部５１０、キャッシュメモリ５２０、データ転送プロセッサ５３０、複数のハードディスクドライブ３００を備える。
【００５５】
ＣＰＵ２１は、メモリ２２に記憶されるプログラムを実行することにより、バックアップ要求受信部２１０１やバックアップ制御部２１０２等の各種機能を実現する。通信インタフェース部２３は、ＳＡＮ５０を介してバージョン管理サーバ装置１００との間で通信を行う。ディスクインタフェース部５１０は、ハードディスクドライブ３００に対するデータ入出力に関する制御を行うためのインタフェースである。キャッシュメモリ５２０は、通信インタフェース部２３とディスクインタフェース部５１０との間で授受されるデータを記憶する記憶装置である。データ転送プロセッサ５３０は、データ転送を行うもので、例えば、通信インタフェース部２３がバージョン管理サーバ装置１００から受信したデータをキャッシュメモリ５２０に転送したり、キャッシュメモリ５２０に記憶されているデータをディスクインタフェース部５１０に転送したりする。ハードディスクドライブ３００が提供する記憶領域上には論理ボリューム３１０が設定されている。
【００５６】
なお、このディスクアレイ装置５００において、バックアップ要求受信部２１０１がバージョン管理サーバ装置１００から送信されるバックアップ要求を受信し、バックアップ制御部２１０２がバックアップ要求に応じてバックアップを行う仕組みは、上述のディスクアレイ装置２００と同様である。
【００５７】
［実施例６］
以上に説明した実施例では、バージョン管理システム２０をバージョン管理サーバ１００に実装していたが、バージョン管理システム２０をディスクアレイ装置２００もしくはディスクアレイ装置５００に実装するようにすることもできる。ディスクアレイ装置２００の場合、チャネル制御部２１０のＣＰＵ２１１がメモリ２１２に記憶されているプログラムを実行することにより、上述のファイルシステム２４、データ書き込み要求受信部２５、データ書き込み処理部２６、チェックアウト処理部２７、チェックイン処理部２８、バックアップ処理部２９等の各種機能を実現する。これにより、チャネル制御部２１０は、情報処理装置１０からファイルアクセス要求を受信するＮＡＳとして機能する。
【００５８】
また、ディスクアレイ装置５００の場合、ディスクアレイ装置５００のＣＰＵ２１がメモリ２２に記憶されているプログラムを実行することにより、上述のファイルシステム２４、データ書き込み要求受信部２５、データ書き込み処理部２６、チェックアウト処理部２７、チェックイン処理部２８、バックアップ処理部２９等の各種機能を実現する。ディスクアレイ装置５００はネットワーク４０を介して情報処理装置１０と通信可能に接続し、情報処理装置１０からファイルアクセス要求を受信する。これにより、ディスクアレイ装置５００は、ＮＡＳとして機能する。
【００５９】
以上、実施例１〜６について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００６０】
例えば、チェックアウト要求やチェックイン要求以外のバージョン管理用コマンドを受信するバージョン管理コマンド受信部を設けてもよい。この場合、リポジトリデータベース３１が更新される処理を指示するコマンドを受信したときに、バックアップを行うようにする。例えば、リポジトリに新規のファイルを追加するＶＥＲＳＩＯＮ−ＣＯＮＴＲＯＬコマンドを受信したときにバックアップを行うことで、より確実にリポジトリデータベース３１に記憶されているファイルをバックアップすることができる。
【００６１】
また、チェックイン処理部２８は、チェックインされたファイルによってリポジトリデータベース３１が更新されたかどうかを判断するようにしてもよい。例えば、チェックアウトしたファイルに対して変更が行われないまま情報処理装置１０からチェックイン要求が送信された場合に、チェックイン処理部２８はリポジトリデータベース３１を更新しないようにすることもできる。これにより、更新されていないファイルをバックアップすることによる処理負荷や通信負荷の増大を抑えることができる。
【００６２】
また、上記実施例１〜６において、バージョン管理システム２０では、リポジトリデータベース３１からチェックアウトされたファイルはワークスペース３２に格納される、いわゆるサーバサイドワークスペースの形態としたが、これに限らない。例えば、情報処理装置１０がリポジトリデータベース３１からチェックアウトされたファイルをダウンロードする、いわゆるクライアントサイドのワークスペースの形態としてもよい。この場合、情報処理装置１０は、ダウンロードしたファイルをメモリ等の記憶装置に記憶し、メモリ等の記憶装置に記憶されたファイルに変更を加え、変更を加えたファイルをバージョン管理システムにアップロードする。情報処理装置１０からアップロードされるファイルはワークスペース３２に記憶され、情報処理装置１０からのチェックイン要求に応じて、リポジトリデータベース３１にチェックインされる。なお、情報処理装置１０は、チェックイン要求に、変更を加えたファイルを付帯させてバージョン管理システム２０に送信するようにしてもよい。
【００６３】
また、ワークスペース３２は、記憶装置３０上に動的に確保される記憶領域としてもよい。この場合、例えば、上述のバージョン管理サーバ装置１００が、論理ボリューム１（３１）に記憶されているデータの複製を作成するように指示するコマンドをディスクアレイ装置２００に送信する。ディスクアレイ装置２００は、データの複製先となる記憶領域を確保し、確保した記憶領域を特定する情報をバージョン管理サーバ装置１００に応答する。
【００６４】
また、上記実施例１〜６では、バージョン管理システム２０が提供するファイルシステムはＷｅｂＤＡＶプロトコルに従ったファイルアクセス要求を受信するものとしたが、ＷｅｂＤＡＶ以外にも、ＮＦＳ（Network File System）やＣＩＦＳ（Common Internet File System）等のプロトコルに従ったファイルアクセス要求を受信するようにし、加えて、ＣＶＳ（Concurrent Versions System）や、Visual SourceSafe（登録商標）、ClearCase（登録商標）などのソフトウェアで規定されている、チェックイン要求やチェックアウト要求に対応するコマンドを受信するようにしてもよい。例えば、ＮＦＳによるファイルシステム上でＣＶＳによるバージョン管理を行うような場合にも本発明を適用することができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態による、情報処理システム１の全体構成を示す図である。
【図２】本発明の一実施形態による、バージョン管理システム２０が提供する機能を示す機能ブロック図である。
【図３】本発明の一実施形態による、ファイルの更新処理の流れを説明する図である。
【図４】本発明の一実施形態による、ファイルの更新処理の流れを説明する図である。
【図５】本発明の一実施形態による、バージョン管理システム２０をバージョン管理サーバ装置１００及びディスクアレイ装置２００により構成するようにした情報処理システム１の全体構成を示す図である。
【図６】本発明の一実施形態による、チャネル制御部２１０の構成を示す図である。
【図７】本発明の一実施形態による、２台のディスクアレイ装置２００及び４００を設けた情報処理システム１の構成を示す図である。
【図８】本発明の一実施形態による、情報処理装置１０とディスクアレイ装置２００とを接続する形態の情報処理システム１の構成を示す図である。
【図９】本発明の一実施形態による、情報処理装置１０からディスクアレイ装置２００に直接バックアップの指示を行う処理の流れを示す図である。
【図１０】本発明の一実施形態による、ディスクアレイ装置２００の構成を示す図である。
【符号の説明】
【００６６】
１    情報処理システム
１０    情報処理装置
２０    バージョン管理システム
３０    記憶装置
４０    ＬＡＮ
５０    ＳＡＮ
６０    通信路
７０    通信路
１００    バージョン管理サーバ装置
１０１    反映確認処理部
１０２    論理ボリューム応答部
２００    ディスクアレイ装置
２１０    チャネル制御部
２１０１  バックアップ要求受信部
２１０２  バックアップ制御部
２１０３  複製処理部
２２０    共有メモリ
２３０    キャッシュメモリ
２４０    ディスク制御部
２５０    接続部
２６０    リモート通信インタフェース部
３００    ハードディスクドライブ
３１０    論理ボリューム
４００    ディスクアレイ装置
５００    ディスクアレイ装置
【図１】
2005234860.tif 000003
【図２】
2005234860.tif 000004
【図３】
2005234860.tif 000005
【図４】
2005234860.tif 000006
【図５】
2005234860.tif 000007
【図６】
2005234860.tif 000008
【図７】
2005234860.tif 000009
【図８】
2005234860.tif 000010
【図９】
2005234860.tif 000011
【図１０】
2005234860.tif 000012