JP2007317067A - ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法 - Google Patents

ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法 Download PDF

Info

Publication number
JP2007317067A
JP2007317067A JP2006147928A JP2006147928A JP2007317067A JP 2007317067 A JP2007317067 A JP 2007317067A JP 2006147928 A JP2006147928 A JP 2006147928A JP 2006147928 A JP2006147928 A JP 2006147928A JP 2007317067 A JP2007317067 A JP 2007317067A
Authority
JP
Japan
Prior art keywords
data
client computer
storage device
transmission
transmitted
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.)
Granted
Application number
JP2006147928A
Other languages
English (en)
Other versions
JP4418920B2 (ja
Inventor
Hidekazu Miura
秀和 三浦
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/ja
Publication of JP2007317067A publication Critical patent/JP2007317067A/ja
Application granted granted Critical
Publication of JP4418920B2 publication Critical patent/JP4418920B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】 読み出し要求が競合した場合に無駄な空き時間がなくす。
【解決手段】 PC2は、ブロックヘッダをデバイスサーバ(以下DSと略す)に送信する(C1)。DSは排他制御を開始する。PC3からブロックヘッダがDSに送信されると(C6)、DSは既に排他制御中であるか判断する。この場合、PC3にNAK信号を返される(C7)。PC3は、これを受け取ると、ブロックヘッダをDSに再送する(C8)。かかる処理を繰り返す。DSは、ブロックヘッダで特定されるデータ量のデータ伝送が終了すると、PC2による排他制御を終了する(C12)。この状態で、PC3からブロックヘッダが送信されると(C13)、PC3による排他制御が開始され(C14)、ブロックヘッダで特定されるデータ長の間、PC3とUSBストレージ14との間で伝送を許可する。
【選択図】 図14

Description

この発明は、デバイスサーバに関し、特に、記録媒体機器のデータ管理手法に関する。
従来、USB(Universal Serial Bus)でパソコンと接続するUSBストレージをネットワークに接続して、共用ストレージとして利用することが提案されている。この場合におけるUSBストレージの制御手法について、図1を用いて説明する。
各クライアントコンピュータには予め専用のプログラムをインストールしておく。クライアントコンピュータ2の操作者は、かかる専用プログラムを起動して、画面上で接続スイッチを選択する。デバイスサーバ5は、かかる選択を受けると、排他フラグをセットする。この状況で、クライアントコンピュータ3からアクセス要求があると、デバイスサーバ5は、現在、排他フラグがセットされているので、かかるアクセス要求に対して、「使用中なのでアクセス不可」という旨のメッセージをクライアントコンピュータ3に返す。クライアントコンピュータ2の操作者は作業終了すると、専用プログラムにより排他フラグをリセットするようデバイスサーバ5に命令を与える。このように、排他フラグを用いることにより、USBストレージ14を複数のクライアントコンピュータから使用することができる。
しかしながら、かかる手法を用いた場合、前記排他フラグがセットされていないときにアクセス要求があったクライアントコンピュータだけがUSBストレージ14を使用できることとなり、そのタイミングを逃すといつまでたってもUSBストレージ14を使用することができないという問題がある。
かかる問題を解決するために、特許文献1には、複数のクライアントからUSBストレージ14にアクセス要求があった場合、これを順序どおりに実行させる方法として、各クライアントに予約をさせて、優先順位に応じてアクセスを許可することが開示されている。
特開2000-215009号公報
しかし、特許文献1に開示された予約処理システムでは、以下のような問題があった。たしかに予約させることにより、順番は守られるが、現在使用中のクライアントコンピュータによるUSBストレージ14の使用は終わっているのにもかかわらず、そのクライアントコンピュータの使用者が切断処理をしなければ、次順位のクライアントコンピュータは使用ができず、無駄な空白時間が発生する。
かかる問題を解決するために、所定時間アクセスがない場合にはタイムアウトとして当該クライアントコンピュータによる専有を強制的に解除して、次順位の予約クライアントコンピュータを自動接続することも考えられるが、その場合でも、タイムアウトの時間分の専有は避けられない。
また、デバイスサーバのOSにファイル管理システムを搭載させることも考えられるが、そのために、デバイスサーバに高い処理能力が必要となる。
この発明は、上記問題を解決し、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することを目的とする。
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ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する。
このように、前記データ伝送専有状態では、前記ヘッダデータを送ったクライアントコンピュータと前記USBデバイスサーバはデータ伝送が可能となる。
かかるデータ伝送専有状態は、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されると解除される。また、既に他のクライアントコンピュータによるデータ伝送専有状態である場合には、別のクライアントコンピュータからの前記ヘッダデータに対してはNAK信号が返され、これを受けたクライアントコンピュータは、前記ヘッダデータを再送する。
したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。
これによりネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。
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ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する。
このように、前記データ伝送専有状態では、前記ヘッダデータを送ったクライアントコンピュータは、前記USBデバイスサーバとの間でデータ伝送が可能となる。かかるデータ伝送専有状態は、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されると解除される。また、既に他のクライアントコンピュータによるデータ伝送専有状態である場合には、別のクライアントコンピュータからの前記ヘッダデータに対してはNAK信号が返される。これを受けたクライアントコンピュータは、前記ヘッダデータを再送する。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。
3)本発明にかかるデバイスサーバは、データの書き込みまたは読み出しが可能なストレージ機器と、複数のクライアントコンピュータとをネットワーク接続するデバイスサーバであって、前記各クライアントコンピュータと前記ストレージ機器との間では、1のファイルを複数のブロックに分割してブロックデータとしてファイル伝送処理が行われるデバイスサーバにおいて、特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信し、前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記ストレージ機器にそのヘッダデータを送信し、前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する。
このように、前記データ伝送専有状態では、前記ヘッダデータを送ったクライアントコンピュータは、前記デバイスサーバとの間でデータ伝送が可能となる。かかるデータ伝送専有状態は、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されると解除される。また、既に他のクライアントコンピュータによるデータ伝送専有状態である場合には、別のクライアントコンピュータからの前記ヘッダデータに対しては不成立信号が返される。これを受けたクライアントコンピュータは、前記ヘッダデータを再送する。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。
4)本発明にかかるデバイスサーバは、データの書き込みまたは読み出しが可能なストレージ機器と、複数のクライアントコンピュータとをネットワーク接続するデバイスサーバであって、前記各クライアントコンピュータと前記ストレージ機器との間では、1のファイルを複数のブロックに分割してブロックデータとしてファイル伝送処理が行われるデバイスサーバにおいて、特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信し、前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記ヘッダデータで特定されるデータ長のブロックデータが伝送される間だけ、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記ストレージ機器にそのヘッダデータを送信する。
このように、前記ヘッダデータを送ったクライアントコンピュータは、前記デバイスサーバとの間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送される間だけ、データ伝送専有状態となる。かかるデータ伝送専有状態では、他のクライアントコンピュータからの前記ヘッダデータに対しては不成立信号が返され、前記ヘッダデータが再送される。
したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。
5)本発明にかかるデバイスサーバは、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)前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードになってから、前記ヘッダデータを送信したクライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する。
このように、前記伝送制御手段は、前記ヘッダデータを送信したクライアントコンピュータ以外のクライアントコンピュータによるデータ転送モードである場合には、当該ヘッダデータを送信したクライアントコンピュータに不成立信号を返信させる。また、いずれのクライアントコンピュータによるデータ転送モードでもない場合には、以下の処理を行う。前記転送手段を前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードとするとともに、前記ヘッダデータを、前記伝送手段によって前記ストレージ機器伝送手段へ伝送させる。また前記指定されたクライアントコンピュータによるデータ転送モードになってから、前記特定クライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。各クライアントコンピュータは既に他のクライアントコンピュータによるデータ転送モードになっている場合には、不成立信号が与えられるので、かかる信号を受け取った場合には、ヘッダデータが受けつけられるまで、再送を繰り返せばよい。
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。
6)本発明にかかるファイル伝送方法は、A)データの書き込みまたは読み出しが可能なストレージ機器に、複数のクライアントコンピュータからファイル伝送する方法であって、B)前記各クライアントコンピュータと前記ストレージ機器との間では、1のファイルを複数のブロックに分割したブロックデータとして伝送処理が行われ、C)前記各クライアントコンピュータは、以下のc1)〜c3)の処理にて前記ストレージ機器との間で前記ブロックデータの伝送を行うファイル伝送方法において、c1)伝送対象のブロックデータのデータ長を含むヘッダデータを前記ストレージ機器に送信し、c2)その後、前記ストレージ機器から前記ヘッダデータを受け取ったことを示す返答データを受け取ると、前記ブロックデータのデータ伝送を開始し、c3)不成立信号を受け取ると同じデータを再度、前記ストレージ機器へ送る、D)前記ストレージ機器と前記複数のクライアントコンピュータとの間に設けたデバイスサーバに、以下の処理を実行させる。d1)特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断する、d2)前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信する、d3)前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記ストレージ機器にそのヘッダデータを送信する、d4)与えられた転送データが、データ伝送専有状態とした前記特定のクライアントコンピュータと前記ストレージ機器間のデータ伝送であれば、これを転送する、d5)前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する。
このように、前記データ伝送専有状態では、前記ヘッダデータを送ったクライアントコンピュータは、前記デバイスサーバとの間でデータ伝送が可能となる。かかるデータ伝送専有状態は、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されると解除される。また、既に他のクライアントコンピュータによるデータ伝送専有状態である場合には、別のクライアントコンピュータからの前記ヘッダデータに対しては不成立信号が返される。これを受けたクライアントコンピュータは、前記ヘッダデータを再送する。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なファイル伝送方法を提供することができる。
7)本発明にかかるデバイスサーバは、USBストレージ機器と複数のクライアントコンピュータとをネットワーク接続するUSBデバイスサーバであって、特定のクライアントコンピュータから、伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信し、前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記USBストレージ機器にそのヘッダデータを送信し、前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記USBストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送された場合には、前記データ伝送専有状態を解除する。
このように、前記データ伝送専有状態では、前記ヘッダデータを送ったクライアントコンピュータは、前記デバイスサーバとの間でデータ伝送が可能となる。かかるデータ伝送専有状態は、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されると解除される。また、既に他のクライアントコンピュータによるデータ伝送専有状態である場合には、別のクライアントコンピュータからの前記ヘッダデータに対しては不成立信号が返される。これを受けたクライアントコンピュータは、前記ヘッダデータを再送する。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。
なお、本明細書において「伝送」とは、送信および受信の双方を含む概念である。「カプセル化された伝送対象データ」とは、実施形態ではパケットヘッダが付与されて伝送されるデータであり、読み出しまたは書き込み対象のブロックデータはもちろん、かかるデータが存在しない読み出しコマンドなども該当する。また「ストレージ機器」とは実施形態ではUSBハードディスクが該当するが、読み出しだけできる記録媒体でも、読み出しも書き込みもできる記録媒体でもよく、さらに、記録媒体は取り外せるものであってもよい。例えば、各種のメモリカード、DVD、フレキシブルディスクなどは当然含まれる。
1.機能ブロック図の説明
本発明の一実施形態を図面に基づいて説明する。本件ネットワークファイル管理システムの全体構成は、従来と同様であるが、図1におけるデバイスサーバ5の構成が異なる。図2に、本発明にかかるネットワークファイル管理システムにおけるデバイスサーバ5の機能ブロック図を示す。
デバイスサーバ5は、ネットワーク伝送手段51、制御手段55、およびストレージ機器伝送手段57を備えている。
ネットワーク伝送手段51は、ネットワーク伝送プロトコルで定められたカプセル化規則でカプセル化された伝送対象データを入出力する第1接続口と、カプセル化されていない伝送対象データを入出力する第2接続口を有し、前記第1接続口にネットワーク接続されたいずれかのクライアントコンピュータから前記カプセル化された伝送対象データが与えられると、これを非カプセル化して前記第2接続口から出力し、前記第2接続口に送信先が指定されたカプセル化されていない伝送対象データが与えられると、前記カプセル化を行い指定された送信先にネットワーク送信する。
制御手段55は、前記第2接続口に接続され、ストレージ機器伝送手段との間のデータ伝送を制御する。ストレージ機器伝送手段57は、単一のクライアントコンピュータとの間でデータの書き込みまたは読み出しが可能なストレージ機器とデータ伝送する。
制御手段55は、判断手段61、伝送制御手段63および転送手段65を備えている。
転送手段65は、従来と同様の処理を行う。具体的には、データ転送モードでは、以下の転送を行う。ネットワーク伝送手段の第2接続口から、データ転送をする対象であるクライアントコンピュータからのデータが与えられると、これを前記ストレージ機器伝送手段に与える。また、ストレージ機器伝送手段57から返答データが与えられると、この返答データを、前記データ転送をする対象であるクライアントコンピュータに伝送するようにネットワーク伝送手段51の第2接続口に与える。
判断手段61は、ネットワーク伝送手段51の第2接続口から、特定クライアントコンピュータのブロックデータのデータ長を表すヘッダデータが与えられると、転送手段65がいずれかのクライアントコンピュータデータによる転送モードであるか否か判断する。
伝送制御手段63は、判断手段61の判断結果に応じて、以下の処理を行う。転送手段65が、前記ヘッダデータを送信したクライアントコンピュータ以外のクライアントコンピュータによるデータ転送モードである場合には、当該ヘッダデータを送信したクライアントコンピュータに不成立信号を返信させる。転送手段65がいずれのクライアントコンピュータによるデータ転送モードでもない場合には、以下の処理を行う。転送手段65を前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードとするとともに、前記ヘッダデータを、転送手段65によってストレージ機器伝送手段57へ伝送させる。さらに、前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードになってから、前記ヘッダデータを送信したクライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する。
このように、既に転送モードである場合には、ヘッダデータを送信したクライアントコンピュータに不成立信号が返される。また、転送モードは、前記ヘッダデータで特定されるデータ長で解除される。したがって、各クライアントコンピュータは、前記ヘッダデータで特定されるブロック単位で、前記ストレージ機器へデータ転送が可能となる。各クライアントコンピュータは既に他のクライアントコンピュータによるデータ転送モードになっている場合には、不成立信号が与えられるので、かかる信号を受け取った場合には、ヘッダデータが受けつけられるまで、再送を繰り返せばよい。
これにより、ネットワークに接続された複数のクライアントコンピュータからの書き込みまたは読み出し処理が集中した場合でも、無駄な空き時間がなく書き込みまたは読み出し処理が可能なネットワークファイル管理システムおよびその方法を提供することができる。
2.クライアントコンピュータの構成
本発明にかかるネットワークファイル管理システムにおけるクライアントコンピュータのハードウェア構成について、図3を用いて説明する。クライアントコンピュータ2は、一般的なパーソナルコンピュータであり、CPU123、メモリ127、ハードディスク126、表示装置であるモニタ130、CD/DVDドライブなどの光学式ドライブ125、LANカード124、キーボード、マウスなどの入力デバイス132およびバスライン129を備えている。CPU123は、ハードディスク126に記憶された各プログラムにしたがいバスライン129を介して、各部を制御する。LANカード124は、ネットワーク接続されたデバイスサーバ5との間でデータ通信を行う。
ハードディスク126は、オペレーティングシステム(OS)139、ネットワークドライバ148、LANカードドライバ149、仮想USBポートドライバ145、アプリケーションプログラム141、およびUSBストレージ用ドライバ142を有する。
本実施形態においては、OS139にマイクロソフト社のWindows(登録商標または商標)XPを採用したが、これに限定されるものではない。
アプリケーションプログラム141は、一般的なアプリケーションソフト(たとえばワープロソフト)である。
接続管理プログラム147は、デバイスサーバ5より情報を取得し、接続可否を管理するプログラムである。仮想USBポートドライバ145、ネットワークドライバ148は、デバイスサーバ5(図2参照)との間で通信処理を行う。詳細については後述する。LANカードドライバ149はLANカード124用のドライバである。USBストレージ用ドライバ142はUSBストレージクラスドライバで、USB通信規格による通信を行う。
なお、本実施形態においては、上記各プログラムは光学式ドライブ125を介してハードディスクにインストールされたものであり、必要に応じてOSがメモリ127に展開して動作する。なお、光学式ドライブ以外に、フレキシブルディスク(FD)、ICカードなどのコンピュータ可読の記録媒体からプログラムをハードディスクにインストールさせてもよい。また、一切ハードディスクを使わず光学式ドライブから直接、メモリに展開しても良いし、フラッシュメモリなどにインストールしてもよいし、通信回線を用いてダウンロードするようにしてもよい。また、実行する際はメモリに展開するようになっているが、直接フラッシュメモリなどの不揮発性メモリ上で実行してもよいし、リモートプロシジャーコールのように通信回線を通じて他のコンピュータで実行させるようにしてもよい。コンピュータによって実行可能なプログラムとしては、これに限定されることなく、そのままインストールして直接実行可能なものはもちろん、一旦他の形態等に変換が必要なもの(例えば、データ圧縮されているものを、解凍する等)、さらには、他のモジュール部分と組合して実行可能なものも含む。
3.デバイスサーバの構成
図2に示すデバイスサーバ5のハードウェア構成について、図4を用いて説明する。図4は、CPUを用いて構成したデバイスサーバ5の構成の一例である。
デバイスサーバ5は、CPU23、揮発性メモリ27、不揮発性メモリ26、インタフェース(I/F)28、LANカード24、表示・音声等出力部25,およびバスライン29を備えている。CPU23は、不揮発性メモリ26に記憶された各プログラムにしたがいバスライン29を介して、各部を制御する。
インタフェース28には、USBストレージ14が接続されている。
不揮発性メモリ26には、オペレーティングシステム(OS)39、USBポートドライバ43、ネットワークドライバ48、LANカードドライバ49、通信ドライバ45、サーバ側接続管理プログラム40、ストレージ制御プログラム44および接続機器情報テーブル42が記憶されている。
接続機器情報テーブル42には、接続される周辺機器についての情報が記憶されている。具体的にはベンダID、プロダクトID、インタフェースクラスID、デバイス名称などである。
USBポートドライバ43は、インタフェース28を介してUSBストレージ14との間でデータ伝送を行う。通信ドライバ45、ネットワークドライバ48は、LANカード24を介してクライアントコンピュータとの間でデータ伝送をおこなう。LANカードドライバ49はLANカード24用のドライバである。
サーバ側接続管理プログラム40、ストレージ制御プログラム44、通信ドライバ45,ネットワークドライバ48による処理については後述する。
なお、本実施形態においては、OS39として、Linux(登録商標または商標)の組み込み用のリアルタイムOSを使用したが、このOSに限らず、他のOSを用いることもできる。
4.USBストレージのデータ構造
デバイスサーバ5に接続されたUSBストレージ14のデータ構造について図5を用いて簡単に説明する。USBストレージ14は、FAT16型のディスクフォーマットのデータ構造でデータが記録されている。USBストレージ14では、ディスク上の領域は、システム領域とデータ領域とに区別されて管理されている。システム領域は、FDC記述子およびシステム用領域、ファイル割当表(File Allocation Table(FAT))、ルートディレクトリの3つの部分で構成されている。
FDC記述子およびシステム用領域は、固定長の領域管理情報である。この領域を参照することにより、ストレージのフォーマット情報、1クラスタのサイズがわかる。また、ファイル割当表およびルートディレクトリの開始アドレスおよびそのサイズがわかる。
ファイル割当表 (FAT)は、ストレージの使用領域(クラスタの状態)を記憶しており、データ長は、可変長である。FATの各項目はクラスタ(データ本体)と1対1で対応しており、各クラスタの状態(空き・割り当て済み・欠陥クラスタ)が示される。また、次に続くクラスタの番号も記憶している。なおクラスタがそのファイルの最終クラスタについては、最終クラスタであることを示すフラグが記述されている。
ルートディレクトリには各フォルダ、各ファイルの先頭クラスタ番号が記録されている。この先頭クラスタ番号を起点にして、FATをたどっていくことにより目的のファイルやディレクトリの内容を正しい順番で読み出すことができる。
5.データ書き込み、読み出し処理について
本実施形態においては、デバイスサーバとUSBストレージ14間は、USB通信規格にてデータ通信が行われ、クライアントコンピュータとデバイスサーバ間は、TCP/IPにてデータ通信が行われる。
5.1 USB通信規格について
前提となるUSB通信規格による通信処理について説明する。デバイスサーバが介在せず、クライアントコンピュータとUSBストレージが直接接続されている場合、以下のようにしてデータの書き込み・読み出し処理が行われる。
まず、読み出しの場合の概要について説明する。クライアントコンピュータは、1)領域管理情報を指定してUSBストレージに読み出しコマンドを送信する、2)FATおよびルートディレクトリ情報を指定してUSBストレージに読み出しコマンドを送信する、3)読み出し対象ファイルを指定して、USBストレージに読み出しコマンドを送信する、という3段階のステップによって実行される。なお、1)2)については、既に取得済みで、変更されていない場合には省略することもできる。
上記領域管理情報の指定、FATおよびルートディレクトリ情報の指定、読み出し対象ファイルの指定は、ブロックヘッダとして、USBストレージに与えられる。かかるブロックヘッダには、その後の読み出し処理にて読み出されるデータの読み出し開始位置、ブロック長および、読み出し処理であることを示すフラグが含まれている。USBストレージは、かかるブロックヘッダを受け取ると、読み出しのための準備を行うとともに、クライアントコンピュータにACK信号を返す。クライアントコンピュータはかかるACK信号を受け取ると、読み出しコマンドを送信する。これにより、指定されたデータの読み出しが実行される。
すなわち、クライアントコンピュータは、これから読み出すデータの特定情報を記述したブロックヘッダを送信し、ACK信号を受け取ると、読み出しコマンドを送信する。
なお、クライアントコンピュータは、読み出すデータのデータ長を把握していなければ読み出しができない。読み出し対象ファイルのデータ長は、ルートディレクトリおよびFAT情報から抽出でき、ルートディレクトリおよびFAT情報は、領域管理情報から抽出できる。領域管理情報において、データ長は固定長であり、記載されている位置も固定である。このように最初に読み出す情報は開始アドレスおよびデータ長を固定とすることにより、上記読み出しに必要な情報を把握できる。
なお、上記読み出されるデータのデータ長は、1)領域管理情報については、固定長であり、かつ、データ長としては短いので、1回で読み出しできるが、2)FAT情報および3)読み出し対象ファイルについては、可変長であり、また、1回で読み出しできないほど、大きい場合もある。ここで、1回の読み出し処理の単位は、クラスタサイズなどにより所定のデータ長に決定される(以下、ブロックデータという)。したがって、1回の読み出し処理の単位を越える場合には、複数のブロックに分割されて読み出し処理がなされる。例えば、図6に示すようなデータがある場合、決定したブロック長で分割して読み出される。この場合、4つのブロックに分割され、上記3)読み出しファイルの読み出し処理が、4回繰り返される。このように、読み出されるデータはブロック単位で読み出される。
つぎに、書き込み処理について説明する。書き込み処理の場合は、上記1)領域管理情報を指定し、読み出しコマンドを送信する、2)FAT情報を指定し、読み出しコマンドを送信する、までは同じであり、その後、3)書き込み位置およびブロックサイズを指定したブロックヘッダを送信した後、ACK信号を受けると、書き込み対象のブロックとともに書き込みコマンドを送信するという点が異なる。
上記5.1で説明したUSB通信規格でデータ伝送するためのデータ変換処理は、クライアントコンピュータのOS139およびUSBストレージ用ドライバ142にて行われる。
5.2 データ書き込み、読み出し処理について
上記5.1では、USB通信規格でデータ伝送するためのデータ変換処理に注目して説明したが、実際には、クライアントコンピュータとUSBストレージ14の間には、デバイスサーバが介在しており、クライアントコンピュータとデバイスサーバ間では、TCP/IPによるネットワーク通信が行われる。かかるTCP/IPによる通信については、所定長のパケットに分割され、各パケットにはネットワークヘッダが付加されて、送受信される。TCP/IPによるネットワーク通信処理については、一般的な通信処理であるので、説明は省略する。かかるTCP/IPによるデータ処理は、ネットワークドライバ148が行う。
なお、仮想USBポートドライバ145および通信ドライバ45は、トンネリングヘッダの管理を行う。本実施形態においては、読み出しコマンド又は書き込みコマンドはトンネリングヘッダという領域に記載される。かかるコマンドは、最終的にはUSBストレージ14に転送されるが、デバイスサーバ5から繰り返し「DATAIN」コマンド(読み出しコマンド)を出す必要があるからである。また、かかるトンネリングヘッダに記述することにより、両者間でやり取りされるブロックデータと区別することもできる。
以下では、
クライアントコンピュータ2から読み出し指令が与えられる場合の読み出し処理について説明する。
クライアントコンピュータ2の操作者は、接続管理プログラム147(図3参照)を起動する。接続管理プログラム147は、ネットワーク上のデバイスサーバを検索する。この場合、デバイスサーバ5が接続されているので、かかる検索要求があると、デバイスサーバ5のサーバ側接続管理プログラム40は、接続機器情報テーブル42を参照して、接続されているUSB機器のリストを接続管理プログラム147に送信する。クライアントコンピュータ2の接続管理プログラム147は、これを画面上にリスト表示する。この場合、USBストレージ14だけが接続されているので、リストにはUSBストレージ14が表示される。
クライアントコンピュータ2の操作者は、接続管理プログラム147のGUI(図示せず)上からUSBストレージ14への接続要求を行う。かかる要求は、接続管理プログラム147からサーバ側接続管理プログラム40へ送られる。サーバ側接続管理プログラム40は、接続すべきデバイスがUSBストレージ14であると特定されたので、USBストレージ14のコンフィギュレーション情報をクライアントコンピュータ2の仮想USBポートドライバ145へ送信する。コンフィグレーション情報とは、例えばデバイスディスクリプタ情報などのUSBデバイスの機能性を定義する情報であり、USBプラグアンドプレイのために用いられる情報である。
仮想USBポートドライバ145は、TCP/IPプロトコルを用いて、通信ドライバ45との間で論理接続を確立するとともに、クライアントコンピュータ2のUSBプラグアンドプレイ機構(図示せず)にコンフィギュレーション情報を与え、USBプラグアンドプレイ処理を行わせる。
図7〜図11を用いて、クライアントコンピュータ2のOS139、USBストレージ用ドライバ142、仮想USBポートドライバ145(図3参照)による処理、およびデバイスサーバ5のストレージ制御プログラム44、通信ドライバ45、USBポートドライバ43(図4参照)による処理について説明する。
USBプラグアンドプレイ処理が完了すると、ファイルシステムネゴシエーション処理が開始される。クライアントコンピュータ2のUSBストレージ用ドライバ142は、仮想USBポートドライバ145(図3参照)を介してデバイスサーバの通信ドライバ45に対して、領域管理情報の取得要求のブロックヘッダを送る(図9ステップS101)。具体的には、領域管理情報は、開始アドレスおよびサイズは固定であるので、USBストレージ用ドライバ142は、かかる取得要求をブロックヘッダ情報にセットし、仮想USBポートドライバ145がトンネリングヘッダを付与して、ネットワークドライバ148に送る。ネットワークドライバ148は、図11Aに示すように、これにネットワークヘッダを付けてパケット送信する。
デバイスサーバ5のネットワークドライバ48(図4参照)は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、トンネリングヘッダ、およびブロックヘッダ情報を、通信ドライバ45(図4参照)に渡す。通信ドライバ45は、トンネリングヘッダを読み取るとともに、ブロックヘッダをストレージ制御プログラム44に渡す。
ストレージ制御プログラム44は、与えられたデータがブロックヘッダであるか否か判断する(図7ステップS3)。この場合、ブロックヘッダであるので、ストレージ制御プログラム44は、他のクライアントコンピュータによる排他制御中か否か判断する(ステップS5)。この場合、他のクライアントコンピュータによる排他制御中ではないので、ストレージ制御プログラム44は、排他制御フラグをセットし、排他制御を開始する。(ステップS9)。
ストレージ制御プログラム44は、ブロックヘッダに記述されているデータ長を抽出し、これから伝送されるブロックのデータ長を記憶する(ステップS11)。ここでは領域管理情報のサイズが抽出される。ストレージ制御プログラム44は、USBポートドライバ43によって、ブロックヘッダをUSBストレージ14へ送信する(ステップS13)。 これを受けて、USBストレージ14からヘッダ情報を受信した旨の信号(ACK信号)が返信されると、ストレージ制御プログラム44は、この信号を、通信ドライバ45およびネットワークドライバ48を用いてクライアントコンピュータ2へ返信する(ステップS15)。
これにより、デバイスサーバは、再びパケット受信待ち状態となる(ステップS1)。
一方、クライアントコンピュータ2の仮想USBポートドライバ145(図3参照)は、NAK信号またはACK信号を受信するか否か判断している(図9ステップS103)。この場合、ACK信号が返信されるので、USBストレージ用ドライバ142へACK信号であることを伝え、USBストレージ用ドライバ142は、読み出しコマンドを送信する(ステップS105)。具体的には、以下の処理が行われる。
USBストレージ用ドライバ142は、「DATAIN」コマンドを仮想USBポートドライバ145へ渡す。仮想USBポートドライバ145はパケットのトンネリングヘッダに「DATAIN」コマンドの設定を行う。そして読み出しするデータのデータサイズを決定し、これをトンネリングヘッダに追記する。かかるデータは、ネットワークドライバ148により、ネットワークヘッダが付加されて、デバイスサーバ5へ送信される。この場合のデータの構造を図11Bに示す。トンネリングヘッダにデータサイズを追記しているのは、後述するように、読み出しコマンドを繰り返す必要があるからである。
デバイスサーバ5のネットワークドライバ48(図4参照)は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、データを、通信ドライバ45に渡す。ストレージ制御プログラム44は、通信ドライバ45から受け取ったパケットの中味が、ブロックヘッダであるかどうかを判断する(図7ステップS3)。この場合、与えられたデータは、読み出しコマンドおよびそのデータ長が記述されたトンネリングヘッダである。よって、ブロックヘッダではないので、ストレージ制御プログラム44は、かかるデータが、既に受信しているブロックヘッダを送信してきたクライアントコンピュータからのデータであるか否かを判断する(図8ステップS21)。ステップS21における判断は、たとえばネットワークヘッダに記述されたクライアントコンピュータのIPアドレス等を参照すればよい。
ここでは、受け取ったデータは、ブロックヘッダを送信したクライアントコンピュータからのものであるので、ストレージ制御プログラム44は、トンネリングヘッダの設定が「DATAIN」か「DATAOUT」かを判断する(ステップS23)。この場合、「DATAIN」であるので、ストレージ制御プログラム44は、USBストレージ14宛に「DATAIN」コマンドを送信する命令を、USBポートドライバ43に行う(ステップS25)。
USBストレージ14は、「DATAIN」コマンドを受信すると、既にブロックヘッダによって指定された先頭アドレスとサイズのデータをデバイスサーバ5送信する。
デバイスサーバ5のストレージ制御プログラム44は、かかるデータを受信すると、指定されたデータ量を全て受信したか否か判断する(ステップS26)。これは、USB通信規格によると、1回の「DATAIN」コマンドで取得できるサイズが定められているからである。ここでは、1回の「DATAIN」コマンドで取得できたものとする。
なお、ストレージ制御プログラム44は、トンネリングヘッダに指定されたデータサイズ分のデータを受信していない場合には、USBポートドライバ43を介して「DATAIN」コマンドをUSBストレージ14に与える。(ステップS25)。
ストレージ制御プログラム44は、受信した領域管理情報を通信ドライバ45へ渡す。通信ドライバ45は、これにトンネリングヘッダを付加し、ネットワークドライバ48に渡す。ネットワークドライバ48は、これにネットワークヘッダを付加し、クライアントコンピュータ2に送信する(ステップS27)。この場合のデータ構造を図11Cに示す。
ストレージ制御プログラム44は、ブロックヘッダに記載されたデータ長のサイズを処理したかどうかを判断する(図8ステップS29)。ブロックヘッダに記載されたデータ長と一致すると判断した場合には、ストレージ制御プログラム44は、排他制御フラグをリセットして、排他制御を終了する(ステップS31)。この場合、領域管理情報は一回のやりとりで完了できるサイズであるので、ブロックヘッダに記載されたデータ長の処理が完了したと判断されて、排他制御は終了する。
なお、当然のことながら、トンネリングヘッダ中に記述されていたデータ(「DATAIN」や読み出しデータのデータ量など)については、かかるブロックヘッダに記載されたデータ長には含まれない。
このようにして、領域管理情報が読み出される。
つぎに、クライアントコンピュータ2のOS139は、ファイル管理テーブルおよびルートディレクトリを、読み出し対象データとして決定する(図9ステップS111)。そして、読み出し処理を行う(ステップS113)。ステップS113の処理について、図10を用いて説明する。
まず、USBストレージ用ドライバ142は、図9ステップS109にて記憶した領域管理情報に基づいて、1ブロックの大きさを決定する(図10ステップS121)。以下では、ファイル管理テーブルおよびルートディレクトリは1のブロックで伝送可能で、かつ3つのパケットで伝送される場合を例に説明する。
USBストレージ用ドライバ142は、処理対象ブロック番号iを初期化し(ステップS123)、仮想USBポートドライバ145に読み出し対象データの取得要求のブロックヘッダを送信するよう命令する。仮想USBポートドライバ145は、読み出し対象データのブロックヘッダを送信する(ステップS125)。
デバイスサーバ5の通信ドライバ45は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、トンネリングヘッダ、およびブロックヘッダ情報を、通信ドライバ45に渡す。通信ドライバ45は、トンネリングヘッダを読み取るとともに、ブロックヘッダをストレージ制御プログラム44に渡す。
ストレージ制御プログラム44は、与えられたデータがブロックヘッダであるか否か判断する(ステップS3)。この場合、ブロックヘッダであるので、ストレージ制御プログラム44は、他のクライアントコンピュータによる排他制御中か否か判断する(ステップS5)。この場合、他のクライアントコンピュータによる排他制御中ではないので、ストレージ制御プログラム44は、排他制御フラグをセットし、排他制御を開始する。(ステップS9)。
なお、ステップS9〜ステップS15の処理は、領域管理情報の場合と同様である。
一方、クライアントコンピュータ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はかかる命令を受けて、領域管理情報の場合と同様にして読み出しコマンドを送信する。
一方、デバイスサーバ5のネットワークドライバ48は、パケットを受信するか否か判断しており(図7ステップS1)、かかるパケットを受信すると、データを、通信ドライバ45に渡す。ストレージ制御プログラム44は、パケットがヘッダ情報であるかどうかを判断する(図7ステップS3)。この場合、与えられたデータは、読み出しコマンドおよびそのデータ長が記述されたトンネリングヘッダでありブロックヘッダではないので、ストレージ制御プログラム44は、既に受信しているブロックヘッダを送信してきたクライアントコンピュータからのデータであるか否かを判断する(図8ステップS21)。
ここでは、ブロックヘッダを送信したクライアントコンピュータからのデータであるので、ストレージ制御プログラム44は、トンネリングヘッダの設定が「DATAIN」か「DATAOUT」かを判断する(ステップS23)。この場合、「DATAIN」であるので、領域管理情報の場合と同様にして、USBストレージ14宛にかかる「DATAIN」コマンドが転送され、指定されたデータ量となるまで、かかる処理が繰り返される(ステップS25、ステップS26)。
USBストレージ14は、領域管理情報の場合と同様にして、既にブロックヘッダによって指定された先頭アドレスとサイズのデータをデバイスサーバ5送信する。
ストレージ制御プログラム44(図4参照)は、受信したファイル管理テーブルおよびルートディレクトリ情報を、領域管理情報の場合と同様にして、クライアントコンピュータ2に送信する(図8ステップS27)。
ストレージ制御プログラム44は、ブロックヘッダに記載されたデータ長のサイズを処理したかどうかを判断する(ステップS29)。この場合、ブロックヘッダに記載されたデータ長と一致しないので、ストレージ制御プログラム44は、図7のステップS1の処理に戻る。
一方、クライアントコンピュータ2の仮想USBポートドライバ145(図3参照)は、読み出しデータを受信するか否か判断している(図10ステップS133)。この場合、1番目のパケットについての読み出しデータが返信されるので、仮想USBポートドライバ145は、1番目のブロックについて全パケット受信完了したか否か判断する(ステップS135)。全パケットを受信したか否かは、従来と同様に、読み出し対象データのデータ量に応じていくつのパケットで受信できるかを把握しているので、これと比較すればよい。
この場合、全パケットを受信していないので、仮想USBポートドライバ145は、処理パケット番号をインクリメントする(ステップS137)。そして、2番目のパケットについて、ステップS131の処理を行う。
以下、仮想USBポートドライバ145は、1番目のパケットと同様にして、2番目、3番目のパケットを受信する。
クライアントコンピュータ2の仮想USBポートドライバ145は、3番目のパケットを受信すると、全パケットを受信したと判断して、USBストレージ用ドライバ142へ伝え、ステップS135からステップS139に進む。この場合、1ブロックで送れる場合であるので、USBストレージ用ドライバ142は、全ブロックについて完了したと判断して、読み込み処理は完了する。
なお、複数のブロックで送る場合には、ステップS141に進み、処理ブロック番号をインクリメントし、ステップS125以下の処理を繰り返せばよい。
一方、デバイスサーバ5のストレージ制御プログラム44(図4参照)は、3番目のパケットを送ったあと、ステップS29にて、受信量が記憶したデータ量一致すると判断し、排他制御を解除する(図8ステップS31)。
このようにして、ファイル管理テーブルおよびルートディレクトリ情報が読み出される。
同様にして、ファイル管理テーブルおよびルートディレクトリ情報を参照して、対応するファイルが読み出される。
書き込みの場合のフローチャートを図12、13に示す。図12に示すステップS201〜ステップS213までは、データ読み出し時の図9ステップS101〜ステップS113と同様である。ステップS215にて、指定されたファイルを書き込み対象として決定し、ステップS217にてFAT情報およびルートディレクトリ情報を更新し、ステップS219にて書き込み処理をする点が異なる。
ステップS217の更新処理は、図9における読み出し処理とほぼ同じである。まず、図13のステップS221〜ステップS229については、図9ステップS121〜ステップS129と同様である。ただし、ステップS225では、書き込み対象データの取得要求のブロックヘッダが送信される点が異なる。
また、ステップS231にて、書き込みコマンドだけでなく、書き込み対象のデータが送信される点が異なる。書き込み対象のデータが送信される場合のデータ構造を図11Dに示す。このようにトンネリングヘッダに「DATAOUT」コマンド(書き込みコマンド)が書き込まれ、書き込み対象データがその後に付与されている。
かかるデータを受け取ると、デバイスサーバ5のストレージ制御プログラム44(図4参照)は、図7ステップS1、ステップS3から、図8ステップS21を経て、トンネリングヘッダの設定が「DATAOUT」であるか否か判断する(図8ステップS23)。この場合、トンネリングヘッダの設定は「DATAOUT」であるので、USBストレージ14宛に「DATAOUT」コマンドとともに、書き込み対象データを送る(ステップS35)。ストレージ制御プログラム44は、USBストレージ14にすべてのデータを送信したか否か判断している(ステップS36)。全てのデータを送信すると、ストレージ制御プログラム44は、クライアントコンピュータ3へACK信号を送信する(ステップS37)。
クライアントコンピュータ3の仮想USBポートドライバ145は、ACK信号を受信するか否か判断している(図13ステップS233)。ACK信号を受け取った後の、ステップS235〜ステップS241の処理は読み出しの場合と同様であるので説明は省略する。
このようにして、FAT情報およびルートディレクトリ情報が更新される。その後、クライアントコンピュータ3のOS139(図3参照)は、書き込み処理を行う(図12ステップS219)ステップS219の書き込み処理は、ステップS217と同様であるので説明は省略する。このようにして、書き込み処理が実行される。
5.3 競合した場合の処理
なお、上記処理にて、デバイスサーバ5は、あるクライアントコンピュータからブロックヘッダのパケットを受信した時、現在、他のクライアントコンピュータによって、排他制御中か否か判断し、該当する場合には、NAK信号をブロックヘッダのパケットを送信したクライアントコンピュータに返信する。かかる排他制御は、ブロックヘッダで指定されたデータ長のデータを伝送する間繰り返される。前記NAK信号を受け取ったクライアントコンピュータは、前記ブロックヘッダのパケットを再送する。
すなわち、各クライアントコンピュータは、他のクライアントコンピュータによる排他制御中でない時に、ブロックヘッダパケットを受信させることができれば、当該ブロックヘッダで指定されたデータ長のデータを送る間はデバイスサーバ5を専有することができる。これにより、ブロック単位の排他制御が可能となる。
このような2台のクライアントコンピュータ間におけるブロック単位の排他制御について図14を用いて説明する。図14は、排他制御していない状況で、2台のクライアントコンピュータから読み出し要求がなされた場合の処理を示すシーケンスチャートである。
具体的には、クライアントコンピュータ2による排他制御が開始され、その後、クライアントコンピュータ3からブロックヘッダが送信された場合の処理を示す図である。
クライアントコンピュータ2は、ブロックヘッダ情報をデバイスサーバ5に送信する(図14ステップC1)。デバイスサーバ5はこれを受けて、排他制御を開始するとともに(ステップC2)、ブロックヘッダ情報から、引き続き送られてくるデータブロックのデータ長を抽出する(ステップC3)。デバイスサーバ5はUSBストレージ14にブロックヘッダ情報を送信する(ステップC4)。デバイスサーバ5は、USBストレージ14から受け取った結果をクライアントコンピュータ2に返信する。
そのあと、クライアントコンピュータ3がブロックヘッダ情報をデバイスサーバ5に送信すると(ステップC6)、デバイスサーバ5は排他制御中であるか否か判断し、この場合、クライアントコンピュータ2による排他制御中であるので、NAK信号を返す(ステップC7)。クライアントコンピュータ3は、NAK信号を受け取ったので、ブロックヘッダ情報をデバイスサーバ5に再送する(ステップC8)。かかるブロックヘッダ情報を受け取ると、デバイスサーバ5は排他制御中であるか否か判断し、クライアントコンピュータ2による排他制御中であるので、NAK信号を返す(ステップC9)。
一方、クライアントコンピュータ2は、読み出し命令をデバイスサーバ5に送信する。デバイスサーバ5は、これをUSBストレージ14に送る。USBストレージ14からデバイスサーバ5を介して、クライアントコンピュータ2にデータが送られる(ステップC10、ステップC11)。
デバイスサーバ5は、ステップC1で送信されたブロックヘッダで特定されるデータ量のデータ伝送が完了すると、排他制御を終了する(ステップC12)。この状態で、クライアントコンピュータ3がブロックヘッダ情報をデバイスサーバ5に送信すると(ステップC13)、デバイスサーバ5は排他制御を開始し(ステップC14)、ブロックヘッダ情報からデータ長を抽出する(ステップC15)。以下同様にして、ブロックヘッダ情報の送信、結果送信が行われる(ステップC16、ステップC17)。
図14では読み出し処理が競合した場合について説明したが、読み出し処理と書き込み処理、書き込み処理同士が競合した場合も同様に、ブロック単位で排他制御が行うことができる。
このようにブロック単位で排他制御が行われることにより、複数のクライアントコンピュータからの伝送処理の要求が競合した場合でも、無駄な空白期間が発生することを防止できる。よって、USBストレージのように、ネットワーク機能を有しておらず、あるクライアントコンピュータが読み出し又は書き込みをしている場合には、当該ファイルへの書き込み・読み出しを行っている間中、当該コンピュータに専有される方式の記憶媒体であっても、ネットワークに接続して、無駄な空き時間がなく書き込みまたは読み出し処理が可能となる。
7.他の実施形態
上記実施形態においては、ストレージ機器としてUSBストレージを採用した場合について説明したが、ストレージ機器であれば、これに限定されない。
また、USB規格に限定されず、例えばIEEE1394規格であってもよい。要するに、あるコンピュータがデータの読み書きを行っている場合は、処理が終了するまで専有する通信規格であればどのようなものであってもよい。
また、本実施形態においては、デバイスサーバ5にUSBストレージ14が一台だけ接続されている場合について説明したが、デバイスサーバには他のUSB機器を接続することもできる。デバイスサーバは、クライアントコンピュータから接続機器情報の要請があった場合には、USBストレージ機器以外のUSB機器については、現在他のクライアントコンピュータが使用中である場合には、当該使用中の処理が完了しない限り、2台のクライアントコンピュータから同時使用はできない。したがって、従来と同様に、”現在使用中であるので使用できません”という旨の報知表示等を行えばよい。
本実施形態においては、FAT16型のディスクフォーマットを例として説明したが、他のディスクフォーマットの場合も同様に適用できる。
上記実施形態の説明では、図2に示す機能を実現する為に、CPUを用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。
本実施形態においては、デバイスサーバに新たな制御プログラムをインストールするだけで、クライアントコンピュータについては従来のデバイスサーバの制御プログラムを変更する必要はない。また、上記処理を実行するために、複数のドライバなどを用いて処理する場合について説明したが、これらをまとめるようにしてもよい。
なお、上記プログラムの一部の処理をオペレーティングシステム(OS)にさせるようにしてもよい。
従来のネットワークファイル管理システムの概要を示す図である。 本発明にかかるデバイスサーバ5の機能ブロック図である。 本発明にかかるネットワークファイル管理システムにおけるクライアントコンピュータを、CPUを用いて実現したハードウェア構成の一例を示す図である。 本発明にかかるネットワークファイル管理システムにおけるデバイスサーバを、CPUを用いて実現したハードウェア構成の一例を示す図である。 USBストレージ14の記憶領域のデータ構造である。 USB通信規格におけるデータ伝送を説明する図である。 デバイスサーバ5における処理フローチャートである。 デバイスサーバ5における処理フローチャートである。 クライアントコンピュータにおける読み出し処理フローチャートである。 図9ステップS117の詳細フローチャートである。 クライアントコンピュータとデバイスサーバとの間でやり取りされるデータのデータ構造である。 クライアントコンピュータにおける書き込み処理フローチャートである。 図12ステップS217の詳細フローチャートである。 複数のクライアントコンピュータからブロックヘッダ情報が競合した場合の処理を説明する図である。
符号の説明
1・・・・・・・・・ネットワークファイル管理システム
2・・・・・・・・・クライアントコンピュータ
3・・・・・・・・・クライアントコンピュータ
4・・・・・・・・・クライアントコンピュータ
5・・・・・・・・・デバイスサーバ
14・・・・・・・・・USBストレージ

Claims (7)

  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ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除すること、
    を特徴とするネットワークファイル管理システム。
  2. 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デバイスサーバ。
  3. データの書き込みまたは読み出しが可能なストレージ機器と、複数のクライアントコンピュータとをネットワーク接続するデバイスサーバであって、
    前記各クライアントコンピュータと前記ストレージ機器との間では、1のファイルを複数のブロックに分割してブロックデータとしてファイル伝送処理が行われ、
    前記いずれかのクライアントコンピュータによるデータ伝送専有状態では、当該クライアントコンピュータから前記ストレージ機器へのデータが与えられるとこれを前記ストレージ機器へ与え、前記ストレージ機器から当該クライアントコンピュータへのデータが与えられるとこれを当該クライアントコンピュータへ与えるデバイスサーバにおいて、
    特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、
    前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信し、
    前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記ストレージ機器にそのヘッダデータを送信し、
    前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除すること、
    を特徴とするデバイスサーバ。
  4. データの書き込みまたは読み出しが可能なストレージ機器と、複数のクライアントコンピュータとをネットワーク接続するデバイスサーバであって、
    前記各クライアントコンピュータと前記ストレージ機器との間では、1のファイルを複数のブロックに分割してブロックデータとしてファイル伝送処理が行われ、
    前記いずれかのクライアントコンピュータによるデータ伝送専有状態では、当該クライアントコンピュータから前記ストレージ機器へのデータが与えられるとこれを前記ストレージ機器へ与え、前記ストレージ機器から当該クライアントコンピュータへのデータが与えられるとこれを当該クライアントコンピュータへ与えるデバイスサーバにおいて、
    特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、
    前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信し、
    前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記ヘッダデータで特定されるデータ長のブロックデータが伝送される間だけ、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記ストレージ機器にそのヘッダデータを送信すること、
    を特徴とするデバイスサーバ。
  5. 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)前記ヘッダデータを送信したクライアントコンピュータによるデータ転送モードになってから、前記ヘッダデータを送信したクライアントコンピュータと前記ストレージ機器との間でやり取りされる伝送対象データについて、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ転送モードを解除する、
    を特徴とするデバイスサーバ。
  6. A)データの書き込みまたは読み出しが可能なストレージ機器に、複数のクライアントコンピュータからファイル伝送する方法であって、
    B)前記各クライアントコンピュータと前記ストレージ機器との間では、1のファイルを複数のブロックに分割したブロックデータとして伝送処理が行われ、
    C)前記各クライアントコンピュータは、以下のc1)〜c3)の処理にて前記ストレージ機器との間で前記ブロックデータの伝送を行うファイル伝送方法において、
    c1)伝送対象のブロックデータのデータ長を含むヘッダデータを前記ストレージ機器に送信し、
    c2)その後、前記ストレージ機器から前記ヘッダデータを受け取ったことを示す返答データを受け取ると、前記ブロックデータのデータ伝送を開始し、
    c3)不成立信号を受け取ると同じデータを再度、前記ストレージ機器へ送る、
    D)前記ストレージ機器と前記複数のクライアントコンピュータとの間に設けたデバイスサーバに、以下の処理を実行させること、
    d1)特定のクライアントコンピュータから、前記伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断する、
    d2)前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信する、
    d3)前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記ストレージ機器にそのヘッダデータを送信する、
    d4)与えられた転送データが、データ伝送専有状態とした前記特定のクライアントコンピュータと前記ストレージ機器間のデータ伝送であれば、これを転送する、
    d5)前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記ストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送されたか否か判断し、伝送された場合には、前記データ伝送専有状態を解除する、
    を特徴とするファイル伝送方法。
  7. USBストレージ機器と複数のクライアントコンピュータとをネットワーク接続するUSBデバイスサーバであって、
    特定のクライアントコンピュータから、伝送されるブロックデータのデータ長を含んだヘッダデータが与えられると、現在、別のクライアントコンピュータによるデータ伝送専有状態であるか否か判断し、
    前記別のクライアントコンピュータによるデータ伝送専有状態である場合には当該ブロックデータを送信した前記特定のクライアントコンピュータに不成立信号を返信し、
    前記別のクライアントコンピュータによるデータ伝送専有状態でない場合には、前記特定のクライアントコンピュータによるデータ伝送専有状態とするとともに、前記USBストレージ機器にそのヘッダデータを送信し、
    前記特定クライアントコンピュータについて、データ伝送専有状態となったあと、前記特定クライアントコンピュータと前記USBストレージ機器との間で、前記ヘッダデータで特定されるデータ長のブロックデータが伝送された場合には、前記データ伝送専有状態を解除すること、
    を特徴とするUSBデバイスサーバ。
JP2006147928A 2006-05-29 2006-05-29 ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法 Expired - Fee Related JP4418920B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006147928A JP4418920B2 (ja) 2006-05-29 2006-05-29 ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006147928A JP4418920B2 (ja) 2006-05-29 2006-05-29 ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法

Publications (2)

Publication Number Publication Date
JP2007317067A true JP2007317067A (ja) 2007-12-06
JP4418920B2 JP4418920B2 (ja) 2010-02-24

Family

ID=38850853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006147928A Expired - Fee Related JP4418920B2 (ja) 2006-05-29 2006-05-29 ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法

Country Status (1)

Country Link
JP (1) JP4418920B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113606A (ja) * 2008-11-07 2010-05-20 Canon Imaging Systems Inc デバイス共有システム、デバイス共有クライアント、及びデバイス共有方法
US8849999B2 (en) 2011-05-06 2014-09-30 Canon Imaging Systems Inc. Device control apparatus and method for monitoring device, client apparatus, and device control system
US9654588B2 (en) 2009-11-04 2017-05-16 Canon Imaging Systems Inc. Device control apparatus, client apparatus, device control method, and device control system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113606A (ja) * 2008-11-07 2010-05-20 Canon Imaging Systems Inc デバイス共有システム、デバイス共有クライアント、及びデバイス共有方法
US9654588B2 (en) 2009-11-04 2017-05-16 Canon Imaging Systems Inc. Device control apparatus, client apparatus, device control method, and device control system
US8849999B2 (en) 2011-05-06 2014-09-30 Canon Imaging Systems Inc. Device control apparatus and method for monitoring device, client apparatus, and device control system

Also Published As

Publication number Publication date
JP4418920B2 (ja) 2010-02-24

Similar Documents

Publication Publication Date Title
US20090019187A1 (en) Peripheral Device Using Method, and Peripheral Device Server
JP4900760B2 (ja) Osイメージのデプロイメントマシン及び方法
JP5106481B2 (ja) クライアントによってサーバを遠隔制御する装置およびその方法、ならびに、ビデオデータとユーザ入力装置データとを通信する方法
US20090319909A1 (en) Data Transfer Systems, Switches, and Method of Providing the Same
US9680885B2 (en) Information processing apparatus and terminal device that communicate with each other
KR101212872B1 (ko) 동기화 방법 및 시스템
JP2017513096A (ja) コンピュータ、制御デバイス及びデータ処理方法
JP2008017446A (ja) デバイス装置および接続制御方法
US20220200660A1 (en) File transmission/reception device and control method of file transmission/reception device
JP6191022B2 (ja) アクセス装置、情報記録装置およびアクセスシステム
JP2007280261A (ja) ネットワーク上の機器を共有可能とする可搬型仮想記憶装置
US7949796B2 (en) Device and file transfer system
JP2007074715A (ja) バスリセットの発生時に識別情報を獲得する装置及びその方法
JP4418920B2 (ja) ネットワークファイル管理システム、デバイスサーバおよびファイル伝送方法
JP5581470B2 (ja) デバイス共有システム、デバイス共有サーバ、デバイス共有クライアント、およびデバイス共有方法
US20110119348A1 (en) Methods and systems for transmitting disk images
JP2010286900A (ja) 画像表示装置、画像表示システム及び画像表示方法
JP4900805B2 (ja) Osイメージのデプロイメントマシン及び方法
JP2003281072A (ja) デバイス制御方法および装置
JP4792361B2 (ja) 応答装置、応答方法及び応答プログラム
JP6281369B2 (ja) 通信システム及び通信プログラム
WO2021184291A1 (zh) 传输数据的方法、装置和系统
JP5470518B2 (ja) デバイス共有システム、デバイス共有クライアント、およびデバイス共有方法
JP2003051824A (ja) 通信方法、通信システム、プログラム及び記憶媒体
CN114020665A (zh) 一种信息传输方法、装置及传输系统

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