JP4418920B2 - Network file management system, device server, and file transmission method - Google Patents

Network file management system, device server, and file transmission method Download PDF

Info

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
Application number
JP2006147928A
Other languages
Japanese (ja)
Other versions
JP2007317067A (en
Inventor
秀和 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silex Technology Inc
Original Assignee
Silex Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silex Technology Inc filed Critical Silex Technology Inc
Priority to JP2006147928A priority Critical patent/JP4418920B2/en
Publication of JP2007317067A publication Critical patent/JP2007317067A/en
Application granted granted Critical
Publication of JP4418920B2 publication Critical patent/JP4418920B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 client computer 2 starts such a dedicated program and selects a connection switch on the screen. Upon receiving such selection, the device server 5 sets an exclusion flag. In this situation, when there is an access request from the client computer 3, since the exclusive flag is currently set, the device server 5 sends a message to the client stating that “access is not possible because it is in use”. Return to computer 3. When the operator of the client computer 2 finishes the work, it gives a command to the device server 5 to reset the exclusion flag by a dedicated program. Thus, by using the exclusive flag, the USB storage 14 can be used from a plurality of client computers.

しかしながら、かかる手法を用いた場合、前記排他フラグがセットされていないときにアクセス要求があったクライアントコンピュータだけが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 USB storage 14, and if the timing is missed, the USB storage 14 is used as long as it is missed. There is a problem that can not be.

かかる問題を解決するために、特許文献1には、複数のクライアントからUSBストレージ14にアクセス要求があった場合、これを順序どおりに実行させる方法として、各クライアントに予約をさせて、優先順位に応じてアクセスを許可することが開示されている。   In order to solve such a problem, in Patent Document 1, when there are access requests from a plurality of clients to the USB storage 14, as a method of executing the requests in order, each client is reserved and prioritized. It is disclosed to permit access accordingly.

特開2000-215009号公報JP 2000-215009 A

しかし、特許文献1に開示された予約処理システムでは、以下のような問題があった。たしかに予約させることにより、順番は守られるが、現在使用中のクライアントコンピュータによるUSBストレージ14の使用は終わっているのにもかかわらず、そのクライアントコンピュータの使用者が切断処理をしなければ、次順位のクライアントコンピュータは使用ができず、無駄な空白時間が発生する。   However, the reservation processing system disclosed in Patent Document 1 has the following problems. Although the order is preserved by making the reservation, the order of the order is maintained, but the use of the USB storage 14 by the currently used client computer is finished, but if the user of the client computer does not perform the disconnection process, the next order Client computers cannot be used, and useless blank time occurs.

かかる問題を解決するために、所定時間アクセスがない場合にはタイムアウトとして当該クライアントコンピュータによる専有を強制的に解除して、次順位の予約クライアントコンピュータを自動接続することも考えられるが、その場合でも、タイムアウトの時間分の専有は避けられない。   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 device server 5 in FIG. 1 is different. FIG. 2 shows a functional block diagram of the device server 5 in the network file management system according to the present invention.

デバイスサーバ5は、ネットワーク伝送手段51、制御手段55、およびストレージ機器伝送手段57を備えている。   The device server 5 includes network transmission means 51, control means 55, and storage device transmission means 57.

ネットワーク伝送手段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 control unit 55 includes a determination unit 61, a transmission control unit 63, and a transfer unit 65.

転送手段65は、従来と同様の処理を行う。具体的には、データ転送モードでは、以下の転送を行う。ネットワーク伝送手段の第2接続口から、データ転送をする対象であるクライアントコンピュータからのデータが与えられると、これを前記ストレージ機器伝送手段に与える。また、ストレージ機器伝送手段57から返答データが与えられると、この返答データを、前記データ転送をする対象であるクライアントコンピュータに伝送するようにネットワーク伝送手段51の第2接続口に与える。   The transfer unit 65 performs the same processing as that of the prior art. Specifically, the following transfer is performed in the data transfer mode. When data from a client computer that is a target of data transfer is given from the second connection port of the network transmission means, the data is given to the storage device transmission means. Further, when response data is given from the storage device transmission means 57, this response data is given to the second connection port of the network transmission means 51 so as to be transmitted to the client computer to which the data is transferred.

判断手段61は、ネットワーク伝送手段51の第2接続口から、特定クライアントコンピュータのブロックデータのデータ長を表すヘッダデータが与えられると、転送手段65がいずれかのクライアントコンピュータデータによる転送モードであるか否か判断する。   When the header 61 indicating the data length of the block data of the specific client computer is given from the second connection port of the network transmission unit 51, the determination unit 61 determines whether the transfer unit 65 is in any of the client computer data transfer modes. Judge whether or not.

伝送制御手段63は、判断手段61の判断結果に応じて、以下の処理を行う。転送手段65が、前記ヘッダデータを送信したクライアントコンピュータ以外のクライアントコンピュータによるデータ転送モードである場合には、当該ヘッダデータを送信したクライアントコンピュータに不成立信号を返信させる。転送手段65がいずれのクライアントコンピュータによるデータ転送モードでもない場合には、以下の処理を行う。転送手段65を前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードとするとともに、前記ヘッダデータを、転送手段65によってストレージ機器伝送手段57へ伝送させる。さらに、前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードになってから、前記ヘッダデータを送信したクライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する。   The transmission control unit 63 performs the following processing according to the determination result of the determination unit 61. When the transfer means 65 is in a data transfer mode by a client computer other than the client computer that has transmitted the header data, the transfer means 65 returns a failure signal to the client computer that has transmitted the header data. When the transfer means 65 is not in the data transfer mode by any client computer, the following processing is performed. The transfer unit 65 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 57 by the transfer unit 65. Furthermore, 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 is specified by the header data. It is determined whether block data having a data length has been transmitted. If the block data has been transmitted, the data transfer mode is canceled.

このように、既に転送モードである場合には、ヘッダデータを送信したクライアントコンピュータに不成立信号が返される。また、転送モードは、前記ヘッダデータで特定されるデータ長で解除される。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。各クライアントコンピュータは既に他のクライアントコンピュータによるデータ転送モードになっている場合には、不成立信号が与えられるので、かかる信号を受け取った場合には、ヘッダデータが受けつけられるまで、再送を繰り返せばよい。   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 client computer 2 is a general personal computer, and includes a CPU 123, a memory 127, a hard disk 126, a monitor 130 as a display device, an optical drive 125 such as a CD / DVD drive, a LAN card 124, an input device such as a keyboard and a mouse. 132 and a bus line 129 are provided. The CPU 123 controls each unit via the bus line 129 according to each program stored in the hard disk 126. The LAN card 124 performs data communication with the device server 5 connected to the network.

ハードディスク126は、オペレーティングシステム(OS)139、ネットワークドライバ148、LANカードドライバ149、仮想USBポートドライバ145、アプリケーションプログラム141、およびUSBストレージ用ドライバ142を有する。   The hard disk 126 includes an operating system (OS) 139, a network driver 148, a LAN card driver 149, a virtual USB port driver 145, an application program 141, and a USB storage driver 142.

本実施形態においては、OS139にマイクロソフト社のWindows(登録商標または商標)XPを採用したが、これに限定されるものではない。   In the present embodiment, Windows XP (registered trademark or trademark) XP of Microsoft Corporation is adopted as the OS 139, but the present invention is not limited to this.

アプリケーションプログラム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 connection management program 147 is a program that acquires information from the device server 5 and manages whether connection is possible. The virtual USB port driver 145 and the network driver 148 perform communication processing with the device server 5 (see FIG. 2). Details will be described later. The LAN card driver 149 is a driver for the LAN card 124. The USB storage driver 142 is a USB storage class driver, and performs communication according to the USB communication standard.

なお、本実施形態においては、上記各プログラムは光学式ドライブ125を介してハードディスクにインストールされたものであり、必要に応じてOSがメモリ127に展開して動作する。なお、光学式ドライブ以外に、フレキシブルディスク(FD)、ICカードなどのコンピュータ可読の記録媒体からプログラムをハードディスクにインストールさせてもよい。また、一切ハードディスクを使わず光学式ドライブから直接、メモリに展開しても良いし、フラッシュメモリなどにインストールしてもよいし、通信回線を用いてダウンロードするようにしてもよい。また、実行する際はメモリに展開するようになっているが、直接フラッシュメモリなどの不揮発性メモリ上で実行してもよいし、リモートプロシジャーコールのように通信回線を通じて他のコンピュータで実行させるようにしてもよい。コンピュータによって実行可能なプログラムとしては、これに限定されることなく、そのままインストールして直接実行可能なものはもちろん、一旦他の形態等に変換が必要なもの(例えば、データ圧縮されているものを、解凍する等)、さらには、他のモジュール部分と組合して実行可能なものも含む。   In the present embodiment, each of the above programs is installed in the hard disk via the optical drive 125, and the OS is expanded in the memory 127 and operates as necessary. In addition to the optical drive, the program may be installed on a hard disk from a computer-readable recording medium such as a flexible disk (FD) or an IC card. Further, it may be expanded directly into a memory from an optical drive without using a hard disk at all, may be installed in a flash memory or the like, or may be downloaded using a communication line. In addition, the program is expanded in the memory, but it may be executed directly on a non-volatile memory such as a flash memory, or may be executed on another computer through a communication line like a remote procedure call. It may be. Programs that can be executed by a computer are not limited to those programs, but those that can be directly installed and directly executed, as well as programs that need to be converted into another form (for example, data-compressed programs). In addition, those that can be executed in combination with other module parts are also included.

3.デバイスサーバの構成
図2に示すデバイスサーバ5のハードウェア構成について、図4を用いて説明する。図4は、CPUを用いて構成したデバイスサーバ5の構成の一例である。
3. Device server configuration
The hardware configuration of the device server 5 shown in FIG. 2 will be described with reference to FIG. FIG. 4 is an example of the configuration of the device server 5 configured using a CPU.

デバイスサーバ5は、CPU23、揮発性メモリ27、不揮発性メモリ26、インタフェース(I/F)28、LANカード24、表示・音声等出力部25,およびバスライン29を備えている。CPU23は、不揮発性メモリ26に記憶された各プログラムにしたがいバスライン29を介して、各部を制御する。   The device server 5 includes a CPU 23, a volatile memory 27, a nonvolatile memory 26, an interface (I / F) 28, a LAN card 24, a display / audio output unit 25, and a bus line 29. The CPU 23 controls each unit via the bus line 29 according to each program stored in the nonvolatile memory 26.

インタフェース28には、USBストレージ14が接続されている。   The USB storage 14 is connected to the interface 28.

不揮発性メモリ26には、オペレーティングシステム(OS)39、USBポートドライバ43、ネットワークドライバ48、LANカードドライバ49、通信ドライバ45、サーバ側接続管理プログラム40、ストレージ制御プログラム44および接続機器情報テーブル42が記憶されている。   The nonvolatile memory 26 includes an operating system (OS) 39, a USB port driver 43, a network driver 48, a LAN card driver 49, a communication driver 45, a server side connection management program 40, a storage control program 44, and a connected device information table 42. It is remembered.

接続機器情報テーブル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 USB port driver 43 performs data transmission with the USB storage 14 via the interface 28. The communication driver 45 and the network driver 48 perform data transmission with the client computer via the LAN card 24. The LAN card driver 49 is a driver for the LAN card 24.

サーバ側接続管理プログラム40、ストレージ制御プログラム44、通信ドライバ45,ネットワークドライバ48による処理については後述する。   Processing by the server side connection management program 40, the storage control program 44, the communication driver 45, and the network driver 48 will be described later.

なお、本実施形態においては、OS39として、Linux(登録商標または商標)の組み込み用のリアルタイムOSを使用したが、このOSに限らず、他のOSを用いることもできる。   In this embodiment, a Linux (registered trademark or trademark) embedded real-time OS is used as the OS 39. However, the OS is not limited to this, and other OSs may be used.

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 USB storage 14 connected to the device server 5 will be briefly described with reference to FIG. The USB storage 14 stores data in the data structure of the FAT16 type disk format. In the USB storage 14, the area on the disk is managed by being distinguished into a system area and a data area. The system area is composed of three parts: an FDC descriptor, a system area, a file allocation table (FAT), and a root directory.

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 USB storage 14 in accordance with the USB communication standard, and data communication is performed between the client computer and the device server in accordance with TCP / IP. .

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 OS 139 and the USB storage driver 142 of the client computer.

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 storage 14, A device server is interposed, and network communication by TCP / IP is performed between the client computer and the device server. Such TCP / IP communication is divided into packets of a predetermined length, and a network header is added to each packet for transmission / reception. Since the network communication process by TCP / IP is a general communication process, description thereof is omitted. The network driver 148 performs such data processing by TCP / IP.

なお、仮想USBポートドライバ145および通信ドライバ45は、トンネリングヘッダの管理を行う。本実施形態においては、読み出しコマンド又は書き込みコマンドはトンネリングヘッダという領域に記載される。かかるコマンドは、最終的にはUSBストレージ14に転送されるが、デバイスサーバ5から繰り返し「DATAIN」コマンド(読み出しコマンド)を出す必要があるからである。また、かかるトンネリングヘッダに記述することにより、両者間でやり取りされるブロックデータと区別することもできる。   The virtual USB port driver 145 and the communication driver 45 manage the tunneling header. In the present embodiment, the read command or the write command is described in an area called a tunneling header. This is because such a command is finally transferred to the USB storage 14, but it is necessary to repeatedly issue a "DATAIN" command (read command) from the device server 5. Moreover, it can also distinguish from the block data exchanged between both by describing in this tunneling header.

以下では、
クライアントコンピュータ2から読み出し指令が与えられる場合の読み出し処理について説明する。
Below,
A read process when a read command is given from the client computer 2 will be described.

クライアントコンピュータ2の操作者は、接続管理プログラム147(図3参照)を起動する。接続管理プログラム147は、ネットワーク上のデバイスサーバを検索する。この場合、デバイスサーバ5が接続されているので、かかる検索要求があると、デバイスサーバ5のサーバ側接続管理プログラム40は、接続機器情報テーブル42を参照して、接続されているUSB機器のリストを接続管理プログラム147に送信する。クライアントコンピュータ2の接続管理プログラム147は、これを画面上にリスト表示する。この場合、USBストレージ14だけが接続されているので、リストにはUSBストレージ14が表示される。   The operator of the client computer 2 starts the connection management program 147 (see FIG. 3). The connection management program 147 searches for a device server on the network. In this case, since the device server 5 is connected, when there is such a search request, the server-side connection management program 40 of the device server 5 refers to the connected device information table 42 and lists the connected USB devices. Is transmitted to the connection management program 147. The connection management program 147 of the client computer 2 displays the list on the screen. In this case, since only the USB storage 14 is connected, the USB storage 14 is displayed in the list.

クライアントコンピュータ2の操作者は、接続管理プログラム147のGUI(図示せず)上からUSBストレージ14への接続要求を行う。かかる要求は、接続管理プログラム147からサーバ側接続管理プログラム40へ送られる。サーバ側接続管理プログラム40は、接続すべきデバイスがUSBストレージ14であると特定されたので、USBストレージ14のコンフィギュレーション情報をクライアントコンピュータ2の仮想USBポートドライバ145へ送信する。コンフィグレーション情報とは、例えばデバイスディスクリプタ情報などのUSBデバイスの機能性を定義する情報であり、USBプラグアンドプレイのために用いられる情報である。   The operator of the client computer 2 makes a connection request to the USB storage 14 from the GUI (not shown) of the connection management program 147. Such a request is sent from the connection management program 147 to the server-side connection management program 40. The server side connection management program 40 transmits the configuration information of the USB storage 14 to the virtual USB port driver 145 of the client computer 2 because the device to be connected is identified as the USB storage 14. The configuration information is information that defines the functionality of the USB device, such as device descriptor information, and is information used for USB plug and play.

仮想USBポートドライバ145は、TCP/IPプロトコルを用いて、通信ドライバ45との間で論理接続を確立するとともに、クライアントコンピュータ2のUSBプラグアンドプレイ機構(図示せず)にコンフィギュレーション情報を与え、USBプラグアンドプレイ処理を行わせる。 The virtual USB port driver 145 establishes a logical connection with the communication driver 45 using the TCP / IP protocol, and provides configuration information to a USB plug and play mechanism (not shown) of the client computer 2. The USB plug and play process is performed.

図7〜図11を用いて、クライアントコンピュータ2のOS139、USBストレージ用ドライバ142、仮想USBポートドライバ145(図3参照)による処理、およびデバイスサーバ5のストレージ制御プログラム44、通信ドライバ45、USBポートドライバ43(図4参照)による処理について説明する。   7 to 11, the processing by the OS 139 of the client computer 2, the USB storage driver 142, the virtual USB port driver 145 (see FIG. 3), the storage control program 44 of the device server 5, the communication driver 45, and the USB port Processing by the driver 43 (see FIG. 4) will be described.

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 client computer 2 sends a block header of an area management information acquisition request to the communication driver 45 of the device server via the virtual USB port driver 145 (see FIG. 3) (step S101 in FIG. 9). ). Specifically, since the area management information has a fixed start address and size, the USB storage driver 142 sets the acquisition request in the block header information, and the virtual USB port driver 145 adds a tunneling header. To the network driver 148. As shown in FIG. 11A, the network driver 148 attaches a network header to the packet and transmits the packet.

デバイスサーバ5のネットワークドライバ48(図4参照)は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、トンネリングヘッダ、およびブロックヘッダ情報を、通信ドライバ45(図4参照)に渡す。通信ドライバ45は、トンネリングヘッダを読み取るとともに、ブロックヘッダをストレージ制御プログラム44に渡す。   The network driver 48 (see FIG. 4) of the device server 5 determines whether or not to receive a packet (step S1 in FIG. 7). When such a packet is received, the tunneling header and block header information are transmitted to the communication driver 45. (See FIG. 4). The communication driver 45 reads the tunneling header and passes the block header to the storage control program 44.

ストレージ制御プログラム44は、与えられたデータがブロックヘッダであるか否か判断する(図7ステップS3)。この場合、ブロックヘッダであるので、ストレージ制御プログラム44は、他のクライアントコンピュータによる排他制御中か否か判断する(ステップS5)。この場合、他のクライアントコンピュータによる排他制御中ではないので、ストレージ制御プログラム44は、排他制御フラグをセットし、排他制御を開始する。(ステップS9)。   The storage control program 44 determines whether or not the given data is a block header (step S3 in FIG. 7). In this case, since it is a block header, the storage control program 44 determines whether exclusive control by another client computer is in progress (step S5). In this case, since the exclusive control is not being performed by another client computer, the storage control program 44 sets the exclusive control flag and starts the exclusive control. (Step S9).

ストレージ制御プログラム44は、ブロックヘッダに記述されているデータ長を抽出し、これから伝送されるブロックのデータ長を記憶する(ステップS11)。ここでは領域管理情報のサイズが抽出される。ストレージ制御プログラム44は、USBポートドライバ43によって、ブロックヘッダをUSBストレージ14へ送信する(ステップS13)。 これを受けて、USBストレージ14からヘッダ情報を受信した旨の信号(ACK信号)が返信されると、ストレージ制御プログラム44は、この信号を、通信ドライバ45およびネットワークドライバ48を用いてクライアントコンピュータ2へ返信する(ステップS15)。   The storage control program 44 extracts the data length described in the block header, and stores the data length of the block transmitted from now on (step S11). Here, the size of the area management information is extracted. The storage control program 44 transmits the block header to the USB storage 14 by the USB port driver 43 (step S13). In response to this, when a signal (ACK signal) indicating that the header information has been received from the USB storage 14 is returned, the storage control program 44 uses the communication driver 45 and the network driver 48 to send this signal to the client computer 2. (Step S15).

これにより、デバイスサーバは、再びパケット受信待ち状態となる(ステップ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 client computer 2 determines whether to receive a NAK signal or an ACK signal (step S103 in FIG. 9). In this case, since an ACK signal is returned, the USB storage driver 142 is informed of the ACK signal, and the USB storage driver 142 transmits a read command (step S105). Specifically, the following processing is performed.

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 device server 5 with a network header added by the network driver 148. The data structure in this case is shown in FIG. 11B. The reason why the data size is added to the tunneling header is that it is necessary to repeat the read command as will be described later.

デバイスサーバ5のネットワークドライバ48(図4参照)は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、データを、通信ドライバ45に渡す。ストレージ制御プログラム44は、通信ドライバ45から受け取ったパケットの中味が、ブロックヘッダであるかどうかを判断する(図7ステップS3)。この場合、与えられたデータは、読み出しコマンドおよびそのデータ長が記述されたトンネリングヘッダである。よって、ブロックヘッダではないので、ストレージ制御プログラム44は、かかるデータが、既に受信しているブロックヘッダを送信してきたクライアントコンピュータからのデータであるか否かを判断する(図8ステップS21)。ステップS21における判断は、たとえばネットワークヘッダに記述されたクライアントコンピュータのIPアドレス等を参照すればよい。   The network driver 48 (see FIG. 4) of the device server 5 determines whether or not to receive a packet (step S1 in FIG. 7). When such a packet is received, the data is passed to the communication driver 45. The storage control program 44 determines whether the content of the packet received from the communication driver 45 is a block header (step S3 in FIG. 7). In this case, the given data is a tunneling header in which a read command and its data length are described. Therefore, since it is not a block header, the storage control program 44 determines whether or not such data is data from a client computer that has transmitted the already received block header (step S21 in FIG. 8). For the determination in step S21, for example, the IP address of the client computer described in the network header may be referred to.

ここでは、受け取ったデータは、ブロックヘッダを送信したクライアントコンピュータからのものであるので、ストレージ制御プログラム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 storage control program 44 determines whether the setting of the tunneling header is “DATAIN” or “DATAOUT” (step S23). In this case, since it is “DATAIN”, the storage control program 44 instructs the USB port driver 43 to send a “DATAIN” command to the USB storage 14 (step S25).

USBストレージ14は、「DATAIN」コマンドを受信すると、既にブロックヘッダによって指定された先頭アドレスとサイズのデータをデバイスサーバ5送信する。   When the USB storage 14 receives the “DATAIN” command, the USB storage 14 transmits the data having the head address and size already specified by the block header 5 to the device server 5.

デバイスサーバ5のストレージ制御プログラム44は、かかるデータを受信すると、指定されたデータ量を全て受信したか否か判断する(ステップS26)。これは、USB通信規格によると、1回の「DATAIN」コマンドで取得できるサイズが定められているからである。ここでは、1回の「DATAIN」コマンドで取得できたものとする。   When receiving the data, the storage control program 44 of the device server 5 determines whether or not all the specified data amount has been received (step S26). This is because, according to the USB communication standard, a size that can be acquired by one “DATAIN” command is determined. Here, it is assumed that it can be acquired by one “DATAIN” command.

なお、ストレージ制御プログラム44は、トンネリングヘッダに指定されたデータサイズ分のデータを受信していない場合には、USBポートドライバ43を介して「DATAIN」コマンドをUSBストレージ14に与える。(ステップS25)。   Note that the storage control program 44 gives a “DATAIN” command to the USB storage 14 via the USB port driver 43 when data corresponding to the data size specified in the tunneling header has not been received. (Step S25).

ストレージ制御プログラム44は、受信した領域管理情報を通信ドライバ45へ渡す。通信ドライバ45は、これにトンネリングヘッダを付加し、ネットワークドライバ48に渡す。ネットワークドライバ48は、これにネットワークヘッダを付加し、クライアントコンピュータ2に送信する(ステップS27)。この場合のデータ構造を図11Cに示す。   The storage control program 44 passes the received area management information to the communication driver 45. The communication driver 45 adds a tunneling header to this and passes it to the network driver 48. The network driver 48 adds a network header to this and transmits it to the client computer 2 (step S27). The data structure in this case is shown in FIG. 11C.

ストレージ制御プログラム44は、ブロックヘッダに記載されたデータ長のサイズを処理したかどうかを判断する(図8ステップS29)。ブロックヘッダに記載されたデータ長と一致すると判断した場合には、ストレージ制御プログラム44は、排他制御フラグをリセットして、排他制御を終了する(ステップS31)。この場合、領域管理情報は一回のやりとりで完了できるサイズであるので、ブロックヘッダに記載されたデータ長の処理が完了したと判断されて、排他制御は終了する。   The storage control program 44 determines whether or not the data length size described in the block header has been processed (step S29 in FIG. 8). If it is determined that the data length matches the data length described in the block header, the storage control program 44 resets the exclusive control flag and ends the exclusive control (step S31). In this case, since the area management information has a size that can be completed by a single exchange, it is determined that the processing of the data length described in the block header has been completed, and the exclusive control ends.

なお、当然のことながら、トンネリングヘッダ中に記述されていたデータ(「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 OS 139 of the client computer 2 determines the file management table and the root directory as read target data (step S111 in FIG. 9). Then, a reading process is performed (step S113). The process of step S113 will be described with reference to FIG.

まず、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 communication driver 45 of the device server 5 determines whether or not to receive a packet (step S1 in FIG. 7). When such a packet is received, the tunneling header and block header information are passed to the communication driver 45. The communication driver 45 reads the tunneling header and passes the block header to the storage control program 44.

ストレージ制御プログラム44は、与えられたデータがブロックヘッダであるか否か判断する(ステップS3)。この場合、ブロックヘッダであるので、ストレージ制御プログラム44は、他のクライアントコンピュータによる排他制御中か否か判断する(ステップS5)。この場合、他のクライアントコンピュータによる排他制御中ではないので、ストレージ制御プログラム44は、排他制御フラグをセットし、排他制御を開始する。(ステップS9)。   The storage control program 44 determines whether or not the given data is a block header (step S3). In this case, since it is a block header, the storage control program 44 determines whether exclusive control by another client computer is in progress (step S5). In this case, since the exclusive control is not being performed by another client computer, the storage control program 44 sets the exclusive control flag and starts the exclusive control. (Step S9).

なお、ステップ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 client computer 2 determines whether or not to receive a NAK signal or an ACK signal (step S127 in FIG. 10). In this case, since an ACK signal is returned, the USB storage driver 142 is informed that it is an ACK signal, and the USB storage driver 142 transmits a read command. The virtual USB port driver 145 initializes the processing target packet number j (step S129), and transmits “DATAIN” as a read command for the j-th packet (step S131). Specifically, “DATAIN” is passed to the virtual USB port driver 145 for the jth packet. In response to the command, the virtual USB port driver 145 and the network driver 148 transmit a read command in the same manner as in the area management information.

一方、デバイスサーバ5のネットワークドライバ48は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、データを、通信ドライバ45に渡す。ストレージ制御プログラム44は、パケットがヘッダ情報であるかどうかを判断する(図7ステップS3)。この場合、与えられたデータは、読み出しコマンドおよびそのデータ長が記述されたトンネリングヘッダでありブロックヘッダではないので、ストレージ制御プログラム44は、既に受信しているブロックヘッダを送信してきたクライアントコンピュータからのデータであるか否かを判断する(図8ステップS21)。   On the other hand, the network driver 48 of the device server 5 determines whether or not to receive a packet (step S1 in FIG. 7). When such a packet is received, the data is passed to the communication driver 45. The storage control program 44 determines whether the packet is header information (step S3 in FIG. 7). In this case, since the given data is a tunneling header in which a read command and its data length are described and not a block header, the storage control program 44 receives from the client computer that has transmitted the already received block header. It is determined whether it is data (step S21 in FIG. 8).

ここでは、ブロックヘッダを送信したクライアントコンピュータからのデータであるので、ストレージ制御プログラム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 storage control program 44 determines whether the setting of the tunneling header is “DATAIN” or “DATAOUT” (step S23). In this case, since it is “DATAIN”, as in the case of the area management information, the “DATAIN” command addressed to the USB storage 14 is transferred and this process is repeated until the specified data amount is reached (step S25, step S26).

USBストレージ14は、領域管理情報の場合と同様にして、既にブロックヘッダによって指定された先頭アドレスとサイズのデータをデバイスサーバ5送信する。   The USB storage 14 transmits the data of the head address and the size already specified by the block header in the same way as in the case of the area management information.

ストレージ制御プログラム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 client computer 2 as in the case of the area management information (step S27 in FIG. 8).

ストレージ制御プログラム44は、ブロックヘッダに記載されたデータ長のサイズを処理したかどうかを判断する(ステップS29)。この場合、ブロックヘッダに記載されたデータ長と一致しないので、ストレージ制御プログラム44は、図7のステップS1の処理に戻る。   The storage control program 44 determines whether or not the data length size described in the block header has been processed (step S29). In this case, since it does not match the data length described in the block header, the storage control program 44 returns to the process of step S1 in FIG.

一方、クライアントコンピュータ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 client computer 2 determines whether to receive the read data (step S133 in FIG. 10). In this case, since the read data for the first packet is returned, the virtual USB port driver 145 determines whether or not reception of all packets for the first block has been completed (step S135). Whether all packets have been received or not can be compared with the conventional method because it is known how many packets can be received according to the amount of data to be read, as in the prior art.

この場合、全パケットを受信していないので、仮想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 client computer 2 receives the third packet, the virtual USB port driver 145 determines that all the packets have been received, notifies the USB storage driver 142, and proceeds from step S135 to step S139. In this case, since the data can be sent in one block, the USB storage driver 142 determines that all blocks are completed, and the reading process is completed.

なお、複数のブロックで送る場合には、ステップ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 device server 5 determines that the received amount matches the stored data amount in step S29, and releases the exclusive control (see FIG. 4). 8 step S31).

このようにして、ファイル管理テーブルおよびルートディレクトリ情報が読み出される。   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 device server 5 determines whether the tunneling header setting is “DATAOUT” from step S1 and step S3 in FIG. Judgment is made (step S23 in FIG. 8). In this case, since the setting of the tunneling header is “DATAOUT”, the write target data is sent to the USB storage 14 together with the “DATAOUT” command (step S35). The storage control program 44 determines whether all data has been transmitted to the USB storage 14 (step S36). When all the data has been transmitted, the storage control program 44 transmits an ACK signal to the client computer 3 (step S37).

クライアントコンピュータ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 device server 5 receives a packet of a block header from a certain client computer, it determines whether exclusive control is currently being performed by another client computer, If applicable, a NAK signal is sent back to the client computer that sent the block header packet. Such exclusive control is repeated while transmitting data having a data length specified by the block header. The client computer that has received the NAK signal retransmits the packet of the block header.

すなわち、各クライアントコンピュータは、他のクライアントコンピュータによる排他制御中でない時に、ブロックヘッダパケットを受信させることができれば、当該ブロックヘッダで指定されたデータ長のデータを送る間はデバイスサーバ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 device server 5 while sending data of the data length specified by the block header. Can do. This enables exclusive control in units of blocks.

このような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 client computer 2 is started and then a block header is transmitted from the client computer 3.

クライアントコンピュータ2は、ブロックヘッダ情報をデバイスサーバ5に送信する(図14ステップC1)。デバイスサーバ5はこれを受けて、排他制御を開始するとともに(ステップC2)、ブロックヘッダ情報から、引き続き送られてくるデータブロックのデータ長を抽出する(ステップC3)。デバイスサーバ5はUSBストレージ14にブロックヘッダ情報を送信する(ステップC4)。デバイスサーバ5は、USBストレージ14から受け取った結果をクライアントコンピュータ2に返信する。   The client computer 2 transmits the block header information to the device server 5 (step C1 in FIG. 14). In response to this, the device server 5 starts exclusive control (step C2) and extracts the data length of the data block that is continuously sent from the block header information (step C3). The device server 5 transmits block header information to the USB storage 14 (step C4). The device server 5 returns the result received from the USB storage 14 to the client computer 2.

そのあと、クライアントコンピュータ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 device server 5 determines whether or not the exclusive control is being performed. In this case, the exclusive control by the client computer 2 is being performed. , NAK signal is returned (step C7). Since the client computer 3 receives the NAK signal, it retransmits the block header information to the device server 5 (step C8). Upon receiving such block header information, the device server 5 determines whether or not exclusive control is in progress, and returns a NAK signal since exclusive control is being performed by the client computer 2 (step C9).

一方、クライアントコンピュータ2は、読み出し命令をデバイスサーバ5に送信する。デバイスサーバ5は、これをUSBストレージ14に送る。USBストレージ14からデバイスサーバ5を介して、クライアントコンピュータ2にデータが送られる(ステップC10、ステップC11)。   On the other hand, the client computer 2 transmits a read command to the device server 5. The device server 5 sends this to the USB storage 14. Data is sent from the USB storage 14 to the client computer 2 via the device server 5 (step C10, step C11).

デバイスサーバ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 device server 5 ends the exclusive control (step C12). In this state, when the client computer 3 transmits block header information to the device server 5 (step C13), the device server 5 starts exclusive control (step C14), and extracts the data length from the block header information (step C15). . Similarly, transmission of block header information and result transmission are performed (step C16, step C17).

図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 USB storage 14 is connected to the device server 5 has been described. However, other USB devices can be connected to the device server. When a request for connected device information is received from the client computer, the device server completes the processing in use when another client computer is currently using the USB device other than the USB storage device. Unless it is, it cannot be used simultaneously from two client computers. Therefore, as in the conventional case, a notification display or the like indicating that “cannot be used because it is currently in use” may be performed.

本実施形態においては、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.

従来のネットワークファイル管理システムの概要を示す図である。It is a figure which shows the outline | summary of the conventional network file management system. 本発明にかかるデバイスサーバ5の機能ブロック図である。It is a functional block diagram of the device server 5 concerning this invention. 本発明にかかるネットワークファイル管理システムにおけるクライアントコンピュータを、CPUを用いて実現したハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitution which implement | achieved the client computer in the network file management system concerning this invention using CPU. 本発明にかかるネットワークファイル管理システムにおけるデバイスサーバを、CPUを用いて実現したハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitution which implement | achieved the device server in the network file management system concerning this invention using CPU. USBストレージ14の記憶領域のデータ構造である。3 is a data structure of a storage area of the USB storage 14. USB通信規格におけるデータ伝送を説明する図である。It is a figure explaining the data transmission in USB communication specification. デバイスサーバ5における処理フローチャートである。4 is a process flowchart in the device server 5; デバイスサーバ5における処理フローチャートである。4 is a process flowchart in the device server 5; クライアントコンピュータにおける読み出し処理フローチャートである。It is a read-out process flowchart in a client computer. 図9ステップS117の詳細フローチャートである。9 is a detailed flowchart of step S117 in FIG. クライアントコンピュータとデバイスサーバとの間でやり取りされるデータのデータ構造である。This is a data structure of data exchanged between the client computer and the device server. クライアントコンピュータにおける書き込み処理フローチャートである。It is a write-in process flowchart in a client computer. 図12ステップS217の詳細フローチャートである。12 is a detailed flowchart of step S217 in FIG. 複数のクライアントコンピュータからブロックヘッダ情報が競合した場合の処理を説明する図である。It is a figure explaining a process when block header information competes from a plurality of client computers.

符号の説明Explanation of symbols

1・・・・・・・・・ネットワークファイル管理システム
2・・・・・・・・・クライアントコンピュータ
3・・・・・・・・・クライアントコンピュータ
4・・・・・・・・・クライアントコンピュータ
5・・・・・・・・・デバイスサーバ
14・・・・・・・・・USBストレージ
DESCRIPTION OF SYMBOLS 1 ... Network file management system 2 ... Client computer 3 ... Client computer 4 ... Client computer 5 ... Device server 14 ... USB storage

Claims (4)

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ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除すること、
を特徴とするネットワークファイル管理システム。
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.
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ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除すること、
を特徴とする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
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)前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードになってから、前記ヘッダデータを送信したクライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する、
を特徴とするデバイスサーバ。
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
A)データの書き込みまたは読み出しが可能なストレージ機器に、複数のクライアントコンピュータからファイル伝送する方法であって、
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.
JP2006147928A 2006-05-29 2006-05-29 Network file management system, device server, and file transmission method Expired - Fee Related JP4418920B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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