JP3824317B2 - サーバ、コンピュータ装置、データ処理方法及びプログラム - Google Patents

サーバ、コンピュータ装置、データ処理方法及びプログラム Download PDF

Info

Publication number
JP3824317B2
JP3824317B2 JP2003179042A JP2003179042A JP3824317B2 JP 3824317 B2 JP3824317 B2 JP 3824317B2 JP 2003179042 A JP2003179042 A JP 2003179042A JP 2003179042 A JP2003179042 A JP 2003179042A JP 3824317 B2 JP3824317 B2 JP 3824317B2
Authority
JP
Japan
Prior art keywords
data
write
client
divided
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003179042A
Other languages
English (en)
Other versions
JP2005018197A (ja
Inventor
誠士 小林
俊幸 佐貫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2003179042A priority Critical patent/JP3824317B2/ja
Priority to US10/872,059 priority patent/US7257674B2/en
Publication of JP2005018197A publication Critical patent/JP2005018197A/ja
Application granted granted Critical
Publication of JP3824317B2 publication Critical patent/JP3824317B2/ja
Priority to US11/752,802 priority patent/US20070220206A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • H04N21/2182Source of audio or video content, e.g. local disk arrays comprising local storage units involving memory arrays, e.g. RAID disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク上に設けられたコンピュータ・リソースを複数の利用者が共有する技術に関し、特に記憶装置が共有される場合のデータの保護に関する。
【0002】
【従来の技術】
今日、広く普及したインターネット等のネットワークを利用し、ネットワーク上に設けられたコンピュータ・リソース(サーバ、記憶装置、回線、アプリケーション等)を貸与するホスティングサービスや、コンピュータ・リソースを必要なときに必要な分だけ購入可能なユーティリティ・コンピューティングといったサービスが提供され始めている(例えば、特許文献1、非特許文献1参照)。これらのサービスは、利用者から見れば、コンピュータ・リソースを維持していくための経済的・人的に負担を削減することができ、例えば企業にとっても、アウトソーシング的な利用によって自社における負担や無駄を軽減できるため、意義が大きい。
【0003】
このようなホスティング/ユーティリティ・コンピューティングサービスの一つとして、記憶装置のデータ記憶領域を利用者に提供するサービスがある。このサービスでは、当該記憶装置に記録される情報の信頼性(障害・故障対策)および安全性(他社への情報漏洩対策)に対する保障が重要である。障害等に対する対策としては、RAID(Redundant Arrays of Independent Disks)をはじめ、記録情報に冗長性をもたせて記録する技術が存在する。
【0004】
一方、データの漏洩を防止する既存の仕組みとしては、記録データの暗号化やアクセス制御(認証)などがある。さらに、より安全性の高い方法として、利用者ごとに情報を書き込む記録媒体を物理的に分離する方法、例えば、記憶装置が磁気ディスク装置である場合は利用者ごとに異なる磁気ディスクに情報を記録する方法が採られる。
図10は、複数の企業に対して物理的に別個の磁気ディスクを割り当てたホスティングサーバを示す図である。
図10に示すように、ホスティングサーバは複数の磁気ディスク装置にて構成されるディスクプールを持つ。そして、企業Aの情報Aaは企業A用の磁気ディスクに、企業Bの情報Baは企業B用の磁気ディスクにというように、それぞれ別個の磁気ディスクに記録される。なお図において、例えば企業Aの情報Aaは、Aa1、Aa2、Aa3、Aa4という4つのデータに分割されると共に、パリティデータを付加されて5つの磁気ディスクに分けて記録されている。
【0005】
【特許文献1】
特開平8−147205号公報
【非特許文献1】
“NEWS RELEASE”、[online]、平成12年11月6日、日立株式会社、[平成15年5月12日検索]、インターネット<URL:http://www.hitachi.co.jp/New/cnews/0011/1106a.html>
【0006】
【発明が解決しようとする課題】
上述のように、従来のホスティングサーバでは、記録データの安全性を保障する種々の手法が採られているが、複数利用者による記録媒体の共有を許してアクセス制御による保守のみを行っている場合、そのアクセス制御が破られてしまうと、当該記録媒体を共有する利用者の全ての情報にアクセスすることができてしまうことになる。
【0007】
また、利用者ごとにデータを記録する記録媒体を物理的に分ける場合、個々の記録媒体を複数の利用者が共有できない。すなわち、所定の利用者に割り当てられた記録媒体は、たとえ大きな空き領域が残っていても、その利用者の情報を記録するためにしか使用できない。そのため、当該記録媒体の利用効率を低下させてしまう。
【0008】
そこで本発明は、上記の問題に鑑み、記録媒体を複数の利用者に共有させつつ記録データの安全性を保証し、記録媒体の利用効率を向上させることを目的とする。
【0009】
【課題を解決するための手段】
上記の目的を達成する本発明は、次のように構成されたサーバとして実現することができる。すなわち、ネットワークを介してコンピュータ・リソースである記憶装置の記憶領域をクライアントに提供するサーバにおいて、複数の記憶装置を備えて構成される記憶装置群と、クライアントからの書き込み要求に応じて、この書き込み要求に含まれる書き込みデータを分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、各クライアントの書き込みデータを格納した複数の記憶装置の一部が相互に重複するようにデータ書き込みを行うデータ処理部とを備えることを特徴とする。
【0010】
また、本発明は、次のように構成されたコンピュータ装置としても実現される。すなわち、このコンピュータ装置は、複数の記憶装置を備えて構成される記憶装置群と、この記憶装置に対してデータの読み書きを行うデータ処理部とを備える。そしてこのデータ処理部は、記憶装置にデータの書き込み処理を行う場合に、個々のデータファイルを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、所定のデータファイルの分割データを格納した記憶装置の一部と他のデータファイルの分割データを格納した記憶装置の一部とが重複するようにデータ書き込みを行うことを特徴とする。
【0011】
さらに、本発明は、複数の磁気ディスク装置にて構成されるディスクアレイと、このディスクアレイに対してデータの読み書きを行うデータ処理部とを備えたコンピュータ装置としても実現される。このコンピュータ装置において、ディスクアレイは、個々のデータファイルを分割して分割後のデータを結合することで元の情報を得られるように処理された複数の分割データを、所定のデータファイルを格納した磁気ディスク装置の一部と他のデータファイルを格納した磁気ディスク装置の一部とが重複するように、格納したことを特徴とする。
【0012】
また、上記の目的を達成する他の本発明は、コンピュータにより、複数の記憶装置にて構成される記憶装置群に対して、ネットワークを介して所定のクライアントから受信したデータの書き込みを行う、次のようなデータ処理方法として実現される。このデータ処理方法は、クライアントから受信した書き込み要求に応じて、この書き込み要求に含まれる書き込みデータを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理する第1のステップと、各クライアントの書き込みデータを格納した複数の記憶装置の一部が相互に重複するように、分割データを記憶装置群に格納する第2のステップとを含むことを特徴とする。
【0013】
さらにまた、上述した本発明によるサーバ、コンピュータ装置、およびデータ処理方法において、書き込みデータ(データファイル)を分割する場合、分割後のデータの一部を喪失しても元のデータファイルを復元可能とするための冗長性を持たせて分割することができる。この場合、他の書き込みデータ(データファイル)を格納した記憶装置(磁気ディスク装置)と重複する記憶装置の数が元のデータファイルを復元できない数となるように、データ書き込みを行う。
【0014】
また、より好ましくは、書き込みデータ(データファイル)を分割する場合、その分割数や分割後のデータのサイズ(データ長、ブロック長)を書き込み要求を行ったクライアントやデータファイル、もしくは分割後のデータごとに変更する。さらに、分割後のデータを暗号化またはスクランブル処理してデータ書き込みを行う。このようにすることで、所定のデータファイルにアクセス可能な利用者がアクセスを許可されていない他のデータファイルの情報を取得することを一層確実に防止し、記憶装置に格納されているデータファイルの安全性をさらに高めることができる。
【0015】
さらにまた、本発明は、コンピュータを制御して上述した各種の機能を実現するプログラムや、上記のデータ処理方法における各ステップに相当する処理をコンピュータに実行させるプログラムとして実現することができる。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【0016】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図1は、本実施の形態に用いられるホスティングサーバを実現するコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図1に示すコンピュータ装置は、演算手段であるCPU(Central Processing Unit:中央処理装置)101と、M/B(マザーボード)チップセット102及びCPUバスを介してCPU101に接続されたメインメモリ103と、同じくM/Bチップセット102及びAGP(Accelerated Graphics Port)を介してCPU101に接続されたビデオカード104と、PCI(Peripheral Component Interconnect)バスを介してM/Bチップセット102に接続された磁気ディスク装置(HDD)105、ネットワークインターフェイス106と、さらにこのPCIバスからブリッジ回路107及びISA(Industry Standard Architecture)バスなどの低速なバスを介してM/Bチップセット102に接続されたフロッピーディスクドライブ108及びキーボード/マウス109とを備える。
【0017】
なお、図1は本実施の形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード104を設ける代わりに、ビデオメモリのみを搭載し、CPU101にてイメージデータを処理する構成としても良いし、外部記憶装置として、ATA(AT Attachment)やSCSI(Small Computer System Interface)などのインターフェイスを介してCD−R(Compact Disc Recordable)やDVD−RAM(Digital Versatile Disc Random Access Memory)のドライブを設けても良い。
また、本実施の形態では、利用者の情報を格納する記憶装置として磁気ディスク装置105を用いるものとする。したがって、磁気ディスク装置105は、複数用意されてディスクアレイを構成する。
【0018】
図2は、図1に示すようなコンピュータ装置にて実現される本実施の形態によるホスティングサーバの機能構成を示す図である。
図2を参照すると、本実施の形態のホスティングサーバは、複数のディスク(図1の磁気ディスク装置105に相当)にて構成されるディスクアレイ40を備えると共に、クライアント(サービスの利用者)に対して要求や応答の送受信を行うI/O(インプット/アウトプット)制御部10と、各種のデータやディスクに関する情報を管理するデータ/ディスク管理部20と、ディスクに対するデータの読み書きを行うデータ処理部30とを備える。
【0019】
図2に示した構成要素のうち、I/O制御部10及びデータ処理部30は、例えば図1のプログラム制御されたCPU101にて実現されるソフトウェアブロックである。また、データ/ディスク管理部20は、プログラム制御されたCPU101とメインメモリ103や磁気ディスク装置105、CPU101に設けられたキャッシュメモリといった記憶手段とで実現される。CPU101を制御してこれらの機能を実現するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【0020】
I/O制御部10は、例えば図1のネットワークインターフェイス106を介して、クライアントからデータの書き込みまたは読み出しの要求を受け付け、データ/ディスク管理部20及びデータ処理部30に対して指示を行う。そして、データ処理部30から書き込み処理の完了通知や読み出しデータを受け取り、先の要求に対する応答として、ネットワークインターフェイス106を介してクライアントに返送する。データの書き込み処理および読み出し処理における具体的な動作については後述する。
【0021】
データ/ディスク管理部20は、図2に示すように、キャッシュ・プロセッサ21と、ディスクアレイ論理モデル管理部22と、データ分割数/符号化ポリシー生成部23とを備える。
キャッシュ・プロセッサ21は、I/O制御部10からの指示に応じてデータ処理部30での処理に必要な情報を収集してデータ処理部に渡す。また、所定の処理において取得したこれらの情報を、CPU101のキャッシュメモリやメインメモリ103にキャッシュする。キャッシュ・プロセッサ21を設けることにより、同一のクライアントがデータの書き込み/読み出しを行う場合に、処理の高速化を図ることができる。
【0022】
ディスクアレイ論理モデル管理部22は、ディスクアレイ40を構成する全てのディスクにおけるどの位置に、各クライアントのデータが記録されているかを管理するための論理モデル(ディスクアレイ論理モデル)を作成し管理する。作成されたディスクアレイ論理モデルは、メインメモリ103や磁気ディスク装置105の所定の領域に格納して保持される。
【0023】
データ分割数/符号化ポリシー生成部23は、データの書き込み時にデータをいくつに分割するかを示すデータ分割数と、当該データを符号化するための符号化方式(符号化の関数やパラメータを含む)を示す符号化ポリシーをクライアントごとに定義する。ここで、データ分割数とは、書き込みデータをディスクアレイ40における複数台のディスクに分散して書き込むために分割する数である。例えば、書き込みデータを4つに分割し、パリティデータを付加して5つのディスクに分散して書き込むといった制御を行う。生成されたデータ分割数および符号化ポリシーは、メインメモリ103や磁気ディスク装置105の所定の領域に格納して保持される。
【0024】
データ処理部30は、図2に示すように、データ書き込みのための処理を行う書き込み処理部31と、データ読み出しのための処理を行う読み出し処理部32とを備える。
書き込み処理部31は、データ/ディスク管理部20からディスク位置、データ分割数および符号化ポリシーを取得し、これらの情報に基づいて、I/O制御部10から受け取った書き込みデータを分割し、符号化してディスクアレイ40の所望のディスクに書き込む。
読み出し処理部32は、データ/ディスク管理部20からディスク位置、データ分割数および符号化ポリシーを取得し、これらの情報に基づいて、ディスクアレイ40から所望のデータを読み出し、読み出しデータを結合し、復号してI/O制御部10に渡す。
【0025】
ディスクアレイ40は、上述したように複数台のディスクにて構成される。そして、上述のように、クライアントのデータが複数のディスクに分けて記録される。この際、分割して記録されるデータは、それらの全てまたは一部を収集することで元のデータに復元できるものとする。
図3、4は、データを複数ブロックに分けて複数ディスクに分散して書き込む方法として、RAID5を用いた場合の例を説明する図である。
RAID5では、図3に示すように、データをブロック単位に分割し複数のディスクに分散させて記録し、そのパリティデータを別のディスクに記録しておく。この場合、仮に1台のディスクが故障した場合、図4(A)に示すように、残りのディスク上にあるブロック単位の分割データから元のデータを復元することが可能である。一方、2台以上のディスクにアクセスできない場合、図4(B)に示すように、元データを正しく復元することはできない。
【0026】
ここで、本実施の形態によるディスクアレイ40へのデータの書き込み方法について詳細に説明する。
上述したディスクアレイ40にデータを書き込む際の分割及び符号化を一般化して、kビットの情報を符号長n、訂正能力tで符号化し、n台のディスクに分散してデータを書き込むとする。すなわち、ディスクアレイ40に書き込まれたデータは、n台のディスクのうちt台のディスクから分割データを読み出せない場合でも、残りn−tビットの分割データから元データを復元できるような冗長性を持つ。この場合、本実施の形態では、所定のクライアントのデータが書き込まれているn台のディスクのうち、他のクライアントにより共有される台数が、n−(t+1)台になるように、書き込み先のディスク位置の制御が行われる。
【0027】
このようにすれば、仮に、他のクライアントが共有されたディスクから当該他のクライアントのデータを取り出し、n−(t+1)ビットのデータを取得できたとしても、訂正能力がtビットであるため、正しく元のデータを再合成することはできない。もちろん、1台のディスクに記録する情報量は、1ビット以上で構わない。このような訂正能力をもつ符号化手法として、例えば巡回符号、BCH符号、RS符号を応用することが可能である。
【0028】
図3、4に示したようにRAID5を用いてデータを記録する場合には、上述したように、アクセスできないディスクが2台以上あれば、元データを正しく復元することができなくなる。そこで、各クライアントのデータを書き込む際に、データ書き込みの重ならないディスクを2台以上とする。
図5は、本実施の形態によるディスクアレイ40へのデータの書き込み方法を説明する図である。
図5において、ディスクアレイ40を構成するm台のディスク(41a〜41m)のうち、ディスク41a〜41eは、クライアントAの情報(Aa及びAb)記録用に割り当てられている。また、2つ右へずれたディスク41c〜41gは、クライアントBの情報(Ba)記録用に割り当てられている。同様に、ディスク41e〜41iはクライアントCの情報(Ca)記録用に、ディスク41m−2〜41mとディスク41a、41bとはクライアントNの情報(Na)記録用に割り当てられている。
【0029】
例えば、クライアントAから送られた書き込みデータを書き込む場合、当該書き込みデータは、データ処理部30の書き込み処理部31により4つに分割され(Aa1〜Aa4、Ab1〜Ab4)、パリティデータ(Aap、Abp)を付加されて、5つのディスク41a〜41eに書き込まれる。なお、分割された各データ及びパリティデータを割り当てられたディスクにおけるどのディスクに格納するかについては、任意に定めることができる。図5の例では、クライアントAの情報Aaに付加されたパリティデータAapはディスク41eに書き込まれているが、情報Abに付加されたパリティデータAbpはディスク41dに書き込まれている。
【0030】
以上のように各クライアントのデータの書き込みを行えば、仮に所定のクライアントがアクセス制御を破るなどして他のクライアントの書き込んだ分割データにアクセスできたとしても、当該他のクライアントの元データを正しく復元することはできない。
【0031】
ところで、情報を分散して複数台のディスクに書き込む場合、例えば、上記の(n,k,t)符号を用いてn個のディスクに1ビットずつの情報を記述していたとすると、(n,k,t)符号化手法が既知である場合には、O(2t+1)の計算量で全検索することで元データを復元することができてしまう。このような不正な読み出しを回避する対策として、分散してデータを書き込む手法をクライアントごとに変更したり、ディスク利用効率を下げ、複数クライアント間で共有できるディスクの個数を減らしたりすることができる。データ書き込み手法の変更方法としては、クライアントごとにデータの分割数を変更する、分割データを暗号化・スクランブル処理する、クライアントごとあるいは各分割データのブロック長(データサイズ)を変更するといった方法や、他の種々の方法を採ることができる。
【0032】
次に、本実施の形態のホスティングサーバにおけるデータ処理の動作について説明する。
図6は、本実施の形態のホスティングサーバによるデータ書き込み処理の動作を説明するフローチャート、図7は、データ書き込み時のデータの流れを示す図である。
ホスティングサーバに所定のクライアントからデータの書き込み要求が届くと、I/O制御部10により、当該書き込み要求からクライアントを特定するクライアント情報と書き込みデータのファイル名とが抽出されてデータ/ディスク管理部20に送られる。また、当該書き込み要求に含まれる書き込みデータがデータ処理部30に送られる(ステップ601)。
【0033】
データ/ディスク管理部20では、クライアント情報およびファイル名を受け取ると、キャッシュ・プロセッサ21において、これらの情報に基づいて特定される、当該クライアントのディスク位置、データ分割数および符号化ポリシーの各情報が取得される(ステップ602)。具体的には、まずキャッシュ・プロセッサ21自身にこれらの情報がキャッシュされているか調べる。キャッシュされていなければ、ディスクアレイ論理モデル管理部22およびデータ分割数/符号化ポリシー生成部23に、これらの情報の問い合わせを行う(図7参照)。
【0034】
ディスクアレイ論理モデルに当該クライアントのディスク位置の情報がある場合、ディスクアレイ論理モデル管理部22は、その情報をキャッシュ・プロセッサ21に渡す。一方、ディスクアレイ論理モデルに所望の情報がない場合は、ディスクアレイ論理モデル管理部22は、新たにディスク位置を定義し、ディスクアレイ論理モデルに追加すると共に、キャッシュ・プロセッサ21に渡す。
また、データ分割数/符号化ポリシー生成部23に当該クライアントのデータ書き込み用のデータ分割数および符号化ポリシーが保持されている場合、データ分割数/符号化ポリシー生成部23は、その情報をキャッシュ・プロセッサ21に渡す。一方、所望のデータ分割数および符号化ポリシーが保持されていない場合は、データ分割数/符号化ポリシー生成部23が新たにデータ分割数および符号化ポリシーを定義し保持すると共に、キャッシュ・プロセッサ21に渡す。
【0035】
キャッシュ・プロセッサ21は、キャッシュデータ、またはディスクアレイ論理モデル管理部22およびデータ分割数/符号化ポリシー生成部23から、書き込み要求に対応する所望のディスク位置、データ分割数および符号化ポリシーの情報を取得すると、これらの情報をデータ処理部30に送る(図7参照)。なお、これらの情報がディスクアレイ論理モデル管理部22およびデータ分割数/符号化ポリシー生成部23から取得された場合、キャッシュ・プロセッサ21は、取得した情報を新たにキャッシュする。キャッシュ・プロセッサ21のキャッシュ容量がいっぱいの時は、ヒットしていないキャッシュデータを最も古いものから順に削除して空き容量を確保し、取得情報をキャッシュする。
【0036】
以上のようにして、ディスク位置、データ分割数および符号化ポリシーの情報が得られると、次に、データ処理部30の書き込み処理部31により、これらの情報を用いて書き込みデータの分割および符号化が行われ(ステップ603)、ディスクアレイ40への書き込みが行われる(ステップ604)。そして、データの書き込みが終了した後、書き込み処理部31から書き込み完了通知が発行され、I/O制御部10を介して、当該書き込み要求を行ったクライアントに返送される(ステップ605)。
【0037】
図8は、本実施の形態のホスティングサーバによるデータ読み出し処理の動作を説明するフローチャート、図9は、データ読み出し時のデータの流れを示す図である。
ホスティングサーバに所定のクライアントからデータの読み出し要求が届くと、I/O制御部10により、当該読み出し要求からクライアントを特定するクライアント情報と読み出しデータのファイル名とが抽出されてデータ/ディスク管理部20に送られる(ステップ801)。
【0038】
データ/ディスク管理部20では、クライアント情報およびファイル名を受け取ると、キャッシュ・プロセッサ21において、これらの情報に基づいて特定される、当該クライアントのディスク位置、データ分割数および符号化ポリシーの各情報が取得される(ステップ802)。これらの情報を取得する具体的な動作は、データ書き込み処理において説明した動作と同様である(図9参照)。
【0039】
以上のようにして、ディスク位置、データ分割数および符号化ポリシーの情報が得られると、次に、データ処理部30の読み出し処理部32により、これらの情報を用いてディスクアレイ40からデータの読み出しが行われ(ステップ803)、読み出しデータの結合及び復号が行われる(ステップ804)。そして、復元された読み出しデータが読み出し処理部32からI/O制御部10へ送られ、当該読み出し要求を行ったクライアントに返送される(ステップ805)。
【0040】
上述した本実施の形態のホスティングサーバは、ネットワーク上で所定のクライアントに対してコンピュータ・リソースを提供するが、そのサービス形態としては、従来のホスティングサーバによる種々のサービスに適用可能であることは言うまでもない。具体的には、例えばオンデマンド・ディスク提供サービスに適用することができる。
多くの企業にとって、自社内にコンピュータのハードウェア資源等のIT資産を抱えて管理を行っていくことは、経済的・人的に大きな負担となる。そのため、かかる資産管理に関して、他社にアウトソーシングやホスティングを依頼することが行われる。そこで、そのような企業に対し、必要に応じてデータの格納場所としてディスクの記憶領域を提供するオンデマンド・ディスク提供サービスに、本実施の形態によるホスティングサーバを利用することができる。
【0041】
この場合、ディスクを複数企業に提供する際、巨大なディスクのプール(ディスクアレイ40)を持ち、各企業からの要求に応じて、企業毎にアクセス可能なディスク群を指定する。その企業の1つのデータファイルは指定されたディスク群に分散して書き込まれ、それらを再統合することで元のデータファイルを復元可能とする。1社に割り当てられたディスク群の一部は他企業と共有されるが、共有するディスクの個数は制限される。これにより、所定の企業が、自社に割り当てられたディスクにアクセスすることで、他企業の分散させて記述されたデータファイルの一部にアクセスすることができたとしても、当該データファイルの情報を完全に再合成することはできない。一方、ホスティングサーバにとっては、ディスクプール中の個々のディスクを複数企業に共有させるため、個々の企業に対して個別のディスクを割り当てる場合に比べて、より多くの企業に対してディスクの記憶領域を提供することができ、サービス稼働率を上げることが可能となる。
【0042】
また、本実施の形態によるホスティングサーバの他の適用例としては、データ一時退避サービスが挙げられる。
企業内のデータの整理やシステム変更/管理・統廃合を行う場合、一時的にデータを退避またはバックアップする必要がある。この場合、データ損失に対する安全性の確保や社内のコンピュータシステムにおけるリソース(ディスクの記憶容量)の不足などの理由より、社内データを一時的に外部のデータセンターのような巨大なディスクプールに退避しておくことが考えられる。複数の企業がこのようなサービスを利用する場合、本実施の形態によるホスティングサーバを用いることにより、データセンター内で各企業の情報が他企業に漏洩することを防ぐことができる。
【0043】
本実施の形態によるホスティングサーバでは、同一のディスクが複数の企業に対し物理的に共有されることになるが、ある企業のアクセスできるディスク上に書かれた他企業の分割データを読み出すことができたとしても、当該分割データから元データを復元することはできず、情報が漏洩してしまうことはない。そのため、一時的に預かる情報の安全性を保ちながら、複数企業間でディスクを共有することを許し、データセンターにおけるリソースの利用効率を向上させることが可能となる。
【0044】
以上、本実施の形態では、ホスティングサーバの記憶装置が複数の磁気ディスク装置にて構成されたディスクアレイである場合を例として説明したが、磁気ディスク以外の種々の記録媒体を用いた記憶装置に関しても、複数のそのような記憶装置にて構成される記憶装置群を備えたサーバまたはコンピュータ装置において、本実施の形態を適用することが可能である。また、格納対象となるデータに関しても、クライアントからの書き込み要求に基づく書き込みデータのみならず、データファイルごとにアクセス可能な利用者を制御する必要のある複数のデータファイルを格納する場合に、本実施の形態を適用することができる。すなわち、各データファイルを複数の記憶装置に分散して格納すると共に、個々のデータファイルを格納した記憶装置の一部が重複するように格納することにより、確実なアクセス制御を実現し、格納されたデータファイルに対する高い安全性を保証することができる。
【0045】
【発明の効果】
以上説明したように、本発明によれば、記録媒体を複数の利用者に共有させつつ記録データの安全性を保証し、記録媒体の利用効率を向上させることが可能となる。
【図面の簡単な説明】
【図1】 本実施の形態に用いられるホスティングサーバを実現するコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図2】 図1に示すようなコンピュータ装置にて実現される本実施の形態によるホスティングサーバの機能構成を示す図である。
【図3】 RAID5を用いてデータを複数ブロックに分けて複数ディスクに分散して書き込む方法を示す図である。
【図4】 RAID5を用いてデータを書き込んだ場合における元データの復元の可否を説明する図である。
【図5】 本実施の形態によるディスクアレイへのデータの書き込み方法を説明する図である。
【図6】 本実施の形態のホスティングサーバによるデータ書き込み処理の動作を説明するフローチャートである。
【図7】 データ書き込み時のデータの流れを示す図である。
【図8】 本実施の形態のホスティングサーバによるデータ読み出し処理の動作を説明するフローチャートである。
【図9】 データ読み出し時のデータの流れを示す図である。
【図10】 複数の企業に対して物理的に別個の磁気ディスクを割り当てたホスティングサーバを示す図である。
【符号の説明】
10…I/O(インプット/アウトプット)制御部、20…データ/ディスク管理部、21…キャッシュ・プロセッサ、22…ディスクアレイ論理モデル管理部、23…データ分割数/符号化ポリシー生成部、30…データ処理部、31…書き込み処理部、32…読み出し処理部、40…ディスクアレイ、101…CPU、103…メインメモリ、105…磁気ディスク装置(HDD)、106…ネットワークインターフェイス

Claims (18)

  1. ネットワークを介してコンピュータ・リソースである記憶装置の記憶領域をクライアントに提供するサーバにおいて、
    複数の記憶装置を備えて構成される記憶装置群と、
    前記クライアントからの書き込み要求に応じて、当該書き込み要求に含まれる書き込みデータを分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、各クライアントの書き込みデータを格納した複数の記憶装置の一部が相互に重複するようにデータ書き込みを行うデータ処理部と
    を備えることを特徴とするサーバ。
  2. 前記データ処理部は、所定のクライアントの書き込みデータに関して、当該書き込みデータの一部を喪失しても元の書き込みデータを復元可能とするための冗長性を持たせて分割し、かつ他のクライアントの書き込みデータを格納した記憶装置と重複する記憶装置の数が当該所定のクライアントの書き込みデータを復元できない数となるように、データ書き込みを行うことを特徴とする請求項1に記載のサーバ。
  3. 前記データ処理部は、前記クライアントごとに書き込みデータの分割手法を変更することを特徴とする請求項1に記載のサーバ。
  4. 複数の記憶装置を備えて構成される記憶装置群と、
    前記記憶装置に対してデータの読み書きを行うデータ処理部とを備え、
    前記データ処理部は、前記記憶装置にデータの書き込み処理を行う場合に、個々のデータファイルを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理すると共に、所定のデータファイルの分割データを格納した記憶装置の一部と他のデータファイルの分割データを格納した記憶装置の一部とが重複するようにデータ書き込みを行うことを特徴とするコンピュータ装置。
  5. 前記データ処理部は、所定のデータファイルに関して、当該データファイルの一部を喪失しても元のデータファイルを復元可能とするための冗長性を持たせて分割し、かつ他のデータファイルを格納した記憶装置と重複する記憶装置の数が当該所定のデータファイルを復元できない数となるように、データ書き込みを行うことを特徴とする請求項4に記載のコンピュータ装置。
  6. 前記データ処理部は、前記データファイルの分割数を前記データファイルごとに変更することを特徴とする請求項4に記載のコンピュータ装置。
  7. 前記データ処理部は、前記データファイルを分割して得られる分割データを暗号化またはスクランブル処理してデータ書き込みを行うことを特徴とする請求項4に記載のコンピュータ装置。
  8. 前記データ処理部は、分割データのサイズを前記データファイルごとあるいは分割データごとに変更することを特徴とする請求項4に記載のコンピュータ装置。
  9. 複数の磁気ディスク装置にて構成されるディスクアレイと、
    前記ディスクアレイに対してデータの読み書きを行うデータ処理部とを備え、
    前記ディスクアレイは、個々のデータファイルを分割して分割後のデータを結合することで元の情報を得られるように処理された複数の分割データを、所定のデータファイルを格納した磁気ディスク装置の一部と他のデータファイルを格納した磁気ディスク装置の一部とが重複するように、格納したことを特徴とするコンピュータ装置。
  10. 前記ディスクアレイは、所定のデータファイルに関して、当該データファイルの一部を喪失しても元のデータファイルを復元可能とするための冗長性を持たせた前記分割データを、他のデータファイルを格納した記憶装置と重複する磁気ディスク装置の数が当該所定のデータファイルを復元できない数となるように、格納したことを特徴とする請求項9に記載のコンピュータ装置。
  11. コンピュータにより、複数の記憶装置にて構成される記憶装置群に対して、ネットワークを介して所定のクライアントから受信したデータの書き込みを行うデータ処理方法であって、
    前記クライアントから受信した書き込み要求に応じて、当該書き込み要求に含まれる書き込みデータを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理する第1のステップと、
    各クライアントの前記書き込みデータを格納した複数の記憶装置の一部が相互に重複するように、前記分割データを前記記憶装置群に格納する第2のステップと
    を含むことを特徴とするデータ処理方法。
  12. 前記第1のステップでは、所定のクライアントの書き込みデータに関して、当該書き込みデータの一部を喪失しても元の書き込みデータを復元可能とするための冗長性を持たせて分割し、
    前記第2のステップでは、前記所定のクライアントの書き込みデータに関して、他のクライアントの書き込みデータを格納した記憶装置と重複する記憶装置の数が当該所定のクライアントの書き込みデータを復元できない数となるように、データ書き込みを行うことを特徴とする請求項11に記載のデータ処理方法。
  13. コンピュータを制御して、複数の記憶装置にて構成される記憶装置群に対して、ネットワークを介して所定のクライアントから受信したデータの書き込みを行うプログラムであって、
    前記クライアントから受信した書き込み要求に応じて、当該書き込み要求に含まれる書き込みデータを複数の分割データに分割して分割後のデータを結合することで元の情報を得られるように処理する第1の処理と、
    各クライアントの前記書き込みデータを格納した複数の記憶装置の一部が相互に重複するように、前記分割データを前記記憶装置群に格納する第2の処理と
    を前記コンピュータに実行させることを特徴とするプログラム。
  14. 前記第1の処理では、所定のクライアントの書き込みデータに関して、当該書き込みデータの一部を喪失しても元の書き込みデータを復元可能とするための冗長性を持たせて分割し、
    前記第2の処理では、前記所定のクライアントの書き込みデータに関して、他のクライアントの書き込みデータを格納した記憶装置と重複する記憶装置の数が当該所定のクライアントの書き込みデータを復元できない数となるように、データ書き込みを行う処理を、前記コンピュータに実行させることを特徴とする請求項13に記載のプログラム。
  15. 前記第2の処理では、前記データファイルの分割数を前記データファイルごとに変更する処理を前記コンピュータに実行させることを特徴とする請求項13に記載のプログラム。
  16. 前記第2の処理では、前記データファイルを分割して得られる分割データを暗号化またはスクランブル処理してデータ書き込みを行う処理を前記コンピュータに実行させることを特徴とする請求項13に記載のプログラム。
  17. 前記第2の処理では、分割データのサイズを前記データファイルごとあるいは分割データごとに変更する処理を前記コンピュータに実行させることを特徴とする請求項13に記載のプログラム。
  18. 請求項13から請求項17のいずれかに記載のプログラムを、コンピュータが読み取り可能に記録した記録媒体。
JP2003179042A 2003-06-24 2003-06-24 サーバ、コンピュータ装置、データ処理方法及びプログラム Expired - Fee Related JP3824317B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003179042A JP3824317B2 (ja) 2003-06-24 2003-06-24 サーバ、コンピュータ装置、データ処理方法及びプログラム
US10/872,059 US7257674B2 (en) 2003-06-24 2004-06-18 Raid overlapping
US11/752,802 US20070220206A1 (en) 2003-06-24 2007-05-23 RAID Overlapping

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003179042A JP3824317B2 (ja) 2003-06-24 2003-06-24 サーバ、コンピュータ装置、データ処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2005018197A JP2005018197A (ja) 2005-01-20
JP3824317B2 true JP3824317B2 (ja) 2006-09-20

Family

ID=33535044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003179042A Expired - Fee Related JP3824317B2 (ja) 2003-06-24 2003-06-24 サーバ、コンピュータ装置、データ処理方法及びプログラム

Country Status (2)

Country Link
US (2) US7257674B2 (ja)
JP (1) JP3824317B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464116B2 (en) * 2005-12-28 2008-12-09 Network Appliance, Inc. Method and apparatus for cloning filesystems across computing systems
JP2008250475A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd 情報処理装置、ネットワークシステム、およびプログラム
US8176284B2 (en) * 2009-08-11 2012-05-08 Texas Memory Systems, Inc. FLASH-based memory system with variable length page stripes including data protection information
US8930622B2 (en) 2009-08-11 2015-01-06 International Business Machines Corporation Multi-level data protection for flash memory system
US7941696B2 (en) * 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
US20120084504A1 (en) * 2010-10-01 2012-04-05 John Colgrove Dynamic raid geometries in an ssd environment
US20120084507A1 (en) * 2010-10-01 2012-04-05 John Colgrove Multi-level protection with intra-device protection in a raid array based storage system
US9348696B2 (en) * 2010-10-01 2016-05-24 Pure Storage, Inc. Distributed multi-level protection in a raid array based storage system
US9229808B2 (en) * 2010-10-01 2016-01-05 Pure Storage, Inc. Reconstruct reads in a raid array with dynamic geometries
US8639861B1 (en) * 2011-03-31 2014-01-28 Emc Corporation Pseudo writing system and method
US8732342B1 (en) * 2011-03-31 2014-05-20 Emc Corporation I/O scheduling system and method
US9448883B1 (en) * 2012-12-04 2016-09-20 Cadence Design Systems, Inc. System and method for allocating data in memory array having regions of varying storage reliability
US10210062B2 (en) * 2017-06-08 2019-02-19 International Business Machines Corporation Data storage system comprising an array of drives

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675318B1 (en) * 2000-07-25 2004-01-06 Sun Microsystems, Inc. Two-dimensional storage array with prompt parity in one dimension and delayed parity in a second dimension
US6785836B2 (en) * 2001-04-11 2004-08-31 Broadcom Corporation In-place data transformation for fault-tolerant disk storage systems
KR100392382B1 (ko) * 2001-07-27 2003-07-23 한국전자통신연구원 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법
US6871263B2 (en) * 2001-08-28 2005-03-22 Sedna Patent Services, Llc Method and apparatus for striping data onto a plurality of disk drives
US6643735B2 (en) * 2001-12-03 2003-11-04 International Business Machines Corporation Integrated RAID system with the capability of selecting between software and hardware RAID
US20030149750A1 (en) * 2002-02-07 2003-08-07 Franzenburg Alan M. Distributed storage array
US6934804B2 (en) * 2002-05-28 2005-08-23 Sun Microsystems, Inc. Method and system for striping spares in a data storage system including an array of disk drives
US6938123B2 (en) * 2002-07-19 2005-08-30 Storage Technology Corporation System and method for raid striping
US7308599B2 (en) * 2003-06-09 2007-12-11 Hewlett-Packard Development Company, L.P. Method and apparatus for data reconstruction after failure of a storage device in a storage array

Also Published As

Publication number Publication date
US7257674B2 (en) 2007-08-14
JP2005018197A (ja) 2005-01-20
US20070220206A1 (en) 2007-09-20
US20040268019A1 (en) 2004-12-30

Similar Documents

Publication Publication Date Title
US10997023B1 (en) Processing a request for encoded data in a storage network
US20070220206A1 (en) RAID Overlapping
US10621044B2 (en) Mapping slice groupings in a dispersed storage network
US10447662B2 (en) Encrypting segmented data in a distributed computing system
US10042703B2 (en) Encrypting data for storage in a dispersed storage network
JP5210376B2 (ja) 固定コンテンツ分散型データ記憶システムにおけるデータ機密保持方法
US9483657B2 (en) Secure online distributed data storage services
US7904475B2 (en) Virtualized data storage vaults on a dispersed data storage network
US8861727B2 (en) Storage of sensitive data in a dispersed storage network
US20150212887A1 (en) Rebuilding a data revision in a dispersed storage network
GB2463078A (en) Data storage and transmission using parity data
JP4685317B2 (ja) データ分散格納方法、データ分散格納装置、プログラム及びバックアップサイト
JP2004510367A (ja) 暗号化キーとしてのデータ塊アドレスによる保護
US20230067246A1 (en) Partial Task Processing with Data Slice Errors
EP1811378A2 (en) A computer system, a computer and a method of storing a data file
US20240171551A1 (en) Storing, Processing and Analyzing Large Volumes of Data in a Storage Network
Jogdand et al. CSaaS-a multi-cloud framework for secure file storage technology using open ZFS
Cabrera et al. Swift: a storage architecture for large objects
Uehara Security framework in a virtual large-scale disk system
US20220407685A1 (en) Encryption in a distributed storage system utilizing cluster-wide encryption keys
US11782789B2 (en) Encoding data and associated metadata in a storage network
Haddock A Scalable Nearline Disk Archive Storage Architecture for Extreme Scale High Performance Computing
Bhavsagar et al. Evolution of Multi Cloud Framework for Integrity, Confidentiality and Availability
Süß et al. Storage and Virtualization
CN114386098A (zh) 一种大数据存储与溯源***

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060613

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060626

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100707

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110707

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120707

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130707

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees