JP4418920B2 - Network file management system, device server, and file transmission method - Google Patents
Network file management system, device server, and file transmission method Download PDFInfo
- Publication number
- JP4418920B2 JP4418920B2 JP2006147928A JP2006147928A JP4418920B2 JP 4418920 B2 JP4418920 B2 JP 4418920B2 JP 2006147928 A JP2006147928 A JP 2006147928A JP 2006147928 A JP2006147928 A JP 2006147928A JP 4418920 B2 JP4418920 B2 JP 4418920B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- client computer
- storage device
- transmission
- usb
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
この発明は、デバイスサーバに関し、特に、記録媒体機器のデータ管理手法に関する。 The present invention relates to a device server, and more particularly to a data management method for a recording medium device.
従来、USB(Universal Serial Bus)でパソコンと接続するUSBストレージをネットワークに接続して、共用ストレージとして利用することが提案されている。この場合におけるUSBストレージの制御手法について、図1を用いて説明する。 Conventionally, it has been proposed to connect a USB storage connected to a personal computer via a USB (Universal Serial Bus) to a network and use it as a shared storage. A USB storage control method in this case will be described with reference to FIG.
各クライアントコンピュータには予め専用のプログラムをインストールしておく。クライアントコンピュータ2の操作者は、かかる専用プログラムを起動して、画面上で接続スイッチを選択する。デバイスサーバ5は、かかる選択を受けると、排他フラグをセットする。この状況で、クライアントコンピュータ3からアクセス要求があると、デバイスサーバ5は、現在、排他フラグがセットされているので、かかるアクセス要求に対して、「使用中なのでアクセス不可」という旨のメッセージをクライアントコンピュータ3に返す。クライアントコンピュータ2の操作者は作業終了すると、専用プログラムにより排他フラグをリセットするようデバイスサーバ5に命令を与える。このように、排他フラグを用いることにより、USBストレージ14を複数のクライアントコンピュータから使用することができる。
A dedicated program is installed in advance on each client computer. The operator of the
しかしながら、かかる手法を用いた場合、前記排他フラグがセットされていないときにアクセス要求があったクライアントコンピュータだけがUSBストレージ14を使用できることとなり、そのタイミングを逃すといつまでたってもUSBストレージ14を使用することができないという問題がある。
However, when such a method is used, only the client computer that has made an access request when the exclusion flag is not set can use the
かかる問題を解決するために、特許文献1には、複数のクライアントからUSBストレージ14にアクセス要求があった場合、これを順序どおりに実行させる方法として、各クライアントに予約をさせて、優先順位に応じてアクセスを許可することが開示されている。
In order to solve such a problem, in
しかし、特許文献1に開示された予約処理システムでは、以下のような問題があった。たしかに予約させることにより、順番は守られるが、現在使用中のクライアントコンピュータによるUSBストレージ14の使用は終わっているのにもかかわらず、そのクライアントコンピュータの使用者が切断処理をしなければ、次順位のクライアントコンピュータは使用ができず、無駄な空白時間が発生する。
However, the reservation processing system disclosed in
かかる問題を解決するために、所定時間アクセスがない場合にはタイムアウトとして当該クライアントコンピュータによる専有を強制的に解除して、次順位の予約クライアントコンピュータを自動接続することも考えられるが、その場合でも、タイムアウトの時間分の専有は避けられない。 In order to solve such a problem, if there is no access for a predetermined time, it may be possible to forcibly cancel the exclusive use by the client computer as a timeout and automatically connect the reservation client computer of the next order. In other words, it is inevitable to occupy the timeout time.
また、デバイスサーバのOSにファイル管理システムを搭載させることも考えられるが、そのために、デバイスサーバに高い処理能力が必要となる。 Although it is conceivable to install a file management system in the OS of the device server, this requires high processing capability for the device server.
この発明は、上記問題を解決し、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することを目的とする。 The present invention solves the above problem, and even when write or read processing from a plurality of client computers connected to the network is concentrated, a network file management system capable of performing write or read processing without wasted time and its It aims to provide a method.
1)本発明にかかるネットワークファイル管理システムは、A)USBストレージ機器、B)複数のクライアントコンピュータ、C)前記USBストレージ機器と前記複数のクライアントコンピュータとをネットワーク接続するUSBデバイスサーバを備え、D)前記各クライアントコンピュータと前記USBストレージ機器との間では、1のファイルを前記USBストレージ機器の記録部のクラスタサイズに基づいて決定されるデータ長のブロックに分割してブロックデータとしてファイル伝送処理が行われ、E)前記各クライアントコンピュータは、e1)前記USBストレージ機器との間で前記ブロックデータの伝送を行う前に、伝送対象のブロックデータのデータ長を含むヘッダデータを前記USBデバイスサーバを介して前記USBストレージ機器に送信し、e2)前記USBデバイスサーバを介して前記USBストレージ機器から前記ヘッダデータを受け取ったことを示す返答データを受け取ると、前記USBストレージ機器との間で前記ブロックデータのデータ伝送を開始し、e3)前記USBデバイスサーバからNAK信号を受け取ると同じデータを再度、前記USBストレージ機器へ送るために前記USBデバイスサーバへ送り、F)前記USBデバイスサーバは、前記いずれかのクライアントコンピュータによるデータ伝送専有状態では、当該クライアントコンピュータから前記USBストレージ機器へのデータが与えられるとこれを前記USBストレージ機器へ与え、前記USBストレージ機器から当該クライアントコンピュータへのデータが与えられるとこれを当該クライアントコンピュータへ与える、G)ネットワークファイル管理システムであって、H)前記USBデバイスサーバは、h1)特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、h2)前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータにNAK信号を返信し、h3)前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに前記USBストレージ機器にそのヘッダデータを送信し、h4)前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記USBストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する。 1) A network file management system according to the present invention comprises A) a USB storage device, B) a plurality of client computers, C) a USB device server for network connection of the USB storage device and the plurality of client computers, and D) Between each of the client computers and the USB storage device, one file is divided into blocks having a data length determined based on the cluster size of the recording unit of the USB storage device, and file transmission processing is performed as block data. E) Each client computer sends e1) header data including the data length of the block data to be transmitted via the USB device server before transmitting the block data to the USB storage device. USB E2) Upon receiving response data indicating that the header data has been received from the USB storage device via the USB device server, the block data is transmitted to and from the USB storage device. E3) Upon receipt of the NAK signal from the USB device server, the same data is sent again to the USB device server for sending to the USB storage device. F) The USB device server is sent by any one of the client computers. In the data transmission exclusive state, when data is given from the client computer to the USB storage device, it is given to the USB storage device, and when data is given from the USB storage device to the client computer, the data is sent to the USB storage device. G) a network file management system, and H) the USB device server is given h1) header data including the data length of the transmitted block data from a specific client computer. It is determined whether or not it is currently in a data transmission exclusive state by another client computer, and h2) if it is in a data transmission exclusive state by the other client computer, a NAK signal is sent to the specific client computer that transmitted the block data H3) When the data transmission is not exclusively performed by the other client computer, the data transmission is exclusively performed by the specific client computer and the header data is transmitted to the USB storage device. H4) The specific client Co After the computer is in a data transmission exclusive state, it is determined whether block data having a data length specified by the header data has been transmitted between the specific client computer and the USB storage device. In this case, the data transmission exclusive state is canceled.
このように、前記データ伝送専有状態では、前記ヘッダデータを送ったクライアントコンピュータと前記USBデバイスサーバはデータ伝送が可能となる。 Thus, in the data transmission exclusive state, the client computer and the USB device server that sent the header data can transmit data.
かかるデータ伝送専有状態は、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されると解除される。また、既に他のクライアントコンピュータによるデータ伝送専有状態である場合には、別のクライアントコンピュータからの前記ヘッダデータに対してはNAK信号が返され、これを受けたクライアントコンピュータは、前記ヘッダデータを再送する。 The data transmission exclusive state is canceled when block data having a data length specified by the header data is transmitted. In addition, when the data transmission is already occupied by another client computer, a NAK signal is returned for the header data from another client computer, and the client computer that has received this retransmits the header data. To do.
したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。 Accordingly, each client computer can transfer data to the storage device in units of blocks specified by the header data.
これによりネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。 As a result, it is possible to provide a network file management system and method capable of performing writing or reading processing without wasted time even when writing or reading processing from a plurality of client computers connected to the network is concentrated.
2)本発明にかかるUSBデバイスサーバは、A)USBストレージ機器と複数のクライアントコンピュータとをネットワーク接続するUSBデバイスサーバであって、B)前記各クライアントコンピュータと前記USBストレージ機器との間では、1のファイルを前記USBストレージ機器の記録部のクラスタサイズに基づいて決定されるデータ長のブロックに分割してブロックデータとしてファイル伝送処理が行われ、C)前記各クライアントコンピュータは、c1)前記USBストレージ機器との間で前記ブロックデータの伝送を行う前に、伝送対象のブロックデータのデータ長を含むヘッダデータを前記USBデバイスサーバを介して前記USBストレージ機器に送信し、c2)前記USBデバイスサーバを介して前記USBストレージ機器から前記ヘッダデータを受け取ったことを示す返答データを受け取ると、前記USBストレージ機器との間で前記ブロックデータのデータ伝送を開始し、c3)前記USBデバイスサーバからNAK信号を受け取ると同じデータを再度、前記USBストレージ機器へ送るために前記USBデバイスサーバへ送り、D)前記いずれかのクライアントコンピュータによるデータ伝送専有状態では、当該クライアントコンピュータから前記USBストレージ機器へのデータが与えられるとこれを前記USBストレージ機器へ与え、前記USBストレージ機器から当該クライアントコンピュータへのデータが与えられるとこれを当該クライアントコンピュータへ与える、E)USBデバイスサーバにおいて、F)特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、G)前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータにNAK信号を返信し、H)前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記USBストレージ機器にそのヘッダデータを送信し、I)前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記USBストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する。 2) A USB device server according to the present invention is A) a USB device server that connects a USB storage device and a plurality of client computers over a network, and B) 1) between each of the client computers and the USB storage device. Are divided into blocks having a data length determined based on the cluster size of the recording unit of the USB storage device, and file transmission processing is performed as block data. C) Each of the client computers is c1) the USB storage Before transmitting the block data to the device, the header data including the data length of the block data to be transmitted is transmitted to the USB storage device via the USB device server, and c2) the USB device server Via the USB storage device When the response data indicating that the header data has been received is received, data transmission of the block data is started with the USB storage device. C3) When the NAK signal is received from the USB device server, the same data is again transmitted. , Sent to the USB device server for sending to the USB storage device, and D) in the data transmission exclusive state by any one of the client computers, when data is given from the client computer to the USB storage device, it is sent to the USB storage device. When the data is given to the storage device and the data from the USB storage device to the client computer is given, the data is given to the client computer. E) In the USB device server, F) From the specific client computer, the transmission When the header data including the data length of the block data to be processed is given, it is determined whether or not the data transmission is exclusively performed by another client computer, and G) the data transmission is exclusively performed by the other client computer. In this case, a NAK signal is returned to the specific client computer that has transmitted the block data. H) If the data transmission is not exclusively performed by the other client computer, the data transmission is exclusively performed by the specific client computer. In addition, the header data is transmitted to the USB storage device. I) After the specific client computer is in a data transmission exclusive state, the header data is specified between the specific client computer and the USB storage device. It is determined whether or not block data having a predetermined data length has been transmitted. If transmitted, the data transmission exclusive state is canceled.
このように、前記データ伝送専有状態では、前記ヘッダデータを送ったクライアントコンピュータは、前記USBデバイスサーバとの間でデータ伝送が可能となる。かかるデータ伝送専有状態は、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されると解除される。また、既に他のクライアントコンピュータによるデータ伝送専有状態である場合には、別のクライアントコンピュータからの前記ヘッダデータに対してはNAK信号が返される。これを受けたクライアントコンピュータは、前記ヘッダデータを再送する。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。 Thus, in the data transmission exclusive state, the client computer that has sent the header data can transmit data to and from the USB device server. The data transmission exclusive state is canceled when block data having a data length specified by the header data is transmitted. If the data transmission is already occupied by another client computer, a NAK signal is returned for the header data from another client computer. Upon receiving this, the client computer retransmits the header data. Accordingly, each client computer can transfer data to the storage device in units of blocks specified by the header data.
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。 As a result, it is possible to provide a network file management system and method capable of performing writing or reading processing without wasted time even when writing or reading processing from a plurality of client computers connected to the network is concentrated. .
3)本発明にかかるデバイスサーバは、A)ネットワーク伝送プロトコルで定められたカプセル化規則でカプセル化された伝送対象データを入出力する第1接続口と、カプセル化されていない伝送対象データを入出力する第2接続口を有し、前記第1接続口にネットワーク接続されたいずれかのクライアントコンピュータから前記カプセル化された伝送対象データが与えられると、これを非カプセル化して前記第2接続口から出力し、前記第2接続口に送信先が指定されたカプセル化されていない伝送対象データが与えられると、前記カプセル化を行い指定された送信先にネットワーク送信するネットワーク伝送手段、
B)前記第2接続口に接続され、ストレージ機器伝送手段との間のデータ伝送を制御する制御手段、C)単一のクライアントコンピュータとの間でデータの書き込みまたは読み出しが可能なストレージ機器とデータ伝送するストレージ機器伝送手段を備え、D)前記制御手段は、以下の手段を有する。d1)データ転送モードでは、以下の転送を行う転送手段、d1-1)前記ネットワークデータ伝送手段の第2接続口から、データ転送をする対象であるクライアントコンピュータからのデータが与えられると、これを前記ストレージ機器伝送手段に与える、d1-2)前記ストレージ機器伝送手段から返答データが与えられると、前記データ転送をする対象であるクライアントコンピュータに伝送するように前記ネットワークデータ伝送手段の第2接続口に与える、d2)前記ネットワークデータ伝送手段の第2接続口から、特定クライアントコンピュータのブロックデータのデータ長を表すヘッダデータが与えられると、前記転送手段がいずれかのクライアントコンピュータデータによる転送モードであるか否か判断する判断手段、d3)前記判断手段の判断結果に応じて、以下の処理を行う伝送制御手段、d3-1)前記転送手段が、前記ヘッダデータを送信したクライアントコンピュータ以外のクライアントコンピュータによるデータ転送モードである場合には、当該ヘッダデータを送信したクライアントコンピュータに不成立信号を返信させる、d3-2)前記転送手段がいずれのクライアントコンピュータによるデータ転送モードでもない場合には、以下の処理を行う、d3-2-1)前記転送手段を前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードとするとともに、前記ヘッダデータを、前記伝送手段によって前記ストレージ機器伝送手段へ伝送させる、d3-2-2)前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードになってから、前記ヘッダデータを送信したクライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する。
3) A device server according to the present invention includes: A) a first connection port for inputting / outputting transmission target data encapsulated by an encapsulation rule defined by a network transmission protocol, and transmission target data not encapsulated. When the encapsulated transmission target data is given from any of the client computers connected to the first connection port via a network, the second connection port is decapsulated. Network transmission means for performing the encapsulation and transmitting the data to the designated destination when the transmission target data to which the destination is designated is given to the second connection port.
B) Control means for controlling data transmission to and from the storage device transmission means connected to the second connection port, and C) Storage equipment and data capable of writing or reading data with a single client computer Storage device transmission means for transmitting, and D) the control means comprises the following means. d1) In the data transfer mode, transfer means for performing the following transfer; d1-1) When data from the client computer that is the object of data transfer is given from the second connection port of the network data transmission means, D1-2) When the response data is given from the storage device transmission means, the second connection port of the network data transmission means is transmitted to the client computer that is the object of the data transfer. D2) When the header data indicating the data length of the block data of the specific client computer is given from the second connection port of the network data transmission means, the transfer means is in a transfer mode based on any client computer data. Judgment means for judging whether or not, d3) in the judgment result of the judgment means Accordingly, transmission control means for performing the following processing, d3-1) if the transfer means is in a data transfer mode by a client computer other than the client computer that has transmitted the header data, the client that has transmitted the header data D3-2) When the transfer means is not in a data transfer mode by any client computer, the following processing is performed. D3-2-1) The transfer means sends the header data to the computer. D3-2-2) Data transfer mode by the client computer that sent the header data is set to the data transfer mode by the sending client computer, and the header data is transmitted to the storage device transmission means by the transmission means. After sending the header data. For transmission target data exchanged between the ant computer and the storage device, it is determined whether or not block data having a data length specified by the header data has been transmitted. Is released.
このように、前記伝送制御手段は、前記ヘッダデータを送信したクライアントコンピュータ以外のクライアントコンピュータによるデータ転送モードである場合には、当該ヘッダデータを送信したクライアントコンピュータに不成立信号を返信させる。また、いずれのクライアントコンピュータによるデータ転送モードでもない場合には、以下の処理を行う。前記転送手段を前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードとするとともに、前記ヘッダデータを、前記伝送手段によって前記ストレージ機器伝送手段へ伝送させる。また前記指定されたクライアントコンピュータによるデータ転送モードになってから、前記特定クライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。各クライアントコンピュータは既に他のクライアントコンピュータによるデータ転送モードになっている場合には、不成立信号が与えられるので、かかる信号を受け取った場合には、ヘッダデータが受けつけられるまで、再送を繰り返せばよい。 In this way, the transmission control means, when in a data transfer mode by a client computer other than the client computer that transmitted the header data, returns a failure signal to the client computer that transmitted the header data. If the data transfer mode is not set by any client computer, the following processing is performed. The transfer unit is set to a data transfer mode by the client computer that has transmitted the header data, and the header data is transmitted to the storage device transmission unit by the transmission unit. In addition, block data having a data length specified by the header data is transmitted with respect to transmission target data exchanged between the specific client computer and the storage device after the designated client computer enters the data transfer mode. If it is transmitted, the data transfer mode is canceled. Accordingly, each client computer can transfer data to the storage device in units of blocks specified by the header data. When each client computer is already in the data transfer mode by another client computer, a failure signal is given. Therefore, when such a signal is received, retransmission may be repeated until header data is accepted.
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。 As a result, it is possible to provide a network file management system and method capable of performing writing or reading processing without wasted time even when writing or reading processing from a plurality of client computers connected to the network is concentrated. .
4)本発明にかかるファイル伝送方法は、A)データの書き込みまたは読み出しが可能なストレージ機器に、複数のクライアントコンピュータからファイル伝送する方法であって、B)前記各クライアントコンピュータと前記ストレージ機器との間では、1のファイルを複数のブロックに分割したブロックデータとして伝送処理が行われ、C)前記各クライアントコンピュータは、以下のc1)〜c3)の処理にて前記ストレージ機器との間で前記ブロックデータの伝送を行うファイル伝送方法において、c1)伝送対象のブロックデータのデータ長を含むヘッダデータを前記ストレージ機器に送信し、c2)その後、前記ストレージ機器から前記ヘッダデータを受け取ったことを示す返答データを受け取ると、前記ブロックデータのデータ伝送を開始し、c3)不成立信号を受け取ると同じデータを再度、前記ストレージ機器へ送る、D)前記ストレージ機器と前記複数のクライアントコンピュータとの間に設けたデバイスサーバに、以下の処理を実行させる。d1)特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断する、d2)前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信する、d3)前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記ストレージ機器にそのヘッダデータを送信する、d4)与えられた転送データが、データ伝送専有状態とした前記特定のクライアントコンピュータと前記ストレージ機器間のデータ伝送であれば、これを転送する、d5)前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する。
4) A file transmission method according to the present invention is a method of A) file transmission from a plurality of client computers to a storage device capable of writing or reading data, and B) between each of the client computers and the storage device. In the meantime, transmission processing is performed as block data obtained by dividing one file into a plurality of blocks, and C) each of the client computers is connected to the storage device in the following processing c1) to c3). In the file transmission method for transmitting data, c1) sending header data including the data length of the block data to be transmitted to the storage device, and c2) a response indicating that the header data has been received from the storage device. When data is received, data transmission of the block data starts and c3) When the establishment signal is received, the same data is sent again to the storage device. D) A device server provided between the storage device and the plurality of client computers is caused to execute the following processing. d1) When header data including the data length of the block data to be transmitted is given from a specific client computer, it is determined whether or not it is currently dedicated to data transmission by another client computer, d2) the other If the data transmission exclusive state by the other client computer is not in the data transmission exclusive state by the other client computer, the specified signal is returned to the specific client computer that transmitted the block data D4) data between the specific client computer and the storage device in which the given transfer data is in the data transmission exclusive state. In transmission D5) block data having a data length specified by the header data between the specific client computer and the storage device after the specific client computer is in a data transmission exclusive state. Is transmitted, and if it is transmitted, the data transmission exclusive state is canceled.
このように、前記データ伝送専有状態では、前記ヘッダデータを送ったクライアントコンピュータは、前記デバイスサーバとの間でデータ伝送が可能となる。かかるデータ伝送専有状態は、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されると解除される。また、既に他のクライアントコンピュータによるデータ伝送専有状態である場合には、別のクライアントコンピュータからの前記ヘッダデータに対しては不成立信号が返される。これを受けたクライアントコンピュータは、前記ヘッダデータを再送する。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。 Thus, in the data transmission exclusive state, the client computer that has sent the header data can transmit data to and from the device server. The data transmission exclusive state is canceled when block data having a data length specified by the header data is transmitted. If the data transmission is already occupied by another client computer, a failure signal is returned for the header data from another client computer. Upon receiving this, the client computer retransmits the header data. Accordingly, each client computer can transfer data to the storage device in units of blocks specified by the header data.
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なファイル伝送方法を提供することができる。 Accordingly, it is possible to provide a file transmission method capable of performing writing or reading processing without wasted time even when writing or reading processing from a plurality of client computers connected to the network is concentrated.
なお、本明細書において「伝送」とは、送信および受信の双方を含む概念である。「カプセル化された伝送対象データ」とは、実施形態ではパケットヘッダが付与されて伝送されるデータであり、読み出しまたは書き込み対象のブロックデータはもちろん、かかるデータが存在しない読み出しコマンドなども該当する。また「ストレージ機器」とは実施形態ではUSBハードディスクが該当するが、読み出しだけできる記録媒体でも、読み出しも書き込みもできる記録媒体でもよく、さらに、記録媒体は取り外せるものであってもよい。例えば、各種のメモリカード、DVD、フレキシブルディスクなどは当然含まれる。 In this specification, “transmission” is a concept including both transmission and reception. In the embodiment, “encapsulated transmission target data” refers to data transmitted with a packet header, and corresponds to block data to be read or written as well as a read command in which such data does not exist. The “storage device” corresponds to a USB hard disk in the embodiment, but may be a recording medium that can only be read, a recording medium that can be read or written, and a recording medium that can be removed. For example, various memory cards, DVDs, flexible disks, and the like are naturally included.
1.機能ブロック図の説明
本発明の一実施形態を図面に基づいて説明する。本件ネットワークファイル管理システムの全体構成は、従来と同様であるが、図1におけるデバイスサーバ5の構成が異なる。図2に、本発明にかかるネットワークファイル管理システムにおけるデバイスサーバ5の機能ブロック図を示す。
1. Functional block diagram description
An embodiment of the present invention will be described with reference to the drawings. The overall configuration of the present network file management system is the same as the conventional one, but the configuration of the
デバイスサーバ5は、ネットワーク伝送手段51、制御手段55、およびストレージ機器伝送手段57を備えている。
The
ネットワーク伝送手段51は、ネットワーク伝送プロトコルで定められたカプセル化規則でカプセル化された伝送対象データを入出力する第1接続口と、カプセル化されていない伝送対象データを入出力する第2接続口を有し、前記第1接続口にネットワーク接続されたいずれかのクライアントコンピュータから前記カプセル化された伝送対象データが与えられると、これを非カプセル化して前記第2接続口から出力し、前記第2接続口に送信先が指定されたカプセル化されていない伝送対象データが与えられると、前記カプセル化を行い指定された送信先にネットワーク送信する。 The network transmission means 51 includes a first connection port for inputting / outputting transmission target data encapsulated by an encapsulation rule defined by a network transmission protocol, and a second connection port for inputting / outputting unencapsulated transmission target data. When the encapsulated transmission target data is given from any client computer connected to the first connection port via the network, the data is unencapsulated and output from the second connection port, When unencapsulated transmission target data with a destination specified at the two connection ports is given, the encapsulation is performed and network transmission is performed to the specified destination.
制御手段55は、前記第2接続口に接続され、ストレージ機器伝送手段との間のデータ伝送を制御する。ストレージ機器伝送手段57は、単一のクライアントコンピュータとの間でデータの書き込みまたは読み出しが可能なストレージ機器とデータ伝送する。 The control means 55 is connected to the second connection port and controls data transmission with the storage device transmission means. The storage device transmission means 57 transmits data with a storage device capable of writing or reading data with a single client computer.
制御手段55は、判断手段61、伝送制御手段63および転送手段65を備えている。
The
転送手段65は、従来と同様の処理を行う。具体的には、データ転送モードでは、以下の転送を行う。ネットワーク伝送手段の第2接続口から、データ転送をする対象であるクライアントコンピュータからのデータが与えられると、これを前記ストレージ機器伝送手段に与える。また、ストレージ機器伝送手段57から返答データが与えられると、この返答データを、前記データ転送をする対象であるクライアントコンピュータに伝送するようにネットワーク伝送手段51の第2接続口に与える。
The
判断手段61は、ネットワーク伝送手段51の第2接続口から、特定クライアントコンピュータのブロックデータのデータ長を表すヘッダデータが与えられると、転送手段65がいずれかのクライアントコンピュータデータによる転送モードであるか否か判断する。
When the
伝送制御手段63は、判断手段61の判断結果に応じて、以下の処理を行う。転送手段65が、前記ヘッダデータを送信したクライアントコンピュータ以外のクライアントコンピュータによるデータ転送モードである場合には、当該ヘッダデータを送信したクライアントコンピュータに不成立信号を返信させる。転送手段65がいずれのクライアントコンピュータによるデータ転送モードでもない場合には、以下の処理を行う。転送手段65を前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードとするとともに、前記ヘッダデータを、転送手段65によってストレージ機器伝送手段57へ伝送させる。さらに、前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードになってから、前記ヘッダデータを送信したクライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する。
The
このように、既に転送モードである場合には、ヘッダデータを送信したクライアントコンピュータに不成立信号が返される。また、転送モードは、前記ヘッダデータで特定されるデータ長で解除される。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。各クライアントコンピュータは既に他のクライアントコンピュータによるデータ転送モードになっている場合には、不成立信号が与えられるので、かかる信号を受け取った場合には、ヘッダデータが受けつけられるまで、再送を繰り返せばよい。 Thus, if the transfer mode is already set, a failure signal is returned to the client computer that sent the header data. The transfer mode is canceled with the data length specified by the header data. Accordingly, each client computer can transfer data to the storage device in units of blocks specified by the header data. When each client computer is already in the data transfer mode by another client computer, a failure signal is given. Therefore, when such a signal is received, retransmission may be repeated until header data is accepted.
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。 As a result, it is possible to provide a network file management system and method capable of performing writing or reading processing without wasted time even when writing or reading processing from a plurality of client computers connected to the network is concentrated. .
2.クライアントコンピュータの構成
本発明にかかるネットワークファイル管理システムにおけるクライアントコンピュータのハードウェア構成について、図3を用いて説明する。クライアントコンピュータ2は、一般的なパーソナルコンピュータであり、CPU123、メモリ127、ハードディスク126、表示装置であるモニタ130、CD/DVDドライブなどの光学式ドライブ125、LANカード124、キーボード、マウスなどの入力デバイス132およびバスライン129を備えている。CPU123は、ハードディスク126に記憶された各プログラムにしたがいバスライン129を介して、各部を制御する。LANカード124は、ネットワーク接続されたデバイスサーバ5との間でデータ通信を行う。
2. Client computer configuration
A hardware configuration of a client computer in the network file management system according to the present invention will be described with reference to FIG. The
ハードディスク126は、オペレーティングシステム(OS)139、ネットワークドライバ148、LANカードドライバ149、仮想USBポートドライバ145、アプリケーションプログラム141、およびUSBストレージ用ドライバ142を有する。
The
本実施形態においては、OS139にマイクロソフト社のWindows(登録商標または商標)XPを採用したが、これに限定されるものではない。
In the present embodiment, Windows XP (registered trademark or trademark) XP of Microsoft Corporation is adopted as the
アプリケーションプログラム141は、一般的なアプリケーションソフト(たとえばワープロソフト)である。 The application program 141 is general application software (for example, word processing software).
接続管理プログラム147は、デバイスサーバ5より情報を取得し、接続可否を管理するプログラムである。仮想USBポートドライバ145、ネットワークドライバ148は、デバイスサーバ5(図2参照)との間で通信処理を行う。詳細については後述する。LANカードドライバ149はLANカード124用のドライバである。USBストレージ用ドライバ142はUSBストレージクラスドライバで、USB通信規格による通信を行う。
The
なお、本実施形態においては、上記各プログラムは光学式ドライブ125を介してハードディスクにインストールされたものであり、必要に応じてOSがメモリ127に展開して動作する。なお、光学式ドライブ以外に、フレキシブルディスク(FD)、ICカードなどのコンピュータ可読の記録媒体からプログラムをハードディスクにインストールさせてもよい。また、一切ハードディスクを使わず光学式ドライブから直接、メモリに展開しても良いし、フラッシュメモリなどにインストールしてもよいし、通信回線を用いてダウンロードするようにしてもよい。また、実行する際はメモリに展開するようになっているが、直接フラッシュメモリなどの不揮発性メモリ上で実行してもよいし、リモートプロシジャーコールのように通信回線を通じて他のコンピュータで実行させるようにしてもよい。コンピュータによって実行可能なプログラムとしては、これに限定されることなく、そのままインストールして直接実行可能なものはもちろん、一旦他の形態等に変換が必要なもの(例えば、データ圧縮されているものを、解凍する等)、さらには、他のモジュール部分と組合して実行可能なものも含む。
In the present embodiment, each of the above programs is installed in the hard disk via the
3.デバイスサーバの構成
図2に示すデバイスサーバ5のハードウェア構成について、図4を用いて説明する。図4は、CPUを用いて構成したデバイスサーバ5の構成の一例である。
3. Device server configuration
The hardware configuration of the
デバイスサーバ5は、CPU23、揮発性メモリ27、不揮発性メモリ26、インタフェース(I/F)28、LANカード24、表示・音声等出力部25,およびバスライン29を備えている。CPU23は、不揮発性メモリ26に記憶された各プログラムにしたがいバスライン29を介して、各部を制御する。
The
インタフェース28には、USBストレージ14が接続されている。
The
不揮発性メモリ26には、オペレーティングシステム(OS)39、USBポートドライバ43、ネットワークドライバ48、LANカードドライバ49、通信ドライバ45、サーバ側接続管理プログラム40、ストレージ制御プログラム44および接続機器情報テーブル42が記憶されている。
The
接続機器情報テーブル42には、接続される周辺機器についての情報が記憶されている。具体的にはベンダID、プロダクトID、インタフェースクラスID、デバイス名称などである。 The connected device information table 42 stores information about connected peripheral devices. Specifically, a vendor ID, product ID, interface class ID, device name, and the like.
USBポートドライバ43は、インタフェース28を介してUSBストレージ14との間でデータ伝送を行う。通信ドライバ45、ネットワークドライバ48は、LANカード24を介してクライアントコンピュータとの間でデータ伝送をおこなう。LANカードドライバ49はLANカード24用のドライバである。
The
サーバ側接続管理プログラム40、ストレージ制御プログラム44、通信ドライバ45,ネットワークドライバ48による処理については後述する。
Processing by the server side
なお、本実施形態においては、OS39として、Linux(登録商標または商標)の組み込み用のリアルタイムOSを使用したが、このOSに限らず、他のOSを用いることもできる。
In this embodiment, a Linux (registered trademark or trademark) embedded real-time OS is used as the
4.USBストレージのデータ構造
デバイスサーバ5に接続されたUSBストレージ14のデータ構造について図5を用いて簡単に説明する。USBストレージ14は、FAT16型のディスクフォーマットのデータ構造でデータが記録されている。USBストレージ14では、ディスク上の領域は、システム領域とデータ領域とに区別されて管理されている。システム領域は、FDC記述子およびシステム用領域、ファイル割当表(File Allocation Table(FAT))、ルートディレクトリの3つの部分で構成されている。
4). Data structure of USB storage
The data structure of the
FDC記述子およびシステム用領域は、固定長の領域管理情報である。この領域を参照することにより、ストレージのフォーマット情報、1クラスタのサイズがわかる。また、ファイル割当表およびルートディレクトリの開始アドレスおよびそのサイズがわかる。 The FDC descriptor and the system area are fixed-length area management information. By referring to this area, the storage format information and the size of one cluster can be known. In addition, the file allocation table and the start address and size of the root directory are known.
ファイル割当表 (FAT)は、ストレージの使用領域(クラスタの状態)を記憶しており、データ長は、可変長である。FATの各項目はクラスタ(データ本体)と1対1で対応しており、各クラスタの状態(空き・割り当て済み・欠陥クラスタ)が示される。また、次に続くクラスタの番号も記憶している。なおクラスタがそのファイルの最終クラスタについては、最終クラスタであることを示すフラグが記述されている。 The file allocation table (FAT) stores the storage use area (cluster status), and the data length is variable. Each item of FAT has a one-to-one correspondence with a cluster (data body), and the status of each cluster (free, allocated, defective cluster) is indicated. The number of the next cluster is also stored. Note that a flag indicating that the cluster is the last cluster is described for the last cluster of the file.
ルートディレクトリには各フォルダ、各ファイルの先頭クラスタ番号が記録されている。この先頭クラスタ番号を起点にして、FATをたどっていくことにより目的のファイルやディレクトリの内容を正しい順番で読み出すことができる。 In the root directory, the first cluster number of each folder and file is recorded. The contents of the target file or directory can be read out in the correct order by tracing the FAT starting from the head cluster number.
5.データ書き込み、読み出し処理について
本実施形態においては、デバイスサーバとUSBストレージ14間は、USB通信規格にてデータ通信が行われ、クライアントコンピュータとデバイスサーバ間は、TCP/IPにてデータ通信が行われる。
5). Data Write / Read Processing In this embodiment, data communication is performed between the device server and the
5.1 USB通信規格について
前提となるUSB通信規格による通信処理について説明する。デバイスサーバが介在せず、クライアントコンピュータとUSBストレージが直接接続されている場合、以下のようにしてデータの書き込み・読み出し処理が行われる。
5.1 USB Communication Standard A communication process based on the USB communication standard as a premise will be described. In the case where the client computer and the USB storage are directly connected without a device server, data write / read processing is performed as follows.
まず、読み出しの場合の概要について説明する。クライアントコンピュータは、1)領域管理情報を指定してUSBストレージに読み出しコマンドを送信する、2)FATおよびルートディレクトリ情報を指定してUSBストレージに読み出しコマンドを送信する、3)読み出し対象ファイルを指定して、USBストレージに読み出しコマンドを送信する、という3段階のステップによって実行される。なお、1)2)については、既に取得済みで、変更されていない場合には省略することもできる。 First, the outline in the case of reading will be described. The client computer 1) designates area management information and sends a read command to the USB storage, 2) designates FAT and root directory information and sends a read command to the USB storage, and 3) designates a file to be read. Then, it is executed by three steps of transmitting a read command to the USB storage. Note that 1) and 2) can be omitted if they have already been acquired and have not been changed.
上記領域管理情報の指定、FATおよびルートディレクトリ情報の指定、読み出し対象ファイルの指定は、ブロックヘッダとして、USBストレージに与えられる。かかるブロックヘッダには、その後の読み出し処理にて読み出されるデータの読み出し開始位置、ブロック長および、読み出し処理であることを示すフラグが含まれている。USBストレージは、かかるブロックヘッダを受け取ると、読み出しのための準備を行うとともに、クライアントコンピュータにACK信号を返す。クライアントコンピュータはかかるACK信号を受け取ると、読み出しコマンドを送信する。これにより、指定されたデータの読み出しが実行される。 The specification of the area management information, the specification of FAT and root directory information, and the specification of the read target file are given to the USB storage as a block header. Such a block header includes a read start position, a block length, and a flag indicating a read process of data read in the subsequent read process. When the USB storage receives such a block header, it prepares for reading and returns an ACK signal to the client computer. When the client computer receives such an ACK signal, it transmits a read command. Thereby, reading of the designated data is executed.
すなわち、クライアントコンピュータは、これから読み出すデータの特定情報を記述したブロックヘッダを送信し、ACK信号を受け取ると、読み出しコマンドを送信する。 That is, the client computer transmits a block header describing specific information of data to be read from now on, and upon receiving an ACK signal, transmits a read command.
なお、クライアントコンピュータは、読み出すデータのデータ長を把握していなければ読み出しができない。読み出し対象ファイルのデータ長は、ルートディレクトリおよびFAT情報から抽出でき、ルートディレクトリおよびFAT情報は、領域管理情報から抽出できる。領域管理情報において、データ長は固定長であり、記載されている位置も固定である。このように最初に読み出す情報は開始アドレスおよびデータ長を固定とすることにより、上記読み出しに必要な情報を把握できる。 The client computer cannot read data unless it knows the data length of the data to be read. The data length of the file to be read can be extracted from the root directory and FAT information, and the root directory and FAT information can be extracted from the area management information. In the area management information, the data length is a fixed length, and the described position is also fixed. As described above, the information to be read first can be grasped by fixing the start address and the data length, so that the information necessary for the reading can be grasped.
なお、上記読み出されるデータのデータ長は、1)領域管理情報については、固定長であり、かつ、データ長としては短いので、1回で読み出しできるが、2)FAT情報および3)読み出し対象ファイルについては、可変長であり、また、1回で読み出しできないほど、大きい場合もある。ここで、1回の読み出し処理の単位は、クラスタサイズなどにより所定のデータ長に決定される(以下、ブロックデータという)。したがって、1回の読み出し処理の単位を越える場合には、複数のブロックに分割されて読み出し処理がなされる。例えば、図6に示すようなデータがある場合、決定したブロック長で分割して読み出される。この場合、4つのブロックに分割され、上記3)読み出しファイルの読み出し処理が、4回繰り返される。このように、読み出されるデータはブロック単位で読み出される。 The data length of the data to be read is as follows: 1) The area management information is a fixed length, and the data length is short, so it can be read once, but 2) FAT information and 3) file to be read Is variable length and may be so large that it cannot be read out once. Here, the unit of one read process is determined to be a predetermined data length by the cluster size or the like (hereinafter referred to as block data). Therefore, when the unit of one reading process is exceeded, the reading process is performed by being divided into a plurality of blocks. For example, when there is data as shown in FIG. 6, the data is read by being divided by the determined block length. In this case, it is divided into four blocks, and the above-described 3) read file read processing is repeated four times. In this way, the read data is read in units of blocks.
つぎに、書き込み処理について説明する。書き込み処理の場合は、上記1)領域管理情報を指定し、読み出しコマンドを送信する、2)FAT情報を指定し、読み出しコマンドを送信する、までは同じであり、その後、3)書き込み位置およびブロックサイズを指定したブロックヘッダを送信した後、ACK信号を受けると、書き込み対象のブロックとともに書き込みコマンドを送信するという点が異なる。 Next, the writing process will be described. In the case of write processing, the above steps 1) specify area management information and transmit a read command, 2) specify FAT information, and transmit a read command are the same, and then 3) write position and block A difference is that when an ACK signal is received after transmitting a block header with a specified size, a write command is transmitted together with the block to be written.
上記5.1で説明したUSB通信規格でデータ伝送するためのデータ変換処理は、クライアントコンピュータのOS139およびUSBストレージ用ドライバ142にて行われる。
Data conversion processing for data transmission according to the USB communication standard described in 5.1 above is performed by the
5.2 データ書き込み、読み出し処理について
上記5.1では、USB通信規格でデータ伝送するためのデータ変換処理に注目して説明したが、実際には、クライアントコンピュータとUSBストレージ14の間には、デバイスサーバが介在しており、クライアントコンピュータとデバイスサーバ間では、TCP/IPによるネットワーク通信が行われる。かかるTCP/IPによる通信については、所定長のパケットに分割され、各パケットにはネットワークヘッダが付加されて、送受信される。TCP/IPによるネットワーク通信処理については、一般的な通信処理であるので、説明は省略する。かかるTCP/IPによるデータ処理は、ネットワークドライバ148が行う。
5.2 Data Write / Read Processing In 5.1 above, the data conversion processing for data transmission according to the USB communication standard has been described, but in reality, between the client computer and the
なお、仮想USBポートドライバ145および通信ドライバ45は、トンネリングヘッダの管理を行う。本実施形態においては、読み出しコマンド又は書き込みコマンドはトンネリングヘッダという領域に記載される。かかるコマンドは、最終的にはUSBストレージ14に転送されるが、デバイスサーバ5から繰り返し「DATAIN」コマンド(読み出しコマンド)を出す必要があるからである。また、かかるトンネリングヘッダに記述することにより、両者間でやり取りされるブロックデータと区別することもできる。
The virtual USB port driver 145 and the
以下では、
クライアントコンピュータ2から読み出し指令が与えられる場合の読み出し処理について説明する。
Below,
A read process when a read command is given from the
クライアントコンピュータ2の操作者は、接続管理プログラム147(図3参照)を起動する。接続管理プログラム147は、ネットワーク上のデバイスサーバを検索する。この場合、デバイスサーバ5が接続されているので、かかる検索要求があると、デバイスサーバ5のサーバ側接続管理プログラム40は、接続機器情報テーブル42を参照して、接続されているUSB機器のリストを接続管理プログラム147に送信する。クライアントコンピュータ2の接続管理プログラム147は、これを画面上にリスト表示する。この場合、USBストレージ14だけが接続されているので、リストにはUSBストレージ14が表示される。
The operator of the
クライアントコンピュータ2の操作者は、接続管理プログラム147のGUI(図示せず)上からUSBストレージ14への接続要求を行う。かかる要求は、接続管理プログラム147からサーバ側接続管理プログラム40へ送られる。サーバ側接続管理プログラム40は、接続すべきデバイスがUSBストレージ14であると特定されたので、USBストレージ14のコンフィギュレーション情報をクライアントコンピュータ2の仮想USBポートドライバ145へ送信する。コンフィグレーション情報とは、例えばデバイスディスクリプタ情報などのUSBデバイスの機能性を定義する情報であり、USBプラグアンドプレイのために用いられる情報である。
The operator of the
仮想USBポートドライバ145は、TCP/IPプロトコルを用いて、通信ドライバ45との間で論理接続を確立するとともに、クライアントコンピュータ2のUSBプラグアンドプレイ機構(図示せず)にコンフィギュレーション情報を与え、USBプラグアンドプレイ処理を行わせる。
The virtual USB port driver 145 establishes a logical connection with the
図7〜図11を用いて、クライアントコンピュータ2のOS139、USBストレージ用ドライバ142、仮想USBポートドライバ145(図3参照)による処理、およびデバイスサーバ5のストレージ制御プログラム44、通信ドライバ45、USBポートドライバ43(図4参照)による処理について説明する。
7 to 11, the processing by the
USBプラグアンドプレイ処理が完了すると、ファイルシステムネゴシエーション処理が開始される。クライアントコンピュータ2のUSBストレージ用ドライバ142は、仮想USBポートドライバ145(図3参照)を介してデバイスサーバの通信ドライバ45に対して、領域管理情報の取得要求のブロックヘッダを送る(図9ステップS101)。具体的には、領域管理情報は、開始アドレスおよびサイズは固定であるので、USBストレージ用ドライバ142は、かかる取得要求をブロックヘッダ情報にセットし、仮想USBポートドライバ145がトンネリングヘッダを付与して、ネットワークドライバ148に送る。ネットワークドライバ148は、図11Aに示すように、これにネットワークヘッダを付けてパケット送信する。
When the USB plug and play process is completed, the file system negotiation process is started. The USB storage driver 142 of the
デバイスサーバ5のネットワークドライバ48(図4参照)は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、トンネリングヘッダ、およびブロックヘッダ情報を、通信ドライバ45(図4参照)に渡す。通信ドライバ45は、トンネリングヘッダを読み取るとともに、ブロックヘッダをストレージ制御プログラム44に渡す。
The network driver 48 (see FIG. 4) of the
ストレージ制御プログラム44は、与えられたデータがブロックヘッダであるか否か判断する(図7ステップS3)。この場合、ブロックヘッダであるので、ストレージ制御プログラム44は、他のクライアントコンピュータによる排他制御中か否か判断する(ステップS5)。この場合、他のクライアントコンピュータによる排他制御中ではないので、ストレージ制御プログラム44は、排他制御フラグをセットし、排他制御を開始する。(ステップS9)。
The
ストレージ制御プログラム44は、ブロックヘッダに記述されているデータ長を抽出し、これから伝送されるブロックのデータ長を記憶する(ステップS11)。ここでは領域管理情報のサイズが抽出される。ストレージ制御プログラム44は、USBポートドライバ43によって、ブロックヘッダをUSBストレージ14へ送信する(ステップS13)。 これを受けて、USBストレージ14からヘッダ情報を受信した旨の信号(ACK信号)が返信されると、ストレージ制御プログラム44は、この信号を、通信ドライバ45およびネットワークドライバ48を用いてクライアントコンピュータ2へ返信する(ステップS15)。
The
これにより、デバイスサーバは、再びパケット受信待ち状態となる(ステップS1)。 As a result, the device server again enters a packet reception waiting state (step S1).
一方、クライアントコンピュータ2の仮想USBポートドライバ145(図3参照)は、NAK信号またはACK信号を受信するか否か判断している(図9ステップS103)。この場合、ACK信号が返信されるので、USBストレージ用ドライバ142へACK信号であることを伝え、USBストレージ用ドライバ142は、読み出しコマンドを送信する(ステップS105)。具体的には、以下の処理が行われる。
On the other hand, the virtual USB port driver 145 (see FIG. 3) of the
USBストレージ用ドライバ142は、「DATAIN」コマンドを仮想USBポートドライバ145へ渡す。仮想USBポートドライバ145はパケットのトンネリングヘッダに「DATAIN」コマンドの設定を行う。そして読み出しするデータのデータサイズを決定し、これをトンネリングヘッダに追記する。かかるデータは、ネットワークドライバ148により、ネットワークヘッダが付加されて、デバイスサーバ5へ送信される。この場合のデータの構造を図11Bに示す。トンネリングヘッダにデータサイズを追記しているのは、後述するように、読み出しコマンドを繰り返す必要があるからである。
The USB storage driver 142 passes the “DATAIN” command to the virtual USB port driver 145. The virtual USB port driver 145 sets a “DATAIN” command in the tunneling header of the packet. Then, the data size of the data to be read is determined, and this is added to the tunneling header. Such data is transmitted to the
デバイスサーバ5のネットワークドライバ48(図4参照)は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、データを、通信ドライバ45に渡す。ストレージ制御プログラム44は、通信ドライバ45から受け取ったパケットの中味が、ブロックヘッダであるかどうかを判断する(図7ステップS3)。この場合、与えられたデータは、読み出しコマンドおよびそのデータ長が記述されたトンネリングヘッダである。よって、ブロックヘッダではないので、ストレージ制御プログラム44は、かかるデータが、既に受信しているブロックヘッダを送信してきたクライアントコンピュータからのデータであるか否かを判断する(図8ステップS21)。ステップS21における判断は、たとえばネットワークヘッダに記述されたクライアントコンピュータのIPアドレス等を参照すればよい。
The network driver 48 (see FIG. 4) of the
ここでは、受け取ったデータは、ブロックヘッダを送信したクライアントコンピュータからのものであるので、ストレージ制御プログラム44は、トンネリングヘッダの設定が「DATAIN」か「DATAOUT」かを判断する(ステップS23)。この場合、「DATAIN」であるので、ストレージ制御プログラム44は、USBストレージ14宛に「DATAIN」コマンドを送信する命令を、USBポートドライバ43に行う(ステップS25)。
Here, since the received data is from the client computer that transmitted the block header, the
USBストレージ14は、「DATAIN」コマンドを受信すると、既にブロックヘッダによって指定された先頭アドレスとサイズのデータをデバイスサーバ5送信する。
When the
デバイスサーバ5のストレージ制御プログラム44は、かかるデータを受信すると、指定されたデータ量を全て受信したか否か判断する(ステップS26)。これは、USB通信規格によると、1回の「DATAIN」コマンドで取得できるサイズが定められているからである。ここでは、1回の「DATAIN」コマンドで取得できたものとする。
When receiving the data, the
なお、ストレージ制御プログラム44は、トンネリングヘッダに指定されたデータサイズ分のデータを受信していない場合には、USBポートドライバ43を介して「DATAIN」コマンドをUSBストレージ14に与える。(ステップS25)。
Note that the
ストレージ制御プログラム44は、受信した領域管理情報を通信ドライバ45へ渡す。通信ドライバ45は、これにトンネリングヘッダを付加し、ネットワークドライバ48に渡す。ネットワークドライバ48は、これにネットワークヘッダを付加し、クライアントコンピュータ2に送信する(ステップS27)。この場合のデータ構造を図11Cに示す。
The
ストレージ制御プログラム44は、ブロックヘッダに記載されたデータ長のサイズを処理したかどうかを判断する(図8ステップS29)。ブロックヘッダに記載されたデータ長と一致すると判断した場合には、ストレージ制御プログラム44は、排他制御フラグをリセットして、排他制御を終了する(ステップS31)。この場合、領域管理情報は一回のやりとりで完了できるサイズであるので、ブロックヘッダに記載されたデータ長の処理が完了したと判断されて、排他制御は終了する。
The
なお、当然のことながら、トンネリングヘッダ中に記述されていたデータ(「DATAIN」や読み出しデータのデータ量など)については、かかるブロックヘッダに記載されたデータ長には含まれない。 As a matter of course, the data described in the tunneling header (such as “DATAIN” and the amount of read data) is not included in the data length described in the block header.
このようにして、領域管理情報が読み出される。 In this way, the area management information is read out.
つぎに、クライアントコンピュータ2のOS139は、ファイル管理テーブルおよびルートディレクトリを、読み出し対象データとして決定する(図9ステップS111)。そして、読み出し処理を行う(ステップS113)。ステップS113の処理について、図10を用いて説明する。
Next, the
まず、USBストレージ用ドライバ142は、図9ステップS109にて記憶した領域管理情報に基づいて、1ブロックの大きさを決定する(図10ステップS121)。以下では、ファイル管理テーブルおよびルートディレクトリは1のブロックで伝送可能で、かつ3つのパケットで伝送される場合を例に説明する。 First, the USB storage driver 142 determines the size of one block based on the area management information stored in step S109 in FIG. 9 (step S121 in FIG. 10). In the following, a case where the file management table and the root directory can be transmitted in one block and is transmitted in three packets will be described as an example.
USBストレージ用ドライバ142は、処理対象ブロック番号iを初期化し(ステップS123)、仮想USBポートドライバ145に読み出し対象データの取得要求のブロックヘッダを送信するよう命令する。仮想USBポートドライバ145は、読み出し対象データのブロックヘッダを送信する(ステップS125)。 The USB storage driver 142 initializes the processing target block number i (step S123), and instructs the virtual USB port driver 145 to transmit the block header of the read target data acquisition request. The virtual USB port driver 145 transmits the block header of the read target data (step S125).
デバイスサーバ5の通信ドライバ45は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、トンネリングヘッダ、およびブロックヘッダ情報を、通信ドライバ45に渡す。通信ドライバ45は、トンネリングヘッダを読み取るとともに、ブロックヘッダをストレージ制御プログラム44に渡す。
The
ストレージ制御プログラム44は、与えられたデータがブロックヘッダであるか否か判断する(ステップS3)。この場合、ブロックヘッダであるので、ストレージ制御プログラム44は、他のクライアントコンピュータによる排他制御中か否か判断する(ステップS5)。この場合、他のクライアントコンピュータによる排他制御中ではないので、ストレージ制御プログラム44は、排他制御フラグをセットし、排他制御を開始する。(ステップS9)。
The
なお、ステップS9〜ステップS15の処理は、領域管理情報の場合と同様である。 Note that the processing in steps S9 to S15 is the same as in the case of area management information.
一方、クライアントコンピュータ2の仮想USBポートドライバ145は、NAK信号またはACK信号を受信するか否か判断している(図10ステップS127)。この場合、ACK信号が返信されるので、USBストレージ用ドライバ142へACK信号であることを伝え、USBストレージ用ドライバ142は、読み出しコマンドを送信する。仮想USBポートドライバ145は、処理対象パケット番号jを初期化し(ステップS129)、j番目のパケットについて、読み出し命令である「DATAIN」を送信する(ステップS131)。具体的には、仮想USBポートドライバ145に、j番目のパケットについて「DATAIN」を渡す。仮想USBポートドライバ145、ネットワークドライバ148はかかる命令を受けて、領域管理情報の場合と同様にして読み出しコマンドを送信する。
On the other hand, the virtual USB port driver 145 of the
一方、デバイスサーバ5のネットワークドライバ48は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、データを、通信ドライバ45に渡す。ストレージ制御プログラム44は、パケットがヘッダ情報であるかどうかを判断する(図7ステップS3)。この場合、与えられたデータは、読み出しコマンドおよびそのデータ長が記述されたトンネリングヘッダでありブロックヘッダではないので、ストレージ制御プログラム44は、既に受信しているブロックヘッダを送信してきたクライアントコンピュータからのデータであるか否かを判断する(図8ステップS21)。
On the other hand, the network driver 48 of the
ここでは、ブロックヘッダを送信したクライアントコンピュータからのデータであるので、ストレージ制御プログラム44は、トンネリングヘッダの設定が「DATAIN」か「DATAOUT」かを判断する(ステップS23)。この場合、「DATAIN」であるので、領域管理情報の場合と同様にして、USBストレージ14宛にかかる「DATAIN」コマンドが転送され、指定されたデータ量となるまで、かかる処理が繰り返される(ステップS25、ステップS26)。
Here, since it is data from the client computer that transmitted the block header, the
USBストレージ14は、領域管理情報の場合と同様にして、既にブロックヘッダによって指定された先頭アドレスとサイズのデータをデバイスサーバ5送信する。
The
ストレージ制御プログラム44(図4参照)は、受信したファイル管理テーブルおよびルートディレクトリ情報を、領域管理情報の場合と同様にして、クライアントコンピュータ2に送信する(図8ステップS27)。
The storage control program 44 (see FIG. 4) transmits the received file management table and root directory information to the
ストレージ制御プログラム44は、ブロックヘッダに記載されたデータ長のサイズを処理したかどうかを判断する(ステップS29)。この場合、ブロックヘッダに記載されたデータ長と一致しないので、ストレージ制御プログラム44は、図7のステップS1の処理に戻る。
The
一方、クライアントコンピュータ2の仮想USBポートドライバ145(図3参照)は、読み出しデータを受信するか否か判断している(図10ステップS133)。この場合、1番目のパケットについての読み出しデータが返信されるので、仮想USBポートドライバ145は、1番目のブロックについて全パケット受信完了したか否か判断する(ステップS135)。全パケットを受信したか否かは、従来と同様に、読み出し対象データのデータ量に応じていくつのパケットで受信できるかを把握しているので、これと比較すればよい。
On the other hand, the virtual USB port driver 145 (see FIG. 3) of the
この場合、全パケットを受信していないので、仮想USBポートドライバ145は、処理パケット番号をインクリメントする(ステップS137)。そして、2番目のパケットについて、ステップS131の処理を行う。 In this case, since all packets have not been received, the virtual USB port driver 145 increments the processing packet number (step S137). Then, the process of step S131 is performed for the second packet.
以下、仮想USBポートドライバ145は、1番目のパケットと同様にして、2番目、3番目のパケットを受信する。 Thereafter, the virtual USB port driver 145 receives the second and third packets in the same manner as the first packet.
クライアントコンピュータ2の仮想USBポートドライバ145は、3番目のパケットを受信すると、全パケットを受信したと判断して、USBストレージ用ドライバ142へ伝え、ステップS135からステップS139に進む。この場合、1ブロックで送れる場合であるので、USBストレージ用ドライバ142は、全ブロックについて完了したと判断して、読み込み処理は完了する。
When the virtual USB port driver 145 of the
なお、複数のブロックで送る場合には、ステップS141に進み、処理ブロック番号をインクリメントし、ステップS125以下の処理を繰り返せばよい。 In the case of sending in a plurality of blocks, the process proceeds to step S141, the process block number is incremented, and the process from step S125 onward is repeated.
一方、デバイスサーバ5のストレージ制御プログラム44(図4参照)は、3番目のパケットを送ったあと、ステップS29にて、受信量が記憶したデータ量一致すると判断し、排他制御を解除する(図8ステップS31)。
On the other hand, after sending the third packet, the storage control program 44 (see FIG. 4) of the
このようにして、ファイル管理テーブルおよびルートディレクトリ情報が読み出される。 In this way, the file management table and root directory information are read out.
同様にして、ファイル管理テーブルおよびルートディレクトリ情報を参照して、対応するファイルが読み出される。 Similarly, the corresponding file is read with reference to the file management table and the root directory information.
書き込みの場合のフローチャートを図12、13に示す。図12に示すステップS201〜ステップS213までは、データ読み出し時の図9ステップS101〜ステップS113と同様である。ステップS215にて、指定されたファイルを書き込み対象として決定し、ステップS217にてFAT情報およびルートディレクトリ情報を更新し、ステップS219にて書き込み処理をする点が異なる。 Flow charts for writing are shown in FIGS. Steps S201 to S213 shown in FIG. 12 are the same as steps S101 to S113 in FIG. The difference is that the designated file is determined as a writing target in step S215, the FAT information and the root directory information are updated in step S217, and the writing process is performed in step S219.
ステップS217の更新処理は、図9における読み出し処理とほぼ同じである。まず、図13のステップS221〜ステップS229については、図9ステップS121〜ステップS129と同様である。ただし、ステップS225では、書き込み対象データの取得要求のブロックヘッダが送信される点が異なる。 The update process in step S217 is substantially the same as the read process in FIG. First, Steps S221 to S229 in FIG. 13 are the same as Steps S121 to S129 in FIG. However, the difference is that the block header of the acquisition request for the write target data is transmitted in step S225.
また、ステップS231にて、書き込みコマンドだけでなく、書き込み対象のデータが送信される点が異なる。書き込み対象のデータが送信される場合のデータ構造を図11Dに示す。このようにトンネリングヘッダに「DATAOUT」コマンド(書き込みコマンド)が書き込まれ、書き込み対象データがその後に付与されている。 Further, in step S231, not only the write command but also the data to be written is transmitted. FIG. 11D shows the data structure when the data to be written is transmitted. In this way, the “DATAOUT” command (write command) is written in the tunneling header, and the write target data is given thereafter.
かかるデータを受け取ると、デバイスサーバ5のストレージ制御プログラム44(図4参照)は、図7ステップS1、ステップS3から、図8ステップS21を経て、トンネリングヘッダの設定が「DATAOUT」であるか否か判断する(図8ステップS23)。この場合、トンネリングヘッダの設定は「DATAOUT」であるので、USBストレージ14宛に「DATAOUT」コマンドとともに、書き込み対象データを送る(ステップS35)。ストレージ制御プログラム44は、USBストレージ14にすべてのデータを送信したか否か判断している(ステップS36)。全てのデータを送信すると、ストレージ制御プログラム44は、クライアントコンピュータ3へACK信号を送信する(ステップS37)。
Upon receiving such data, the storage control program 44 (see FIG. 4) of the
クライアントコンピュータ3の仮想USBポートドライバ145は、ACK信号を受信するか否か判断している(図13ステップS233)。ACK信号を受け取った後の、ステップS235〜ステップS241の処理は読み出しの場合と同様であるので説明は省略する。 The virtual USB port driver 145 of the client computer 3 determines whether or not to receive an ACK signal (step S233 in FIG. 13). Since the processing from step S235 to step S241 after receiving the ACK signal is the same as that in the case of reading, description thereof will be omitted.
このようにして、FAT情報およびルートディレクトリ情報が更新される。その後、クライアントコンピュータ3のOS139(図3参照)は、書き込み処理を行う(図12ステップS219)ステップS219の書き込み処理は、ステップS217と同様であるので説明は省略する。このようにして、書き込み処理が実行される。 In this way, the FAT information and the root directory information are updated. Thereafter, the OS 139 (see FIG. 3) of the client computer 3 performs a writing process (step S219 in FIG. 12). Since the writing process in step S219 is similar to step S217, the description thereof is omitted. In this way, the writing process is executed.
5.3 競合した場合の処理
なお、上記処理にて、デバイスサーバ5は、あるクライアントコンピュータからブロックヘッダのパケットを受信した時、現在、他のクライアントコンピュータによって、排他制御中か否か判断し、該当する場合には、NAK信号をブロックヘッダのパケットを送信したクライアントコンピュータに返信する。かかる排他制御は、ブロックヘッダで指定されたデータ長のデータを伝送する間繰り返される。前記NAK信号を受け取ったクライアントコンピュータは、前記ブロックヘッダのパケットを再送する。
5.3 Processing in case of conflict In the above processing, when the
すなわち、各クライアントコンピュータは、他のクライアントコンピュータによる排他制御中でない時に、ブロックヘッダパケットを受信させることができれば、当該ブロックヘッダで指定されたデータ長のデータを送る間はデバイスサーバ5を専有することができる。これにより、ブロック単位の排他制御が可能となる。
That is, if each client computer can receive a block header packet when it is not under exclusive control by other client computers, it occupies the
このような2台のクライアントコンピュータ間におけるブロック単位の排他制御について図14を用いて説明する。図14は、排他制御していない状況で、2台のクライアントコンピュータから読み出し要求がなされた場合の処理を示すシーケンスチャートである。 Such block exclusive control between two client computers will be described with reference to FIG. FIG. 14 is a sequence chart showing processing when a read request is made from two client computers in a situation where exclusive control is not performed.
具体的には、クライアントコンピュータ2による排他制御が開始され、その後、クライアントコンピュータ3からブロックヘッダが送信された場合の処理を示す図である。
Specifically, it is a diagram showing processing when exclusive control by the
クライアントコンピュータ2は、ブロックヘッダ情報をデバイスサーバ5に送信する(図14ステップC1)。デバイスサーバ5はこれを受けて、排他制御を開始するとともに(ステップC2)、ブロックヘッダ情報から、引き続き送られてくるデータブロックのデータ長を抽出する(ステップC3)。デバイスサーバ5はUSBストレージ14にブロックヘッダ情報を送信する(ステップC4)。デバイスサーバ5は、USBストレージ14から受け取った結果をクライアントコンピュータ2に返信する。
The
そのあと、クライアントコンピュータ3がブロックヘッダ情報をデバイスサーバ5に送信すると(ステップC6)、デバイスサーバ5は排他制御中であるか否か判断し、この場合、クライアントコンピュータ2による排他制御中であるので、NAK信号を返す(ステップC7)。クライアントコンピュータ3は、NAK信号を受け取ったので、ブロックヘッダ情報をデバイスサーバ5に再送する(ステップC8)。かかるブロックヘッダ情報を受け取ると、デバイスサーバ5は排他制御中であるか否か判断し、クライアントコンピュータ2による排他制御中であるので、NAK信号を返す(ステップC9)。
Thereafter, when the client computer 3 transmits the block header information to the device server 5 (step C6), the
一方、クライアントコンピュータ2は、読み出し命令をデバイスサーバ5に送信する。デバイスサーバ5は、これをUSBストレージ14に送る。USBストレージ14からデバイスサーバ5を介して、クライアントコンピュータ2にデータが送られる(ステップC10、ステップC11)。
On the other hand, the
デバイスサーバ5は、ステップC1で送信されたブロックヘッダで特定されるデータ量のデータ伝送が完了すると、排他制御を終了する(ステップC12)。この状態で、クライアントコンピュータ3がブロックヘッダ情報をデバイスサーバ5に送信すると(ステップC13)、デバイスサーバ5は排他制御を開始し(ステップC14)、ブロックヘッダ情報からデータ長を抽出する(ステップC15)。以下同様にして、ブロックヘッダ情報の送信、結果送信が行われる(ステップC16、ステップC17)。
When the data transmission of the data amount specified by the block header transmitted in step C1 is completed, the
図14では読み出し処理が競合した場合について説明したが、読み出し処理と書き込み処理、書き込み処理同士が競合した場合も同様に、ブロック単位で排他制御が行うことができる。 Although FIG. 14 illustrates the case where the read processing conflicts, exclusive control can be performed on a block-by-block basis when the read processing, the write processing, and the write processing conflict.
このようにブロック単位で排他制御が行われることにより、複数のクライアントコンピュータからの伝送処理の要求が競合した場合でも、無駄な空白期間が発生することを防止できる。よって、USBストレージのように、ネットワーク機能を有しておらず、あるクライアントコンピュータが読み出し又は書き込みをしている場合には、当該ファイルへの書き込み・読み出しを行っている間中、当該コンピュータに専有される方式の記憶媒体であっても、ネットワークに接続して、無駄な空き時間がなく書き込みまたは読み出し処理が可能となる。 By performing exclusive control in units of blocks in this way, it is possible to prevent useless blank periods from occurring even when transmission request requests from a plurality of client computers compete. Therefore, when there is no network function like a USB storage and a client computer is reading or writing, it is dedicated to that computer while writing to and reading from the file. Even a storage medium of the above type can be connected to a network and can perform writing or reading processing without wasted time.
7.他の実施形態
上記実施形態においては、ストレージ機器としてUSBストレージを採用した場合について説明したが、ストレージ機器であれば、これに限定されない。
7). Other embodiments
In the above embodiment, the case where the USB storage is adopted as the storage device has been described. However, the storage device is not limited to this as long as it is a storage device.
また、USB規格に限定されず、例えばIEEE1394規格であってもよい。要するに、あるコンピュータがデータの読み書きを行っている場合は、処理が終了するまで専有する通信規格であればどのようなものであってもよい。 Further, the present invention is not limited to the USB standard, and may be, for example, the IEEE 1394 standard. In short, when a certain computer reads and writes data, any communication standard may be used as long as it is exclusive until the processing is completed.
また、本実施形態においては、デバイスサーバ5にUSBストレージ14が一台だけ接続されている場合について説明したが、デバイスサーバには他のUSB機器を接続することもできる。デバイスサーバは、クライアントコンピュータから接続機器情報の要請があった場合には、USBストレージ機器以外のUSB機器については、現在他のクライアントコンピュータが使用中である場合には、当該使用中の処理が完了しない限り、2台のクライアントコンピュータから同時使用はできない。したがって、従来と同様に、”現在使用中であるので使用できません”という旨の報知表示等を行えばよい。
In the present embodiment, the case where only one
本実施形態においては、FAT16型のディスクフォーマットを例として説明したが、他のディスクフォーマットの場合も同様に適用できる。 In the present embodiment, the FAT16 type disk format has been described as an example, but the present invention can be similarly applied to other disk formats.
上記実施形態の説明では、図2に示す機能を実現する為に、CPUを用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。 In the description of the above embodiment, the CPU is used to realize the functions shown in FIG. 2, and this is realized by software. However, some or all of them may be realized by hardware such as a logic circuit.
本実施形態においては、デバイスサーバに新たな制御プログラムをインストールするだけで、クライアントコンピュータについては従来のデバイスサーバの制御プログラムを変更する必要はない。また、上記処理を実行するために、複数のドライバなどを用いて処理する場合について説明したが、これらをまとめるようにしてもよい。 In this embodiment, it is not necessary to change the control program of the conventional device server for the client computer only by installing a new control program in the device server. Moreover, although the case where it processed using a some driver etc. in order to perform the said process was demonstrated, these may be put together.
なお、上記プログラムの一部の処理をオペレーティングシステム(OS)にさせるようにしてもよい。 In addition, you may make it make an operating system (OS) process a part of said program.
1・・・・・・・・・ネットワークファイル管理システム
2・・・・・・・・・クライアントコンピュータ
3・・・・・・・・・クライアントコンピュータ
4・・・・・・・・・クライアントコンピュータ
5・・・・・・・・・デバイスサーバ
14・・・・・・・・・USBストレージ
DESCRIPTION OF
Claims (4)
B)複数のクライアントコンピュータ、
C)前記USBストレージ機器と前記複数のクライアントコンピュータとをネットワーク接続するUSBデバイスサーバ、
を備え、
D)前記各クライアントコンピュータと前記USBストレージ機器との間では、1のファイルを前記USBストレージ機器の記録部のクラスタサイズに基づいて決定されるデータ長のブロックに分割してブロックデータとしてファイル伝送処理が行われ、
E)前記各クライアントコンピュータは、
e1)前記USBストレージ機器との間で前記ブロックデータの伝送を行う前に、伝送対象のブロックデータのデータ長を含むヘッダデータを前記USBデバイスサーバを介して前記USBストレージ機器に送信し、
e2)前記USBデバイスサーバを介して前記USBストレージ機器から前記ヘッダデータを受け取ったことを示す返答データを受け取ると、前記USBストレージ機器との間で前記ブロックデータのデータ伝送を開始し、
e3)前記USBデバイスサーバからNAK信号を受け取ると同じデータを再度、前記USBストレージ機器へ送るために前記USBデバイスサーバへ送り、
F)前記USBデバイスサーバは、前記いずれかのクライアントコンピュータによるデータ伝送専有状態では、当該クライアントコンピュータから前記USBストレージ機器へのデータが与えられるとこれを前記USBストレージ機器へ与え、前記USBストレージ機器から当該クライアントコンピュータへのデータが与えられるとこれを当該クライアントコンピュータへ与える、
G)ネットワークファイル管理システムであって、
H)前記USBデバイスサーバは、
h1)特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、
h2)前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータにNAK信号を返信し、
h3)前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに前記USBストレージ機器にそのヘッダデータを送信し、
h4)前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記USBストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除すること、
を特徴とするネットワークファイル管理システム。 A) USB storage device,
B) Multiple client computers,
C) a USB device server for connecting the USB storage device and the plurality of client computers via a network;
With
D) Between each of the client computers and the USB storage device, one file is divided into blocks having a data length determined based on the cluster size of the recording unit of the USB storage device, and file transmission processing is performed as block data. Is done,
E) Each of the client computers
e1) Before transmitting the block data to and from the USB storage device, send header data including the data length of the block data to be transmitted to the USB storage device via the USB device server,
e2) Upon receiving response data indicating that the header data has been received from the USB storage device via the USB device server, the block data transmission to the USB storage device is started.
e3) Upon receipt of the NAK signal from the USB device server, the same data is sent again to the USB device server for sending to the USB storage device,
F) In the data transmission exclusive state by any one of the client computers, the USB device server gives data to the USB storage device when data is given from the client computer to the USB storage device. Given data to the client computer, give it to the client computer,
G) A network file management system,
H) The USB device server
h1) Given header data including the data length of the block data to be transmitted from a specific client computer, it is determined whether or not it is currently in a data transmission exclusive state by another client computer,
h2) If the data transmission is exclusive by the other client computer, a NAK signal is returned to the specific client computer that transmitted the block data,
h3) If the data transmission is not exclusively performed by the other client computer, the data transmission is exclusively performed by the specific client computer and the header data is transmitted to the USB storage device.
h4) After the data transmission exclusive state for the specific client computer, it is determined whether block data having a data length specified by the header data is transmitted between the specific client computer and the USB storage device. And, if transmitted, cancel the data transmission exclusive state,
A network file management system.
B)前記各クライアントコンピュータと前記USBストレージ機器との間では、1のファイルを前記USBストレージ機器の記録部のクラスタサイズに基づいて決定されるデータ長のブロックに分割してブロックデータとしてファイル伝送処理が行われ、
C)前記各クライアントコンピュータは、
c1)前記USBストレージ機器との間で前記ブロックデータの伝送を行う前に、伝送対象のブロックデータのデータ長を含むヘッダデータを前記USBデバイスサーバを介して前記USBストレージ機器に送信し、
c2)前記USBデバイスサーバを介して前記USBストレージ機器から前記ヘッダデータを受け取ったことを示す返答データを受け取ると、前記USBストレージ機器との間で前記ブロックデータのデータ伝送を開始し、
c3)前記USBデバイスサーバからNAK信号を受け取ると同じデータを再度、前記USBストレージ機器へ送るために前記USBデバイスサーバへ送り、
D)前記いずれかのクライアントコンピュータによるデータ伝送専有状態では、当該クライアントコンピュータから前記USBストレージ機器へのデータが与えられるとこれを前記USBストレージ機器へ与え、前記USBストレージ機器から当該クライアントコンピュータへのデータが与えられるとこれを当該クライアントコンピュータへ与える、
E)USBデバイスサーバにおいて、
F)特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、
G)前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータにNAK信号を返信し、
H)前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記USBストレージ機器にそのヘッダデータを送信し、
I)前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記USBストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除すること、
を特徴とするUSBデバイスサーバ。 A) A USB device server for connecting a USB storage device and a plurality of client computers over a network,
B) Between each of the client computers and the USB storage device, one file is divided into blocks having a data length determined based on the cluster size of the recording unit of the USB storage device, and file transmission processing is performed as block data. Is done,
C) Each client computer
c1) Before transmitting the block data to and from the USB storage device, send header data including the data length of the block data to be transmitted to the USB storage device via the USB device server,
c2) Upon receiving response data indicating that the header data has been received from the USB storage device via the USB device server, the block data data transmission to the USB storage device is started.
c3) Upon receiving a NAK signal from the USB device server, the same data is sent again to the USB device server to send it to the USB storage device,
D) In a data transmission exclusive state by any one of the client computers, when data is given from the client computer to the USB storage device, it is given to the USB storage device, and data from the USB storage device to the client computer is given. Is given to the client computer,
E) In the USB device server,
F) When header data including the data length of the block data to be transmitted is given from a specific client computer, it is determined whether or not the data transmission is currently occupied by another client computer.
G) If it is in a state exclusively used for data transmission by the other client computer, a NAK signal is returned to the specific client computer that transmitted the block data,
H) If the data transmission is not exclusively performed by the other client computer, the data transmission is exclusively performed by the specific client computer, and the header data is transmitted to the USB storage device.
I) Whether or not block data having a data length specified by the header data has been transmitted between the specific client computer and the USB storage device after the specific client computer is in a data transmission exclusive state. And, if transmitted, cancel the data transmission exclusive state,
USB device server characterized by
B)前記第2接続口に接続され、ストレージ機器伝送手段との間のデータ伝送を制御する制御手段、
C)単一のクライアントコンピュータとの間でデータの書き込みまたは読み出しが可能なストレージ機器とデータ伝送するストレージ機器伝送手段を備え、
D)前記制御手段は、以下の手段を有すること、
d1)データ転送モードでは、以下の転送を行う転送手段、
d1-1)前記ネットワークデータ伝送手段の第2接続口から、データ転送をする対象であるクライアントコンピュータからのデータが与えられると、これを前記ストレージ機器伝送手段に与える、
d1-2)前記ストレージ機器伝送手段から返答データが与えられると、前記データ転送をする対象であるクライアントコンピュータに伝送するように前記ネットワークデータ伝送手段の第2接続口に与える、
d2)前記ネットワークデータ伝送手段の第2接続口から、特定クライアントコンピュータのブロックデータのデータ長を表すヘッダデータが与えられると、前記転送手段がいずれかのクライアントコンピュータデータによる転送モードであるか否か判断する判断手段、
d3)前記判断手段の判断結果に応じて、以下の処理を行う伝送制御手段、
d3-1)前記転送手段が、前記ヘッダデータを送信したクライアントコンピュータ以外のクライアントコンピュータによるデータ転送モードである場合には、当該ヘッダデータを送信したクライアントコンピュータに不成立信号を返信させる、
d3-2)前記転送手段がいずれのクライアントコンピュータによるデータ転送モードでもない場合には、以下の処理を行う、
d3-2-1)前記転送手段を前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードとするとともに、前記ヘッダデータを、前記伝送手段によって前記ストレージ機器伝送手段へ伝送させる、
d3-2-2)前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードになってから、前記ヘッダデータを送信したクライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する、
を特徴とするデバイスサーバ。 A) having a first connection port for inputting / outputting transmission target data encapsulated by the encapsulation rule defined by the network transmission protocol, and a second connection port for inputting / outputting unencapsulated transmission target data; When the encapsulated data to be transmitted is given from any client computer connected to the first connection port via a network, the data is unencapsulated and output from the second connection port. A network transmission means for performing the encapsulation and transmitting the data to the designated destination when given non-encapsulated transmission target data with the designated destination;
B) Control means connected to the second connection port for controlling data transmission with the storage device transmission means,
C) A storage device capable of writing or reading data with a single client computer and a storage device transmission means for transmitting data.
D) The control means includes the following means:
d1) In the data transfer mode, transfer means that performs the following transfer:
d1-1) When the data from the client computer that is the object of data transfer is given from the second connection port of the network data transmission means, the data is given to the storage device transmission means.
d1-2) When response data is given from the storage device transmission means, it is given to the second connection port of the network data transmission means so as to be transmitted to the client computer to which the data is transferred.
d2) When header data indicating the data length of the block data of the specific client computer is given from the second connection port of the network data transmission means, whether or not the transfer means is in a transfer mode by any client computer data Judgment means to judge,
d3) Transmission control means for performing the following processing according to the determination result of the determination means,
d3-1) When the transfer means is in a data transfer mode by a client computer other than the client computer that transmitted the header data, the client computer that transmitted the header data returns a failure signal.
d3-2) If the transfer means is not in a data transfer mode by any client computer, perform the following processing:
d3-2-1) The transfer unit is set to a data transfer mode by the client computer that has transmitted the header data, and the header data is transmitted to the storage device transmission unit by the transmission unit.
d3-2-2) For the transmission target data exchanged between the client computer that transmitted the header data and the storage device after entering the data transfer mode by the client computer that transmitted the header data, the header data Determining whether or not block data having a data length specified in (1) is transmitted, and canceling the data transfer mode if transmitted.
A device server characterized by
B)前記各クライアントコンピュータと前記ストレージ機器との間では、1のファイルを複数のブロックに分割したブロックデータとして伝送処理が行われ、
C)前記各クライアントコンピュータは、以下のc1)〜c3)の処理にて前記ストレージ機器との間で前記ブロックデータの伝送を行うファイル伝送方法において、
c1)伝送対象のブロックデータのデータ長を含むヘッダデータを前記ストレージ機器に送信し、
c2)その後、前記ストレージ機器から前記ヘッダデータを受け取ったことを示す返答データを受け取ると、前記ブロックデータのデータ伝送を開始し、
c3)不成立信号を受け取ると同じデータを再度、前記ストレージ機器へ送る、
D)前記ストレージ機器と前記複数のクライアントコンピュータとの間に設けたデバイスサーバに、以下の処理を実行させること、
d1)特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断する、
d2)前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信する、
d3)前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記ストレージ機器にそのヘッダデータを送信する、
d4)与えられた転送データが、データ伝送専有状態とした前記特定のクライアントコンピュータと前記ストレージ機器間のデータ伝送であれば、これを転送する、
d5)前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する、
を特徴とするファイル伝送方法。 A) A method of transmitting files from a plurality of client computers to a storage device capable of writing or reading data,
B) Transmission processing is performed between each client computer and the storage device as block data obtained by dividing one file into a plurality of blocks,
C) In the file transmission method in which each of the client computers transmits the block data to and from the storage device by the following processes c1) to c3):
c1) Sending the header data including the data length of the block data to be transmitted to the storage device,
c2) After receiving response data indicating that the header data has been received from the storage device, data transmission of the block data is started,
c3) When the failure signal is received, the same data is sent again to the storage device.
D) causing a device server provided between the storage device and the plurality of client computers to execute the following processing;
d1) When header data including the data length of the block data to be transmitted is given from a specific client computer, it is determined whether or not it is currently dedicated to data transmission by another client computer.
d2) If the data transmission is exclusively performed by the other client computer, a failure signal is returned to the specific client computer that has transmitted the block data.
d3) If the data transmission is not exclusively performed by the other client computer, the data transmission is exclusively performed by the specific client computer and the header data is transmitted to the storage device.
d4) If the given transfer data is data transmission between the specific client computer and the storage device in the data transmission exclusive state, the data is transferred.
d5) After the data transmission exclusive state for the specific client computer, it is determined whether block data having a data length specified by the header data has been transmitted between the specific client computer and the storage device. , If transmitted, release the data transmission exclusive state,
A file transmission method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006147928A JP4418920B2 (en) | 2006-05-29 | 2006-05-29 | Network file management system, device server, and file transmission method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006147928A JP4418920B2 (en) | 2006-05-29 | 2006-05-29 | Network file management system, device server, and file transmission method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007317067A JP2007317067A (en) | 2007-12-06 |
JP4418920B2 true JP4418920B2 (en) | 2010-02-24 |
Family
ID=38850853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006147928A Expired - Fee Related JP4418920B2 (en) | 2006-05-29 | 2006-05-29 | Network file management system, device server, and file transmission method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4418920B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5124779B2 (en) * | 2008-11-07 | 2013-01-23 | キヤノンイメージングシステムズ株式会社 | Device sharing system, device sharing client, and device sharing method |
US9654588B2 (en) | 2009-11-04 | 2017-05-16 | Canon Imaging Systems Inc. | Device control apparatus, client apparatus, device control method, and device control system |
JP5802049B2 (en) | 2011-05-06 | 2015-10-28 | キヤノンイメージングシステムズ株式会社 | Device control apparatus and method, client apparatus, and device control system |
-
2006
- 2006-05-29 JP JP2006147928A patent/JP4418920B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007317067A (en) | 2007-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090019187A1 (en) | Peripheral Device Using Method, and Peripheral Device Server | |
JP5106481B2 (en) | Apparatus and method for remotely controlling server by client, and method for communicating video data and user input device data | |
JP5395824B2 (en) | Memory system | |
US9680885B2 (en) | Information processing apparatus and terminal device that communicate with each other | |
US20070078984A1 (en) | Storage system and license management method | |
KR100631620B1 (en) | Apparatus and method for allowing to access to its equipped storage means | |
JP2005292922A (en) | Deployment machine of os image and method thereof | |
JP6191022B2 (en) | Access device, information recording device, and access system | |
JP2008017446A (en) | Device and connection control method | |
US7949796B2 (en) | Device and file transfer system | |
US20240088941A1 (en) | File transmission/reception device and control method of file transmission/reception device | |
JP4418920B2 (en) | Network file management system, device server, and file transmission method | |
JPH11327815A (en) | Communication control method/device and communication system | |
JP5581470B2 (en) | Device sharing system, device sharing server, device sharing client, and device sharing method | |
EP2294514A1 (en) | Methods and systems for transmitting disk images | |
JP2010286900A (en) | Device, system and method for displaying image | |
JP6191021B2 (en) | Access device, information recording device, and access system | |
JP4900805B2 (en) | OS image deployment machine and method | |
JP5206717B2 (en) | USB host device | |
JP2003281072A (en) | Method and device for controlling device | |
JP4276219B2 (en) | USB storage device internal state setting method | |
US20090063721A1 (en) | Device and file transfer system | |
WO2021184291A1 (en) | Data transmission method, apparatus and system | |
JP2003051824A (en) | Communication method, communication system, program and storage medium | |
CN114020665A (en) | Information transmission method, device and transmission system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080630 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090527 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20090602 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20090703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090727 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090915 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091019 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091102 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4418920 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |