説明

データ保管システム、その方法、ファイルサーバ、端末およびプログラム

【課題】 安価なサーバによっても高い冗長性およびセキュリティ機能を得ることができるデータ保管システム、その方法、ファイルサーバ、端末およびプログラムを提供する。
【解決手段】 端末10は、保管データをデータ分割し、どの分割データに保管されたのかを識別可能な情報を生成して保管し、複数のサーバ20が、分割データをデータベースに保存する際に、管理用データを作成し、所定の記憶領域に登録する。保管データに復元する分割データが保存されているサーバを特定し、一定長のデータ値によって復元された保管データの正常性を確認する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク内に複数のファイルサーバを設置し、保管データを分割してファイルサーバに保管するデータ保管システム、その方法、ファイルサーバ、端末およびプログラムに関する。
【背景技術】
【0002】
近年のネットワークの高速化に伴い、ファイルサーバをネットワーク内に設置し利用する形態が増加している。ここで、データの量の増大および質の多様化に伴い、ファイルの保護を考慮して高価なサーバや、アプリケーションを導入している場合が多い。
【0003】
ここで、分割したデータを複数のネットワークストレージに複製保管することにより、使用対象ネットワークストレージが少なくとも1台停止または破損した場合であってもサービスを継続使用することができる技術が提案されている(例えば、特許文献1参照)。
【特許文献1】特開2003−296179号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来例においては次のような問題点があった。
【0005】
分割したデータを複数のネットワークストレージに複製保管する際には、ミラーリングによって行なうに過ぎないため、高い冗長性を確保しながらセキュリティ機能を実現することが困難であるという問題点があった。
【0006】
そこで、本発明は、安価なPCサーバによっても高い冗長性およびセキュリティ機能が得られることができるデータ保管システム、その方法、ファイルサーバ、端末およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1記載の発明は、端末と、ネットワークを介して接続されているファイルを記憶する複数のサーバを含むデータ保管システムであって、端末は、ファイルを構成する保管データをデータ分割するデータ分割手段と、保管データが、どの分割データに保管されたのかを識別可能な情報を生成して保管する識別情報保管手段と、保管データを一定長のデータ値に要約するデータ要約手段と、サーバにデータ保存命令を送信する送信手段と、サーバがデータベースに分割データを保存する際に、管理用データを作成し、所定の記憶領域に登録する管理用データ登録手段と、読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、その識別情報に基づいて管理用データを検索して一致する分割データが存在するか否かを判定する端末側判定手段と、端末側判定手段によって、一致する分割データが存在すると判定された場合には、その分割データが保存されているサーバを特定するサーバ特定手段と、サーバから受信した分割データを識別可能な情報に基づいて保管データに復元する復元手段と、一定長のデータ値によって復元された保管データの正常性を確認する確認手段とを備え、サーバは、端末から分割データを受信する受信手段と、受信した分割データをデータベースに保存する保存手段と、端末で選定された、分割データが、データベースに格納されているか否かを判定するサーバ側判定手段と、サーバ側判定手段によって、一致するデータが格納されていると判断された場合に、分割データの読み出しを実行し、端末に送信するデータ読出手段とを備えることを特徴とするデータ保管システムである。
【0008】
請求項2記載の発明は、端末と、ネットワークを介して接続されているファイルを記憶する複数のサーバを利用したデータ保管方法であって、端末が、データ分割手段によってファイルを構成する保管データをデータ分割するステップと、識別情報保管手段によって、保管データが、どの分割データに保管されたのかを識別可能な情報を生成して保管するステップと、データ要約手段によって、保管データを一定長のデータ値に要約するステップと、送信手段によって、サーバにデータ保存命令を送信するステップとを有し、サーバが、受信手段によって、端末から分割データを受信するステップと、保存手段によって、受信した分割データをデータベースに保存するステップとを有し、端末が、サーバがデータベースに分割データを保存する際に、管理用データ登録手段によって、管理用データを作成し、所定の記憶領域に登録するステップと、端末側判定手段によって、読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、その識別情報に基づいて管理用データを検索して一致する分割データが存在するか否かを判定するステップと、サーバ特定手段によって、端末側判定手段で、一致する分割データが存在すると判定された場合には、その分割データが保存されているサーバを特定するステップとをさらに有し、サーバが、サーバ側判定手段によって、端末で選定された、分割データが、データベースに格納されているか否かを判定するステップと、データ読出手段によって、サーバ側判定手段で、一致するデータが格納されていると判断された場合に、分割データの読み出しを実行し、端末に送信するステップとをさらに有し、端末が、復元手段によって、サーバから受信した分割データを識別可能な情報に基づいて保管データに復元するステップと、確認手段によって、一定長のデータ値によって復元された保管データの正常性を確認するステップとをさらに有することを特徴とするデータ保管方法である。
【0009】
請求項3記載の発明は、ファイルを構成する保管データを分割した分割データを受信する受信手段と、受信した分割データをデータベースに保存する保存手段と、選定された、分割データが、データベースに格納されているか否かを判定する判定手段と、判定手段によって、一致するデータが格納されていると判断された場合に、分割データの読み出しを実行し、出力するデータ読出手段とを備えることを特徴とするファイルサーバである。
【0010】
請求項4記載の発明は、ファイルを構成する保管データをデータ分割するデータ分割手段と、保管データが、どの分割データに保管されたのかを識別可能な情報を生成して保管する識別情報保管手段と、保管データを一定長のデータ値に要約するデータ要約手段と、データ保存命令を送信する送信手段と、外部に分割データが保存される際に、管理用データを作成し、所定の記憶領域に登録する管理用データ登録手段と、読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、その識別情報に基づいて管理用データを検索して一致する分割データが存在するか否かを判定する判定手段と、判定手段によって、一致する分割データが存在すると判定された場合には、その分割データが保存されている場所を特定する特定手段と、受信した分割データを識別可能な情報に基づいて保管データに復元する復元手段と、一定長のデータ値によって復元された保管データの正常性を確認する確認手段とを備えることを特徴とする端末である。
【0011】
請求項5記載の発明は、端末に、データ分割手段によってファイルを構成する保管データをデータ分割するステップと、識別情報保管手段によって、保管データが、どの分割データに保管されたのかを識別可能な情報を生成して保管するステップと、データ要約手段によって、保管データを一定長のデータ値に要約するステップと、送信手段によって、サーバにデータ保存命令を送信するステップとを実行させ、サーバに、受信手段によって、端末から分割データを受信するステップと、保存手段によって、受信した分割データをデータベースに保存するステップとを実行させ、端末に、サーバがデータベースに分割データを保存する際に、管理用データ登録手段によって、管理用データを作成し、所定の記憶領域に登録するステップと、端末側判定手段によって、読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、その識別情報に基づいて管理用データを検索して一致する分割データが存在するか否かを判定するステップと、サーバ特定手段によって、端末側判定手段で、一致する分割データが存在すると判定された場合には、その分割データが保存されているサーバを特定するステップと、をさらに実行させ、サーバに、サーバ側判定手段によって、端末で選定された、分割データが、データベースに格納されているか否かを判定するステップと、データ読出手段によって、サーバ側判定手段で、一致するデータが格納されていると判断された場合に、分割データの読み出しを実行し、端末に送信するステップとをさらに有し、端末が、復元手段によって、サーバから受信した分割データを識別可能な情報に基づいて保管データに復元するステップと、確認手段によって、一定長のデータ値によって復元された保管データの正常性を確認するステップとをさらに実行させることを特徴とするプログラムである。
【発明の効果】
【0012】
本発明のデータ保管システム、その方法、ファイルサーバ、端末およびプログラムによれば、高い冗長性およびセキュリティ機能を実現することができる。
【発明を実施するための最良の形態】
【0013】
次に、本発明の一実施の形態の構成について図面を参照して説明する。
【0014】
図1を参照すると、本実施の形態におけるデータ保管システムは、端末10と、ファイルサーバ20から構成されており、ネットワーク100を介して接続されている。ネットワーク100は、任意のネットワークであってよく、例えば、光ファイバ、インターネット、公衆回線、LAN(Local Area Network)、ADSL(Asymmetric Digital Subscriber Line)等である。なお、通信方法は、有線であっても、無線であってもよい。
図1を参照すると、データ保管システムを使用する端末10とデータを保管するファイルサーバ20がこれらを相互に接続出来る通信ネットワークから構成される。
【0015】
端末10は、例えば、一般に市販されるパーソナルコンピュータ、業務使用でデータ保管が必要な情報処理装置である。オペレーティングシステムの種類は問わないが、データ保管用の管理ソフトウェアをインストールできることと、ファイルサーバ20とネットワーク100を介して通信することができる環境を備えているものである必要がある。
【0016】
また、上記の管理ソフトウェアは、ネットワーク100内に存在しているファイルサーバ20のリストを保持し、データ保管時に、データを複数に分割し、その分割したデータをファイル分散数N(「N」は任意の正の整数とする。)に基づきN台のファイルサーバ20に送信する。この際に同一の分割データは同じファイルサーバ20には送信しないように管理する。このファイル分散数Nを大きくすることにより同一データ片のコピーが作成され冗長機能が高くなる。
【0017】
ファイルサーバ20は、ネットワーク100に接続され、端末10と通信可能な、例えば、ワークステーション等の情報処理装置である。オペレーティングシステムは問わないがデータ保管用の管理ソフトウェアをインストールすることができなければならない。ここで、設置台数はデータ保管システムでの任意のデータ分散数N(個)とすると、Nよりも多い台数M(台)とする必要がある。また、データベース21を備え、データ分割された保管データ30を格納する。
【0018】
次に、図2〜図6を参照して、本実施の形態における、データ保管処理のフローを図7のシーケンス図に基づいて詳細に説明する。
【0019】
まず、使用者は、端末10を用いてファイルサーバ20Xに対してファイル保管を実行させるための操作を実施する(ステップA1)。ここで、図2に示すように、データ保管用のアプリケーションがインストールされた端末10からは、データの保管先であるファイルサーバ20Xが存在するように見かけ上みえるように構成されていてもよい。
【0020】
次に、端末10は、保管データ30をデータ分割する(ステップA2)。ここで、図3を参照すると、保管データ30はデータ分割され、A、BおよびCの3つのデータに分割される。なお、データ分割数は任意であり、分割数を多くする程冗長性は高くなる。図3では、データ分割数3でのデータ分割を実施している。
【0021】
また、保管の際に保管データ30は、分割データA、B、Cに保管されたことを識別可能な情報を端末10側で保管する。この際に保管データを一定長のデータ値である、例えばハッシュ値に要約する。この要約した値は元の保管データからのみ作成可能であり、保管データの1バイトの文字列であっても変更されていた場合には要約した値は異なるものとなり、この要約した値により分割前後のデータの分割/復元の正常性の判断が可能となる。なお、ハッシュ値とは、ハッシュ関数を利用した技術であり、暗号化データの復号時のデータ正常性確認等で使用されるデータである。
【0022】
次に、M台のファイルサーバ20が、端末10からのデータ保存命令にしたがって、ネットワーク100を経由して端末10からデータ分割された分割データを受信して、それぞれデータベース21に格納して保存する(ステップA3)。ここで、図4を参照すると、M=6であり、6台のファイルサーバが分割データをランダムに格納している。
【0023】
また、M台のファイルサーバ20が、分割データをデータベース21に保存する際に、端末10は、例えば、図5で示すような分散ファイルの管理用データを作成し、所定の記憶領域に登録する。
【0024】
そして、一旦、ファイルサーバ20に保存されている分割データを読み出す場合には、使用者は、端末10を用いてファイルサーバ20に対してファイルを読み出すための操作を実施する(ステップA4)。端末10側では、読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、分散ファイルの管理用データに基づいて、検索して一致する分散データが存在するか否かを判定し(ステップA5)、存在する場合には、そのファイルに結び付けられて記憶されている分散されたデータが選定されるとともに、そのデータが保存されているファイルサーバ20の特定がなされる。
【0025】
次に、ファイルサーバ20は、端末10側で選定された、分散データが、データベース21に格納されているか否かを判定し(ステップA6)、一致するデータが存在する場合には、そのデータの読み出しを実行し、読み出した分割データをネットワーク100を介して端末10に送信する(ステップA7)。
【0026】
次に、端末10は、ファイルサーバ20から受信した分割データに基づいてファイルの復元作業を実施する(ステップA8)。この際、復元データと保存時のハッシュ値が比較されデータの正常性が確認される(ステップA9)。
【0027】
ここで、図6を参照すると、ファイルサーバ20の複数台との通信が不可能となる状態であっても、(ファイル分散数N−1)/(ファイル分散数N)のファイルサーバ20と通信が可能であれば保存された分割データは読み出し可能となる。例えば、図6では、M=6、N=3であり、6×(3−1/3)=4台のファイルサーバ20と通信可能であれば分割データの正常性は保障されることとなる。
【0028】
そして、分散データの読み出し完了後、端末10側での保存データに変更が生じた場合には、別途、データ分割されて(ステップA10)、それぞれのファイルサーバ20に更新分散データa、bおよびcとして新たに保存される(ステップA11)。旧データのA、B、Cは不要となるため、不要ファイルリストにリストアップされ、定期的なファイルチェックの際に消去される(ステップA11)。
【0029】
なお、上述した各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、上記の実施の形態における端末10、ファイルサーバ20の機能を実現するためのプログラムを各装置に読込ませて実行することにより本システムの機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるCD−ROM、光磁気ディスク等を介して、または伝送媒体であるインターネット、電話回線等を介して伝送波により他のコンピュータシステムに伝送されてもよい。
【0030】
上述した各実施の形態は、それぞれのファイルサーバ20が別個の装置として接続されているシステム構成について説明したが、各機能が1つのコンピュータシステムとして実現されている構成や機能毎に複数のサーバ装置等が追加された構成にも適用可能であることはもちろんである。
【図面の簡単な説明】
【0031】
【図1】本発明の実施形態におけるデータ保管システムの概略構成を示す図である。
【図2】ファイル保管を実行させるための操作を実施する際の見かけ上のシステム構成を示す図である。
【図3】分割データの一例を示す図である。
【図4】複数のファイルサーバが分割データを格納する一例を示す図である。
【図5】分散ファイルの管理用データの一例を示す図である。
【図6】保存された分割データが読み出し可能となるファイルサーバ数を説明する図である。
【図7】本発明の実施形態におけるデータを保管する処理動作を示すシーケンス図である。
【符号の説明】
【0032】
10 端末
20a〜f ファイルサーバ
100 ネットワーク

【特許請求の範囲】
【請求項1】
端末と、ネットワークを介して接続されているファイルを記憶する複数のサーバを含むデータ保管システムであって、
前記端末は、前記ファイルを構成する保管データをデータ分割するデータ分割手段と、
前記保管データが、どの分割データに保管されたのかを識別可能な情報を生成して保管する識別情報保管手段と、
前記保管データを一定長のデータ値に要約するデータ要約手段と、
前記サーバにデータ保存命令を送信する送信手段と、
前記サーバがデータベースに分割データを保存する際に、管理用データを作成し、所定の記憶領域に登録する管理用データ登録手段と、
読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、その識別情報に基づいて前記管理用データを検索して一致する分割データが存在するか否かを判定する端末側判定手段と、
前記端末側判定手段によって、一致する分割データが存在すると判定された場合には、その分割データが保存されている前記サーバを特定するサーバ特定手段と、
前記サーバから受信した分割データを識別可能な情報に基づいて保管データに復元する復元手段と、
前記一定長のデータ値によって復元された前記保管データの正常性を確認する確認手段と、を備え、
前記サーバは、前記端末から前記分割データを受信する受信手段と、
受信した前記分割データをデータベースに保存する保存手段と、
前記端末で選定された、前記分割データが、前記データベースに格納されているか否かを判定するサーバ側判定手段と、
前記サーバ側判定手段によって、一致するデータが格納されていると判断された場合に、前記分割データの読み出しを実行し、端末に送信するデータ読出手段と、
を備えることを特徴とするデータ保管システム。
【請求項2】
端末と、ネットワークを介して接続されているファイルを記憶する複数のサーバを利用したデータ保管方法であって、
前記端末が、データ分割手段によって前記ファイルを構成する保管データをデータ分割するステップと、
識別情報保管手段によって、前記保管データが、どの分割データに保管されたのかを識別可能な情報を生成して保管するステップと、
データ要約手段によって、前記保管データを一定長のデータ値に要約するステップと、
送信手段によって、前記サーバにデータ保存命令を送信するステップと、を有し、
前記サーバが、受信手段によって、前記端末から前記分割データを受信するステップと、
保存手段によって、受信した前記分割データをデータベースに保存するステップと、を有し、
前記端末が、前記サーバがデータベースに分割データを保存する際に、管理用データ登録手段によって、管理用データを作成し、所定の記憶領域に登録するステップと、
端末側判定手段によって、読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、その識別情報に基づいて前記管理用データを検索して一致する分割データが存在するか否かを判定するステップと、
サーバ特定手段によって、前記端末側判定手段で、一致する分割データが存在すると判定された場合には、その分割データが保存されている前記サーバを特定するステップと、をさらに有し、
前記サーバが、サーバ側判定手段によって、前記端末で選定された、前記分割データが、前記データベースに格納されているか否かを判定するステップと、
データ読出手段によって、前記サーバ側判定手段で、一致するデータが格納されていると判断された場合に、前記分割データの読み出しを実行し、端末に送信するステップと、をさらに有し、
前記端末が、復元手段によって、前記サーバから受信した分割データを識別可能な情報に基づいて保管データに復元するステップと、
確認手段によって、前記一定長のデータ値によって復元された前記保管データの正常性を確認するステップと、
をさらに有することを特徴とするデータ保管方法。
【請求項3】
ファイルを構成する保管データを分割した分割データを受信する受信手段と、
受信した前記分割データをデータベースに保存する保存手段と、
選定された、前記分割データが、前記データベースに格納されているか否かを判定する判定手段と、
前記判定手段によって、一致するデータが格納されていると判断された場合に、前記分割データの読み出しを実行し、出力するデータ読出手段と、
を備えることを特徴とするファイルサーバ。
【請求項4】
ファイルを構成する保管データをデータ分割するデータ分割手段と、
前記保管データが、どの分割データに保管されたのかを識別可能な情報を生成して保管する識別情報保管手段と、
前記保管データを一定長のデータ値に要約するデータ要約手段と、
データ保存命令を送信する送信手段と、
外部に分割データが保存される際に、管理用データを作成し、所定の記憶領域に登録する管理用データ登録手段と、
読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、その識別情報に基づいて前記管理用データを検索して一致する分割データが存在するか否かを判定する判定手段と、
前記判定手段によって、一致する分割データが存在すると判定された場合には、その分割データが保存されている場所を特定する特定手段と、
受信した分割データを識別可能な情報に基づいて保管データに復元する復元手段と、
前記一定長のデータ値によって復元された前記保管データの正常性を確認する確認手段と、
を備えることを特徴とする端末。
【請求項5】
前記端末に、データ分割手段によって前記ファイルを構成する保管データをデータ分割するステップと、
識別情報保管手段によって、前記保管データが、どの分割データに保管されたのかを識別可能な情報を生成して保管するステップと、
データ要約手段によって、前記保管データを一定長のデータ値に要約するステップと、
送信手段によって、前記サーバにデータ保存命令を送信するステップと、を実行させ、
前記サーバに、受信手段によって、前記端末から前記分割データを受信するステップと、
保存手段によって、受信した前記分割データをデータベースに保存するステップと、を実行させ、
前記端末に、前記サーバがデータベースに分割データを保存する際に、管理用データ登録手段によって、管理用データを作成し、所定の記憶領域に登録するステップと、
端末側判定手段によって、読み出しを希望するファイルを一意に識別するための識別情報を受け付けて、その識別情報に基づいて前記管理用データを検索して一致する分割データが存在するか否かを判定するステップと、
サーバ特定手段によって、前記端末側判定手段で、一致する分割データが存在すると判定された場合には、その分割データが保存されている前記サーバを特定するステップと、をさらに実行させ、
前記サーバに、サーバ側判定手段によって、前記端末で選定された、前記分割データが、前記データベースに格納されているか否かを判定するステップと、
データ読出手段によって、前記サーバ側判定手段で、一致するデータが格納されていると判断された場合に、前記分割データの読み出しを実行し、端末に送信するステップと、をさらに有し、
前記端末が、復元手段によって、前記サーバから受信した分割データを識別可能な情報に基づいて保管データに復元するステップと、
確認手段によって、前記一定長のデータ値によって復元された前記保管データの正常性を確認するステップと、
をさらに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate