(57)【要約】      （修正有）【課題】外部ストレージデバイスに接続したアーカイブストレージを含む統合型ストレージシステムにアーカイブされたデータの改ざんあるいは破損を検出するシステムを提供する。【解決手段】アーカイブストレージ２００から外部ストレージデバイス１０２、１０４、１０６へデータオブジェクトが送信される前に、アーカイブストレージは各オブジェクトに対してデータ完全性情報を生成する。データ完全性情報はアーカイブストレージのメモリに記録されるハッシュ値あるいはオブジェクトと共に外部ストレージデバイスに送信されるデジタル署名とすることができる。オブジェクトがクライアントコンピュータから要求されると、アーカイブストレージはオブジェクトをクライアントに送信する前にデータの完全性をチェックする。完全性の侵害が検出されると、クライアントコンピュータと管理サーバの管理者の両方に通知される。【選択図】図１
2009230741.tif 000002
【特許請求の範囲】
【請求項１】
データオブジェクトの完全性を管理し検証するシステムであって、
クライアントコンピュータに接続するための第一のインタフェースを備えたアーカイブストレージシステムと前記アーカイブストレージシステムと動作可能に接続された外部ストレージシステムとを備え、前記アーカイブストレージシステムは内部ストレージとプロセッサを備え、前記アーカイブストレージシステムは前記クライアントコンピュータから前記データオブジェクトを受信し、前記受信したデータオブジェクトを少なくとも間欠的に前記内部ストレージに保存し、前記データオブジェクトの第一の完全性の測度を生成して保存させることが可能であり、
前記アーカイブストレージシステムが、
所定の条件が成立すると前記データオブジェクトを前記外部ストレージシステムへ移行し、
前記クライアントコンピュータが、前記データオブジェクトを読み込むと、前記データオブジェクトの第二の完全性の測度を生成し、
前記保存された第一の完全性の測度と前記第二の完全性の測度を用いて前記データオブジェクトの完全性を検証し、
前記データオブジェクトの完全性が損なわれていると判定されると前記クライアントコンピュータに通知することが可能なことを特徴とする、データオブジェクトの完全性を管理し検証するシステム。
【請求項２】
前記第一の完全性の測度と前記第二の完全性の測度が前記データオブジェクトの暗号化ハッシュ値であることを特徴とする請求項１に記載のシステム。
【請求項３】
前記検証することが、前記保存された第一の完全性の測度と前記第二の完全性の測度を比較することより成ることを特徴とする請求項１に記載のシステム。
【請求項４】
前記生成し、検証し、通知することが、前記データオブジェクトが前記外部ストレージシステムへ移行された後に実行され、
検証に先立って、前記データオブジェクトが前記外部ストレージシステムから前記アーカイブストレージシステムへ提供されることを特徴とする請求項１に記載のシステム。
【請求項５】
前記アーカイブストレージシステムが前記データオブジェクトの改ざんを防止可能であることを特徴とする請求項１に記載のシステム。
【請求項６】
前記アーカイブストレージシステムが更に、ハッシュアルゴリズム識別情報を含む管理情報を保存可能なメモリを備え、
前記システムが更に、前記アーカイブストレージシステムと接続し、前記管理情報を管理し、前記第一の完全性の測度と前記第二の完全性の測度の少なくとも１つを更新可能な管理サーバを備えることを特徴とする請求項１に記載のシステム。
【請求項７】
前記アーカイブストレージシステムが、前記外部ストレージシステムと接続可能な外部ストレージシステムインタフェースを備え、前記外部ストレージシステムはネットワーク接続ストレージ、光ディスクストレージ及びテープシステムの内の少なくとも１つを備えることを特徴とする請求項１に記載のシステム。
【請求項８】
前記アーカイブストレージシステムが更に、時間情報を提供するクロックを備え、前記所定の条件の成立が時間情報に基づいて判定されることを特徴とする請求項１に記載のシステム。
【請求項９】
前記アーカイブストレージシステムが更に、管理情報を保存可能なメモリを備え、
該管理情報は、
前記外部ストレージシステムに検証指標を提供する検証テーブル、
前記アーカイブストレージシステムから前記データオブジェクトが移行する前記外部ストレージシステムを指定する移行テーブル、及び
前記アーカイブストレージシステム上の内部ストレージ位置あるいは前記外部ストレージシステム上の外部ストレージ位置を含むストレージ位置と前記データオブジェクトの生成時刻を含むオブジェクトテーブルを備えることを特徴とする請求項１に記載のシステム。
【請求項１０】
前記検証指標が、前記アーカイブストレージシステムが前記データオブジェクトを前記外部ストレージシステムから読み込むときに完全性の検証を行うかを示す検証フラグであり、
前記第一の完全性の測度と前記第二の完全性の測度の少なくとも１つが前記データオブジェクトのハッシュ値から成り、
前記オブジェクトテーブルが更に前記データオブジェクトの前記ハッシュ値に対応するハッシュアルゴリズムの名前を含むことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記検証指標が、前記外部ストレージシステムから前記アーカイブストレージシステムに読み込まれる前記データオブジェクトに対して完全性の検証を行う際に実行される動作を示す検証レベルであり、
前記第一の完全性の測度が前記データオブジェクトの暗号化ハッシュ値として計算された署名を含み、ストレージ保証書が復号キーを備え、前記署名と前記ストレージ保証書が前記データオブジェクトとともに前記外部ストレージに移行され、
前記オブジェクトテーブルが更に前記ストレージ保証書の有効期限を含むことを特徴とする請求項９に記載のシステム。
【請求項１２】
前記アーカイブストレージシステムが更に、オーソリティキーを含むルート保証書を保存し、前記アーカイブストレージシステムが前記オーソリティキーを使用して復号して前記ストレージ保証書の有効性を検証可能であることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記第一の完全性の測度がストレージシステムキーで前記データオブジェクトの署名つきハッシュ値から成り、前記第二の完全性の測度が前記データオブジェクトが前記外部ストレージシステムから読み込まれたときの前記データオブジェクトのハッシュ値から成り、検証することがストレージ保証書の復号キーを用いて前記データオブジェクトの前記署名つきハッシュ値を復号し、前記データオブジェクトの前記復号されたハッシュ値と前記第二の完全性の測度を比較することから成ること
を特徴とする請求項１に記載のシステム。
【請求項１４】
アーカイブストレージシステムとクライアントコンピュータを接続可能な第一のインタフェースを備えたアーカイブストレージシステムと、前記アーカイブストレージシステムと動作可能に接続された外部ストレージシステムから成るストレージシステムに保存されたデータオブジェクトを管理する方法であって、
前記ストレージシステムが前記クライアントコンピュータから前記データオブジェクトを受信すると前記データオブジェクトの第一の完全性の測度を生成して保存するステップと、
所定の条件が成立すると前記データオブジェクトを前記外部ストレージシステムに移行するステップと、
前記クライアントコンピュータが前記データオブジェクトを読み込むと、前記データオブジェクトの第二の完全性の測度を生成するステップと、
前記保存された第一の完全性の測度と前記第二の完全性の測度を用いて前記データオブジェクトの完全性を検証するステップと、
前記データオブジェクトの完全性が損なわれていると判定された場合、前記クライアントコンピュータに通知するステップと
を含むことを特徴とするストレージシステムに保存されたデータオブジェクトを管理する方法。
【請求項１５】
クライアントコンピュータから前記データオブジェクトを読み込む要求を受信するステップと、
前記データオブジェクトの完全性が検証された場合に前記データオブジェクトを前記クライアントコンピュータに提供するステップとを更に含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記第一の完全性の測度は第一の暗号化ハッシュ値であり、前記第二の完全性の測度は第二の暗号化ハッシュ値であることを特徴とする請求項１４に記載の方法。
【請求項１７】
新しいハッシュアルゴリズムを特定するハッシュ更新要求を受信するステップと、
前記第一のハッシュ値が前記第二のハッシュ値と一致しなければ、前記管理サーバに完全性侵害エラーを送信するステップと、
前記第二のハッシュ値が前記第一のハッシュ値と一致した場合、
前記新しいハッシュアルゴリズムを使用して前記データオブジェクトの新しいハッシュ値を計算するステップと、
前記新しいハッシュ値を前記第一のハッシュ値として前記アーカイブストレージに保存するステップと、
前記新しいハッシュアルゴリズムを前記ハッシュアルゴリズムとして前記アーカイブストレージに保存するステップとを更に含むことを特徴とする請求項１４に記載の方法。
【請求項１８】
検証するステップが前記保存された第一の完全性の測度と前記第二の完全性の測度を比較するステップから成ることを特徴とする請求項１４に記載の方法。
【請求項１９】
前記生成するステップ、検証するステップ、及び通知するステップが前記データオブジェクトが前記外部ストレージシステムに移行された後に行われ、検証に先立って前記データオブジェクトが前記外部ストレージシステムから前記アーカイブストレージシステムに提供されることを特徴とする請求項１４に記載の方法。
【請求項２０】
前記データオブジェクトの改ざんを防止するステップを更に含むことを特徴とする請求項１４に記載の方法。
【請求項２１】
前記第一の完全性の測度と前記第二の完全性の測度のうち少なくとも１つを更新させるステップを更に含むことを特徴とする請求項１４に記載の方法。
【請求項２２】
前記第一の完全性の測度がストレージシステムキーで前記データオブジェクトの第一の署名つきハッシュ値から成り、前記第二の完全性の測度が前記データオブジェクトが前記外部ストレージシステムから読み込まれたときの前記データオブジェクトの第二のハッシュ値から成り、
検証するステップが、前記ストレージシステムキーに対応するストレージ保証書の復号キーを用いて前記データオブジェクトの前記署名つき第一のハッシュ値を復号するステップと、前記データオブジェクトの前記復号された第一のハッシュ値と前記第二のハッシュ値を比較するステップとから成ることを特徴とする請求項１４に記載の方法。
【請求項２３】
前記データオブジェクトの完全性を検証するステップが、ルート保証書を使用して前記ストレージ保証書の有効性を検証するステップを含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
現在時刻と生成時刻の差を移行時間と比較するステップと、
差が移行時間を越えていた場合は、
前記データオブジェクトの第一のハッシュ値を計算するステップと、
前記第一のハッシュ値を、前記アーカイブストレージシステムに保存された前記ストレージシステムキーを使用して暗号化して第一の署名つきハッシュ値を取得するステップと、
前記ストレージシステムキーに対応する前記ストレージ保証書の有効期限を前記アーカイブストレージに記録するステップと、
前記データオブジェクト、前記署名つき第一のハッシュ値、及び前記ストレージ保証書を前記外部ストレージシステムに移行するステップと、
前記外部ストレージシステムへのパスを前記アーカイブストレージに記録するステップとを更に含むことを特徴とする請求項２２に記載の方法。
【請求項２５】
前記ストレージ保証書の有効期限をチェックして前記ストレージ保証書が期限切れとなっているか否かを判定するステップと、
前記データオブジェクトの完全性を検証するステップと、
前記データオブジェクトの完全性が検証されたら、次に
前記データオブジェクトの新しいハッシュ値を計算するステップと、
前記新しいハッシュ値を暗号化して、新しい署名つきデータオブジェクトハッシュ値を求めるステップと、
新しいストレージ保証書の新しい有効期限を前記アーカイブストレージに記録するステップと、
前記データオブジェクトと前記新しい署名つきデータオブジェクトハッシュ値と前記新しいストレージ保証書を前記外部デバイスに書き込むステップとからなる署名更新プロセスを更に含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
１つ以上のプロセッサで実行されると、前記１つ以上のプロセッサが、アーカイブストレージシステムとクライアントコンピュータを接続可能な第一のインタフェースを備える前記アーカイブストレージシステムと前記アーカイブストレージシステムに動作可能に接続された外部ストレージシステムをから成るストレージシステムに保存されたデータオブジェクトを管理する方法を実行する命令の集合を保存し、コンピュータで読み取り可能な媒体であって、
前記方法が、
前記データオブジェクトを前記クライアントコンピュータから前記ストレージシステムが受信すると、前記データオブジェクトの第一の完全性の測度を生成して保存するステップと、
所定の条件が成立すると前記データオブジェクトを前記外部ストレージシステムへ移行するステップと、
前記クライアントコンピュータが前記データオブジェクトを読み込むと前記データオブジェクトの第二の完全性の測度を生成するステップと、
前記保存された第一の完全性の測度と前記第二の完全性の測度を用いて前記データオブジェクトの完全性を検証するステップと、
前記データオブジェクトの完全性が損なわれていると判定された場合、前記クライアントコンピュータに通知するステップとから成ることを特徴とするコンピュータで読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明はコンピュータストレージシステムのデータ管理一般に関し、より具体的にはストレージデバイスに保存されたデータの完全性を検証することに関する。
【背景技術】
【０００２】
０００２    アーカイブストレージシステムの重要な特徴の１つはアーカイブデータの完全性を保証することである。例えば、アーカイブストレージシステムの追記型（WORM）ストレージ機能により規定の保存期間が過ぎるまで、データが予期せずに改ざんされることが防止される。
【０００３】
０００３    ある種のディスクベースのアーカイブストレージシステムでは、データあるいはデジタル署名の暗号化ハッシュ値を検証することにより、データの完全性を内部的にチェックし記憶媒体の劣化やデータパスに発生するノイズ信号によるデータの破損を検出している。この特長の故にディスクベースのアーカイブストレージシステムがデータを長期に亘って保存するのに優れた解となっている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
０００４    しかしながら、最新の機能を有するディスクベースのアーカイブストレージシステムは、単純なネットワーク接続ストレージ（ＮＡＳ）システム、旧来の光ディスクシステム、テープベースのアーカイブシステムに比べると、しばしばより高価なものになる。
【０００５】
０００５    大量のデータを長期間保存するコストを下げるため、ディスクベースのアーカイブストレージシステムと他のより安価なストレージシステムを、統合型ストレージシステムとして共に使用することが行われる。例えば、ユーザが頻繁にアクセスするアーカイブデータに関しては、この種のデータは迅速に再生される必要があり、また失われるとユーザの活動に大きな影響を及ぼすので、データを堅固に保護するアーカイブストレージシステムに保存される。一方、まれにしかアクセスされないデータは、ＮＡＳ，光ディスクあるいはテープシステムに保存することができる。
【０００６】
０００６    統合型ストレージシステムでは、アーカイブデータは最初にディスクベースのアーカイブストレージシステムに保存され、頻繁に使用されなくなると他のストレージシステムに送られる。アーカイブストレージシステムはアーカイブデータの完全性を保証することができる。ところが、アーカイブデータがデータの完全性を保証する機能のないストレージシステムに送られると、データがこのストレージシステムに保存されている間に改ざんされたり、失われてしまう場合がある。たとえデータを他のデータの完全性を内部的に保証するアーカイブストレージシステムに移行したとしても、データパスにおいて改ざんされる可能性がある。いずれの場合もユーザは改ざんやデータの破損を検出することができない。
【課題を解決するための手段】
【０００７】
０００７    本発明の方法論は、データの完全性を検証する従来技術に関連する上記のおよび他の１つ以上の問題点を実質的に取り除く方法とシステムに向けられる。
【０００８】
０００８    本発明の態様は、データの完全性を保証する機能を有するアーカイブストレージシステムとその機能を有しない他のストレージシステムの統合型ストレージシステムにアーカイブされたデータの改ざんあるいは破損を検出する方法と装置を提供する。
【０００９】
０００９    本発明の概念の態様に従って、データオブジェクトの完全性を管理し検証するコンピュータシステムが提供される。本発明のシステムは、アーカイブストレージシステムとクライアントコンピュータを接続するように構成された第一のインタフェースを有するアーカイブストレージシステムを有する。アーカイブストレージシステムはまた内部ストレージとプロセッサを有している。アーカイブストレージシステムはオブジェクトデータをクライアントコンピュータから受信し、受信したデータを少なくとも間欠的に内部ストレージに保存し、データオブジェクトの第一の完全性の測度を生成し保存するように構成されている。本発明のシステムは更にアーカイブストレージシステムに接続された外部ストレージシステムを有する。アーカイブストレージは、所定の条件が成立するとデータオブジェクトを外部ストレージシステムへ移行し、クライアントコンピュータがデータオブジェクトを読み込むとデータオブジェクトの第二の完全性の測度を生成し、保存された第一の完全性の測度と第二の完全性の測度を用いてデータオブジェクトの完全性を検証し、データオブジェクトの完全性が損なわれていると判定された場合はクライアントコンピュータにその旨を通知するように構成されている。
【００１０】
００１０    本発明の概念の別の態様に従って、アーカイブストレージシステムとクライアントコンピュータを接続するように構成された第一のインタフェースと、アーカイブストレージシステムに接続された外部ストレージシステムを含むアーカイブストレージシステムを含むストレージシステムに保存されたデータオブジェクトを管理する方法が提供される。本発明の方法は、ストレージシステムがクライアントコンピュータからデータオブジェクトを受信すると、データオブジェクトの第一の完全性の測度を生成して保存し、所定の条件が成立するとデータオブジェクトを外部ストレージシステムへ移行し、クライアントコンピュータがデータオブジェクトを読み込むとデータオブジェクトの第二の完全性の測度を生成し、保存された第一の完全性の測度と第二の完全性の測度を用いてデータオブジェクトの完全性を検証し、データオブジェクトの完全性が損なわれていると判定された場合はクライアントコンピュータに通知することを含む。
【００１１】
００１１    本発明の概念の別の態様に従って命令の集合を保存するコンピュータで読み取り可能な媒体が提供され、この命令の集合は１つ以上のプロセッサで実行されると、この１つ以上のプロセッサが、アーカイブストレージシステムとクライアントコンピュータを接続するように構成された第一のインタフェースを備えるアーカイブストレージシステムと、アーカイブストレージシステムに接続された外部ストレージシステムを含むストレージシステムに保存されたデータオブジェクトを管理する方法を実行する。実行される方法は、ストレージシステムがクライアントコンピュータからデータオブジェクトを受信すると、データオブジェクトの第一の完全性の測度を生成して保存し、所定の条件が成立するとデータオブジェクトを外部ストレージシステムへ移行し、クライアントコンピュータがデータオブジェクトを読み込むとデータオブジェクトの第二の完全性の測度を生成し、保存された第一の完全性の測度と第二の完全性の測度を用いてデータオブジェクトの完全性を検証し、データオブジェクトの完全性が損なわれていると判定された場合はクライアントコンピュータに通知することを含む。
【００１２】
００１２    本発明に関する更なる態様は、一部は以下の説明の中において明らかにされ、一部は説明において明らかとなり、あるいは本発明を実施することにより学習される。本発明の態様は、特に以下の詳細な説明と付随する請求項に示される要素と、種々の要素と態様の組み合わせにより実現され達成される。
【００１３】
００１３    当然のことながら、前記の説明も以下の説明も典型的なものであって、説明のためのものに過ぎず、請求項に記載された発明又はその出願をいかなる方法であろうと制限することを意図するものではない。
【発明を実施するための最良の形態】
【００１４】
００３９    以下の詳細な説明に於いて、付随する複数の図面が参照され、これらの図面では同一の機能要素には同じ番号が付されている。前述の付随する図面は、本発明の原理に合致する特定の実施例を説明として示しているが、限定するためのものではない。これらの実施例では、当業者であれば本発明を実施するのに十分詳細に記述されており、当然のことながら本発明の範囲と概念を外れることなく他の実施例が使用可能であり、構造の変更や様々な要素の置き換えが可能である。以下の詳細な説明は、従って、限定するものと解釈されるべきではない。また、記述の本発明の様々な実施例は、汎用コンピュータ上で動作するソフトウェアの形、専用ハードウェアの形、あるいはそれらの組み合わせによって実現可能である。
【００１５】
００４０    本発明の態様により、アーカイブされたデータオブジェクトのデータ完全性を評価し、及び統合型ストレージシステムにアーカイブされたデータの改ざんと破損を検出する方法と装置が提供される。統合型ストレージシステムは、データの完全性を保証する機能を有するアーカイブストレージシステムとこの機能を有しない他のストレージシステムを備えている。
【００１６】
００４１    本発明の態様によれば、アーカイブされたデータがディスクベースのアーカイブシステムから他のストレージシステムへ移行される前にディスクベースのアーカイブストレージシステムは、移行するデータのために暗号化ハッシュ値あるいはデジタル署名などのデータ完全性情報を生成し、それを記録する。移行されたデータがユーザから要求されると、ディスクベースのアーカイブストレージシステムがデータを読み出し、ユーザに送信する前にデータの完全性をチェックする。完全性の侵害が検出されると、ストレージシステムはそれを報告し、ユーザが改ざんされたあるいは破損したデータにアクセスすることを防止する。更にディスクベースのストレージシステムは、例えば、暗号化ハッシュアルゴリズムあるいはデジタル署名を生成するのに使用する保証書が更新されるなどある種の状況で完全性情報を更新する。
【００１７】
００４２    本発明の態様では、ディスクベースのアーカイブストレージがクライアントのコンピュータに対してアーカイブストレージ容量を提供する。ＮＡＳ、光ディスクシステム、及びテープシステムなどの外部ストレージデバイスはアーカイブストレージに接続されて統合型ストレージシステムを構築する。
【００１８】
００４３    本発明の１つの態様で、ディスクベースのアーカイブストレージはデータオブジェクトに対してＷＯＲＭ（追記型）ストレージを提供する。オブジェクトが生成されると、各々のアーカイブされたオブジェクトの暗号化ハッシュ値がアーカイブストレージに記録される。オブジェクトが外部デバイスに移行された後にクライアントコンピュータで読み出されると、アーカイブストレージはオブジェクトのハッシュ値を計算し、計算したハッシュ値と記録されているハッシュ値とを比較し、オブジェクトの完全性を検証する。本発明のこの態様では、各オブジェクトの完全性検証情報はアーカイブストレージ自体の内部に保存される。
【００１９】
００４４    本発明の他の態様では、オブジェクトが外部ストレージデバイスに送られると、各々のアーカイブされたオブジェクトのハッシュ値はデジタル署名され、アーカイブされたオブジェクト及び署名の保証書と共に外部ストレージデバイスに保存される。オブジェクトが外部ストレージデバイスに移行された後に、クライアントコンピュータで読み出されると、アーカイブストレージシステムは保証書の有効性をチェックし、オブジェクトのハッシュ値を計算し、計算したハッシュ値と保証書に保存されたハッシュ値とを比較してオブジェクトの完全性を検証する。本発明のこの態様では、各オブジェクトの完全性検証情報はオブジェクトと共に外部ストレージデバイスに保存される。
【００２０】
００４５    図１は本発明の態様による統合型アーカイブストレージシステムの典型例を示す。
００４６    本図は、メモリ２０５を有するアーカイブストレージ２００（図１３に再度示される）を含む本発明の第一の態様、あるいは図１２に示すメモリ３０５を有するアーカイブストレージ３００を含む本発明の第二の態様を示すことに使用することができる。
【００２１】
００４７    統合型アーカイブストレージシステムは、ＮＡＳ、光ディスクシステム、テープシステム、及び他の同様な外部ストレージデバイスのうち１つ以上を含む外部ストレージデバイス１０２、１０４、１０６に接続されたアーカイブストレージ２００、３００を有している。ローカルエリアネットワーク（ＬＡＮ）でも可能なネットワーク１１８がアーカイブストレージ２００、３００を外部ストレージデバイス１０２、１０４、１０６に接続している。アーカイブストレージ２００，３００は１つ以上のクライアントコンピュータ１１０及び管理サーバ１１２に接続が可能である。
【００２２】
００４８    コンポーネントを接続するのに使用するエレメントにはＬＡＮポート１１２５、ＬＡＮインタフェース１００１、１００２、１００３、及び外部ストレージインタフェース１００４、１００５、１００６があり、コンポーネント同士を接続するのに使用することもできる。他の種類のネットワークあるいはケーブルが統合型ストレージシステムの様々なコンポーネント同士、クライアントコンピュータ、あるいは管理サーバとの接続に使用可能である。従って、使用されるポートとインタフェースは変更される場合もある。
【００２３】
００４９    管理サーバ１１２はアーカイブストレージ２００を管理するために管理者が使用する。管理サーバはＣＰＵ１１２１、メモリ１１２２、及びシステム管理者が使用するユーザインタフェース１１２４を含む。アーカイブストレージ２００と管理サーバ１１２との間の通信用にもう１つのインタフェースを含むことが可能である。管理プログラム１１２３はメモリ１１２２に備えられる。管理者はユーザインタフェース１１２４を介してＣＰＵ１１２１にアクセスし、管理プログラム１１２３を実行することができる。管理プログラムは管理者からのテーブル管理要求とハッシュ更新要求の２種類の要求を処理する。テーブル管理要求でアーカイブストレージ２００のメモリ２０５に保存されたテーブルを読み出し、管理者がそれを編集して、編集版を保存することが可能となる。ハッシュ更新要求は、アーカイブストレージ２００に各アーカイブされたオブジェクトのハッシュ値の更新を指示する。管理プログラム１１２３は、アーカイブストレージ２００からの警告メッセージを受信し、管理者に対してそれを表示する。
【００２４】
００５０    アーカイブストレージ２００、３００のデータオブジェクトの内部ストレージは、図１に示したような外部ストレージデバイス内の外部ストレージより高度なデータ完全性を有していると一般的に考えられるので、外部ストレージデバイス１０２、１０４、１０６の１つからアーカイブストレージ２００、３００にオブジェクトが転送された場合にデータ完全性の検証を実行することが可能である。
【００２５】
００５１    図示されていない本発明の１態様ではコンテンツアドレスストレージ（ＣＡＳ）をアーカイブストレージ２００、３００に接続可能である。ＣＡＳデバイスに保存されたデータオブジェクトは一般により高いデータ完全性を備えているので、ＣＡＳシステムにデータを保存し再生する場合、完全性の検証は省略可能である。
【００２６】
００５２    以下、図１３に本発明の１態様によるアーカイブストレージ２００をより詳細に示し、図１２に本発明の他の態様によるアーカイブストレージ３００をより詳細に示す。
【００２７】
００５３    典型的な１つの実施例である図１の（図１３にも示す）アーカイブストレージ２００はＣＰＵ２０２、クロック２０３、ディスクドライブ２０４、及びメモリ２０５を含む。
００５４    ディスクドライブ２０４は１つ以上のデータオブジェクト２１４を保存する。
【００２８】
００５５    メモリ２０５はコントロールプログラム２０６、ならびに検証テーブル２０７、移行テーブル２０８、及びオブジェクトテーブル２１０などの管理情報を含む多数のテーブルを含む。メモリはまた移行時間２０９とデフォルトのハッシュアルゴリズム２１１を含む。
【００２９】
００５６    コントロールプログラム２０６はＣＰＵ２０２上で実行され、クライアント１１０から送信されたＩ／Ｏ要求と、オブジェクト２１４を外部ストレージデバイス１０２、１０４、１０６へ移行するバックグラウンドプロセスを処理する。コントロールプログラム２０６はまた完全性情報を更新する。オブジェクト移行を実行するタイミングは、現在時刻を提供するクロック２０３を参照して決定される。コントロールプログラム２０６はまた管理コンピュータ１１２と通信して、オブジェクトの移行と管理者の定める完全性検証ポリシーを制御する管理要求を処理する。
【００３０】
００５７    移行時間２０９は時間幅であり、ある時点ではない。従って、移行時間２０９は、オブジェクトの生成からオブジェクトが外部ストレージデバイスへ送られるべき時までの許容される最大時間幅である。移行時間２０９は、新しいオブジェクトをアーカイブストレージに保存しておくことと、古くなったオブジェクトをより安価な外部ストレージデバイスに送ることに使用される。アーカイブストレージのバックグラウンドで実行されるオブジェクトの移行処理では、より古いオブジェクトが外部ストレージデバイスに送られる。このプロセスは図９及び図１９に示される。
【００３１】
００５８    デフォルトのハッシュアルゴリズム２１１は、オブジェクトテーブル２１０で特定のオブジェクトに対して他のハッシュアルゴリズムが指定されていなければ、アーカイブされたオブジェクト２１４のハッシュ値を計算するのに用いられるハッシュアルゴリズムの名前を含む。
【００３２】
００５９    図示したいくつかのテーブルに関して以下に記述する。
【００３３】
００６０    図２に検証テーブル２０７の典型例を示す。
００６１    検証テーブル２０７はアーカイブストレージ２００が外部ストレージデバイス１０２、１０４、１０６からオブジェクトを読み出すときデータの完全性を検証するか否かを指定する。アーカイブストレージに接続された各外部ストレージデバイスに対して、検証テーブル２０７は外部デバイスＩＤ２１７と検証フラグ２２７を備えている。外部デバイスＩＤ２１７は各外部ストレージデバイスに固有の識別子で、ＩＰアドレス、アーカイブストレージシステムに搭載されるファイルシステム、光ディスクＩＤ、テープカートリジＩＤなどの外部ストレージへ至るパスのエレメントを含むことができる。検証フラグ２２７は、ＹＥＳ値を含むことができ、これはアーカイブされたオブジェクトが対応する外部デバイスから読み出されたときに、クライアントコンピュータ１１０へ送信する前にオブジェクトの完全性をチェックすべきであることを意味する。ＮＯ値は検証が行われないことを示す。
【００３４】
００６２    図３に移行テーブル２０８の典型例を示す。
００６３    移行テーブルはアーカイブされたオブジェクトがアーカイブストレージから移行する先の外部ストレージデバイスを指定する。移行するオブジェクトを受ける外部ストレージデバイスはオブジェクトＩＤ、ユーザあるいはオブジェクトを書いたクライアントのユーザＩＤなどを基に指定される。図示した移行テーブルの典型例では、各オブジェクトはオブジェクトを展開し、統合型ストレージシステムへ送信するクライアントコンピュータ１１０のＩＰアドレス２１８で識別される。従って、オブジェクトのソースはオブジェクトが移行する外部デバイスのデバイスＩＤ２１７と関連付けられている。言い換えれば、移行テーブル２０８は、各クライアントコンピュータ１１０が書いたオブジェクトに対して使用されている外部ストレージデバイス１０２、１０４、１０６を示している。
【００３５】
００６４    図４Ａに、本発明の態様による完全性の評価の典型例を示す。
００６５    ２０００で方法が開始する。２００１でアーカイブされたオブジェクトが外部ストレージデバイスから読み出される。２００２で、アーカイブされたオブジェクトのハッシュ値が計算され、アーカイブストレージに保存されたハッシュアルゴリズムを用いてハッシュ計算値が求められる。２００３でハッシュ計算値は、アーカイブされたオブジェクトに対応してアーカイブストレージに保存されているハッシュ値と比較される。２００４でハッシュ値が一致すると判定され、データオブジェクトのデータの完全性が確認され、方法が２００６で終了する。２００５ではハッシュ値が一致しないと判定されクライアントコンピュータと管理者の一方あるいは両方にエラーメッセージが表示され、方法が２００６で終了する。
【００３６】
００６６    図４Ｂに、本発明の第二の態様による完全性の評価の典型例を示す。
００６７    ３０００で方法が開始する。３００１でアーカイブされたオブジェクトが外部ストレージデバイスから関連オブジェクト署名とストレージ保証書と共に、アーカイブストレージへ読み出される。３００２で、アーカイブされたオブジェクト、オブジェクト署名及びストレージ保証書を用いて、アーカイブされたオブジェクトに対する署名検証プロセスが実行され、署名が検証されたかが判定される。３００３で、署名が検証されたかが判定され、データオブジェクトを構成するデータの完全性が確認され、方法は３００５で終了する。３００４では署名検証プロセスはアーカイブされたデータオブジェクトの完全性の検証に失敗し、エラーメッセージがクライアントコンピュータと管理者の一方または両方に表示され、方法は３００５で終了する。
【００３７】
００６８    図５にオブジェクトテーブル２１０の典型例を示す。
００６９    オブジェクトテーブル２１０で、オブジェクトＩＤ２１０１で指定されアーカイブストレージ２００に保存された、あるいはアーカイブストレージ２００に接続された外部ストレージデバイス１０２、１０４、１０６の１つに保存された各オブジェクト２１４に対して、いくつかの変数が指定される。各オブジェクトＩＤ２１０１に対して指定された変数には、内部パス２１０１、外部デバイスＩＤ２１７、外部パス２１０４、ハッシュアルゴリズム２１０５、ハッシュ値２１０６、及び生成時刻２１０７が含まれる。
【００３８】
００７０    オブジェクトＩＤ２１０１は、アーカイブされたオブジェクト２１４を識別するのにクライアントコンピュータ１１０で使用される。例えば、アーカイブストレージ２００がクライアントコンピュータにファイルシステムを提供している場合、パス名とファイル名をオブジェクトＩＤとして使用することができる。内部パス２１０２はアーカイブストレージ２００の内部ストレージ領域に保存されたオブジェクトへのパスを含む。内部ストレージ領域にオブジェクトが保存されていない場合は、内部パスはＮ／Ａに設定される。
【００３９】
００７１    アーカイブされたオブジェクト２１４が外部ストレージデバイスに保存されている場合、外部デバイスＩＤ２１７はデバイスのＩＤを含み、外部パス２１０４は外部デバイスに保存されたアーカイブされたオブジェクトの保存版へのパスを含む。あるいは、外部パス２１０４はＮ／Ａに設定される。
【００４０】
００７２    ハッシュアルゴリズム２１０５は、ハッシュ値２１０６を求めるのに使用したハッシュアルゴリズムの名前を含む。ハッシュアルゴリズムは予め定められアーカイブストレージのメモリに保存されている。
００７３    生成時刻２１０７はオブジェクト２１４が生成された時点を含む。
【００４１】
００７４    図６に本発明の第一の態様により、管理プログラムが実行する方法を示す。
００７５    図１の管理プログラム１１２３などの管理プログラムによる、テーブル管理要求及びハッシュ更新要求の処理を図６に示す。これらの要求は、統合型ストレージシステムのユーザとも呼ばれる管理者が入力することができる。図６に示す典型的な実施例において、管理者はユーザインタフェース１１２４を介して管理プログラムと通信し、アーカイブストレージはＬＡＮポート１１２５を介して管理プログラムと通信する。
【００４２】
００７６    本発明のこの態様において、図１３のアーカイブストレージ２００が、図１に示す統合型ストレージシステムで使用されている。
００７７    ６００で方法が開始する。６０１で管理プログラムは管理者あるいはアーカイブストレージから要求を受信する。
【００４３】
００７８    ６０２で管理プログラムは受信した要求がテーブル管理要求であるか否かを判定する。テーブル管理要求を受信した場合、管理プログラムは６０３でテーブル読み出し要求をアーカイブストレージに送信し、６０４でテーブルを受信し、管理者に対してテーブルを表示する。管理者がテーブルの情報を編集した後、管理プログラムは６０５で更新された情報をアーカイブストレージに送信する。次に方法は６０１に戻り次の要求を待つ。
【００４４】
００７９    ６０２で、受信した要求がテーブル管理要求でなかった場合、方法は６０６へ進み、要求がハッシュ更新要求であるか否かを判定する。受信した要求がハッシュ更新要求であった場合、６０７で、管理プログラムは管理者が新旧のハッシュアルゴリズム名を選択することを許可する。次に６０８で管理プログラムはハッシュアルゴリズム名を含むハッシュ更新要求をアーカイブストレージに送信し、旧アルゴリズムで計算したハッシュ値を新アルゴリズムで計算したハッシュ値に置き換える。
【００４５】
００８０    ６０６で、受信した要求がハッシュ更新要求でなかった場合、方法は６０９へ進み、そこで管理プログラムは受信した要求がアーカイブストレージからの警告メッセージであるか否かを判定する。アーカイブストレージから警告メッセージを受信した場合、管理プログラムは６１０でメッセージを管理者に対して表示する。警告について図１０、１１、２１により詳細に示す。受信した要求あるいはメッセージが前述の３種類、テーブル管理要求、ハッシュ更新要求、警告メッセージの１つでなかった場合は、管理プログラムは６１１で管理者に対してエラーメッセージを表示する。
【００４６】
００８１    図７に発明の第一の態様により、アーカイブストレージで使用される方法を示す。
００８２    図７に従って実行される方法は、アーカイブストレージ２００の制御プログラム２０６により実行可能である。アーカイブストレージ２００はクライアントコンピュータ１１０又は管理サーバ１１２の管理者から要求を受けることができる。クライアントは読み出し要求または書き込み要求を有し、管理者はテーブル管理要求あるいはハッシュ更新要求を有することができる。
【００４７】
００８３    ８００で方法が開始する。８０１で制御プログラムはバックグラウンド方法を起動し、図１のアーカイブストレージ２００のディスクドライブ２０４などの内部ストレージ領域から外部デバイス１０２、１０４、１０６などの外部ストレージデバイスへオブジェクトが移行される。
【００４８】
００８４    ８０４で制御プログラムはアーカイブストレージがクライアントコンピュータから要求を受けているかを判定する。要求は書き込み要求または読み出し要求でありうる。８０５、８０６、８０７で制御プログラムは要求が書き込み読み出し要求のいずれであるかを判定し、それに従って要求を処理する。
【００４９】
００８５    ８０８で制御プログラムは管理要求を管理サーバから受信しているかを判定する。受信していなければ、方法は８０４へ戻る。アーカイブストレージが管理サーバから要求を受信していると制御プログラムが判定すると、次に受信した要求の種類を判定する。管理サーバはテーブル読み出し要求、テーブル更新要求、あるいはハッシュ更新要求を有することができる。
【００５０】
００８６    ８０９で制御プログラムは、要求がテーブル読み出し要求であるかを判定する。管理サーバからテーブル読み出し要求を受信している場合、８１０で制御プログラムは検証テーブル、移行テーブル、移行時間、デフォルトのハッシュアルゴリズムを管理サーバに送信する。１つの典型的な態様において、アーカイブストレージ２００の制御プログラム２０６が、検証テーブル２０７、移行テーブル２０８、移行時間２０９、及びデフォルトのハッシュアルゴリズム２１１を管理サーバ１１２へ送信することができる。
【００５１】
００８７    ８１１で、制御プログラムは要求がテーブル更新要求であるか否かを判定する。そうであれば、８１２で制御プログラムは管理者が入力した情報によりテーブルを更新する。
【００５２】
００８８    他の場合、要求はハッシュ更新要求であり、８１３で制御プログラムはバックグラウンドハッシュ更新プロセスを起動する。
【００５３】
００８９    図８に本発明の第一の態様による、書き込み要求を処理する方法の典型例を示す。
００９０    図８は、クライアントコンピュータ１１０からアーカイブストレージ２００などのアーカイブストレージに送られた図７の書き込み要求８０６などの書き込み要求を処理する方法を示す。
【００５４】
００９１    ８０６００で方法が開始する。書き込まれるオブジェクトはそのオブジェクトＩＤで識別され、８０６０１で書き込み要求で指定されたオブジェクトＩＤが既に存在するか否かが判定される。このオブジェクトが存在する場合、ＷＯＲＭストレージは既存のオブジェクトの上書きを許さないので、８０６０８で制御プログラム２０６はＯＢＪＥＣＴ＿ＥＸＩＳＴＳエラーをクライアントコンピュータに返す。
【００５５】
００９２    他の場合、オブジェクトがアーカイブストレージ上に存在しなければ、８０６０２で制御プログラムは内部ストレージ領域にオブジェクトを保存し、８０６０３でオブジェクトＩＤとその内部パスをオブジェクトテーブル２１０に記録する。また、要求を発行したクライアントコンピュータ１１０のクライアントＩＰアドレス２１８に基づいて、制御プログラムは８０６０４で移行テーブル２０８により指定される外部デバイスＩＤを記録する。クライアントＩＰアドレス２１８は移行テーブル２０８で求められる。
【００５６】
００９３    ８０６０５で、制御プログラムはデフォルトハッシュアルゴリズム２１１で指定されたアルゴリズムを用いてハッシュ値を計算し、オブジェクトテーブルにハッシュ値を記録する。８０６０６で、制御プログラムはハッシュ値を計算するのに用いられたハッシュアルゴリズムの名前をオブジェクトテーブルに記録する。
【００５７】
００９４    最後に８０６０７で、制御プログラムはクロック２０３から現在時刻を読み込み、書き込み要求に応じて生成中のオブジェクトの生成時刻としてオブジェクトテーブルに記録する。
【００５８】
００９５    ８０６０９で、書き込み要求を処理する方法は終了する。
【００５９】
００９６    ハッシュ値に代わって、オブジェクトの内容に基づいて、いかなるオブジェクトの符号化も使用可能であることを指摘しておく。
【００６０】
００９７    図９に、本発明の第一の態様による、バックグラウンドオブジェクト移行の方法の典型例を示す。
００９８    図９は、制御プログラム２０６が実行する、図７のバックグラウンドオブジェクト移行プロセス８０１の典型的な実施例である。このプロセスは、アーカイブストレージ２００で実行される処理のバックグラウンドで行なわれる。内部に保存され所定の時刻より古いオブジェクト２１４は、図１の外部デバイス１０２、１０４、１０６などの外部ストレージデバイスに送られる。
【００６１】
００９９    オブジェクトテーブル２１０に記録された各オブジェクトに関して、対応する外部パス２１０４がＮ／Ａであり、現在時刻とオブジェクトの生成時刻２１０７との違いが移行時間２０９を超えていると、制御プログラムはそのオブジェクトを内部ストレージ領域２０４から、外部ストレージデバイスの１つで、オブジェクトテーブル２１０で指定されたデバイスＩＤ２１０１を有する外部ストレージデバイスに送る。最後に制御プログラム２０６は、外部デバイス内のオブジェクトへのパスを、外部パス２１０４として記録し、オブジェクトテーブル２１０内の内部パス２１０２をＮ／Ａに設定する。
【００６２】
００１００    ８０１００で方法が開始する。８０１０１で、オブジェクトテーブルからオブジェクトが１つ選択される。８０１０２で制御プログラムがこのオブジェクトに対して外部パスが指定されているかを判定する。外部パスが指定されていたら、オブジェクトはすでに外部ストレージデバイスにあり、オブジェクト移行処理の必要はない。従って、方法は８０１０１へ戻り他のオブジェクトが選択される。外部パスが指定されておらず、オブジェクトの内部ストレージ存在期間が長すぎる場合、オブジェクトをアーカイブストレージから外部ストレージデバイスの１つへ送ることになる。
【００６３】
００１０１    ８０１０３で制御プログラムは、オブジェクトの生成時刻から現時点までの時間から、オブジェクトのアーカイブストレージ内に保存されている期間が、オブジェクトに対して指定されている最大保存期間あるいは移行時間を越えているかを判定する。オブジェクトが比較的新しく生成されたものである場合、アーカイブストレージ内に留まることが許され、外部ストレージデバイスへ送り出されることはなく、方法は８０１０１へ戻り他のオブジェクトを選択する。
【００６４】
００１０２    オブジェクトが割り当てられた移行時間を越えてアーカイブストレージ内に存在している場合、８０１０６で、オブジェクトはアーカイブストレージから、オブジェクトテーブルでこのオブジェクトに対応して指定された外部ストレージデバイスへ送られる。
【００６５】
００１０３    ８０１０７で、外部デバイス内のオブジェクトへの外部パスがオブジェクトテーブルに記録され、このオブジェクトはすでにアーカイブストレージの内部ストレージには存在しないので内部パスはリセットされる。
【００６６】
００１０４    上述の方法ではフロー図にステップ８０１０４と８０１０５は存在しない。
【００６７】
００１０５    図１０に、本発明の第一の態様による、読み出し要求を処理する方法の典型例を示す。
００１０６    図１０は、クライアントコンピュータ１１０からアーカイブストレージ２００などのアーカイブストレージに送られる図７の読み出し要求８０７のような読み出し要求を処理する方法を示す。
【００６８】
００１０７    ８０７００で方法が開始する。８０７０１で、方法はクライアントが読み出し要求で指定するオブジェクトがすでに存在するかを判定する。読み出し要求で指定されたオブジェクトＩＤが存在しなければ、８０７０８で、制御プログラムはＮＯＴ＿ＦＯＵＮＤ  エラーをクライアントコンピュータに返す。オブジェクトが存在すると、８０７０２で、制御プログラムは、このオブジェクトに対して内部パスがオブジェクトテーブルで指定されているかを判定する。指定されたオブジェクトの内部パスがＮ／Ａに設定されていなければ要求されたオブジェクトはアーカイブストレージ内に存在し、８０７１１で制御プログラムは内部パスで指定された内部ストレージ領域からオブジェクトを読み出す。
【００６９】
００１０８    その他の場合、８０７０３で、制御プログラムは、対応する外部デバイスＩＤとオブジェクトテーブルに記録された外部パスで指定された外部ストレージデバイスから要求されたオブジェクトを読み出す。外部デバイスから読み出す場合は、外部デバイスへの移行の結果、オブジェクトが破損している場合があるので、追加のステップが必要になる。
【００７０】
００１０９    ８０７０４で、制御プログラムは外部デバイスの検証フラグ２２７がＹＥＳに設定されているかを判定する。ＹＥＳに設定されていない場合、方法は８０７０７へ進み、要求されたオブジェクトは要求したクライアントコンピュータに提供される。オブジェクトが検証テーブルに設定された検証フラグにより検証を必要とする場合、８０７０５で制御プログラムが読み出し中のオブジェクトのハッシュ値を計算する。８０７０６で、制御プログラムは算出したハッシュ値とオブジェクトテーブルに記録されたハッシュ値を比較する。算出されたハッシュ値と記録されたハッシュ値が同じであれば、オブジェクトはアーカイブストレージから外部ストレージデバイスに移行された時あるいはその後に改ざんされておらず、破損もしていないことが分かる。この場合、８０７０７で制御プログラムはオブジェクトをクライアントコンピュータに返す。
【００７１】
００１１０    一方、比較されたハッシュ値が異なれば、８０７０９で制御プログラムはＩＮＴＥＧＲＩＴＹ＿ＶＩＯＬＡＴＩＯＮ警告を管理サーバに送信し、８０７１０でＤＡＴＡ＿ＣＯＲＲＵＰＴＩＯＮエラーをクライアントコンピュータに返す。このプロセスはクライアントコンピュータに要求されたオブジェクトの完全性に疑問があることを通知し、オブジェクトがデータ完全性を保証していない外部ストレージデバイスに保存されていたとしても、クライアントコンピュータが破損したオブジェクトを受信することを防止する。
００１１１    ８０７１２で、読み出し要求８０７に対応する方法が終了する。
【００７２】
００１１２    図１１に、本発明の第一の態様による、ハッシュ更新のプロセスを示す。図７のバックグラウンドハッシュ更新プロセス８１３は、図１１に示す典型的な方法によって実行することができる。図１１の方法は、管理サーバから送信される管理者またはユーザからのハッシュ更新要求６０６に応じて実行することができる。暗号化ハッシュアルゴリズムが堅固でなくなった場合はより安全な新しいアルゴリズムに置き換えられる。本発明の第一の態様では、ハッシュアルゴリズムが更新された場合、古いアルゴリズムで計算されたハッシュ値を、管理者の要求により再計算することができる。
【００７３】
００１１３    図１１に、古いハッシュ値を更新するハッシュ更新プロセスのフローを示す。制御プログラムが新旧のハッシュアルゴリズム名を含むハッシュ更新要求６０６を管理サーバから受信すると、制御プログラムは上記のようにバックグラウンドハッシュ更新プロセス８１３を起動する。
【００７４】
００１１４    ８１３０１で方法が開始する。
００１１５    ８１３０１で、オブジェクトテーブルに記録されたオブジェクトからオブジェクトが１つ選択される。このプロセスは全オブジェクトが処理されるまで繰り返される。
【００７５】
００１１６    ８１３０２で、制御プログラムはオブジェクトテーブルに記録されたオブジェクトに対応するアルゴリズムが古いアルゴリズムであるかを判定する。ハッシュアルゴリズムが古くなければ、方法は次のオブジェクトの処理に進む。
【００７６】
００１１７    ハッシュアルゴリズムが古いアルゴリズムであれば、８１３０３、８１３０４及び８１３０５で制御プログラムは内部ストレージあるいは外部ストレージからオブジェクトを読み出し、８１３０６で古いアルゴリズムを用いてオブジェクトのハッシュ値を計算し、８１３０７で計算したハッシュ値とオブジェクトテーブルに記録されたハッシュ値とを比較して、オブジェクトの完全性をチェックする。計算したハッシュ値と記録されたハッシュ値とに相違がなく、完全性に関する問題がなければ、８１３０８で制御プログラムは新しいアルゴリズムを用いて新しいハッシュ値を計算し、新しいハッシュ値と新しいアルゴリズム名をオブジェクトテーブルに記録する。あるいは、完全性に関する問題が検出されたら、８１３０９で制御プログラムはＩＮＴＥＧＲＩＴＹ＿ＶＩＯＬＡＴＩＯＮ警告を管理サーバに送信し、管理者にオブジェクトのデータ破損を通知する。
【００７７】
００１１８    ８１３１０で、これらのステップがオブジェクトテーブルの全オブジェクトに対して繰り返される。全てのオブジェクトが処理された後、方法は８１３１１で終了する。
【００７８】
００１１９    このプロセスで、古く堅固でない暗号化ハッシュアルゴリズムで計算されたハッシュ値は新しくより安全なアルゴリズムで計算された値に置き換えることができる。
【００７９】
００１２０    上記の本発明の１つの態様において、オブジェクトが内部に保存されていても外部に保存されていても完全性チェックが行われる。しかしながら、内部に保存されたオブジェクトの完全性はより信頼できるので、図１１の破線で示すように内部に保存されたオブジェクトの完全性チェックは省略できる。
【００８０】
００１２１    図１２に本発明の第二の態様によるアーカイブストレージの典型例を示す。図１３に本発明の第一の態様によるアーカイブストレージの典型例を念のために示す。これは図１に示すアーカイブストレージと同様である。
【００８１】
００１２２    図１２に示すアーカイブストレージ３００は図１３のアーカイブストレージ２００と似ているが若干の相違点がある。相違点を以下詳細に説明する。
【００８２】
００１２３    アーカイブストレージ３００はメモリ３０５を備える。メモリ３０５は制御プログラム３０６、ならびに検証テーブル３０７、移行テーブル３０８及びオブジェクトテーブル３１０を含む多くのテーブルを保存する。更にメモリ３０５は移行時間３０９、ルート保証書３１１、暗号化キー３１２及び復号キー３１４を含むストレージ保証書３１３を含む。
【００８３】
００１２４    図１３のアーカイブストレージ２００のメモリ２０５と図１２のアーカイブストレージ３００を比較すると、図１３に示す実施例のデフォルトアルゴリズム２１１は図１２ではルート保証書３１１、暗号化キー３１２、及び復号キー３１４を含むストレージ保証書３１３で置き換えられていることが分かる。暗号化キー３１２はオブジェクトのハッシュ値を暗号化してデジタル署名を生成するのに使用される。復号キー３１４は、デジタル署名を復号して、保存されたオブジェクトに関連付けられたデジタル署名から保存されたオブジェクトのハッシュ値を求めるのに使用される。ストレージ保証書３１３は復号キー３１４を含み、ルート保証書３１１を発行した信用ある機関によって署名されている。ストレージ保証書の有効性は、ルート保証書３１２に含まれているキーを用いて信用ある機関の署名を復号することにより検証できる。ここで述べていない別の仕組みを用いてデジタル署名を生成することも可能である。
【００８４】
００１２５    図１２のアーカイブストレージ３００の検証テーブル３０７とオブジェクトテーブル３１０もまた図１３のアーカイブストレージ２００の検証テーブル２０７とオブジェクトテーブル２１０とは異なる。
【００８５】
００１２６    図１４に検証テーブル３０７の典型例を示す。
本発明のこの態様において、検証テーブル２０７の検証フラグ２２７に替わって、各外部デバイス２１７に対して検証レベル３２７が定義される。検証レベル３２７は、ＮＯＮＥ、ＨＡＳＨ、ＡＵＴＨＯＲＩＴＹ、ＴＩＭＥＳＴＡＭＰ、またはＳＴＲＩＣＴの値をとることができる。ＮＯＮＥは制御プログラム３０６が一切の完全性検証を行わないことを意味する。ＨＡＳＨは、ハッシュ値は検証されるがオブジェクトに付加された保証書の有効性は検証されないことを意味する。ＡＵＴＨＯＲＩＴＹはＨＡＳＨに加えて保証書の発行者の有効性がルート保証書３１１を用いて検証されるが保証書の有効期限はチェックされないことを意味する。ＴＩＭＥＳＴＡＭＰはＡＵＴＨＯＲＩＴＹに加えて保証書が期限切れでないことを確認する。ＳＴＲＩＣＴはアーカイブされたオブジェクト２１４に付加された保証書がストレージ保証書３１３と同じでなければならないことを意味する。外部デバイス１０２、１０４、１０６に含まれるオブジェクトに付加された保証書の検証レベルがＳＴＲＩＣＴで、ストレージ保証書３１３と異なっていた場合、ストレージ保証書が有効であったとしてもオブジェクトのデータ完全性は損なわれている。
【００８６】
００１２７    典型的なオブジェクトテーブル３１０が図１５に示されている。
００１２８    アーカイブストレージ３００のメモリ３０５で使用されるオブジェクトテーブル３１０において、テーブル２１０のハッシュアルゴリズム２１０５がストレージ保証書の保証書有効期限３１０５で置き換えられている。ハッシュ値２１０６はオブジェクトテーブル３１０に保存されていない。替わって外部デバイス１０２、１０４、１０６にデジタル署名とオブジェクトのコピーが保存されている。
【００８７】
００１２９    オブジェクトテーブル３１０の変形として、図１７のバックグラウンドオブジェクト移行９０１のプロセスで使用されるハッシュアルゴリズム名が各オブジェクトに含まれることが可能である。これについては図１９で詳細に示す。これに替わってあるいは追加して図１２のメモリ３０５は、図１３のメモリ２０５のデフォルトハッシュアルゴリズム２１１と同様のデフォルトハッシュアルゴリズムを含むことができる。各オブジェクトに対する個別のハッシュアルゴリズムの替わりに、図１２には示されていないデフォルトハッシュアルゴリズムを使用して図１７のバックグラウンドオブジェクト移行９０１を実行することができる。これについては図１９で詳細に示す。  
００１３０    図１６に本発明の第二の態様による管理プログラムで実行される方法を示す。
００１３１    図１２のアーカイブストレージ３００が図１の統合型ストレージシステムで使用されていて、認証されたデジタル署名が使用されている場合、図１６の方法が、図１の管理プログラム１１２３などの管理プログラムによって採用される。
【００８８】
００１３２    図１６に示す方法は図６に示す方法と同様である。図１６のステップ７０１、７０２、７０３、７０４、７０５、７０９、７１０及び７１１は図６のステップ６０１、６０２、６０３、６０４、６０５、６０９、６１０及び６１１と同様である。
【００８９】
００１３３    しかしながら、６０６，６０７及び６０８を含むハッシュ更新要求に関連するステップは図１６では署名更新要求７０６及び７０８に関連するステップに置き換えられている。７０６で、管理プログラムは管理者からの署名更新要求が受信されているかを判定する。署名更新要求が受信されていたら、７０８で、管理プログラムは署名更新要求をアーカイブストレージへ送信する。署名更新要求が、更新されるべき署名を有するオブジェクトと関連する保証書を指定する保証書を含むことができる。
【００９０】
００１３４    図１６の方法で使用されるアーカイブストレージは図１２のアーカイブストレージ３００で、図６の方法で使用されるアーカイブストレージは図１３のアーカイブストレージ２００である。
【００９１】
００１３５    図１７に、本発明の第二の態様による、アーカイブストレージの制御プログラムに採用された方法を示す。
００１３６    図１７に従って実行される方法は、図１２のアーカイブストレージ３００の制御プログラム３０６により実行することができる。アーカイブストレージ３００はクライアントコンピュータ１１０または管理サーバ１１２の管理者から要求を受信することができる。クライアントは読み出しまたは書き込み要求を、管理者はテーブル管理要求または署名更新要求を有することができる。
【００９２】
００１３７    図１７に示す方法のステップは１つを除いて全て図７のステップと同様である。例外は、９１３で制御プログラムはバックグラウンドプロセスを起動し、ハッシュ値を更新する代わりにデジタル署名を更新する。
００１３８    更に、９０９で、アーカイブストレージ３００の制御プログラム３０６が、検証テーブル３０７、移行テーブル３０８、移行時間３０９、ルート保証書３１１、暗号化キー３１２、及び復号化キー３１４を含むストレージ保証書３１３を管理サーバ１１２へ送ることができる。
【００９３】
００１３９    図１８に、本発明の第二の態様により、書き込み要求を処理する方法の典型例を示す。
００１４０    図１８に、クライアントコンピュータ１１０から、アーカイブストレージ３００などのアーカイブストレージに送られる図１７の書き込み要求９０６などの書き込み要求を処理する方法を示す。本発明の態様において、統合型ストレージシステムにオブジェクトを書き込む際に、ハッシュ値あるいはデジタル署名は生成されない。替わりに、オブジェクトが外部ストレージデバイスに移行する際に完全性情報が生成される。
【００９４】
００１４１    本発明のこの態様では、書き込み要求はオブジェクトのみをアーカイブストレージの内部ストレージに書き込み、オブジェクトが外部ストレージデバイスに移行することはない。従って、この段階ではハッシュや暗号化などの完全性保証策は実行されない。
【００９５】
００１４２    ステップ９０６００、９０６０１、９０６０２、９０６０３、９０６０４、９０６０８、及び９０６０９は図８の８０６００、８０６０１、８０６０２、８０６０３、８０６０４、８０６０８、及び８０６０９と同様である。しかしながら図１８では８０６０５と８０６０６に対応するステップが存在しない。これは本発明の態様では、オブジェクトをアーカイブストレージ３００に書き込む際には、制御プログラム３０６はハッシュ値を計算しないからである。図１９の、本発明のこの態様に対応するオブジェクト移行プロセスに見られるように、オブジェクトがアーカイブストレージから外部ストレージに動かされる時にハッシュ値が計算され暗号化される。
【００９６】
００１４３    図１９に、本発明の第二の態様による、バックグラウンドオブジェクト移行の方法の典型例を示す。
００１４４    オブジェクトを内部ストレージから外部デバイスに移行しようとする場合、オブジェクトのハッシュ値が計算され、ハッシュ値は暗号化されてデジタル署名が生成される。外部ストレージはオブジェクトとそのデジタル署名及び対応する保証書を保存する。
【００９７】
００１４５    使用されるハッシュアルゴリズムは全てのオブジェクトに使用されるデフォルトハッシュアルゴリズムでも、オブジェクトテーブル３１０などのテーブルにリストされ特定のオブジェクトに対して指定されたハッシュアルゴリズムであってもかまわない。このハッシュアルゴリズムは示されていない。
【００９８】
００１４６    オブジェクトテーブル３１０に記録された各オブジェクトは、対応する外部パス３１０４がＮ／Ａでオブジェクトの生成時刻３１０７が移行時間３０９より古ければ、制御プログラムはオブジェクトを内部ストレージ領域２０４から、外部ストレージデバイスの１つでそのデバイスＩＤがオブジェクトテーブル３１０で指定されているデバイスに送る。図９に示す方法とは異なり、制御プログラム３０６はオブジェクトが移行されるときハッシュ値を計算し、メモリ３０５に保存された暗号化キー３１２を使用してハッシュ値を暗号化しデジタル署名を作成する。復号キーを含むストレージ保証書はオブジェクトテーブル３１０に保存されている。オブジェクト、そのデジタル署名とストレージ保証書が外部デバイスに移行する。最後に制御プログラム３０６は外部デバイス内のオブジェクトへのパスを外部パス３１０４として記録し、オブジェクトテーブル３１０の内部パス３１０２をＮ／Ａに設定する。
【００９９】
００１４７    図１９のステップ９０１０１、９０１０２、９０１０３及び９０１０７に関しては図９のステップ８０１０１、８０１０２、８０１０３及び８０１０７と同様である。しかしながら図１９の方法にはステップ９０１０４と９０１０５が追加されている。更にステップ９０１０６はステップ８０１０６に加えて施策を含む。
【０１００】
００１４８    ９０１０４で、オブジェクトが外部ストレージデバイスに送るレベルに達するほど古ければ、オブジェクトのハッシュ値が計算され、メモリにある暗号化キーを使用して暗号化される。この結果、移行するオブジェクトのデジタル署名が生成される。使用されるハッシュアルゴリズムをオブジェクトテーブルに備えておくことができる。
【０１０１】
００１４９    ９０１０５で、移行するオブジェクトに対するストレージ保証書は、オブジェクトテーブル３１０に記録される。オブジェクトに対する保証書をオブジェクトテーブルに記録することで、図２２でストレージシステムの制御プログラムが保証書を外部デバイスから読み込まなくても、更新する保証書をチェックすることができる。
【０１０２】
００１５０    ９０１０６で、移行するオブジェクトに加えて、その関連する署名とオブジェクト保証書、すなわちストレージ保証書のコピーもまた外部ストレージデバイスに送られる。
【０１０３】
００１５１    ストレージ保証書はオブジェクトと関連するストレージ保証書で、アーカイブストレージに保存された現在のストレージ保証書３１３と比較することができる。
【０１０４】
００１５２    図２０に本発明の第二の態様による、読み出し要求を処理する方法の典型例を示す。
００１５３    図２０はクライアントコンピュータ１１０から、アーカイブストレージ３００などのアーカイブストレージへ送られる図１７の読み出し要求９０７などの読み出し要求を処理する方法を示す。
【０１０５】
００１５４    読み出し要求９０７に応じて、制御プログラム３０６は９０７０３で読み出し要求の対象であるアーカイブされたオブジェクトだけでなく、オブジェクトに付加されたデジタル署名と保証書も外部ストレージデバイスから読み出す。９０７０４で署名検証中に、制御プログラムは検証テーブル３０７で指定された検証レベル３２７に基づいてオブジェクトのデータ完全性を検証する。
【０１０６】
００１５５    読み出し要求９０７に対応する方法は、検証を省略せず、ハッシュ値を計算しないまたは計算され保存されているハッシュ値と比較することをしないという点で、読み出し要求８０７に対応する方法とは異なっている。その点で図１０のステップ８０７０５、８０７０６及び８０７０９に対応するステップは図２０には存在しない。
【０１０７】
００１５６    署名検証プロセス９０７０４は図２１に詳細に説明されている。更に、制御プログラムがＤＡＴＡ＿ＣＯＲＲＵＰＴＩＯＮメッセージを返す契機となる９０７０１への入力Ａは図２１に説明されている。ある種の条件下では、図２１に示すように署名検証９０７０４は９０７１０に進む。
【０１０８】
００１５７    図２１に本発明の第二の態様による、署名検証を示す。
００１５８    図２０の署名検証９０７０４はより詳細に図２１に説明されている。完全性の侵害が検出されると、制御プログラムは侵害の種類を示す警告メッセージを管理サーバの管理者に送信し、プロセスは図２０の９０７１０へ進み、ＤＡＴＡ＿ＣＯＲＲＵＰＴＩＯＮメッセージがまたクライアントコンピュータに送信される。
【０１０９】
００１５９    １５００で方法が開始する。１５０１、１５０２、１５０３、及び１５０４で制御プログラムは要求されたオブジェクトを保存する外部ストレージデバイスの検証レベルをチェックする。
【０１１０】
００１６０    検証レベルがＳＴＲＩＣＴであれば、１５０５でオブジェクトに関連する保証書が現在のストレージ保証書と比較される。両保証書が同じでなければ、図２０の９０７１０へ進む前に１５１１で、制御プログラムはＵＮＥＸＰＥＣＴＥＤ＿ＣＥＲＴＩＦＩＣＡＴＥメッセージを管理サーバに送信しクライアントにも同様に警告を発する。不一致がなかった場合、外部デバイスから読み込んだオブジェクト保証書に記録された有効期限に基づいて、制御プログラムは更に１５０６で保証書が最新のものであるか、有効期限切れであるかを判定する。保証書が期限切れになっていたら、１５１２で、制御プログラムはＣＥＲＴＩＦＩＣＡＴＥ＿ＥＸＰＩＲＥＤメッセージを管理サーバに送信し、９０７１０へ進んでクライアントコンピュータに警告を送る。不一致が発見されず、保証書が最新のものであった場合、制御プログラムは更に１５０７で保証書の権威が有効であるかをチェックする。保証書の権威が有効でなければ、１５１３で制御プログラムはＩＮＶＡＬＩＤ＿ＡＵＴＨＯＲＩＴＹメッセージを管理サーバに送信し、次に９０７１０に進んでクライアントコンピュータに警告を送る。
【０１１１】
００１６１    不一致が発見されず、保証書が最新のもので、権威が有効であった場合、１５０８で、オブジェクトからハッシュ値が計算される。１５０９で、保証書の公開キーを用いてオブジェクトと関連付けられたデジタル署名のハッシュ値が復号される。１５１０で計算されたハッシュ値が復号されたハッシュ値と比較される。２つが同じでなければ、１５１４でＩＮＴＥＧＲＩＴＹ＿ＶＩＯＬＡＴＩＯＮメッセージが制御プログラムから管理サーバへ送信され、プロセスは９０７１０へ進んで次にクライアントコンピュータに警告を送る。
【０１１２】
００１６２    より低度の検証レベルでは上記の安全ステップの全てではないが一部が不必要とされる。
【０１１３】
００１６３    検証レベルがＴＩＭＥＳＴＡＭＰであれば、プロセスは上記のうちステップ１５０５と１５１１以外の全てのステップを実行する。
【０１１４】
００１６４    検証レベルがＡＵＴＨＯＲＩＴＹであれば、プロセスは上記のうちステップ１５０５、１５０６、１５１１、及び１５１２以外の全てのステップを実行する。
【０１１５】
００１６５    検証レベルがＨＡＳＨであれば、プロセスは上記のうちステップ１５０８，１５０９、１５１０、及び１５１４のみを実行する。
【０１１６】
００１６６    署名検証９０７０４のプロセスは１５１５で終了する。この時点で図２１のプロセスは９０７０７へ進み、エラー報告はなされず、読み出し要求の対象であるオブジェクトは要求しているクライアントコンピュータへ送られる。
【０１１７】
００１６７    図２２に本発明の第二の態様による署名更新のプロセスを示す。
００１６８    図１７の署名更新のバックグラウンドプロセス９１３は図２２により詳細に示されている。ストレージ保証書が期限切れしていたら、古いキーを用いて生成された古いストレージ保証書とデジタル署名は、新しいキーを用いて生成された新しいストレージ保証書と署名に置き換える必要がある。
【０１１８】
００１６９    アーカイブされたオブジェクトに付加されたストレージ保証書の期限切れは現在時刻とオブジェクトテーブルに記録された有効期限を比較することによりチェックできる。外部デバイスに保存され、オブジェクトテーブルに期限切れとなった保証書を有する各オブジェクトに対して、制御プログラムは現行の署名とストレージ保証書を用いてデータ完全性を検証し、その後外部デバイスに保存されたデジタル署名と保証書を更新する。本発明のこの態様では、制御プログラムは各オブジェクトの完全性情報をオブジェクトテーブルに保存せずとも、オブジェクトと共にデジタル署名とオブジェクト保証書を外部ストレージデバイスに保存することにより、データの破損または改ざんを検出することができる。データ完全性の侵害は管理者の指定する様々なレベルにおいて検出可能である。侵害の種類をクライアントコンピュータと管理サーバに報告することができる。図２１に、どのように様々な検証レベルが署名検証プロセスで処理されるかを示す。
【０１１９】
００１７０    ９１３００で方法が開始する。９１３０１で、オブジェクトテーブルからオブジェクトが１つずつ選択され、全てのオブジェクトが評価されるまで方法が続行する。図２２の署名更新が外部デバイスに保存されたオブジェクトに対して実行され、オブジェクトがアーカイブストレージの内部に保存されていると９１３０２で判定された場合、方法はオブジェクトテーブルの次のオブジェクトへと進む。
【０１２０】
００１７１    オブジェクトが外部に保存されている場合、９１３０３で制御プログラムはオブジェクトに関連付けられたストレージ保証書を更新すべきか否かを判定する。オブジェクトテーブルに記録されたオブジェクト保証書が、署名更新要求で指定された保証書と同じでない場合、方法は次のオブジェクトへと進む。保証書が同じであれば、９１３０４でオブジェクトとそれに関連付けられたデジタル署名とストレージ保証書を外部デバイスから読み出す。署名更新要求が保証書を指定していない場合、現行のストレージ保証書と同じでない全ての保証書が更新されることになる。
【０１２１】
００１７２    ９１３０５で、署名検証が実行される。図２１に署名検証の典型例を示す。図２１のＡで生成されたエラーメッセージは図２２のフロー図に９１３１５で戻される。
【０１２２】
００１７３    ９１３０６で、オブジェクトの新しいハッシュ値が計算され、アーカイブストレージ３００のメモリ３０５上のストレージ保証書３１３内に保存された暗号化キー３１４を用いて暗号化される。
【０１２３】
００１７４    ９１３０７で、新しいストレージ保証書がオブジェクトテーブルに記録される。
【０１２４】
００１７５    ９１３０８で、オブジェクトが新しい署名と更新されたストレージ保証書と共に指定された外部ストレージに書き込まれる。
【０１２５】
００１７６    ９１３０９で、まだ処理されていないオブジェクトがあれば、方法は戻ってオブジェクトテーブルの次のオブジェクトを選択する。
【０１２６】
００１７７    ９１３１０で、方法は終了し、古い保証書と関連付けられた各オブジェクトの署名が更新される。
００１７８    図２３は本発明の方法論の具体例を実施しうるコンピュータ／サーバシステム２３００の具体例を示すブロック図である。システム２３００はコンピュータ／サーバプラットフォーム２３０１、周辺装置２３０２、及びネットワークリソース２３０３を含む。
【０１２７】
００１７９    コンピュータプラットフォーム２３０１は、コンピュータプラットフォーム２３０１の様々な部分を越えてまたその間で情報通信するためのデータバス２３０４または他の通信機構、及びバス２３０４と接続して情報を処理し、他の演算及び制御タスクを実行するプロセッサ２３０５を有することができる。コンピュータプラットフォーム２３０１はまたバス２３０４に接続して様々な情報、ならびにプロセッサ２３０５が実行する命令を保存する、ランダムアクセスメモリ（ＲＡＭ）あるいは他のダイナミックストレージデバイスなどの揮発性メモリ２３０６を有している。揮発性メモリ２３０６はプロセッサ２３０５が命令を実行中に一時的変数あるいは他の中間的情報を保存するのに使用することができる。コンピュータプラットフォーム２３０１はまた、バス２３０４と接続し、ベーシックインプットアウトプットシステム（ＢＩＯＳ）やシステム構成パラメータなどの静的情報を保存する読み出し専用メモリ（ＲＯＭまたはＥＰＲＯＭ）２３０７あるいは他の静的ストレージデバイスを有することができる。磁気ディスク、光ディスク、固体フラッシュメモリデバイスなどの持続性ストレージデバイス２３０８が備えられ、バス２３０４に接続して情報と命令を保存している。
【０１２８】
００１８０    コンピュータプラットフォーム２３０１は、システム管理者あるいはコンピュータプラットフォーム２３０１のユーザに情報を表示するため、バス２３０４を介して陰極線管（ＣＲＴ）、プラズマディスプレイ、あるいは液晶ディスプレイ（ＬＣＤ）などのディスプレイ２３０９を接続することができる。英数字と他のキーを有する入力装置２３１０は、情報とコマンドの選択をプロセッサ２３０５と通信するためにバス２３０４と接続している。他の種類のユーザ入力装置は、マウス、トラックボール、カーソル指示キーなどのカーソル制御装置２３１１であり、プロセッサ２３０５と方向情報とコマンド選択の通信を行い、ディスプレイ２３０９上のカーソルの動きを制御する。この入力装置は通常２軸の自由度、第一の軸（例えばｘ）と第二の軸（例えばｙ）、を有し、これによりデバイスが平面内で位置の指定ができるようになる。
【０１２９】
００１８１    外部ストレージデバイス２３１２を、バス２３０４を介してコンピュータプラットフォーム２３０１に接続し、増設のあるいは取り外し可能なストレージ容量をコンピュータプラットフォーム２３０１に提供することができる。コンピュータシステム２３００の実施例において、外部取り外し可能ストレージデバイス２３１２を使用して他のコンピュータシステムとデータ交換を容易にすることができる。
【０１３０】
００１８２    本発明はコンピュータシステム２３００をここに説明した技術を実現するために使用することに関する。１実施例では、本発明のシステムはコンピュータプラットフォーム２３０１などの装置に存在できる。本発明の１つの実施例により、揮発性メモリ２３０６に含まれている１つ以上の命令の１つ以上のシーケンスを実行するプロセッサ２３０５に対応するコンピュータシステム２３００により、ここに説明された技術が実行される。これらの命令は、持続性ストレージデバイス２３０８などのコンピュータで読み取り可能な媒体から揮発性メモリ２３０６へ読み込むことができる。揮発性メモリ２３０６に含まれる命令のシーケンスを実行すると、プロセッサ２３０５がここに述べるプロセスを実行する。他の実施例では、ソフトウェアの命令の替わりにあるいはそれと組み合わせて配線接続された回路を使用して本発明を実施することも可能である。本発明の実現はいかなる特定のハードウェア回路やソフトウェアの組み合わせに限定されるものではない。
【０１３１】
００１８３    ここで使われる“コンピュータ読み取り可能媒体”の用語は、プロセッサ２３０５に実行のために命令を与えることに関わる全ての媒体を意味する。コンピュータ読み取り可能媒体は、ここで述べられる方法及び／または技術を実現する命令を伝えることができる、機械で読み取れる媒体の単なる１つの例である。これらの媒体は。不揮発性媒体、揮発性媒体、通信媒体など多くの形態をとりうるが、それらに限定されるものではない。不揮発性媒体には、例えば、ストレージデバイス２３０８などの光あるいは磁気ディスクがある。揮発性媒体には揮発性ストレージ２３０６などのダイナミックメモリがある。通信媒体には、同軸ケーブル、銅線、光ファイバーがあり、データバス２３０４を構成する配線も含まれる。通信媒体は、無線通信、赤外線通信などの際に生成される音波、光波の形態をとることも可能である。
【０１３２】
００１８４    コンピュータ読み取り可能媒体の一般的形態としては、例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、あるいは他の任意の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光媒体、パンチカード、紙テープ、他の任意の穴パターンを持つ物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、フラッシュドライブ、メモリカード、他の任意のメモリチップあるいはカートリッジ、以下に述べる搬送波、あるいはコンピュータが読める他の任意の媒体を含む。
【０１３３】
００１８５    １つ以上の命令のシーケンスの１つ以上を実行するためにプロセッサ２３０５に届けるために様々な形態のコンピュータ読み取り可能媒体が使用されうる。例えば、最初に命令は遠隔のコンピュータから磁気ディスクで運ばれる。あるいは、遠隔のコンピュータは命令を自身のダイナミックメモリにロードし、モデムを使用して電話回線上で命令を送ることができる。コンピュータシステム２３００内のモデムは電話回線上のデータを受信し、赤外線送信機を使用してデータを赤外線信号に変換することができる。赤外線受信機が赤外線信号で運ばれたデータを受信し、適当な回路がデータをバス２３０４へ投入することができる。バス２３０４はデータを揮発性メモリ２３０６へ運び、ここからプロセッサ２３０５がデータを取り出して命令を実行する。揮発性メモリ２３０６が受信した命令は、プロセッサ２３０５が実行する前あるいは後に持続性ストレージデバイス２３０８に保存しても、しなくてもかまわない。命令は、様々な公知の技術のネットワーク通信プロトコルを用いてインターネット経由でコンピュータプラットフォーム２３０１へダウンロードすることもできる。
【０１３４】
００１８６    コンピュータプラットフォーム２３０１は、データバス２３０４に接続しているネットワークインタフェースカード２３１３などの通信インタフェースも備えている。通信インタフェースカード２３１３は、ローカルネットワーク２３１５に接続しているネットワークリンク２３１４に接続する双方向データ通信を提供する。例えば、通信インタフェース２３１３は総合デジタル通信網（ＩＳＤＮ）カードあるいは対応する型の電話回線にデータ通信接続するモデムとすることができる。他の例では、通信インタフェース２３１３は適合するＬＡＮにデータ通信接続するローカルエリアネットワークインタフェースカード（ＬＡＮ  ＮＩＣ）とすることもできる。公知の８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ及びブルートゥースなどの無線リンクもまたネットワーク構築のために用いることができる。いずれの実施例に於いても、通信インタフェース２３１３は、様々な種類の情報を表すデジタルデータの流れを運ぶ、電気的、電磁気的、光学的信号を送信し受信する。
【０１３５】
００１８７    ネットワークリンク２３１４は通常１つ以上のネットワークを介して他のネットワークリソースとのデータ通信を提供する。例えば、ネットワークリンク２３１４はローカルネットワーク２３１５を介してホストコンピュータ２３１６あるいはネットワークストレージ／サーバ２３１７との通信を提供することができる。付加的にあるいは代替え的にネットワークリンク２３１４はゲートウェイ／ファイアウォール２３１７を介して、インターネットなどのワイドエリアまたはグローバルネットワーク２３１８に接続することができる。このようにコンピュータプラットフォーム２３０１は、リモートネットワークストレージ／サーバ２３１９などの、インターネット２３１８上の任意の位置にあるネットワークリソースにアクセスすることができる。一方、コンピュータプラットフォーム２３０１は、インターネット２３１５及び／またはインターネット２３１８上のいかなる地点のクライアントからもアクセスを受けることができる。ネットワーククライアント２３２０及び２３２１は、それ自体もプラットフォーム２３０１と同様のコンピュータプラットフォームに基づいて構築することができる。
【０１３６】
００１８８    ローカルネットワーク２３１５とインターネット２３１８は共に、デジタルデータストリームを運ぶ電気的、電磁気的、または光学的信号を用いる。様々なネットワークを介する信号、ネットワークリンク２３１４上の信号、及び通信インタフェース２３１３を介する信号は、コンピュータプラットフォーム２３０１との間でデジタルデータを運び、これらは情報を運ぶ搬送波の形態の典型例である。
【０１３７】
００１８９    コンピュータプラットフォーム２３０１は、インターネット２３１８とＬＡＮ２３１５、ネットワークリンク２３１４、及び通信インタフェース２３１３を含む様々なネットワークを介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、システム２３０１がネットワークサーバとして動作するとき、システムはクライアント２３２０及び／または２３２１上で走っているアプリケーションプログラムのために要求されたコードまたはデータを、インターネット２３１８、ゲートウェイ／ファイアウォール２３１７、ローカルエリアネットワーク２３１５、及び通信インタフェース２３１３を介して送信することができる。同様にシステムは他のネットワークリソースからコードを受信することができる。
【０１３８】
００１９０    受信したコードは、受信したままにプロセッサ２３０５が実行し、及び／あるいは持続性または揮発性のストレージデバイス、それぞれ２３０８または２３０６に保存され、あるいは他の不揮発性メモリに保存され後で実行される。この場合、コンピュータシステム２３０１はアプリケーションコードを搬送波の形で取得することもできる。
【０１３９】
００１９１    本発明はいかなる特定のファイアウォールシステムにも限定されないことに留意すべきである。本発明のポリシーをベースとするコンテンツ処理システムは３つのファイアウォール動作モード、具体的には、ＮＡＴ、ルート、及びトランスペアレントのいずれにおいても使用可能である。
【０１４０】
００１９２    最後に、ここに述べられたプロセスと技術はいかなる特定の装置に対しても本質的な関連を有するものではなく、任意のコンポーネントの適切な組み合わせにより実現可能であることを理解すべきである。更に、様々な種類の汎用装置を、ここで説明した教えに従って使用することが可能である。ここで説明した方法のステップを実行するためには専用の装置を構築することが有利である。本発明は特定の例に関連して説明されたが、それらは全ての点において限定するためではなく、説明することを意図したものである。当業者には、本発明を実行するのに好適な、多くのハードウェア、ソフトウェア、及びファームウェアの異なる組み合わせがあることが理解される。例えば、ここで説明されたソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等、広い範囲プログラム言語あるいはスクリプト言語で実現可能である。
【０１４１】
００１９３    更に、ここで説明した本発明の明細と実施例を考察すれば、当業者には、本発明の他の実現法が明らかである。説明された実施例の様々な態様及び／またはコンポーネントを、単独であるいは任意の組み合わせで、データ完全性検証機能を備えるコンピュータ化されたストレージシステムで使用することができる。明細と実施例は例示用と解釈され、真の発明の範囲と概念は以下の請求項で示すことを意図している。
【０１４２】
００１４    なお、付随する図面は、本明細書に含まれその一部を成し、本発明の実施例を例示し、説明とともに本発明技術の原理を説明し図示するのに役にたつ。
【図面の簡単な説明】
【０１４３】
【図１】本発明の態様による統合型アーカイブストレージシステムの典型例を示す図である。
【図２】検証テーブルの１つの典型例を示す図である。
【図３】は移行テーブルの典型例を示す図である。
【図４Ａ】本発明の第一の態様によるデータ完全性評価法の典型例を示す図である。
【図４Ｂ】本発明の第二の態様によるデータ完全性評価法の典型例を示す図である。
【図５】オブジェクトテーブルの典型例を示す図である。
【図６】本発明の第一の態様に従い、管理サーバの管理プログラムにより実行される方法を示す図である。
【図７】本発明の第一の態様に従い、アーカイブストレージの制御プログラムに採用されている方法を示す図である。
【図８】本発明の第一の態様に従って、書き込み要求を処理する方法の典型例を示す図である。
【図９】本発明の第一の態様に従って、バックグラウンドでオブジェクトを移行する方法の典型例を示す図である。
【図１０】本発明の第一の態様に従って、読み出し要求を処理する方法の典型例を示す図である。
【図１１】本発明の第一の態様に従って、ハッシュ更新を行う方法を示す図である。
【図１２】本発明の第二の態様によるアーカイブストレージの典型例を示す図である。
【図１３】本発明の第一の態様によるアーカイブストレージの典型例を念のために示す図である。
【図１４】検証テーブルの典型例を示す図である。
【図１５】オブジェクトテーブルの典型例を示す図である。
【図１６】本発明の第二の態様に従って、管理プログラムによって実行される方法を示す図である。
【図１７】本発明の第二の態様に従い、アーカイブストレージの制御プログラムに採用された方法を示す図である。
【図１８】本発明の第二の態様に従って、書き込み要求を処理する方法の典型例を示す図である。
【図１９】本発明の第二の態様に従って、バックグラウンドでオブジェクトを移行する方法の典型例を示す図である。
【図２０】本発明の第二の態様に従って、読み出し要求を処理する方法の典型例を示す図である。
【図２１】本発明の第二の態様による署名検証プロセスを示す図である。
【図２２】本発明の第二の態様による署名更新方法を示す図である。
【図２３】本発明のシステムが実施されるコンピュータプラットフォームの典型的な実施例を示す図である。
【符号の説明】
【０１４４】
１００１  ＬＡＮインタフェース
１００２  ＬＡＮインタフェース
１００３  ＬＡＮインタフェース
１００４  ＬＡＮインタフェース
１００５  光ディスクインタフェース
１００６  テープインタフェース
１００７  ディスクコントローラ
１０２    ネットワーク接続ストレージ
１０４    光ディスクシステム
１０６    テープシステム
１１０    クライアントコンピュータ
１１２    管理サーバ
１１２１  ＣＰＵ
１１２２  メモリ
１１２３  管理プログラム
１１２４  ユーザインタフェース
１１２５  ＬＡＮポート
１１８    ＬＡＮ
２０２    ＣＰＵ
２０３    クロック
２０５    メモリ
２０６    ストレージシステムコントロールプログラム
２０７    検証テーブル
２０８    移行テーブル
２０９    移行時間
２１０    オブジェクトテーブル
２１１    デフォルトのハッシュアルゴリズム
２１４    オブジェクト
２１７    外部デバイスＩＤ
２１８    クライアントコンピュータＩＰアドレス
２２７    検証フラグ
２１０１    オブジェクトＩＤ
２１０２    内部パス
２１０４    外部パス
２１０５    ハッシュアルゴリズム
２１０６    ハッシュ値
２１０７    生成時刻
３０５    メモリ
３０６    制御プログラム
３０７    検証テーブル
３０８    移行テーブル
３０９    移行時間
３１０    オブジェクトテーブル
３１１    ルート保証書
３１２    暗号化キー
３１３    ストレージ保証書
３１４    復号キー
３２７    検証レベル
３１０１    オブジェクトＩＤ
３１０２    内部パス
３１０４    外部パス
３１０５    オブジェクト保証書
３１０７    生成時刻
２３０９    ディスプレイ
２３１０    キーボード
２３１１    マウス／ポジションポインティングデバイス
２３１２    外部ストレージ
２３０６    揮発性ストレージ
２３０８    持続性ストレージ
２３０７    ＥＰＲＯＭ／ファームウェアストレージ
２３０４    データバス
２３０５    ＣＰＵ
２３１３    ネットワークインタフェースカード
２３１９    ネットワークサーバ／ネットワークストレージ
２３１８    インターネット
２３１７    ゲートウェイ
２３１５    インターネット
２３２１    クライアント
２３２０    クライアント
２３１６    ホスト
２３２２    ネットワークサーバ／ネットワークストレージ
【図１】
2009230741.tif 000003
【図２】
2009230741.tif 000004
【図３】
2009230741.tif 000005
【図４Ａ】
2009230741.tif 000006
【図４Ｂ】
2009230741.tif 000007
【図５】
2009230741.tif 000008
【図６】
2009230741.tif 000009
【図７】
2009230741.tif 000010
【図８】
2009230741.tif 000011
【図９】
2009230741.tif 000012
【図１０】
2009230741.tif 000013
【図１１】
2009230741.tif 000014
【図１２】
2009230741.tif 000015
【図１３】
2009230741.tif 000016
【図１４】
2009230741.tif 000017
【図１５】
2009230741.tif 000018
【図１６】
2009230741.tif 000019
【図１７】
2009230741.tif 000020
【図１８】
2009230741.tif 000021
【図１９】
2009230741.tif 000022
【図２０】
2009230741.tif 000023
【図２１】
2009230741.tif 000024
【図２２】
2009230741.tif 000025
【図２３】
2009230741.tif 000026
【外国語明細書】
2009230741000001.pdf