JP2002149349A - 少なくとも1つのデータストリームのデータをストアするためのサーバ、方法、およびコンピュータサーバシステム - Google Patents

少なくとも1つのデータストリームのデータをストアするためのサーバ、方法、およびコンピュータサーバシステム

Info

Publication number
JP2002149349A
JP2002149349A JP2001229435A JP2001229435A JP2002149349A JP 2002149349 A JP2002149349 A JP 2002149349A JP 2001229435 A JP2001229435 A JP 2001229435A JP 2001229435 A JP2001229435 A JP 2001229435A JP 2002149349 A JP2002149349 A JP 2002149349A
Authority
JP
Japan
Prior art keywords
data
storage
block
address
server
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.)
Withdrawn
Application number
JP2001229435A
Other languages
English (en)
Inventor
Robin Alexander Cawley
ロビン・アレキサンダー・カウレイ
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.)
Quantel Ltd
Original Assignee
Quantel Ltd
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 Quantel Ltd filed Critical Quantel Ltd
Publication of JP2002149349A publication Critical patent/JP2002149349A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

(57)【要約】 【課題】 複数の異なったユーザの同時のアクセスに対
する少なくとも1つのデータストリームのデータをスト
アするためのサーバ(40)を提供する。 【解決手段】 独立してアドレス指定可能な多数の記憶
位置を提供する記憶装置と、記憶装置内の記憶位置にア
ドレス指定するためのアドレスジェネレータ(47)
と、アドレスジェネレータによって生成されるブロック
アドレスを受取るよう結合されて、受取ったブロックア
ドレスから対応の擬似ランダムブロックアドレスを生成
するアドレスランダマイザ(48)とを含み、擬似ラン
ダムブロックアドレスは、擬似ランダムブロック順で記
憶へのデータストリームのデータの書込み、および記憶
からのデータストリームのデータの読出を行なうため
に、記憶装置に位置アドレスと併せて出力される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はコンピュータファ
イルサーバシステムに関し、排他的にではないがより特
定的には、オーディオ/ビデオデータのためのサーバシ
ステムに関する。
【0002】
【従来の技術】コンピュータファイルサーバがディスク
ドライブなどの複数の記憶ユニットを含みながらサーバ
ユーザに対しては単一の同種の記憶ブロックの外観を呈
示するよう、ファイルサーバが制御しているさまざまな
ディスクをわたってユーザのデータを適切に配分する役
目を負うよう、ファイルサーバを構成することは、一般
的である。これはいくつかの理由から行なわれる。第1
には、単一のディスクドライブにおいて利用可能である
よりもより大きな容量の単一の記憶ブロックを生成する
ためであり、第2には、複数のディスクドライブを同時
に使用することによりサーバの性能を向上させるためで
あり、第3には、パリティディスクの使用によりディス
クドライブの故障をサーバが許容できるようにするため
である。この種類のサーバシステムは、一般的にはRA
ID(リダンダント・アレイ・オブ・インディペンダン
ト・ディスク)として知られる。
【0003】添付の図面の図1を参照すると、サーバ1
0の主要な要素を概略ブロック図形式で示す。サーバ1
0は、データライン15を介して結合され入ってくるデ
ータを受取り出ていくデータを出力するN個の記憶11
〜14を含む。典型的には、記憶11〜14の各々は別
々のハードディスク記憶装置を含むが、サーバは外から
(すなわち、サーバに接続される他の装置から)見ると
単一の記憶装置に見えるように構成される。
【0004】アドレスジェネレータ16は、個々の記憶
11〜14とデータがストアされたこれらの記憶内での
特定の位置とを識別して、アドレスを生成するよう構成
される。図2に示すように、アドレスジェネレータ16
はN個の記憶11〜14をM個のブロック20〜24に
論理的に分割し(典型的にはM>N)、データはブロッ
ク20〜24の間に配分される。
【0005】利用可能であるいくつかの記憶にわたりフ
ァイルサーバがユーザデータを編成する態様は、放送用
途に対して要求されるであろうオーディオまたはビデオ
データなどのデータのストリーミングのためにサーバが
用いられる場合に、特に適切である。このようなストリ
ーミングサーバとしての使用法は、ファイルサーバのよ
り従来的な使用法(たとえば商業的なデータ処理)から
は2つの意味において異なる。第1に、長さが何メガバ
イトにもなり得る非常に長い連続的な固まりでデータを
読出しかつ書込むことが通常である。これは通常、ファ
イルの中間で単一のレコードを読出しまたは書込む、デ
ータ処理用途と対照的である。第2に、データフロー
は、経過時間のフレームごとに運ばれる1フレームの速
度以下に遅くはなり得ないという点において「リアルタ
イム」であるが、これはたとえばフレームがその予定の
「オンエア」時間よりも1ミリ秒遅く到着すると、回復
不可能なシステム障害となり得るためである。これは、
レコード更新がときに通常よりも数ミリ秒長くかかるこ
とを、特にこれが他のレコード更新が通常よりも早く済
むことで補償されると、許容し得る、データ処理システ
ムとは対照的である。こうして、データ処理サーバは平
均のアクセス時間に関連し、これに対しストリーミング
サーバは最悪の場合のアクセス時間に関連することが明
らかである。
【0006】ファイルサーバがダイバーシティと呼ばれ
るものを特に用いることは一般的である。サーバが多く
のユーザを有する場合、これらのすべてのユーザが同時
に同じ記憶ユニット上のデータへのアクセスを所望する
ことは起こりそうにない。異なったユーザが異なった作
業に関与していると、彼らのアクセスは一般的に統計的
に分析可能な方法でさまざまな記憶ユニットにわたって
分散されるであろう。一時点においていずれかの単一の
記憶にアクセスするためにユーザごとに十分な帯域幅を
与えることは必要ではない。これが起こる可能性は(信
頼できるほど)小さい。稀にこれが起こった場合でも、
結果として生じる遅延は許容可能である。ダイバーシテ
ィのおかげで、そのような稀な出来事の後に別の同様の
出来事が続く可能性は実際のところ非常に低い。
【0007】しかしながら、ダイバーシティはビデオサ
ーバに対しては役に立たない。何らかの非常に報道価値
のある出来事が起こったときにニューススタジオでビデ
オサーバが使用されていて、その出来事のビデオクリッ
プがサーバに置かれていると仮定する。クリップが到着
した途端にかなりの数のユーザが同時にクリップの閲覧
を所望することは、非常に可能性が高い。
【0008】ビデオクリップが単一の記憶ユニットに置
かれていると、すべてのユーザがその単一の記憶ユニッ
トにアクセスを試みて、オーバロードとなるであろう。
さらに、第1のアクセスの後の彼らの次のアクセスもま
た、クリップの次のブロックを検索するために同じ記憶
ユニットになり得るので、オーバロードが繰返されるで
あろう。システムの最悪の場合のスループットは、単一
の記憶ユニットのスループットと等しくなり、複数の記
憶ユニットサーバの主要な利点を無効にし得る。
【0009】これはもちろん、極度に単純化されたモデ
ルであって、いかなる現実のサーバによっても採用され
るとは考えにくい。より一般的なものは、データをブロ
ックに分割して、連続するブロックを異なった記憶ユニ
ットに書込むものである。こうして、N個の記憶ユニッ
トを有するシステムにおいては、最初のブロックはユニ
ット1に割当てられ、2番目はユニット2に割当てら
れ、N番目はユニットNに割当てられ、N+1番目のブ
ロックは再びユニット1に割当てられて、以下同様にロ
ーテーションする。これはしばしばストライピングと呼
ばれる。これはそれでもビデオサーバにおいては簡単に
失敗し得るが、これは単一のビデオクリップが妥当など
のような数(N)の記憶ユニットであれ、何度も回るた
めである。するとユーザが正確にNブロックはなれたク
リップにアクセスしようとして、そのたびに異なった記
憶ユニットにアクセスすることにはなるのだが、連続的
に同一の記憶ユニットにアクセスする可能性が非常に高
くなる。
【0010】添付の図面の図3に、2つのクリップ1お
よび2を示す。クリップ1、2は同時に再生されるビデ
オクリップであり、各々は、それぞれM、M+1、M+
2、およびN、N+1、N+2と番号が付与された、複
数のブロックを含む。ブロックは、連続的なブロックが
連続的な記憶ユニットにわたって配分される公知のスト
ライピング技術によって編成された複数の記憶ユニット
3に保持される。この図においては、ブロックMおよび
Nは両方ともたまたま同じ記憶ユニットに入るので、ブ
ロックNのフェッチはブロックMがフェッチされる間遅
延する。ブロックがストライピングされているのでブロ
ックN+1はブロックM+1と同じ記憶ユニットに保持
され、遅延が繰返される。より多数のクリップに対して
は、遅延の起こる可能性も比例して上昇することは明ら
かである。
【0011】システムをわたってデータを分散させるた
めにどのような整合的なアルゴリズムを用いても、ユー
ザアクセスのいくつかのパターンはこれを失敗させ、か
つシステムが構成された時点でそのパターンが明らかで
はない場合でさえも、ユーザ側の何らかの動作上の変化
によって、システムが常に要求されたビデオを引き渡す
という確約がなくなることもあり得ることが、経験から
示唆される。既に述べたように、データ処理システムに
おいてはときにそのように期限が守られないことは許容
可能であるが、ビデオサーバにおいてはとても許容でき
ないものである。
【0012】
【発明が解決しようとする課題】上述の問題は、記憶ユ
ニットと同様に通信チャネルにも適用されることを理解
されたい。もしサーバが、各々がいくつかのディスクド
ライブに接続されるファイバチャネルまたはSCSIな
どのいくつかの通信バスからなると、データがバスの各
々のディスクドライブをわたって均等に分散されていた
としても、バス自体が上述のタイプのボトルネックとな
り得る。
【0013】
【課題を解決するための手段】この発明は、上述の問題
を回避するか、または少なくとも、問題が生じる統計的
可能性が低く無視し得る範囲にまで顕著に実質的に最小
化する、コンピュータサーバシステムを提供することを
目的とする。
【0014】この発明は、複数の異なったユーザの同時
のアクセスに対する、少なくとも1つのデータストリー
ムのデータをストアするためのサーバを提供し、該サー
バは、多数の個々にアドレス指定可能な記憶位置を提供
する少なくとも1つの記憶装置と、該少なくとも1つの
記憶装置における記憶位置にアドレス指定するためのア
ドレスジェネレータとを含み、該アドレスジェネレータ
は論理記憶ブロックを識別するブロックアドレスを生成
するよう構成され、該ブロックアドレスの各々は、複数
の記憶位置と、該論理記憶ブロック内の個々の記憶位置
を識別する論理アドレスとを含み、サーバはさらに、該
アドレスジェネレータによって生成されるブロックアド
レスを受取るよう結合されて、受取ったブロックアドレ
スから対応の擬似ランダムブロックアドレスを生成する
アドレスランダマイザを含み、該擬似ランダムブロック
アドレスは、擬似ランダムブロック順で記憶へのデータ
ストリームのデータの書込み、および記憶からのデータ
ストリームのデータの読出を行なうために、該少なくと
も1つの記憶装置に位置アドレスと併せて出力される。
【0015】この発明はまた、複数の異なったユーザの
同時のアクセスに対する、少なくとも1つのデータスト
リームのデータをストアするための方法を提供し、方法
は、少なくとも1つの記憶装置内に多数の個々にアドレ
ス指定可能な記憶位置を提供するステップと、論理記憶
ブロックを識別するブロックアドレスを生成することに
より、少なくとも1つの記憶装置内の記憶位置にアドレ
ス指定するステップとを含み、該ブロックアドレスの各
々は複数の記憶位置と論理記憶ブロック内の個々の記憶
位置を識別する位置アドレスとを含み、方法はさらに、
受取ったブロックアドレスから対応の擬似ランダムブロ
ックアドレスを生成し、該擬似ランダムアクセスと位置
アドレスとを該少なくとも1つの記憶装置に出力するス
テップと、データストリームの書込データのうちの1つ
を擬似ランダムブロック順で記憶に入れ、データストリ
ームの読出データを擬似ランダムブロック順で記憶から
出すステップを含む。
【0016】この発明はさらに、複数のユーザによって
データ検索目的でアクセスされるよう構成される複数の
記憶ユニットを含むコンピュータサーバシステムを提供
し、ユーザデータは利用可能な記憶にわたってランダム
にかつ反復可能に配分されるブロックで分散される。
【0017】ランダマイザは、エントリの各々が一旦セ
ットアップされると常に同じであり、したがって反復可
能であるように、エントリをランダムな順序で含むルッ
クアップテーブルを含み得る。こうして、この発明に従
ったシステムにおいては、システムはサーバユーザが生
み出せなかったダイバーシティを生成することが認めら
れる。
【0018】こうして、ビデオサーバの場合において
は、ユーザがサーバにどのクリップを要求したとして
も、ユーザは通常続けて数回以上同じ記憶ユニットにア
クセスせず、より多くのユーザが存在するとより分散す
る傾向がある。
【0019】これに対する唯一の例外とは、ユーザが同
じ位置から同じクリップを読出そうとする場合であり、
このとき彼らは正確に同じアクセスパターンをたどる。
彼らはまさに同じデータを所望するので、この特別な場
合では、第1のユーザに対して読出されたデータが、2
番目以降のユーザのためにコピーされるので2番目また
はそれ以降のユーザがこのデータを記憶ユニットから再
フェッチするためにサーバにアクセスする必要をなくす
ことができる。
【0020】利用可能な記憶にわたってデータをランダ
ムに分散させると、最良の場合を犠牲にして最悪の場合
が効率的に最適化される。ディスクなどの記憶ユニット
が、非連続的なブロックよりも隣接したブロックをより
効率的に読出せるということは通常は正しい。データを
ランダム化することにより、この効率性を利用できる可
能性はなくなる。したがってこれは、システムが最悪の
場合にはまり込まないことを確実にするための代償であ
る。これは、最良の場合における向上した性能を利用す
ることができず(フレームは必要となるまで再生できな
い)、かつ起こり得る最悪の場合が、機能を果たすシス
テムにはクリティカルである、ビデオサーバに対しては
適切な折り合いである。
【0021】反復可能ランダマイザの簡単な実現化例は
ルックアップテーブル(LUT)である。LUTなしで
は、サーバは0からH−1と番号が付与され、利用可能
である記憶ユニットにわたって均等に分散させたH個の
記憶ブロックを提供する。LUTはH個のエントリから
なり、各々は0からH−1までの範囲の数を含むが、こ
れらの数はランダムに分散される。ユーザが記憶ブロッ
クへのアクセスを要求するとき、ユーザによって呈示さ
れる論理ブロック番号がLUTへのインデックスとして
用いられ、実際にアクセスされる物理ブロックはこうし
てインデックスで示されたLUTエントリの内容により
与えられる。この方法は、ブロックのサイズが大きく、
したがって、LUTのサイズが小さく扱いやすい場合に
特によく働く。これはメガバイトのブロックサイズが妥
当であるビデオサーバに対する場合である。これは40
96バイトのブロックサイズが典型的であり結果として
生じるLUTが許容不可能に大きいデータ処理環境にお
いては、あまり許容できない。
【0022】この発明の上述のおよびさらなる機能は、
特に前掲の特許請求の範囲に記載され、その利点は添付
の図面を参照するこの発明の例示的な実施例の以下のよ
り詳細な説明を考察することにより、より明らかとなる
であろう。
【0023】
【発明の実施の形態】添付の図面の図4を参照すると、
この発明の実施例であるサーバ40の主要な要素が示さ
れる。サーバ40は、データがデータライン46を介し
て読出されかつ書込まれる、J個のブロック41〜45
に論理的に分割されたいくつかの記憶(図示せず)を含
む。
【0024】アドレスジェネレータ47は、個々の論理
ブロック41〜45と、データがストアされるこれらの
ブロック内の個々の位置とを識別する、アドレスを生成
するよう構成される。ブロックアドレスに関連の出力ア
ドレスの構成要素(たとえば、出力アドレスのMSB)
はランダマイザ48に入力される。ランダマイザ48は
たとえば、擬似ランダムごとに入力アドレスから別のア
ドレスを計算するよう構成される、ルックアップテーブ
ルまたは小型のプロセッサ(図示せず)の形式で実現さ
れてもよい。
【0025】ランダマイザは、エントリの各々が一旦セ
ットアップされると常に同じであり、したがって反復可
能であるように、エントリをランダムな順序で含むルッ
クアップテーブルを含み得る。こうして、この発明に従
ったシステムにおいては、システムはサーバユーザが生
み出せなかったダイバーシティを生成することが認めら
れる。
【0026】こうして、ビデオサーバの場合において
は、ユーザがサーバにどのクリップを要求したとして
も、ユーザは通常続けて数回以上同じ記憶ユニットにア
クセスせず、より多くのユーザが存在するとより分散す
る傾向がある。
【0027】利用可能な記憶にわたってデータをランダ
ムに分散させると、最良の場合を犠牲にして最悪の場合
が効率的に最適化される。ディスクなどの記憶ユニット
が、非連続的なブロックよりも隣接したブロックをより
効率的に読出せるということは通常は正しい。データを
ランダム化することにより、この効率性を利用できる可
能性はなくなる。したがってこれは、システムが最悪の
場合によってはまり込まないことを確実にするための代
償である。これは、最良の場合における向上した性能を
利用することができず(フレームは必要となるまで再生
できない)、かつ起こり得る最悪の場合が、機能を果た
すシステムにはクリティカルである、ビデオサーバに対
しては適切な折り合いである。
【0028】反復可能ランダマイザの簡単な実現化例は
ルックアップテーブル(LUT)である。LUTなしで
は、サーバは0からH−1と番号が付与され、利用可能
である記憶ユニットにわたって均等に分散させたH個の
記憶ブロックを提供する。LUTはH個のエントリから
なり、各々は0からH−1までの範囲の数を含むが、こ
れらの数はランダムに分散される。ユーザが記憶ブロッ
クへのアクセスを要求するとき、ユーザによって呈示さ
れる論理ブロック番号がLUTへのインデックスとして
用いられ、実際にアクセスされる物理ブロックはこうし
てインデックスで示されたLUTエントリの内容により
与えられる。この方法は、ブロックのサイズが大きく、
したがって、LUTのサイズが小さく扱いやすい場合に
特によく働く。これはメガバイトのブロックサイズが妥
当であるビデオサーバに対する場合である。これは40
96バイトのブロックサイズが典型的であり結果として
生じるLUTが許容不可能に大きいデータ処理環境にお
いては、あまり許容できない。
【0029】図5を参照すると、ランダマイザはクリッ
プ1および2および記憶ユニット3の間の流れに挿入さ
れる。比較のために、ここでもブロックMおよびNはた
またま同じ記憶ユニット内に入り、上述と同じ遅延が生
じることがあり得る。しかしながら、ブロックM+1お
よびN+1は両方ともランダムに選択されるので、また
同じ記憶ユニットに入る可能性は非常に低い。したがっ
て遅延が、2回目にも繰返される可能性は低く、3回目
に繰返される可能性はさらに低く、以下同様である。こ
うして、図5において2つのクリップが同時に同じ記憶
ユニットにアクセスを要求することはめったになく、こ
れは1つのクリップが常に他方の後に配置される図3の
構成に対して顕著に対照的である。
【0030】ランダマイザLUTは、公知のシードで擬
似ランダム数ジェネレータを用いて簡単に実現されても
よい。擬似ランダム性はこの目的には妥当である。これ
によりLUTをストアすることを省くことができ、テー
ブルを分散させる必要なく複数の(信頼性の理由のため
に望ましい)コントローラが同一のテーブルを生成する
ことを可能にする。しかしながら、以下に明らかとされ
るように、ランダマイザとして中央LUTを有する理由
が存在する。
【0031】サーバに記憶ユニットを追加し、ときにそ
れらを取除けるようにすることが望ましい。上述のよう
に、サーバの適切な機能のためにはユーザデータをすべ
ての利用可能な記憶ユニットにわたってランダムに分散
させることが要求される。これはさらなる記憶がシステ
ムに加えられる前に当てはまるが、拡張システムに対し
ても当てはまらなければ、システムを拡張したことによ
ってもたらされる付加的な容量および帯域が利用可能に
ならない。追加した空間が単に既存の空間の上に付け足
されると、すべての新たなクリップはこの新しく加えら
れた記憶の上に記録されるであろう。これは、これらの
(おそらくは最も人気のある)クリップがアクセスされ
たときに、システムの均衡を破壊する。したがって、シ
ステムに新しい記憶ユニットを物理的に加えた後に、既
存の記憶ユニットからいくらかのデータを新しいユニッ
トにコピーすることにより既存の記憶から空間を空けた
後で、拡張された容量がユーザに対して利用可能にされ
なければならない。
【0032】この拡張は、サーバ40内のコントローラ
50(図4を参照)によって以下の態様で実行される。
もし未拡張の記憶がH個のブロックを含むと、元のLU
TはH個のエントリを有する。もしさらなるJ個のブロ
ックの新しい記憶ユニットが加えられると、K個のエン
トリの新しいルックアップテーブルをもたらすが、ここ
でK=H+Jである。初期には新しいルックアップテー
ブルは、元のルックアップテーブルを新しいルックアッ
プテーブルの下位のエントリとしてコピーし、次いで新
しいルックアップテーブルのトップにH、H+1、H+
2…K−1を含むエントリを加えることにより、構築さ
れる。
【0033】次いでコントローラ50は、拡張されたル
ックアップテーブルから(たとえば擬似ランダム数ジェ
ネレータを用いて)ランダムにJ個のエントリを選び、
それらにルックアップテーブル内の新しく加えられたエ
ントリH〜K−1を割当てる。もしコントローラ50に
よって選ばれた元のエントリが使用中であると(もちろ
ん、新しく加えられたユニットを参照するエントリは使
用中ではない)、コントローラ50はデータをその元の
位置から新しく加えられたユニットにコピーしなければ
ならない。コントローラ50は次いで、同じデータを含
むとわかっている2つのエントリをLUTに入換えるこ
とができる。コピーの書込側、ブロックH〜K−1への
書込はシーケンシャルに行なうことができ、効率性を向
上させる。コピーが進行しているときは、古いLUTを
用い得る。コピーが完了すると、新しいLUTがすべて
のアクセスに対して用いられ、ユーザデータは増大され
た空間を利用可能になる。
【0034】この更新プロセスは、一度にいくつかの付
加的なユニットに対して行なわれるか、または新しく加
えられた空間の一部が利用可能になるまでの時間を最小
化するために、一度にユニットの一部のみに対して行な
われてもよい。
【0035】コピーするプロセスが行なわれている間
に、記憶ブロック41〜45への書込を処理するため
に、特別な動作が行なわれなければならない。1つの方
策は、データの古いコピーと新しいコピーの両方に書込
むことであろう。別の方策は、書込の際に古いルックア
ップを選択的に更新し、新しい位置のみに書込むことで
あろう。当業者においては明らかであるように、他の方
策もまた可能である。
【0036】除去されたユニットに保持されていたデー
タをコピーする、十分な未使用の空間が残りの記憶ユニ
ットにあれば、システムから記憶ユニットを除去する逆
のプロセスを用いることも可能である。しかしながら、
1つの顕著な相違が存在する。もしJ個のブロックを含
むユニットを除去する(必ずしも最も新しく追加された
ユニットを除去する必要はない)ことにより、サーバの
サイズがKブロックからHブロックに減じられると、ユ
ーザは0からK−1の範囲、すなわち拡大されたシステ
ムの範囲全域において論理アドレスにストアされたデー
タを有する。記憶ユニットの除去を可能にする十分な空
いた空間があるかもしれないが、アクセス指定可能な論
理ブロックがHブロックのみに減少した場合でさえも、
論理アドレス指定は0からK−1の範囲にとどまらねば
ならない。したがって、サーバがアクセス不可能なブロ
ックの概念を有することが必要である。
【0037】こうして、(1つ以上の記憶ユニットを除
去することにより)記憶ブロックの数を減じるために、
コントローラ50はランダマイザ48のルックアップテ
ーブルを探索して、移動されるべきユニットのブロック
がいくつ(X)使用中であるかを見出すよう構成され
る。ルックアップテーブルは次いで、(a)残されるべ
き記憶ユニットであって、(b)用いられていない、X
個のブロックを探索される。これらのエントリは、除去
されるべきユニット上のすべての空きブロックと同様
に、LUT内でアクセス不可能であるとマークされる。
次いで除去されるべきユニットからX個のブロックが残
りのエントリにコピーされ、それに従ってそれらのLU
Tエントリも更新される。このプロセスが完了すると、
空いたユニットを取り除くことができる。サーバはここ
で、J個のブロックがアクセス不可能である(取除かれ
たユニット上のブロックに対応する)K個のブロックを
有するように見え、期待されるH個のブロックの減じら
れた容量を有する。
【0038】こうして、この発明を好ましい実施例を参
照して説明してきたが、当該実施例は例示のみであり、
この変形と変更とは、当業者においては前掲の特許請求
の範囲およびその等価物に記載されるこの発明の精神お
よび範囲から逸脱することなく明らかとなることを十分
に理解されたい。
【図面の簡単な説明】
【図1】 上述のサーバの概略ブロック図である。
【図2】 上述の図1のサーバの論理編成の概略ブロッ
ク図である。
【図3】 公知のストライピング技術を用いたサーバの
フロー図である。
【図4】 この発明の実施例であるサーバの概略ブロッ
ク図である。
【図5】 配置が反復することを防ぐために反復可能な
ランダマイザが加えられたサーバのフロー図である。
【符号の説明】 40 サーバ、47 アドレスジェネレータ、48 ア
ドレスランダマイザ。
フロントページの続き Fターム(参考) 5B065 BA01 CA12 CC03 CC08 CE12 5B082 CA18 HA08 5C053 FA23 GB06 GB11 JA01 JA24 KA05 KA19 KA24 LA11 LA15

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】 複数の異なったユーザの同時のアクセス
    に対する少なくとも1つのデータストリームのデータを
    ストアするためのサーバであって、 複数の個々のアドレス指定可能な記憶位置を提供するた
    めの、少なくとも1つの記憶装置と、 前記少なくとも1つの記憶装置における記憶位置にアド
    レス指定するためのアドレスジェネレータとを含み、前
    記アドレスジェネレータは、論理記憶ブロックを識別す
    るブロックアドレスを生成するよう構成され、前記ブロ
    ックアドレスの各々は、複数の記憶位置と、論理記憶ブ
    ロック内の個々の記憶位置を識別する位置アドレスとを
    含み、サーバはさらに、 前記アドレスジェネレータによって生成されるブロック
    アドレスを受取るよう結合されて、受取ったブロックア
    ドレスから対応の擬似ランダムブロックアドレスを生成
    するアドレスランダマイザを含み、前記擬似ランダムブ
    ロックアドレスは、擬似ランダムブロック順で記憶にデ
    ータストリームのデータを書込み、記憶からデータスト
    リームのデータを読出すために、前記少なくとも1つの
    記憶装置に位置アドレスと併せて出力される、少なくと
    も1つのデータストリームのデータをストアするための
    サーバ。
  2. 【請求項2】 前記少なくとも1つの記憶装置は複数の
    記憶装置を含み、前記論理記憶ブロックは記憶装置から
    独立して規定される、請求項1に記載のサーバ。
  3. 【請求項3】 前記アドレスジェネレータは、前記少な
    くとも1つのデータストリーム内のデータの順序に対応
    して、シーケンシャルな順序でアドレスを生成するよう
    構成される、請求項1または請求項2に記載のサーバ。
  4. 【請求項4】 前記アドレスランダマイザは、ルックア
    ップテーブルを含む、請求項1、請求項2または請求項
    3に記載のサーバ。
  5. 【請求項5】 ランダマイザを制御するためのコントロ
    ーラをさらに含む、請求項4に記載のサーバ。
  6. 【請求項6】 前記コントローラは、ルックアップテー
    ブル内のデータを変化させることによりランダマイザと
    連絡するよう構成される、請求項5に記載のサーバ。
  7. 【請求項7】 前記コントローラは、少なくとも1つの
    付加的な記憶装置の追加に応答して、付加的な記憶装置
    内に新しい論理記憶ブロックを生成し、選択された既存
    の論理記憶ブロックから選択されたデータを選択された
    新しい論理記憶ブロックに転送し、かつ新しい論理記憶
    ブロックと選択されたデータの転送とを表わすようルッ
    クアップテーブル内のデータを変化させる、請求項6に
    記載のサーバ。
  8. 【請求項8】 データおよび論理記憶ブロックの選択
    は、ランダム数ジェネレータによって生成されるランダ
    ム数に基づいて行なわれる、請求項7に記載のサーバ。
  9. 【請求項9】 前記コントローラは、ストアされたデー
    タを含むいくつかの論理記憶ブロックを含む少なくとも
    1つの既存の記憶ユニットを除去する間に応答して、残
    りの記憶ユニット間の同じ数の残りの論理記憶ブロック
    を識別し、除去される記憶ユニットの論理記憶ブロック
    からデータを識別された空の残りの論理記憶ブロックに
    転送し、残りの記憶ユニット内の論理記憶ブロックと識
    別された残りの論理記憶ブロックへのデータの転送とを
    表わすようルックアップテーブル内のデータを変化させ
    るようさらに構成される、請求項6に記載のサーバ。
  10. 【請求項10】 前記空の残りの論理記憶ブロックは、
    一部はランダム数ジェネレータによって生成されるラン
    ダム数に基づいて識別される、請求項9に記載のサー
    バ。
  11. 【請求項11】 前記アドレスランダマイザは、擬似ラ
    ンダムアドレスジェネレータを含む、請求項1、請求項
    2または請求項3に記載のサーバ。
  12. 【請求項12】 複数の異なったユーザの同時のアクセ
    スに対する少なくとも1つのデータストリームのデータ
    をストアするための方法であって、 少なくとも1つの記憶装置内に多数の個々にアドレス指
    定可能な記憶位置を提供するステップと、 論理記憶ブロックを識別するブロックアドレスを生成す
    ることにより、前記少なくとも1つの記憶装置内の記憶
    位置にアドレス指定するステップとを含み、前記ブロッ
    クアドレスの各々は複数の記憶位置と、論理記憶ブロッ
    ク内の個々の記憶位置を識別する位置アドレスとを含
    み、方法はさらに、 受取ったブロックアドレスから対応の擬似ランダムブロ
    ックアドレスを生成し、前記擬似ランダムブロックアド
    レスと位置アドレスとを前記少なくとも1つの記憶装置
    に出力するステップと、 データストリームの書込データのうちの1つを擬似ラン
    ダムブロック順でストアに入れ、データストリームの読
    出データを擬似ランダムブロック順でストアから出すス
    テップとを含む、少なくとも1つのデータストリームの
    データをストアするための方法。
  13. 【請求項13】 前記少なくとも1つの記憶装置は複数
    の記憶装置を含み、前記方法はさらに、前記記憶装置か
    ら独立して論理記憶ブロックを規定するステップをさら
    に含む、請求項12に記載の方法。
  14. 【請求項14】 前記少なくとも1つのデータストリー
    ム内のデータの順序に対応して、シーケンシャルな順序
    でアドレスを生成するステップをさらに含む、請求項1
    2または請求項13に記載の方法。
  15. 【請求項15】 ランダムアドレスデータはルックアッ
    プテーブルにストアされ、擬似ランダムブロックアドレ
    スはルックアップテーブルのランダムアドレスデータを
    ルックアップすることにより生成される、請求項12、
    請求項13または請求項14に記載の方法。
  16. 【請求項16】 ルックアップテーブル内のデータを変
    化させるステップをさらに含む、請求項15に記載の方
    法。
  17. 【請求項17】 少なくとも1つの付加的な記憶装置の
    追加に応答して、 付加的な記憶装置内に新しい論理記憶ブロックを生成す
    るステップと、 選択された既存の論理記憶ブロックから選択されたデー
    タを選択された新しい論理記憶ブロックに転送するステ
    ップと、 新しい論理記憶ブロックと、選択されたデータの転送と
    を表わすよう、ルックアップテーブル内のデータを変化
    させるステップとをさらに含む、請求項16に記載の方
    法。
  18. 【請求項18】 ランダム数ジェネレータによって生成
    されるランダム数に基づいて、データおよび論理記憶ブ
    ロックを選択するステップをさらに含む、請求項17に
    記載の方法。
  19. 【請求項19】 ストアされたデータを含むいくつかの
    論理記憶ブロックを含む、少なくとも1つの既存の記憶
    ユニットを除去するステップと残りの記憶ユニット間
    で、同じ数の空の残りの論理記憶ブロックを識別するス
    テップと、 除去される記憶ユニットの論理記憶ブロックからのデー
    タの、識別された空の残りの論理記憶ブロックへの転送
    を実行するステップと、 残りの記憶ユニット内の論理記憶ブロックと、識別され
    た残りの論理記憶ブロックへの転送とを表わすよう、ル
    ックアップテーブル内のデータを変化させるステップと
    を含む、請求項16に記載の方法。
  20. 【請求項20】 前記空の残りの論理記憶ブロックを、
    一部はランダム数ジェネレータによって生成されるラン
    ダム数に基づいて識別するステップをさらに含む、請求
    項19に記載の方法。
  21. 【請求項21】 擬似ランダムアドレスジェネレータに
    よってランダムアドレスを生成するステップをさらに含
    む、請求項12、請求項13、または請求項14に記載
    の方法。
  22. 【請求項22】 複数のユーザによってデータ検索目的
    でアクセスされるよう構成される複数の記憶ユニットを
    含み、ユーザデータは利用可能な記憶をわたってランダ
    ムにかつ反復可能に配分されるブロックで分散される、
    コンピュータサーバシステム。
  23. 【請求項23】 ランダマイザは、ランダムな順序で構
    成されるエントリを含むルックアップテーブルを含む、
    請求項22に記載のコンピュータサーバシステム。
  24. 【請求項24】 第1のユーザに対して読出されたデー
    タが、2番目以降のユーザのためにコピーされるので、
    2番目または後のユーザがこのデータを記憶ユニットか
    ら再フェッチするためにサーバにアクセスする必要がな
    い、請求項22または請求項23に記載のコンピュータ
    サーバシステム。
  25. 【請求項25】 付加的な記憶ユニットを加えかつ記憶
    ユニットの全体にわたってデータをランダムに再配分す
    るための装置が提供される、請求項21から請求項24
    のいずれかに記載のコンピュータサーバシステム。
  26. 【請求項26】 除去されるべき1つ以上の記憶ユニッ
    トから、除去されないユニットへデータをランダムに再
    配分し、前記除去されるべき記憶ユニットを後に除去す
    るための装置が提供される請求項21から請求項25の
    いずれかに記載のコンピュータサーバシステム。
JP2001229435A 2000-08-04 2001-07-30 少なくとも1つのデータストリームのデータをストアするためのサーバ、方法、およびコンピュータサーバシステム Withdrawn JP2002149349A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0019046A GB2365557A (en) 2000-08-04 2000-08-04 Stored data distribution in file server systems
GB0019046:2 2000-08-04

Publications (1)

Publication Number Publication Date
JP2002149349A true JP2002149349A (ja) 2002-05-24

Family

ID=9896898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001229435A Withdrawn JP2002149349A (ja) 2000-08-04 2001-07-30 少なくとも1つのデータストリームのデータをストアするためのサーバ、方法、およびコンピュータサーバシステム

Country Status (4)

Country Link
US (1) US20020016889A1 (ja)
EP (1) EP1182868A3 (ja)
JP (1) JP2002149349A (ja)
GB (1) GB2365557A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543997A (ja) * 2011-03-02 2013-12-09 株式会社日立製作所 計算機システム及びデータ移行方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184101B2 (en) * 2001-07-31 2007-02-27 Micronas Usa, Inc. Address generation for video processing
WO2004036424A2 (en) * 2002-10-16 2004-04-29 Storage Matrix, Inc. Efficient expansion of highly reliable storage arrays and clusters

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3249868B2 (ja) * 1993-11-19 2002-01-21 株式会社日立製作所 アレイ形式の記憶装置システム
US5732239A (en) * 1994-05-19 1998-03-24 Starlight Networks Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams
US5712976A (en) * 1994-09-08 1998-01-27 International Business Machines Corporation Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes
DE69830965T2 (de) * 1997-05-26 2006-05-24 Koninklijke Philips Electronics N.V. System zur wiedergabe von daten in einem video-server
US5933834A (en) * 1997-10-16 1999-08-03 International Business Machines Incorporated System and method for re-striping a set of objects onto an exploded array of storage units in a computer system
JP2002500393A (ja) * 1997-12-24 2002-01-08 アヴィッド・テクノロジー・インコーポレーテッド コンピュータ・システムおよび多数の記憶装置および多数のアプリケーション間でスケーラブルにかつ信頼性高く多数の高帯域データ・ストリームを転送するプロセス

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013543997A (ja) * 2011-03-02 2013-12-09 株式会社日立製作所 計算機システム及びデータ移行方法
US9292211B2 (en) 2011-03-02 2016-03-22 Hitachi, Ltd. Computer system and data migration method

Also Published As

Publication number Publication date
US20020016889A1 (en) 2002-02-07
GB2365557A (en) 2002-02-20
EP1182868A2 (en) 2002-02-27
EP1182868A3 (en) 2004-07-14
GB0019046D0 (en) 2000-09-27

Similar Documents

Publication Publication Date Title
US5933834A (en) System and method for re-striping a set of objects onto an exploded array of storage units in a computer system
US5987566A (en) Redundant storage with mirroring by logical volume with diverse reading process
JP4195725B2 (ja) マルチユーザデータ記憶、検索及び配布システム
US8015352B2 (en) Disk drive storage defragmentation system
US6003114A (en) Caching system and method providing aggressive prefetch
US7640274B2 (en) Distributed storage architecture based on block map caching and VFS stackable file system modules
US6009481A (en) Mass storage system using internal system-level mirroring
JP2784440B2 (ja) データ・ページの転送制御方法
US6233607B1 (en) Modular storage server architecture with dynamic data management
US5878280A (en) Data buffering system for plural data memory arrays
US7321955B2 (en) Control device, control method and storage medium recording a control program for controlling write-back schedule of data from cache memory to a plurality of storage devices
CN106970765B (zh) 数据存储方法及装置
JP2006190274A (ja) 仮想テープ・サーバにおける論理ボリュームの再呼び出しを最適化するための装置、システム、および方法
JP4381480B2 (ja) 複数のパリティ・グループを持つ多重ディスク・ドライブ配列
EP1287425A2 (en) System for and method of accessing blocks on a storage medium
US7765378B1 (en) Utilization of memory storage
US5909693A (en) System and method for striping data across multiple disks for continuous data streaming and increased bus utilization
JP2002149349A (ja) 少なくとも1つのデータストリームのデータをストアするためのサーバ、方法、およびコンピュータサーバシステム
JPH11212728A (ja) 外部記憶サブシステム
US6615284B2 (en) Method and apparatus for performing input/output operations between a requesting device and responding device
US20030225794A1 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller
US7313656B1 (en) Pre-fetch prediction method for disk drives
JP2001100930A (ja) ミラーディスク制御装置
EP0665499A2 (en) Hierarchic data storage system
US20070033305A1 (en) Method or apparatus for transferring data

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081007