(57)【要約】本発明は、データを記憶する記憶装置を提供する。記憶装置は、データを記憶するために記憶手段、所定の記憶スペースの可用性をソースデバイスに確約する確約手段、所定の記憶スペースの可用性を検出して、検出結果を生成する検出手段、ソースデバイスに検出結果を通知する伝達手段を有し、ソースデバイスは、検出結果に従って対応する動作を行う。このように、あるグループのそれぞれのストレージデバイスは、そのコミットメントにより束縛され、ストレージデバイスがそのコミットメントに違反した場合、他のメンバの記憶スペースに記憶されるそのファイルを損失する危険を負う。
2009510586.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶手段と、
所定の記憶スペースの可用性をソースデバイスに確約する確約手段と、
前記所定の記憶スペースの可用性を検出し、検出結果を生成する検出手段と、
ソースデバイスに検出結果を通知する伝達手段とを有し、
前記ソースデバイスは、前記検出結果に従って対応する動作を行う、
ことを特徴とする記憶装置。
【請求項２】
前記所定の記憶スペースの可用性は、所定の記憶スペースにアクセス可能なこと、所定の記憶スペースに記憶されているソースデバイスから生じたファイルに異常がないことを含む、
請求項１記載の記憶装置。
【請求項３】
前記伝達手段は、記憶されたデータ又は記憶されることとなるデータを送出又は受信する、
請求項１記載の記憶装置。
【請求項４】
前記伝達手段は、前記ソースデバイスからの問合せを受け、
前記検出手段は、前記所定の記憶スペースの可用性を検出して、前記問合せに応じた検出結果を生成する、
請求項１記載の記憶装置。
【請求項５】
前記ソースデバイスに通知する前に、当該記憶装置の所有者に前記検出結果を通知する通知手段を更に有する、
請求項１記載の記憶装置。
【請求項６】
前記ソースデバイスにより行われる対応する動作は、当該記憶装置から生じた前記ソースデバイスに記憶されているファイルを削除することを含む、
請求項１記載の記憶装置。
【請求項７】
当該記憶装置及び前記ソースデバイスは、あるグループに属しており、前記グループは第三の装置を含み、
前記ソースデバイスにより行われる対応する動作は、当該記憶装置から生じた前記第三の装置に記憶されるファイルを削除することを、前記第三の装置に通知することを含む、
請求項１記載の記憶装置。
【請求項８】
前記ソースデバイスから生じた当該記憶装置に記憶されるファイルを削除する削除手段を更に有する、
請求項１記載の記憶装置。
【請求項９】
前記ソースデバイスの所定の記憶スペースの可用性を検出するために前記ソースデバイスに問合せを送出する問合せ手段を更に有し、
当該記憶装置及び前記ソースデバイスは、あるグループに属しており、前記グループは第三の装置を含み、
前記伝達手段は、前記問合せに対応する応答検出結果を前記第三の装置に通知し、
前記第三の装置は、前記応答検出結果に従って対応する動作を行う、
請求項１記載の記憶装置。
【請求項１０】
データを記憶する方法であって、
所定の記憶スペースの可用性をソースデバイスに確約するステップと、
前記所定の記憶スペースの可用性を検出して、検出結果を生成するステップと、
ソースデバイスに検出結果を通知するステップとを含み、
前記ソースデバイスは、前記検出結果に従って対応する動作を行う、
ことを特徴とする方法。
【請求項１１】
前記所定の記憶スペースの可用性は、前記所定の記憶スペースにアクセス可能なこと、前記所定の記憶スペースに記憶されているソースデバイスから生じたファイルに異常がないことを含む、
請求項１０記載の方法。
【請求項１２】
記憶されたデータ又は記憶されることとなるデータを送出又は受信するステップを更に含む、
請求項１０記載の方法。
【請求項１３】
前記ソースデバイスからの問合せを受けるステップを更に含み、
前記検出するステップは、前記所定の記憶スペースの可用性を検出して、前記問合せに応じた検出結果を生成するステップを含む、
請求項１０記載の方法。
【請求項１４】
前記ソースデバイスに通知する前に、当該記憶装置の所有者に前記検出結果を通知するステップを更に含む、
請求項１０記載の方法。
【請求項１５】
前記ソースデバイスにより行われる対応する動作は、当該記憶装置から生じた前記ソースデバイスに記憶されているファイルを削除するステップを含む、
請求項１０記載の方法。
【請求項１６】
当該記憶装置及び前記ソースデバイスは、あるグループに属しており、前記グループは第三の装置を含み、
前記ソースデバイスにより行われる対応する動作は、当該記憶装置から生じた前記第三の装置に記憶されるファイルを削除することを、前記第三の装置に通知するステップを含む、
請求項１０記載の方法。
【請求項１７】
前記所定の記憶スペースで前記ソースデバイスから生じたファイルを記憶するステップを更に含む、
請求項１０記載の方法。
【請求項１８】
前記ソースデバイスから生じた当該記憶装置に記憶されるファイルを削除するステップを更に含む、
請求項１７記載の方法。
【請求項１９】
前記ソースデバイスの所定の記憶スペースの可用性を検出するために前記ソースデバイスに問合せを送出するステップを更に含み、
当該記憶装置及び前記ソースデバイスは、あるグループに属しており、前記グループは第三の装置を含み、
前記問合せに対応する応答検出結果を前記第三の装置に通知するステップを更に含み、
前記第三の装置は、前記応答検出結果に従って対応する動作を行う、
請求項１０記載の方法。
【請求項２０】
データを記憶するためのコンピュータプログラムであって、
所定の記憶スペースの可用性をソースデバイスに確約するためのコードと、
前記所定の記憶スペースの可用性を検出し、検出結果を生成するためのコードと、
前記ソースデバイスに前記検出結果を通知するためのコードとを含み、
前記ソースデバイスは、前記検出結果に従って対応する動作を行う、
ことを特徴とするコンピュータプログラム。
【請求項２１】
第一のストレージデバイスと第二のストレージデバイスをグルーピングするグルーピング装置であって、
第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信する伝達手段と、
あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ登録する登録手段と、
第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成する検出手段とを有し、
前記伝達手段は、第二のストレージデバイスに検出結果を通知し、前記第二のストレージデバイスは、前記検出結果に従って対応する動作を行う、
ことを特徴とする装置。
【請求項２２】
前記所定の記憶スペースの可用性は、所定の記憶スペースにアクセス可能なこと、及び、あるメンバのストレージデバイスから生じたファイルであって、別のメンバのストレージデバイスの所定の記憶スペースに記憶されているファイルに異常がないことを含む、
請求項２１記載の記憶装置。
【請求項２３】
前記グループは、第三のストレージデバイスを含み、
前記第二のストレージデバイスにより行われる対応する動作は、前記第一のストレージデバイスから生じた前記第三のストレージデバイスに記憶されるファイルを削除することを、前記第三のストレージデバイスに通知することを含む、
請求項２１記載の記憶装置。
【請求項２４】
第一のストレージデバイスと第二のストレージデバイスをグルーピングする方法であって、
第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信するステップと、
あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ登録するステップと、
第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成するステップと、
第二のストレージデバイスに前記検出結果を通知するステップとを含み、
前記第二のストレージデバイスは、前記検出結果に従って対応する動作を行う、
ことを特徴とする方法。
【請求項２５】
前記所定の記憶スペースの可用性は、所定の記憶スペースにアクセス可能なこと、及び、あるメンバのストレージデバイスから生じたファイルであって、別のメンバのストレージデバイスの所定の記憶スペースに記憶されているファイルに異常がないことを含む、
請求項２４記載の方法。
【請求項２６】
前記グループは、第三のストレージデバイスを含み、
前記第二のストレージデバイスにより行われる対応する動作は、前記第一のストレージデバイスから生じた前記第三のストレージデバイスに記憶されるファイルを削除することを、前記第三のストレージデバイスに通知することを含む、
請求項２４記載の方法。
【請求項２７】
第一のストレージデバイスと第二のストレージデバイスをグルーピングするコンピュータプログラムであって、
第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信するためのコードと、
あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ登録するためのコードと、
第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成するためのコードと、
第二のストレージデバイスに前記検出結果を通知するためのコードとを含み、
前記第二のストレージデバイスは、前記検出結果に従って対応する動作を行う、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶技術全般に関し、より詳細には、複数の記憶装置のグループ化に関する。
【背景技術】
【０００２】
ＣＤ−ＲＯＭ、ＤＶＤ（Digital  Versatile  Disk）、磁気カセット、磁気テープ、磁気ディスクストレージ又は磁気ハードディスクドライブのような記憶媒体にデータを記憶することは、ユーザにとって一般的に行われている。しかし、かかる記憶装置に記憶されているデータは、火事、洪水、又は記憶媒体に悪影響を及ぼす他のイベントのために失われる可能性がある。したがって、同じ悲劇的なイベントによりオリジナルデータとバックアップコピーの両者の破壊を防止するため、オフサイトのロケーションでの記憶のためにデータのバックアップコピーを生成することが賢明なことがある。
【０００３】
現在、オフサイトのバックアップを達成する幾つかの方法が存在する。１つの例は、バックアップコピーを含む記憶媒体をバックアップサイトに物理的に転送することである。かかる転送は、更なる出費及びメディアの損傷の可能性につながる場合がある。さらに、この方法は、オフサイトのロケーションから記憶されたデータを検索する効率的なシステム及び方法を提供するものではない。
【０００４】
別の例は、サービスプロバイダがそのクライアントのファイルデータをアーカイブにするためにオンラインの中央集約されたサーバを提供することである。しかし、先のオンラインデータストレージシステムは、インターネットの公知のサイトに位置され、したがって、係るシステムに記憶されているデータにアクセス及び／又は変更するのを試みる悪意のある人物（すなわちハッカー）からのアタックに対して弱い。
【０００５】
オフサイトのバックアップの更に別の例は、一組の友人／同僚／親戚の中からグループを形成することであり、このグループ内で、それぞれのメンバは、他のストレージ装置でそのデータをアーカイブにする。このソリューションが非能率であるのは、共有リソースの記憶容量が制限されること、及びグループメンバ間の既存の信頼の要件が強いことである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、オフサイトのバックアップの上記方法の非能率さに対処するため、複数の記憶装置をグループ化する改善された装置／方法を提供することが必要とされる。
【０００７】
本発明の目的は、更に多くの共有リソースの信頼された記憶容量を記憶装置のグループに提供する改善された記憶装置／方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的は、データを記憶する記憶手段、所定の記憶スペースの可用性（availability）をソースデバイス（source  device）に確約する確約（committing）手段、所定の記憶スペースの可用性を検出し、検出結果を生成する検出手段、ソースデバイスに検出結果を通知する伝達手段を有する記憶装置で達成され、ソースデバイスは、検出結果に従って対応する動作を行う。
【０００９】
ソースデバイスにより行われる対応する動作は、記憶装置から発せられるソースデバイスに記憶されるファイルを削除することを含む。グループメンバによりグループになされたコミットメント（commitment）の違反により、グループメンバから生じたデータであって、他のメンバの記憶スペースに記憶されているデータを失う危険を負うというルールを設定することで、それぞれのメンバは、そのコミットメントによりグループに拘束される。
【００１０】
本発明の１実施の形態によれば、所定の記憶スペースの可用性は、所定の記憶スペースにアクセスしやすいこと（accessibility）、記憶装置の所定の記憶スペースに記憶されているソースデバイスから生じたファイルに異常がないこと（undisturbance）を含む。
【００１１】
本発明の別の実施の形態によれば、記憶装置は、ソースデバイスから生じた記憶装置に記憶されているファイルを削除する削除手段を更に有する。
【００１２】
本発明の更に別の実施の形態によれば、記憶装置は、ソースデバイスの所定の記憶スペースの可用性を検出するためにソースデバイスに問合せを送出する問合せ手段を更に有する。記憶装置及びソースデバイスは、あるグループに属しており、このグループは、第三の装置を含み、伝達手段は、第三の装置に、問合せに対応する応答の検出結果を通知する。これにより、第三の装置は、応答の検出結果に従って対応する動作を行う。
【００１３】
また、上記目的は、データを記憶する方法で達成される。本方法は、所定の記憶スペースの可用性をソースデバイスに確約するステップ、所定の記憶スペースの可用性を検出して、検出結果を生成するステップ、ソースデバイスに検出結果を通知するステップを含み、ソースデバイスは、検出結果に従って対応する動作を行う。
【００１４】
本発明の別の目的は、複数のストレージデバイスをグループ化するグループ化装置を提供するものであり、これにより、それぞれのストレージデバイスは、信頼される環境において同じグループに属する他のストレージデバイスにそのデータを記憶する。
【００１５】
上記目的は、第一のストレージデバイス及び第二のストレージデバイスをグループ化する装置において達成される。本装置は、第一のストレージデバイスからの所定の記憶スペースの可用性の  コミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信する伝達手段、あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ記録する記録手段、第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成する検出手段を有しており、伝達手段は、第二のストレージデバイスに検出結果を通知し、これにより、第二のストレージデバイスは、検出結果に従って対応する動作を行う。
【００１６】
また、上記目的は、第一のストレージデバイスと第二のストレージデバイスをグループ化する方法で達成され、本方法は、第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信するステップ、あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ記録するステップ、第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成するステップ、第二のストレージデバイスに検出結果を通知するステップを含み、これにより、第二のストレージデバイスは、検出結果に従って対応する動作を行う。
【００１７】
本発明の完全な理解による他の目的及び効果は、添付図面と共に、以下の説明及び特許請求の範囲を参照することで明らかにされるであろう。本発明は、添付図面を参照し、例を通して更に詳細に説明される。図面を通して、同じ参照符号は、類似又は対応する特徴又は機能を示す。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の１実施の形態に係る記憶装置のブロック図である。  
記憶装置１００は、記憶ユニット１１０、確約ユニット１２０、伝達ユニット１３０及び検出ユニット１４０を含む。記憶装置は、通知ユニット１５０、問合せユニット１６０及び削除ユニット１７０を更に含む。記憶装置１００は、パーソナルコンピュータのコンポーネントである。また、記憶装置は、たとえば移動電話又はパーソナルデジタルアシスタントといった家庭用電子機器のコンポーネントである。
【００１９】
記憶ユニット１１０は、ストアリングドライバ（図示せず）及び記憶媒体（図示せず）を含む。記憶媒体は、ハードディスクのような固定された媒体である。また、記憶媒体は、光ディスクのような取り外し可能な媒体である。記憶ユニット１１０は、記憶されるべきデータを記憶媒体に記憶し、また、記憶媒体から記憶されているデータを検索する。
【００２０】
確約ユニット１２０は、所定の記憶空間の可用性のソースデバイス（図示せず）へのコミットメント（確約）を行う。ソースデバイスは、別の記憶装置であり、また、複数の記憶装置をグループ化する役割を果たす中央集約されたサーバである。
【００２１】
コミットメントは、所定の記憶スペースにアクセスしやすいこと、記憶装置の所定の記憶スペースに記憶されるソースデバイスから生じたファイルに異常がないことを含む。たとえば、コミットメントは、他の記憶装置と共有する４ギガバイトの記憶容量であり、一日当たり少なくとも２時間のオンラインのアクセスが可能なことである。
【００２２】
伝達ユニット１３０は、有線／無線のインターネット通信装置である。また、伝達ユニット１３０は、記憶装置１００とソースデバイスとの間で通信チャネルを提供する他の装置とすることができる。かかる通信は、ピアツーピア通信である。かかる通信は、中央集約されたサーバを介することもできる。
【００２３】
伝達ユニット１３０は、コミットメントに関してソースデバイスと対話し、ソースデバイスが類似のコミットメントをなす場合、記憶装置及びソースデバイスは、グループを形成する。グループを形成した後、ソースデバイスは、記憶ユニット１１０にファイルを記憶する。
【００２４】
検出ユニット１４０は、所定の記憶スペースの可用性を検出して、検出結果を生成する。検出ユニット１４０は、ソースデバイスから生じた記憶ユニット１１０に記憶されているファイルの状態をチェックし、また、記憶装置１００のオンラインアクセスタイムをチェックする。検出結果は、ソースデバイスからのファイルがなおそこに存在すること、ファイルがディストリビュートされていないこと、及び／又はオンラインアクセスタイムが最小の要件を超えないこと、等を含む場合がある。
【００２５】
検出は、積極的又は受動的である。積極的なやり方は、検出ユニット１４０がその自身で周期的に所定の記憶スペースの可用性の調査を始動することである。受動的なやり方は、検出ユニット１４０がソースデバイスからの要求の受信に応じて所定の記憶スペースの可用性の調査を始動することである。
【００２６】
検出ユニット１４０は、他のストレージデバイスから生じた全てのファイルのリストを保持し、これにより、検出ユニットにとってファイルの検出を実行することは容易である。
【００２７】
通知ユニット１５０は、ユーザが不注意にコミットメントに違反した場合にソースデバイスに通知する前に、記憶装置の所有者に検出結果を通知する。
【００２８】
問合せユニット１６０は、ソースデバイスの所定の記憶スペースの可用性を検出するため、ソースデバイスに問合せを送出する。
【００２９】
記憶装置１００は、問合せに従ってソースデバイスから応答の検出結果を受信し、応答の検出結果がネガティブである場合、たとえば、記憶装置１００からのファイルがソースデバイスにこれ以上記憶されていない場合、削除ユニット１７０は、記憶ユニット１１０に記憶されているソースデバイスから生じたファイルを削除する。削除ユニット１７０は、ソースデバイスが不注意にコミットメントに違反した場合にそれを削除する前に、ある期間についてソースデバイスからのファイルへのアクセスが可能なことをブロックする。
【００３０】
記憶装置１００及びソースデバイスにより形成されるグループは、第三の装置を含む場合があり、伝達手段１３０は、第三の装置に問合せに対応する応答検出結果を通知し、これにより、第三の装置は、応答検出結果に従って対応する動作を行う。
【００３１】
また、検出ユニットは、ソースデバイスにより積極的に提供された検出結果に基づいて機能する。
【００３２】
また、本発明は、データを記憶するためのコンピュータプログラムが設けられる適切にプログラムされたコンピュータにより実現することもできる。データを記憶するコンピュータプログラムは、所定の記憶スペースの可用性をソースデバイスに与えるためのコード、所定の記憶スペースの可用性を検出して、検出結果を生成するコード、及び、ソースデバイスに検出結果を通知するコードを含む。ソースデバイスは、検出結果に従って対応する動作を行う。かかるコンピュータプログラムは、ストレージキャリアに記憶される場合がある。
【００３３】
これらプログラムコードの部分は、プロセッサで実行されるコードが先に規定された機能を実現する手段を形成するように、プロセッサにマシンを生成するためにプロセッサに提供される。
【００３４】
図２は、本発明の１実施の形態に係るピアツーピアのグループ分け処理を説明するフローチャートである。
【００３５】
グループは、第一のストレージデバイス、第二のストレージデバイス及び第三のストレージデバイスを含む。全ての３つのストレージデバイスは、図１に例示されるように記憶装置１００の機能を有する。３つのストレージデバイスの間の通信の方法は、ピアツーピアである。
【００３６】
３つのストレージデバイスは、互いに知る必要がない異なるユーザに属する。それぞれのストレージデバイスの幾何学的な位置は、それらが互いに通信することができる限りにおいて重要ではない。
【００３７】
最初に、３つのストレージデバイスは、グループを形成するために互いにコミットメントを行う（ステップ２１０）。このグループは、既に存在することもあり、それぞれのストレージデバイスは、新たなメンバとして参加することができる。
【００３８】
コミットメントは、第一のストレージデバイスにより第二のストレージデバイスに対して行われたコミットメントＡ（ステップ２１０ａ）、第一のストレージデバイスにより第三のストレージデバイスに対して行われたコミットメントＢ（ステップ２１０ｂ）、第二のストレージデバイスにより第一のストレージデバイスに対して行われたコミットメントＣ（ステップ２１０ｃ）、第二のストレージデバイスにより第三のストレージデバイスに対して行われたコミットメントＤ（ステップ２１０ｄ）、第三のストレージデバイスにより第二のストレージデバイスに対して行われたコミットメントＥ（ステップ２１０ｅ）、及び第三のストレージデバイスにより第一のストレージデバイスに対して行われたコミットメントＦ（ステップ２１０ｆ）を含む。
【００３９】
コミットメントは、それぞれのストレージデバイスの所定の記憶空間にアクセスしやすいこと、３つのストレージデバイスのうちの１つから発生された、３つのストレージデバイスのうちの別の１つの所定の記憶空間に記憶されるファイルに異常が無いこと、を含む。
【００４０】
コミットメントＡ〜Ｆは、それぞれのコミットメントが予め決定されたグループの記録のルールに到達する限り、同じであるか、又は互いに異なる。たとえば、記録のルールは、他のストレージデバイスと共有する３ギガバイトの記憶容量であって、１日当たり少なくとも１時間のオンラインのアクセスが可能なことであり、コミットメントＡは、他のストレージデバイスと共有する４ギガバイトの記憶容量であって、１日当たり少なくとも２時間のオンラインのアクセスが可能なことである。
【００４１】
第二に、グループを形成した後、グループメンバは、そのデータを他のメンバの記憶スペースに記憶する（ステップ２１２）。たとえば、第一のストレージデバイスは、ファイルＡを第二のストレージデバイスに記憶し、第一のストレージデバイスは、ファイルＢを第三のストレージデバイスに記憶し、第二のストレージデバイスは、ファイルＣを第一のストレージデバイスに記憶し、第二のストレージデバイスは、ファイルＤを第三のストレージデバイスに記憶し、第三のストレージデバイスは、ファイルＥを第二のストレージデバイスに記憶し、第三のストレージデバイスは、ファイルＦを第一のストレージデバイスに記憶する。
【００４２】
ファイルＡ〜Ｆは、それらが記憶される前にその所有者により暗号化される。
【００４３】
１つのメンバがそのコミットメントに違反した場合に、このグループにおける全ての他のメンバがそれらのファイルを取り戻すことを保証するため、１つのメンバにとって、他のメンバの記憶スペースに記憶されているファイルの冗長度を形成することは理解できる。１つのメンバは、そのファイルの冗長度を形成し、このファイル及び冗長度を幾つかの部分に分割し、それぞれの部分を異なるメンバのストレージデバイスに記憶する。
【００４４】
また、冗長度が良好に設計された場合、たとえ大規模グループの２以上のメンバがそれらのコミットメントに違反した場合でさえ、他のメンバは、冗長度の技術に従ってそれらのファイルを取り戻すことができる。
【００４５】
幾つかの部分が失われているときでさえデータが利用可能であることを保証するためにデータに冗長度を加える技術は、誤り訂正コードから知られており、データの可用性を保証するプロフェッショナルストレージシステム、いわゆるＲＡＩＤ（Redundant  Array  of  Inexpensive  Disks）システムも知られている。
【００４６】
第三に、第二のストレージデバイスは、問合せを第一のストレージデバイスに送出し、ファイルＣの状態をチェックする（ステップ２１４）。ファイルＣの状態は、第一のストレージデバイスが利用可能であるか、ファイルＣがなおそこに存在するか、ファイルＣに異常がないか等を含む。第一のストレージデバイスは、２４時間通して利用可能（たとえばオンライン接続される）ではない場合、問合せは、ライフサイクル（たとえば２４時間）を有する必要があり、ひとたび第一のストレージデバイスが利用可能になると、第一のストレージデバイスは問合せを受ける。
【００４７】
問合せに応じて、第一のストレージデバイスは、ファイルＣの状態を検出し、検出結果を生成する（ステップ２１６）。検出結果は、ファイルＣが第一のストレージデバイスに異常なく記憶されていることである。また、検出結果は、ファイルＣは削除され、第一のストレージデバイスにもはや記憶されていないことである。また、検出結果は、ファイルＣは、第一のストレージデバイスの所有者により変更される。
【００４８】
また、検出結果は、たとえば本日２．５時間といった、第一のストレージデバイスのアクセスが可能なことを含む。
【００４９】
第一のストレージデバイスは、第二のストレージデバイスに検出結果を通知する。第二のストレージデバイスに通知する前に、第一のストレージデバイスの所有者は、所有者が不注意にそのコミットメントに違反した場合に、検出結果が通知される場合がある。
【００５０】
代替的に、ステップ２１４なしに、第一のストレージデバイスは、自発的に周期的に、積極的に検出を実行し、検出結果を第二のストレージデバイスに報告する。
【００５１】
第四に、第二のストレージデバイスは、検出結果がコミットメントＡに違反するかを評価し、評価結果がＮｏである場合、全体のプロセスは終了する。
【００５２】
評価結果がＹｅｓである場合、第二のストレージデバイスは、たとえばファイルＡといった、第二のストレージデバイスに記憶されている第一のストレージデバイスから生じたファイルを削除する（ステップ２２２）。さらに、第二のストレージデバイスは、第三のストレージデバイスに検出結果を通知する（ステップ２２４）。
【００５３】
代替的に、第一のストレージデバイスが不注意にコミットメントＡに違反する場合、第二のストレージデバイスは、ファイルＡを物理的に削除する前に、ある期間についてファイルＡにアクセスが可能なことをブロックする場合があり、これにより、第一のストレージデバイスは、その期間の間に救済策を取る場合がある。
【００５４】
最後に、第三のストレージデバイスは、たとえばファイルＢといった、第三のストレージデバイスに記憶されている第一のストレージデバイスから生じたファイルを削除する。（ステップ２２６）。
【００５５】
グループが３を超えるメンバを有する場合、第二のストレージデバイスが、第四のストレージデバイス、第五のストレージデバイス等に検出結果を通知し、第四のストレージデバイス、第五のストレージデバイス等は、第一のストレージデバイスから生じたファイルを削除することが理解される。
【００５６】
また、このグループに於けるそれぞれのメンバが上述されたのと同じ機能を有ことが理解され、たとえば、第三のストレージデバイスは第二のストレージデバイスを検出するために問合せを始動し、第一のストレージデバイスは、第三のストレージデバイスを検出するために問合せを始動することが理解される。
【００５７】
図３は、本発明の別の実施の形態に係るグループ化装置のブロック図である。
【００５８】
グループ化装置３００は、少なくとも２つの記憶装置をメンバとして予め決定された記録ルールに従ってグループに編成するサーバの一部である。それぞれのメンバのオーナは、互いに知る必要はなく、それぞれのストレージデバイスの幾何学的位置は重要ではない。
【００５９】
グループ化装置３００は、伝達ユニット１１０、記録ユニット１２０及び検出ユニット１３０を含む。
【００６０】
伝達ユニット１３０は、他のストレージデバイスと共有するため、それぞれのストレージデバイスから所定の記憶スペースの可用性のコミットメントを受ける。
【００６１】
コミットメントは、それぞれのストレージデバイスの所定の記憶スペースへのアクセスしやすさ、及び、一方のメンバのストレージデバイスから生じた、別のメンバの所定の記憶スペースに記憶されるファイルに異常がないことを含む。
【００６２】
記録ユニット１２０は、それぞれのストレージデバイスからのコミットメント及び予め決定された記録ルールに従ってグループの１つのメンバとしてそれぞれのストレージデバイスを記録する。
【００６３】
記録のルールは、他のストレージデバイスと共有する３ギガバイトの記憶容量であって、一日当たり少なくとも１時間のオンラインのアクセスが可能なことであり、コミットメントは、他のストレージデバイスと共有する４ギガバイトの記憶容量であって、一日当たり少なくとも２時間のオンラインのアクセスが可能なことである。
【００６４】
検出ユニット１３０は、それぞれのメンバの所定の記憶スペースの可用性を検出して、検出結果を生成する。次いで、伝達ユニット１１０は、１つのメンバがそのコミットメントに違反した場合に、他のストレージ装置に検出結果を通知する。これにより、他のストレージデバイスは、検出結果に従って対応する動作を行い、たとえば、そのコミットメントに違反したメンバから生じたファイルを削除する。
【００６５】
検出は、積極的又は受動的である。積極的なやり方は、検出ユニット１３０がそれぞれのメンバに周期的に所定の記憶スペースの可用性の問合せを始動して、それぞれのメンバから応答の検出結果を取得することである。受動的なやり方は、それぞれのメンバが自発的にその振る舞いを調査し、グループ化装置３００に周期的に検出結果を報告することであり、グループ化装置３００の検出ユニット１３０は、それぞれのメンバにより報告される検出結果を収集する。
【００６６】
また、本発明は、第一のストレージデバイスと第二のストレージデバイスをグループ化するためのコンピュータプログラムが設けられた適切にプログラムされたコンピュータにより実現される。第一のストレージデバイスと第二のストレージデバイスをグループ化するためのコンピュータプログラムは、第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信するためのコード、あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ登録するためのコード、第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成するためのコード、第二のストレージデバイスに検出結果を通知するためのコードを含んでおり、第二のストレージデバイスは、検出結果に従って対応する動作を行う。かかるコンピュータプログラムは、ストレージキャリアに記憶される場合がある。
【００６７】
これらプログラムコードの部分は、プロセッサで実行されるコードが先に規定された機能を実現するための手段を形成するように、マシンを生成するためにプロセッサに設けられる場合がある。
【００６８】
図４は、本発明の別の実施の形態に係る中央集約されたグループ化処理を説明するフローチャートである。
【００６９】
このプロセスは、図２のプロセスに類似している。主な違いは、グループのメンバの記録を調整する中央集約されたサーバが存在し、このサーバは、メンバがそのコミットメントに違反するかを検出するために、それぞれのメンバの振る舞いをモニタすることである。
【００７０】
第一のストレージデバイス、第二のストレージデバイス及び第三のストレージデバイスのそれぞれは、そのコミットメントＡ，Ｄ，Ｆをサーバに送出し（ステップ４１０）、サーバは、予め決定されたルールに従って、第一、第二及び第三のストレージデバイスをグループの１つのメンバとしてそれぞれ登録する。また、このグループは、既に存在することがあり、ストレージデバイスは、新たなメンバとして参加する。
【００７１】
グループを形成／参加した後、それぞれのストレージデバイスは、他のメンバのストレージデバイスにそのファイルを記憶する（ステップ４１２）。
【００７２】
サーバは、第一のストレージデバイスに問合せを送出して、ファイルＣの状態をチェックし（ステップ４１４）、第一のストレージデバイスは、ファイルＣの状態を検出して、検出結果を生成し（ステップ４１６）、サーバに検出結果を通知する（ステップ４１８）。
【００７３】
検出結果がコミットメントＡに違反しない場合（ステップ４２０）、プロセスが終了される。
【００７４】
検出結果がコミットメントＡに違反する場合（ステップ４２０）、サーバは、他のメンバである第二のストレージデバイス及び第三のストレージデバイスに検出結果を通知し、他のメンバは、検出結果に従って対応する動作を行う。たとえば、ファイルＡが削除され（ステップ４２６）、ファイルＢが削除される（ステップ４２８）。
【００７５】
本発明は特定の実施の形態と共に記載されたが、多くの代替、変更及び変形は上述された記載に照らして当業者にとって明らかである。したがって、全ての係る代替、変更及び変形は、特許請求の範囲の精神及び範囲に包含されることが意図される。
【図面の簡単な説明】
【００７６】
【図１】本発明の１実施の形態に係る記憶装置のブロック図である。
【図２Ｉ】本発明の１実施の形態に係るピアツーピアプループ化処理を説明するフローチャートである。
【図２ＩＩ】本発明の１実施の形態に係るピアツーピアプループ化処理を説明するフローチャートである。
【図３】本発明の別の実施の形態に係るグループ化装置のブロック図である。
【図４Ｉ】本発明の別の実施の形態に係る中央集約されたグループ化処理を説明するフローチャートである。
【図４ＩＩ】本発明の別の実施の形態に係る中央集約されたグループ化処理を説明するフローチャートである。
【図１】
2009510586.tif 000003
【図２Ｉ】
2009510586.tif 000004
【図２ＩＩ】
2009510586.tif 000005
【図３】
2009510586.tif 000006
【図４Ｉ】
2009510586.tif 000007
【図４ＩＩ】
2009510586.tif 000008
【手続補正書】
【提出日】平成20年4月2日(2008.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを記憶する記憶手段と、
所定の記憶スペースの可用性についてソースデバイスに確約をする確約手段と、
前記所定の記憶スペースの可用性を検出し、検出結果を生成する検出手段と、
ソースデバイスに検出結果を通知する伝達手段とを有し、
前記確約が違反されたことを前記検出結果が示すとき、前記ソースデバイスは、当該記憶装置から発生されたファイルであって、当該記憶装置の外部に記憶されているファイルを削除するための対応する動作を行う、
ことを特徴とする記憶装置。
【請求項２】
前記所定の記憶スペースの可用性は、所定の記憶スペースにアクセス可能なこと、所定の記憶スペースに記憶されているソースデバイスから生じたファイルに異常がないことを含む、
請求項１記載の記憶装置。
【請求項３】
前記伝達手段は、記憶されたデータ又は記憶されることとなるデータを送出又は受信する、
請求項１記載の記憶装置。
【請求項４】
前記伝達手段は、前記ソースデバイスからの問合せを受け、
前記検出手段は、前記所定の記憶スペースの可用性を検出して、前記問合せに応じた検出結果を生成する、
請求項１記載の記憶装置。
【請求項５】
前記ソースデバイスに通知する前に、当該記憶装置の所有者に前記検出結果を通知する通知手段を更に有する、
請求項１記載の記憶装置。
【請求項６】
当該記憶装置から発生されたファイルは前記ソースデバイスに記憶され、前記ソースデバイスにより行われる対応する動作は、前記ソースデバイスから直接に前記ファイルを削除することを含む、
請求項１記載の記憶装置。
【請求項７】
当該記憶装置及び前記ソースデバイスは、あるグループに属しており、前記グループは第三の装置を含み、
当該記憶装置から発生されたファイルは前記第三の装置に記憶され、前記ソースデバイスにより行われる対応する動作は、前記ファイルを削除することを前記第三の装置に通知することを含む、
請求項１記載の記憶装置。
【請求項８】
前記ソースデバイスから生じた当該記憶装置に記憶されるファイルを削除する削除手段を更に有する、
請求項１記載の記憶装置。
【請求項９】
前記ソースデバイスの所定の記憶スペースの可用性を検出するために前記ソースデバイスに問合せを送出する問合せ手段を更に有し、
当該記憶装置及び前記ソースデバイスは、あるグループに属しており、前記グループは第三の装置を含み、
前記伝達手段は、前記問合せに対応する応答検出結果を前記第三の装置に通知し、
前記ソーデバイスの所定の記憶スペースの可用性が否定的であることを前記応答の検出結果が示すとき、前記第三の装置は、前記ソースデバイスから発生されたファイルであって、前記ソースデバイスの外部に記憶されているファイルを削除するための対応する動作を行う、
請求項１記載の記憶装置。
【請求項１０】
データを記憶する方法であって、
所定の記憶スペースの可用性についてソースデバイスに確約をなすステップと、
前記所定の記憶スペースの可用性を検出して、検出結果を生成するステップと、
ソースデバイスに検出結果を通知するステップとを含み、
前記確約が違反されたことを前記検出結果が示すとき、前記ソースデバイスは、当該記憶装置から発生されたファイルであって、当該記憶装置の外部に記憶されているファイルを削除するための対応する動作を行う、
ことを特徴とする方法。
【請求項１１】
前記所定の記憶スペースの可用性は、前記所定の記憶スペースにアクセス可能なこと、前記所定の記憶スペースに記憶されているソースデバイスから生じたファイルに異常がないことを含む、
請求項１０記載の方法。
【請求項１２】
記憶されたデータ又は記憶されることとなるデータを送出又は受信するステップを更に含む、
請求項１０記載の方法。
【請求項１３】
前記ソースデバイスからの問合せを受けるステップを更に含み、
前記検出するステップは、前記所定の記憶スペースの可用性を検出して、前記問合せに応じた検出結果を生成するステップを含む、
請求項１０記載の方法。
【請求項１４】
前記ソースデバイスに通知する前に、当該記憶装置の所有者に前記検出結果を通知するステップを更に含む、
請求項１０記載の方法。
【請求項１５】
前記記憶装置から発生されたファイルは前記ソースデバイスに記憶され、前記ソースデバイスにより行われる対応する動作は、前記ソースデバイスから直接に前記ファイルを削除するステップを含む、
請求項１０記載の方法。
【請求項１６】
前記記憶装置及び前記ソースデバイスは、あるグループに属しており、前記グループは第三の装置を含み、
前記記憶装置から発生されたファイルは前記第三の装置に記憶され、前記ソースデバイスにより行われる対応する動作は、前記ファイルを削除することを、前記第三の装置に通知するステップを含む、
請求項１０記載の方法。
【請求項１７】
前記所定の記憶スペースで前記ソースデバイスから生じたファイルを記憶するステップを更に含む、
請求項１０記載の方法。
【請求項１８】
前記ソースデバイスから生じた当該記憶装置に記憶されるファイルを削除するステップを更に含む、
請求項１７記載の方法。
【請求項１９】
前記ソースデバイスの所定の記憶スペースの可用性を検出するために前記ソースデバイスに問合せを送出するステップを更に含み、
当該記憶装置及び前記ソースデバイスは、あるグループに属しており、前記グループは第三の装置を含み、
前記問合せに対応する応答検出結果を前記第三の装置に通知するステップを更に含み、
前記ソーデバイスの所定の記憶スペースの可用性が否定的であることを前記応答の検出結果が示すとき、前記第三の装置は、前記ソースデバイスから発生されたファイルであって、前記ソースデバイスの外部に記憶されているファイルを削除するための対応する動作を行う、
請求項１０記載の方法。
【請求項２０】
記憶装置にデータを記憶するためのコンピュータプログラムであって、
前記記憶装置の所定の記憶スペースの可用性についてソースデバイスに確約をするためのコードと、
前記所定の記憶スペースの可用性を検出し、検出結果を生成するためのコードと、
前記ソースデバイスに前記検出結果を通知するためのコードとを含み、
前記確約が違反されたことを前記検出結果が示すとき、前記ソースデバイスは、前記記憶装置から発生されたファイルであって、前記記憶装置の外部に記憶されているファイルを削除するための対応する動作を行う、
ことを特徴とするコンピュータプログラム。
【請求項２１】
第一のストレージデバイスと第二のストレージデバイスをグルーピングするグルーピング装置であって、
第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信する伝達手段と、
あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ登録する登録手段と、
第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成する検出手段とを有し、
前記伝達手段は、第二のストレージデバイスに検出結果を通知し、
第一のストレージデバイスの前記確約が違反されたことを前記検出結果が示すとき、前記第二のストレージデバイスは、前記第一のストレージデバイスから発生されたファイルであって、前記第一のストレージデバイスの外部に記憶されているファイルを削除するための対応する動作を行う、
ことを特徴とする装置。
【請求項２２】
前記所定の記憶スペースの可用性は、所定の記憶スペースにアクセス可能なこと、及び、あるメンバのストレージデバイスから生じたファイルであって、別のメンバのストレージデバイスの所定の記憶スペースに記憶されているファイルに異常がないことを含む、
請求項２１記載のグルーピング装置。
【請求項２３】
前記グループは、第三のストレージデバイスを含み、
当該記憶装置から発生されたファイルは前記第三の装置に記憶され、前記第二のストレージデバイスにより行われる対応する動作は、前記ファイルを削除することを、前記第三のストレージデバイスに通知することを含む、
請求項２１記載のグルーピング装置。
【請求項２４】
第一のストレージデバイスと第二のストレージデバイスをグルーピングする方法であって、
第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信するステップと、
あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ登録するステップと、
第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成するステップと、
第二のストレージデバイスに前記検出結果を通知するステップとを含み、
第一のストレージデバイスの前記確約が違反されたことを前記検出結果が示すとき、前記第二のストレージデバイスは、前記第一のストレージデバイスから発生されたファイルであって、前記第一のストレージデバイスの外部に記憶されているファイルを削除するための対応する動作を行う、
ことを特徴とする方法。
【請求項２５】
前記所定の記憶スペースの可用性は、所定の記憶スペースにアクセス可能なこと、及び、あるメンバのストレージデバイスから生じたファイルであって、別のメンバのストレージデバイスの所定の記憶スペースに記憶されているファイルに異常がないことを含む、
請求項２４記載の方法。
【請求項２６】
前記グループは、第三のストレージデバイスを含み、
前記記憶装置から発生されたファイルは前記第三の装置に記憶され、前記第二のストレージデバイスにより行われる対応する動作は、前記ファイルを削除することを、前記第三のストレージデバイスに通知することを含む、
請求項２４記載の方法。
【請求項２７】
第一のストレージデバイスと第二のストレージデバイスをグルーピングするコンピュータプログラムであって、
第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信するためのコードと、
あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ登録するためのコードと、
第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成するためのコードと、
第二のストレージデバイスに前記検出結果を通知するためのコードとを含み、
第一のストレージデバイスの前記確約が違反されたことを前記検出結果が示すとき、前記第二のストレージデバイスは、前記第一のストレージデバイスから発生されたファイルであって、前記第一のストレージデバイスの外部に記憶されているファイルを削除するための対応する動作を行う、
ことを特徴とするコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶技術全般に関し、より詳細には、複数の記憶装置のグループ化に関する。
【背景技術】
【０００２】
ＣＤ−ＲＯＭ、ＤＶＤ（Digital  Versatile  Disk）、磁気カセット、磁気テープ、磁気ディスクストレージ又は磁気ハードディスクドライブのような記憶媒体にデータを記憶することは、ユーザにとって一般的に行われている。しかし、かかる記憶装置に記憶されているデータは、火事、洪水、又は記憶媒体に悪影響を及ぼす他のイベントのために失われる可能性がある。したがって、同じ悲劇的なイベントによりオリジナルデータとバックアップコピーの両者の破壊を防止するため、オフサイトのロケーションでの記憶のためにデータのバックアップコピーを生成することが賢明なことがある。
【０００３】
現在、オフサイトのバックアップを達成する幾つかの方法が存在する。１つの例は、バックアップコピーを含む記憶媒体をバックアップサイトに物理的に転送することである。かかる転送は、更なる出費及びメディアの損傷の可能性につながる場合がある。さらに、この方法は、オフサイトのロケーションから記憶されたデータを検索する効率的なシステム及び方法を提供するものではない。
【０００４】
別の例は、サービスプロバイダがそのクライアントのファイルデータをアーカイブにするためにオンラインの中央集約されたサーバを提供することである。しかし、先のオンラインデータストレージシステムは、インターネットの公知のサイトに位置され、したがって、係るシステムに記憶されているデータにアクセス及び／又は変更するのを試みる悪意のある人物（すなわちハッカー）からのアタックに対して弱い。
【０００５】
オフサイトのバックアップの更に別の例は、一組の友人／同僚／親戚の中からグループを形成することであり、このグループ内で、それぞれのメンバは、他のストレージ装置でそのデータをアーカイブにする。このソリューションが非能率であるのは、共有リソースの記憶容量が制限されること、及びグループメンバ間の既存の信頼の要件が強いことである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、オフサイトのバックアップの上記方法の非能率さに対処するため、複数の記憶装置をグループ化する改善された装置／方法を提供することが必要とされる。
【０００７】
本発明の目的は、更に多くの共有リソースの信頼された記憶容量を記憶装置のグループに提供する改善された記憶装置／方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的は、データを記憶する記憶手段、所定の記憶スペースの可用性（availability）をソースデバイス（source  device）に確約する確約（committing）手段、所定の記憶スペースの可用性を検出し、検出結果を生成する検出手段、ソースデバイスに検出結果を通知する伝達手段を有する記憶装置で達成され、ソースデバイスは、検出結果に従って対応する動作を行う。
【０００９】
ソースデバイスにより行われる対応する動作は、記憶装置から発せられるソースデバイスに記憶されるファイルを削除することを含む。グループメンバによりグループになされたコミットメント（commitment）の違反により、グループメンバから生じたデータであって、他のメンバの記憶スペースに記憶されているデータを失う危険を負うというルールを設定することで、それぞれのメンバは、そのコミットメントによりグループに拘束される。
【００１０】
本発明の１実施の形態によれば、所定の記憶スペースの可用性は、所定の記憶スペースにアクセスしやすいこと（accessibility）、記憶装置の所定の記憶スペースに記憶されているソースデバイスから生じたファイルに異常がないこと（undisturbance）を含む。
【００１１】
本発明の別の実施の形態によれば、記憶装置は、ソースデバイスから生じた記憶装置に記憶されているファイルを削除する削除手段を更に有する。
【００１２】
本発明の更に別の実施の形態によれば、記憶装置は、ソースデバイスの所定の記憶スペースの可用性を検出するためにソースデバイスに問合せを送出する問合せ手段を更に有する。記憶装置及びソースデバイスは、あるグループに属しており、このグループは、第三の装置を含み、伝達手段は、第三の装置に、問合せに対応する応答の検出結果を通知する。これにより、第三の装置は、応答の検出結果に従って対応する動作を行う。
【００１３】
また、上記目的は、データを記憶する方法で達成される。本方法は、所定の記憶スペースの可用性をソースデバイスに確約するステップ、所定の記憶スペースの可用性を検出して、検出結果を生成するステップ、ソースデバイスに検出結果を通知するステップを含み、ソースデバイスは、検出結果に従って対応する動作を行う。
【００１４】
本発明の別の目的は、複数のストレージデバイスをグループ化するグループ化装置を提供するものであり、これにより、それぞれのストレージデバイスは、信頼される環境において同じグループに属する他のストレージデバイスにそのデータを記憶する。
【００１５】
上記目的は、第一のストレージデバイス及び第二のストレージデバイスをグループ化する装置において達成される。本装置は、第一のストレージデバイスからの所定の記憶スペースの可用性の  コミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信する伝達手段、あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ記録する記録手段、第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成する検出手段を有しており、伝達手段は、第二のストレージデバイスに検出結果を通知し、これにより、第二のストレージデバイスは、検出結果に従って対応する動作を行う。
【００１６】
また、上記目的は、第一のストレージデバイスと第二のストレージデバイスをグループ化する方法で達成され、本方法は、第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信するステップ、あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ記録するステップ、第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成するステップ、第二のストレージデバイスに検出結果を通知するステップを含み、これにより、第二のストレージデバイスは、検出結果に従って対応する動作を行う。
【００１７】
本発明の完全な理解による他の目的及び効果は、添付図面と共に、以下の説明及び特許請求の範囲を参照することで明らかにされるであろう。本発明は、添付図面を参照し、例を通して更に詳細に説明される。図面を通して、同じ参照符号は、類似又は対応する特徴又は機能を示す。
【発明を実施するための最良の形態】
【００１８】
図１は、本発明の１実施の形態に係る記憶装置のブロック図である。  
記憶装置１００は、記憶ユニット１１０、確約ユニット１２０、伝達ユニット１３０及び検出ユニット１４０を含む。記憶装置は、通知ユニット１５０、問合せユニット１６０及び削除ユニット１７０を更に含む。記憶装置１００は、パーソナルコンピュータのコンポーネントである。また、記憶装置は、たとえば移動電話又はパーソナルデジタルアシスタントといった家庭用電子機器のコンポーネントである。
【００１９】
記憶ユニット１１０は、ストアリングドライバ（図示せず）及び記憶媒体（図示せず）を含む。記憶媒体は、ハードディスクのような固定された媒体である。また、記憶媒体は、光ディスクのような取り外し可能な媒体である。記憶ユニット１１０は、記憶されるべきデータを記憶媒体に記憶し、また、記憶媒体から記憶されているデータを検索する。
【００２０】
確約ユニット１２０は、所定の記憶空間の可用性のソースデバイス（図示せず）へのコミットメント（確約）を行う。ソースデバイスは、別の記憶装置であり、また、複数の記憶装置をグループ化する役割を果たす中央集約されたサーバである。
【００２１】
コミットメントは、所定の記憶スペースにアクセスしやすいこと、記憶装置の所定の記憶スペースに記憶されるソースデバイスから生じたファイルに異常がないことを含む。たとえば、コミットメントは、他の記憶装置と共有する４ギガバイトの記憶容量であり、一日当たり少なくとも２時間のオンラインのアクセスが可能なことである。
【００２２】
伝達ユニット１３０は、有線／無線のインターネット通信装置である。また、伝達ユニット１３０は、記憶装置１００とソースデバイスとの間で通信チャネルを提供する他の装置とすることができる。かかる通信は、ピアツーピア通信である。かかる通信は、中央集約されたサーバを介することもできる。
【００２３】
伝達ユニット１３０は、コミットメントに関してソースデバイスと対話し、ソースデバイスが類似のコミットメントをなす場合、記憶装置及びソースデバイスは、グループを形成する。グループを形成した後、ソースデバイスは、記憶ユニット１１０にファイルを記憶する。
【００２４】
検出ユニット１４０は、所定の記憶スペースの可用性を検出して、検出結果を生成する。検出ユニット１４０は、ソースデバイスから生じた記憶ユニット１１０に記憶されているファイルの状態をチェックし、また、記憶装置１００のオンラインアクセスタイムをチェックする。検出結果は、ソースデバイスからのファイルがなおそこに存在すること、ファイルがディストリビュートされていないこと、及び／又はオンラインアクセスタイムが最小の要件を超えないこと、等を含む場合がある。
【００２５】
検出は、積極的又は受動的である。積極的なやり方は、検出ユニット１４０がその自身で周期的に所定の記憶スペースの可用性の調査を始動することである。受動的なやり方は、検出ユニット１４０がソースデバイスからの要求の受信に応じて所定の記憶スペースの可用性の調査を始動することである。
【００２６】
検出ユニット１４０は、他のストレージデバイスから生じた全てのファイルのリストを保持し、これにより、検出ユニットにとってファイルの検出を実行することは容易である。
【００２７】
通知ユニット１５０は、ユーザが不注意にコミットメントに違反した場合にソースデバイスに通知する前に、記憶装置の所有者に検出結果を通知する。
【００２８】
問合せユニット１６０は、ソースデバイスの所定の記憶スペースの可用性を検出するため、ソースデバイスに問合せを送出する。
【００２９】
記憶装置１００は、問合せに従ってソースデバイスから応答の検出結果を受信し、応答の検出結果がネガティブである場合、たとえば、記憶装置１００からのファイルがソースデバイスにこれ以上記憶されていない場合、削除ユニット１７０は、記憶ユニット１１０に記憶されているソースデバイスから生じたファイルを削除する。削除ユニット１７０は、ソースデバイスが不注意にコミットメントに違反した場合にそれを削除する前に、ある期間についてソースデバイスからのファイルへのアクセスが可能なことをブロックする。
【００３０】
記憶装置１００及びソースデバイスにより形成されるグループは、第三の装置を含む場合があり、伝達手段１３０は、第三の装置に問合せに対応する応答検出結果を通知し、これにより、第三の装置は、応答検出結果に従って対応する動作を行う。
【００３１】
また、検出ユニットは、ソースデバイスにより積極的に提供された検出結果に基づいて機能する。
【００３２】
また、本発明は、データを記憶するためのコンピュータプログラムが設けられる適切にプログラムされたコンピュータにより実現することもできる。データを記憶するコンピュータプログラムは、所定の記憶スペースの可用性をソースデバイスに与えるためのコード、所定の記憶スペースの可用性を検出して、検出結果を生成するコード、及び、ソースデバイスに検出結果を通知するコードを含む。ソースデバイスは、検出結果に従って対応する動作を行う。かかるコンピュータプログラムは、ストレージキャリアに記憶される場合がある。
【００３３】
これらプログラムコードの部分は、プロセッサで実行されるコードが先に規定された機能を実現する手段を形成するように、プロセッサにマシンを生成するためにプロセッサに提供される。
【００３４】
図２は、本発明の１実施の形態に係るピアツーピアのグループ分け処理を説明するフローチャートである。
【００３５】
グループは、第一のストレージデバイス、第二のストレージデバイス及び第三のストレージデバイスを含む。全ての３つのストレージデバイスは、図１に例示されるように記憶装置１００の機能を有する。３つのストレージデバイスの間の通信の方法は、ピアツーピアである。
【００３６】
３つのストレージデバイスは、互いに知る必要がない異なるユーザに属する。それぞれのストレージデバイスの幾何学的な位置は、それらが互いに通信することができる限りにおいて重要ではない。
【００３７】
最初に、３つのストレージデバイスは、グループを形成するために互いにコミットメントを行う（ステップ２１０）。このグループは、既に存在することもあり、それぞれのストレージデバイスは、新たなメンバとして参加することができる。
【００３８】
コミットメントは、第一のストレージデバイスにより第二のストレージデバイスに対して行われたコミットメントＡ（ステップ２１０ａ）、第一のストレージデバイスにより第三のストレージデバイスに対して行われたコミットメントＢ（ステップ２１０ｂ）、第二のストレージデバイスにより第一のストレージデバイスに対して行われたコミットメントＣ（ステップ２１０ｃ）、第二のストレージデバイスにより第三のストレージデバイスに対して行われたコミットメントＤ（ステップ２１０ｄ）、第三のストレージデバイスにより第二のストレージデバイスに対して行われたコミットメントＥ（ステップ２１０ｅ）、及び第三のストレージデバイスにより第一のストレージデバイスに対して行われたコミットメントＦ（ステップ２１０ｆ）を含む。
【００３９】
コミットメントは、それぞれのストレージデバイスの所定の記憶空間にアクセスしやすいこと、３つのストレージデバイスのうちの１つから発生された、３つのストレージデバイスのうちの別の１つの所定の記憶空間に記憶されるファイルに異常が無いこと、を含む。
【００４０】
コミットメントＡ〜Ｆは、それぞれのコミットメントが予め決定されたグループの記録のルールに到達する限り、同じであるか、又は互いに異なる。たとえば、記録のルールは、他のストレージデバイスと共有する３ギガバイトの記憶容量であって、１日当たり少なくとも１時間のオンラインのアクセスが可能なことであり、コミットメントＡは、他のストレージデバイスと共有する４ギガバイトの記憶容量であって、１日当たり少なくとも２時間のオンラインのアクセスが可能なことである。
【００４１】
第二に、グループを形成した後、グループメンバは、そのデータを他のメンバの記憶スペースに記憶する（ステップ２１２）。たとえば、第一のストレージデバイスは、ファイルＡを第二のストレージデバイスに記憶し、第一のストレージデバイスは、ファイルＢを第三のストレージデバイスに記憶し、第二のストレージデバイスは、ファイルＣを第一のストレージデバイスに記憶し、第二のストレージデバイスは、ファイルＤを第三のストレージデバイスに記憶し、第三のストレージデバイスは、ファイルＥを第二のストレージデバイスに記憶し、第三のストレージデバイスは、ファイルＦを第一のストレージデバイスに記憶する。
【００４２】
ファイルＡ〜Ｆは、それらが記憶される前にその所有者により暗号化される。
【００４３】
１つのメンバがそのコミットメントに違反した場合に、このグループにおける全ての他のメンバがそれらのファイルを取り戻すことを保証するため、１つのメンバにとって、他のメンバの記憶スペースに記憶されているファイルの冗長度を形成することは理解できる。１つのメンバは、そのファイルの冗長度を形成し、このファイル及び冗長度を幾つかの部分に分割し、それぞれの部分を異なるメンバのストレージデバイスに記憶する。
【００４４】
また、冗長度が良好に設計された場合、たとえ大規模グループの２以上のメンバがそれらのコミットメントに違反した場合でさえ、他のメンバは、冗長度の技術に従ってそれらのファイルを取り戻すことができる。
【００４５】
幾つかの部分が失われているときでさえデータが利用可能であることを保証するためにデータに冗長度を加える技術は、誤り訂正コードから知られており、データの可用性を保証するプロフェッショナルストレージシステム、いわゆるＲＡＩＤ（Redundant  Array  of  Inexpensive  Disks）システムも知られている。
【００４６】
第三に、第二のストレージデバイスは、問合せを第一のストレージデバイスに送出し、ファイルＣの状態をチェックする（ステップ２１４）。ファイルＣの状態は、第一のストレージデバイスが利用可能であるか、ファイルＣがなおそこに存在するか、ファイルＣに異常がないか等を含む。第一のストレージデバイスは、２４時間通して利用可能（たとえばオンライン接続される）ではない場合、問合せは、ライフサイクル（たとえば２４時間）を有する必要があり、ひとたび第一のストレージデバイスが利用可能になると、第一のストレージデバイスは問合せを受ける。
【００４７】
問合せに応じて、第一のストレージデバイスは、ファイルＣの状態を検出し、検出結果を生成する（ステップ２１６）。検出結果は、ファイルＣが第一のストレージデバイスに異常なく記憶されていることである。また、検出結果は、ファイルＣは削除され、第一のストレージデバイスにもはや記憶されていないことである。また、検出結果は、ファイルＣは、第一のストレージデバイスの所有者により変更される。
【００４８】
また、検出結果は、たとえば本日２．５時間といった、第一のストレージデバイスのアクセスが可能なことを含む。
【００４９】
第一のストレージデバイスは、第二のストレージデバイスに検出結果を通知する。第二のストレージデバイスに通知する前に、第一のストレージデバイスの所有者は、所有者が不注意にそのコミットメントに違反した場合に、検出結果が通知される場合がある。
【００５０】
代替的に、ステップ２１４なしに、第一のストレージデバイスは、自発的に周期的に、積極的に検出を実行し、検出結果を第二のストレージデバイスに報告する。
【００５１】
第四に、第二のストレージデバイスは、検出結果がコミットメントＡに違反するかを評価し、評価結果がＮｏである場合、全体のプロセスは終了する。
【００５２】
評価結果がＹｅｓである場合、第二のストレージデバイスは、たとえばファイルＡといった、第二のストレージデバイスに記憶されている第一のストレージデバイスから生じたファイルを削除する（ステップ２２２）。さらに、第二のストレージデバイスは、第三のストレージデバイスに検出結果を通知する（ステップ２２４）。
【００５３】
代替的に、第一のストレージデバイスが不注意にコミットメントＡに違反する場合、第二のストレージデバイスは、ファイルＡを物理的に削除する前に、ある期間についてファイルＡにアクセスが可能なことをブロックする場合があり、これにより、第一のストレージデバイスは、その期間の間に救済策を取る場合がある。
【００５４】
最後に、第三のストレージデバイスは、たとえばファイルＢといった、第三のストレージデバイスに記憶されている第一のストレージデバイスから生じたファイルを削除する。（ステップ２２６）。
【００５５】
グループが３を超えるメンバを有する場合、第二のストレージデバイスが、第四のストレージデバイス、第五のストレージデバイス等に検出結果を通知し、第四のストレージデバイス、第五のストレージデバイス等は、第一のストレージデバイスから生じたファイルを削除することが理解される。
【００５６】
また、このグループに於けるそれぞれのメンバが上述されたのと同じ機能を有ことが理解され、たとえば、第三のストレージデバイスは第二のストレージデバイスを検出するために問合せを始動し、第一のストレージデバイスは、第三のストレージデバイスを検出するために問合せを始動することが理解される。
【００５７】
図３は、本発明の別の実施の形態に係るグループ化装置のブロック図である。
【００５８】
グループ化装置３００は、少なくとも２つの記憶装置をメンバとして予め決定された記録ルールに従ってグループに編成するサーバの一部である。それぞれのメンバのオーナは、互いに知る必要はなく、それぞれのストレージデバイスの幾何学的位置は重要ではない。
【００５９】
グループ化装置３００は、伝達ユニット３１０、記録ユニット３２０及び検出ユニット３３０を含む。
【００６０】
伝達ユニット３１０は、他のストレージデバイスと共有するため、それぞれのストレージデバイスから所定の記憶スペースの可用性のコミットメントを受ける。
【００６１】
コミットメントは、それぞれのストレージデバイスの所定の記憶スペースへのアクセスしやすさ、及び、一方のメンバのストレージデバイスから生じた、別のメンバの所定の記憶スペースに記憶されるファイルに異常がないことを含む。
【００６２】
記録ユニット３２０は、それぞれのストレージデバイスからのコミットメント及び予め決定された記録ルールに従ってグループの１つのメンバとしてそれぞれのストレージデバイスを記録する。
【００６３】
記録の閾値のルールは、他のストレージデバイスと共有する３ギガバイトの記憶容量であって、一日当たり少なくとも１時間のオンラインのアクセスが可能なことであり、コミットメントは、他のストレージデバイスと共有する４ギガバイトの記憶容量であって、一日当たり少なくとも２時間のオンラインのアクセスが可能なことである。
【００６４】
検出ユニット３３０は、それぞれのメンバの所定の記憶スペースの可用性を検出して、検出結果を生成する。次いで、伝達ユニット３１０は、１つのメンバがそのコミットメントに違反した場合に、他のストレージ装置に検出結果を通知する。これにより、他のストレージデバイスは、検出結果に従って対応する動作を行い、たとえば、そのコミットメントに違反したメンバから生じたファイルを削除する。
【００６５】
検出は、積極的又は受動的である。積極的なやり方は、検出ユニット３３０がそれぞれのメンバに周期的に所定の記憶スペースの可用性の問合せを始動して、それぞれのメンバから応答の検出結果を取得することである。受動的なやり方は、それぞれのメンバが自発的にその振る舞いを調査し、グループ化装置３００に周期的に検出結果を報告することであり、グループ化装置３００の検出ユニット３３０は、それぞれのメンバにより報告される検出結果を収集する。
【００６６】
また、本発明は、第一のストレージデバイスと第二のストレージデバイスをグループ化するためのコンピュータプログラムが設けられた適切にプログラムされたコンピュータにより実現される。第一のストレージデバイスと第二のストレージデバイスをグループ化するためのコンピュータプログラムは、第一のストレージデバイスからの所定の記憶スペースの可用性のコミットメントと、第二のストレージデバイスからの別の所定の記憶スペースの可用性の別のコミットメントとを受信するためのコード、あるグループの１つのメンバとして第一のストレージデバイスと第二のストレージデバイスをそれぞれ登録するためのコード、第一のストレージデバイスの所定の記憶スペースの可用性を検出して、検出結果を生成するためのコード、第二のストレージデバイスに検出結果を通知するためのコードを含んでおり、第二のストレージデバイスは、検出結果に従って対応する動作を行う。かかるコンピュータプログラムは、ストレージキャリアに記憶される場合がある。
【００６７】
これらプログラムコードの部分は、プロセッサで実行されるコードが先に規定された機能を実現するための手段を形成するように、マシンを生成するためにプロセッサに設けられる場合がある。
【００６８】
図４は、本発明の別の実施の形態に係る中央集約されたグループ化処理を説明するフローチャートである。
【００６９】
このプロセスは、図２のプロセスに類似している。主な違いは、グループのメンバの記録を調整する中央集約されたサーバが存在し、このサーバは、メンバがそのコミットメントに違反するかを検出するために、それぞれのメンバの振る舞いをモニタすることである。
【００７０】
第一のストレージデバイス、第二のストレージデバイス及び第三のストレージデバイスのそれぞれは、そのコミットメントＡ，Ｄ，Ｆをサーバに送出し（ステップ４１０）、サーバは、予め決定されたルールに従って、第一、第二及び第三のストレージデバイスをグループの１つのメンバとしてそれぞれ登録する。また、このグループは、既に存在することがあり、ストレージデバイスは、新たなメンバとして参加する。
【００７１】
グループを形成／参加した後、それぞれのストレージデバイスは、他のメンバのストレージデバイスにそのファイルを記憶する（ステップ４１２）。
【００７２】
サーバは、第一のストレージデバイスに問合せを送出して、ファイルＣの状態をチェックし（ステップ４１４）、第一のストレージデバイスは、ファイルＣの状態を検出して、検出結果を生成し（ステップ４１６）、サーバに検出結果を通知する（ステップ４１８）。
【００７３】
検出結果がコミットメントＡに違反しない場合（ステップ４２０）、プロセスが終了される。
【００７４】
検出結果がコミットメントＡに違反する場合（ステップ４２０）、サーバは、他のメンバである第二のストレージデバイス及び第三のストレージデバイスに検出結果を通知し、他のメンバは、検出結果に従って対応する動作を行う。たとえば、ファイルＡが削除され（ステップ４２６）、ファイルＢが削除される（ステップ４２８）。
【００７５】
本発明は特定の実施の形態と共に記載されたが、多くの代替、変更及び変形は上述された記載に照らして当業者にとって明らかである。したがって、全ての係る代替、変更及び変形は、特許請求の範囲の精神及び範囲に包含されることが意図される。
【図面の簡単な説明】
【００７６】
【図１】本発明の１実施の形態に係る記憶装置のブロック図である。
【図２Ｉ】本発明の１実施の形態に係るピアツーピアプループ化処理を説明するフローチャートである。
【図２ＩＩ】本発明の１実施の形態に係るピアツーピアプループ化処理を説明するフローチャートである。
【図３】本発明の別の実施の形態に係るグループ化装置のブロック図である。
【図４Ｉ】本発明の別の実施の形態に係る中央集約されたグループ化処理を説明するフローチャートである。
【図４ＩＩ】本発明の別の実施の形態に係る中央集約されたグループ化処理を説明するフローチャートである。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2009510586.tif 000009
【国際調査報告】
2009510586.tif 000010
2009510586.tif 000011