JP2004527817A - ネットワークに直接に取付可能なディスクシステム - Google Patents
ネットワークに直接に取付可能なディスクシステム Download PDFInfo
- Publication number
- JP2004527817A JP2004527817A JP2002555298A JP2002555298A JP2004527817A JP 2004527817 A JP2004527817 A JP 2004527817A JP 2002555298 A JP2002555298 A JP 2002555298A JP 2002555298 A JP2002555298 A JP 2002555298A JP 2004527817 A JP2004527817 A JP 2004527817A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- network
- nad
- host
- driver
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
また、ネットワークやサーバー管理上の不具合を引き起こさずに便利にサーバーに連結しえると共に、ディスク容量の需要を合せるため多数のディスクシステムをネットワークポートに簡単にプラグインして使用できる低廉な費用のディスクシステムを提供する。
さらに、保存ディバイスがネットワークポートにプラグインされるバスに取付可能であるようにするインターフェースを提供する。
【解決手段】ネットワークを通じてホストからのディスク接近命令を受信するためのNAD(Network−attached disk)ディバイスと、ホストでネットワークを通じてNAD装置を制御するためのディバイスドライバーとを含むネットワーク取付ディスクシステムを通じて達成しえる。
前記ホストはUNIX、又はWindows系列のシステムをオペレーティングシステムにすることができる。NADディバイスはデータを保存するディスクと、ディスクを制御するディスク制御機、及びネットワークポートを通じてホストからのディスク接近命令を受信するネットワークアダプターを含む。
【選択図】図1
Description
【0001】
本発明はコンピューターシステムに関し、特にネットワークに直接に取付可能なディスクシステム、又はインターフェースに関する。
【背景技術】
【0002】
インターネット使用の増加に伴い、保存を必要とするデータの量が急増している。特に、マルチメディアデータを保存するための大容量ディスクドライブに対する需要が多くなった。例えば、各サーバー当りテラバイト以上のディスク容量を備えるディスクシステムに対する需要が増えている。
【発明の開示】
【発明が解決しようとする課題】
【0003】
テープドライブやCDドライブを使用して大容量データを保存することもあったが、性能や使用上の便利性を考えると、ハードディスクとは比べものにならない。
【0004】
しかしながら、通常のサーバーシステムのハードディスクを大容量に増設するには多少の問題点が伴う。
通常、インターネットネットワークに連結して使用するようになっているNAS(Network Attached Storage)製品は、NFS(Network File System)プロトコルやCIFS(Common Internet File System)プロトコル、又はインターネットで使用されるIPプロトコルに2つのプロトコルを共に使用する統合システム、又は保存管理と共に予め定められた一定量のディスク容量を提供する。前記2つのプロトコルの基本目的は2つのコンピューターの間でファイルを交換することにある。したがって、ファイルへの接近のためにNASを使用するクライアントは地域ディスクに接近するのとは異なる方式でNASシステムの保存ディバイスに接近するしかない。
【0005】
NASは基本的にファイルを保存し、情報を検索する機能だけを有する単純化されたファイルサーバーの一種である。したがって、NASを通じた容量は、実際にはファイルサーバーを増設したものであり、これには多くの制約が伴う。NASのディスクはクライアントには自分の地域ディスクではないので、NASディスクの装着、移動、及び諸般管理はNASのオペレーティングシステムやソフトウェアを使用してのみ可能である。また、NASディスクは、NASシステムの内部のバス内に装着されるべきなので、装着可能なディスクの数は制限されている。NASは自分のオペレーティングシステムの下にディスクを置いており、クライアントがNASディスクに接近するためには、提供されたファイルシステムの以外の任意のシステムを使用できない。その他にもNASシステムは、別途のIPアドレスを必要とする。結論的に、地域ディスクを使用するのに比べNASシステムの場合は、ディスク当り装着や管理費用がさらにかかるだけでなく、地域ディスクを使用する場合より使用上不便である。
【0006】
Fibre Channel技術を使用するSAN(Storage Area Network)に連結された装置を使用するためには特定のタイプのスイッチが必要である。例えば、Fibre Channelは、FibreChannel Hub、又はFibre Channel Switchを使用する。SAN技術においても短所があって、通常別途のファイルサーバーが使用され、一般に高価の装備と共に、SANを運営するための知識を備えた技術人力が必要である。
【0007】
そのため、ディスクシステムがネットワークに直接に取り付けられ、別途のファイルサーバーや特別な装備を追加せずに、まるで地域ディスクであるように接近するインターフェースが必要である。
【0008】
そこで、本発明の目的は、ネットワークファイルシステムを通さず、ホストに連結するネットワークに直接に取り付けて使用できるディスクシステムを提供することにある。
【0009】
本発明の他の目的として、別途のファイルサーバーや特定のスイッチ、又はIPアドレスのような付加要素なしに地域ディスクのように認識され、使用されえるディスクシステムを提供する。
【0010】
本発明のまた他の目的として、ネットワークやサーバー管理上の不具合を引き起こすことなく便利にサーバーに連結しえるディスクシステムを提供する。
【0011】
本発明のまた他の目的として、ディスク容量の需要を合せるため多数のディスクシステムをネットワークポートに簡単にプラグインして使用できる低廉な費用のディスクシステムを提供する。
【0012】
本発明のさらに他の目的として、保存ディバイスがネットワークポートにプラグインされるバスに取付可能であるようにするインターフェースを提供する。
【課題を解決するための手段】
【0013】
上記の目的は、ネットワークを通じてホストからのディスク接近命令を受信するためのNAD(Network−attached disk)ディバイスと、ホストでネットワークを通じてNAD装置を制御するためのディバイスドライバーとを含むネットワーク取付ディスクシステムを通じて達成しえる。
【0014】
ホストはUNIX、又はWindows系列のシステムをオペレーティングシステムにすることができる。NADディバイスはデータを保存するディスクと、ディスクを制御するディスク制御機、及びネットワークポートを通じてホストからのディスク接近命令を受信するネットワークアダプターを含む。
【発明を実施するための最良の形態】
【0015】
図1は本発明が使用される環境を示す。ホスト100は、内部のシステムバス103に連結されている地域ディスク104を制御する地域ディスクディバイスドライバー102を含むファイルシステム101を有する。地域ディバイスはネットワークに連結されたネットワークディバイスと対照される独立型システムの内部の装置として定義される。地域ディバイスは、ホストが地域ディバイスと異なるネットワークを通らず疎通できるようにするホストバスアダプターを通じてシステムバスに直接に連結される。その反面、ネットワークディバイスはシステムバスに直接に連結されず、システムバスに装着されているネットワークインターフェースカードNICと呼ばれるインターフェースを通じて連結される。前記地域ディスク104は通常のIDE(Integrated Drive Electronics)ディスク、又はSCSI(Small Computer System Interface)ディスクと云える。
【0016】
また、ファイルシステム101はネットワークアダプターディバイスドライバー106とイザーネットのようなネットワーク107を通じて連結されるNADディバイス108を制御する本発明のネットワーク取付ディスクNADディバイスドライバー105を含む。本発明の前記NADディバイスドライバー108は一つ以上のディスク109を含む。前記ネットワーク107は他の応用トラフィックだけでなく、保存トラフィックを運搬する汎用ネットワークである。汎用ネットワークトラフィックを運搬するための前位処理ネットワークは、一般的な保存領域ネットワークSANの構成に使用される保存所などに使用される後位処理ネットワークと区分される。
【0017】
本発明は2つの主要な構成要所のホストのNADディバイスドライバー105と、ネットワークに取り付けられたNADディバイス108とからなる。
【0018】
図2は多端子NADディバイスがネットワークを通じて多数のホストに接近する例を示す。ディスク(1,1)126を有する1番NADディバイス123、ディスク(2,1)127とディスク(2,2)128を有する2番NADディバイス124は、1番ホスト120によってネットワーク122を通じて接近する。ディスク(3,1)129、ディスク(3,2)130と、ディスク(3,3)131を有する3番NADディバイス125は、2番ホスト121によって上記のようなネットワーク122を通じて接近する。
【0019】
各ディスクはホストのシステムバスに連結された地域ディスクに現れるので、逆動的に装着、又は除去されえる。本発明は、このために、実際にはNADディバイスに連結されたホストバスアダプターがないにも関わらず、NADディバイスがシステムに連結されていると認識する純粋ソフトウェア手段の仮想ホストバスアダプターを作る。これは、NICを通じて連結されたNASディバイスがネットワークに連結された別途のファイルサーバーとして認識される、通常的なネットワーク領域保存(NAS)の構成とは区分される。
【0020】
オープンシステムインターフェース(OSI)モデルは、電気的なインターフェースの定義のための物理層、データフレームを使用する通信のためのデータリンク層、一方の先端から他方にパケットを発送するためのネットワーク層、通信期間を規定するセション層、データ表現構成のための表現層、及び応用プログラムのための応用層を含む7層のプロトコルを定義する。本発明は、データリンクフレームで保存命令を含有させるデータリンク層プロトコルを使用する。NADディバイスはホストから独立したディバイスとして作用しないので、IPアドレスのようなネットワークアドレスを使用する必要はない。ホストとディスクシステムの特定な配置は動的に変化しえるので、地域ディスクを使用する場合と同様に使用上便利で運搬しやすい。ネットワークに接続することができるディスクシステムの数を仮想的に制限することはない。
【0021】
図3は多端子NADディバイスがネットワークを通じて多数のホストにより接近することを示す他の例である。1番NADディバイス143と、2番NADディバイス145、及び5番NADディバイス147は、ネットワーク142を通じて1番ホスト140により接近される。2番NADディバイス144と、4番NADディバイス146は、同一のネットワーク142を介して2番ホスト140により接近される。
【0022】
NADに含まれたディスクは別途のディスクとして取り扱われ、各ディスクはホストによって独立的に接近される。図4はNAD内の各ディスクが別途のディスクとして取り扱われる例を示す。1番NADディバイス163内のディスク(1,1)166、2番NADディバイス内のディスク(2,2)168、そして、2番NADディバイス内のディスク(3,2)170は、ネットワーク122を通じてホスト160により接近される一方、2番NADディバイス164内のディスク(2,1)167と、3番NADディバイス165内のディスク(3,1)169と、ディスク(3,3)171は、前記同じネットワーク162を通じて2番ホスト161により接近される。2番NADディバイス164内のディスク(2,1)167と、ディスク(2,2)168とがそれぞれ1番ホスト160と2番ホスト161によって接近されることに留意する。
【0023】
(ブロックディバイスドライバー)
Windowsのような他のオペレーティングシステムでも使用されるが、UNIX系列のオペレーティングシステムで作動するNADシステムの実施形態を説明する。
【0024】
異なる種類のブロックディバイスの中で区別するための主ディバイス番号と、同じ種類のブロックディバイスの中で区別するための副ディバイス番号とがディスクディバイスのようなブロックデータ保存のための各ブロックディバイスに割り当てられる。UNIXでは各ディバイスがリアルディバイスを接近させるためのインターフェースを提供するディバイスファイルを通じて接近される。主ディバイス番号と副ディバイス番号、及びブロックディバイスドライバーに関する情報を有したディバイスファイルは主に先に生成される。
【0025】
ディバイスファイルの目的は、ディバイスに関係した核心により形成された要求を処理するためのものである。ディスクドライバーは、核心のための一定のインターフェースを提供するためにディバイス特定コードを分離させる。ディバイスドライバーの作動を活性化させるために、ディスクファイルとディバイスドライバールーチンの用意が必要であり、ドライバールーチンの機能が登録され、その有用性をUNIXのような運営システムが理解するようにすべきであり、大体媒介変数としてディバイスに割り当てられた主番号とドライバールーチンの機能を伝達して行われる。
【0026】
ブロックディスクドライバーの登録と登録解除
ブロックディスクドライバーが主ディバイス番号とドライバー機能を媒介体として伝達して登録されると、その主番号を伝達することで登録解除が可能である。
【0027】
表1はディバイスドライバーの登録や登録解除に使用される関数を示すものである。
【0028】
【表1】
【0029】
表2は地域ドライバーとNDAドライバーにより使用される一般的な関数を示すものである。
【0030】
【表2】
【0031】
表3はIDE地域ディスクドライバーとNADドライバーに関する関数の例を示すものである。
【0032】
【表3】
【0033】
図5は特別にNADディバイスドライバのようなブロックディバイスドライバーが登録、又は登録解除される例を示す。最初に、3番メジャードディバイスを有するIDEディバイスドライバー181が0番メジャーディバイスと、n番メジャーディバイス182のような幾つかのヌールディバイスドライバーと共に生成される。60番主番号が割り当てられたNADディバイスドライバーの60番メジャーディバイス183は、ディバイス登録関数register_blkdev(60,fops)185を使用して登録される。次に、NADディバイスドライバーはヌールディバイスドライバーである60番メジャーーディバイス184に未登録関数unregister_blkdev(60)186を使用して登録解除される。図5は本発明のNADディバイスドライバーが既存のブロックディバイスドライバーと同様な方式で装着されることを示す。
【0034】
ブロックディバイスの使用
ブロックディバイスドライバーが登録され、ディバイスファイルが生成されると、リアルディバイスに接近するためのリードとライトが行なわれる。しかしながら、ユーザーはディバイスファイルがファイルシステムにマウントされて初めて直接に送信が可能である。ディバイスファイルがファイルシステムにマウントされる前に各ブロックディバイスファイルは特殊ファイルシステムでフォーマットされなければならない。本発明のNADディバイスドライバーは、通常の地域ディスクと同様な方式で用意されたので、通常の地域ディスクのフォーマット時に使用されるI/O命令のセットがNADディバイスのディスクのフォーマット時にもまた使用されえる。更に、NADディバイスがディバイスレベル内で制御されるので、使用されたファイルシステムと独立した必修形式にフォーマットされえる。
【0035】
図6はディレクトリ、ディバイスファイル、ディバイスドライバー、そして、ディバイスの間の関係を示す。左側はディレクトリ200にマウントされたディバイスファイル201が地域ディスクディバイスドライバー202によって地域ディスク203を制御するのに使用される通常の地域ディスクシステムを取り付けたことを示す。右側は本発明のディレクトリ200にマウントされたディバイスファイル204がNADディバイスドライバー205によってイザーネットのような地域領域ネットワーク(LAN)206を通じてNADディバイス207を制御するに使用された本発明のNADシステムを示す。
【0036】
ブロックディバイスドライバーの構造
各ブロックディバイスドライバーは、I/O要求をディバイスに保存するためのI/O要求待機の行列を有する。保存された要求は能率を向上させるために予定が変更されえる。I/O要求待機の行列を除いて、各ブロックディバイスドライバーは待機行列のI/O要求を実行させるための要求機能を必要とする。
【0037】
図7は要求関数がブロックディバイスに直接に命令する状態を示す。ディバイス222とファイルシステム223を使用するNADディバイスドライバー220は、I/O要求225から228まで保存した待機行列224を有する。
前記NADディバイスドライバー220は最近に実行された要求225によってNADディバイス221に命令を下る要求関数229を有する。
【0038】
図8は前記要求関数229が直接に命令を下る代わりに、ディバイス接近スレード230を始動させて、要求待機行列の情報に基づく命令を下る状態を示す。一つのスレードとは複数のユーザーを処理可能なプログラムの一回使用のことを云う。
【0039】
地域ディスクシステムとNADシステムの構成
図9は通常的な地域ディスクシステムと、UNIXで運営されるNADシステムの構成を示す。ファイルシステム260では地域バス263に取り付けられた通常的な地域ディスク264が、通常の地域ディスクディバイスドライバー261によってバスインターフェース262を通じてアクセスされる。上記のようなファイルシステム260では、ネットワーク271に取り付けられたディスク273を有したNADディバイス272がNADディバイスドライバー265によってネットワークプロトコルスタック266、ネットワークアダプターディバイスドライバー267、バスインターフェース268とネットワークアダプター270を含むネットワークインターフェースを通じてアクセスされる。
【0040】
NADディバイスは地域ディスクのように使用されるので、通常の地域ディスクシステムと、本発明のNADシステムとはその基本構造を共有する。相違点として、NADシステムは、ネットワークを通じてNADディバイスと通信されるべきなので、ネットワーク通信のためにプロトコルスタックが加えられる。前記NADドライバーは、I/O命令をネットワークアダプターを通じてNADディバイスに伝達し、前記NADディバイスから返信を受ける。
【0041】
NADディバイスがアクセスされたとき、DMA(Direct Memory Access)、又はPIO(Programmed Input/Output)が使用されえる。通常のディスクディバイスドライバーは、DMAモードで開始バッファアドレスやバイト伝達数と共にDMAI/O命令を地域ディスクにおろすことで作動する。 地域ディスクデータの伝達を受け、CPUを遮断する。同様に、NADディバイスドライバーは、NADディバイスドライバーがI/O命令をNADディバイスに伝達し、データ伝達を完了した後、CPUを横切るようにしてDMAモードで作動するように実現されえる。
【0042】
通常的なディスクドライバーは、ディスクディバイスのデータ登録を通じて特定のデータブロックが行われるまでデータを直接に伝達するCPUによってPIOモードで作動する。同様に、NADディバイスドライバーがNADディバイスに命令を伝達し、特定のブロックのデータが行われるまで伝送と輸送を続けることで、データPIOモードで作動するように実現されえる。
【0043】
本発明で使用されえるネットワークプロトコルは特定のプロトコルに限られない。TCP/IPを含む如何なる接続志向プロトコルでも構わない。接続志向プロトコルはパケットを損失せず伝送される順序通りに収容する。仮に、TCP/IPが使用された場合、一つのIPアドレスは各NADディバイスのために使用されるべきである。
【0044】
地域ディスクドライバーとNADドライバーの生成
UNIXが作動を始め、仮に、ハードウェアスキャンがある一般的な地域ディスクを発見する場合、該当するドライバーが地域ディスク単位やディスク分割単位で生成される。同様の方法で、初期ハードウェアスキャンでNADディバイスが確認され、仮想のホストバスアダプターで行う該当ドライバーが生成される。前記ドライバーは、ネットワークに取り付けられたNADディバイスを周期的に確認するディバイス探索スレードを使用して自動的に生成されるか、又はNAD管理プログラムを使用するシステム管理によって手動的に生成されえる。
【0045】
図10は取り付けられたNADディバイスを確認するか、NADディバイス情報をNADディバイス管理プログラムに提供するためのディバイス探索スレードを示す。スレード280は、ホスト290で情報281をNADディバイス管理プログラムに提供するための各NADのサイズと、ディバイスファイルとを共にNADディバイス285から289を確認するためにネットワークプロトコルスタック282と、ネットワークアダプター283を通じて運営される。NADディバイスファイルに関する情報があれば、ユーザーは特定のNADディバイスを地域ディスクとして使用するために選択されたNADディバイスファイルをマウントする。
【0046】
NADディバイスドライバーとNADディバイスとの間のネットワーク接続
通常の地域ディスクにおいてディスクI/Oは、内部のシステムバスに取り付けられたディスク制御機のI/Oポートにリードやライトを行うことで実行される。しかしながら、NADディバイスドライバーは、ネットワークリンクを通じて該当NADディバイスに入/出力を実行する。I/Oポートでリードやライトを行う代わりに、UNIXのソケットのようなネットワーク連結部にリードやライトを行うことで入/出力が行われる。したがって、UNIXソケットのようなネットワーク連結部は、NADディバイスドライバーとNADディバイスとの間に備えられるべきである。
【0047】
図11A及び図11BはNADディバイスドライバーと連結セッティングスレードを使用する該当NADディバイスの間に位置したネットワーク連結部の例を示す。1番NADディバイス302は、ioctl()関数304で生成された1番ネットワーク連結部303を通じて1番NADディバイスドライバー301に連結され、2番NADディバイス307は、ioctl()関数309により生成された2番ネットワーク連結部308を通じて2番NADディバイスドライバーに連結される。
【0048】
NADドライバーの実現
図12及び図13はNADディバイスを実現する二つの方法を示しており、前者はディバイスアクセススレードを有して実現するもので、後者はディバイスアクセススレードを有せずに実現するものである。
【0049】
図12は1番NADディバイス323、2番NADディバイス324、3番NADディバイス325にアクセスするための"/dev/nd0"、 "/dev/nd1"、 "/dev/nd2"のディバイスファイルを有した三つのNADドライバー320,321,322を示す。各ディバイスファイルはファイルシステムの"/tmp"、 "/var"、 "/"ディレクトリにマウントされる。前記ファイルをアクセスするためのユーザースレード327,328と329は、ファイルシステム326を通じてNADディバイスにリードやライトを行える。連結セッティングスレード331は、NADディバイス管理プログラム330が使用可能なNADディバイスの目録を提供する。
連結セッティングスレード331は、必要であればネットワーク連結部332,333、334をユーザーの入力に基づいて生成する。
【0050】
図12を参照すると、ユーザースレードがファイルシステムを通じてファイルを要求した時、前記ファイルシステムは、最初に、要求されたファイルブロックがバッファ内にあるかを確認するためにバッファキャッシュを点検する。ブロックがバッファ内にあれば、前記ユーザースレードはそのブロックを引用する。しかし、ブロックがバッファ内にない場合は、データはNADディバイスからリードされるべきである。ユーザースレードは要求を要求待機行列におき、NADディバイスの制御を管轄するNADアクセススレード335(又は336,337)を要求関数を通じて実行させると、前記ユーザースレードはそれ自身をブロックする。その後、ブロックされた前記ユーザースレードは、335のような該当データーを収容するNADアクセススレードによって呼び起こされる。
【0051】
図13はユーザースレードがデータをNADアクセススレードを使用せずにNADディバイスから直接に要求することを除いては図12と同様である。
例えば、ユーザースレードは要求を要求待機行列におき、NADディバイスとホストとの間のブロックデータ伝送を処理するソフトウェアインタラプトを実行してそれ自身をブロックする。データ伝送が完了すると、インタラプトがブロックされたスレードを呼び起こすために実行される。
【0052】
ホストとNADディバイスとの間の通信制御手続き
ホストNADディバイスドライバーがI/OのためのNADディバイスをアクセスするとき、一番目のブロックの位置やブロックの番号がI/O命令の媒介変数として与えられる。或いは、SCSIの場合、I/O命令はCDB(Command Descriptor Block)形態で可能である。
【0053】
CDBやブロック伝送情報を伝送するためには確実な通信制御手続きが必要である。本発明は、TCP/IPを含む連結志向制御手続きが使用されていれば、ある特定の種類の連結制御手続きに制限されることはない。連結志向制御手続きとは、パケットを失った場合に再伝送され、収容されたパケットは収容部の終わりから送られた順序通りに整列されることを云う。
【0054】
NADディバイス
図14は本発明のNADディバイスの機能中心のブロック図である。
NADディバイスの好ましい実施形態は、全体のNADディバイスを制御するNAD制御機401、メモリ402、ディスクアクセス命令を移行するディスク制御機403、一つ以上のディスク405、406と、ネットワークを通じてホストからディスクアクセス命令を受けるLANアダプター403とを含めてなる。前記NAD制御機401、メモリ402、ディスク制御機403とLANアダプター404はNADディバイスの内部のバス419に連結されている。
【0055】
ディスク制御機403は内部のディスクチャンネルを通じてディスク405と406を制御することで、ディスクI/O動作を行うモジュールである。ディスク制御機403は、チャンネル制御機409により制御される一つ以上のディスクチャンネル407、408と、バッファ管理器410と、幾つかの登録器411と、バスインターフェース412とをさらに含めてなる。前記バッファ管理器410は、ディスクセクター番号と、ディスクアクセス命令を行うチャンネルを獲得するために登録器411を調査する。前記バッファ管理器410はまたデータをメモリからディスクチャンネル407、408に伝達するために前記チャンネル制御機409に命令するか、又はディスクアクセス命令を行なった結果としてこれと反対に命令する。前記チャンネル制御機409は、事実上データをディスクからメモリに、或いはこれと反対に伝達するためにディスクチャンネル407、408を通じて前記ディスクをアクセスする。
【0056】
前記LANアダプター404は、ディスクI/O命令パケットをホストから受け、返信パケットをネットワークを通じて伝達するモジュールである。LANアダプター404は、ネットワークと接触する物理ネットワークインターフェース413、MAC(media access control)制御機414、伝送されたデータを保存するための伝送バッファ415、伝送されたデータを保存するための収容バッファ416、登録器417とバスインターフェース418をさらに含めてなる。
【0057】
前記バスインターフェース418は、バスから前記伝送バッファ415、前記収容バッファ416、前記登録器417に、或いはこれと反対にデータを伝送する。前記MAC制御機414は物理ネットワークインターフェース313にデータを伝送して、前記物理ネットワークインターフェースが前記ホストコンピューターにデータを伝送できるようにする。前記物理ネットワークインターフェース413がディスクI/O要求パケットを前記ホストコンピューターから受けると、前記物理ネットワークインターフェース413は前記I/O要求パケットを前記MAC制御機414に送り、前記MAC制御機は前記パケットから必要なデータを取り出し、そのデータを収容バッファ416に送る。
【0058】
図15は前記NAD制御機401がNADを制御するための主制御機420、データをディスク421に保存するためのバッファ管理モジュール421、メモリ空間の割当を管理するためのメモリ管理モジュール422、ディスク制御機と接触するためのディスク制御機ドライバー423、ネットワークアダプターと接触するためのネットワークアダプタードライバー424、NAD内のバスと接触するためのバスインターフェース425を含めてなる。
【0059】
NAD制御機401は主にホストのNADディバイスドライバーからのI/O命令を行うが、他の付加機能を行うこともある。例えば、フィルタープログラムはバックアップ演算のようなホストに提供されない役割を提供するためにNADに装着されえる。他の例として、アクセス制御、アクセス共有、アクセス権利伝送などが含まれる。特に、フィルタープログラムは、NADディバイスへのアクセスを特定の期間まで制限するか、幾つかのホストが同時に一つのNADにアクセスするか、又はあるホストのアクセス権利を他のホストに伝達できるように装着されえる。前記ホストにあるNADディバイスドライバーはUNIXオペレーティングシステムでioctl()関数を通じてI/O命令実行時にフィルタープログラムを行うように要求できる。
【0060】
図16は前記主制御機420により使用された状態マシン(state machine)の状態転換を簡単に示す図面である。前記状態機械は'init'状態440で前記全てのNADハードウェアを初期設定し、前記ディスク制御機403と前記LANアダプター404にメモリを割り当てる。初期化設定が終わると、前記状態機械はNADシステムがホストからネットワークを通じて流入するI/O命令を待つ'wait−command'状態に転換する。上記のようなI/O命令が前記ホストコンピューターから収容されると、前記状態は適切なディスクI/Oがディスク制御機を介して行われる'disk_access'状態442となる。ディスクI/Oが終わると、前記状態はNADディバイスがその結果をLANアダプター404を介して前記ホストコンピューターに送る'transmit_reply'状態443に転換する。従来の技術における通常の知識を有する者であれば前記状態機械がCPUとメモリで容易に実現されえることが理解可能であろう。
【0061】
ネットワークアダプタードライバーとディスク制御ドライバー
前記ネットワークアダプターとディスク制御ドライバーは、少なくとも二つの方法で実現されえる。一方はDMA(Direct Memory Access)を通じた遮断寸法を使用し、他方はPIO(Programmable I/O)による投票を使用することである。前者は容易にプログラムが作れるという長所があり、ディスク制御機データの完全な配置がなくても行える。後者は中断による時間の遅延を避けられるという長所がある反面、持続的なリードやライトにかかる時間でプロセッサーが非能率的に使用されるという短所がある。
【0062】
NADドライバーの付加実施例
一般に、NADディバイスドライバーは、取り付けられた各ディスク装置のために生成される。しかし、地域ディスクが分割されるように、NADディバイス内のディスクは、別途のディバイスドライバーによってアクセスされえる幾つかのディスク区画に分割される。選択的には物理的に独立された幾つかのNADディバイス内に位置した幾つかのディスクが論理上一つのディスクとして使用されるために結合されえる。
【0063】
図17はNAD内のディスクが全ての上記区画に一つのディスクドライバーが割り当てられた幾つかのディスク区画に分けられる例を示す。NADドライバーA462は、例えば、四つの区画463−466に割り当てられ、NADドライバーA462がNADディバイス460内のディスク461の特定の分割468から471まで指示されたI/O要求を処理するために分割表を引用する。同様に、NADドライバーB473が二つの区画474と475に割り当てられ、NADドライバーB473がNADディバイス460内のディスク472の二つのディスク区画477と478を制御するために使用されえる。
【0064】
図18は別途のNADディバイスドライバーが生成され、物理的に一つのディスクが他のファイルシステムにより評価される例を示す。NADディバイス480内のディスクA481は、490から493までの四つの区画に分割され、独立した四つのNADドライバー(a,0)482からドライバー(a,3)485が生成されると、各NADドライバーは独立したネットワーク連結486(487,488、又は489)を通じて各ディスク分割を制御できる。同様に、NADディバイス480内のディスクB494が二つの区画499と500に分けられ、独立した二つのNADドライバー(b,0)495と、NADドライバー(b,1)496が生成され、各NADドライバーを各ディスク区画を独立したネットワーク連結497(又は498)を通じて制御できる。他のネットワーク連結が使用されるので、かかる構成は物理的に一つのハードディスクが他のファイルシステムにマウントされることを可能とする。
【0065】
図19は本発明がどの様にNADディバイス内の物理的に独立した多端子のディスクを一つのディスクとして認識できるかの例を示す。特に、他のネットワーク連結524,525、526を通じて5GBの1番NADディバイス527、10GBの2番NADディバイス528と、5GBの3番NADディバイス529を制御する三つの下部面NADディバイスドライバー521,522,523が形状530に分割された一つの上部面NADドライバー520に一体化することを示す。ファイルシステムは20GBの全体空間をアクセスするために"/dev/nda"をマウントする。
【0066】
Windows運営システムで作動するNADシステム
UNIX系列のオペレーティングシステムで作動する例を使用して、以上で説明したシステム及びその方法は、Windows系列のオペレーティングシステムで作動するNADシステムを実現するにおいて同等に応用可能である。例えば、NADディバイスは本質的にWindows2000ホストによって地域ディスクとして取り扱われるので、ホストにより行われるフォーマットや分割を含む全てのディスク演算は地域ディスクを制御し、NADディバイスで行われえる。
【0067】
かかる特徴は、本発明がホストシステムのディバイス面に個別のディスクを直接に付加する代わりに、ファイルシステムの仲裁によってディスク空間を増幅させるNAS技術により提供されるもののような他の対案から差別化されるという点である。同時に、NADディバイスがネットワークを通じてアクセスされるので、本発明は一般的な地域ディスクを使用した場合に、内部のシステムバスに連結されたディスク制御機に伝送されるディスクI/Oの要求をネットワークインターフェースに向け直して伝送する。
【0068】
即ち、本発明はホストでドライバーを変更して純粋ソフトウェアを媒介に仮想のホストバスアダプターを生成するので、前記ホストは実際に前記システムバスに連結された物理ホストアダプターが存在しないが、NADディバイスが物理ホストアダプターを通じてシステムバスに連結されたことを認識する。NADディバイスはホストの内部のバスに連結された地域ディバイスのように接近するので、ホストがNADディバイスと通信するために必要なIPアドレスのようなネットワークアドレスを使用する必要がない。その代わりに保存命令を有したデータリンクフレームがホストとNADディバイスとの間で交換される。
【0069】
図20A及び図20Bは本発明のNADシステムのディスクドライバーの階層構造を通常のディスクシステムと比較して示す図面である。図20Aはディスク分割管理器601、ディスククラスドライバー602、ポートドライバー603、バスドライバー604を含む階層構造からなるWindows2000の通常的なディスクドライバーの階層を示す。
【0070】
Windows2000オペレーティングシステムで総称的な用語'bus'はディバイスと電気的に連結される単一のハードウェアを言う。前記バスはPCIバスのようなものだけでなく、SCSIアダプター、水平ポート、シリアルポート、USBハーブのような多端子ディバイスを有するものであればどれにも含まれる。バスドライバーの目的の一つは、バスに取り付けられたディバイスを一つひとつ並べ、それぞれの物理ディバイス客体を生成することであり、これは、それぞれの物理ディバイス客体がWindows2000で必要であるからである。したがって、バスドライバーは特定のバスに関する情報とポートアドレスとIRQ番号のようなシステム資源をバスに連結されたディバイスに割り当てる機能を有したソフトウェアルーチンの集合である。大部分の実際のディスクI/Oの演算を行うためのルーチンを有しているものは前記ポートドライバーである。
【0071】
本発明の主要な特徴として、通常のバスドライバーとポートドライバーを新たなバスドライバーとポートドライバーに代替して、NADディバイスを地域ディスクのように認識し、Windows2000ホストのネットワークポートを通じてNADディバイスに関するI/O演算が行われえる。
【0072】
図20Bは図20Aの該当通常Windows2000ドライバー階層を代替するNADポートドライバー613と、NADバスドライバー614を有する本発明のドライバー階層を示す。NADバスドライバー614は仮想のホストバスアダプターを実現し、それによってNADディバイスの一セットに対する、又はそのセットからのディスクI/O演算が行われる。NADポートドライバー613は、Windows2000ホストのネットワークを通じてI/O要求をNADディバイスに向け直して伝達することで、実際にディスク乳出力演算を行なうに必要な一つのセットのルーチンを実現する。
【0073】
図21は本発明のNADディバイスが多端子ホストに実現されたネットワーク環境の一例を示す。前記例は1番ホスト621と2番ホスト622が1番ネットワーク623と2番ネットワーク624に連結されたWindows2000を作動させることを示す。1番ホストは1番ネットワークを通じてディスク(1,1)631とディスク(1,3)633を使用し、2番ネットワーク625を通じてディスク(2,1)636とディスク(2,2)637を使用する。同様に、2番ホストはディスク(1,2)632、ディスク(1,4)634と、ディスク(1,5)635を使用する。
【0074】
NADバスドライバーとNADポートドライバーが装着されたWindows2000システムは、I/O要求を行うために、Windows2000で指定したディバイススタックを作る。Windows2000内の各ディバイスは、スタック構造で編成されるディバイス客体に表現される。前記ディバイス客体は、Windows2000システムがソフトウェアのハードウェア管理を助けるために作るデータ構造である。このような多数のデータ構造は、一つの物理ハードウェアのために存在しえる。スタックの下位ディバイス客体は物理ディバイス客体PDOと呼ばれる。ディバイス客体スタックのPDO上には機能ディバイス客体FDOと呼ばれる客体がある。前記FDOの下や上にはフィルターディバイス客体の集合がある。Windows2000のプラグアンドプレイ(PnP)管理構成要素は、ディバイスドライバーの命令でディバイス客体のスタックを建設する。単一のハードウェアのためのスタックを使用する多様なドライバーはそれぞれ異なる役割をはたす。つまり、前記機能ドライバーはディバイスを管理し、前記バスドライバーはディバイスとコンピューターとの連結を管理する。
【0075】
図22は本発明を実現するために生成された全てのフィルターディバイス客体が単純化のために省略されたディバイススタックの例を示す。
左側に示すのはPCIバスの上部にある、繰り返して列挙されるSCSIディバイスの一層であって、SCSIディスクがホストのPCIバスに連結された場合の典型的な形態である。第一に、PnP管理器は、コンピューターを電気的に自分の存在を知らせないPCIのようなハードウェアバスを含む全てのハードウェアに概念的に連結する、仮想のルートバスのための内装型ドライバーを有する。前記ルートバスドライバー640は、PCIバスのためのPDOのPCIバスPDO641を生成するために、PCIに関する情報をWindows2000設定プログラムにより初期化された登録器から得る。
【0076】
PCIバスPDO641を生成したPnP管理器は、機能ドライバーをPCIバスのために積載し、PCIバスFDO642を作る。図21で例に挙げたシステムで一セットのSCSIディバイスを有しているものと見られるPCIバスの機能ドライバーは、SCSIポートPDO643を作るためにPCIバスに取り付けられた、それ自体のハードウェアディバイスを列挙する。SCSIポートPDO643が作られると、PnP管理器はSCSIポートディバイスのためのディバイスを積載して、SCSIポートFDO644を作る。同様に、645と646のようなSCSIディスクPDOはSCSIポートの上部で各個別のSCSIディスクが作られ、647と648のようなSCSIディスクFDOはディスククラスドライバーを積載することで作られる。
【0077】
図21の右側に示すのは、PCIバスドライバーと、SCSIポートドライバーを代替するNADバスドライバーと、NADポートドライバーを使用して作られるNADディバイスのための該当ディバイススタックである。ルートの上部には、PCIのような通常のハードウェアバスではないNADバスのPDOであるが、NADディバイスのための仮想のバスを提供するためにWinddows2000ディバイススタックに合わせて考案されたバスのNADバスPDO651がある。NADバスPDO651の上部ではPnP管理器がNADバスドライバーを積載することでNADバスFDO652を作る。
【0078】
本発明で一セットのNADポートは、ホストの一つのNICに該当するように実現されるので、Windows2000ホストの各個別ネットワークインターフェースカード(NICs)のための一セットのNADポートPDO653と6534が繰り返して作られる。653と654のような各NADポートPDOの上部には、655や656のような各NADポートFDOがNADポートドライバーを積載することで作られる。実際にNADディスクI/O演算を行うものはNADポートドライバーである。前記NADポートドライバーは、特定のNICを介してI/O演算の要求を前記該当NADディバイスに向け直して伝送し、前記NADディバイスからI/O演算の返信を得ることで、NADディバイスI/O要求を処理する。すると、655や656のようなNADポートFDOは、特定のNICで結合された特定のNADポートバウンドを通じて接近する個別NADディアイスのために657,658,659と660のような個別的なNADディバイスPDOsを前記特定のNADポートの上部に作る。
【0079】
図22は図21の例として、1番ホストが二つのNICを有するため、NADポート客体の二つのスタック653と654が作られたことを示す。また、NADディバイス、つまり、ディスク(1,1)631、ディスク(1,3)633、ディスク(2,1)636と、ディスク(2,2)637は、NIC(1,1)とNIC(1,2)を通じて接近するので、1番ホストは657から660まで四つのNADディバイスを各NADディバイス当り二つずつ有する。PnP管理器は、657、658、659と660のような各個別NADディバイスPDOのために、661,662,663と、664のようなNADディバイスFDOを作るディスククラスドライバーを積載する。
【0080】
雄一のNADバスドライバーとNADポートドライバーは、通常的な地域ディスクのためのNADディバイスを代替するために、通常のバスドライバーとSCSIポートドライバーを代替することに留意する。ディスククラスドライバーとWindows2000の他の上位ドライバーは、Windows200システムがNADディバイスを地域ディバイスのように認識できるようにするために、単一の変化なしに元通りに維持すべきである。
【0081】
Windows2000でディバイスに影響を与える演算のための各要求は、I/O要求パケット(IRP)を使用する。IRPは前記ディバイスのためのスタックの最上部に送られ、前記スタックを他のディバイスに伝えることができる。各段階で、前記ドライバーはIRPで何をするかを決定する。時として、前記ドライバーはIRPを伝達する他に何にもしないこともある。前記ドライバーはIRPを伝達せずに完璧に処理するか、又はIRPを実行して伝達しえる。ディスクI/Oの場合を例えにすると、図20Bに示すように、ファイルシステムドライバーに送られた一つのファイルI/Oのための一つのIRPはディスククラス分割管理器のボリューム管理器、分割管理器、そして、ディスククラスドライバーに送られる。
【0082】
SCSI要求ブロック(SRB)が必要であれば、IRPに含まれるように作られる所が前記ディスククラスドライバーである。一つのSRBはSCSIディバイスI/OのためにWindows2000内で指定された一つのデータ構造である。もしも、IRPが通常の地域ディスクのためのものであれば、ディスククラスドライバーは新たなIRPを実際のディスクI/O演算を行うSCSIポートドライバーに伝達する。もしも、IRPがネットワークに連結されたNADディバイスのためのものであれば、ディスククラスドライバーはIRPを、NADディバイスI/Oをネットワークインターフェースを通じて完成するNADポートドライバーに伝達する。
【0083】
地域ディバイスやNADディバイスやディスクの特有なディバイスタイプと関係なく、図20A及び図20Bに示すように、地域ディスク、又はネットワークに取り付けられたディスクのうち、特定のあるディスクのための一つのIRPは結局該当ディスクに送られるが、これは別途のディスク客体スタックが各個別ディスクのために作られるからである。図22は別途のSCSIディスクFDO/PDOと、NADディバイスFDO/PDOがそれぞれの個別地域ディスクとNADディバイスに結合されたことを示す。
【0084】
本発明は、図20Bに示すように、通常のディスクバスドライバーとポートドライバーを新たなNADバスディバイスとポートディバイスに代替して、WindowsシステムがNADディバイスを地域ディスクに認識するようにする。
【0085】
全てのWindows2000ディバイスドライバーは各ディバイスのためのFDOを作るか除去する機能と、ドライバー層上から伝達されるIRPを処理するためのディスパッチ機能とを有している。IRPにある主機能番号や副機能番号はどんなディスパッチ機能を発動させるかを決める。
【0086】
次は、Windows2000のNADシステムを実現するために本発明のNADバスドライバーとポートドライバーに実現された実際のソフトウェアモジュールを説明する。
【0087】
NADバスドライバー
NADバスドライバーはNADポートが取り付けられ、一つのホストの個別NICがNADポートとして認識される仮想のホストバスアダプターを実現する一セットのソフトウェアモジュールである。NADバスドライバーの機能は、基本的にWindows2000の通常のPCIバスドライバーの機能と同一である。NADバスドライバーは、ホストコンピューターに装着されたNICの数を調べ、存在するそれぞれのNICのためのNADポートPDOを作るために、前記NICを一つひとつ列挙する機能を行う。また、一つのNADポートを製作、開始、停止、除去する機能を行う。前記NADシステムでは個別NICが独立的なNADポートとして見なされ、NADディバイスのためのNADディスクポートが独立的に運営されるネットワーク装置の数によって作られる。図22に示す見本の構成を見れば分かる。
【0088】
NADバスドライバーと通常のPCIバスドライバーとの相違点は、NADバスドライバーがホストのシステムバスから物理的には独立しているが、ネットワークポートを通じて連結されているNADディバイスのためのものであるという点でる。ハードウェアの遮断によってディバイスをハードウェアバスに連結または除去する通常のWindows2000システムと異なり、NADバスドライバーはNADバスにNADポートを装着または除去するためにカネルスレードを作って実現される。NADバスドライバーにより作られた前記カネルスレードは主関数番号IRP_MJ_PNPと、副関数番号IRP_MN_START_DEVICEを有したIRPがPnP管理器からNADバスFDOに伝達されるときに作動し始める。前記スレードはNADバスFDOが除去されたときに終了する。前記スレードは周期的にNICの存在を探索する。仮に、新たなNICが探索された場合、前記スレードは前記NICのための新たなNADポートPDOを作り、新たに作られたNADポートPDOを自体のNADポートPDOリストに含ませる。すると、前記スレードはシステムにより認識されるNADポートPDOを有するためにPnP管理器を発動させる。前記スレードが前に作られたNADポートPDOが該当NICなしに前記リストから発見されるNICの不在を探知可能であるので、NICの削除もスレードにより探知される。仮に、NICがホストで削除されたことが見つけられると、スレードは該当NADポートPDOをリストで削除し、NADポートをWindowsシステムで削除するためにPnP管理器を発動させる。
【0089】
NADバスドライバーに実現されたソフトウェアルーチンは5つの種類に分けられる。下の表はNADバスドライバーで実現される幾つかのルーチンの目録を作成したものである。
【0090】
【表4】
【0091】
【表5】
【0092】
【表6】
【0093】
【表7】
【0094】
【表8】
【0095】
NADポートドライバー
ポートドライバーはシステム決定ディバイス制御要求、又は該当クラスドライバーからのドライバー決定ディバイスI/O制御要求に対応する下位ドライバーである。NADポートドライバーはドライバーを初期に設定し、NADポートFDOを作る基本関数機能と、ディスククラスドライバー層から伝達されるIRPを処理するためのディスパーチ関数機能が可能である。ディスククラスドライバー層から伝えられるIRPは実際のI/O命令がSCSIディバイスで行われ得るように指定するSCSI要求ブロック(SRB)を含む。
【0096】
表9及び表10はその基本的な役割が前記説明されたNADバスドライバーのそれと同一な基本関数と、幾つかのディスパッチ関数を詳細な説明と共にリストで作成したものである。
【0097】
【表9】
【0098】
【表10】
【0099】
Windows2000ではディバイスI/O制御命令がIRPにディバイスI/O制御番号に含まれ、ディバイスI/O制御関数が該当ディバイスI/O制御番号を取り扱うためのポートドライバーで実現される。
【0100】
Windows2000の通常のディバイスI/O関数を除いて、付加ディバイスI/O制御関数がNADポートドライバーで実現されるので、前記NADはWindowsシステムの作動を止めず、逆動的に付加、又は除去される。地域ディスクは物理ハードウェアバスに物理的に連結されているので、通常の地域ディスクを有した地域ディスクの付加や制御はシステムを始動するときにWindowsシステムによって直接に探知される。したがって、地域ディスクのためのディスクPDOはシステムの始動時にハードウェアを遮断することで生成される。それで、通常的なポートドライバーは、システムの運営中にディスクディバイスのPDOを付加、又は除去するための機能を有する必要がない。
【0101】
しかし、NADシステムではWindows2000システムの運営中にNADディバイスの付加や除去が起こりえる。したがって、新たに取り付け、又は除去されたディスクのためのディスクPDOを生成または除去できる手段が必要である。
【0102】
本発明で実現されたディバイスI/O制御関数は、機動的なNADの付加や除去を次のように処理する。仮に、新たなNADハードウェアディバイスがネットワークに連結されていることを教えるディバイス制御IRPがNADポートFDOに伝達されると、NADポートFDOはシステムがディスクを認識できるように新たなNADのためのNADディバイスPDOを作る。NADディバイスの除去のためにディスクを除去するディバイス制御IRPは、NADポートFDOに送られ、NADポートFDOによって進行される。
【0103】
ディバイスI/O制御IRPを処理するディスパッチ関数は次の表のように要約される。ディバイスI/O制御関数のNASPortFDoDeviceControl()、NADPortPluInDevice()とNADPortUnpluDevice()は、NADの動的な付加や除去の目的のための本発明の特徴的な関数であることに留意する。
【0104】
【表11】
【0105】
図23AはWindowsシステム2000のPCIバスのような通常のハードウェアバスに連結されたSCSIディスクに関するIRPとSRB、及びCDBの流れを示す。ディスククラスドライバー681はSCSIポートドライバー682にSRBを有したIRPを伝える。前記SRBは要求されたI/Oに関する情報やSCSI−2標準命令を含む命令記述者ブロックを含む資料構造体である。ディスククラスドライバーからSRBを有したIRPを受けると、SCSIポートドライバー682とSCSIバスドライバー683は、SCSIディスク685への実際のディバイスI/Oをやりとげるために、SRBから取り出されたCDBをSCSIホストアダプターに伝達する。
【0106】
通常の地域ディスクにおいてディスクI/O命令はSRB資料構造体を用いてホストアダプターにあるディスク制御機に伝達される。しかし、本発明のNADシステムではディスクI/O命令がホストのNICに伝達される。
【0107】
図23BはNADシステムのIRPとSRB、及びCDB(又は、他の形態のI/O命令)の流れを示す。ディスククラスドライバー691がIRPをSRBと共にNADポートドライバー692と、NADバスドライバー693とに伝達すると、NADバスドライバー693は、SRBから取り出されたCDBをネットワーク696を通じてNADディバイスで実際の装置I/Oを完遂するためのNIC694に伝達する。
【0108】
本発明でNADシステムはSCSIとIDEを含む多様な形態のディスクを支援する。仮に、NADディバイスがSCSIディスクのみで構成されていれば、CDBはホストNICに伝達され、ネットワーク取り付けのSCSIディスクは要求されたディスクI/Oを行う。
【0109】
仮に、NADディバイスがIDEのようなSCSIと異なる形態のディスクディバイスで構成されていれば、CDBは特定の装置で処理されえる命令に転換されるべきである。このような場合のCDBの転換は前記NADポートドライバ、又は前記NADディバイスで行われる。仮に、転換がNADで行われると、Windows2000ホストは単にCDBをSCSIに送るようにホストNICに伝達する。仮に、NADポートドライバーで転換が行われると、NADポートドライバー関数はCDBを特定のハードウェアディスク形態に適した一つのセットのディスクI/O命令に転換すべきである。
【0110】
本発明のNADシステムは二つの場合を共に支援し、CDBやハードウェア採択命令のような命令形態は特定のNADを設置するときに決定される。必修CDB運営コードを有してSRBを処理する幾つかのディスパッチ関数が与えられた表12では、本発明の前記NADポートドライバー関数がSRBとCDBを処理するためにどの様な方法で実現されているかを示す。仮に、NADポートドライバーがCDBを一つのセットのハードウェア採択I/O命令に転換すべきであればSRBのような処理関数が必要である。
【0111】
【表12】
【0112】
ホストとNADとの間の通信
I/Oがバスではないネットワークを通じて行われるべきであるので、NADシステム内のディスクI/O命令は地域ディスクホストアダプターの代わりにホストNICに伝達される。Windowsシステムは、NDIS(network driver interface specification)を提供するが、NDISはネットワークドライバーインターフェースを規定する一種のタイプである。
【0113】
図24はWindowsに定義されているNDISドライバー階層で使用される高位プロトコルを指定するNDISプロトコルドライバー701、NDIS仲裁ドライバー702、ハードウェアの指定のためのNDIS小型ポート703、及びネットワークインターフェースカード(NIC)704を含めてなる。
【0114】
本発明ではNADディバイスにI/O命令を伝達する全てのNADポートドライバー関数が前記命令をネットワークを通じてNAD装置に伝達するNDISプロトコルドライバー階層に伝達するように実現される。
【0115】
ディスクI/O演算のためにSRBを含むIRP、又は特定のディスクI/O演算のためのI/O制御命令をディスククラスドライバーから受けると、NADポートドライバーは該当CDBを含む新たなIRPをプロトコルドライバーに伝達する。その後、プロトコルドライバーはSCSI−2標準I/O命令のCDBをNAD装置に送り、NAD装置からの返信を受けてI/O命令を処理する。ホストコンピューターがCDBではない特定のハードウェアI/O命令を送るべき場合には、図23Bに示すように、NADポートドライバーはハードウェア指定命令を入れたIRPをCDBの代わりにNIDSプロトコルドライバーに送ることに留意する。
【0116】
NDISはネットワーク製造業者に伝送の透明性を提供するが、これはネットワークを通じた通信が要求される全てのドライバーはネットワークに接近するためのNDISインターフェースを呼出さなければならないように作られているからである。したがって、本発明のNAD装置とホストコンピューターとの間での通信もこのような方式で行われることにより、NDISプロトコルドライバーを提供することで、NADポートドライバーは通信に関しては別途の働きが必要ない。
【0117】
NDISプロトコルドライバーに実現される通信プロトコルは標準プロトコル、又は非標準プロトコルを採択することができる。IPのような標準プロトコルはオーバーヘッドが伴うので、性能や保安上非標準プロトコルを使用することが好ましい。Windows2000ホストとNAD装置との間で安定的にNADI/O命令を処理するための通信プロトコルを提供するために、本発明はWindows専売特許通信プロトコルを実現できる2000ネットワークシステムのNDIS指定に従う。
【0118】
NAD装置
Windows系列の運営システムで作動するNADディバイスの技術的な構成は、図14に示すUNIX系列の運営システムで作動するNADディバイスの構成と同様である。
【0119】
NASとSANに比べたNADシステムの長所
UNIXやWindows系列の運営システムのうち一つを作動させる本発明のNADシステムは、NASシステムとSANシステムに比べて多くの長所がある。ファイルサーバーを付加する方法としてファイル保存サービスを提供するNASシステムとは異なり、NAD装置はホストのシステムバスに連結された地域ディスクのようにホストコンピューターに取り付けられる。SANシステムと異なり、本発明のNAD装置は、ある特別なスイッチやネットワーク装置が付加されず、単にネットワークポートに刺して使用される。
したがって、NADシステムはユーザーの便宜性、システムの有用性、範囲性、経済性、及び優れた性能を有する。
【0120】
フォーメッティング、分割、共有、マウンティングのような演算を含むディスクに関連した全てのディスク演算は、地域ディスクで行われるのと同様にNAD装置で行われえる。NAD装置は、地域ディスクのようにホストで直ぐに使用可能であるので、管理が容易で使用上便利である。NASシステムで追加、除去、及びディスク構成上の全ての変化は、人、又はソフトウェアを使用してNASオペレーティングシステムを通じてのみ可能である。NADシステムは、更にディスクを装着し、除去するにおいて、ホストコンピューターのケースを開閉する必要がない優れた便宜性を提供する。
【0121】
NADシステムはほぼ無制限の範囲性をディスク空間に提供する。ネットワークに取り付けられえるNAD装置の数は事実上無制限である。その反面、NASシステムを通じるディスクの数は、経済的な理由や多数のNASサーバーを管理するのに伴う不具合のため相当に制限的である。
【0122】
NASシステムは本質的にファイルサーバーソフトウェアや他の付加的な特定のハードウェア装備を使用しないため、NASシステムやSANシステムに比べてさらに経済的である。
【0123】
媒体交換NADシステム
本発明のNADシステムは媒介交換保存装置として代理実現されえる。
媒体交換保存装置は物理的に二つの部分に分けられた特別な保存装置だが、一方はデータを入れたメディアで、他方は媒体に関するI/O演算を行うドライバーである。フロピディスクドライバーとCDロームドライバーは媒体交換保存装置の例である。媒体の装着可否に関わらず、媒体交換保存装置はホストコンピューターに登録されることができ、ディスケットのような媒体がドライバーに逆動的に挿入されえる。
【0124】
NAD装置が逆動的にネットワークポートにプラグインされるかネットワークポートから除去されえるので、NADを媒介に使用する仮想ドライバーは媒体交換保存装置の形態で実現される。Windows2000は媒体交換保存装置を実現するために交換機クラスドライバーモデルを提供する。媒体交換NADシステムを実現するためにNADシステムのためのクラスドライバーがWindows2000の交換機クラスドライバーのモデルに従って実現される。二つの下位ドライバー、つまり、NADポートドライバーとNADバスドライバーはそのような媒体交換NADシステムを実現するために使用される。
【0125】
変換機とカウンター変換機を使用する実施例
ネットワークインターフェースカード(NIC)と新たなホストバスアダプターを使用する代わりに、本発明のネットワーク取付ディスクは、保存命令を入れたデータリンクフレームに変えて、フレームがネットワークを通じて伝達されるようにするプロトコル変換機をホスト面に提供し、装置面にはネットワークを通じて受けた保存命令を含むデータリンクフレームを保存命令に変換するカウンター変換機を設置することで実現されえる。
【0126】
変換機は専門的なネットワークインターフェースであるので、一般的な通信プロトコルを行うオーバーヘッドなしにネットワークを通じてI/O装置に伝送するためにI/O命令とデータをデータリンクフレームに要約する。
【0127】
テープシステムとCDジュークボックス
本発明のインターフェースを使用してネットワークに直接に連結される保存装置の種類はディスクシステムに限定されない。テープシステムとCDドライブは、ディスクシステムのようなバスインターフェースのIDE、又はSCSIインターフェースを使用する。例えば、本発明はCDジュークボックスの効果的な支出実現を可能にする多端子のCDドライブをネットワークに直接に連結するように使用されえる。
【0128】
当発明は、上記実施の形態に記載されたものであるが、それらの実施の形態を限定するものではない。発明の思想及び範囲から引き出されることのない上記実施の形態の構成、形態に対して多くの変更を行うことが可能であることが、当分野の通常の知識を有する者により理解される。
【図面の簡単な説明】
【0129】
【図1】本発明のネットワークが取り付けられたディスクシステムが使用されるネットワーク環境を示すブロック図である。
【図2】本発明の多端子NADディバイスがネットワークを通じての多数のホストに接近する方法を示す図面である。
【図3】多端子NADディバイスが多数のホストに接近する方法の一例を示す図面である。
【図4】NAD内部の各ディスクがそれぞれ別途のディスクとして取り扱われる他の一例を示す図面である。
【図5】ブロックディバイスドライバー、特にNADディバイスドライバーがUNIXオペレーティングシステム下で登録、又は非登録される方法を示す図面である。
【図6】ディレクトリ、ディバイスファイル、ディバイスドライバーとディバイスとの関係を示す図面である。
【図7】要求機能が命令を直接にディバイスに伝達する方法を示す図面である。
【図8】要求機能がオペレーティングシステムを接近させる装置を作動させる図面である。
【図9】地域ディスクシステムと、UNIXで運営されるNADディバイスのブロック図である。
【図10】取り付けられたNAD装置を区別し、NAD情報をNAD装置管理プログラムに提供するためにスレードを探す装置を示す図面である。
【図11A】NADディバイスドライバーとNAD装置との間で連結セッティングスレードを用いて成されるネットワークの例を示す図面である。
【図11B】NADディバイスドライバーとNAD装置との間で連結セッティングスレードを用いて成されるネットワークの例を示す図面である。
【図12】スレードを接近させる装置を用いてNADディバイスドライバーを実行させる手段を示す図面である。
【図13】スレードを接近させる装置を用いずにNADディバイスドライバーを実行させる手段を示す図面である。
【図14】NAD装置構造の一例を示す図面である。
【図15】NAD制御装置の機能中心のブロック図である。
【図16】NAD制御装置の主制御機能によって状態機械の状態変化を簡単に示す図面である。
【図17】NAD装置内のディスクがディバイスドライバーが割り当てられるディスク区画に分けられる方法を示す図面である。
【図18】独立したNADディバイスドライバーが作動して、実質的に一つのディスクが他のファイルシステムにより付加される方法を示す図面である。
【図19】NADシステムが実質的に独立している幾つかのNADディスクを論理的に一つのディスクとして認識することを示す図面である。
【図20A】一般的なディスクシステムと、Windows2000オペレーティングシステムのNADシステムのディスクドライバーの階層を示す図面である。
【図20B】一般的なディスクシステムと、Windows2000オペレーティングシステムのNADシステムのディスクドライバーの階層を示す図面である。
【図21】本発明のNADシステムがWindows2000オペレーティングシステムで使用される環境を示す図面である。
【図22】Windows2000オペレーティングシステムでディバイススタックが生成される例を示す図面である。
【図23A】一般的なWindows2000オペレーティングシステムディスクシステムのIRP、SRBとCDBの流動を示す図面である。
【図23B】Windows2000オペレーティングシステムディスクシステムのNADシステムにおけるIRP、SRBとCDBの流動を示す図面である。
【図24】Windows2000オペレーティングシステムのNDIS(Network Device Interface Specification)を示す図面である。
Claims (85)
- システムバスを有してオペレーティングシステムを作動させるホストが、一定のネットワークプロトコルを使用する他の応用トラフィック及び保存を含む広範囲のネットワークトラフィックを処理するために、ホストと他の装置とを連結するフロントエンドネットワークを通じてディスクを制御しているネットワーク取付(NAD)システムにおいて、
凡用のネットワーク接続を提供するためにホストに装着されるネットワークインターフェースカード(NIC)と、
データを保存する一つ以上のディスクを有し、ホストからのデータリンクフレーム形態のディスクアクセス命令をネットワークを通じて受信するためのネットワーク取付けディスク(NAD)装置と、
前記NICを媒介にネットワークを通じてNAD装置を制御するソフトウェアの仮想ホストバスアダプターを作るためのホストで実行されるディバイスドライバーとを含み、
前記仮想ホストバスアダプターは物理バスアダプター装置が装置を制御する方法と同様の方法でNAD装置を制御して、ホストがNAD装置をホストのシステムバスに直接に連結された地域バスがディバイスであるかのように認識するNAD装置。 - 前記ネットワークは、有線のネットワークからなることを特徴とする請求項1記載のNADシステム。
- 前記ネットワークは、無線のネットワークからなることを特徴とする請求項1記載のNADシステム。
- 前記NICは、イーザーネットカードからなることを特徴とする請求項1記載のNADシステム。
- 前記オペレーティングシステムは、UNIX系列のものであることを特徴とする請求項1記載のNADシステム。
- 前記ディバイスドライバは、
ディバイスドライバーがホストの前記ディバイスドライバーを登録するためにディバイスファイルとディバイスルーチンファイルとを含むことを特徴とする請求項5記載のNADシステム。 - NAD装置に接近するためにディバイス接近スレードをさらに含むことを特徴とする請求項6記載のNADシステム。
- ネットワークに取り付けられた装置を探すためにディバイス探索スレードをさらに含むことを特徴とする請求項6記載のNADシステム。
- ディバイスドライバとNADディバイスとを連結するためにネットワーク連結セッティングスレードをさらに含むことを特徴とする請求項6記載のNADシステム。
- 前記NADディスクは多数の個別ディスク分割をさらに含むことを特徴とする請求項6記載のNADシステム。
- 前記ディバイスドライバーは多数の個別ディバイスドライバーを含み、各個別ディバイスドライバーが個別ディスク分割を制御し、個別ディスク分割を制御するための各個別ディスク分割は、独立した地域ディスクにアクセスすることを特徴とする請求項10記載のNADシステム。
- ディバイスドライバーは多数の個別分割を含み、各ドライバーの分割は各個別ディスク分割を制御することを特徴とする請求項10記載のNADシステム。
- 二番目のNAD装置、二番目のディバイスドライバー、及び、前記ディバイスドライバーと前記二番目のディバイスドライバとを結合して、前記NAD装置と前記二番目のNAD装置とが一つの地域装置として認識されるようにする統合ディバイスドライバー、をさらに含むことを特徴とする請求項1記載のNADシステム。
- 前記ドライバーはホストのシステムバスに直接に連結されている地域装置のように認識されるNAD装置にアクセスするために仮想のホストアダプターを作るバスドライバー、
ホストからのディスクアクセス命令をネットワークポートを通じて前記NAD装置に伝達するポートドライバーを含むことを特徴とする請求項1記載のNADシステム。 - 前記オペレーティングシステムはWindows系列のものであることを特徴とする請求項14記載のNADシステム。
- 前記NAD装置は、
ディスクを制御するディスク制御機、及び、
ネットワークを通じてディスクアクセス命令を受信するネットワークアダプターをさらに含むことを特徴とする請求項1記載のNADシステム。 - 前記NAD装置は、前記一つ以上のディスクは地域ディスクにフォーマットされることを特徴とする請求項16記載のNADシステム。
- 実用機能を提供するフィルタープログラムをさらに含むことを特徴とする請求項16記載のNADシステム。
- 前記実用機能は多端子のホスト間の接近共有を制御する機能を含むことを特徴とする請求項18記載のNADシステム。
- 実用機能は一つのホストから他のホストへのアクセス権の伝送を制御する機能を含むことを特徴とする請求項18記載のNADシステム。
- 実用機能はNAD装置の自動バックアップを提供する機能を含むことを特徴とする請求項18記載のNADシステム。
- 前記実用機能はNAD装置へのアクセスを制御する機能を含むことを特徴とする請求項18記載のNADシステム。
- ホストが一定のネットワークプロトコルを使用する他の応用トラフィック並びに保存を含む凡用のネットワークトラフィックを処理するためにホストと他の装置とを連結する前後ネットワークを通じてディスクを有するネットワーク取付ディスク(NAD)装置を制御するためのシステムバスを有しかつオペレーティングシステムを作動させるホスト側ディスクインターフェースにおいて、
凡用のネットワーク接続を提供するためホストに装着されるネットワークインターフェースカード(NIC)と、
NICを媒介にネットワークを通じてNAD装置を制御するソフトウェアの仮想ホストバスアダプターを生成するためのホストで実行されるディバイスドライバーとを含み、前記仮想ホストバスアダプターが物理バスアダプター装置が装置を制御する方法と同様の方法でNAD装置を制御して、ホストがNAD装置をホストのシステムバスに直接に連結された地域ディバイスであるかのように認識することから成るホスト側ディスクインターフェース。 - 前記オペレーティングシステムはUNIX系列のものであることを特徴とする請求項23記載のディスクインターフェース。
- ディバイスドライバーをホストに登録するためのディバイスドライバーのためにディバイスファイルとディバイスドライバールーチンとを更に含むことを特徴とする請求項24記載のディスクインターフェース。
- 前記NAD装置にアクセスするためのディバイス接近スレードをさらに含むことを特徴とする請求項25記載のディスクインターフェース。
- ネットワークに取り付けられた装置を探索するために装置探索スレードをさらに含むことを特徴とする請求項25記載のディスクインターフェース。
- ディバイスドライバーとNAD装置との連結をために連結セッティングスレードをさらに含むことを特徴とする請求項25記載のディスクインターフェース。
- NAD装置は多数の個別ディスクに分割されたディスクを有していることを特徴とする請求項25記載のディスクインターフェース。
- 前記ディバイスドライバーは多数の個別ディバイスドライバーを含み、各個別ディバイスドライバーが各個別ディスク分割が独立的な地域ディスクに接近する前記個別ディスク分割を制御することを特徴とする請求項29記載のディスクインターフェース。
- ディバイスドライバーは各個別分割を制御する多数の分割を含み、各ドライバー分割が各個別ディスク分割を制御することを特徴とする請求項29記載のディスクインターフェース。
- ディバイスドライバーはホストのシステムバスに直接に連結される地域装置のようにNAD装置にアクセスする仮想のホストバスアダプターを生成するバスドライバー;
ネットワークを通じてディスク接近命令を伝達するポートドライバーを含むことを特徴とする請求項23記載のディスクインターフェース。 - オペレーティングシステムはWindows系列のものであることを特徴とする請求項32記載のディスクインターフェース。
- システムバスを有するホストにたいしネットワークを介して接続することによってネットワーク取付ディスク(NAD)装置をそれがあたかも前記ホストの前記システムバスに直接に接続されているかのように認識する仮想ホストバスアダプターを前記ホストが有するようになったネットワーク取付ディスク(NAD)装置において、
前記ネットワークを通じてデータリンクフレームのディスク接近命令を受信するネットワークアダプターと、
ディスク接近命令を実行するためにLANアダプターに接続したディスク制御装置と、
データ保存ディスク、及び
前記NAD装置の作動を制御するために前記ネットワークアダプターと前記ディスク制御装置とに接続した制御装置と、から成るネットワーク取付ディスク(NAD)装置。 - 前記ネットワークはイーザーネットで運営されることを特徴とする請求項34記載のNAD装置。
- 前記ディスクは地域ディスクにフォーマットされることを特徴とする請求項34記載のNAD装置。
- 前記ディスクは地域ディスクに分割されることを特徴とする請求項34記載のNAD装置。
- 前記ネットワークアダプターはホストと媒体アクセス制御(MAC)装置とからデータを受けるための物理ネットワークインターフェースを含むことを特徴とする請求項34記載のNAD装置。
- 前記制御装置はNAD装置のオペレーションを制御するための状態マシンを有する制御装置を含むことを特徴とする請求項34記載のNAD装置。
- 前記制御装置はディスクへのアクセスを制御するためのフィルターを有する制御装置を含むことを特徴とする請求項34記載のNAD装置。
- 前記ディスクは多数のディスクに分割されることを特徴とする請求項34記載のNAD装置。
- 各ディスク分割は別途のドライバーにより制御されることを特徴とする請求項41記載のNAD装置。
- 凡用のネットワーク連結を提供するためにホストに装着されるネットワークインターフェースカード(NIC)と、
保存装置がホストのシステムバスに直接に連結された地域ディバイスであるようにネットワークポートを認識する仮想バスアダプターを生成するバスドライバーと、
ネットワークポートを通じて保存命令を伝達するポートドライバーを含む、凡用のネットワークトラフィックを処理するために、ホストと他の装置とを連結するフロントエンドネットワークを通じて保存装置を制御するためのシステムバスを有するホスト側の保存インターフェース。 - 前記保存装置はディスクであることを特徴とする請求項43記載の保存インターフェース。
- 前記保存装置はテープシステムであることを特徴とする請求項43記載の保存インターフェース。
- 前記保存装置はメモリシステムであることを特徴とする請求項43記載の保存インターフェース。
- 前記保存装置はCDドライブであることを特徴とする請求項43記載の保存インターフェース。
- 前記ホストはUNIX系のオペレーティングシステムであることを特徴とする請求項43記載の保存インターフェース。
- 前記ホストはWindows系のオペレーティングシステムであることを特徴とする請求項43記載の保存インターフェース。
- システムバスを有するホストにたいしネットワークを介して接続することによってネットワーク取付保存装置をそれがあたかも前記ホストの前記システムバスに直接に接続されているかのように認識する仮想ホストバスアダプターを前記ホストが有するようになったネットワーク取付保存装置において、
保存装置と、
前記ネットワークを介して保存命令を受けるネットワークアダプターと、前記保存命令を実行する保存制御装置とから成るネットワーク取付保存装置。 - 前記保存装置のオペレーションを制御する状態マシンをさらに含むことを特徴とする請求項50記載のネットワーク取付保存装置。
- 前記保存装置はディスクであることを特徴とする請求項50記載のネットワーク取付保存装置。
- 前記保存装置はテープ装置であることを特徴とする請求項50記載のネットワーク取付保存装置。
- 前記保存装置はCDドライブであることを特徴とする請求項50記載のネットワーク取付保存装置。
- 前記保存装置はメモリ装置であることを特徴とする請求項50記載のネットワーク取付保存装置。
- プロトコルをディスクアクセス命令からディスクアクセス命令を含むデータリンクフレームに変換するためのホストバスアダプターとしてのプロトコル変換機を含み、ディバイスドライバーは前記ディスク装置をあたかも前記ホストのシステムバスに連結された地域ディスクのように認識することから成るネットワークを通じて前記ディスク装置を制御するためにシステムバスを有してオペレーティングシステムを作動させるホスト側のディスクインターフェース。
- オペレーティングシステムはUNIX系のものであることを特徴とする請求項56記載のディスクインターフェース。
- オペレーティングシステムはWindows系のものであることを特徴とする請求項56記載のディスクインターフェース。
- データを保存するためのディスクと、
ディスクアクセス命令を行うためのディスク制御機と、
ディスクアクセス命令を含むデータリンクフレームをネットワークを通じて受信し、ネットワークに連結されたネットワークアダプターと、;
前記ネットワークアダプター及び前記ディスク制御機に連結されて、受信データリンクフレームからディスクアクセス命令を検索する逆プロトコル制御装置とを含み、システムバスを有するホストが前記ディスク装置をあたかも前記ホストのシステムバスに直接に連結された地域ディバイスであるかのように認識することから成る前記システムバスを有するホストに前記ネットワークを通じて連結されたNAD取付ディスク(NAD)ディバイス。 - 保存命令をデータリンクフレームに変換して、前記保存装置をネットワークを通じて制御するためのホストバスアダプターとしてのプロトコル変換機と、
前記保存装置をネットワークを通じて制御することで、前記ホストコンピュータが前記保存装置をまるで前記ホストのシステムバスに直接に連結された地域ディバイスのように認識する仮想ホストバスアダプターを生成するためのディバイスドライバーとを含むことから成る、ネットワークに連結された保存装置をネットワークを通じて制御するシステムバスを有するホストの保存インターフェース。 - 前記保存装置はディスクであることを特徴とする請求項60記載の保存インターフェース。
- 前記保存装置はテープ装置であることを特徴とする請求項60記載の保存インターフェース。
- 前記保存装置はCDドライバーであることを特徴とする請求項60記載の保存インターフェース。
- 前記保存装置はメモリ装置であることを特徴とする請求項60記載の保存インターフェース。
- 保存命令を含むデータリンクフレームをネットワークを通じて受信するためのネットワークアダプター;
前記ネットワークアダプターに連結された、前記保存命令を行うための保存制御装置と、
データを保存するための保存装置と、
前記ネットワークアダプター、及び保存制御装置に連結された、前記ネットワークアダプターにより受信されたデータリンクフレームから保存命令を検索するためのカウンター変換装置を含み、前記ホストが前記保存装置をまるで前記ホストのシステムバスに直接に連結された地域ディバイスのように認識する仮想ホストバスアダプターを有する前記システムバスを有するホストにネットワークを通じて連結されるネットワーク取付保存装置。 - 前記保存装置はディスクであることを特徴とする請求項65記載のネットワーク取付貯蔵装置。
- 前記保存装置はテープ装置であることを特徴とする請求項65記載のネットワーク取付貯蔵装置 。
- 前記保存装置はCDドライブであることを特徴とする請求項65記載のネットワーク取付貯蔵装置 。
- 前記保存装置はメモリ装置であることを特徴とする請求項65記載のネットワーク取付貯蔵装置 。
- ネットワークと、
ネットワーク接続を提供するためのシステムバス、及びネットワークインターフェースカード(NIC)を有するホストコンピューターと、
前記ネットワークに取り付けられたマルチメディアコンテンツを再生するための多数のマルチメディア再生機、
前記コンピューターが各マルチメディア再生機をまるで前記コンピューターのシステムバスに直接に連結された地域ディバイスのように認識する仮想ホストバスアダプターを生成するために、前記ホストで実行されるディバイスドライバーを含むことを特徴とする、マルチメディアコンテンツ再生用コンピュータージュークボックス。 - 前記ネットワークはローカル通信網(LAN)であることを特徴とする請求項70記載のコンピュータージュークボックス。
- 前記ネットワークはイーザーネットで運営されることを特徴とする請求項70記載のコンピュータージュークボックス。
- 前記マルチメディア再生機はCDドライブを含むことを特徴とする請求項70記載のコンピュータージュークボックス。
- 前記マルチメディア再生機はDVDドライブを含むことを特徴とする請求項70記載のコンピュータージュークボックス。
- 前記ホストが前記ディスク装置を前記ホストのシステムバスに連結された地域ディバイスのように認識するようにする仮想ホストバスアダプターを生成する段階;
ネットワークを通じて前記ホストからディスクアクセス命令を受信する段階;
前記ディスクディバイス命令を実行する段階;
命令実行の結果を前記ホストに送る段階を備えることを特徴とするシステムバスを有するホストからネットワークを通じてディスク装置にアクセスする方法。 - 仮想ホストバスアダプターを生成する前記段階は、前記ホストに装着されたネットワークインターフェースカードの存在可否を検知する段階を備えることを特徴とする請求項75記載のディスク装置接近方法。
- 仮想ホストバスアダプターを生成する前記段階は、前記ホストでのネットワークインターフェースカードの除去可否を検知する段階を備えることを特徴とする請求項75記載のディスク装置接近方法。
- 前記ホストが前記保存装置をまるで前記ホストのシステムバスに直接に連結された地域ディバイスのように認識するようにする仮想ホストバスアダプターを生成する段階;
前記ネットワークポートを通じて保存命令を伝達する段階を備えることを特徴とする、システムバスを有するホストにネットワークを通じて連結された保存装置へのアクセス方法。 - 前記保存装置はディスクであることを特徴とする請求項78記載の保存装置へのアクセス方法。
- 前記保存装置は動的に装着されることを特徴とする請求項78記載の保存装置へのアクセス方法 。
- 前記ホストはUNIX系オペレーティングシステムで運営されることを特徴とする請求項78記載の保存装置への接近方法 。
- 前記ホストはWindows系オペレーティングシステムで運営されることを特徴とする請求項78記載の保存装置への接近方法 。
- 保存命令を伝達する前記段階は、前記保存装置により行われるI/Oトランザクションを含むI/O要求パケット(IRP)を送る段階を備えることを特徴とする請求項78記載の保存装置への接近方法 。
- 保存命令を伝達する前記段階は、保存命令をIDE保存装置に特有の命令に翻訳する段階を備えることを特徴とする請求項78記載の保存装置への接近方法 。
- 保存命令を伝達する前記段階は、保存命令をSCSI保存装置に特有の命令に転換する段階を備えることを特徴とする請求項78記載の保存装置への接近方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0000086A KR100372915B1 (ko) | 2001-01-02 | 2001-01-02 | 네트워크에 직접 부착 가능한 디스크 시스템 |
PCT/KR2001/001976 WO2002054266A1 (en) | 2001-01-02 | 2001-11-19 | Disk system adapted to be directly attached to network |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004527817A true JP2004527817A (ja) | 2004-09-09 |
JP2004527817A5 JP2004527817A5 (ja) | 2007-08-09 |
Family
ID=19704210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002555298A Pending JP2004527817A (ja) | 2001-01-02 | 2001-11-19 | ネットワークに直接に取付可能なディスクシステム |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1348164A4 (ja) |
JP (1) | JP2004527817A (ja) |
KR (1) | KR100372915B1 (ja) |
WO (1) | WO2002054266A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005302026A (ja) * | 2004-04-14 | 2005-10-27 | Hewlett-Packard Development Co Lp | ネットワーク接続周辺装置にアクセスするためのコンピュータ可読媒体、方法およびコンピュータシステム |
JP2006195981A (ja) * | 2005-01-14 | 2006-07-27 | Microsoft Corp | アプリケーションサーバ環境におけるusbデバイス |
JP2006524864A (ja) * | 2003-04-04 | 2006-11-02 | ブルアーク ユーケー リミテッド | 複数のストレージ装置タイプをサポートするネットワーク接続ストレージシステム、装置、および方法 |
JP2009508212A (ja) * | 2005-09-09 | 2009-02-26 | マイクロソフト コーポレーション | リモートシステムのためのプラグ・アンド・プレイデバイスのリダイレクション |
JP2010113707A (ja) * | 2008-11-10 | 2010-05-20 | Internatl Business Mach Corp <Ibm> | 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム |
JP2013156877A (ja) * | 2012-01-31 | 2013-08-15 | Unitex:Kk | 情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体 |
US9858126B2 (en) | 2010-12-16 | 2018-01-02 | Microsoft Technology Licensing, Llc | Device redirection for remote systems |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100662256B1 (ko) | 2004-12-20 | 2006-12-28 | 한국전자통신연구원 | 낮은 프로세스 점유율을 가지는 객체기반 스토리지 장치및 그 제어 방법 |
GB0608085D0 (en) | 2006-04-25 | 2006-05-31 | Intesym Ltd | Network interface and router |
CN101398822B (zh) * | 2007-09-26 | 2012-05-09 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现动态扩展网络存储空间的方法 |
EP2189893A1 (en) | 2008-11-21 | 2010-05-26 | Thomson Licensing | Data storage system and method of operation |
TWI426385B (zh) * | 2010-06-29 | 2014-02-11 | Genesys Logic Inc | 支援大容量儲存裝置存取之方法與系統 |
KR101526471B1 (ko) * | 2013-11-22 | 2015-06-09 | 유넷시스템주식회사 | 호스트 보안 장치 |
KR20200109547A (ko) | 2019-03-13 | 2020-09-23 | 김한규 | 네트워크 부착 디스크를 통한 파일 처리 방법 및 그 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH117404A (ja) * | 1997-06-17 | 1999-01-12 | Toshiba Corp | ネットワーク接続型scsi装置ならびに同装置を用いたファイルシステム |
WO1999034297A1 (en) * | 1997-12-31 | 1999-07-08 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
JPH11296466A (ja) * | 1998-04-06 | 1999-10-29 | Canon Inc | ネットワークデバイスの管理装置およびその方法、記録媒体 |
JP2000207345A (ja) * | 1999-01-13 | 2000-07-28 | Nec Corp | 情報処理システム及びそれに用いる周辺デバイス探索処理方式並びにその制御プログラムを記録した記録媒体 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838910A (en) * | 1996-03-14 | 1998-11-17 | Domenikos; Steven D. | Systems and methods for executing application programs from a memory device linked to a server at an internet site |
US6167490A (en) * | 1996-09-20 | 2000-12-26 | University Of Washington | Using global memory information to manage memory in a computer network |
US6128690A (en) * | 1998-03-24 | 2000-10-03 | Compaq Computer Corporation | System for remote memory allocation in a computer having a verification table contains information identifying remote computers which are authorized to allocate memory in said computer |
US6470397B1 (en) | 1998-11-16 | 2002-10-22 | Qlogic Corporation | Systems and methods for network and I/O device drivers |
KR20000072493A (ko) * | 2000-09-06 | 2000-12-05 | 임동희 | 무선인터넷 기반에서 개인휴대용단말기를 사용자 컴퓨터의터미널로 이용하여 원격 제어하여 사용할 수 있는 방법 |
KR20010088528A (ko) * | 2001-08-02 | 2001-09-28 | 전대식 | 휴대형 기억매체 및 이 기억매체를 이용하여 네트워크상의리모트 저장장치를 로컬 컴퓨터의 보조기억장치로활용하는 방법 |
-
2001
- 2001-01-02 KR KR10-2001-0000086A patent/KR100372915B1/ko not_active IP Right Cessation
- 2001-11-19 WO PCT/KR2001/001976 patent/WO2002054266A1/en active Application Filing
- 2001-11-19 EP EP01272932A patent/EP1348164A4/en not_active Withdrawn
- 2001-11-19 JP JP2002555298A patent/JP2004527817A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH117404A (ja) * | 1997-06-17 | 1999-01-12 | Toshiba Corp | ネットワーク接続型scsi装置ならびに同装置を用いたファイルシステム |
WO1999034297A1 (en) * | 1997-12-31 | 1999-07-08 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
JPH11296466A (ja) * | 1998-04-06 | 1999-10-29 | Canon Inc | ネットワークデバイスの管理装置およびその方法、記録媒体 |
JP2000207345A (ja) * | 1999-01-13 | 2000-07-28 | Nec Corp | 情報処理システム及びそれに用いる周辺デバイス探索処理方式並びにその制御プログラムを記録した記録媒体 |
Non-Patent Citations (1)
Title |
---|
菊池隆裕: "ストレージをIPネットに直結 Ethernet高速化が追い風に", 日経エレクトロニクス, vol. 第782巻, CSND200300096001, 6 November 2000 (2000-11-06), JP, pages 58 - 59, ISSN: 0000806661 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006524864A (ja) * | 2003-04-04 | 2006-11-02 | ブルアーク ユーケー リミテッド | 複数のストレージ装置タイプをサポートするネットワーク接続ストレージシステム、装置、および方法 |
JP2005302026A (ja) * | 2004-04-14 | 2005-10-27 | Hewlett-Packard Development Co Lp | ネットワーク接続周辺装置にアクセスするためのコンピュータ可読媒体、方法およびコンピュータシステム |
JP2006195981A (ja) * | 2005-01-14 | 2006-07-27 | Microsoft Corp | アプリケーションサーバ環境におけるusbデバイス |
US8412800B2 (en) | 2005-01-14 | 2013-04-02 | Microsoft Corporation | USB devices in application server environments |
JP2009508212A (ja) * | 2005-09-09 | 2009-02-26 | マイクロソフト コーポレーション | リモートシステムのためのプラグ・アンド・プレイデバイスのリダイレクション |
US8892758B2 (en) | 2005-09-09 | 2014-11-18 | Microsoft Corporation | Plug and play device redirection for remote systems |
US8918530B2 (en) | 2005-09-09 | 2014-12-23 | Microsoft Corporation | Plug and play device redirection for remote systems |
JP2010113707A (ja) * | 2008-11-10 | 2010-05-20 | Internatl Business Mach Corp <Ibm> | 物理及び仮想マルチパス入出力を動的に管理する方法、装置、システム、及びプログラム |
US9858126B2 (en) | 2010-12-16 | 2018-01-02 | Microsoft Technology Licensing, Llc | Device redirection for remote systems |
US10331501B2 (en) | 2010-12-16 | 2019-06-25 | Microsoft Technology Licensing, Llc | USB device redirection for remote systems |
JP2013156877A (ja) * | 2012-01-31 | 2013-08-15 | Unitex:Kk | 情報処理装置、情報処理システム、情報処理方法、プログラム及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
EP1348164A4 (en) | 2007-12-05 |
KR100372915B1 (ko) | 2003-02-19 |
EP1348164A1 (en) | 2003-10-01 |
KR20020059139A (ko) | 2002-07-12 |
WO2002054266A1 (en) | 2002-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7849153B2 (en) | Disk system adapted to be directly attached | |
RU2302034C9 (ru) | Многопротокольное устройство хранения данных, реализующее интегрированную поддержку файловых и блочных протоколов доступа | |
US7409521B2 (en) | Method of managing storage capacity, server and recording medium therefor | |
JP3683867B2 (ja) | 透過的エミュレーティング・インターフェースを有するハード・ディスク・ドライブのライブラリ | |
JP4252301B2 (ja) | 記憶システム及びそのデータバックアップ方法 | |
US7272687B2 (en) | Cache redundancy for LSI raid controllers | |
US7779201B1 (en) | System and method for determining disk ownership model | |
JP2004527817A (ja) | ネットワークに直接に取付可能なディスクシステム | |
JP4410557B2 (ja) | コンピュータ・システム内のテープ装置にアクセスするための方法およびシステム | |
US7424529B2 (en) | System using host bus adapter connection tables and server tables to generate connection topology of servers and controllers | |
US7953878B1 (en) | Multi-threaded internet small computer system interface (iSCSI) socket layer | |
JP2003022246A (ja) | ダイレクトアクセスストレージシステム | |
JP2003241903A5 (ja) | ||
JP2001075872A (ja) | データバックアップ方法、メインフレーム系ストレージシステムおよびメインフレームホストコンピュータ | |
US7117228B2 (en) | Method for transforming data formats between different database systems, an apparatus for executing the method and the program of the method | |
JP2004527817A5 (ja) | ||
JP2000148651A (ja) | 共有ディスク装置 | |
US7003553B2 (en) | Storage control system with channel control device having data storage memory and transfer destination circuit which transfers data for accessing target cache area without passing through data storage memory | |
US20070245060A1 (en) | Method and system for handling data by file-system offloading | |
JP3768707B2 (ja) | ネットワーク接続型多連装ディスクドライブ | |
WO2007077514A2 (en) | Transparent intellectual network storage device | |
US20100017189A1 (en) | Transparent Intellectual Network Storage Device | |
JP4384436B2 (ja) | 記憶装置制御方法、記憶装置制御システム、および、スイッチ | |
JP4287160B2 (ja) | ファイバチャネルスイッチ,及びfcp処理プログラムを記憶した記憶媒体 | |
JP2004259045A (ja) | ストレージ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050830 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051130 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070409 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070416 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070509 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070516 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20070611 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20070618 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20070620 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080408 |