JP2004199209A - ネットワーク接続記憶デバイス - Google Patents
ネットワーク接続記憶デバイス Download PDFInfo
- Publication number
- JP2004199209A JP2004199209A JP2002364502A JP2002364502A JP2004199209A JP 2004199209 A JP2004199209 A JP 2004199209A JP 2002364502 A JP2002364502 A JP 2002364502A JP 2002364502 A JP2002364502 A JP 2002364502A JP 2004199209 A JP2004199209 A JP 2004199209A
- Authority
- JP
- Japan
- Prior art keywords
- network
- data
- virtual
- block address
- virtual disk
- 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.)
- Pending
Links
Images
Abstract
【課題】複数のクライアントノードが、ネットワークを介して接続された物理ディスクにアクセスする際の物理ディスクの共有方法に関し、クライアントノードが自装置の物理ディスクまたはストレージネットワークを介して接続されたストレージにアクセスする場合と同様のアドレス指定方法により、仮想的な物理ディスクへのアクセスを可能とすることを目的とする。
【解決手段】クライアントノードは、本発明のネットワーク接続記憶デバイスに対し、仮想ブロックアドレスへのデータ書き込みまたは読み込みを要求し、ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、仮想ブロックアドレスを物理ディスクへのアクセス位置である論理ブロックアドレスに変換する。
【選択図】 図3
【解決手段】クライアントノードは、本発明のネットワーク接続記憶デバイスに対し、仮想ブロックアドレスへのデータ書き込みまたは読み込みを要求し、ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、仮想ブロックアドレスを物理ディスクへのアクセス位置である論理ブロックアドレスに変換する。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
【0002】
本発明は、コンピュータネットワークを利用した情報処理システムに係り、より詳細には、複数のコンピュータ(デバイス)が、物理ディスクにアクセスする際の物理ディスクの共有方法に関する。
【0003】
【従来の技術】
【0004】
最も一般的な、物理ディスクの共有方法は、一つ以上の物理ディスクを有すファイルサーバが、NFS(Network File System)やCIFS(Common Internet FileSystem)、AFP(Apple Filing Protocol)などのサーバプログラムを用い、ネットワークに接続されたクライアントコンピュータに対し、ファイルサーバのファイルシステムを提供する方法である。
【0005】
前記サーバプログラムは、クライアントコンピュータに対し、ファイルサーバのディスクパーティションやディレクトリ、ファイルを提供し、クライアントコンピュータはこれらを自分のハードディスク内部のファイルにアクセスする方法と同様の方法でアクセスすることができる。
【0006】
クライアントコンピュータは、ファイルサーバの物理ディスク上に構成されたファイルシステムへのデータ書き込み命令またはデータ読み込み命令を、ファイルサーバに送信し、ファイルサーバは、クライアントコンピュータこの命令に基づいて、物理ディスクにデータの書き込み処理およびデータの読み込み処理を行う。
【0007】
NFSやCIFSでは、ファイルサーバの物理ディスク上に構成されたファイルシステムを、複数のクライアントコンピュータが共有することができる。
【0008】
このファイルシステムの共有方法は、クライアントコンピュータから送られてきたユーザアカウントとパスワードを認証キーに用い、認証キーに応じ、ファイルサーバのディスクパーティションやディレクトリ、ファイルを割り当てることによって行われる。
【0009】
しかし、ユーザアカウントやパスワードのみで認証を行うため、これらが漏洩してしまった場合、第三者に不正利用される可能性がある。
【0010】
また、NFS、およびCIFS、AFPの最小アクセス単位はファイルであり、クライアントコンピュータにはファイルサーバに適合したファイルシステムおよび専用のクライアントプログラムが必要であった。
【0011】
また、前記ファイルサーバのOSの簡素化および処理のハードウェア化等により、性能向上を図ったものがNAS(Network Attached Storage)である。
【0012】
一方、上記のNFS、CIFS、AFPとは別の考え方で、物理ディスクを共有する方法に、SAN(Storage Area Network)がある。
【0013】
SANとは、SCSI(Small Computer System Interface)を発展させたものであり、ファイバチャネル(Fibre Channel Protocol)やiSCSIのようなシリアルSCSIプロトコルで通信する2台以上のデバイス(通常は、ストレージ、およびそのストレージにアクセスするクライアントコンピュータ)を指す。
【0014】
SCSI(Small Computer System Interface)は、もともとは小型コンピュータシステムの補助記憶装置用に考え出されており、SCSI仕様は、物理的仕様(ケーブルやコネクタ、電気信号など)と論理仕様(機器間のやりとりの取り決め)からなる。
【0015】
このSCSIには、接続デバイス数の制限(最大16台)およびケーブル長の制限等の問題を有しており、これらを解決するためSCSIの物理的仕様を改良したものが、ファイバチャネル(Fibre Channel)やiSCSI等に代表されるSANである。
【0016】
SANは、高速なデータ転送やデータベースなどの特殊なファイルシステムが必要な場合に利用されることが多い。
【0017】
SANにおけるストレージは、一つ以上の物理ディスクを有し、通常、RAID(redundancy information)機能を備える。
【0018】
このRAID機能を用いることにより、複数の物理ディスクを、一つの大容量のストライプ(複数の物理ディスクをまとめた仮想ディスク)として扱うこと等が可能となる。
【0019】
コンピュータがストレージにアクセスする際の最小アクセス単位は物理ブロックであり、NFSやCIFS等とこの点で異なる。
【0020】
つまり、コンピュータはデータベース等の独自ファイルシステムをストレージ上に構成できる点で、NFSやCIFSと異なるのである。
【0021】
SANにおいて、ストレージを複数のクライアントコンピュータが共有する際には、通常、ゾーニングまたはLUNマスキングを用いる。
【0022】
ゾーニングとは、SANスイッチのポート、またはコンピュータやストレージのHBA(Host Bus Adapter)に関連付けられたWWN(World Wide Name)、ネットワーク層のプロトコルのいずれかを基に、ストレージにアクセス可能なクライアントコンピュータを制限することである。
【0023】
ゾーニングでは、クライアントコンピュータが対象のストレージにアクセスできるか、できないかのみを判断するため、一つのストレージの共有方法は提供されていない。
【0024】
また、LUNマスキングとは、ストレージが有す1つ以上のLUN(Logical Unit Number)を基に、LUNにアクセス可能なクライアントコンピュータを制限することである。
【0025】
なお、LUNとは、物理的なストレージの単位を論理的に表現するものであり、「物理ディスク(テープドライブ)」、「複数の物理ディスクがストライプされた論理ディスク」、「ミラーストライプ化された論理ディスク」を指す。
【0026】
例として、ストレージの論理ディスク1にLUN1が、論理ディスク2にLUN2が割り当てられていると仮定する。
【0027】
このクライアントコンピュータAとLUN1を関連付けることで、クライアントコンピュータAは論理ディスク1のみにアクセス可能となり、またクライアントコンピュータBとLUN2を関連付けることで、クライアントコンピュータBは論理ディスク2のみにアクセス可能となる。
【0028】
LUNマスキングでは、クライアントコンピュータが対象のLUNにアクセスできるか、できないかのアクセス制限方法のみを提供し、複数のクライアントコンピュータがLUNを共有する方法は提供されていない。
【0029】
従来のSANは、ストレージ専用の閉じたネットワークで構成されていたため、セキュリティはそれほど重要ではなかった。
【0030】
しかし、不特定多数のコンピュータが接続されたIP環境を利用するiSCSIにとって、認証は重要な問題である。
【0031】
このため、iSCSIにおけるストレージの共有方法には、LUNマスキングにログインIDとパスワードを用いる認証機能を追加したVLUN(Virtual LUN)が用いられる。
【0032】
このVLUNでは、あらかじめ、LUNに対応付けられたログインIDとパスワードとをiSCSIストレージで設定しておき、次いで、クライアントコンピュータから受信したログインIDとパスワードで認証を行い、認証が正しく行われた場合、利用可能なLUNをクライアントコンピュータに送信する。
【0033】
そして、クライアントコンピュータは、iSCSIストレージから受信したLUNを使用し、iSCSIストレージのLUNにアクセスするのである。
【0034】
クライアントコンピュータは複数のLUNを扱うこともできる。
【0035】
この場合、LUN毎に、異なったファイルシステムを構成することができるが、一つの大容量のディスク(連続したディスクアクセス領域)としては扱えない。
【0036】
また、iSCSIにおいても、VLUNの認証にログインIDとパスワードを用いるため、これらが漏洩した場合、第三者に不正利用される可能性がある。
【0037】
【発明が解決しようとする課題】
NFS、CIFS、AFSでは、ファイルサーバ上の一つのファイルシステムを複数のコンピュータで共有することが可能であるが、この際に、ユーザアカウントやパスワードを用い認証を行う。
【0038】
このため、クライアントコンピュータにユーザアカウントやパスワードを設定する手段、およびそれらをファイルサーバに送信する手段(通常は、さらにパスワードの暗号化手段も含む)が必要である。
【0039】
また、クライアントコンピュータにファイルサーバと適合したファイルシステムおよび専用のクライアントプログラムが必要である。
【0040】
上記の2つの理由から、NFS、CIFS、AFSでは、クライアントコンピュータが備えるべき機能が多く、小型化が困難であった。
【0041】
一方、SANでは、ストレージを複数のクライアントコンピュータで共有する際、ストレージをLUNで分割し、各クライアントコンピュータに割り振っていた。
【0042】
このため、クライアントコンピュータはストレージに使用するLUNを通知する必要があり、LUNを設定する手段(iSCSIでは、ストレージからLUNを取得する手段)、およびLUNをストレージに送信する手段が必要であった。
【0043】
また、SANにおいては、一つのLUNを複数のコンピュータで共有することや、複数のLUNを一つのディスクのように扱うことが出来なかった。
【0044】
つまり、クライアントコンピュータは、LUNで分けられた複数のディスクを割り当てられても、それらを連続したディスクアクセス領域として扱うことはできないということである。
【0045】
また、SANでは、1台のストレージを複数のクライアントコンピュータで共有することはできるが、1つのLUNをボリュームとして共有することはできない。
【0046】
もし、クライアントが連続したディスクアクセス領域を使用する場合には、一つのLUNでそれを提供しなければならないが、ストレージでLUNに割り当てられた物理ディスク・論理ディスクを変更することは難しく、クライアントコンピュータへのディスク割り当て方法は柔軟性が乏しかった。
【0047】
さらに、iSCSIでは、LUNの割り当てに、ログインIDやパスワードを用いて認証を行うため、クライアントコンピュータにそれらを設定する手段および送信する手段が必要である、という問題があった。
【0048】
上記の問題点を解決するため、本発明のネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成する。
【0049】
これにより、アカウント(ログインID)、パスワードを用いなくとも、クライアントコンピュータを認証でき、さらに、LUNを使用せずに、物理ディスクや論理ディスクをクライアントコンピュータに割り当てることができる。
【0050】
つまり、アカウント(ログインID)、パスワードを用いないことで、パスワード等の入力手段を備えない家電や小型デバイス等からの利用が容易となる。
【0051】
また、LUNを使用しないことで、クライアントコンピュータに連続したディスクアクセス領域を提供でき、さらに、このディスクアクセス領域の変更も容易になる。
【0052】
【課題を解決するための手段】
請求項1記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と仮想ディスク番号とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0053】
これにより、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0054】
さらに、アカウント(ログインID)およびパスワードを用いることなく、前記仮想ディスクまたは物理ディスク、論理ディスクをクライアントコンピュータに割り当てることができる。
【0055】
請求項2記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された仮想ディスクアクセス手段(36) を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、前記仮想ディスクアクセス手段(36)に送信し、前記仮想ディスクアクセス手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報を基に、前記仮想ブロックアドレスを論理ブロックアドレスに変換した後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記仮想ディスクアクセス手段(36)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0056】
これにより、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0057】
さらに、アカウント(ログインID)およびパスワードを用いることなく、前記仮想ディスクまたは物理ディスク、論理ディスクをクライアントコンピュータに割り当てることができる。
【0058】
請求項3記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、ネットワーク層のプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記ネットワーク層のプロトコル情報と仮想ディスク番号とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記ネットワーク層のプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記ネットワーク層のプロトコル情報から前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0059】
これにより、ネットワーク層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0060】
請求項4記載のネットワーク接続記憶デバイスは、請求項1、または2、3に記載のネットワーク接続記憶デバイスであって、前記ネットワーク層のプロトコル情報が、宛先IPアドレスおよび送信元IPアドレスの少なくとも一つである、ことを特徴とする。
【0061】
これにより、宛先IPアドレスおよび送信元IPアドレスの少なくとも一つを基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0062】
請求項5記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、データリンク層のプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記データリンク層のプロトコル情報と仮想ディスク番号とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層のプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層のプロトコル情報から前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0063】
これにより、データリンク層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0064】
請求項6記載のネットワーク接続記憶デバイスは、請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、前記データリンク層のプロトコル情報が、MPLSの受信ラベル値である、ことを特徴とする。
【0065】
これにより、MPLSの受信ラベル値を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0066】
請求項7記載のネットワーク接続記憶デバイスは、請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、前記データリンク層のプロトコル情報が、フレームリレーのDLCI値である、ことを特徴とする。
【0067】
これにより、フレームリレーのDLCI値を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0068】
請求項8記載のネットワーク接続記憶デバイスは、請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、前記データリンク層のプロトコル情報が、ATMのVP識別子値およびVC識別子値の少なくとも一つである、ことを特徴とする。
【0069】
これにより、ATMのVP識別子値およびVC識別子値の少なくとも一つを基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0070】
請求項9記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、トランスポート層のプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記トランスポート層のプロトコル情報と仮想ディスク番号とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記トランスポート層のプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記トランスポート層のプロトコル情報から前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0071】
これにより、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0072】
請求項10記載のネットワーク接続記憶デバイスは、請求項1、または2、9に記載のネットワーク接続記憶デバイスであって、前記トランスポート層のプロトコル情報が、TCPヘッダまたはUDPヘッダの、宛先ポート番号および送信元ポート番号の少なくとも一つである、ことを特徴とする。
【0073】
これにより、TCPヘッダまたはUDPヘッダの、宛先ポート番号および送信元ポート番号の少なくとも一つを基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0074】
請求項11記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスおよび命令コードと、データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と仮想ディスク番号およびアクセス許可識別子とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、命令コードと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号と前記アクセス許可識別子とを得、次いで、前記命令コードと前記アクセス許可識別子とを比較し、前記命令コードが前記アクセス許可識別子で許可されている場合のみ、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0075】
これにより、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0076】
さらに、仮想ディスクテーブル(36b)の属性にアクセス許可識別子を加えることにより、仮想ディスク毎のアクセス制限を可能とする。
【0077】
請求項12記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、仮想ブロックアドレスと論理ブロックアドレスとを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ブロックアドレスをキーとして、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、ことを特徴とする。
【0078】
これにより、請求項1、または2、3、4、5、6、7、8、9、10に記載のネットワーク接続記憶デバイスにおいて、仮想ディスクアクセステーブル(36b)を用い、仮想ブロックアドレスから論理ブロックアドレスへ直接変換することができる。
【0079】
請求項13記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと物理ディスク番号と前記論理ブロックアドレスとを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ブロックアドレスをキーとして、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、前記物理ディスク番号と前記論理ブロックアドレスとを得た後、前記物理ディスク番号と前記論理ブロックアドレスとを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記物理ディスク番号と前記論理ブロックアドレスとを受信し、次いで、前記物理ディスク番号に対応する物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク番号に対応する物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行う、ことを特徴とする。
【0080】
これにより、複数の物理ディスクに跨った仮想ディスクを構成することができ、また、クライアントノードは、複数の物理ディスクに跨ったディスク領域のアクセスに際し、RAIDやLUN等を用いることなく、アクセスすることができる。
【0081】
請求項14記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、仮想セグメント番号と開始論理ブロックアドレスとを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ブロックアドレスから前記仮想セグメント番号を導出した後、前記仮想セグメント番号をキーとして、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、前記開始論理ブロックアドレスを得、次いで、前記開始論理ブロックアドレスから前記論理ブロックアドレスを導出した後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、ことを特徴とする。
【0082】
これにより、請求項1、または2、3、4、5、6、7、8、9、10に記載のネットワーク接続記憶デバイスにおいて、仮想ディスクアクセステーブル(36c)に、連続した複数の仮想ブロックアドレスをまとめて記載することができ、仮想ディスクアクセステーブル(36c)のレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めることができる。
【0083】
請求項15記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、リミット値とオフセット値とを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)から前記リミット値と前記オフセット値とを得、次いで、前記リミット値と前記オフセット値と前記仮想ブロックアドレスとを用いて、前記論理ブロックアドレスを導出した後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、ことを特徴とする。
【0084】
これにより、請求項1、または2、3、4、5、6、7、8、9、10に記載のネットワーク接続記憶デバイスにおいて、仮想ブロックアドレスから論理ブロックアドレスへの変換に際し、オフセット値とリミット値を用いることができ、仮想ディスクアクセステーブル(36c)のレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めることができる。
【0085】
請求項16記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、仮想セグメントの開始値と仮想セグメントの終了値とオフセット値とを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記仮想セグメントの開始値と前記オフセット値とを得た後、前記仮想セグメントの開始値と前記オフセット値と前記仮想ブロックアドレスとを用い前記論理ブロックアドレスを導出し、次いで、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、ことを特徴とする。
【0086】
これにより、請求項1、または2、3、4、5、6、7、8、9、10に記載のネットワーク接続記憶デバイスにおいて、仮想ブロックアドレスから論理ブロックアドレスへの変換に際し、オフセット値とリミット値を用いて連続した複数の仮想ブロックアドレスをまとめて記載することができ、仮想ディスクアクセステーブル(36c)のレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めることができる。
【0087】
請求項17記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11、12、13、14、15、16に記載のネットワーク接続記憶デバイスに対し、クライアントノードは、仮想ブロックアドレスを指定して、仮想ディスクへのデータの書き込みまたは前記仮想ディスクからのデータの読み込みを要求し、前記ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコル情報を基に、前記仮想ブロックアドレスを論理ブロックアドレスに変換した後、前記論理ブロックアドレスを指定して、物理ディスクへのデータの書き込みまたは物理ディスクからのデータの読み込みを行うことを特徴とする。
【0088】
これにより、請求項1、または2、3、4、5、6、7、8、9、10、11、12、13、14、15、16に記載のネットワーク接続記憶デバイスに対し、クライアントノードは、仮想ブロックアドレスへのデータ書き込みまたは読み込みを要求し、ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、仮想ブロックアドレスを物理ディスクへのアクセス位置である論理ブロックアドレスに変換することにより、クライアントノードは、自装置の物理ディスクまたはストレージネットワークを介して接続されたストレージにアクセスする場合と同様のアドレス指定方法により、仮想的に構成された物理ディスクに対しアクセスを行うことができる。
【0089】
【発明の実施の形態】
【0090】
以下、本発明の第1の実施の形態について図面を参照して説明する。
【0091】
図1は、第1の実施の形態におけるネットワーク接続記憶デバイス1を有するネットワークシステムの概略図である。
【0092】
図1に示すネットワークシステムでは、それぞれLAN接続されたA事業部とB事業部のコンピュータシステムをインターネットに接続した構成を例示している。
【0093】
A事業部側のコンピュータシステムではLAN5に接続されたネットワーク接続記憶デバイス1、およびコンピュータ2、デバイス3が、ルータ4を介してインターネットに接続されている。
【0094】
また、B事業部側のコンピュータシステムも同様にLAN15に接続されたコンピュータ12、およびデバイス13が、ルータ14を介してインターネットに接続されている。
【0095】
ルータ4は、LAN5とインターネットを接続する機器であり、IP(インターネットプロトコルバージョン4)等のネットワーク層のプロトコル情報に基づきB事業部宛てのパケットの転送処理を行う。
【0096】
また、ルータ14も同様に、LAN15とインターネットを接続する機器であり、IP等のネットワーク層のプロトコル情報に基づきA事業部宛てのパケットの転送を行う。
【0097】
なお、ネットワーク層等の各層の分類および各層のプロトコルは、OSI(Open Systems Interconnection)の参照モデルに準ずる。
【0098】
コンピュータ2およびコンピュータ12は、それぞれLAN5およびLAN15に接続されており、通常はネットワークインターフェースを装備したパーソナルコンピュータまたはUNIX(登録商標)ワークステーション等である。
【0099】
デバイス3およびデバイス13は、それぞれLAN5およびLAN15に接続されており、通常はネットワークに直接接続された、情報家電、プリンタ、或いは、スキャナといったコンピュータ以外のネットワークに直接接続された入出力デバイスである。
【0100】
また、ネットワーク接続記憶デバイス、ルータ、デバイス、コンピュータには、各々を識別するためのIPアドレスが、割り当てられている。
【0101】
A事業部側のIPアドレスとして、コンピュータ2に10.1.1.3が、デバイス3に10.1.1.4が、ルータ4に10.1.1.254が、割り当てられており、B事業部側では、コンピュータ12に20.2.2.3が、デバイス13に20.2.2.4が、ルータ14に20.2.2.254が、割り当てられている。
【0102】
また、ネットワーク接続記憶デバイス1には、10.1.1.1と10.1.1.2の2つのIPアドレスが、割り当てられている。
【0103】
なお、実施の形態ではネットワーク接続記憶デバイス1に、2つのIPアドレスを割り当てた場合を説明するが、IPアドレスを1つだけ割り当てる場合や、3つ以上のIPアドレスを割り当てる場合もある。
【0104】
コンピュータ2とネットワーク接続記憶デバイス1は、IP等のネットワーク層のプロトコルを用いデータの送信または受信を行う。
【0105】
同様に、デバイス3とネットワーク接続記憶デバイス1、コンピュータ12とネットワーク接続記憶デバイス1、デバイス13とネットワーク接続記憶デバイス1も、IP等のネットワーク層のプロトコルを用いデータの送信または受信を行う。
【0106】
なお、ネットワーク層のプロトコルとしてインターネットプロトコルバージョン4を適用して実施の形態を説明したが、本発明はインターネットプロトコルバージョン6、AppleTalk、IPX等にも同様に適用できる。
【0107】
また、LAN5およびLAN15のトポロジーとしてBroadcast型を適用して実施の形態を説明したが、本発明はPoint−to−Point型にも同様に適用できる。
【0108】
図2は、ネットワーク接続記憶デバイス1の構成を示すブロック図である。
【0109】
図3は、図2におけるネットワーク接続記憶デバイス1が備える手段を示すブロック図である。
【0110】
図4は、図3における各手段を構成する要素およびそのデータフローを示すブロック図である。
【0111】
以下、図2および図3、図4におけるネットワーク接続記憶デバイス1について説明する。
【0112】
ネットワーク接続記憶デバイス1は、物理ディスク21と物理ディスク22とネットワークコントローラ24とネットワークインターフェース25と仮想ディスクインターフェース26とデバイスドライバ27とを備える。
【0113】
そして、この物理ディスク21および物理ディスク22は内部バス23を介してデバイスドライバ27と接続され、ネットワークコントローラ24およびネットワークインターフェイス25は内部バス28を介して接続される。
【0114】
なお、内部バス23とは、物理ディスク21および物理ディスク22との接続に用いるIDEバス、SCSIバス、ファイバチャネルSAN、iSCSI SANである。
【0115】
また、内部バス28は、汎用デバイスを接続するためのシステムバスであり、PCIバス、ISAバス、PCMCIA、CardBUS、USB、IEEE1394等である。
【0116】
物理ディスク21は、ドライブ21aとディスクコントローラ21bとからなる、補助記憶装置である。
【0117】
通常、ドライブ21aは、記憶媒体と、記憶媒体へのデータの書き込み機能、または記憶媒体からのデータの読み込み機能の少なくとも一つとを有す。
【0118】
ドライブ21aは、その内部に有す記憶媒体の種類により、読み込み可能かつ書き込み可能、または読み込み可能かつ書き込み不可能の2種類に分類できる。
【0119】
読み込み可能かつ書き込み可能な記憶媒体は、通常、IDEハードディスクやEIDEハードディスク、SCSIハードディスク等であり、ドライブ21aは、ディスクコントローラ21bから受信したデータを記憶媒体に書き込む機能、および記憶媒体から読み込んだデータをディスクコントローラ21bに送信する機能を有す。
【0120】
また、読み込み可能かつ書き込み不可能な記憶媒体は、通常CD−ROMや、DVD−ROM等であり、読み込み可能かつ書き込み可能なドライブ21aと比較すると、ドライブ21aにデータを書き込む機能を有していない等の違いがある。
【0121】
ここではドライブ21aがEIDEハードディスクの場合について実施の形態を説明する。
【0122】
EIDEハードディスクでは、デバイスドライバ27がディスクコントローラ21bに対し、記憶媒体へのデータ格納位置を指示する際に、論理ブロックアドレスを用いる。
【0123】
この論理ブロックアドレスとは、記憶媒体の書き込みおよぴ読み込み位置を示す3つパラメータ(シリンダ、ヘッド、セクタ)を、1つのパラメータ(論理ブロックアドレス)で表現できるように、記憶媒体の先頭のセクタから順番に割り当てた連続した番号のことである。
【0124】
なお、本発明では、物理ディスク21にEIDEハードディスクを適用して実施の形態を説明するが、SCSIハードディスク、光磁気ディスク、CD−ROM、CD−R、フロッピー(登録商標)ディスク等にも同様に適用できる。
【0125】
ディスクコントローラ21bは、ドライブ21aと、内部バス23を介してデバイスアクセス手段37と接続されている。
【0126】
ディスクコントローラ21bは、ドライブ21a内のアームの移動や記憶媒体の回転の制御、およびドライブ21aへのデータの書き込み、ドライブ21aからのデータの読み込み、読み込みデータのエラー検出と訂正、データの書き込み中または読み込み中のロック、データ転送等の処理を行なう。
【0127】
ディスクコントローラ21bは、デバイスドライバ27から内部バス23を介して読み書き可能なデータレジスタと、ドライブ21aの論理ブロックアドレスからの読み込みデータ、または論理ブロックアドレスへの書き込みデータを、一時的に格納する内部バッファとを備える。
【0128】
以下に、ディスクコントローラ21bがドライブ21aからデータを読み込む手順について詳細を説明する。
【0129】
1.ディスクコントローラ21bは、データ読込み手段37bから内部バス23を介して論理ブロックアドレスとデータ読み込みの制御コマンドとを受信し、次いで、論理ブロックアドレスをシリンダ、ヘッド、セクタの3つのパラメータに展開する。
【0130】
2.ディスクコントローラ21bは、記憶媒体の対応するシリンダ、ヘッド、セクタからデータを読み込み、次いで、前記データを内部バッファに格納する。
【0131】
3.ディスクコントローラ21bは、内部バッファ内のデータの先頭から内部バス23の転送単位分のデータを、データレジスタに格納する。
【0132】
4.データ読込み手段37bは、データレジスタのデータを読み込み、読み込みが完了すると、ディスクコントローラ21bは次の内部バス23の転送単位分のデータをデータレジスタに格納する。
【0133】
5.以降、内部バッファが無くなるまで、4を繰り返すことにより、データ読込み手段37bに第2のデータブロックを送信する。
【0134】
次に、ディスクコントローラ21bがドライブ21aにデータを書き込む手順について説明する。
【0135】
1.ディスクコントローラ21bは、データ書込み37aから内部バス23を介して論理ブロックアドレスとデータ書き込みの制御コマンドとを受信し、次いで、論理ブロックアドレスをシリンダ、ヘッド、セクタの3つのパラメータに展開する。
【0136】
2.データ書込み37aは、ディスクコントローラ21b内のデータレジスタに、第1のデータブロックのうちから内部バス23の転送単位分のデータを書き込み、次いで、ディスクコントローラ21bは前記データをデータレジスタから内部バッファに格納する。
【0137】
3.ディスクコントローラ21bは、内部バッファに書き込み単位分のデータが蓄積されると、記憶媒体の対応するセクタに、内部バッファ内のデータを書き込む。
【0138】
また、セクタへのデータの書き込みが終わる都度、論理ブロックアドレスをシフトする。
【0139】
4.以降、第1のデータブロックが無くなるまで、2,3を繰り返し、データ書込み37aからディスクコントローラ21bへの第1のデータブロックの送信を完了させる。
【0140】
なお、本発明のドライブ21aおよびディスクコントローラ21bは、従来から用いられているEIDE、SCSIハードディスク等と機能面および構造面で等しく、前期ハードディスク等を用いて実現可能である。
【0141】
また、物理ディスク22についても物理ディスク21と同様の機能および構造を有す。
【0142】
デバイスドライバ27は、物理ディスク21および物理ディスク22と内部バス23を介して接続され、また、ネットワークコントローラ24および仮想ディスクインターフェース26とも接続されている。
【0143】
デバイスドライバ27は、デバイスアクセス手段37を備え、データ復元手段32からWRITE命令コードと第1のデータブロックとを、仮想ディスクアクセス手段36から論理ブロックアドレスを、受信し、次いで、ディスクコントローラ21bを制御し、ドライブ21aの論理ブロックアドレスに第1のデータブロックを書き込む機能、および、データ復元手段32からREAD命令コードを、仮想ディスクアクセス手段36から論理ブロックアドレスを、受信し、次いで、ディスクコントローラ21bを制御し、ドライブ21aの論理ブロックアドレスから第2のデータブロックを読み込む機能の少なくとも一つを有す。
【0144】
なお、デバイスドライバ27と物理ディスク22との関係は、デバイスドライバ27と物理ディスク21の関係と同じである為、以下、物理ディスク22については省略し、物理ディスク21についてのみ実施の形態を説明する。
【0145】
以下、デバイスアクセス手段37について詳細を説明する。
【0146】
デバイスアクセス手段37は、システム起動時にディスクコントローラ21bのデータレジスタと入出力メモリのマッピングを行い、この入出力メモリ(データレジスタ)を介してディスクコントローラ21bとのデータブロックの送受信を行う。
【0147】
また、デバイスアクセス手段37は、ディスクコントローラ21bへの制御コマンドの送信、および割り込み処理やポーリング等によるディスクコントローラ21bの制御(動作状況監視やタイムアウト検出等)を行う。
【0148】
なお、内部バス23を介してのデータ転送に際し、DMA(Direct Memory Access)を用いる場合には、デバイスアクセス手段37はDMAの動作制御も行なう。
【0149】
デバイスアクセス手段37は、ディスクコントローラ21bを制御しドライブ21aに第1のデータブロックを書き込む、データ書込み手段37aと、ディスクコントローラ21bを制御しドライブ21aから第2のデータブロックを読み込む、データ読込み手段37bと、を備える。
【0150】
次に、データ書込み手段37aについて説明する。
【0151】
データ書込み手段37aは、データ抽出手段32aからWRITE命令コードと第1のデータブロックとを受信し、また、論理ブロック変換手段36aから論理ブロックアドレスを受信する。
【0152】
次いで、データ書込み手段37aは、命令コードをディスクコントローラ21bが解釈可能な命令形体に展開した制御コマンドと、論理ブロックアドレスとを、ディスクコントローラ21bに送信する。
【0153】
次いで、データ書込み手段37aは、ディスクコントローラ21bがデータ受信可能な状態にあることを確認した後、第1のデータブロックをディスクコントローラ21bに送信する。
【0154】
次に、データ読込み手段37bについて説明する。
【0155】
データ読込み手段37bは、データ抽出手段32aからREAD命令コードを受信し、また、論理ブロック変換手段36aから論理ブロックアドレスを受信する。
【0156】
次いで、データ読込み手段37bは、ディスクコントローラ21bに、論理ブロックアドレスと制御コマンドとを送信する。
【0157】
次いで、データ読込み手段37bは、ディスクコントローラ21bがデータ送信可能な状態にあることを確認した後、ディスクコントローラ21bから第2のデータブロックを受信し、次いで、この第2のデータブロックをカプセル化手段34aに送信する。
【0158】
なお、通常、命令コードをディスクコントローラ21bが解釈可能な命令形体に展開した、制御コマンドは、物理ディスク21の機種に依存する。
【0159】
このため、デバイスアクセス手段37は、データ抽出手段32aから受信した命令コードを、物理ディスク21に対応した制御コマンドに変換する機能を有している。
【0160】
これにより、制御コマンドの形式が異なる物理ディスク21に対しても、データ抽出手段32aは共通化された命令コードを使用することが出来る。
【0161】
なお、本発明のデバイスドライバ27は、一般的なオペレーティングシステムの物理ディスク用のデバイスドライバと機能面でほぼ等しい。
【0162】
ネットワークコントローラ24は、デバイスドライバ27、およびネットワークインターフェース25、仮想ディスクインターフェース26と接続されている。
【0163】
ネットワークコントローラ24は、データ復元手段32とネットワーク情報管理手段33とパケット生成手段34とを備え、デバイスドライバ27から受信した第2のデータブロックをIPによるカプセル化およびフラグメント化により第2のIPパケットとした後、ネットワークインターフェース25に送信する機能と、IPによるリアセンブリにより前記第1のIPパケットから第1のデータブロックを抽出した後、第1のデータブロックをデバイスドライバ27に送信する機能と、ネットワークインターフェース25から受信した第1のIPパケット内の宛先IPアドレスと送信元IPアドレスと仮想ブロックアドレスとを仮想ディスクインターフェース26に送信する機能と、を有す。
【0164】
以下、ネットワークコントローラ24が備える各手段について詳細を説明する。
【0165】
パケット生成手段34は、IPによる、カプセル化およびフラグメント化により、デバイスアクセス手段37から受信した第2のデータブロックを第2のIPパケットとした後、第2のIPパケットをデータ送信手段35に送信する。
【0166】
データ復元手段32は、IPによるリアセンブリにより、データ受信手段31から受信した第1のIPパケットを含む少なくとも1つ以上のIPパケットから第1のデータブロックを復元した後、第1のデータブロックをデバイスアクセス手段37に送信する。
【0167】
また、データ復元手段32は、第1のIPパケットの宛先IPアドレスと送信元IPアドレスと仮想ブロックアドレスとを仮想ディスクアクセス手段36に送信し、さらに必要に応じて、第1のIPデータグラムをネットワーク情報管理手段33に送信する。
【0168】
ネットワーク情報管理手段33は、ネットワーク接続記憶デバイス1のIPアドレス、およびサブネットアドレス、ホスト名、ゲートウェイアドレス等のネットワーク情報の設定および管理を行う。
【0169】
ネットワークインターフェース25は、ネットワークコントローラ24、およびネットワークの物理媒体20と接続されている。
【0170】
ネットワークインターフェース25は、データ送信手段35とデータ受信手段31とを備え、ネットワークコントローラ24から受信した第2のIPパケットを、データリンク層のプロトコルによるカプセル化により第2のフレームとした後、物理層のプロトコルに従い第2のフレームをネットワークの物理媒体20に送信する機能、および、ネットワークの物理媒体20から第1のフレームを受信した後、第1のフレームから第1のIPパケットを抽出した後、第1のIPパケットをネットワークコントローラ24に送信する機能を有す。
【0171】
以下、ネットワークインターフェース25が備える各手段について詳細を説明する。
【0172】
データ送信手段35は、パケット生成手段34から第2のIPパケットを受信し、次いで、データリンク層のプロトコルによるカプセル化により第2のIPパケットから第2のフレームを生成し、その後、物理層のプロトコルに従い第2のフレームをネットワークの物理媒体20に送信する。
【0173】
データ受信手段31は、ネットワークの物理媒体20からネットワーク接続記憶デバイス1宛ての第1のフレームを受信し、次いで、第1のフレームから第1のIPパケットを抽出し、第1のIPパケットをデータ復元手段32に送信する。
【0174】
なお、Ethernet(登録商標)を用いたLANでは、データリンク層および物理層のプロトコルは、通常、IEEE(Institute of Electronics Engineers)が定めるIEEE802.3等の仕様に準ずる。
【0175】
また、IPによる、リアセンブリ、カプセル化、フラグメント化等は、ISOC(Internet Society)が発行するRFC(Request for Comments)の仕様に準ずる。
【0176】
また、本発明では、第1のフレームから第1のIPパケットを抽出した後、第1のIPパケットからデータを組み立てる手順で実施の形態を説明したが、実装時には、第1のフレームから第1のIPパケットを抽出する手順を省き、第1のフレームからIPヘッダを直接参照し、データを組み立てる等の、処理の簡略化を図る場合もある。
【0177】
仮想ディスクインターフェース26は、デバイスドライバ27、およびネットワークコントローラ24と接続されている。
【0178】
仮想ディスクインターフェース26は、ネットワークコントローラ24から受信した第1のIPパケット内の、送信元IPアドレスおよび宛先IPアドレスの少なくとも一つを基に、仮想的な物理ディスクを構成することを特徴とする。
【0179】
仮想ディスクインターフェース26は、ネットワークコントローラ24から受信した第1のIPパケット内の、送信元IPアドレスおよび宛先IPアドレスの少なくとも一つと、仮想ブロックアドレスとを受信した後、送信元IPアドレスおよび宛先IPアドレスの少なくとも一つを基に、仮想ブロックアドレスを、物理ディスクのアクセス位置を表す論理ブロックアドレスに変換することにより、実物理ディスク上に仮想的な物理ディスクを構成する、仮想ディスクアクセス手段36を有す。
【0180】
この実物理ディスク上に構成された、仮想的な物理ディスクを仮想ディスクと呼ぶ。
【0181】
仮想ブロックアドレスとは、コンピュータ2、またはコンピュータ12、デバイス3、デバイス13(以下、コンピュータ2、またはコンピュータ12、デバイス3、デバイス13を、クライアントノードと呼ぶ)が、ネットワーク接続記憶デバイス1へのディスクアクセスの際に用いる、仮想ディスクのアクセス位置を表すアドレスである。
【0182】
また、論理ブロックアドレスとは、ネットワーク接続記憶デバイス1がその内部に有す物理ディスク21にアクセスする為に、デバイスドライバ27がディスクコントローラ21bに送信する、実際の物理ディスク21のアクセス位置を表すアドレスである。
【0183】
以下、仮想ディスクアクセス手段36について詳細を説明する。
【0184】
仮想ディスクアクセス手段36は、論理ブロック変換手段36aと仮想ディスクテーブル36bと仮想ディスクアクセステーブル36cと仮想ディスクテーブル設定手段36dとを備える。
【0185】
図7に、仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0186】
仮想ディスクテーブル36bは、宛先IPアドレスと送信元IPアドレスと仮想ディスク番号とを属性として持ち、{宛先IPアドレス,送信元IPアドレス}を連結キーとする。
【0187】
図16に、仮想ディスクアクセステーブル36cのテーブル構造および格納データを示す。
【0188】
仮想ディスクアクセステーブル36cは、一つ以上のテーブルからなり、仮想ディスク番号毎に対応する仮想ディスクアクセステーブルが存在する。
【0189】
仮想ディスクアクセステーブル36cは、仮想ブロックアドレスと論理ブロックアドレスとを属性としてもち、仮想ブロックアドレスをキーとする。
【0190】
ここで、仮想ディスク番号が1の場合の仮想ディスクアクセステーブル36cを、第1の仮想ディスクアクセステーブルとし、仮想ディスク番号が2の場合の仮想ディスクアクセステーブル36cを、第2の仮想ディスクアクセステーブルとする。
【0191】
以下に、仮想的な物理ディスクの構成方法について詳細を説明する。
【0192】
まず、論理ブロック変換手段36aは、データ抽出手段32aから、宛先IPアドレスと、送信元IPアドレスと、仮想ブロックアドレスとを受信した後、宛先IPアドレスと送信元IPアドレスとをキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号を得る。
【0193】
つまり、図10において、送信元IPアドレスが10.1.1.3で、宛先IPアドレスが10.1.1.1の場合、仮想ディスク番号として1を得る。
【0194】
次いで、論理ブロック変換手段36aは、仮想ブロックアドレスをキーとし、仮想ディスク番号に対応する仮想ディスクアクセステーブル36cを検索し、論理ブロックアドレスを得る。
【0195】
つまり、図16において、仮想ディスク番号が1で、仮想ブロックアドレスが4の場合、第1の仮想ディスクアクセステーブルから、仮想ブロックアドレスが4の行を検索し、論理ブロックアドレスとして300を得る。
【0196】
次いで、論理ブロック変換手段36aは、論理ブロックアドレスを、データ書込み手段37aおよびデータ読込み手段37bに送信する。
【0197】
以上のように、クライアントノードは、ネットワーク接続記憶デバイス1の仮想ディスクの仮想ブロックアドレスにデータの書き込みまたは読み込みを要求し、ネットワーク接続記憶デバイス1は、仮想ブロックアドレスを論理ブロックアドレスに変換し、物理ディスクの論理ブロックアドレスにデータの書き込みまたは読み込みを行う。
【0198】
これにより、クライアントノードが、ネットワーク接続記憶デバイス1の物理ディスクにアクセスする際に、ネットワーク接続記憶デバイス1が、ネットワーク層のプロトコルのアドレス(送信元IPアドレス、宛先IPアドレス)を基に、仮想ブロックアドレスを物理ディスクのアクセス位置を表す論理ブロックアドレスに変換することで、クライアントノード毎に仮想ディスクを構成することができる。
【0199】
このように、ネットワーク接続記憶デバイス1が、仮想ブロックアドレスを論理ブロックアドレスに変換する機能を持ち、クライアントノードは仮想ブロックアドレスと論理ブロックアドレスとを区別する必要がない為、クライアントノードは自装置の物理ディスクやストレージネットワークを介して接続されたストレージにアクセスする際に用いるアドレス指定方法と、仮想ディスクへのアクセスに適用することができる。
【0200】
また、クライアントノードは、仮想ブロックアドレスのみで仮想ディスクを使用できるため、従来の物理ディスクの共有の際に必要であったアカウント(ログインID)、およびパスワード、LUNは用いなくても良い。
【0201】
したがって、クライアントノードはアカウント(ログインID)、パスワード、LUN等を設定する手段および送信する手段を有す必要がなく、パスワード等の入力手段を備えない家電や小型デバイス等のクライアントノードからの利用が容易となる。
【0202】
また、ネットワーク接続記憶デバイス1は、仮想ディスクアクセステーブル36cにて、連続した仮想ブロックアドレスでアクセス可能な仮想ディスクを割り当てることができる為、クライアントコンピュータに連続したディスクアクセス領域を提供できる。
【0203】
さらに、仮想ディスクアクセステーブル36cに連続した仮想ブロックアドレスのレコードを追加することで、仮想ディスクの連続したディスクアクセス領域を拡張することができ、クライアントコンピュータに柔軟にディスクアクセス領域を割り当てることが可能となる。
【0204】
次に、図4を参照して、ネットワークの物理媒体20から受信した第1のフレームからデータを抽出した後に、データを物理ディスク21に格納する、データ受信方法について説明する。
【0205】
データ受信手段31は、フレーム受信手段31aと受信パケットバッファ31bとを備え、ネットワークの物理媒体20からネットワーク接続記憶デバイス1宛ての第1のフレームを受信し、次いで、第1のフレームから第1のIPパケットを抽出し、第1のIPパケットをデータ復元手段32に送信する。
【0206】
以下に、データ受信手段31におけるデータ受信方法の詳細を説明する。
【0207】
フレーム受信手段31aは、ネットワークの物理媒体20から第1のフレームを受信した後、第1のフレーム内の宛先MAC(Media Access Control)アドレスとネットワーク接続記憶デバイス1自体のMACアドレスとを比較し、一致する場合、第1のフレームから第1のIPパケットを抽出し、受信パケットバッファ31bに送信する。
【0208】
受信パケットバッファ31bは、フレーム受信手段31aから受信した第1のIPパケットを第1のバッファ内に格納した後、フレーム受信手段31aに第1のバッファのアドレスである第1のバッファアドレスを送信する。
【0209】
フレーム受信手段31aは、受信パケットバッファ31bから、第1のバッファアドレスを受信した後、データ抽出手段32aに第1のバッファアドレスを送信する。
【0210】
また、フレーム受信手段31aは、第1のフレーム内の、送信元MACアドレスおよび送信元IPアドレスを、フレームアドレステーブル35cに通知する。
【0211】
データ復元手段32は、データ抽出手段32aを備え、IPによるリアセンブリにより、データ受信手段31から受信した第1のIPパケットを含む少なくとも1つ以上のIPパケットから第1のデータブロックを復元した後、第1のデータブロックをデバイスアクセス手段37に送信する。
【0212】
また、データ復元手段32は、第1のIPパケットの宛先IPアドレスと送信元IPアドレスを仮想ディスクアクセス手段36に送信し、さらに必要に応じて、第1のIPデータグラムをネットワーク情報管理手段33に送信する。
【0213】
以下に、データ復元手段32におけるデータ受信方法の詳細を説明する。
【0214】
データ抽出手段32aは、フレーム受信手段31aから受信した第1のバッファアドレスを基に、受信パケットバッファ31bより第1のIPパケットを取り出す。
【0215】
図5に、データ抽出手段32aがフレーム受信手段31aより受信するIPパケットの例を示す。
【0216】
次に、データ抽出手段32aは、第1のIPパケットのフラグメントオフセットとシーケンシャル番号を基に、第1のIPパケットが分割されたIPパケットであるかどうかを判断し、第1のIPパケットが分割されたIPパケットであった場合、第1のIPパケットの場合と同様の方法で第1’のIPパケットを得る。
【0217】
さらに、第1’のIPパケットも分割されたIPパケットであった場合、第1のIPパケットの場合と同様の方法で第1’’のIPパケットを得る。
【0218】
データ抽出手段32aは、同様にして組立に必要なIPパケットを受信パケットバッファ31bより取り出し、各IPパケットのIPヘッダのフラグメントオフセットとシーケンシャル番号とを基に、RFC791およびRFC815で定めるIPのリアセンブリにより、分割されたIPパケットのデータの組み立てを行い、第1のIPデータグラムを生成する。
【0219】
図6に、データ抽出手段32aで生成された第1のIPデータグラムの例を示す。
【0220】
データ抽出手段32aは、第1のIPデータグラムから、送信元IPアドレスと宛先IPアドレスとペイロードとを抽出し、さらにペイロードから命令コードと仮想ブロックアドレスと第1のデータブロックとを抽出する。
【0221】
なお、命令コードとは、デバイスアクセス手段37に対するWRITE命令、READ命令を符号化したコードである。
【0222】
次いで、データ抽出手段32aは、送信元IPアドレスと宛先IPアドレスとを送信管理手段33aに送信し、仮想ブロックアドレスと送信元IPアドレスと宛先IPアドレスとを論理ブロック変換手段36aに送信する。
【0223】
また、データ抽出手段32aは、命令コードがWRITE命令コードの場合、命令コードと第1のデータブロックとをデータ書込み手段37aに送信し、命令コードがREAD命令コードの場合、命令コードと第1のデータブロックをデータ読込み手段37bに送信する。
【0224】
なお、データ抽出手段32aは、命令コードがデバイスアクセス手段37に対する命令ではない場合、ネットワーク接続記憶デバイス1自体の装置情報の設定または装置情報の要求を行うものとみなし、ペイロードをネットワーク情報設定手段33bに送信する。
【0225】
論理ブロック変換手段36aは、データ抽出手段32aから、送信元IPアドレスと宛先IPアドレスと仮想ブロックアドレスとを受信した後、宛先IPアドレスと送信元IPアドレスとをキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号を得る。
【0226】
次いで、論理ブロック変換手段36aは、仮想ブロックアドレスをキーとし、仮想ディスク番号に対応する仮想ディスクアクセステーブル36cを検索し、論理ブロックアドレスを得る。
【0227】
次いで、論理ブロック変換手段36aは、論理ブロックアドレスを、データ書込み手段37aまたはデータ読込み手段37bに送信する。
【0228】
次に、命令コードがWRITE命令コードの場合のデータ書き込み手順について説明する。
【0229】
データ書込み手段37aは、データ抽出手段32aからWRITE命令コードと第1のデータブロックとを受信し、また、論理ブロック変換手段36aから論理ブロックアドレスを受信する。
【0230】
次いで、データ書込み手段37aは、命令コードをディスクコントローラ21bが解釈可能な命令形体である制御コマンドに展開し、制御コマンドと論理ブロックアドレスとを、ディスクコントローラ21bに送信する。
【0231】
次いで、データ書込み手段37aは、ディスクコントローラ21bがデータ受信可能な状態にあることを確認した後、第1のデータブロックをディスクコントローラ21bに順次送信する。
【0232】
次に、命令コードがREAD命令コードの場合のデータ読み込み手順について説明する。
【0233】
データ読込み手段37bは、データ抽出手段32aからREAD命令コードを受信し、また、論理ブロック変換手段36aから論理ブロックアドレスを受信する。
【0234】
次いで、データ読込み手段37bは、命令コードをディスクコントローラ21bが解釈可能な命令形体である制御コマンドに展開し、制御コマンドと論理ブロックアドレスとを送信する。
【0235】
次いで、データ読込み手段37bは、ディスクコントローラ21bがデータ送信可能な状態にあることを確認した後、ディスクコントローラ21bから第2のデータブロックを受信し、次いで、この第2のデータブロックをカプセル化手段34aに送信する。
【0236】
パケット生成手段34は、カプセル化手段34aを備え、IPによる、カプセル化およびフラグメント化により、デバイスアクセス手段37から受信した第2のデータブロックを第2のIPパケットとした後、第2のIPパケットをデータ送信手段35に送信する。
【0237】
カプセル化手段34aは、データ読込み手段37bから受信した第2のデータブロック、または仮想ディスクテーブル設定手段36dから受信したレコード、ネットワーク情報設定手段33bから受信したネットワーク情報、若しくはテーブル設定手段33cから受信したリストに、送信管理手段33aから受信した送信用のIPヘッダを付与し、第2のIPデータグラムを生成する。
【0238】
また、カプセル化手段34aは、IPによるフラグメント化により、ネットワークの最大転送単位であるMTU(Maximun Transmission Unit)にあわせて、第2のIPデータグラムを分割し、一つ以上のIPパケット(第2のIPパケット)を生成する。
【0239】
カプセル化手段34aは、第2のIPパケットを送信パケットバッファ35bに送信する。
【0240】
送信パケットバッファ35bは、カプセル化手段34aから受信した第2のIPパケットを第2のバッファ内に格納した後、カプセル化手段34aに第2のバッファのアドレスである第2のバッファアドレスを送信する。
【0241】
カプセル化手段34aは、第2のバッファアドレスをフレーム送信手段35aに送信する。
【0242】
データ送信手段35は、フレーム送信手段35aと、送信パケットバッファ35bと、フレームアドレステーブル35cとを備え、パケット生成手段34から第2のIPパケットを受信し、次いで、データリンク層のプロトコルによるカプセル化により第2のIPパケットから第2のフレームを生成し、その後、物理層のプロトコルに従い第2のフレームをネットワークの物理媒体20に送信する。
【0243】
フレームアドレステーブル35cは、IPアドレスとMACアドレスとの対応表を管理しており、フレーム受信手段31aより通知された、IPアドレスとMACアドレスを保持する。
【0244】
また、フレームアドレステーブル35cは、フレーム送信手段35aからの、中継先IPアドレスおよび宛先IPアドレスに対応するMACアドレスの問い合わせに対し、前記対応表を検索しそれぞれ対応する送信先MACアドレスおよび宛先MACアドレスを通知する。
【0245】
フレーム送信手段35aは、カプセル化手段34aから受信した第2のバッファアドレスを基に、送信パケットバッファ35bより、第2のIPパケットを取り出す。
【0246】
フレーム送信手段35aは、フレームアドレステーブル35cに、第2のIPパケットの宛先IPアドレスまたは中継先IPアドレスに対応するMACアドレスを問い合わせ、宛先MACアドレスを得る。
【0247】
フレーム送信手段35aは、宛先MACアドレスおよびネットワーク接続記憶デバイス1自体のMACアドレスを基に、データリンク層のプロトコルであるIEEE802.3に従い第2のIPパケットのカプセル化を行い第2のフレームを生成する。
【0248】
さらに、フレーム送信手段35aは、物理層のプロトコルのプロトコルであるIEEE802.3に従い、第2のフレームをネットワークの物理媒体20に送信する。
【0249】
ネットワーク情報管理手段33は、送信管理手段33aと、ネットワーク情報設定手段33bと、テーブル設定手段33cとを備え、ネットワーク接続記憶デバイス1自体のネットワーク情報を管理する。
【0250】
送信管理手段33aは、データ抽出手段32aより宛先IPアドレスと送信元IPアドレスとを受信した後、宛先IPアドレスと送信元IPアドレスとを入れ替えた、送信用のIPヘッダを作成する。
【0251】
送信管理手段33aは、カプセル化手段34aに送信用のIPヘッダの送信を行う。
【0252】
ネットワーク情報設定手段33bは、データ抽出手段32aより、ペイロードを受信した後、ペイロードから、命令部および設定データ部を抽出する。
【0253】
ネットワーク情報設定手段33bは、命令部が、ネットワーク情報読み込み命令、またはネットワーク情報設定命令、仮想ディスクテーブル読み込み命令、仮想ディスクテーブル設定命令、フレームアドレステーブル読み込み命令、若しくはフレームアドレステーブル設定命令のいずれかを判別する。
【0254】
ネットワーク情報設定手段33bは、命令部が、仮想ディスクテーブル読み込み命令、または仮想ディスクテーブル設定命令の場合、仮想ディスクテーブル設定手段36dに命令部と設定データ部とを送信する。
【0255】
ネットワーク情報設定手段33bは、命令部がネットワーク情報読み込み命令の場合、ネットワーク情報設定手段33bは、ネットワーク情報設定手段33bが保持しているIPアドレス、サブネットアドレス、ホスト名、ゲートウェイアドレス等の、ネットワーク接続記憶デバイス1自体のネットワーク情報を、カプセル化手段34aに送信する。
【0256】
ネットワーク情報設定手段33bは、命令部がネットワーク情報設定命令の場合、ネットワーク情報設定手段33bは設定データ部を基に、IPアドレス、サブネットアドレス、ホスト名、ゲートウェイアドレス等の設定をおこなう。
【0257】
ネットワーク情報設定手段33bは、命令部が、フレームアドレステーブル読み込み命令、またはフレームアドレステーブル設定命令の場合、ネットワーク情報設定手段33bは、テーブル設定手段33cに命令部と設定データ部とを送信する。
【0258】
テーブル設定手段33cは、命令部がフレームアドレステーブル読み込み命令の場合、フレームアドレステーブル35cからIPアドレスおよびMACアドレスのリストを取り出し、カプセル化手段34aに送信する。
【0259】
また、テーブル設定手段33cは、命令部がフレームアドレステーブル設定命令の場合、設定データ部を基にフレームアドレステーブル35c内のIPアドレスおよびMACアドレスのリストの追加、更新、削除を行う。
【0260】
次に、仮想ディスクテーブル36bの設定方法について説明する。
【0261】
仮想ディスクテーブル設定手段36dは、ネットワーク情報設定手段33bから受信した命令部が仮想ディスクテーブル読み込み命令の場合、仮想ディスクテーブル36b内に格納されているレコード、および仮想ディスクアクセステーブル36c内に格納されているレコードを読み込んだ後、カプセル化手段34aに送信する。
【0262】
仮想ディスクテーブル設定手段36dは、ネットワーク情報設定手段33bから受信した命令部が仮想ディスクテーブル設定命令の場合、設定データ部を基に仮想ディスクテーブル36b内に格納されているレコード、または、仮想ディスクアクセステーブル36c内に格納されているレコードの新規追加、変更、削除を行う。
【0263】
次に、第2の実施の形態について説明する。
【0264】
第2の実施の形態は、第1の実施の形態に係る仮想ディスクテーブル36bの属性に、宛先サブネットマスクと送信元サブネットマスクとを加えることにより、ネットワーク毎に仮想ディスク番号を設定することを可能とした。
【0265】
第2の実施の形態では、仮想ディスクテーブル36b、および論理ブロック変換手段36a、データ抽出手段32aが、第1の実施の形態と異なる。
【0266】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第2の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0267】
図8に、第2の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0268】
第2の実施の形態に係る仮想ディスクテーブル36bは、宛先IPアドレスと宛先サブネットマスクと送信元IPアドレスと送信元サブネットマスクと仮想ディスク番号とを属性として有す。
【0269】
以下に、論理ブロック変換手段36aが、仮想ディスク番号を取得する方法を説明する。
【0270】
1.論理ブロック変換手段36aは、まず、仮想ディスクテーブル36bの最初のレコードを読み込む。
【0271】
2.論理ブロック変換手段36aは、データ抽出手段32aから受信した宛先IPアドレスとレコード内の宛先サブネットマスクとの論理積を計算し、次いで、レコード内の宛先IPアドレスとレコード内の宛先サブネットマスクとの論理積を計算する。
【0272】
3.計算された論理積の結果結果が一致した場合、同様に、送信元IPアドレスとレコード内の送信元サブネットマスクの論理積とを計算し、次いで、レコード内の送信元IPアドレスとレコード内の送信元サブネットマスクとの論理積を計算する。
【0273】
4.計算された論理積の計算結果が一致した場合、そのレコード内の仮想ディスク番号を取得する。
【0274】
5.もし、2または3において、論理積の計算結果が一致しなかった場合、次の行のレコードを読み込み、2から4の手順を繰り返す。
【0275】
なお、IPv4アドレスの代わりにIPv6アドレスを用いた場合の、仮想ディスクテーブル36bのテーブル構造および格納データを図9に示す。
【0276】
IPv6では、宛先サブネットマスクの代わりに宛先プレフィックス長を、送信元サブネットマスクの代わりに送信元プレフィックス長を、用いる。
【0277】
次に、第3の実施の形態について説明する。
【0278】
第3の実施の形態は、第1の実施の形態に係る仮想ディスクテーブル36bの属性に、宛先ポート番号と送信元ポート番号とを加えることにより、セッション毎に仮想ディスクを割り当てることが可能となる。
【0279】
これにより、同一のコンピュータ(デバイス)が、複数の使用可能な仮想ディスクの中から、セッション(アプリケーション)に応じた仮想ディスクを選んで使用することが可能となる。
【0280】
第3の実施の形態では、仮想ディスクテーブル36b、および論理ブロック変換手段36a、データ抽出手段32aが、第1の実施の形態と異なる。
【0281】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第3の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0282】
図10に、第3の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0283】
第3の実施の形態に係る仮想ディスクテーブル36bは、宛先IPアドレスと、宛先ポート番号と、送信元IPアドレスと、送信元ポート番号と、仮想ディスク番号とを属性として有し、{宛先IPアドレス,宛先ポート番号,送信元IPアドレス,送信元ポート番号}を連結キーとする。
【0284】
データ抽出手段32aは、TCPヘッダまたはUDPヘッダより宛先ポート番号と送信元ポート番号とを抽出し、次いで、仮想ブロックアドレスと送信元IPアドレスと宛先IPアドレスとに加え、抽出した宛先ポート番号と送信元ポート番号とを論理ブロック変換手段36aに送信する。
【0285】
論理ブロック変換手段36aは、送信元IPアドレスと宛先IPアドレスと宛先ポート番号と送信元ポート番号とをキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号を得る。
【0286】
次に、第4の実施の形態について説明する。
【0287】
第4の実施の形態は、第1の実施の形態に係る仮想ディスクテーブル36bにおける宛先IPアドレスや送信元IPアドレスといったネットワーク層のプロトコルのアドレス情報の代わりに、MPLSの受信ラベル値といったデータリンク層のプロトコルのアドレス情報を用いる。
【0288】
ネットワーク層のプロトコルのアドレス情報に依存しないことで、複雑なネットワーク層のプロトコル処理を回避でき、仮想ディスクへの高速なアクセスが可能となる。
【0289】
第4の実施の形態では、仮想ディスクテーブル36b、および論理ブロック変換手段36a、データ抽出手段32a、フレーム受信手段31aが、第1の実施の形態と異なる。
【0290】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第4の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0291】
図11に、第4の実施の形態における、仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0292】
第4の実施の形態に係る仮想ディスクテーブル36bは、受信ラベル値と仮想ディスク番号とを属性として持ち、受信ラベル値をキーとする。
【0293】
フレーム受信手段31aは、MPLSのシムヘッダより受信ラベル値を抽出し、論理ブロック変換手段36aに送信する。
【0294】
なお、データ抽出手段32aは、論理ブロック変換手段36aに、仮想ブロックアドレスのみを送信し、宛先IPアドレスおよび送信元IPアドレスは送信しない。
【0295】
論理ブロック変換手段36aは、フレーム受信手段31aから受信ラベル値を受信し、データ抽出手段32aから仮想ブロックアドレスを受信した後、受信ラベル値をキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号を得る。
【0296】
なお、MPLSの受信ラベル値の代わりに、図12に示すフレームリレーのDLCI(Data Link Connection Identifier)値や、図13に示すATMのVP(Virtual Path)識別子やVC(Virtual Channel)識別子を用いて、仮想ディスク番号を得ることもできる。
【0297】
次に、第5の実施の形態について説明する。
【0298】
第5の実施の形態は、第1の実施の形態に係る仮想ディスクテーブル36bの属性に、アクセス許可識別子を加えることにより、仮想ディスク毎のアクセス制限を可能とする。
【0299】
第5の実施の形態では、仮想ディスクテーブル36b、および論理ブロック変換手段36a、データ抽出手段32aが、第1の実施の形態と異なる。
【0300】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第5の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0301】
図14に、第5の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0302】
第5の実施の形態に係る仮想ディスクテーブル36bは、宛先IPアドレスと送信元IPアドレスと仮想ディスク番号とアクセス許可識別子とを属性として持ち、{宛先IPアドレス,送信元IPアドレス}を連結キーとする。
【0303】
データ抽出手段32aは、宛先IPアドレスと送信元IPアドレスと仮想ブロックアドレスと命令コードとを論理ブロック変換手段36aに送信する。
【0304】
論理ブロック変換手段36aは、送信元IPアドレスと宛先IPアドレスとをキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号とアクセス許可識別子を得る。
【0305】
次いで、論理ブロック変換手段36aは、命令コードとアクセス許可識別子とを比較し、命令コードがアクセス許可識別子で許可されている場合は、仮想ディスクへのアクセスを許し、許可されていない場合は、仮想ディスクへのアクセスを停止する。
【0306】
なお、実施の形態1から5に係る仮想ディスクテーブル36bにおいて、仮想ディスク番号の導出条件を複数使用する為に、フロー番号を媒介変数として用いてもよい。
【0307】
図15に、複数の仮想ディスク番号の導出条件を使用する場合の、仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0308】
この場合、仮想ディスクテーブルAを用いて宛先IPアドレスと送信元IPアドレスからフロー番号を決定するか、または、仮想ディスクテーブルBを用いて受信ラベル値からフロー番号を決定するか、の2つから選ぶことができる。
【0309】
次いで、仮想ディスクテーブルCを用いて、フロー番号から仮想ディスク番号とアクセス許可識別子とを得ることができる。
【0310】
次に、第6の実施の形態について説明する。
【0311】
第6の実施の形態は、第1の実施の形態に係る仮想ディスクアクセステーブル36cの属性に物理ディスク番号を加えることにより、複数の物理ディスク(例:物理ディスク21と物理ディスク22)に跨った仮想ディスクを構成することができる。
【0312】
第6の実施の形態では、仮想ディスクアクセステーブル36c、および論理ブロック変換手段36a、データ書込み手段37a、データ読込み手段37bが、第1の実施の形態と異なる。
【0313】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第6の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0314】
図17に、第6の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【0315】
仮想ディスクアクセステーブル36cは、仮想ブロックアドレスと物理ディスク番号と論理ブロックアドレスとを属性とし、前記仮想ブロックアドレスをキーとする。
【0316】
論理ブロック変換手段36aは、仮想ブロックアドレスとをキーとして、仮想ディスクアクセステーブル36cを検索し、物理ディスク番号と論理ブロックアドレスとを得る。
【0317】
すなわち、図17において、仮想ディスク番号が”1”で、仮想ブロックアドレスが”4”の場合、第1の仮想ディスクアクセステーブルから、仮想ブロックアドレスが”4”の行を検索し、物理ディスク番号として”2”を、論理ブロックアドレスとして”300”を、得る。
【0318】
次いで、論理ブロック変換手段36aは、物理ディスク番号と論理ブロックアドレスとを、データ書込み手段37aおよびデータ読込み手段37bに送信する。
【0319】
データ書込み手段37aおよびデータ読込み手段37bは、物理ディスク番号に対応した物理ディスク(物理ディスク21、または物理ディスク22)に対して、データの書き込み処理およびデータの読み込み処理を行う。
【0320】
このように、従来はRAID機能を用い複数の物理ディスクをストライプ化することにより論理ディスクを作成し、この論理ディスク上にて連続したディスクアクセス領域を提供していたのに対し、本発明では、複数の物理ディスクを仮想ディスクアクセステーブル36cで結び付けた仮想ディスクにて、連続したディスクアクセス領域を提供する。
【0321】
また、クライアントノードは、複数の物理ディスクに跨った仮想ディスクにアクセスする際にも、RAIDやLUN等を用いることなく、連続したディスクアクセス領域を利用できる為、クライアントノードに要求される機能が少なく、結果、家電や小型デバイス等の小機能型クライアントノードからの利用が容易となる。
【0322】
次に、第7の実施の形態について説明する。
【0323】
第7の実施の形態は、第1の実施の形態に係る仮想ディスクアクセステーブル36cにおいて、連続した複数の仮想ブロックアドレスをまとめて扱うことで、仮想ディスクアクセステーブル36cのレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めた。
【0324】
以下、この連続した複数の仮想ブロックアドレスを仮想セグメントと呼び、この仮想セグメントを識別するための識別子を仮想セグメント番号と呼ぶ。
【0325】
つまり、1つの仮想セグメント番号が、連続した複数の仮想ブロックアドレスに関連付けられる。
【0326】
第7の実施の形態では、仮想ディスクアクセステーブル36c、および論理ブロック変換手段36aが、第1の実施の形態と異なる
【0327】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第7の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0328】
図18に、第7の実施の形態に係る仮想ディスクアクセステーブル36cの、テーブル構造および格納データ例を示す。
【0329】
仮想ディスクアクセステーブル36cは、仮想セグメント番号と開始論理ブロックアドレスとを属性として有し、仮想セグメント番号をキーとする。
【0330】
まず、論理ブロック変換手段36aは、仮想ブロックアドレスをセグメント化定数で除算し、仮想セグメント番号を導出する(仮想ブロックアドレス/セグメント化定数=仮想セグメント番号)。
【0331】
また、論理ブロック変換手段36aは、仮想ブロックアドレスをセグメント化定数で除算した余りを計算し、これをオフセット値とする(mod{仮想ブロックアドレス,セグメント化定数}=オフセット値)。
【0332】
セグメント化定数とは、1つの仮想セグメントが有す論理ブロックアドレスの数を示す定数であり、図18はセグメント化定数に100を用いた例を示している。
【0333】
次いで、論理ブロック変換手段36aは、仮想セグメント番号をキーとし、仮想ディスクアクセステーブル36cを検索し、開始論理ブロックアドレスを得る。
【0334】
次いで、論理ブロック変換手段36aは、前記開始論理ブロックアドレスと前記オフセット値を加算し、論理ブロックアドレスを導出する(開始論理ブロックアドレス+オフセット値=論理ブロックアドレス)。
【0335】
すなわち、図18において、仮想ディスク番号が”1”で仮想ブロックアドレスが”372”の場合、”372/100”から、仮想セグメント番号として”3”を、”mod{732,100}”から、オフセット値として”72”を得る。
【0336】
次いで、仮想セグメント番号の”3”をキーとして、仮想ディスクアクセステーブル36cを検索し、開始論理ブロックアドレスとして”1000”を得、この開始論理ブロックアドレスの”1000”にオフセット値の”72”を加算し、論理ブロックアドレス“1072”を得る。
【0337】
次に、第8の実施の形態について説明する。
【0338】
第8の実施の形態は、第1の実施の形態に係る仮想ディスクアクセステーブル36cにおいて、仮想ブロックアドレスから論理ブロックアドレスへの変換の際に、オフセット値とリミット値を用いることで、仮想ディスクアクセステーブル36cのレコードの数を少なし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めた。
【0339】
第8の実施の形態では、仮想ディスクアクセステーブル36c、および論理ブロック変換手段36aが、第1の実施の形態と異なる。
【0340】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第8の実施の形態と第1の実施の形態と主な異なる部分についてのみ説明する。
【0341】
図19に、第8の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【0342】
第8の実施の形態に係る仮想ディスクアクセステーブル36cは、オフセット値とリミット値の一対のレコードを有する。
【0343】
まず、論理ブロック変換手段36aは、仮想ディスクテーブル36bを検索して得られた仮想ディスク番号を基に、仮想ディスクアクセステーブル36cを決定し、その仮想ディスクアクセステーブル36cから一組のオフセット値とリミット値を得る。
【0344】
次いで、論理ブロック変換手段36aは、仮想ブロックアドレスとリミット値を比較し、仮想ブロックアドレスがリミット値より小さい場合、仮想ブロックアドレスにオフセット値を加算し、論理ブロックアドレスとする(仮想ブロックアドレス+オフセット値=論理ブロックアドレス)。
【0345】
なお、仮想ブロックアドレスがリミット値以上の場合は、仮想ブロックアドレスが無効であるものとみなし、仮想ディスクへのアクセスを停止する。
【0346】
なお、第8の実施の形態では、仮想ディスクアクセステーブル36cのレコードが少ないため、仮想ディスクテーブル36bの仮想ディスク番号を、オフセットとリミット値とに置き換えることもできる。
【0347】
この場合、仮想ディスクテーブル36bは、宛先IPアドレスと送信元IPアドレスとオフセット値とリミット値とを属性として有し、仮想ディスクアクセステーブル36cは不要となる。
【0348】
次に、第9の実施の形態について説明する。
【0349】
第9の実施の形態は、第1の実施の形態に係る仮想ディスクアクセステーブル36cにおいて、連続した複数の仮想ブロックアドレスをまとめて扱い、さらにオフセット値を併用することで、仮想ディスクアクセステーブル36cのレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めた。
【0350】
第9の実施の形態では、仮想ディスクアクセステーブル36c、および論理ブロック変換手段36aが、第1の実施の形態と異なる。
【0351】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第9の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0352】
第9の実施の形態では、連続した複数の仮想ブロックアドレスを仮想セグメントとし、仮想セグメントの開始値(以下、セグメント開始値と呼ぶ)と仮想セグメントの終了値(以下、セグメント終了値)で定義する。
【0353】
これにより、仮想ブロックアドレスの値により、使用する仮想セグメントを使い分けることができる。
【0354】
図20に、第9の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【0355】
仮想ディスクアクセステーブル36cは、セグメント開始値とセグメント終了値とオフセット値とを属して有する。
【0356】
論理ブロック変換手段36aは、仮想ブロックアドレスと仮想ディスクアクセステーブル36cのレコードとを比較し、仮想ブロックアドレスがセグメント開始値以上でかつセグメント終了値以下であるレコード内の、セグメント開始値とオフセット値とを抽出する。
【0357】
論理ブロック変換手段36aは、仮想ブロックアドレスから、前記セグメント開始値を減算し、さらに前記オフセット値を加算し、論理ブロックアドレスを導出する(仮想ブロックアドレス−セグメント開始値+オフセット値=論理ブロックアドレス)。
【0358】
すなわち、図20において、仮想ディスク番号が”1”で仮想ブロックアドレスが”372”の場合、セグメント開始値”300”、セグメント終了値”599”のレコードから、セグメント開始値”300”とオフセット値 “1000”とを得る。
【0359】
次いで、仮想ブロックアドレス“372”から、セグメント開始値”300”を減算し、さらにオフセット値“1000”を加算し、論理ブロックアドレス“1072”を得る。
【0360】
【発明の効果】
以上詳記したように本発明によれば、クライアントノードは、本発明のネットワーク接続記憶デバイスに対し、仮想ブロックアドレスへのデータ書き込みまたは読み込みを要求し、ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、仮想ブロックアドレスを物理ディスクへのアクセス位置である論理ブロックアドレスに変換することにより、クライアントノードは、自装置の物理ディスクまたはストレージネットワークを介して接続されたストレージにアクセスする場合と同様のアドレス指定方法により、仮想的に構成された物理ディスクに対しアクセスを行うことができる。
【図面の簡単な説明】
【図1】第1の実施の形態に係るネットワーク接続記憶デバイス1を有するネットワークシステムの概略図である。
【図2】第1の実施の形態に係るネットワーク接続記憶デバイス1の構成を示すブロック図である。
【図3】図2におけるネットワーク接続記憶デバイス1が有す手段を示すブロック図である。
【図4】図3における各手段を構成する要素およびそのデータフローを示すブロック図である。
【図5】第1の実施の形態に係るデータ抽出手段32aが受信するIPパケットの例を示す図である。
【図6】第1の実施の形態に係るデータ抽出手段32aで生成された第1のIPデータグラムの例を示す。
【図7】第1の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図8】第2の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図9】第2の実施の形態に係る仮想ディスクテーブル36bにおいて、IPv4アドレスの代わりにIPv6アドレスを用いた場合の、テーブル構造および格納データを示す図である。
【図10】第3の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図11】第4の実施の形態における仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図12】第4の実施の形態における仮想ディスクテーブル36bにおいて、MPLSの受信ラベル値の代わりに、フレームリレーのDLCI値を用いた場合の、テーブル構造および格納データ例を示す図である。
【図13】第4の実施の形態における仮想ディスクテーブル36bにおいて、MPLSの受信ラベル値の代わりに、ATMのVP識別子やVC識別子を用いた場合の、テーブル構造および格納データ例を示す図である。
【図14】第5の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図15】実施の形態1から5に係る仮想ディスクテーブル36bにおいて、仮想ディスク番号の導出条件を複数使用する場合の、テーブル構造および格納データ例を示す図である。
【図16】第1の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す図である。
【図17】第6の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【図18】第7の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【図19】第8の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【図20】第9の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【符号の説明】
1:ネットワーク接続記憶デバイス
2:コンピュータ
3:デバイス
4:ルータ
5:LAN
12:コンピュータ
13:デバイス
14:ルータ
15:LAN
20:ネットワークの物理媒体
21:物理ディスク
21a:ドライブ
21b:ディスクコントローラ
22:物理ディスク
22a:ドライブ
22b:ディスクコントローラ
23:内部バス
24:ネットワークコントローラ
25:ネットワークインターフェース
26:仮想ディスクインターフェース
27:デバイスドライバ
28:内部バス
31:データ受信手段
31a:フレーム受信手段
31b:受信パケットバッファ
32:データ復元手段
32a:データ抽出手段
33:ネットワーク情報管理手段
33a:送信管理手段
33b:ネットワーク情報設定手段
33c:テーブル設定手段
34:パケット生成手段
34a:カプセル化手段
35:データ送信手段
35a:フレーム送信手段
35b:送信パケットバッファ
35c:フレームアドレステーブル
36:仮想ディスクアクセス手段
36a:論理ブロック変換手段
36b:仮想ディスクテーブル
36c:仮想ディスクアクセステーブル
36d:仮想ディスクテーブル設定手段
37:デバイスアクセス手段
37a:データ書込み手段
37b:データ読込み手段
【発明の属する技術分野】
【0002】
本発明は、コンピュータネットワークを利用した情報処理システムに係り、より詳細には、複数のコンピュータ(デバイス)が、物理ディスクにアクセスする際の物理ディスクの共有方法に関する。
【0003】
【従来の技術】
【0004】
最も一般的な、物理ディスクの共有方法は、一つ以上の物理ディスクを有すファイルサーバが、NFS(Network File System)やCIFS(Common Internet FileSystem)、AFP(Apple Filing Protocol)などのサーバプログラムを用い、ネットワークに接続されたクライアントコンピュータに対し、ファイルサーバのファイルシステムを提供する方法である。
【0005】
前記サーバプログラムは、クライアントコンピュータに対し、ファイルサーバのディスクパーティションやディレクトリ、ファイルを提供し、クライアントコンピュータはこれらを自分のハードディスク内部のファイルにアクセスする方法と同様の方法でアクセスすることができる。
【0006】
クライアントコンピュータは、ファイルサーバの物理ディスク上に構成されたファイルシステムへのデータ書き込み命令またはデータ読み込み命令を、ファイルサーバに送信し、ファイルサーバは、クライアントコンピュータこの命令に基づいて、物理ディスクにデータの書き込み処理およびデータの読み込み処理を行う。
【0007】
NFSやCIFSでは、ファイルサーバの物理ディスク上に構成されたファイルシステムを、複数のクライアントコンピュータが共有することができる。
【0008】
このファイルシステムの共有方法は、クライアントコンピュータから送られてきたユーザアカウントとパスワードを認証キーに用い、認証キーに応じ、ファイルサーバのディスクパーティションやディレクトリ、ファイルを割り当てることによって行われる。
【0009】
しかし、ユーザアカウントやパスワードのみで認証を行うため、これらが漏洩してしまった場合、第三者に不正利用される可能性がある。
【0010】
また、NFS、およびCIFS、AFPの最小アクセス単位はファイルであり、クライアントコンピュータにはファイルサーバに適合したファイルシステムおよび専用のクライアントプログラムが必要であった。
【0011】
また、前記ファイルサーバのOSの簡素化および処理のハードウェア化等により、性能向上を図ったものがNAS(Network Attached Storage)である。
【0012】
一方、上記のNFS、CIFS、AFPとは別の考え方で、物理ディスクを共有する方法に、SAN(Storage Area Network)がある。
【0013】
SANとは、SCSI(Small Computer System Interface)を発展させたものであり、ファイバチャネル(Fibre Channel Protocol)やiSCSIのようなシリアルSCSIプロトコルで通信する2台以上のデバイス(通常は、ストレージ、およびそのストレージにアクセスするクライアントコンピュータ)を指す。
【0014】
SCSI(Small Computer System Interface)は、もともとは小型コンピュータシステムの補助記憶装置用に考え出されており、SCSI仕様は、物理的仕様(ケーブルやコネクタ、電気信号など)と論理仕様(機器間のやりとりの取り決め)からなる。
【0015】
このSCSIには、接続デバイス数の制限(最大16台)およびケーブル長の制限等の問題を有しており、これらを解決するためSCSIの物理的仕様を改良したものが、ファイバチャネル(Fibre Channel)やiSCSI等に代表されるSANである。
【0016】
SANは、高速なデータ転送やデータベースなどの特殊なファイルシステムが必要な場合に利用されることが多い。
【0017】
SANにおけるストレージは、一つ以上の物理ディスクを有し、通常、RAID(redundancy information)機能を備える。
【0018】
このRAID機能を用いることにより、複数の物理ディスクを、一つの大容量のストライプ(複数の物理ディスクをまとめた仮想ディスク)として扱うこと等が可能となる。
【0019】
コンピュータがストレージにアクセスする際の最小アクセス単位は物理ブロックであり、NFSやCIFS等とこの点で異なる。
【0020】
つまり、コンピュータはデータベース等の独自ファイルシステムをストレージ上に構成できる点で、NFSやCIFSと異なるのである。
【0021】
SANにおいて、ストレージを複数のクライアントコンピュータが共有する際には、通常、ゾーニングまたはLUNマスキングを用いる。
【0022】
ゾーニングとは、SANスイッチのポート、またはコンピュータやストレージのHBA(Host Bus Adapter)に関連付けられたWWN(World Wide Name)、ネットワーク層のプロトコルのいずれかを基に、ストレージにアクセス可能なクライアントコンピュータを制限することである。
【0023】
ゾーニングでは、クライアントコンピュータが対象のストレージにアクセスできるか、できないかのみを判断するため、一つのストレージの共有方法は提供されていない。
【0024】
また、LUNマスキングとは、ストレージが有す1つ以上のLUN(Logical Unit Number)を基に、LUNにアクセス可能なクライアントコンピュータを制限することである。
【0025】
なお、LUNとは、物理的なストレージの単位を論理的に表現するものであり、「物理ディスク(テープドライブ)」、「複数の物理ディスクがストライプされた論理ディスク」、「ミラーストライプ化された論理ディスク」を指す。
【0026】
例として、ストレージの論理ディスク1にLUN1が、論理ディスク2にLUN2が割り当てられていると仮定する。
【0027】
このクライアントコンピュータAとLUN1を関連付けることで、クライアントコンピュータAは論理ディスク1のみにアクセス可能となり、またクライアントコンピュータBとLUN2を関連付けることで、クライアントコンピュータBは論理ディスク2のみにアクセス可能となる。
【0028】
LUNマスキングでは、クライアントコンピュータが対象のLUNにアクセスできるか、できないかのアクセス制限方法のみを提供し、複数のクライアントコンピュータがLUNを共有する方法は提供されていない。
【0029】
従来のSANは、ストレージ専用の閉じたネットワークで構成されていたため、セキュリティはそれほど重要ではなかった。
【0030】
しかし、不特定多数のコンピュータが接続されたIP環境を利用するiSCSIにとって、認証は重要な問題である。
【0031】
このため、iSCSIにおけるストレージの共有方法には、LUNマスキングにログインIDとパスワードを用いる認証機能を追加したVLUN(Virtual LUN)が用いられる。
【0032】
このVLUNでは、あらかじめ、LUNに対応付けられたログインIDとパスワードとをiSCSIストレージで設定しておき、次いで、クライアントコンピュータから受信したログインIDとパスワードで認証を行い、認証が正しく行われた場合、利用可能なLUNをクライアントコンピュータに送信する。
【0033】
そして、クライアントコンピュータは、iSCSIストレージから受信したLUNを使用し、iSCSIストレージのLUNにアクセスするのである。
【0034】
クライアントコンピュータは複数のLUNを扱うこともできる。
【0035】
この場合、LUN毎に、異なったファイルシステムを構成することができるが、一つの大容量のディスク(連続したディスクアクセス領域)としては扱えない。
【0036】
また、iSCSIにおいても、VLUNの認証にログインIDとパスワードを用いるため、これらが漏洩した場合、第三者に不正利用される可能性がある。
【0037】
【発明が解決しようとする課題】
NFS、CIFS、AFSでは、ファイルサーバ上の一つのファイルシステムを複数のコンピュータで共有することが可能であるが、この際に、ユーザアカウントやパスワードを用い認証を行う。
【0038】
このため、クライアントコンピュータにユーザアカウントやパスワードを設定する手段、およびそれらをファイルサーバに送信する手段(通常は、さらにパスワードの暗号化手段も含む)が必要である。
【0039】
また、クライアントコンピュータにファイルサーバと適合したファイルシステムおよび専用のクライアントプログラムが必要である。
【0040】
上記の2つの理由から、NFS、CIFS、AFSでは、クライアントコンピュータが備えるべき機能が多く、小型化が困難であった。
【0041】
一方、SANでは、ストレージを複数のクライアントコンピュータで共有する際、ストレージをLUNで分割し、各クライアントコンピュータに割り振っていた。
【0042】
このため、クライアントコンピュータはストレージに使用するLUNを通知する必要があり、LUNを設定する手段(iSCSIでは、ストレージからLUNを取得する手段)、およびLUNをストレージに送信する手段が必要であった。
【0043】
また、SANにおいては、一つのLUNを複数のコンピュータで共有することや、複数のLUNを一つのディスクのように扱うことが出来なかった。
【0044】
つまり、クライアントコンピュータは、LUNで分けられた複数のディスクを割り当てられても、それらを連続したディスクアクセス領域として扱うことはできないということである。
【0045】
また、SANでは、1台のストレージを複数のクライアントコンピュータで共有することはできるが、1つのLUNをボリュームとして共有することはできない。
【0046】
もし、クライアントが連続したディスクアクセス領域を使用する場合には、一つのLUNでそれを提供しなければならないが、ストレージでLUNに割り当てられた物理ディスク・論理ディスクを変更することは難しく、クライアントコンピュータへのディスク割り当て方法は柔軟性が乏しかった。
【0047】
さらに、iSCSIでは、LUNの割り当てに、ログインIDやパスワードを用いて認証を行うため、クライアントコンピュータにそれらを設定する手段および送信する手段が必要である、という問題があった。
【0048】
上記の問題点を解決するため、本発明のネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成する。
【0049】
これにより、アカウント(ログインID)、パスワードを用いなくとも、クライアントコンピュータを認証でき、さらに、LUNを使用せずに、物理ディスクや論理ディスクをクライアントコンピュータに割り当てることができる。
【0050】
つまり、アカウント(ログインID)、パスワードを用いないことで、パスワード等の入力手段を備えない家電や小型デバイス等からの利用が容易となる。
【0051】
また、LUNを使用しないことで、クライアントコンピュータに連続したディスクアクセス領域を提供でき、さらに、このディスクアクセス領域の変更も容易になる。
【0052】
【課題を解決するための手段】
請求項1記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と仮想ディスク番号とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0053】
これにより、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0054】
さらに、アカウント(ログインID)およびパスワードを用いることなく、前記仮想ディスクまたは物理ディスク、論理ディスクをクライアントコンピュータに割り当てることができる。
【0055】
請求項2記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された仮想ディスクアクセス手段(36) を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、前記仮想ディスクアクセス手段(36)に送信し、前記仮想ディスクアクセス手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報を基に、前記仮想ブロックアドレスを論理ブロックアドレスに変換した後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記仮想ディスクアクセス手段(36)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0056】
これにより、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0057】
さらに、アカウント(ログインID)およびパスワードを用いることなく、前記仮想ディスクまたは物理ディスク、論理ディスクをクライアントコンピュータに割り当てることができる。
【0058】
請求項3記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、ネットワーク層のプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記ネットワーク層のプロトコル情報と仮想ディスク番号とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記ネットワーク層のプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記ネットワーク層のプロトコル情報から前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0059】
これにより、ネットワーク層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0060】
請求項4記載のネットワーク接続記憶デバイスは、請求項1、または2、3に記載のネットワーク接続記憶デバイスであって、前記ネットワーク層のプロトコル情報が、宛先IPアドレスおよび送信元IPアドレスの少なくとも一つである、ことを特徴とする。
【0061】
これにより、宛先IPアドレスおよび送信元IPアドレスの少なくとも一つを基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0062】
請求項5記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、データリンク層のプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記データリンク層のプロトコル情報と仮想ディスク番号とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層のプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層のプロトコル情報から前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0063】
これにより、データリンク層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0064】
請求項6記載のネットワーク接続記憶デバイスは、請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、前記データリンク層のプロトコル情報が、MPLSの受信ラベル値である、ことを特徴とする。
【0065】
これにより、MPLSの受信ラベル値を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0066】
請求項7記載のネットワーク接続記憶デバイスは、請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、前記データリンク層のプロトコル情報が、フレームリレーのDLCI値である、ことを特徴とする。
【0067】
これにより、フレームリレーのDLCI値を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0068】
請求項8記載のネットワーク接続記憶デバイスは、請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、前記データリンク層のプロトコル情報が、ATMのVP識別子値およびVC識別子値の少なくとも一つである、ことを特徴とする。
【0069】
これにより、ATMのVP識別子値およびVC識別子値の少なくとも一つを基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0070】
請求項9記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスと、トランスポート層のプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記トランスポート層のプロトコル情報と仮想ディスク番号とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記トランスポート層のプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記トランスポート層のプロトコル情報から前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0071】
これにより、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0072】
請求項10記載のネットワーク接続記憶デバイスは、請求項1、または2、9に記載のネットワーク接続記憶デバイスであって、前記トランスポート層のプロトコル情報が、TCPヘッダまたはUDPヘッダの、宛先ポート番号および送信元ポート番号の少なくとも一つである、ことを特徴とする。
【0073】
これにより、TCPヘッダまたはUDPヘッダの、宛先ポート番号および送信元ポート番号の少なくとも一つを基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0074】
請求項11記載のネットワーク接続記憶デバイスは、ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、を備えたネットワーク接続記憶デバイスであって、前記デバイスドライバ(27)が、前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)を更に有し、前記ネットワークコントローラ(24)が、前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、を更に有し、前記仮想ディスクインターフェイス(26)が、前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、前記ネットワークインターフェース(25)が、前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、を更に有し、前記データ受信手段(31)は、前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、次いで、第1のフレームから第1のパケットを抽出した後、前記第1のパケットを前記データ復元手段(32)に送信し、前記データ復元手段(32)は、前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、次いで、前記ペイロード内の仮想ブロックアドレスおよび命令コードと、データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、前記論理ブロック変換手段(36a)に送信し、前記仮想ディスクテーブル(36b)は、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と仮想ディスク番号およびアクセス許可識別子とを関連付け、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、命令コードと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号と前記アクセス許可識別子とを得、次いで、前記命令コードと前記アクセス許可識別子とを比較し、前記命令コードが前記アクセス許可識別子で許可されている場合のみ、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、前記パケット生成手段(34)は、前記デバイスアクセス手段(37)から受信したデータを、前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、次いで、前記第2のパケットを前記データ送信手段(35)に送信し、前記データ送信手段(35)は、前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、ことを特徴とする。
【0075】
これにより、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、物理ディスクのアクセス位置を変換し、仮想ディスクを構成することができる。
【0076】
さらに、仮想ディスクテーブル(36b)の属性にアクセス許可識別子を加えることにより、仮想ディスク毎のアクセス制限を可能とする。
【0077】
請求項12記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、仮想ブロックアドレスと論理ブロックアドレスとを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ブロックアドレスをキーとして、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、前記論理ブロックアドレスを得た後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、ことを特徴とする。
【0078】
これにより、請求項1、または2、3、4、5、6、7、8、9、10に記載のネットワーク接続記憶デバイスにおいて、仮想ディスクアクセステーブル(36b)を用い、仮想ブロックアドレスから論理ブロックアドレスへ直接変換することができる。
【0079】
請求項13記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと物理ディスク番号と前記論理ブロックアドレスとを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ブロックアドレスをキーとして、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、前記物理ディスク番号と前記論理ブロックアドレスとを得た後、前記物理ディスク番号と前記論理ブロックアドレスとを前記デバイスアクセス手段(37)に送信し、前記デバイスアクセス手段(37)は、前記論理ブロック変換手段(36a)から前記物理ディスク番号と前記論理ブロックアドレスとを受信し、次いで、前記物理ディスク番号に対応する物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、および前記物理ディスク番号に対応する物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行う、ことを特徴とする。
【0080】
これにより、複数の物理ディスクに跨った仮想ディスクを構成することができ、また、クライアントノードは、複数の物理ディスクに跨ったディスク領域のアクセスに際し、RAIDやLUN等を用いることなく、アクセスすることができる。
【0081】
請求項14記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、仮想セグメント番号と開始論理ブロックアドレスとを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ブロックアドレスから前記仮想セグメント番号を導出した後、前記仮想セグメント番号をキーとして、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、前記開始論理ブロックアドレスを得、次いで、前記開始論理ブロックアドレスから前記論理ブロックアドレスを導出した後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、ことを特徴とする。
【0082】
これにより、請求項1、または2、3、4、5、6、7、8、9、10に記載のネットワーク接続記憶デバイスにおいて、仮想ディスクアクセステーブル(36c)に、連続した複数の仮想ブロックアドレスをまとめて記載することができ、仮想ディスクアクセステーブル(36c)のレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めることができる。
【0083】
請求項15記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、リミット値とオフセット値とを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)から前記リミット値と前記オフセット値とを得、次いで、前記リミット値と前記オフセット値と前記仮想ブロックアドレスとを用いて、前記論理ブロックアドレスを導出した後、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、ことを特徴とする。
【0084】
これにより、請求項1、または2、3、4、5、6、7、8、9、10に記載のネットワーク接続記憶デバイスにおいて、仮想ブロックアドレスから論理ブロックアドレスへの変換に際し、オフセット値とリミット値を用いることができ、仮想ディスクアクセステーブル(36c)のレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めることができる。
【0085】
請求項16記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、前記仮想ディスクアクセステーブル(36c)は、前記仮想ディスク番号で識別され、更に、仮想セグメントの開始値と仮想セグメントの終了値とオフセット値とを属性とし、前記論理ブロック変換手段(36a)は、前記仮想ブロックアドレスと、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報とを前記データ復元手段(32)から受信した後、前記仮想ディスクテーブル(36b)を用い、前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、前記仮想ディスク番号を得、次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、前記仮想ブロックアドレスから前記仮想セグメントの開始値と前記オフセット値とを得た後、前記仮想セグメントの開始値と前記オフセット値と前記仮想ブロックアドレスとを用い前記論理ブロックアドレスを導出し、次いで、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、ことを特徴とする。
【0086】
これにより、請求項1、または2、3、4、5、6、7、8、9、10に記載のネットワーク接続記憶デバイスにおいて、仮想ブロックアドレスから論理ブロックアドレスへの変換に際し、オフセット値とリミット値を用いて連続した複数の仮想ブロックアドレスをまとめて記載することができ、仮想ディスクアクセステーブル(36c)のレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めることができる。
【0087】
請求項17記載のネットワーク接続記憶デバイスは、請求項1、または2、3、4、5、6、7、8、9、10、11、12、13、14、15、16に記載のネットワーク接続記憶デバイスに対し、クライアントノードは、仮想ブロックアドレスを指定して、仮想ディスクへのデータの書き込みまたは前記仮想ディスクからのデータの読み込みを要求し、前記ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコル情報を基に、前記仮想ブロックアドレスを論理ブロックアドレスに変換した後、前記論理ブロックアドレスを指定して、物理ディスクへのデータの書き込みまたは物理ディスクからのデータの読み込みを行うことを特徴とする。
【0088】
これにより、請求項1、または2、3、4、5、6、7、8、9、10、11、12、13、14、15、16に記載のネットワーク接続記憶デバイスに対し、クライアントノードは、仮想ブロックアドレスへのデータ書き込みまたは読み込みを要求し、ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、仮想ブロックアドレスを物理ディスクへのアクセス位置である論理ブロックアドレスに変換することにより、クライアントノードは、自装置の物理ディスクまたはストレージネットワークを介して接続されたストレージにアクセスする場合と同様のアドレス指定方法により、仮想的に構成された物理ディスクに対しアクセスを行うことができる。
【0089】
【発明の実施の形態】
【0090】
以下、本発明の第1の実施の形態について図面を参照して説明する。
【0091】
図1は、第1の実施の形態におけるネットワーク接続記憶デバイス1を有するネットワークシステムの概略図である。
【0092】
図1に示すネットワークシステムでは、それぞれLAN接続されたA事業部とB事業部のコンピュータシステムをインターネットに接続した構成を例示している。
【0093】
A事業部側のコンピュータシステムではLAN5に接続されたネットワーク接続記憶デバイス1、およびコンピュータ2、デバイス3が、ルータ4を介してインターネットに接続されている。
【0094】
また、B事業部側のコンピュータシステムも同様にLAN15に接続されたコンピュータ12、およびデバイス13が、ルータ14を介してインターネットに接続されている。
【0095】
ルータ4は、LAN5とインターネットを接続する機器であり、IP(インターネットプロトコルバージョン4)等のネットワーク層のプロトコル情報に基づきB事業部宛てのパケットの転送処理を行う。
【0096】
また、ルータ14も同様に、LAN15とインターネットを接続する機器であり、IP等のネットワーク層のプロトコル情報に基づきA事業部宛てのパケットの転送を行う。
【0097】
なお、ネットワーク層等の各層の分類および各層のプロトコルは、OSI(Open Systems Interconnection)の参照モデルに準ずる。
【0098】
コンピュータ2およびコンピュータ12は、それぞれLAN5およびLAN15に接続されており、通常はネットワークインターフェースを装備したパーソナルコンピュータまたはUNIX(登録商標)ワークステーション等である。
【0099】
デバイス3およびデバイス13は、それぞれLAN5およびLAN15に接続されており、通常はネットワークに直接接続された、情報家電、プリンタ、或いは、スキャナといったコンピュータ以外のネットワークに直接接続された入出力デバイスである。
【0100】
また、ネットワーク接続記憶デバイス、ルータ、デバイス、コンピュータには、各々を識別するためのIPアドレスが、割り当てられている。
【0101】
A事業部側のIPアドレスとして、コンピュータ2に10.1.1.3が、デバイス3に10.1.1.4が、ルータ4に10.1.1.254が、割り当てられており、B事業部側では、コンピュータ12に20.2.2.3が、デバイス13に20.2.2.4が、ルータ14に20.2.2.254が、割り当てられている。
【0102】
また、ネットワーク接続記憶デバイス1には、10.1.1.1と10.1.1.2の2つのIPアドレスが、割り当てられている。
【0103】
なお、実施の形態ではネットワーク接続記憶デバイス1に、2つのIPアドレスを割り当てた場合を説明するが、IPアドレスを1つだけ割り当てる場合や、3つ以上のIPアドレスを割り当てる場合もある。
【0104】
コンピュータ2とネットワーク接続記憶デバイス1は、IP等のネットワーク層のプロトコルを用いデータの送信または受信を行う。
【0105】
同様に、デバイス3とネットワーク接続記憶デバイス1、コンピュータ12とネットワーク接続記憶デバイス1、デバイス13とネットワーク接続記憶デバイス1も、IP等のネットワーク層のプロトコルを用いデータの送信または受信を行う。
【0106】
なお、ネットワーク層のプロトコルとしてインターネットプロトコルバージョン4を適用して実施の形態を説明したが、本発明はインターネットプロトコルバージョン6、AppleTalk、IPX等にも同様に適用できる。
【0107】
また、LAN5およびLAN15のトポロジーとしてBroadcast型を適用して実施の形態を説明したが、本発明はPoint−to−Point型にも同様に適用できる。
【0108】
図2は、ネットワーク接続記憶デバイス1の構成を示すブロック図である。
【0109】
図3は、図2におけるネットワーク接続記憶デバイス1が備える手段を示すブロック図である。
【0110】
図4は、図3における各手段を構成する要素およびそのデータフローを示すブロック図である。
【0111】
以下、図2および図3、図4におけるネットワーク接続記憶デバイス1について説明する。
【0112】
ネットワーク接続記憶デバイス1は、物理ディスク21と物理ディスク22とネットワークコントローラ24とネットワークインターフェース25と仮想ディスクインターフェース26とデバイスドライバ27とを備える。
【0113】
そして、この物理ディスク21および物理ディスク22は内部バス23を介してデバイスドライバ27と接続され、ネットワークコントローラ24およびネットワークインターフェイス25は内部バス28を介して接続される。
【0114】
なお、内部バス23とは、物理ディスク21および物理ディスク22との接続に用いるIDEバス、SCSIバス、ファイバチャネルSAN、iSCSI SANである。
【0115】
また、内部バス28は、汎用デバイスを接続するためのシステムバスであり、PCIバス、ISAバス、PCMCIA、CardBUS、USB、IEEE1394等である。
【0116】
物理ディスク21は、ドライブ21aとディスクコントローラ21bとからなる、補助記憶装置である。
【0117】
通常、ドライブ21aは、記憶媒体と、記憶媒体へのデータの書き込み機能、または記憶媒体からのデータの読み込み機能の少なくとも一つとを有す。
【0118】
ドライブ21aは、その内部に有す記憶媒体の種類により、読み込み可能かつ書き込み可能、または読み込み可能かつ書き込み不可能の2種類に分類できる。
【0119】
読み込み可能かつ書き込み可能な記憶媒体は、通常、IDEハードディスクやEIDEハードディスク、SCSIハードディスク等であり、ドライブ21aは、ディスクコントローラ21bから受信したデータを記憶媒体に書き込む機能、および記憶媒体から読み込んだデータをディスクコントローラ21bに送信する機能を有す。
【0120】
また、読み込み可能かつ書き込み不可能な記憶媒体は、通常CD−ROMや、DVD−ROM等であり、読み込み可能かつ書き込み可能なドライブ21aと比較すると、ドライブ21aにデータを書き込む機能を有していない等の違いがある。
【0121】
ここではドライブ21aがEIDEハードディスクの場合について実施の形態を説明する。
【0122】
EIDEハードディスクでは、デバイスドライバ27がディスクコントローラ21bに対し、記憶媒体へのデータ格納位置を指示する際に、論理ブロックアドレスを用いる。
【0123】
この論理ブロックアドレスとは、記憶媒体の書き込みおよぴ読み込み位置を示す3つパラメータ(シリンダ、ヘッド、セクタ)を、1つのパラメータ(論理ブロックアドレス)で表現できるように、記憶媒体の先頭のセクタから順番に割り当てた連続した番号のことである。
【0124】
なお、本発明では、物理ディスク21にEIDEハードディスクを適用して実施の形態を説明するが、SCSIハードディスク、光磁気ディスク、CD−ROM、CD−R、フロッピー(登録商標)ディスク等にも同様に適用できる。
【0125】
ディスクコントローラ21bは、ドライブ21aと、内部バス23を介してデバイスアクセス手段37と接続されている。
【0126】
ディスクコントローラ21bは、ドライブ21a内のアームの移動や記憶媒体の回転の制御、およびドライブ21aへのデータの書き込み、ドライブ21aからのデータの読み込み、読み込みデータのエラー検出と訂正、データの書き込み中または読み込み中のロック、データ転送等の処理を行なう。
【0127】
ディスクコントローラ21bは、デバイスドライバ27から内部バス23を介して読み書き可能なデータレジスタと、ドライブ21aの論理ブロックアドレスからの読み込みデータ、または論理ブロックアドレスへの書き込みデータを、一時的に格納する内部バッファとを備える。
【0128】
以下に、ディスクコントローラ21bがドライブ21aからデータを読み込む手順について詳細を説明する。
【0129】
1.ディスクコントローラ21bは、データ読込み手段37bから内部バス23を介して論理ブロックアドレスとデータ読み込みの制御コマンドとを受信し、次いで、論理ブロックアドレスをシリンダ、ヘッド、セクタの3つのパラメータに展開する。
【0130】
2.ディスクコントローラ21bは、記憶媒体の対応するシリンダ、ヘッド、セクタからデータを読み込み、次いで、前記データを内部バッファに格納する。
【0131】
3.ディスクコントローラ21bは、内部バッファ内のデータの先頭から内部バス23の転送単位分のデータを、データレジスタに格納する。
【0132】
4.データ読込み手段37bは、データレジスタのデータを読み込み、読み込みが完了すると、ディスクコントローラ21bは次の内部バス23の転送単位分のデータをデータレジスタに格納する。
【0133】
5.以降、内部バッファが無くなるまで、4を繰り返すことにより、データ読込み手段37bに第2のデータブロックを送信する。
【0134】
次に、ディスクコントローラ21bがドライブ21aにデータを書き込む手順について説明する。
【0135】
1.ディスクコントローラ21bは、データ書込み37aから内部バス23を介して論理ブロックアドレスとデータ書き込みの制御コマンドとを受信し、次いで、論理ブロックアドレスをシリンダ、ヘッド、セクタの3つのパラメータに展開する。
【0136】
2.データ書込み37aは、ディスクコントローラ21b内のデータレジスタに、第1のデータブロックのうちから内部バス23の転送単位分のデータを書き込み、次いで、ディスクコントローラ21bは前記データをデータレジスタから内部バッファに格納する。
【0137】
3.ディスクコントローラ21bは、内部バッファに書き込み単位分のデータが蓄積されると、記憶媒体の対応するセクタに、内部バッファ内のデータを書き込む。
【0138】
また、セクタへのデータの書き込みが終わる都度、論理ブロックアドレスをシフトする。
【0139】
4.以降、第1のデータブロックが無くなるまで、2,3を繰り返し、データ書込み37aからディスクコントローラ21bへの第1のデータブロックの送信を完了させる。
【0140】
なお、本発明のドライブ21aおよびディスクコントローラ21bは、従来から用いられているEIDE、SCSIハードディスク等と機能面および構造面で等しく、前期ハードディスク等を用いて実現可能である。
【0141】
また、物理ディスク22についても物理ディスク21と同様の機能および構造を有す。
【0142】
デバイスドライバ27は、物理ディスク21および物理ディスク22と内部バス23を介して接続され、また、ネットワークコントローラ24および仮想ディスクインターフェース26とも接続されている。
【0143】
デバイスドライバ27は、デバイスアクセス手段37を備え、データ復元手段32からWRITE命令コードと第1のデータブロックとを、仮想ディスクアクセス手段36から論理ブロックアドレスを、受信し、次いで、ディスクコントローラ21bを制御し、ドライブ21aの論理ブロックアドレスに第1のデータブロックを書き込む機能、および、データ復元手段32からREAD命令コードを、仮想ディスクアクセス手段36から論理ブロックアドレスを、受信し、次いで、ディスクコントローラ21bを制御し、ドライブ21aの論理ブロックアドレスから第2のデータブロックを読み込む機能の少なくとも一つを有す。
【0144】
なお、デバイスドライバ27と物理ディスク22との関係は、デバイスドライバ27と物理ディスク21の関係と同じである為、以下、物理ディスク22については省略し、物理ディスク21についてのみ実施の形態を説明する。
【0145】
以下、デバイスアクセス手段37について詳細を説明する。
【0146】
デバイスアクセス手段37は、システム起動時にディスクコントローラ21bのデータレジスタと入出力メモリのマッピングを行い、この入出力メモリ(データレジスタ)を介してディスクコントローラ21bとのデータブロックの送受信を行う。
【0147】
また、デバイスアクセス手段37は、ディスクコントローラ21bへの制御コマンドの送信、および割り込み処理やポーリング等によるディスクコントローラ21bの制御(動作状況監視やタイムアウト検出等)を行う。
【0148】
なお、内部バス23を介してのデータ転送に際し、DMA(Direct Memory Access)を用いる場合には、デバイスアクセス手段37はDMAの動作制御も行なう。
【0149】
デバイスアクセス手段37は、ディスクコントローラ21bを制御しドライブ21aに第1のデータブロックを書き込む、データ書込み手段37aと、ディスクコントローラ21bを制御しドライブ21aから第2のデータブロックを読み込む、データ読込み手段37bと、を備える。
【0150】
次に、データ書込み手段37aについて説明する。
【0151】
データ書込み手段37aは、データ抽出手段32aからWRITE命令コードと第1のデータブロックとを受信し、また、論理ブロック変換手段36aから論理ブロックアドレスを受信する。
【0152】
次いで、データ書込み手段37aは、命令コードをディスクコントローラ21bが解釈可能な命令形体に展開した制御コマンドと、論理ブロックアドレスとを、ディスクコントローラ21bに送信する。
【0153】
次いで、データ書込み手段37aは、ディスクコントローラ21bがデータ受信可能な状態にあることを確認した後、第1のデータブロックをディスクコントローラ21bに送信する。
【0154】
次に、データ読込み手段37bについて説明する。
【0155】
データ読込み手段37bは、データ抽出手段32aからREAD命令コードを受信し、また、論理ブロック変換手段36aから論理ブロックアドレスを受信する。
【0156】
次いで、データ読込み手段37bは、ディスクコントローラ21bに、論理ブロックアドレスと制御コマンドとを送信する。
【0157】
次いで、データ読込み手段37bは、ディスクコントローラ21bがデータ送信可能な状態にあることを確認した後、ディスクコントローラ21bから第2のデータブロックを受信し、次いで、この第2のデータブロックをカプセル化手段34aに送信する。
【0158】
なお、通常、命令コードをディスクコントローラ21bが解釈可能な命令形体に展開した、制御コマンドは、物理ディスク21の機種に依存する。
【0159】
このため、デバイスアクセス手段37は、データ抽出手段32aから受信した命令コードを、物理ディスク21に対応した制御コマンドに変換する機能を有している。
【0160】
これにより、制御コマンドの形式が異なる物理ディスク21に対しても、データ抽出手段32aは共通化された命令コードを使用することが出来る。
【0161】
なお、本発明のデバイスドライバ27は、一般的なオペレーティングシステムの物理ディスク用のデバイスドライバと機能面でほぼ等しい。
【0162】
ネットワークコントローラ24は、デバイスドライバ27、およびネットワークインターフェース25、仮想ディスクインターフェース26と接続されている。
【0163】
ネットワークコントローラ24は、データ復元手段32とネットワーク情報管理手段33とパケット生成手段34とを備え、デバイスドライバ27から受信した第2のデータブロックをIPによるカプセル化およびフラグメント化により第2のIPパケットとした後、ネットワークインターフェース25に送信する機能と、IPによるリアセンブリにより前記第1のIPパケットから第1のデータブロックを抽出した後、第1のデータブロックをデバイスドライバ27に送信する機能と、ネットワークインターフェース25から受信した第1のIPパケット内の宛先IPアドレスと送信元IPアドレスと仮想ブロックアドレスとを仮想ディスクインターフェース26に送信する機能と、を有す。
【0164】
以下、ネットワークコントローラ24が備える各手段について詳細を説明する。
【0165】
パケット生成手段34は、IPによる、カプセル化およびフラグメント化により、デバイスアクセス手段37から受信した第2のデータブロックを第2のIPパケットとした後、第2のIPパケットをデータ送信手段35に送信する。
【0166】
データ復元手段32は、IPによるリアセンブリにより、データ受信手段31から受信した第1のIPパケットを含む少なくとも1つ以上のIPパケットから第1のデータブロックを復元した後、第1のデータブロックをデバイスアクセス手段37に送信する。
【0167】
また、データ復元手段32は、第1のIPパケットの宛先IPアドレスと送信元IPアドレスと仮想ブロックアドレスとを仮想ディスクアクセス手段36に送信し、さらに必要に応じて、第1のIPデータグラムをネットワーク情報管理手段33に送信する。
【0168】
ネットワーク情報管理手段33は、ネットワーク接続記憶デバイス1のIPアドレス、およびサブネットアドレス、ホスト名、ゲートウェイアドレス等のネットワーク情報の設定および管理を行う。
【0169】
ネットワークインターフェース25は、ネットワークコントローラ24、およびネットワークの物理媒体20と接続されている。
【0170】
ネットワークインターフェース25は、データ送信手段35とデータ受信手段31とを備え、ネットワークコントローラ24から受信した第2のIPパケットを、データリンク層のプロトコルによるカプセル化により第2のフレームとした後、物理層のプロトコルに従い第2のフレームをネットワークの物理媒体20に送信する機能、および、ネットワークの物理媒体20から第1のフレームを受信した後、第1のフレームから第1のIPパケットを抽出した後、第1のIPパケットをネットワークコントローラ24に送信する機能を有す。
【0171】
以下、ネットワークインターフェース25が備える各手段について詳細を説明する。
【0172】
データ送信手段35は、パケット生成手段34から第2のIPパケットを受信し、次いで、データリンク層のプロトコルによるカプセル化により第2のIPパケットから第2のフレームを生成し、その後、物理層のプロトコルに従い第2のフレームをネットワークの物理媒体20に送信する。
【0173】
データ受信手段31は、ネットワークの物理媒体20からネットワーク接続記憶デバイス1宛ての第1のフレームを受信し、次いで、第1のフレームから第1のIPパケットを抽出し、第1のIPパケットをデータ復元手段32に送信する。
【0174】
なお、Ethernet(登録商標)を用いたLANでは、データリンク層および物理層のプロトコルは、通常、IEEE(Institute of Electronics Engineers)が定めるIEEE802.3等の仕様に準ずる。
【0175】
また、IPによる、リアセンブリ、カプセル化、フラグメント化等は、ISOC(Internet Society)が発行するRFC(Request for Comments)の仕様に準ずる。
【0176】
また、本発明では、第1のフレームから第1のIPパケットを抽出した後、第1のIPパケットからデータを組み立てる手順で実施の形態を説明したが、実装時には、第1のフレームから第1のIPパケットを抽出する手順を省き、第1のフレームからIPヘッダを直接参照し、データを組み立てる等の、処理の簡略化を図る場合もある。
【0177】
仮想ディスクインターフェース26は、デバイスドライバ27、およびネットワークコントローラ24と接続されている。
【0178】
仮想ディスクインターフェース26は、ネットワークコントローラ24から受信した第1のIPパケット内の、送信元IPアドレスおよび宛先IPアドレスの少なくとも一つを基に、仮想的な物理ディスクを構成することを特徴とする。
【0179】
仮想ディスクインターフェース26は、ネットワークコントローラ24から受信した第1のIPパケット内の、送信元IPアドレスおよび宛先IPアドレスの少なくとも一つと、仮想ブロックアドレスとを受信した後、送信元IPアドレスおよび宛先IPアドレスの少なくとも一つを基に、仮想ブロックアドレスを、物理ディスクのアクセス位置を表す論理ブロックアドレスに変換することにより、実物理ディスク上に仮想的な物理ディスクを構成する、仮想ディスクアクセス手段36を有す。
【0180】
この実物理ディスク上に構成された、仮想的な物理ディスクを仮想ディスクと呼ぶ。
【0181】
仮想ブロックアドレスとは、コンピュータ2、またはコンピュータ12、デバイス3、デバイス13(以下、コンピュータ2、またはコンピュータ12、デバイス3、デバイス13を、クライアントノードと呼ぶ)が、ネットワーク接続記憶デバイス1へのディスクアクセスの際に用いる、仮想ディスクのアクセス位置を表すアドレスである。
【0182】
また、論理ブロックアドレスとは、ネットワーク接続記憶デバイス1がその内部に有す物理ディスク21にアクセスする為に、デバイスドライバ27がディスクコントローラ21bに送信する、実際の物理ディスク21のアクセス位置を表すアドレスである。
【0183】
以下、仮想ディスクアクセス手段36について詳細を説明する。
【0184】
仮想ディスクアクセス手段36は、論理ブロック変換手段36aと仮想ディスクテーブル36bと仮想ディスクアクセステーブル36cと仮想ディスクテーブル設定手段36dとを備える。
【0185】
図7に、仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0186】
仮想ディスクテーブル36bは、宛先IPアドレスと送信元IPアドレスと仮想ディスク番号とを属性として持ち、{宛先IPアドレス,送信元IPアドレス}を連結キーとする。
【0187】
図16に、仮想ディスクアクセステーブル36cのテーブル構造および格納データを示す。
【0188】
仮想ディスクアクセステーブル36cは、一つ以上のテーブルからなり、仮想ディスク番号毎に対応する仮想ディスクアクセステーブルが存在する。
【0189】
仮想ディスクアクセステーブル36cは、仮想ブロックアドレスと論理ブロックアドレスとを属性としてもち、仮想ブロックアドレスをキーとする。
【0190】
ここで、仮想ディスク番号が1の場合の仮想ディスクアクセステーブル36cを、第1の仮想ディスクアクセステーブルとし、仮想ディスク番号が2の場合の仮想ディスクアクセステーブル36cを、第2の仮想ディスクアクセステーブルとする。
【0191】
以下に、仮想的な物理ディスクの構成方法について詳細を説明する。
【0192】
まず、論理ブロック変換手段36aは、データ抽出手段32aから、宛先IPアドレスと、送信元IPアドレスと、仮想ブロックアドレスとを受信した後、宛先IPアドレスと送信元IPアドレスとをキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号を得る。
【0193】
つまり、図10において、送信元IPアドレスが10.1.1.3で、宛先IPアドレスが10.1.1.1の場合、仮想ディスク番号として1を得る。
【0194】
次いで、論理ブロック変換手段36aは、仮想ブロックアドレスをキーとし、仮想ディスク番号に対応する仮想ディスクアクセステーブル36cを検索し、論理ブロックアドレスを得る。
【0195】
つまり、図16において、仮想ディスク番号が1で、仮想ブロックアドレスが4の場合、第1の仮想ディスクアクセステーブルから、仮想ブロックアドレスが4の行を検索し、論理ブロックアドレスとして300を得る。
【0196】
次いで、論理ブロック変換手段36aは、論理ブロックアドレスを、データ書込み手段37aおよびデータ読込み手段37bに送信する。
【0197】
以上のように、クライアントノードは、ネットワーク接続記憶デバイス1の仮想ディスクの仮想ブロックアドレスにデータの書き込みまたは読み込みを要求し、ネットワーク接続記憶デバイス1は、仮想ブロックアドレスを論理ブロックアドレスに変換し、物理ディスクの論理ブロックアドレスにデータの書き込みまたは読み込みを行う。
【0198】
これにより、クライアントノードが、ネットワーク接続記憶デバイス1の物理ディスクにアクセスする際に、ネットワーク接続記憶デバイス1が、ネットワーク層のプロトコルのアドレス(送信元IPアドレス、宛先IPアドレス)を基に、仮想ブロックアドレスを物理ディスクのアクセス位置を表す論理ブロックアドレスに変換することで、クライアントノード毎に仮想ディスクを構成することができる。
【0199】
このように、ネットワーク接続記憶デバイス1が、仮想ブロックアドレスを論理ブロックアドレスに変換する機能を持ち、クライアントノードは仮想ブロックアドレスと論理ブロックアドレスとを区別する必要がない為、クライアントノードは自装置の物理ディスクやストレージネットワークを介して接続されたストレージにアクセスする際に用いるアドレス指定方法と、仮想ディスクへのアクセスに適用することができる。
【0200】
また、クライアントノードは、仮想ブロックアドレスのみで仮想ディスクを使用できるため、従来の物理ディスクの共有の際に必要であったアカウント(ログインID)、およびパスワード、LUNは用いなくても良い。
【0201】
したがって、クライアントノードはアカウント(ログインID)、パスワード、LUN等を設定する手段および送信する手段を有す必要がなく、パスワード等の入力手段を備えない家電や小型デバイス等のクライアントノードからの利用が容易となる。
【0202】
また、ネットワーク接続記憶デバイス1は、仮想ディスクアクセステーブル36cにて、連続した仮想ブロックアドレスでアクセス可能な仮想ディスクを割り当てることができる為、クライアントコンピュータに連続したディスクアクセス領域を提供できる。
【0203】
さらに、仮想ディスクアクセステーブル36cに連続した仮想ブロックアドレスのレコードを追加することで、仮想ディスクの連続したディスクアクセス領域を拡張することができ、クライアントコンピュータに柔軟にディスクアクセス領域を割り当てることが可能となる。
【0204】
次に、図4を参照して、ネットワークの物理媒体20から受信した第1のフレームからデータを抽出した後に、データを物理ディスク21に格納する、データ受信方法について説明する。
【0205】
データ受信手段31は、フレーム受信手段31aと受信パケットバッファ31bとを備え、ネットワークの物理媒体20からネットワーク接続記憶デバイス1宛ての第1のフレームを受信し、次いで、第1のフレームから第1のIPパケットを抽出し、第1のIPパケットをデータ復元手段32に送信する。
【0206】
以下に、データ受信手段31におけるデータ受信方法の詳細を説明する。
【0207】
フレーム受信手段31aは、ネットワークの物理媒体20から第1のフレームを受信した後、第1のフレーム内の宛先MAC(Media Access Control)アドレスとネットワーク接続記憶デバイス1自体のMACアドレスとを比較し、一致する場合、第1のフレームから第1のIPパケットを抽出し、受信パケットバッファ31bに送信する。
【0208】
受信パケットバッファ31bは、フレーム受信手段31aから受信した第1のIPパケットを第1のバッファ内に格納した後、フレーム受信手段31aに第1のバッファのアドレスである第1のバッファアドレスを送信する。
【0209】
フレーム受信手段31aは、受信パケットバッファ31bから、第1のバッファアドレスを受信した後、データ抽出手段32aに第1のバッファアドレスを送信する。
【0210】
また、フレーム受信手段31aは、第1のフレーム内の、送信元MACアドレスおよび送信元IPアドレスを、フレームアドレステーブル35cに通知する。
【0211】
データ復元手段32は、データ抽出手段32aを備え、IPによるリアセンブリにより、データ受信手段31から受信した第1のIPパケットを含む少なくとも1つ以上のIPパケットから第1のデータブロックを復元した後、第1のデータブロックをデバイスアクセス手段37に送信する。
【0212】
また、データ復元手段32は、第1のIPパケットの宛先IPアドレスと送信元IPアドレスを仮想ディスクアクセス手段36に送信し、さらに必要に応じて、第1のIPデータグラムをネットワーク情報管理手段33に送信する。
【0213】
以下に、データ復元手段32におけるデータ受信方法の詳細を説明する。
【0214】
データ抽出手段32aは、フレーム受信手段31aから受信した第1のバッファアドレスを基に、受信パケットバッファ31bより第1のIPパケットを取り出す。
【0215】
図5に、データ抽出手段32aがフレーム受信手段31aより受信するIPパケットの例を示す。
【0216】
次に、データ抽出手段32aは、第1のIPパケットのフラグメントオフセットとシーケンシャル番号を基に、第1のIPパケットが分割されたIPパケットであるかどうかを判断し、第1のIPパケットが分割されたIPパケットであった場合、第1のIPパケットの場合と同様の方法で第1’のIPパケットを得る。
【0217】
さらに、第1’のIPパケットも分割されたIPパケットであった場合、第1のIPパケットの場合と同様の方法で第1’’のIPパケットを得る。
【0218】
データ抽出手段32aは、同様にして組立に必要なIPパケットを受信パケットバッファ31bより取り出し、各IPパケットのIPヘッダのフラグメントオフセットとシーケンシャル番号とを基に、RFC791およびRFC815で定めるIPのリアセンブリにより、分割されたIPパケットのデータの組み立てを行い、第1のIPデータグラムを生成する。
【0219】
図6に、データ抽出手段32aで生成された第1のIPデータグラムの例を示す。
【0220】
データ抽出手段32aは、第1のIPデータグラムから、送信元IPアドレスと宛先IPアドレスとペイロードとを抽出し、さらにペイロードから命令コードと仮想ブロックアドレスと第1のデータブロックとを抽出する。
【0221】
なお、命令コードとは、デバイスアクセス手段37に対するWRITE命令、READ命令を符号化したコードである。
【0222】
次いで、データ抽出手段32aは、送信元IPアドレスと宛先IPアドレスとを送信管理手段33aに送信し、仮想ブロックアドレスと送信元IPアドレスと宛先IPアドレスとを論理ブロック変換手段36aに送信する。
【0223】
また、データ抽出手段32aは、命令コードがWRITE命令コードの場合、命令コードと第1のデータブロックとをデータ書込み手段37aに送信し、命令コードがREAD命令コードの場合、命令コードと第1のデータブロックをデータ読込み手段37bに送信する。
【0224】
なお、データ抽出手段32aは、命令コードがデバイスアクセス手段37に対する命令ではない場合、ネットワーク接続記憶デバイス1自体の装置情報の設定または装置情報の要求を行うものとみなし、ペイロードをネットワーク情報設定手段33bに送信する。
【0225】
論理ブロック変換手段36aは、データ抽出手段32aから、送信元IPアドレスと宛先IPアドレスと仮想ブロックアドレスとを受信した後、宛先IPアドレスと送信元IPアドレスとをキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号を得る。
【0226】
次いで、論理ブロック変換手段36aは、仮想ブロックアドレスをキーとし、仮想ディスク番号に対応する仮想ディスクアクセステーブル36cを検索し、論理ブロックアドレスを得る。
【0227】
次いで、論理ブロック変換手段36aは、論理ブロックアドレスを、データ書込み手段37aまたはデータ読込み手段37bに送信する。
【0228】
次に、命令コードがWRITE命令コードの場合のデータ書き込み手順について説明する。
【0229】
データ書込み手段37aは、データ抽出手段32aからWRITE命令コードと第1のデータブロックとを受信し、また、論理ブロック変換手段36aから論理ブロックアドレスを受信する。
【0230】
次いで、データ書込み手段37aは、命令コードをディスクコントローラ21bが解釈可能な命令形体である制御コマンドに展開し、制御コマンドと論理ブロックアドレスとを、ディスクコントローラ21bに送信する。
【0231】
次いで、データ書込み手段37aは、ディスクコントローラ21bがデータ受信可能な状態にあることを確認した後、第1のデータブロックをディスクコントローラ21bに順次送信する。
【0232】
次に、命令コードがREAD命令コードの場合のデータ読み込み手順について説明する。
【0233】
データ読込み手段37bは、データ抽出手段32aからREAD命令コードを受信し、また、論理ブロック変換手段36aから論理ブロックアドレスを受信する。
【0234】
次いで、データ読込み手段37bは、命令コードをディスクコントローラ21bが解釈可能な命令形体である制御コマンドに展開し、制御コマンドと論理ブロックアドレスとを送信する。
【0235】
次いで、データ読込み手段37bは、ディスクコントローラ21bがデータ送信可能な状態にあることを確認した後、ディスクコントローラ21bから第2のデータブロックを受信し、次いで、この第2のデータブロックをカプセル化手段34aに送信する。
【0236】
パケット生成手段34は、カプセル化手段34aを備え、IPによる、カプセル化およびフラグメント化により、デバイスアクセス手段37から受信した第2のデータブロックを第2のIPパケットとした後、第2のIPパケットをデータ送信手段35に送信する。
【0237】
カプセル化手段34aは、データ読込み手段37bから受信した第2のデータブロック、または仮想ディスクテーブル設定手段36dから受信したレコード、ネットワーク情報設定手段33bから受信したネットワーク情報、若しくはテーブル設定手段33cから受信したリストに、送信管理手段33aから受信した送信用のIPヘッダを付与し、第2のIPデータグラムを生成する。
【0238】
また、カプセル化手段34aは、IPによるフラグメント化により、ネットワークの最大転送単位であるMTU(Maximun Transmission Unit)にあわせて、第2のIPデータグラムを分割し、一つ以上のIPパケット(第2のIPパケット)を生成する。
【0239】
カプセル化手段34aは、第2のIPパケットを送信パケットバッファ35bに送信する。
【0240】
送信パケットバッファ35bは、カプセル化手段34aから受信した第2のIPパケットを第2のバッファ内に格納した後、カプセル化手段34aに第2のバッファのアドレスである第2のバッファアドレスを送信する。
【0241】
カプセル化手段34aは、第2のバッファアドレスをフレーム送信手段35aに送信する。
【0242】
データ送信手段35は、フレーム送信手段35aと、送信パケットバッファ35bと、フレームアドレステーブル35cとを備え、パケット生成手段34から第2のIPパケットを受信し、次いで、データリンク層のプロトコルによるカプセル化により第2のIPパケットから第2のフレームを生成し、その後、物理層のプロトコルに従い第2のフレームをネットワークの物理媒体20に送信する。
【0243】
フレームアドレステーブル35cは、IPアドレスとMACアドレスとの対応表を管理しており、フレーム受信手段31aより通知された、IPアドレスとMACアドレスを保持する。
【0244】
また、フレームアドレステーブル35cは、フレーム送信手段35aからの、中継先IPアドレスおよび宛先IPアドレスに対応するMACアドレスの問い合わせに対し、前記対応表を検索しそれぞれ対応する送信先MACアドレスおよび宛先MACアドレスを通知する。
【0245】
フレーム送信手段35aは、カプセル化手段34aから受信した第2のバッファアドレスを基に、送信パケットバッファ35bより、第2のIPパケットを取り出す。
【0246】
フレーム送信手段35aは、フレームアドレステーブル35cに、第2のIPパケットの宛先IPアドレスまたは中継先IPアドレスに対応するMACアドレスを問い合わせ、宛先MACアドレスを得る。
【0247】
フレーム送信手段35aは、宛先MACアドレスおよびネットワーク接続記憶デバイス1自体のMACアドレスを基に、データリンク層のプロトコルであるIEEE802.3に従い第2のIPパケットのカプセル化を行い第2のフレームを生成する。
【0248】
さらに、フレーム送信手段35aは、物理層のプロトコルのプロトコルであるIEEE802.3に従い、第2のフレームをネットワークの物理媒体20に送信する。
【0249】
ネットワーク情報管理手段33は、送信管理手段33aと、ネットワーク情報設定手段33bと、テーブル設定手段33cとを備え、ネットワーク接続記憶デバイス1自体のネットワーク情報を管理する。
【0250】
送信管理手段33aは、データ抽出手段32aより宛先IPアドレスと送信元IPアドレスとを受信した後、宛先IPアドレスと送信元IPアドレスとを入れ替えた、送信用のIPヘッダを作成する。
【0251】
送信管理手段33aは、カプセル化手段34aに送信用のIPヘッダの送信を行う。
【0252】
ネットワーク情報設定手段33bは、データ抽出手段32aより、ペイロードを受信した後、ペイロードから、命令部および設定データ部を抽出する。
【0253】
ネットワーク情報設定手段33bは、命令部が、ネットワーク情報読み込み命令、またはネットワーク情報設定命令、仮想ディスクテーブル読み込み命令、仮想ディスクテーブル設定命令、フレームアドレステーブル読み込み命令、若しくはフレームアドレステーブル設定命令のいずれかを判別する。
【0254】
ネットワーク情報設定手段33bは、命令部が、仮想ディスクテーブル読み込み命令、または仮想ディスクテーブル設定命令の場合、仮想ディスクテーブル設定手段36dに命令部と設定データ部とを送信する。
【0255】
ネットワーク情報設定手段33bは、命令部がネットワーク情報読み込み命令の場合、ネットワーク情報設定手段33bは、ネットワーク情報設定手段33bが保持しているIPアドレス、サブネットアドレス、ホスト名、ゲートウェイアドレス等の、ネットワーク接続記憶デバイス1自体のネットワーク情報を、カプセル化手段34aに送信する。
【0256】
ネットワーク情報設定手段33bは、命令部がネットワーク情報設定命令の場合、ネットワーク情報設定手段33bは設定データ部を基に、IPアドレス、サブネットアドレス、ホスト名、ゲートウェイアドレス等の設定をおこなう。
【0257】
ネットワーク情報設定手段33bは、命令部が、フレームアドレステーブル読み込み命令、またはフレームアドレステーブル設定命令の場合、ネットワーク情報設定手段33bは、テーブル設定手段33cに命令部と設定データ部とを送信する。
【0258】
テーブル設定手段33cは、命令部がフレームアドレステーブル読み込み命令の場合、フレームアドレステーブル35cからIPアドレスおよびMACアドレスのリストを取り出し、カプセル化手段34aに送信する。
【0259】
また、テーブル設定手段33cは、命令部がフレームアドレステーブル設定命令の場合、設定データ部を基にフレームアドレステーブル35c内のIPアドレスおよびMACアドレスのリストの追加、更新、削除を行う。
【0260】
次に、仮想ディスクテーブル36bの設定方法について説明する。
【0261】
仮想ディスクテーブル設定手段36dは、ネットワーク情報設定手段33bから受信した命令部が仮想ディスクテーブル読み込み命令の場合、仮想ディスクテーブル36b内に格納されているレコード、および仮想ディスクアクセステーブル36c内に格納されているレコードを読み込んだ後、カプセル化手段34aに送信する。
【0262】
仮想ディスクテーブル設定手段36dは、ネットワーク情報設定手段33bから受信した命令部が仮想ディスクテーブル設定命令の場合、設定データ部を基に仮想ディスクテーブル36b内に格納されているレコード、または、仮想ディスクアクセステーブル36c内に格納されているレコードの新規追加、変更、削除を行う。
【0263】
次に、第2の実施の形態について説明する。
【0264】
第2の実施の形態は、第1の実施の形態に係る仮想ディスクテーブル36bの属性に、宛先サブネットマスクと送信元サブネットマスクとを加えることにより、ネットワーク毎に仮想ディスク番号を設定することを可能とした。
【0265】
第2の実施の形態では、仮想ディスクテーブル36b、および論理ブロック変換手段36a、データ抽出手段32aが、第1の実施の形態と異なる。
【0266】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第2の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0267】
図8に、第2の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0268】
第2の実施の形態に係る仮想ディスクテーブル36bは、宛先IPアドレスと宛先サブネットマスクと送信元IPアドレスと送信元サブネットマスクと仮想ディスク番号とを属性として有す。
【0269】
以下に、論理ブロック変換手段36aが、仮想ディスク番号を取得する方法を説明する。
【0270】
1.論理ブロック変換手段36aは、まず、仮想ディスクテーブル36bの最初のレコードを読み込む。
【0271】
2.論理ブロック変換手段36aは、データ抽出手段32aから受信した宛先IPアドレスとレコード内の宛先サブネットマスクとの論理積を計算し、次いで、レコード内の宛先IPアドレスとレコード内の宛先サブネットマスクとの論理積を計算する。
【0272】
3.計算された論理積の結果結果が一致した場合、同様に、送信元IPアドレスとレコード内の送信元サブネットマスクの論理積とを計算し、次いで、レコード内の送信元IPアドレスとレコード内の送信元サブネットマスクとの論理積を計算する。
【0273】
4.計算された論理積の計算結果が一致した場合、そのレコード内の仮想ディスク番号を取得する。
【0274】
5.もし、2または3において、論理積の計算結果が一致しなかった場合、次の行のレコードを読み込み、2から4の手順を繰り返す。
【0275】
なお、IPv4アドレスの代わりにIPv6アドレスを用いた場合の、仮想ディスクテーブル36bのテーブル構造および格納データを図9に示す。
【0276】
IPv6では、宛先サブネットマスクの代わりに宛先プレフィックス長を、送信元サブネットマスクの代わりに送信元プレフィックス長を、用いる。
【0277】
次に、第3の実施の形態について説明する。
【0278】
第3の実施の形態は、第1の実施の形態に係る仮想ディスクテーブル36bの属性に、宛先ポート番号と送信元ポート番号とを加えることにより、セッション毎に仮想ディスクを割り当てることが可能となる。
【0279】
これにより、同一のコンピュータ(デバイス)が、複数の使用可能な仮想ディスクの中から、セッション(アプリケーション)に応じた仮想ディスクを選んで使用することが可能となる。
【0280】
第3の実施の形態では、仮想ディスクテーブル36b、および論理ブロック変換手段36a、データ抽出手段32aが、第1の実施の形態と異なる。
【0281】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第3の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0282】
図10に、第3の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0283】
第3の実施の形態に係る仮想ディスクテーブル36bは、宛先IPアドレスと、宛先ポート番号と、送信元IPアドレスと、送信元ポート番号と、仮想ディスク番号とを属性として有し、{宛先IPアドレス,宛先ポート番号,送信元IPアドレス,送信元ポート番号}を連結キーとする。
【0284】
データ抽出手段32aは、TCPヘッダまたはUDPヘッダより宛先ポート番号と送信元ポート番号とを抽出し、次いで、仮想ブロックアドレスと送信元IPアドレスと宛先IPアドレスとに加え、抽出した宛先ポート番号と送信元ポート番号とを論理ブロック変換手段36aに送信する。
【0285】
論理ブロック変換手段36aは、送信元IPアドレスと宛先IPアドレスと宛先ポート番号と送信元ポート番号とをキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号を得る。
【0286】
次に、第4の実施の形態について説明する。
【0287】
第4の実施の形態は、第1の実施の形態に係る仮想ディスクテーブル36bにおける宛先IPアドレスや送信元IPアドレスといったネットワーク層のプロトコルのアドレス情報の代わりに、MPLSの受信ラベル値といったデータリンク層のプロトコルのアドレス情報を用いる。
【0288】
ネットワーク層のプロトコルのアドレス情報に依存しないことで、複雑なネットワーク層のプロトコル処理を回避でき、仮想ディスクへの高速なアクセスが可能となる。
【0289】
第4の実施の形態では、仮想ディスクテーブル36b、および論理ブロック変換手段36a、データ抽出手段32a、フレーム受信手段31aが、第1の実施の形態と異なる。
【0290】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第4の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0291】
図11に、第4の実施の形態における、仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0292】
第4の実施の形態に係る仮想ディスクテーブル36bは、受信ラベル値と仮想ディスク番号とを属性として持ち、受信ラベル値をキーとする。
【0293】
フレーム受信手段31aは、MPLSのシムヘッダより受信ラベル値を抽出し、論理ブロック変換手段36aに送信する。
【0294】
なお、データ抽出手段32aは、論理ブロック変換手段36aに、仮想ブロックアドレスのみを送信し、宛先IPアドレスおよび送信元IPアドレスは送信しない。
【0295】
論理ブロック変換手段36aは、フレーム受信手段31aから受信ラベル値を受信し、データ抽出手段32aから仮想ブロックアドレスを受信した後、受信ラベル値をキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号を得る。
【0296】
なお、MPLSの受信ラベル値の代わりに、図12に示すフレームリレーのDLCI(Data Link Connection Identifier)値や、図13に示すATMのVP(Virtual Path)識別子やVC(Virtual Channel)識別子を用いて、仮想ディスク番号を得ることもできる。
【0297】
次に、第5の実施の形態について説明する。
【0298】
第5の実施の形態は、第1の実施の形態に係る仮想ディスクテーブル36bの属性に、アクセス許可識別子を加えることにより、仮想ディスク毎のアクセス制限を可能とする。
【0299】
第5の実施の形態では、仮想ディスクテーブル36b、および論理ブロック変換手段36a、データ抽出手段32aが、第1の実施の形態と異なる。
【0300】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第5の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0301】
図14に、第5の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0302】
第5の実施の形態に係る仮想ディスクテーブル36bは、宛先IPアドレスと送信元IPアドレスと仮想ディスク番号とアクセス許可識別子とを属性として持ち、{宛先IPアドレス,送信元IPアドレス}を連結キーとする。
【0303】
データ抽出手段32aは、宛先IPアドレスと送信元IPアドレスと仮想ブロックアドレスと命令コードとを論理ブロック変換手段36aに送信する。
【0304】
論理ブロック変換手段36aは、送信元IPアドレスと宛先IPアドレスとをキーとして、仮想ディスクテーブル36bを検索し、仮想ディスク番号とアクセス許可識別子を得る。
【0305】
次いで、論理ブロック変換手段36aは、命令コードとアクセス許可識別子とを比較し、命令コードがアクセス許可識別子で許可されている場合は、仮想ディスクへのアクセスを許し、許可されていない場合は、仮想ディスクへのアクセスを停止する。
【0306】
なお、実施の形態1から5に係る仮想ディスクテーブル36bにおいて、仮想ディスク番号の導出条件を複数使用する為に、フロー番号を媒介変数として用いてもよい。
【0307】
図15に、複数の仮想ディスク番号の導出条件を使用する場合の、仮想ディスクテーブル36bのテーブル構造および格納データ例を示す。
【0308】
この場合、仮想ディスクテーブルAを用いて宛先IPアドレスと送信元IPアドレスからフロー番号を決定するか、または、仮想ディスクテーブルBを用いて受信ラベル値からフロー番号を決定するか、の2つから選ぶことができる。
【0309】
次いで、仮想ディスクテーブルCを用いて、フロー番号から仮想ディスク番号とアクセス許可識別子とを得ることができる。
【0310】
次に、第6の実施の形態について説明する。
【0311】
第6の実施の形態は、第1の実施の形態に係る仮想ディスクアクセステーブル36cの属性に物理ディスク番号を加えることにより、複数の物理ディスク(例:物理ディスク21と物理ディスク22)に跨った仮想ディスクを構成することができる。
【0312】
第6の実施の形態では、仮想ディスクアクセステーブル36c、および論理ブロック変換手段36a、データ書込み手段37a、データ読込み手段37bが、第1の実施の形態と異なる。
【0313】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第6の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0314】
図17に、第6の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【0315】
仮想ディスクアクセステーブル36cは、仮想ブロックアドレスと物理ディスク番号と論理ブロックアドレスとを属性とし、前記仮想ブロックアドレスをキーとする。
【0316】
論理ブロック変換手段36aは、仮想ブロックアドレスとをキーとして、仮想ディスクアクセステーブル36cを検索し、物理ディスク番号と論理ブロックアドレスとを得る。
【0317】
すなわち、図17において、仮想ディスク番号が”1”で、仮想ブロックアドレスが”4”の場合、第1の仮想ディスクアクセステーブルから、仮想ブロックアドレスが”4”の行を検索し、物理ディスク番号として”2”を、論理ブロックアドレスとして”300”を、得る。
【0318】
次いで、論理ブロック変換手段36aは、物理ディスク番号と論理ブロックアドレスとを、データ書込み手段37aおよびデータ読込み手段37bに送信する。
【0319】
データ書込み手段37aおよびデータ読込み手段37bは、物理ディスク番号に対応した物理ディスク(物理ディスク21、または物理ディスク22)に対して、データの書き込み処理およびデータの読み込み処理を行う。
【0320】
このように、従来はRAID機能を用い複数の物理ディスクをストライプ化することにより論理ディスクを作成し、この論理ディスク上にて連続したディスクアクセス領域を提供していたのに対し、本発明では、複数の物理ディスクを仮想ディスクアクセステーブル36cで結び付けた仮想ディスクにて、連続したディスクアクセス領域を提供する。
【0321】
また、クライアントノードは、複数の物理ディスクに跨った仮想ディスクにアクセスする際にも、RAIDやLUN等を用いることなく、連続したディスクアクセス領域を利用できる為、クライアントノードに要求される機能が少なく、結果、家電や小型デバイス等の小機能型クライアントノードからの利用が容易となる。
【0322】
次に、第7の実施の形態について説明する。
【0323】
第7の実施の形態は、第1の実施の形態に係る仮想ディスクアクセステーブル36cにおいて、連続した複数の仮想ブロックアドレスをまとめて扱うことで、仮想ディスクアクセステーブル36cのレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めた。
【0324】
以下、この連続した複数の仮想ブロックアドレスを仮想セグメントと呼び、この仮想セグメントを識別するための識別子を仮想セグメント番号と呼ぶ。
【0325】
つまり、1つの仮想セグメント番号が、連続した複数の仮想ブロックアドレスに関連付けられる。
【0326】
第7の実施の形態では、仮想ディスクアクセステーブル36c、および論理ブロック変換手段36aが、第1の実施の形態と異なる
【0327】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第7の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0328】
図18に、第7の実施の形態に係る仮想ディスクアクセステーブル36cの、テーブル構造および格納データ例を示す。
【0329】
仮想ディスクアクセステーブル36cは、仮想セグメント番号と開始論理ブロックアドレスとを属性として有し、仮想セグメント番号をキーとする。
【0330】
まず、論理ブロック変換手段36aは、仮想ブロックアドレスをセグメント化定数で除算し、仮想セグメント番号を導出する(仮想ブロックアドレス/セグメント化定数=仮想セグメント番号)。
【0331】
また、論理ブロック変換手段36aは、仮想ブロックアドレスをセグメント化定数で除算した余りを計算し、これをオフセット値とする(mod{仮想ブロックアドレス,セグメント化定数}=オフセット値)。
【0332】
セグメント化定数とは、1つの仮想セグメントが有す論理ブロックアドレスの数を示す定数であり、図18はセグメント化定数に100を用いた例を示している。
【0333】
次いで、論理ブロック変換手段36aは、仮想セグメント番号をキーとし、仮想ディスクアクセステーブル36cを検索し、開始論理ブロックアドレスを得る。
【0334】
次いで、論理ブロック変換手段36aは、前記開始論理ブロックアドレスと前記オフセット値を加算し、論理ブロックアドレスを導出する(開始論理ブロックアドレス+オフセット値=論理ブロックアドレス)。
【0335】
すなわち、図18において、仮想ディスク番号が”1”で仮想ブロックアドレスが”372”の場合、”372/100”から、仮想セグメント番号として”3”を、”mod{732,100}”から、オフセット値として”72”を得る。
【0336】
次いで、仮想セグメント番号の”3”をキーとして、仮想ディスクアクセステーブル36cを検索し、開始論理ブロックアドレスとして”1000”を得、この開始論理ブロックアドレスの”1000”にオフセット値の”72”を加算し、論理ブロックアドレス“1072”を得る。
【0337】
次に、第8の実施の形態について説明する。
【0338】
第8の実施の形態は、第1の実施の形態に係る仮想ディスクアクセステーブル36cにおいて、仮想ブロックアドレスから論理ブロックアドレスへの変換の際に、オフセット値とリミット値を用いることで、仮想ディスクアクセステーブル36cのレコードの数を少なし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めた。
【0339】
第8の実施の形態では、仮想ディスクアクセステーブル36c、および論理ブロック変換手段36aが、第1の実施の形態と異なる。
【0340】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第8の実施の形態と第1の実施の形態と主な異なる部分についてのみ説明する。
【0341】
図19に、第8の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【0342】
第8の実施の形態に係る仮想ディスクアクセステーブル36cは、オフセット値とリミット値の一対のレコードを有する。
【0343】
まず、論理ブロック変換手段36aは、仮想ディスクテーブル36bを検索して得られた仮想ディスク番号を基に、仮想ディスクアクセステーブル36cを決定し、その仮想ディスクアクセステーブル36cから一組のオフセット値とリミット値を得る。
【0344】
次いで、論理ブロック変換手段36aは、仮想ブロックアドレスとリミット値を比較し、仮想ブロックアドレスがリミット値より小さい場合、仮想ブロックアドレスにオフセット値を加算し、論理ブロックアドレスとする(仮想ブロックアドレス+オフセット値=論理ブロックアドレス)。
【0345】
なお、仮想ブロックアドレスがリミット値以上の場合は、仮想ブロックアドレスが無効であるものとみなし、仮想ディスクへのアクセスを停止する。
【0346】
なお、第8の実施の形態では、仮想ディスクアクセステーブル36cのレコードが少ないため、仮想ディスクテーブル36bの仮想ディスク番号を、オフセットとリミット値とに置き換えることもできる。
【0347】
この場合、仮想ディスクテーブル36bは、宛先IPアドレスと送信元IPアドレスとオフセット値とリミット値とを属性として有し、仮想ディスクアクセステーブル36cは不要となる。
【0348】
次に、第9の実施の形態について説明する。
【0349】
第9の実施の形態は、第1の実施の形態に係る仮想ディスクアクセステーブル36cにおいて、連続した複数の仮想ブロックアドレスをまとめて扱い、さらにオフセット値を併用することで、仮想ディスクアクセステーブル36cのレコードの数を少なくし、仮想ブロックアドレスから論理ブロックアドレスへの変換の効率を高めた。
【0350】
第9の実施の形態では、仮想ディスクアクセステーブル36c、および論理ブロック変換手段36aが、第1の実施の形態と異なる。
【0351】
以下の説明では、第1の実施の形態と同じ部分ついては説明を省略し、第9の実施の形態と第1の実施の形態と異なる主な部分についてのみ説明する。
【0352】
第9の実施の形態では、連続した複数の仮想ブロックアドレスを仮想セグメントとし、仮想セグメントの開始値(以下、セグメント開始値と呼ぶ)と仮想セグメントの終了値(以下、セグメント終了値)で定義する。
【0353】
これにより、仮想ブロックアドレスの値により、使用する仮想セグメントを使い分けることができる。
【0354】
図20に、第9の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【0355】
仮想ディスクアクセステーブル36cは、セグメント開始値とセグメント終了値とオフセット値とを属して有する。
【0356】
論理ブロック変換手段36aは、仮想ブロックアドレスと仮想ディスクアクセステーブル36cのレコードとを比較し、仮想ブロックアドレスがセグメント開始値以上でかつセグメント終了値以下であるレコード内の、セグメント開始値とオフセット値とを抽出する。
【0357】
論理ブロック変換手段36aは、仮想ブロックアドレスから、前記セグメント開始値を減算し、さらに前記オフセット値を加算し、論理ブロックアドレスを導出する(仮想ブロックアドレス−セグメント開始値+オフセット値=論理ブロックアドレス)。
【0358】
すなわち、図20において、仮想ディスク番号が”1”で仮想ブロックアドレスが”372”の場合、セグメント開始値”300”、セグメント終了値”599”のレコードから、セグメント開始値”300”とオフセット値 “1000”とを得る。
【0359】
次いで、仮想ブロックアドレス“372”から、セグメント開始値”300”を減算し、さらにオフセット値“1000”を加算し、論理ブロックアドレス“1072”を得る。
【0360】
【発明の効果】
以上詳記したように本発明によれば、クライアントノードは、本発明のネットワーク接続記憶デバイスに対し、仮想ブロックアドレスへのデータ書き込みまたは読み込みを要求し、ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコルの情報を基に、仮想ブロックアドレスを物理ディスクへのアクセス位置である論理ブロックアドレスに変換することにより、クライアントノードは、自装置の物理ディスクまたはストレージネットワークを介して接続されたストレージにアクセスする場合と同様のアドレス指定方法により、仮想的に構成された物理ディスクに対しアクセスを行うことができる。
【図面の簡単な説明】
【図1】第1の実施の形態に係るネットワーク接続記憶デバイス1を有するネットワークシステムの概略図である。
【図2】第1の実施の形態に係るネットワーク接続記憶デバイス1の構成を示すブロック図である。
【図3】図2におけるネットワーク接続記憶デバイス1が有す手段を示すブロック図である。
【図4】図3における各手段を構成する要素およびそのデータフローを示すブロック図である。
【図5】第1の実施の形態に係るデータ抽出手段32aが受信するIPパケットの例を示す図である。
【図6】第1の実施の形態に係るデータ抽出手段32aで生成された第1のIPデータグラムの例を示す。
【図7】第1の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図8】第2の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図9】第2の実施の形態に係る仮想ディスクテーブル36bにおいて、IPv4アドレスの代わりにIPv6アドレスを用いた場合の、テーブル構造および格納データを示す図である。
【図10】第3の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図11】第4の実施の形態における仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図12】第4の実施の形態における仮想ディスクテーブル36bにおいて、MPLSの受信ラベル値の代わりに、フレームリレーのDLCI値を用いた場合の、テーブル構造および格納データ例を示す図である。
【図13】第4の実施の形態における仮想ディスクテーブル36bにおいて、MPLSの受信ラベル値の代わりに、ATMのVP識別子やVC識別子を用いた場合の、テーブル構造および格納データ例を示す図である。
【図14】第5の実施の形態に係る仮想ディスクテーブル36bのテーブル構造および格納データ例を示す図である。
【図15】実施の形態1から5に係る仮想ディスクテーブル36bにおいて、仮想ディスク番号の導出条件を複数使用する場合の、テーブル構造および格納データ例を示す図である。
【図16】第1の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す図である。
【図17】第6の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【図18】第7の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【図19】第8の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【図20】第9の実施の形態に係る仮想ディスクアクセステーブル36cのテーブル構造および格納データ例を示す。
【符号の説明】
1:ネットワーク接続記憶デバイス
2:コンピュータ
3:デバイス
4:ルータ
5:LAN
12:コンピュータ
13:デバイス
14:ルータ
15:LAN
20:ネットワークの物理媒体
21:物理ディスク
21a:ドライブ
21b:ディスクコントローラ
22:物理ディスク
22a:ドライブ
22b:ディスクコントローラ
23:内部バス
24:ネットワークコントローラ
25:ネットワークインターフェース
26:仮想ディスクインターフェース
27:デバイスドライバ
28:内部バス
31:データ受信手段
31a:フレーム受信手段
31b:受信パケットバッファ
32:データ復元手段
32a:データ抽出手段
33:ネットワーク情報管理手段
33a:送信管理手段
33b:ネットワーク情報設定手段
33c:テーブル設定手段
34:パケット生成手段
34a:カプセル化手段
35:データ送信手段
35a:フレーム送信手段
35b:送信パケットバッファ
35c:フレームアドレステーブル
36:仮想ディスクアクセス手段
36a:論理ブロック変換手段
36b:仮想ディスクテーブル
36c:仮想ディスクアクセステーブル
36d:仮想ディスクテーブル設定手段
37:デバイスアクセス手段
37a:データ書込み手段
37b:データ読込み手段
Claims (17)
- ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、
1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、
前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、
前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、
前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、
を備えたネットワーク接続記憶デバイスであって、
前記デバイスドライバ(27)が、
前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)
を更に有し、
前記ネットワークコントローラ(24)が、
前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、
前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、
を更に有し、
前記仮想ディスクインターフェイス(26)が、
前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、
前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、を更に有し、
前記ネットワークインターフェース(25)が、
前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、
前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、
を更に有し、
前記データ受信手段(31)は、
前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、
次いで、第1のフレームから第1のパケットを抽出した後、
前記第1のパケットを前記データ復元手段(32)に送信し、
前記データ復元手段(32)は、
前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、
ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、
次いで、前記ペイロード内の仮想ブロックアドレスと、
データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、
前記論理ブロック変換手段(36a)に送信し、
前記仮想ディスクテーブル(36b)は、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
仮想ディスク番号とを関連付け、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、
前記仮想ディスク番号を得、
次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、
前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、
前記デバイスアクセス手段(37)は、
前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、
前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、
および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、
前記パケット生成手段(34)は、
前記デバイスアクセス手段(37)から受信したデータを、
前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、
次いで、前記第2のパケットを前記データ送信手段(35)に送信し、
前記データ送信手段(35)は、
前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、
次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、
1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、
前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、
前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、
前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、
を備えたネットワーク接続記憶デバイスであって、
前記デバイスドライバ(27)が、
前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)
を更に有し、
前記ネットワークコントローラ(24)が、
前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、
前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、
を更に有し、
前記仮想ディスクインターフェイス(26)が、
前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された仮想ディスクアクセス手段(36)
を更に有し、
前記ネットワークインターフェース(25)が、
前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、
前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、
を更に有し、
前記データ受信手段(31)は、
前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、
次いで、第1のフレームから第1のパケットを抽出した後、
前記第1のパケットを前記データ復元手段(32)に送信し、
前記データ復元手段(32)は、
前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、
ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、
次いで、前記ペイロード内の仮想ブロックアドレスと、
データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、
前記仮想ディスクアクセス手段(36)に送信し、
前記仮想ディスクアクセス手段(36a)は、
前記仮想ブロックアドレスと、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報を基に、
前記仮想ブロックアドレスを論理ブロックアドレスに変換した後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、
前記デバイスアクセス手段(37)は、
前記仮想ディスクアクセス手段(36)から前記論理ブロックアドレスを受信した後、
前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、
および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、
前記パケット生成手段(34)は、
前記デバイスアクセス手段(37)から受信したデータを、
前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、
次いで、前記第2のパケットを前記データ送信手段(35)に送信し、
前記データ送信手段(35)は、
前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、
次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、
1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、
前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、
前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、
前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、
を備えたネットワーク接続記憶デバイスであって、
前記デバイスドライバ(27)が、
前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)
を更に有し、
前記ネットワークコントローラ(24)が、
前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、
前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、
を更に有し、
前記仮想ディスクインターフェイス(26)が、
前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、
前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、
を更に有し、
前記ネットワークインターフェース(25)が、
前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、
前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、
を更に有し、
前記データ受信手段(31)は、
前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、
次いで、第1のフレームから第1のパケットを抽出した後、
前記第1のパケットを前記データ復元手段(32)に送信し、
前記データ復元手段(32)は、
前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、
ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、
次いで、前記ペイロード内の仮想ブロックアドレスと、
ネットワーク層のプロトコル情報とを、
前記論理ブロック変換手段(36a)に送信し、
前記仮想ディスクテーブル(36b)は、
前記ネットワーク層のプロトコル情報と
仮想ディスク番号とを関連付け、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記ネットワーク層のプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記ネットワーク層のプロトコル情報から
前記仮想ディスク番号を得、
次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、
前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、
前記デバイスアクセス手段(37)は、
前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、
前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、
および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、
前記パケット生成手段(34)は、
前記デバイスアクセス手段(37)から受信したデータを、
前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、
次いで、前記第2のパケットを前記データ送信手段(35)に送信し、
前記データ送信手段(35)は、
前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、
次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、3に記載のネットワーク接続記憶デバイスであって、
前記ネットワーク層のプロトコル情報が、宛先IPアドレスおよび送信元IPアドレスの少なくとも一つである、
ことを特徴とするネットワーク接続記憶デバイス。 - ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、
1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、
前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、
前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、
前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、
を備えたネットワーク接続記憶デバイスであって、
前記デバイスドライバ(27)が、
前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)
を更に有し、
前記ネットワークコントローラ(24)が、
前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、
前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、
を更に有し、
前記仮想ディスクインターフェイス(26)が、
前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、
前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、
を更に有し、
前記ネットワークインターフェース(25)が、
前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、
前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、
を更に有し、
前記データ受信手段(31)は、
前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、
次いで、第1のフレームから第1のパケットを抽出した後、
前記第1のパケットを前記データ復元手段(32)に送信し、
前記データ復元手段(32)は、
前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、
ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、
次いで、前記ペイロード内の仮想ブロックアドレスと、
データリンク層のプロトコル情報とを、
前記論理ブロック変換手段(36a)に送信し、
前記仮想ディスクテーブル(36b)は、
前記データリンク層のプロトコル情報と
仮想ディスク番号とを関連付け、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記データリンク層のプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記データリンク層のプロトコル情報から
前記仮想ディスク番号を得、
次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、
前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、
前記デバイスアクセス手段(37)は、
前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、
前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、
および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、
前記パケット生成手段(34)は、
前記デバイスアクセス手段(37)から受信したデータを、
前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、
次いで、前記第2のパケットを前記データ送信手段(35)に送信し、
前記データ送信手段(35)は、
前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、
次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、
前記データリンク層のプロトコル情報が、MPLSの受信ラベル値である、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、
前記データリンク層のプロトコル情報が、フレームリレーのDLCI値である、ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、5に記載のネットワーク接続記憶デバイスであって、
前記データリンク層のプロトコル情報が、ATMのVP識別子値およびVC識別子値の少なくとも一つである、
ことを特徴とするネットワーク接続記憶デバイス。 - ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、
1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、
前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、
前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、
前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、
を備えたネットワーク接続記憶デバイスであって、
前記デバイスドライバ(27)が、
前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)
を更に有し、
前記ネットワークコントローラ(24)が、
前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、
前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、
を更に有し、
前記仮想ディスクインターフェイス(26)が、
前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、
前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、
を更に有し、
前記ネットワークインターフェース(25)が、
前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、
前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、
を更に有し、
前記データ受信手段(31)は、
前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、
次いで、第1のフレームから第1のパケットを抽出した後、
前記第1のパケットを前記データ復元手段(32)に送信し、
前記データ復元手段(32)は、
前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、
ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、
次いで、前記ペイロード内の仮想ブロックアドレスと、
トランスポート層のプロトコル情報とを、
前記論理ブロック変換手段(36a)に送信し、
前記仮想ディスクテーブル(36b)は、
前記トランスポート層のプロトコル情報と
仮想ディスク番号とを関連付け、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記トランスポート層のプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記トランスポート層のプロトコル情報から
前記仮想ディスク番号を得、
次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、
前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、
前記デバイスアクセス手段(37)は、
前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、
前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、
および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、
前記パケット生成手段(34)は、
前記デバイスアクセス手段(37)から受信したデータを、
前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、
次いで、前記第2のパケットを前記データ送信手段(35)に送信し、
前記データ送信手段(35)は、
前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、
次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、9に記載のネットワーク接続記憶デバイスであって、
前記トランスポート層のプロトコル情報が、
TCPヘッダまたはUDPヘッダの、宛先ポート番号および送信元ポート番号の少なくとも一つである、
ことを特徴とするネットワーク接続記憶デバイス。 - ドライブ(21a)と、前記ドライブ(21a)と接続されたディスクコントローラ(21b)と、を有する物理ディスク(21)と、
1つ以上の前記物理ディスク(21)と接続されたデバイスドライバ(27)と、
前記デバイスドライバ(27)と接続された仮想ディスクインターフェイス(26)と、
前記デバイスドライバ(27)および前記仮想ディスクインターフェイス(26)と接続されたネットワークコントローラ(24)と、
前記ネットワークコントローラ(24)と接続されたネットワークインターフェース(25)と、
を備えたネットワーク接続記憶デバイスであって、
前記デバイスドライバ(27)が、
前記ディスクコントローラ(21b)と接続されたデバイスアクセス手段(37)
を更に有し、
前記ネットワークコントローラ(24)が、
前記デバイスアクセス手段(37)と接続されたデータ復元手段(32)と、
前記デバイスアクセス手段(37)と接続されたパケット生成手段(34)と、
を更に有し、
前記仮想ディスクインターフェイス(26)が、
前記データ復元手段(32)および前記デバイスアクセス手段(37)と接続された論理ブロック変換手段(36a)と、
前記論理ブロック変換手段(36a)と接続された仮想ディスクテーブル(36b)と、前記論理ブロック変換手段(36a)と接続された仮想ディスクアクセステーブル(36c)と、
を更に有し、
前記ネットワークインターフェース(25)が、
前記データ復元手段(32)とネットワークの物理媒体(20)とに接続されたデータ受信手段(31)と、
前記パケット生成手段(34)と前記ネットワークの物理媒体(20)とに接続されたデータ送信手段(35)と、
を更に有し、
前記データ受信手段(31)は、
前記ネットワークの物理媒体(20)からネットワーク接続記憶デバイス宛の第1のフレームを受信し、
次いで、第1のフレームから第1のパケットを抽出した後、
前記第1のパケットを前記データ復元手段(32)に送信し、
前記データ復元手段(32)は、
前記データ受信手段(31)から受信した前記第1のパケットを含む少なくとも1つ以上のパケットから、
ネットワーク層のプロトコルのリアセンブリによりペイロードを復元させ、
次いで、前記ペイロード内の仮想ブロックアドレスおよび命令コードと、
データリンク層およびネットワーク層、トランスポート層の少なくとも一つのプロトコル情報とを、
前記論理ブロック変換手段(36a)に送信し、
前記仮想ディスクテーブル(36b)は、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
仮想ディスク番号およびアクセス許可識別子とを関連付け、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと論理ブロックアドレスとを関連付け、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、命令コードと、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、
前記仮想ディスク番号と前記アクセス許可識別子とを得、
次いで、前記命令コードと前記アクセス許可識別子とを比較し、
前記命令コードが前記アクセス許可識別子で許可されている場合のみ、
前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、
前記仮想ブロックアドレスから前記論理ブロックアドレスを得た後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信し、
前記デバイスアクセス手段(37)は、
前記論理ブロック変換手段(36a)から前記論理ブロックアドレスを受信した後、
前記物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、
および前記物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行い、
前記パケット生成手段(34)は、
前記デバイスアクセス手段(37)から受信したデータを、
前記ネットワーク層のプロトコルのカプセル化及びフラグメント化により、第2のパケットとし、
次いで、前記第2のパケットを前記データ送信手段(35)に送信し、
前記データ送信手段(35)は、
前記データリンク層のプロトコルによるカプセル化により、前記第2のパケットから第2のフレームを生成し、
次いで、物理層のプロトコルに従い前記ネットワークの物理媒体(20)に前記第2のフレームを送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、仮想ブロックアドレスと論理ブロックアドレスとを属性とし、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、
前記仮想ディスク番号を得、
次いで、前記仮想ブロックアドレスをキーとして、
前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、
前記論理ブロックアドレスを得た後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、前記仮想ブロックアドレスと物理ディスク番号と前記論理ブロックアドレスとを属性とし、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、
前記仮想ディスク番号を得、
次いで、前記仮想ブロックアドレスをキーとして、
前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、
前記物理ディスク番号と前記論理ブロックアドレスとを得た後、
前記物理ディスク番号と前記論理ブロックアドレスとを前記デバイスアクセス手段(37)に送信し、
前記デバイスアクセス手段(37)は、
前記論理ブロック変換手段(36a)から前記物理ディスク番号と前記論理ブロックアドレスとを受信し、
次いで、前記物理ディスク番号に対応する物理ディスク(21)の前記論理ブロックアドレスへのデータの書き込み処理、
および前記物理ディスク番号に対応する物理ディスク(21)の前記論理ブロックアドレスからのデータの読み込み処理の少なくとも一つを行う、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、仮想セグメント番号と開始論理ブロックアドレスとを属性とし、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、
前記仮想ディスク番号を得、
次いで、前記仮想ブロックアドレスから前記仮想セグメント番号を導出した後、
前記仮想セグメント番号をキーとして、
前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を検索し、
前記開始論理ブロックアドレスを得、
次いで、前記開始論理ブロックアドレスから前記論理ブロックアドレスを導出した後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、リミット値とオフセット値とを属性とし、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、
前記仮想ディスク番号を得、
次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)から前記リミット値と前記オフセット値とを得、
次いで、前記リミット値と前記オフセット値と前記仮想ブロックアドレスとを用いて、前記論理ブロックアドレスを導出した後、
前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、3、4、5、6、7、8、9、10、11に記載のネットワーク接続記憶デバイスであって、
前記仮想ディスクアクセステーブル(36c)は、
前記仮想ディスク番号で識別され、更に、仮想セグメントの開始値と仮想セグメントの終了値とオフセット値とを属性とし、
前記論理ブロック変換手段(36a)は、
前記仮想ブロックアドレスと、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報と
を前記データ復元手段(32)から受信した後、
前記仮想ディスクテーブル(36b)を用い、
前記データリンク層および前記ネットワーク層、前記トランスポート層の少なくとも一つのプロトコル情報から、
前記仮想ディスク番号を得、
次いで、前記仮想ディスク番号に対応する前記仮想ディスクアクセステーブル(36c)を用い、
前記仮想ブロックアドレスから前記仮想セグメントの開始値と前記オフセット値とを得た後、
前記仮想セグメントの開始値と前記オフセット値と前記仮想ブロックアドレスとを用い前記論理ブロックアドレスを導出し、
次いで、前記論理ブロックアドレスを前記デバイスアクセス手段(37)に送信する、
ことを特徴とするネットワーク接続記憶デバイス。 - 請求項1、または2、3、4、5、6、7、8、9、10、11、12、13、14、15、16に記載のネットワーク接続記憶デバイスに対し、クライアントノードは、仮想ブロックアドレスを指定して、仮想ディスクへのデータの書き込みまたは前記仮想ディスクからのデータの読み込みを要求し、前記ネットワーク接続記憶デバイスは、ネットワーク層またはデータリンク層、トランスポート層のプロトコル情報を基に、前記仮想ブロックアドレスを論理ブロックアドレスに変換した後、前記論理ブロックアドレスを指定して、物理ディスクへのデータの書き込みまたは物理ディスクからのデータの読み込みを行うことを特徴とする、ディスクアクセス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002364502A JP2004199209A (ja) | 2002-12-17 | 2002-12-17 | ネットワーク接続記憶デバイス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002364502A JP2004199209A (ja) | 2002-12-17 | 2002-12-17 | ネットワーク接続記憶デバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004199209A true JP2004199209A (ja) | 2004-07-15 |
Family
ID=32762308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002364502A Pending JP2004199209A (ja) | 2002-12-17 | 2002-12-17 | ネットワーク接続記憶デバイス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004199209A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007108951A (ja) * | 2005-10-12 | 2007-04-26 | Sony Corp | データ管理装置および記録媒体の管理方法 |
JP2010272073A (ja) * | 2009-05-25 | 2010-12-02 | Fujitsu Ltd | ストレージ装置の監視ユニット、および監視ユニットのファームウェア更新方法 |
-
2002
- 2002-12-17 JP JP2002364502A patent/JP2004199209A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007108951A (ja) * | 2005-10-12 | 2007-04-26 | Sony Corp | データ管理装置および記録媒体の管理方法 |
US8275241B2 (en) | 2005-10-12 | 2012-09-25 | Sony Corporation | Data management device and method for managing recording medium |
JP2010272073A (ja) * | 2009-05-25 | 2010-12-02 | Fujitsu Ltd | ストレージ装置の監視ユニット、および監視ユニットのファームウェア更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI390419B (zh) | 具伺服器驗證之出自使用者空間i/o之系統與方法 | |
US6907457B2 (en) | Architecture for access to embedded files using a SAN intermediate device | |
JP5167225B2 (ja) | 1つのファイラー上の複数の仮想ファイラーが重複するネットワークアドレスを有する複数のアドレス空間に参加することを可能にする技術 | |
US8700587B2 (en) | Security method and system for storage subsystem | |
US7617318B2 (en) | Storage system and a storage management system | |
JP4651230B2 (ja) | 記憶システム及び論理ユニットへのアクセス制御方法 | |
JP4123088B2 (ja) | ストレージネットワーク管理装置及び方法 | |
US11003719B2 (en) | Method and apparatus for accessing a storage disk | |
JP4512179B2 (ja) | ストレージ装置及びそのアクセス管理方法 | |
US20050160275A1 (en) | Access control appartus and access control method | |
JP2004192305A (ja) | iSCSIストレージ管理方法及び管理システム | |
EP3474146B1 (en) | Data processing method, storage system and exchange device | |
JP2005071362A (ja) | ネットワークを介したscsiデバイスアクセスの提供 | |
JP2005535019A (ja) | ストレージ管理ブリッジ | |
US8359379B1 (en) | Method of implementing IP-based proxy server for ISCSI services | |
JP4550557B2 (ja) | フィルタ定義管理方法、フィルタ定義管理装置、および、ストレージエリアネットワーク | |
JP4329412B2 (ja) | ファイルサーバシステム | |
Krueger et al. | Small computer systems interface protocol over the Internet (iSCSI) requirements and design considerations | |
CN114025009B (zh) | 转发请求的方法、系统、代理服务器和装置 | |
US7353260B1 (en) | System and method for access control on a storage router | |
US20040064596A1 (en) | Method and arrangement for generating unique identifiers for logical units of SCSI devices | |
US20050251684A1 (en) | Storage control system and storage control method | |
JP2004199209A (ja) | ネットワーク接続記憶デバイス | |
JP4485875B2 (ja) | ストレージ接続変更方法、ストレージ管理システム及びプログラム | |
JP3379949B2 (ja) | ネットワーク接続記憶デバイス |