通信方法、通信機器、ストレージ機器、及び制御プログラム
【課題】情報端末機器に対して各種設定を行う必要がなく、セキュリティを高めつつ、大容量の記憶領域を構成できるようにする。
【解決手段】USBドングル200は、ホストPC100に接続された後、USBマスストレージクラスであることを示すデバイスクラス情報をホストPC100に送信し、USBドングル200が、USBドングル200に割り当てられた特定の記憶領域を有するNAS300との通信を確立し、ホストPC100は、USBドングル200の記憶領域に関する問い合せコマンドをUSBドングル200に送信し、USBドングル200は、ホストPC100からの問い合せコマンドを受信した後、当該受信した問い合せコマンドをNAS300に転送し、NAS300は、USBドングル200からの問い合せコマンドを受信した後、特定の記憶領域に関するディスク情報をUSBドングル200に送信する。
【解決手段】USBドングル200は、ホストPC100に接続された後、USBマスストレージクラスであることを示すデバイスクラス情報をホストPC100に送信し、USBドングル200が、USBドングル200に割り当てられた特定の記憶領域を有するNAS300との通信を確立し、ホストPC100は、USBドングル200の記憶領域に関する問い合せコマンドをUSBドングル200に送信し、USBドングル200は、ホストPC100からの問い合せコマンドを受信した後、当該受信した問い合せコマンドをNAS300に転送し、NAS300は、USBドングル200からの問い合せコマンドを受信した後、特定の記憶領域に関するディスク情報をUSBドングル200に送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ記憶のための通信方法、通信機器、ストレージ機器、及び制御プログラムに関する。
【背景技術】
【0002】
近年、データを記憶するための記憶デバイスとして、情報端末機器(例えば、PC(Personal Computer))に接続して使用されるUSB(Universal Serial Bus)機器が普及している。当該USB機器は、データを記憶するための不揮発性記憶手段(例えば、フラッシュメモリ)を有し、情報端末機器は、当該USB機器をUSBマスストレージクラスのデバイスとして認識する。
【0003】
一方で、データを記憶するための記憶デバイスとして、情報端末機器とネットワークを介して通信を行うストレージ機器も普及している。情報端末機器は、このようなストレージ機器との間にセキュアな通信路を確立し、当該通信路を介してストレージ機器に対するデータ書き込み/読み出しを行う(例えば特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−97591号公報
【特許文献2】特表2008−503799号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したUSB機器は、小型・軽量であるため持ち運びに便利であるものの、記憶容量が少ないという問題や、紛失時の情報漏洩といったセキュリティ上の問題がある。
【0006】
これに対し、ネットワーク上に設けられるストレージ機器は、記憶容量の問題やセキュリティ上の問題を回避できるものの、情報端末機器からストレージ機器へのアクセスを可能にするための各種設定が情報端末機器に対して必要であり、情報端末機器を扱うユーザの負担が大きい問題がある。
【0007】
そこで、本発明は、情報端末機器に対して各種設定を行う必要がなく、セキュリティを高めつつ、大容量の記憶領域を構成できる通信方法、通信機器、ストレージ機器、及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、本発明は以下のような特徴を有している。
【0009】
本発明に係る通信方法は、データを記憶するための不揮発性記憶手段を有しない通信機器(例えば、USBドングル200)が、前記通信機器のインターフェイスを介して情報端末機器(例えば、ホストPC100)に電気的に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信するステップと、前記通信機器が、前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器(例えば、NAS300)との通信を確立するステップと、前記情報端末機器が、前記デバイスクラス情報に応じて前記通信機器をマスストレージクラスのデバイスと認識した後、前記通信機器の記憶領域に関する問い合せコマンド(例えば、SCSIコマンド)を前記通信機器に送信するステップと、前記通信機器が、前記情報端末機器からの前記問い合せコマンドを受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送するステップと、前記ストレージ機器が、前記通信機器からの前記問い合せコマンドを受信した後、前記特定の記憶領域に関する記憶領域情報(例えば、ディスク情報)を前記通信機器に送信するステップと、前記通信機器が、前記情報端末機器からの前記記憶領域情報を受信した後、当該受信した記憶領域情報を前記情報端末機器に転送するステップと、を有することを特徴とする。
【0010】
このような通信方法によれば、情報端末機器は、通信機器を一般的なマスストレージクラスのデバイスとして取り扱うことができるため、複雑な設定を情報端末機器に対して行う必要がない。また、通信機器はデータを記憶するための不揮発性記憶手段を有しないため、紛失しても情報漏洩が生じることがなく、セキュリティを高めることができる。さらに、情報端末機器から見える通信機器の記憶領域は、実際にはストレージ機器の記憶領域であるため、大容量の記憶領域を構成できる。
【0011】
したがって、上述した通信方法によれば、情報端末機器に対して各種設定を行う必要がなく、セキュリティを高めつつ、大容量の記憶領域を構成できる。
【0012】
本発明に係る通信機器は、データを記憶するための不揮発性記憶手段を有しない通信機器(例えば、USBドングル200)であって、情報端末機器(例えば、ホストPC100)と電気的に接続可能なインターフェイス(例えば、USB I/F201)と、前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器(例えば、NAS300)との通信を行うための通信手段(例えば、無線LANモジュール204)と、前記インターフェイス及び前記通信手段を制御するための制御手段(例えば、CPU202、メモリ203)と、を有し、前記制御手段は、前記インターフェイスが前記情報端末機器に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信し、前記情報端末機器からの前記通信機器の記憶領域に関する問い合せコマンドを前記インターフェイスが受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送し、前記ストレージ機器からの前記特定の記憶領域に関する記憶領域情報を前記通信手段が受信した後、当該受信した記憶領域情報を前記情報端末機器に転送する、ことを特徴とする。
【0013】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記情報端末機器からの読み出しコマンドを前記インターフェイスが受信した後、当該受信した読み出しコマンドを前記ストレージ機器に転送し、前記ストレージ機器からの読み出しデータを前記通信手段が受信した後、当該受信した読み出しデータを前記情報端末機器に転送する。
【0014】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記情報端末機器からの書き込みコマンドを前記インターフェイスが受信した後、当該受信した書き込みコマンドを前記ストレージ機器に転送し、前記情報端末機器からの書き込みデータを前記インターフェイスが受信した後、当該受信した書き込みデータを前記ストレージ機器に転送する。
【0015】
本発明に係る通信機器の他の特徴によれば、前記インターフェイスは、USBインターフェイスである。
【0016】
本発明に係る通信機器の他の特徴によれば、前記通信手段は、近距離無線通信を行う近距離無線通信モジュール(例えば、無線LANモジュール204)を含む。なお、本明細書において近距離無線通信とは、到達距離の短い無線通信を意味し、近接場(near field)型の無線通信方式に限らず、無線LANなどの構内無線通信方式も含む。 本発明に係る通信機器の他の特徴によれば、前記近距離無線通信は、無線LAN通信である。
【0017】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記ストレージ機器との通信をIPパケット通信により行う。
【0018】
本発明に係る通信機器の他の特徴によれば、前記IPパケット通信は、iSCSIプロトコルを使用する。
【0019】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記ストレージ機器との通信を確立するまでに前記情報端末機器からの前記問い合せコマンドを前記インターフェイスが受信した場合に、前記情報端末機器に対して否定応答を送信し、前記ストレージ機器との通信を確立した後に前記情報端末機器からの前記問い合せコマンドを前記インターフェイスが受信した場合に、当該受信した問い合せコマンドを前記ストレージ機器に転送する。
【0020】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記通信機器の使用開始時に、前記通信機器の識別子を前記ストレージ機器に送信し、前記識別子の送信後に前記ストレージ機器との通信のための設定情報及び/又はファイル暗号化キーを前記ストレージ機器から受信すると、当該受信した設定情報及び/又はファイル暗号化キーを記憶する。
【0021】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記ストレージ機器と共有するファイル暗号キーを用いて、書き込みデータの暗号化及び読み出しデータの復号化を行う。
【0022】
本発明に係るストレージ機器は、記憶手段(例えば、HDD305)を有するストレージ機器であって、データを記憶するための不揮発性記憶手段を有しない通信機器(例えば、USBドングル200)との通信を行うための通信手段(例えば、無線LANモジュール304)と、前記記憶手段及び前記通信手段を制御するための制御手段(例えば、CPU302、メモリ303)と、を有し、前記制御手段は、前記記憶手段の少なくとも一部である特定の記憶領域を前記通信機器に割り当て、前記通信機器の記憶領域に関する問い合せコマンドを前記通信手段が受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信する、ことを特徴とする。
【0023】
本発明に係るストレージ機器の他の特徴によれば、前記制御手段は、前記通信機器の識別子を前記通信機器から受信した後、予め登録された識別子と当該受信した識別子とが一致する場合に、前記通信機器が前記ストレージ機器との通信を行うための設定情報及び/又はファイル暗号化キーを前記通信機器に送信する。
【0024】
本発明に係るストレージ機器の他の特徴によれば、前記通信手段は、近距離無線通信を行う近距離無線通信モジュール(例えば、無線LANモジュール304)を含む。
【0025】
本発明に係るストレージ機器の他の特徴によれば、前記近距離無線通信は、無線LAN通信である。
【0026】
本発明に係るストレージ機器の他の特徴によれば、前記制御手段は、前記通信機器との通信をIPパケット通信により行う。
【0027】
本発明に係るストレージ機器の他の特徴によれば、前記IPパケット通信は、iSCSIプロトコルを使用する。
【0028】
本発明に係るストレージ機器の他の特徴によれば、前記制御手段は、前記通信機器からのコマンドに応じて前記特定の記憶領域に対する書き込み/読み出しを行った場合に、当該書き込み/読み出しに関するログを記録する。
【0029】
本発明に係るストレージ機器の他の特徴によれば、前記制御手段は、前記通信機器と共有するファイル暗号キーを用いて、書き込みデータの暗号化及び読み出しデータの復号化を行う。
【0030】
本発明に係る制御プログラムは、情報端末機器と電気的に接続可能なインターフェイスを有し、データを記憶するための不揮発性記憶手段を有しない通信機器に、前記インターフェイスが前記情報端末機器に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信するステップと、前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器との通信を確立するステップと、前記情報端末機器からの前記通信機器の記憶領域に関する問い合せコマンドを前記インターフェイスが受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送するステップと、前記ストレージ機器からの前記特定の記憶領域に関する記憶領域情報を受信した後、当該受信した記憶領域情報を前記情報端末機器に転送するステップと、を実行させることを特徴とする。
【0031】
本発明に係る制御プログラムは、記憶手段を有するストレージ機器に、データを記憶するための不揮発性記憶手段を有しない通信機器に対して、前記記憶手段の少なくとも一部である特定の記憶領域を割り当てるステップと、前記通信機器の記憶領域に関する問い合せコマンドを受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信するステップと、を実行させることを特徴とする。
【発明の効果】
【0032】
本発明によれば、情報端末機器に対して各種設定を行う必要がなく、セキュリティを高めつつ、大容量の記憶領域を構成できる通信方法、通信機器、ストレージ機器、及び制御プログラムを提供できる。
【図面の簡単な説明】
【0033】
【図1】本発明の実施形態に係る通信システムの全体構成図である。
【図2】本発明の実施形態に係るホストPCのブロック図である。
【図3】本発明の実施形態に係るUSBドングルのブロック図である。
【図4】本発明の実施形態に係るNASのブロック図である。
【図5】本発明の実施形態に係る通信システムにおける初期設定動作の動作シーケンス図である。
【図6】初期設定の完了後に、USBドングルをホストPCへ接続した際の動作シーケンス図である。
【図7】図6の動作が完了した後に、データ読み出しを行う際の動作シーケンス図である。
【図8】図6の動作が完了した後に、データ書き込みを行う際の動作シーケンス図である。
【図9】本発明の実施形態の変形例1に係る通信システムの全体構成図である。
【図10】本発明の実施形態の変形例1に係るNASのブロック図である。
【図11】本発明の実施形態の変形例2に係る通信システムの全体構成図である。
【図12】本発明の実施形態の変形例2に係るUSBドングルのブロック図である。
【図13】本発明の実施形態の変形例3に係るUSBドングルのブロック図である。
【図14】本発明の実施形態の変形例3に係るNASのブロック図である。
【図15】本発明の実施形態の変形例4に係るUSBドングルのブロック図である。
【図16】本発明の実施形態の変形例4に係るNASのブロック図である。
【発明を実施するための形態】
【0034】
図面を参照して、本発明の実施形態を説明する。以下の実施形態における図面において、同一又は類似の部分には同一又は類似の符号を付す。
【0035】
図1は、本実施形態に係る通信システムの全体構成図である。図1に示すように、本実施形態に係る通信システムは、ホストPC100、USBドングル200、NAS(Network Attached Storage)300、及び管理者PC400を有する。NAS300及び管理者PC400は、LAN(Local Area Network)などのネットワーク10に接続される。
【0036】
本実施形態において、ホストPC100は情報端末機器に相当し、USBドングル200は通信機器に相当し、NAS300はストレージ機器に相当する。本実施形態では、ドングル型のUSB機器(USBドングル200)を例に説明するが、ドングル型以外のタイプであってもよい。また、USBドングル200のホスト機器は、PCに限らず、他の機器であってもよい。
【0037】
ホストPC100は、ユーザによって操作されるノートPC又はデスクトップPCであり、USBドングル200のホスト機器として動作する。ホストPC100は、USBプラグアンドプレイに対応している。
【0038】
USBドングル200は、ホストPC100に接続される。USBドングル200は、ホストPC100に対して仮想的な記憶領域を提供する。USBドングル200は、NAS300との近距離無線通信を行う。本実施形態では、近距離無線通信は、無線LAN(例えば、IEEE802.11規格)に準拠した通信である。
【0039】
NAS300は、ホストPC100に対して提供すべき実記憶領域を有する。NAS300は、USBドングル200との近距離無線通信を行う。USBドングル200は、NAS300の通信可能範囲内(無線LANエリア内)にあるときに限り、NAS300との無線LAN通信を行い、ホストPC100に仮想的な記憶領域を提供する。
【0040】
なお、USBドングル200は、使用開始時に、初期設定のためにNAS300に接続される。NAS300は、USBドングル200の使用開始時にはUSBドングル200に対して初期設定を行う。当該初期設定の詳細については後述する。
【0041】
管理者PC400は、管理者によって操作されるノートPC又はデスクトップPCであり、ネットワーク10を介してNAS300に対する初期設定を行う。
【0042】
図2は、ホストPC100のブロック図である。図2に示すように、ホストPC100は、USB I/F101、CPU102、メモリ103、HDD(Hard Disk Drive)104、ディスプレイ105、キーボード106、マウス107を有する。
【0043】
USB I/F101は、USB規格に準拠して構成されたインターフェイス(I/F)であり、本実施形態ではUSBドングル200が接続される。USB I/F101は、CPU102の制御下で、各種のコマンドやデータを接続先のUSB I/Fと送受信する。
【0044】
CPU102は、メモリ103やHDD104に記憶されている制御プログラムを実行することで、ホストPC100の各種機能を制御する。メモリ103は、CPU102によって実行される制御プログラムを記憶するとともに、CPU102の作業領域として使用される。HDD104は、各種データを記憶する。
【0045】
ディスプレイ105は、CPU102の制御下で各種の表示を行う。キーボード106及びマウス107は、ユーザからの入力を受け付けて、当該入力に対応する信号をCPU102に出力する。
【0046】
なお、管理者PC400のブロック構成は、ホストPC100のブロック構成と同様である。
【0047】
図3は、USBドングル200のブロック図である。図3に示すように、USBドングル200は、USB I/F201、CPU202、メモリ203、無線LANモジュール204を有する。
【0048】
USB I/F201は、USB規格に準拠して構成されたI/Fであり、本実施形態ではホストPC100又はNAS300に接続される。USB I/F201は、CPU202の制御下で、各種のコマンドやデータを接続先のUSB I/Fと送受信する。また、USB I/F201は、接続先のUSB I/Fからの電力供給を受ける。
【0049】
CPU202は、メモリ203に記憶されている制御プログラムを実行することで、USBドングル200の各種機能を制御する。メモリ203は、CPU202によって実行される制御プログラムを記憶するとともに、CPU202の作業領域として使用される。例えば、メモリ203は、制御プログラムや設定情報などを記憶するためのフラッシュメモリと、データバッファとして使用されるRAMと、を含む。本実施形態では、CPU202及びメモリ203は、USBドングル200における制御手段を構成する。
【0050】
また、メモリ203は、USBドングル200の識別情報及びデバイスクラス情報を予め記憶している。USBドングル200の識別情報とは、例えば、USBドングル200のベンダーID、プロダクトID、MACアドレス、UDID、UUIDなどである。デバイスクラス情報とは、USB規格で規定されるDevice Descriptorに含まれる情報であり、USB機器の種別を示すものである。メモリ203に記憶されているデバイスクラス情報は、USBマスストレージデバイスを示す。
【0051】
無線LANモジュール204は、CPU202の制御下で無線LAN通信を行うための通信モジュールであり、本実施形態では、無線LAN子機としての機能を有する。また、本実施形態では、無線LANモジュール204は、USBドングル200における通信手段に相当する。
【0052】
このように、USBドングル200は、制御プログラムや設定情報などを記憶するための不揮発性記憶手段を有するものの、データ(ユーザデータ)を記憶するための不揮発性記憶手段を有していない。
【0053】
図4は、NAS300のブロック図である。図4に示すように、NAS300は、USB I/F301、CPU302、メモリ303、無線LANモジュール304、1又は複数のHDD305、及び有線LAN I/F306を有する。
【0054】
USB I/F301は、USB規格に準拠して構成されたI/Fであり、本実施形態ではUSBドングル200が接続される。USB I/F301は、CPU302の制御下で、各種のコマンドやデータを接続先のUSB I/Fと送受信する。
【0055】
CPU302は、メモリ303やHDD305に記憶されている制御プログラムを実行することで、NAS300の各種機能を制御する。メモリ303は、CPU302によって実行される制御プログラムを記憶するとともに、CPU302の作業領域として使用される。本実施形態では、CPU302及びメモリ303は、NAS300における制御手段を構成する。
【0056】
無線LANモジュール304は、CPU302の制御下で無線LAN通信を行うための通信モジュールであり、本実施形態では、無線LAN親機としての機能を有する。また、本実施形態では、無線LANモジュール304は、NAS300における通信手段に相当する。
【0057】
HDD305は、CPU302の制御下でデータの記憶を行う。HDD305は、RAIDディスクアレイとして取り扱われてもよい。本実施形態では、HDD305は、NAS300における記憶手段に相当する。なお、NAS300における記憶手段は、HDDに限らず、SSD(Solid State Drive)などであってもよい。
【0058】
メモリ303又はHDD305は、NAS300との通信のための設定情報として、無線LANセッション確立のための情報(ESSIDや暗号化キー)や、iSCSIのログイン情報を予め記憶している。また、メモリ303又はHDD305は、ファイル暗号化/復号化のためのファイル暗号化キーを予め記憶していている。なお、iSCSIとは、SCSIプロトコルをTCP/IP上で使用するための規格である。
【0059】
有線LAN I/F306は、ネットワーク10に接続され、CPU302の制御下で管理者PC400との通信を行う。
【0060】
次に、本実施形態に係る通信システムの動作を説明する。図5は、本実施形態に係る通信システムにおける初期設定動作の動作シーケンス図である。
【0061】
図5に示すように、ステップS101において、管理者PC400は、NAS300に対して管理者権限でログインする。
【0062】
ステップS102において、NAS300のCPU302は、初期設定画面を管理者PC400に表示させるための情報を有線LAN I/F306から管理者PC400へ送信させる。
【0063】
ステップS103において、管理者PC400は、NAS300から受信する情報に基づいて初期設定画面を表示する。管理者は、初期設定画面に基づいて、USBドングル200に割り当てるべきNAS300の記憶領域(HDD305の記憶領域)の範囲を論理アドレスで指定する。管理者PC400は、指定された論理アドレスの情報をNAS300に送信する。
【0064】
なお、USBドングル200が複数である場合には、複数のUSBドングル200毎に論理アドレスの範囲が指定される。
【0065】
ステップS104において、NAS300のCPU302は、有線LAN I/F306が論理アドレスの情報を受信すると、当該受信した情報に応じて、HDD305の記憶領域のうち指定された範囲を割り当てる。詳細には、CPU302は、当該指定された範囲を割り当て済み領域(以下、「特定の記憶領域」と称する)として設定する。
【0066】
ステップS105において、管理者は、初期設定画面に基づいてUSBドングル200の識別情報を入力する。管理者PC400は、入力された識別情報をNAS300に送信する。上述したように、USBドングル200の識別情報とは、例えば、USBドングル200のベンダーID、プロダクトID、MACアドレス、UDID、UUIDなどである。
【0067】
NAS300のCPU302は、有線LAN I/F306がUSBドングル200の識別情報を受信すると、当該受信した識別情報をメモリ303又はHDD305に記憶させる。記憶(登録)された識別情報は、NAS300へのアクセスが許可されるUSBドングル200の判別に使用される。
【0068】
また、CPU302は、上述した特定の記憶領域の論理アドレス情報と当該識別情報とを対応付けてメモリ303又はHDD305に記憶させる。これにより、USBドングル200に対する特定の記憶領域の割り当てが完了する。
【0069】
ステップS106において、USBドングル200がNAS300に接続される。詳細には、USBドングル200のUSB I/F201が、NAS300のUSB I/F301に挿入される。
【0070】
ステップS107において、USBドングル200のCPU202は、他の機器との接続を検知し、USBドングル200の識別情報及びデバイスクラス情報をUSB I/F201から送信させる。
【0071】
ステップS108において、NAS300のCPU302は、USB I/F301がUSBドングル200から受信した識別情報と、メモリ303又はHDD305に登録されている識別情報とを比較し、一致するか否かを判別する。一致する場合には、USBドングル200が許可されたものであると判断し、初期設定を継続する。これに対し、一致しない場合には、USBドングル200が許可されたものではないと判断し、初期設定を中止する。
【0072】
ステップS109において、NAS300のCPU302は、無線LANセッション確立のための情報(ESSIDや暗号化キー)や、iSCSIのログイン情報、ファイル暗号化キーをUSB I/F301から送信させる。
【0073】
USBドングル200のCPU202は、無線LANセッション確立のための情報(ESSIDや暗号化キー)や、iSCSIのログイン情報、ファイル暗号化キーをUSB I/F201が受信すると、これらの情報をメモリ203に記憶させる。これにより、USBドングル200の初期設定が完了する。
【0074】
図6は、初期設定の完了後に、USBドングル200をホストPC100へ接続した際の動作シーケンス図である。
【0075】
図6に示すように、ステップS201において、ユーザがUSBドングル200をホストPC100に接続する。詳細には、USBドングル200のUSB I/F201が、ホストPC100のUSB I/F101に挿入される。
【0076】
ステップS202において、USBドングル200のCPU202は、他の機器との接続を検知し、USBドングル200の識別情報及びデバイスクラス情報をUSB I/F201から送信させる。
【0077】
ステップS203において、ホストPC100のCPU102は、OSのUSBドライバ機能によりセットアップを行う。
【0078】
ステップS204において、ホストPC100のCPU102は、USB I/F101が受信したデバイスクラス情報に基づいて、USBドングル200をUSBマスストレージクラスのデバイスと認識する。
【0079】
ステップS205において、USBドングル200のCPU202は、ホストPC100とのセットアップと並行して、NAS300の無線LANモジュール304から無線LANモジュール204が受信するビーコン信号を検知し、NAS300への無線LANセッション確立要求を無線LANモジュール204から送信させる。
【0080】
ステップS206において、USBドングル200のCPU202は、メモリ203に記憶されている無線LANセッション確立のための情報(ESSIDや暗号化キー)を用いて、NAS300(の無線LANモジュール304)との無線LAN認証を行う。NAS300のCPU302は、無線LANモジュール304が受信した無線LANセッション確立のための情報(ESSIDや暗号化キー)と、メモリ303又はHDD305に記憶されている情報と、を照合し、一致していれば認証成功とする。無線LAN認証に成功すると、USBドングル200とNAS300との間に無線LANセッションが確立する。ここで、NAS300のCPU302は、無線LAN認証処理の過程で得られるUSBドングル200の識別情報に基づいて、USBドングル200に割り当てた特定の記憶領域を特定してもよい。
【0081】
ステップS207において、USBドングル200のCPU202は、無線LANセッションを確立したことに応じて、NAS300へのiSCSIセッション確立要求を無線LANモジュール204から送信させる。
【0082】
ステップS208において、USBドングル200のCPU202は、メモリ203に記憶されているiSCSIのログイン情報を用いて、NAS300とのiSCSI認証を行う。NAS300のCPU302は、無線LANモジュール304が受信したiSCSIのログイン情報と、メモリ303又はHDD305に記憶されている情報と、を照合し、一致していれば認証成功とする。iSCSI認証に成功すると、USBドングル200とNAS300との間にiSCSIセッションが確立する。この場合、USBドングル200はiSCSIイニシエータとなり、NAS300はiSCSIターゲットとなる。
【0083】
一方で、ステップS209において、USBドングル200をUSBマスストレージデバイスと認識しているホストPC100のCPU102は、ディスク情報(記憶容量や使用可否など)を問い合わせるためのSCSIコマンド(以下、「問い合わせコマンド」と称する)をUSB I/F101から送信させる。
【0084】
ステップS210において、USBドングル200のCPU202は、USB I/F201が問い合わせコマンドを受信した時点では、iSCSIセッションが未だ確立されていないため、問い合わせコマンドに対する否定応答(NACK)をUSB I/F201から送信させる。
【0085】
その後、ステップS211において、ホストPC100のCPU102は、問い合わせコマンドをUSB I/F101から再度送信させる。
【0086】
ステップS212において、USBドングル200のCPU202は、USB I/F201が問い合わせコマンドを受信した時点でiSCSIセッションが確立されているため、問い合わせコマンドをiSCSIプロトコルに従ってカプセル化し、カプセル化した問い合わせコマンドを無線LANモジュール204から送信させる。カプセル化した問い合わせコマンドには、USBドングル200の識別情報が含まれる。
【0087】
ステップS213において、NAS300のCPU302は、カプセル化された問い合わせコマンドを無線LANモジュール304が受信すると、カプセル化された問い合わせコマンドに含まれる識別情報と、メモリ303又はHDD305に記憶されている情報と、に基づいて、USBドングル200に割り当てた特定の記憶領域を判別する。そして、CPU302は、当該特定の記憶領域に関するディスク情報(記憶領域情報)を作成する。
【0088】
ステップS214において、USBドングル200のCPU202は、バッファ領域の確保が完了したことを示すReady to Transferを無線LANモジュール204から送信させる。
【0089】
ステップS215において、NAS300のCPU302は、無線LANモジュール304がReady to Transferを受信したことに応じて、当該特定の記憶領域に関するディスク情報(記憶領域情報)を無線LANモジュール304から送信させる。
【0090】
ステップS216において、USBドングル200のCPU202は、無線LANモジュール204がディスク情報を受信すると、当該ディスク情報をUSB I/F201から送信させる。ホストPC100のCPU102は、USB I/F101がディスク情報を受信すると、当該ディスク情報をUSBドングル200のディスク情報と見なして、当該ディスク情報をディスプレイ105に表示させる。
【0091】
図7は、図6の動作が完了した後に、データ読み出しを行う際の動作シーケンス図である。
【0092】
図7に示すように、ステップS301において、ホストPC100のCPU102は、キーボード106やマウス107が受け付けた操作に応じて、SCSIにおける読み出しコマンドをUSB I/F101から送信させる。 ステップS302において、USBドングル200のCPU202は、USB I/F201が受信した読み出しコマンドをカプセル化し、カプセル化した読み出しコマンドを無線LANモジュール204から送信させる。
【0093】
ステップS303において、USBドングル200のCPU202は、読み出しデータのためのバッファ領域を確保して、Ready to Transferを無線LANモジュール204から送信させる。
【0094】
ステップS304において、NAS300のCPU302は、無線LANモジュール304が読み出しコマンド及びReady to Transferを受信したことに応じて、読み出し要求されたファイルのデータをHDD305の特定の記憶領域から読み出し、読み出しデータの一部を無線LANモジュール304から送信させる。このとき、CPU302は、USBドングル200と共有するファイル暗号化キーを用いて暗号化を行った上で送信する。
【0095】
ステップS305及びS306において、USBドングル200のCPU202は、無線LANモジュール204が受信した読み出しデータをバッファ領域に格納し、読み出しデータを順次ホストPC100に送信する。このとき、CPU202は、NAS300と共有するファイル暗号化キーを用いて復号化を行った上で送信する。
【0096】
ステップS307において、USBドングル200のCPU202は、バッファ領域が空になると、Ready to Transferを無線LANモジュール204から送信させる。ステップS308〜S310において、上記と同様の読み出し動作を繰り返す。
【0097】
ステップS311において、NAS300のCPU302は、読み出しデータの最後の部分を無線LANモジュール304から送信させるとともに、データ読み出しが正常に終了/エラーしたかのステータス情報を無線LANモジュール304から送信させる。ここでは、正常に終了(コマンドコンプリート)したものとする。
【0098】
ステップS312において、USBドングル200のCPU202は、無線LANモジュール204が読み出しデータ及びステータス情報を受信すると、受信した読み出しデータ及びステータス情報をUSB I/F201から送信させる。これにより、ホストPC100のCPU102は、USB I/F101が受信したステータス情報により、データ読み出しが完了したと判断する。
【0099】
また、NAS300のCPU302は、上記のような読み出し動作において、USBドングル200の識別情報と読み出しを行った時刻とを対応付けてログを作成し、作成したログをメモリ303又はHDD305に記憶させる。
【0100】
図8は、図6の動作が完了した後に、データ書き込みを行う際の動作シーケンス図である。
【0101】
図8に示すように、ステップS401において、ホストPC100のCPU102は、キーボード106やマウス107が受け付けた操作に応じて、SCSIにおける書き込みコマンドをUSB I/F101から送信させる。
【0102】
ステップS402において、USBドングル200のCPU202は、USB I/F201が受信した書き込みコマンドをカプセル化し、カプセル化した書き込みコマンドを無線LANモジュール204から送信させる。
【0103】
ステップS403及びS404において、ホストPC100のCPU102は、メモリ103又はHDD104に記憶されている書き込み対象ファイルのデータを順次USB I/F101から送信させる。USBドングル200のCPU202は、USB I/F201が受信した書き込みデータをバッファ領域に格納する。
【0104】
ステップS405において、NAS300のCPU302は、書き込みデータのためのバッファ領域を確保して、Ready to Transferを無線LANモジュール304から送信させる。
【0105】
ステップS406において、USBドングル200のCPU202は、無線LANモジュール204がReady to Transferを受信したことに応じて、バッファ領域に格納していた書き込みデータを無線LANモジュール204から送信させる。このとき、CPU202は、NAS300と共有するファイル暗号化キーを用いて暗号化を行った上で送信する。
【0106】
NAS300のCPU302は、無線LANモジュール304が書き込みデータを受信したことに応じて、書き込み要求されたファイルのデータをHDD305の特定の記憶領域に書き込む。このとき、CPU302は、USBドングル200と共有するファイル暗号化キーを用いて復号化を行った上で書き込みを行う。
【0107】
ステップS407〜S410において、上記と同様の書き込み動作を繰り返す。
【0108】
ステップS411において、NAS300のCPU302は、データ書き込みが完了すると、データ書き込みが正常に終了/エラーしたかのステータス情報を無線LANモジュール304から送信させる。ここでは、正常に終了(コマンドコンプリート)したものとする。
【0109】
ステップS412において、USBドングル200のCPU202は、無線LANモジュール204がステータス情報を受信すると、受信したステータス情報をUSB I/F201から送信させる。これにより、ホストPC100のCPU102は、USB I/F101が受信したステータス情報により、データ書き込みが完了したと判断する。
【0110】
また、NAS300のCPU302は、上記のような書き込み動作において、USBドングル200の識別情報と書き込みを行った時刻とを対応付けてログを作成し、作成したログをメモリ303又はHDD305に記憶させる。
【0111】
以上説明したように、本実施形態では、データを記憶するための不揮発性記憶手段を有しないUSBドングル200は、ホストPC100に接続された後、USBマスストレージクラスであることを示すデバイスクラス情報をホストPC100に送信する。これにより、ホストPC100は、USBドングル200を一般的なUSBマスストレージクラスのデバイスとして取り扱うことができるため、複雑な設定をホストPC100に対して行う必要がない。また、USBドングル200はデータを記憶するための不揮発性記憶手段を有しないため、紛失しても情報漏洩が生じることがなく、セキュリティを高めることができる。
【0112】
さらに、USBドングル200は、USBドングル200に割り当てられた特定の記憶領域を有するNAS300との通信を確立する。ホストPC100は、デバイスクラス情報に応じてUSBドングル200をUSBマスストレージクラスのデバイスと認識した後、USBドングル200の記憶領域に関する問い合せコマンドをUSBドングル200に送信する。USBドングル200は、ホストPC100からの問い合せコマンドを受信した後、当該受信した問い合せコマンドをNAS300に転送する。NAS300は、USBドングル200からの問い合せコマンドを受信した後、特定の記憶領域に関するディスク情報をUSBドングル200に送信する。USBドングル200が、ホストPC100からのディスク情報を受信した後、当該受信したディスク情報をホストPC100に転送する。これにより、NAS300の記憶領域(特定の記憶領域)をUSBドングル200の記憶領域としてホストPC100に見せることができる。言い換えると、ホストPC100から見えるUSBドングル200の記憶領域は、実際にはNAS300の記憶領域であるため、大容量の記憶領域を構成できる。
【0113】
本実施形態では、USBドングル200は、NAS300の通信可能範囲内(無線LANエリア内)にあるときに限り、NAS300との無線LAN通信を行って、ホストPC100に仮想的な記憶領域を提供する。これにより、USBドングル200がNAS300の遠くにあるときには、NAS300にアクセス不能であるため、限られた者のみがNAS300にアクセスすることができ、セキュリティを高めることができる。また、本実施形態では、読み出し/書き込みのログを作成したり、ファイル暗号化を行ったりすることで、セキュリティをさらに高めることができる。
【0114】
[変形例1]
上述した実施形態では、USBドングル200とNAS300とが直接的に無線通信を行う一例を説明したが、USBドングル200とNAS300とが間接的に通信を行う構成でもよい。
【0115】
図9は、本変形例に係る通信システムの全体構成図である。図9に示すように、本変形例に係る通信システムは、ネットワーク10に接続されたアクセスポイント(AP)20をさらに有する。USBドングル200の無線LANモジュール204は、AP20との無線LAN通信を行う。また、USBドングル200のCPU202は、AP20との無線LANセッションを確立した後、NAS300とのiSCSIセッションを確立する。
【0116】
図10は、本変形例に係るNAS300のブロック図である。図10に示すように、本変形例に係るNAS300は、上述した無線LANモジュール304を有していない。代わりに、USBドングル200との通信には、有線LAN I/F306が使用されることになる。
【0117】
本変形例においても、USBドングル200は、AP20の通信可能範囲内(無線LANエリア内)にあるときに限り、ホストPC100に仮想的な記憶領域を提供する。これにより、USBドングル200がAP20の遠くにあるときには、NAS300にアクセス不能であるため、限られた者のみがNAS300にアクセスすることができ、セキュリティを高めることができる。
【0118】
[変形例2]
本変形例では、USBドングル200は、無線通信に代えて有線通信を行う。 図11は、本変形例に係る通信システムの全体構成図である。図11に示すように、本変形例に係る通信システムは、USBドングル200は、ネットワーク10にLANケーブル等を介して接続される。この場合、初期設定において、無線LANセッション確立のための情報(ESSIDや暗号化キー)の設定を省略できる。図12は、本変形例に係るUSBドングル200のブロック図である。図12に示すように、本変形例に係るUSBドングル200は、上述した無線LANモジュール204に代えて、有線LAN I/F205を有する。
【0119】
[変形例3]
本変形例では、USBドングル200及びNAS300は、無線LAN通信に代えてブルートゥース(BT)通信を行う。iSCSIプロトコルはSCSIコマンドをカプセル化してやり取りするものであり、下位レイヤの構成を問わないため、BTを使用しても構わない。図13は、本変形例に係るUSBドングル200のブロック図である。図13に示すように、本変形例に係るUSBドングル200は、上述した無線LANモジュール204に代えて、BTモジュール206を有する。図14は、本変形例に係るNAS300のブロック図である。図14に示すように、本変形例に係るNAS300は、上述した無線LANモジュール304に代えて、BTモジュール307を有する。
【0120】
[変形例4]
上述した実施形態では、USBドングル200の初期設定時にUSB I/Fを使用していたが、USB I/Fに代えてNFC(Near Field Communication)を使用してもよい。NFCとは、十数センチの距離での無線通信(RFID)技術である。図15は、本変形例に係るUSBドングル200のブロック図である。図15に示すように、本変形例に係るUSBドングル200は、NFCモジュール205aをさらに有する。図16は、本変形例に係るNAS300のブロック図である。図16に示すように、本変形例に係るNAS300は、NFCモジュール308をさらに有する。この場合、NAS300は、USB I/F301を有していなくてもよい。
【0121】
[その他の実施形態]
上記のように、本発明は実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
【0122】
例えば、上述した実施形態では、USBドングル200へ割り当てる記憶領域の範囲が管理者PC400によって指定されていたが、1又は複数のUSBドングル200とNAS300とをセットで販売するような場合、USBドングル200へ割り当てる記憶領域の範囲が出荷時に設定されていてもよい。
【0123】
また、ファイル暗号化キーによる暗号化/復号化は、処理負荷を低減する観点では、省略してもよい。
【0124】
上述した実施形態では、本発明の通信装置の実施形態としてのUSBドングル200を説明したが、本発明の通信装置にはUSB I/F以外のインターフェイスを適用してもよい。例えば、USB I/Fに代えてIEEE1394 I/Fを適用できる。IEEE1394 I/Fには、USB I/Fと同様にマスストレージクラスに相当するデバイスクラスが存在する。また、IEEE1394 I/Fは、USB I/Fと同様にデバイスクラス情報をホストPC100に通知する。このため、上述した実施形態と同様の仕組みをIEEE1394 I/Fに応用可能である。
【0125】
このように本発明は、ここでは記載していない様々な実施形態等を包含するということを理解すべきである。
【符号の説明】
【0126】
10…ネットワーク、20…AP、100…ホストPC、101…USB I/F、102…CPU、103…メモリ、104…HDD、105…ディスプレイ、106…キーボード、107…マウス、200…USBドングル、201…USB I/F、202…CPU、203…メモリ、204…無線LANモジュール、205a…NFCモジュール、206…BTモジュール、300…NAS、302…CPU、303…メモリ、304…無線LANモジュール、305…HDD、306…有線LAN I/F、307…BTモジュール、308…NFCモジュール、400…管理者PC
【技術分野】
【0001】
本発明は、データ記憶のための通信方法、通信機器、ストレージ機器、及び制御プログラムに関する。
【背景技術】
【0002】
近年、データを記憶するための記憶デバイスとして、情報端末機器(例えば、PC(Personal Computer))に接続して使用されるUSB(Universal Serial Bus)機器が普及している。当該USB機器は、データを記憶するための不揮発性記憶手段(例えば、フラッシュメモリ)を有し、情報端末機器は、当該USB機器をUSBマスストレージクラスのデバイスとして認識する。
【0003】
一方で、データを記憶するための記憶デバイスとして、情報端末機器とネットワークを介して通信を行うストレージ機器も普及している。情報端末機器は、このようなストレージ機器との間にセキュアな通信路を確立し、当該通信路を介してストレージ機器に対するデータ書き込み/読み出しを行う(例えば特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−97591号公報
【特許文献2】特表2008−503799号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したUSB機器は、小型・軽量であるため持ち運びに便利であるものの、記憶容量が少ないという問題や、紛失時の情報漏洩といったセキュリティ上の問題がある。
【0006】
これに対し、ネットワーク上に設けられるストレージ機器は、記憶容量の問題やセキュリティ上の問題を回避できるものの、情報端末機器からストレージ機器へのアクセスを可能にするための各種設定が情報端末機器に対して必要であり、情報端末機器を扱うユーザの負担が大きい問題がある。
【0007】
そこで、本発明は、情報端末機器に対して各種設定を行う必要がなく、セキュリティを高めつつ、大容量の記憶領域を構成できる通信方法、通信機器、ストレージ機器、及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、本発明は以下のような特徴を有している。
【0009】
本発明に係る通信方法は、データを記憶するための不揮発性記憶手段を有しない通信機器(例えば、USBドングル200)が、前記通信機器のインターフェイスを介して情報端末機器(例えば、ホストPC100)に電気的に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信するステップと、前記通信機器が、前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器(例えば、NAS300)との通信を確立するステップと、前記情報端末機器が、前記デバイスクラス情報に応じて前記通信機器をマスストレージクラスのデバイスと認識した後、前記通信機器の記憶領域に関する問い合せコマンド(例えば、SCSIコマンド)を前記通信機器に送信するステップと、前記通信機器が、前記情報端末機器からの前記問い合せコマンドを受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送するステップと、前記ストレージ機器が、前記通信機器からの前記問い合せコマンドを受信した後、前記特定の記憶領域に関する記憶領域情報(例えば、ディスク情報)を前記通信機器に送信するステップと、前記通信機器が、前記情報端末機器からの前記記憶領域情報を受信した後、当該受信した記憶領域情報を前記情報端末機器に転送するステップと、を有することを特徴とする。
【0010】
このような通信方法によれば、情報端末機器は、通信機器を一般的なマスストレージクラスのデバイスとして取り扱うことができるため、複雑な設定を情報端末機器に対して行う必要がない。また、通信機器はデータを記憶するための不揮発性記憶手段を有しないため、紛失しても情報漏洩が生じることがなく、セキュリティを高めることができる。さらに、情報端末機器から見える通信機器の記憶領域は、実際にはストレージ機器の記憶領域であるため、大容量の記憶領域を構成できる。
【0011】
したがって、上述した通信方法によれば、情報端末機器に対して各種設定を行う必要がなく、セキュリティを高めつつ、大容量の記憶領域を構成できる。
【0012】
本発明に係る通信機器は、データを記憶するための不揮発性記憶手段を有しない通信機器(例えば、USBドングル200)であって、情報端末機器(例えば、ホストPC100)と電気的に接続可能なインターフェイス(例えば、USB I/F201)と、前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器(例えば、NAS300)との通信を行うための通信手段(例えば、無線LANモジュール204)と、前記インターフェイス及び前記通信手段を制御するための制御手段(例えば、CPU202、メモリ203)と、を有し、前記制御手段は、前記インターフェイスが前記情報端末機器に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信し、前記情報端末機器からの前記通信機器の記憶領域に関する問い合せコマンドを前記インターフェイスが受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送し、前記ストレージ機器からの前記特定の記憶領域に関する記憶領域情報を前記通信手段が受信した後、当該受信した記憶領域情報を前記情報端末機器に転送する、ことを特徴とする。
【0013】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記情報端末機器からの読み出しコマンドを前記インターフェイスが受信した後、当該受信した読み出しコマンドを前記ストレージ機器に転送し、前記ストレージ機器からの読み出しデータを前記通信手段が受信した後、当該受信した読み出しデータを前記情報端末機器に転送する。
【0014】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記情報端末機器からの書き込みコマンドを前記インターフェイスが受信した後、当該受信した書き込みコマンドを前記ストレージ機器に転送し、前記情報端末機器からの書き込みデータを前記インターフェイスが受信した後、当該受信した書き込みデータを前記ストレージ機器に転送する。
【0015】
本発明に係る通信機器の他の特徴によれば、前記インターフェイスは、USBインターフェイスである。
【0016】
本発明に係る通信機器の他の特徴によれば、前記通信手段は、近距離無線通信を行う近距離無線通信モジュール(例えば、無線LANモジュール204)を含む。なお、本明細書において近距離無線通信とは、到達距離の短い無線通信を意味し、近接場(near field)型の無線通信方式に限らず、無線LANなどの構内無線通信方式も含む。 本発明に係る通信機器の他の特徴によれば、前記近距離無線通信は、無線LAN通信である。
【0017】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記ストレージ機器との通信をIPパケット通信により行う。
【0018】
本発明に係る通信機器の他の特徴によれば、前記IPパケット通信は、iSCSIプロトコルを使用する。
【0019】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記ストレージ機器との通信を確立するまでに前記情報端末機器からの前記問い合せコマンドを前記インターフェイスが受信した場合に、前記情報端末機器に対して否定応答を送信し、前記ストレージ機器との通信を確立した後に前記情報端末機器からの前記問い合せコマンドを前記インターフェイスが受信した場合に、当該受信した問い合せコマンドを前記ストレージ機器に転送する。
【0020】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記通信機器の使用開始時に、前記通信機器の識別子を前記ストレージ機器に送信し、前記識別子の送信後に前記ストレージ機器との通信のための設定情報及び/又はファイル暗号化キーを前記ストレージ機器から受信すると、当該受信した設定情報及び/又はファイル暗号化キーを記憶する。
【0021】
本発明に係る通信機器の他の特徴によれば、前記制御手段は、前記ストレージ機器と共有するファイル暗号キーを用いて、書き込みデータの暗号化及び読み出しデータの復号化を行う。
【0022】
本発明に係るストレージ機器は、記憶手段(例えば、HDD305)を有するストレージ機器であって、データを記憶するための不揮発性記憶手段を有しない通信機器(例えば、USBドングル200)との通信を行うための通信手段(例えば、無線LANモジュール304)と、前記記憶手段及び前記通信手段を制御するための制御手段(例えば、CPU302、メモリ303)と、を有し、前記制御手段は、前記記憶手段の少なくとも一部である特定の記憶領域を前記通信機器に割り当て、前記通信機器の記憶領域に関する問い合せコマンドを前記通信手段が受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信する、ことを特徴とする。
【0023】
本発明に係るストレージ機器の他の特徴によれば、前記制御手段は、前記通信機器の識別子を前記通信機器から受信した後、予め登録された識別子と当該受信した識別子とが一致する場合に、前記通信機器が前記ストレージ機器との通信を行うための設定情報及び/又はファイル暗号化キーを前記通信機器に送信する。
【0024】
本発明に係るストレージ機器の他の特徴によれば、前記通信手段は、近距離無線通信を行う近距離無線通信モジュール(例えば、無線LANモジュール304)を含む。
【0025】
本発明に係るストレージ機器の他の特徴によれば、前記近距離無線通信は、無線LAN通信である。
【0026】
本発明に係るストレージ機器の他の特徴によれば、前記制御手段は、前記通信機器との通信をIPパケット通信により行う。
【0027】
本発明に係るストレージ機器の他の特徴によれば、前記IPパケット通信は、iSCSIプロトコルを使用する。
【0028】
本発明に係るストレージ機器の他の特徴によれば、前記制御手段は、前記通信機器からのコマンドに応じて前記特定の記憶領域に対する書き込み/読み出しを行った場合に、当該書き込み/読み出しに関するログを記録する。
【0029】
本発明に係るストレージ機器の他の特徴によれば、前記制御手段は、前記通信機器と共有するファイル暗号キーを用いて、書き込みデータの暗号化及び読み出しデータの復号化を行う。
【0030】
本発明に係る制御プログラムは、情報端末機器と電気的に接続可能なインターフェイスを有し、データを記憶するための不揮発性記憶手段を有しない通信機器に、前記インターフェイスが前記情報端末機器に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信するステップと、前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器との通信を確立するステップと、前記情報端末機器からの前記通信機器の記憶領域に関する問い合せコマンドを前記インターフェイスが受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送するステップと、前記ストレージ機器からの前記特定の記憶領域に関する記憶領域情報を受信した後、当該受信した記憶領域情報を前記情報端末機器に転送するステップと、を実行させることを特徴とする。
【0031】
本発明に係る制御プログラムは、記憶手段を有するストレージ機器に、データを記憶するための不揮発性記憶手段を有しない通信機器に対して、前記記憶手段の少なくとも一部である特定の記憶領域を割り当てるステップと、前記通信機器の記憶領域に関する問い合せコマンドを受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信するステップと、を実行させることを特徴とする。
【発明の効果】
【0032】
本発明によれば、情報端末機器に対して各種設定を行う必要がなく、セキュリティを高めつつ、大容量の記憶領域を構成できる通信方法、通信機器、ストレージ機器、及び制御プログラムを提供できる。
【図面の簡単な説明】
【0033】
【図1】本発明の実施形態に係る通信システムの全体構成図である。
【図2】本発明の実施形態に係るホストPCのブロック図である。
【図3】本発明の実施形態に係るUSBドングルのブロック図である。
【図4】本発明の実施形態に係るNASのブロック図である。
【図5】本発明の実施形態に係る通信システムにおける初期設定動作の動作シーケンス図である。
【図6】初期設定の完了後に、USBドングルをホストPCへ接続した際の動作シーケンス図である。
【図7】図6の動作が完了した後に、データ読み出しを行う際の動作シーケンス図である。
【図8】図6の動作が完了した後に、データ書き込みを行う際の動作シーケンス図である。
【図9】本発明の実施形態の変形例1に係る通信システムの全体構成図である。
【図10】本発明の実施形態の変形例1に係るNASのブロック図である。
【図11】本発明の実施形態の変形例2に係る通信システムの全体構成図である。
【図12】本発明の実施形態の変形例2に係るUSBドングルのブロック図である。
【図13】本発明の実施形態の変形例3に係るUSBドングルのブロック図である。
【図14】本発明の実施形態の変形例3に係るNASのブロック図である。
【図15】本発明の実施形態の変形例4に係るUSBドングルのブロック図である。
【図16】本発明の実施形態の変形例4に係るNASのブロック図である。
【発明を実施するための形態】
【0034】
図面を参照して、本発明の実施形態を説明する。以下の実施形態における図面において、同一又は類似の部分には同一又は類似の符号を付す。
【0035】
図1は、本実施形態に係る通信システムの全体構成図である。図1に示すように、本実施形態に係る通信システムは、ホストPC100、USBドングル200、NAS(Network Attached Storage)300、及び管理者PC400を有する。NAS300及び管理者PC400は、LAN(Local Area Network)などのネットワーク10に接続される。
【0036】
本実施形態において、ホストPC100は情報端末機器に相当し、USBドングル200は通信機器に相当し、NAS300はストレージ機器に相当する。本実施形態では、ドングル型のUSB機器(USBドングル200)を例に説明するが、ドングル型以外のタイプであってもよい。また、USBドングル200のホスト機器は、PCに限らず、他の機器であってもよい。
【0037】
ホストPC100は、ユーザによって操作されるノートPC又はデスクトップPCであり、USBドングル200のホスト機器として動作する。ホストPC100は、USBプラグアンドプレイに対応している。
【0038】
USBドングル200は、ホストPC100に接続される。USBドングル200は、ホストPC100に対して仮想的な記憶領域を提供する。USBドングル200は、NAS300との近距離無線通信を行う。本実施形態では、近距離無線通信は、無線LAN(例えば、IEEE802.11規格)に準拠した通信である。
【0039】
NAS300は、ホストPC100に対して提供すべき実記憶領域を有する。NAS300は、USBドングル200との近距離無線通信を行う。USBドングル200は、NAS300の通信可能範囲内(無線LANエリア内)にあるときに限り、NAS300との無線LAN通信を行い、ホストPC100に仮想的な記憶領域を提供する。
【0040】
なお、USBドングル200は、使用開始時に、初期設定のためにNAS300に接続される。NAS300は、USBドングル200の使用開始時にはUSBドングル200に対して初期設定を行う。当該初期設定の詳細については後述する。
【0041】
管理者PC400は、管理者によって操作されるノートPC又はデスクトップPCであり、ネットワーク10を介してNAS300に対する初期設定を行う。
【0042】
図2は、ホストPC100のブロック図である。図2に示すように、ホストPC100は、USB I/F101、CPU102、メモリ103、HDD(Hard Disk Drive)104、ディスプレイ105、キーボード106、マウス107を有する。
【0043】
USB I/F101は、USB規格に準拠して構成されたインターフェイス(I/F)であり、本実施形態ではUSBドングル200が接続される。USB I/F101は、CPU102の制御下で、各種のコマンドやデータを接続先のUSB I/Fと送受信する。
【0044】
CPU102は、メモリ103やHDD104に記憶されている制御プログラムを実行することで、ホストPC100の各種機能を制御する。メモリ103は、CPU102によって実行される制御プログラムを記憶するとともに、CPU102の作業領域として使用される。HDD104は、各種データを記憶する。
【0045】
ディスプレイ105は、CPU102の制御下で各種の表示を行う。キーボード106及びマウス107は、ユーザからの入力を受け付けて、当該入力に対応する信号をCPU102に出力する。
【0046】
なお、管理者PC400のブロック構成は、ホストPC100のブロック構成と同様である。
【0047】
図3は、USBドングル200のブロック図である。図3に示すように、USBドングル200は、USB I/F201、CPU202、メモリ203、無線LANモジュール204を有する。
【0048】
USB I/F201は、USB規格に準拠して構成されたI/Fであり、本実施形態ではホストPC100又はNAS300に接続される。USB I/F201は、CPU202の制御下で、各種のコマンドやデータを接続先のUSB I/Fと送受信する。また、USB I/F201は、接続先のUSB I/Fからの電力供給を受ける。
【0049】
CPU202は、メモリ203に記憶されている制御プログラムを実行することで、USBドングル200の各種機能を制御する。メモリ203は、CPU202によって実行される制御プログラムを記憶するとともに、CPU202の作業領域として使用される。例えば、メモリ203は、制御プログラムや設定情報などを記憶するためのフラッシュメモリと、データバッファとして使用されるRAMと、を含む。本実施形態では、CPU202及びメモリ203は、USBドングル200における制御手段を構成する。
【0050】
また、メモリ203は、USBドングル200の識別情報及びデバイスクラス情報を予め記憶している。USBドングル200の識別情報とは、例えば、USBドングル200のベンダーID、プロダクトID、MACアドレス、UDID、UUIDなどである。デバイスクラス情報とは、USB規格で規定されるDevice Descriptorに含まれる情報であり、USB機器の種別を示すものである。メモリ203に記憶されているデバイスクラス情報は、USBマスストレージデバイスを示す。
【0051】
無線LANモジュール204は、CPU202の制御下で無線LAN通信を行うための通信モジュールであり、本実施形態では、無線LAN子機としての機能を有する。また、本実施形態では、無線LANモジュール204は、USBドングル200における通信手段に相当する。
【0052】
このように、USBドングル200は、制御プログラムや設定情報などを記憶するための不揮発性記憶手段を有するものの、データ(ユーザデータ)を記憶するための不揮発性記憶手段を有していない。
【0053】
図4は、NAS300のブロック図である。図4に示すように、NAS300は、USB I/F301、CPU302、メモリ303、無線LANモジュール304、1又は複数のHDD305、及び有線LAN I/F306を有する。
【0054】
USB I/F301は、USB規格に準拠して構成されたI/Fであり、本実施形態ではUSBドングル200が接続される。USB I/F301は、CPU302の制御下で、各種のコマンドやデータを接続先のUSB I/Fと送受信する。
【0055】
CPU302は、メモリ303やHDD305に記憶されている制御プログラムを実行することで、NAS300の各種機能を制御する。メモリ303は、CPU302によって実行される制御プログラムを記憶するとともに、CPU302の作業領域として使用される。本実施形態では、CPU302及びメモリ303は、NAS300における制御手段を構成する。
【0056】
無線LANモジュール304は、CPU302の制御下で無線LAN通信を行うための通信モジュールであり、本実施形態では、無線LAN親機としての機能を有する。また、本実施形態では、無線LANモジュール304は、NAS300における通信手段に相当する。
【0057】
HDD305は、CPU302の制御下でデータの記憶を行う。HDD305は、RAIDディスクアレイとして取り扱われてもよい。本実施形態では、HDD305は、NAS300における記憶手段に相当する。なお、NAS300における記憶手段は、HDDに限らず、SSD(Solid State Drive)などであってもよい。
【0058】
メモリ303又はHDD305は、NAS300との通信のための設定情報として、無線LANセッション確立のための情報(ESSIDや暗号化キー)や、iSCSIのログイン情報を予め記憶している。また、メモリ303又はHDD305は、ファイル暗号化/復号化のためのファイル暗号化キーを予め記憶していている。なお、iSCSIとは、SCSIプロトコルをTCP/IP上で使用するための規格である。
【0059】
有線LAN I/F306は、ネットワーク10に接続され、CPU302の制御下で管理者PC400との通信を行う。
【0060】
次に、本実施形態に係る通信システムの動作を説明する。図5は、本実施形態に係る通信システムにおける初期設定動作の動作シーケンス図である。
【0061】
図5に示すように、ステップS101において、管理者PC400は、NAS300に対して管理者権限でログインする。
【0062】
ステップS102において、NAS300のCPU302は、初期設定画面を管理者PC400に表示させるための情報を有線LAN I/F306から管理者PC400へ送信させる。
【0063】
ステップS103において、管理者PC400は、NAS300から受信する情報に基づいて初期設定画面を表示する。管理者は、初期設定画面に基づいて、USBドングル200に割り当てるべきNAS300の記憶領域(HDD305の記憶領域)の範囲を論理アドレスで指定する。管理者PC400は、指定された論理アドレスの情報をNAS300に送信する。
【0064】
なお、USBドングル200が複数である場合には、複数のUSBドングル200毎に論理アドレスの範囲が指定される。
【0065】
ステップS104において、NAS300のCPU302は、有線LAN I/F306が論理アドレスの情報を受信すると、当該受信した情報に応じて、HDD305の記憶領域のうち指定された範囲を割り当てる。詳細には、CPU302は、当該指定された範囲を割り当て済み領域(以下、「特定の記憶領域」と称する)として設定する。
【0066】
ステップS105において、管理者は、初期設定画面に基づいてUSBドングル200の識別情報を入力する。管理者PC400は、入力された識別情報をNAS300に送信する。上述したように、USBドングル200の識別情報とは、例えば、USBドングル200のベンダーID、プロダクトID、MACアドレス、UDID、UUIDなどである。
【0067】
NAS300のCPU302は、有線LAN I/F306がUSBドングル200の識別情報を受信すると、当該受信した識別情報をメモリ303又はHDD305に記憶させる。記憶(登録)された識別情報は、NAS300へのアクセスが許可されるUSBドングル200の判別に使用される。
【0068】
また、CPU302は、上述した特定の記憶領域の論理アドレス情報と当該識別情報とを対応付けてメモリ303又はHDD305に記憶させる。これにより、USBドングル200に対する特定の記憶領域の割り当てが完了する。
【0069】
ステップS106において、USBドングル200がNAS300に接続される。詳細には、USBドングル200のUSB I/F201が、NAS300のUSB I/F301に挿入される。
【0070】
ステップS107において、USBドングル200のCPU202は、他の機器との接続を検知し、USBドングル200の識別情報及びデバイスクラス情報をUSB I/F201から送信させる。
【0071】
ステップS108において、NAS300のCPU302は、USB I/F301がUSBドングル200から受信した識別情報と、メモリ303又はHDD305に登録されている識別情報とを比較し、一致するか否かを判別する。一致する場合には、USBドングル200が許可されたものであると判断し、初期設定を継続する。これに対し、一致しない場合には、USBドングル200が許可されたものではないと判断し、初期設定を中止する。
【0072】
ステップS109において、NAS300のCPU302は、無線LANセッション確立のための情報(ESSIDや暗号化キー)や、iSCSIのログイン情報、ファイル暗号化キーをUSB I/F301から送信させる。
【0073】
USBドングル200のCPU202は、無線LANセッション確立のための情報(ESSIDや暗号化キー)や、iSCSIのログイン情報、ファイル暗号化キーをUSB I/F201が受信すると、これらの情報をメモリ203に記憶させる。これにより、USBドングル200の初期設定が完了する。
【0074】
図6は、初期設定の完了後に、USBドングル200をホストPC100へ接続した際の動作シーケンス図である。
【0075】
図6に示すように、ステップS201において、ユーザがUSBドングル200をホストPC100に接続する。詳細には、USBドングル200のUSB I/F201が、ホストPC100のUSB I/F101に挿入される。
【0076】
ステップS202において、USBドングル200のCPU202は、他の機器との接続を検知し、USBドングル200の識別情報及びデバイスクラス情報をUSB I/F201から送信させる。
【0077】
ステップS203において、ホストPC100のCPU102は、OSのUSBドライバ機能によりセットアップを行う。
【0078】
ステップS204において、ホストPC100のCPU102は、USB I/F101が受信したデバイスクラス情報に基づいて、USBドングル200をUSBマスストレージクラスのデバイスと認識する。
【0079】
ステップS205において、USBドングル200のCPU202は、ホストPC100とのセットアップと並行して、NAS300の無線LANモジュール304から無線LANモジュール204が受信するビーコン信号を検知し、NAS300への無線LANセッション確立要求を無線LANモジュール204から送信させる。
【0080】
ステップS206において、USBドングル200のCPU202は、メモリ203に記憶されている無線LANセッション確立のための情報(ESSIDや暗号化キー)を用いて、NAS300(の無線LANモジュール304)との無線LAN認証を行う。NAS300のCPU302は、無線LANモジュール304が受信した無線LANセッション確立のための情報(ESSIDや暗号化キー)と、メモリ303又はHDD305に記憶されている情報と、を照合し、一致していれば認証成功とする。無線LAN認証に成功すると、USBドングル200とNAS300との間に無線LANセッションが確立する。ここで、NAS300のCPU302は、無線LAN認証処理の過程で得られるUSBドングル200の識別情報に基づいて、USBドングル200に割り当てた特定の記憶領域を特定してもよい。
【0081】
ステップS207において、USBドングル200のCPU202は、無線LANセッションを確立したことに応じて、NAS300へのiSCSIセッション確立要求を無線LANモジュール204から送信させる。
【0082】
ステップS208において、USBドングル200のCPU202は、メモリ203に記憶されているiSCSIのログイン情報を用いて、NAS300とのiSCSI認証を行う。NAS300のCPU302は、無線LANモジュール304が受信したiSCSIのログイン情報と、メモリ303又はHDD305に記憶されている情報と、を照合し、一致していれば認証成功とする。iSCSI認証に成功すると、USBドングル200とNAS300との間にiSCSIセッションが確立する。この場合、USBドングル200はiSCSIイニシエータとなり、NAS300はiSCSIターゲットとなる。
【0083】
一方で、ステップS209において、USBドングル200をUSBマスストレージデバイスと認識しているホストPC100のCPU102は、ディスク情報(記憶容量や使用可否など)を問い合わせるためのSCSIコマンド(以下、「問い合わせコマンド」と称する)をUSB I/F101から送信させる。
【0084】
ステップS210において、USBドングル200のCPU202は、USB I/F201が問い合わせコマンドを受信した時点では、iSCSIセッションが未だ確立されていないため、問い合わせコマンドに対する否定応答(NACK)をUSB I/F201から送信させる。
【0085】
その後、ステップS211において、ホストPC100のCPU102は、問い合わせコマンドをUSB I/F101から再度送信させる。
【0086】
ステップS212において、USBドングル200のCPU202は、USB I/F201が問い合わせコマンドを受信した時点でiSCSIセッションが確立されているため、問い合わせコマンドをiSCSIプロトコルに従ってカプセル化し、カプセル化した問い合わせコマンドを無線LANモジュール204から送信させる。カプセル化した問い合わせコマンドには、USBドングル200の識別情報が含まれる。
【0087】
ステップS213において、NAS300のCPU302は、カプセル化された問い合わせコマンドを無線LANモジュール304が受信すると、カプセル化された問い合わせコマンドに含まれる識別情報と、メモリ303又はHDD305に記憶されている情報と、に基づいて、USBドングル200に割り当てた特定の記憶領域を判別する。そして、CPU302は、当該特定の記憶領域に関するディスク情報(記憶領域情報)を作成する。
【0088】
ステップS214において、USBドングル200のCPU202は、バッファ領域の確保が完了したことを示すReady to Transferを無線LANモジュール204から送信させる。
【0089】
ステップS215において、NAS300のCPU302は、無線LANモジュール304がReady to Transferを受信したことに応じて、当該特定の記憶領域に関するディスク情報(記憶領域情報)を無線LANモジュール304から送信させる。
【0090】
ステップS216において、USBドングル200のCPU202は、無線LANモジュール204がディスク情報を受信すると、当該ディスク情報をUSB I/F201から送信させる。ホストPC100のCPU102は、USB I/F101がディスク情報を受信すると、当該ディスク情報をUSBドングル200のディスク情報と見なして、当該ディスク情報をディスプレイ105に表示させる。
【0091】
図7は、図6の動作が完了した後に、データ読み出しを行う際の動作シーケンス図である。
【0092】
図7に示すように、ステップS301において、ホストPC100のCPU102は、キーボード106やマウス107が受け付けた操作に応じて、SCSIにおける読み出しコマンドをUSB I/F101から送信させる。 ステップS302において、USBドングル200のCPU202は、USB I/F201が受信した読み出しコマンドをカプセル化し、カプセル化した読み出しコマンドを無線LANモジュール204から送信させる。
【0093】
ステップS303において、USBドングル200のCPU202は、読み出しデータのためのバッファ領域を確保して、Ready to Transferを無線LANモジュール204から送信させる。
【0094】
ステップS304において、NAS300のCPU302は、無線LANモジュール304が読み出しコマンド及びReady to Transferを受信したことに応じて、読み出し要求されたファイルのデータをHDD305の特定の記憶領域から読み出し、読み出しデータの一部を無線LANモジュール304から送信させる。このとき、CPU302は、USBドングル200と共有するファイル暗号化キーを用いて暗号化を行った上で送信する。
【0095】
ステップS305及びS306において、USBドングル200のCPU202は、無線LANモジュール204が受信した読み出しデータをバッファ領域に格納し、読み出しデータを順次ホストPC100に送信する。このとき、CPU202は、NAS300と共有するファイル暗号化キーを用いて復号化を行った上で送信する。
【0096】
ステップS307において、USBドングル200のCPU202は、バッファ領域が空になると、Ready to Transferを無線LANモジュール204から送信させる。ステップS308〜S310において、上記と同様の読み出し動作を繰り返す。
【0097】
ステップS311において、NAS300のCPU302は、読み出しデータの最後の部分を無線LANモジュール304から送信させるとともに、データ読み出しが正常に終了/エラーしたかのステータス情報を無線LANモジュール304から送信させる。ここでは、正常に終了(コマンドコンプリート)したものとする。
【0098】
ステップS312において、USBドングル200のCPU202は、無線LANモジュール204が読み出しデータ及びステータス情報を受信すると、受信した読み出しデータ及びステータス情報をUSB I/F201から送信させる。これにより、ホストPC100のCPU102は、USB I/F101が受信したステータス情報により、データ読み出しが完了したと判断する。
【0099】
また、NAS300のCPU302は、上記のような読み出し動作において、USBドングル200の識別情報と読み出しを行った時刻とを対応付けてログを作成し、作成したログをメモリ303又はHDD305に記憶させる。
【0100】
図8は、図6の動作が完了した後に、データ書き込みを行う際の動作シーケンス図である。
【0101】
図8に示すように、ステップS401において、ホストPC100のCPU102は、キーボード106やマウス107が受け付けた操作に応じて、SCSIにおける書き込みコマンドをUSB I/F101から送信させる。
【0102】
ステップS402において、USBドングル200のCPU202は、USB I/F201が受信した書き込みコマンドをカプセル化し、カプセル化した書き込みコマンドを無線LANモジュール204から送信させる。
【0103】
ステップS403及びS404において、ホストPC100のCPU102は、メモリ103又はHDD104に記憶されている書き込み対象ファイルのデータを順次USB I/F101から送信させる。USBドングル200のCPU202は、USB I/F201が受信した書き込みデータをバッファ領域に格納する。
【0104】
ステップS405において、NAS300のCPU302は、書き込みデータのためのバッファ領域を確保して、Ready to Transferを無線LANモジュール304から送信させる。
【0105】
ステップS406において、USBドングル200のCPU202は、無線LANモジュール204がReady to Transferを受信したことに応じて、バッファ領域に格納していた書き込みデータを無線LANモジュール204から送信させる。このとき、CPU202は、NAS300と共有するファイル暗号化キーを用いて暗号化を行った上で送信する。
【0106】
NAS300のCPU302は、無線LANモジュール304が書き込みデータを受信したことに応じて、書き込み要求されたファイルのデータをHDD305の特定の記憶領域に書き込む。このとき、CPU302は、USBドングル200と共有するファイル暗号化キーを用いて復号化を行った上で書き込みを行う。
【0107】
ステップS407〜S410において、上記と同様の書き込み動作を繰り返す。
【0108】
ステップS411において、NAS300のCPU302は、データ書き込みが完了すると、データ書き込みが正常に終了/エラーしたかのステータス情報を無線LANモジュール304から送信させる。ここでは、正常に終了(コマンドコンプリート)したものとする。
【0109】
ステップS412において、USBドングル200のCPU202は、無線LANモジュール204がステータス情報を受信すると、受信したステータス情報をUSB I/F201から送信させる。これにより、ホストPC100のCPU102は、USB I/F101が受信したステータス情報により、データ書き込みが完了したと判断する。
【0110】
また、NAS300のCPU302は、上記のような書き込み動作において、USBドングル200の識別情報と書き込みを行った時刻とを対応付けてログを作成し、作成したログをメモリ303又はHDD305に記憶させる。
【0111】
以上説明したように、本実施形態では、データを記憶するための不揮発性記憶手段を有しないUSBドングル200は、ホストPC100に接続された後、USBマスストレージクラスであることを示すデバイスクラス情報をホストPC100に送信する。これにより、ホストPC100は、USBドングル200を一般的なUSBマスストレージクラスのデバイスとして取り扱うことができるため、複雑な設定をホストPC100に対して行う必要がない。また、USBドングル200はデータを記憶するための不揮発性記憶手段を有しないため、紛失しても情報漏洩が生じることがなく、セキュリティを高めることができる。
【0112】
さらに、USBドングル200は、USBドングル200に割り当てられた特定の記憶領域を有するNAS300との通信を確立する。ホストPC100は、デバイスクラス情報に応じてUSBドングル200をUSBマスストレージクラスのデバイスと認識した後、USBドングル200の記憶領域に関する問い合せコマンドをUSBドングル200に送信する。USBドングル200は、ホストPC100からの問い合せコマンドを受信した後、当該受信した問い合せコマンドをNAS300に転送する。NAS300は、USBドングル200からの問い合せコマンドを受信した後、特定の記憶領域に関するディスク情報をUSBドングル200に送信する。USBドングル200が、ホストPC100からのディスク情報を受信した後、当該受信したディスク情報をホストPC100に転送する。これにより、NAS300の記憶領域(特定の記憶領域)をUSBドングル200の記憶領域としてホストPC100に見せることができる。言い換えると、ホストPC100から見えるUSBドングル200の記憶領域は、実際にはNAS300の記憶領域であるため、大容量の記憶領域を構成できる。
【0113】
本実施形態では、USBドングル200は、NAS300の通信可能範囲内(無線LANエリア内)にあるときに限り、NAS300との無線LAN通信を行って、ホストPC100に仮想的な記憶領域を提供する。これにより、USBドングル200がNAS300の遠くにあるときには、NAS300にアクセス不能であるため、限られた者のみがNAS300にアクセスすることができ、セキュリティを高めることができる。また、本実施形態では、読み出し/書き込みのログを作成したり、ファイル暗号化を行ったりすることで、セキュリティをさらに高めることができる。
【0114】
[変形例1]
上述した実施形態では、USBドングル200とNAS300とが直接的に無線通信を行う一例を説明したが、USBドングル200とNAS300とが間接的に通信を行う構成でもよい。
【0115】
図9は、本変形例に係る通信システムの全体構成図である。図9に示すように、本変形例に係る通信システムは、ネットワーク10に接続されたアクセスポイント(AP)20をさらに有する。USBドングル200の無線LANモジュール204は、AP20との無線LAN通信を行う。また、USBドングル200のCPU202は、AP20との無線LANセッションを確立した後、NAS300とのiSCSIセッションを確立する。
【0116】
図10は、本変形例に係るNAS300のブロック図である。図10に示すように、本変形例に係るNAS300は、上述した無線LANモジュール304を有していない。代わりに、USBドングル200との通信には、有線LAN I/F306が使用されることになる。
【0117】
本変形例においても、USBドングル200は、AP20の通信可能範囲内(無線LANエリア内)にあるときに限り、ホストPC100に仮想的な記憶領域を提供する。これにより、USBドングル200がAP20の遠くにあるときには、NAS300にアクセス不能であるため、限られた者のみがNAS300にアクセスすることができ、セキュリティを高めることができる。
【0118】
[変形例2]
本変形例では、USBドングル200は、無線通信に代えて有線通信を行う。 図11は、本変形例に係る通信システムの全体構成図である。図11に示すように、本変形例に係る通信システムは、USBドングル200は、ネットワーク10にLANケーブル等を介して接続される。この場合、初期設定において、無線LANセッション確立のための情報(ESSIDや暗号化キー)の設定を省略できる。図12は、本変形例に係るUSBドングル200のブロック図である。図12に示すように、本変形例に係るUSBドングル200は、上述した無線LANモジュール204に代えて、有線LAN I/F205を有する。
【0119】
[変形例3]
本変形例では、USBドングル200及びNAS300は、無線LAN通信に代えてブルートゥース(BT)通信を行う。iSCSIプロトコルはSCSIコマンドをカプセル化してやり取りするものであり、下位レイヤの構成を問わないため、BTを使用しても構わない。図13は、本変形例に係るUSBドングル200のブロック図である。図13に示すように、本変形例に係るUSBドングル200は、上述した無線LANモジュール204に代えて、BTモジュール206を有する。図14は、本変形例に係るNAS300のブロック図である。図14に示すように、本変形例に係るNAS300は、上述した無線LANモジュール304に代えて、BTモジュール307を有する。
【0120】
[変形例4]
上述した実施形態では、USBドングル200の初期設定時にUSB I/Fを使用していたが、USB I/Fに代えてNFC(Near Field Communication)を使用してもよい。NFCとは、十数センチの距離での無線通信(RFID)技術である。図15は、本変形例に係るUSBドングル200のブロック図である。図15に示すように、本変形例に係るUSBドングル200は、NFCモジュール205aをさらに有する。図16は、本変形例に係るNAS300のブロック図である。図16に示すように、本変形例に係るNAS300は、NFCモジュール308をさらに有する。この場合、NAS300は、USB I/F301を有していなくてもよい。
【0121】
[その他の実施形態]
上記のように、本発明は実施形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなる。
【0122】
例えば、上述した実施形態では、USBドングル200へ割り当てる記憶領域の範囲が管理者PC400によって指定されていたが、1又は複数のUSBドングル200とNAS300とをセットで販売するような場合、USBドングル200へ割り当てる記憶領域の範囲が出荷時に設定されていてもよい。
【0123】
また、ファイル暗号化キーによる暗号化/復号化は、処理負荷を低減する観点では、省略してもよい。
【0124】
上述した実施形態では、本発明の通信装置の実施形態としてのUSBドングル200を説明したが、本発明の通信装置にはUSB I/F以外のインターフェイスを適用してもよい。例えば、USB I/Fに代えてIEEE1394 I/Fを適用できる。IEEE1394 I/Fには、USB I/Fと同様にマスストレージクラスに相当するデバイスクラスが存在する。また、IEEE1394 I/Fは、USB I/Fと同様にデバイスクラス情報をホストPC100に通知する。このため、上述した実施形態と同様の仕組みをIEEE1394 I/Fに応用可能である。
【0125】
このように本発明は、ここでは記載していない様々な実施形態等を包含するということを理解すべきである。
【符号の説明】
【0126】
10…ネットワーク、20…AP、100…ホストPC、101…USB I/F、102…CPU、103…メモリ、104…HDD、105…ディスプレイ、106…キーボード、107…マウス、200…USBドングル、201…USB I/F、202…CPU、203…メモリ、204…無線LANモジュール、205a…NFCモジュール、206…BTモジュール、300…NAS、302…CPU、303…メモリ、304…無線LANモジュール、305…HDD、306…有線LAN I/F、307…BTモジュール、308…NFCモジュール、400…管理者PC
【特許請求の範囲】
【請求項1】
データを記憶するための不揮発性記憶手段を有しない通信機器が、前記通信機器のインターフェイスを介して情報端末機器に電気的に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信するステップと、
前記通信機器が、前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器との通信を確立するステップと、
前記情報端末機器が、前記デバイスクラス情報に応じて前記通信機器をマスストレージクラスのデバイスと認識した後、前記通信機器の記憶領域に関する問い合せコマンドを前記通信機器に送信するステップと、
前記通信機器が、前記情報端末機器からの前記問い合せコマンドを受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送するステップと、
前記ストレージ機器が、前記通信機器からの前記問い合せコマンドを受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信するステップと、
前記通信機器が、前記情報端末機器からの前記記憶領域情報を受信した後、当該受信した記憶領域情報を前記情報端末機器に転送するステップと、
を有することを特徴とする通信方法。
【請求項2】
データを記憶するための不揮発性記憶手段を有しない通信機器であって、
情報端末機器と電気的に接続可能なインターフェイスと、
前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器との通信を行うための通信手段と、
前記インターフェイス及び前記通信手段を制御するための制御手段と、を有し、
前記制御手段は、
前記インターフェイスが前記情報端末機器に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信し、
前記情報端末機器からの前記通信機器の記憶領域に関する問い合せコマンドを前記インターフェイスが受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送し、
前記ストレージ機器からの前記特定の記憶領域に関する記憶領域情報を前記通信手段が受信した後、当該受信した記憶領域情報を前記情報端末機器に転送する、
ことを特徴とする通信機器。
【請求項3】
前記制御手段は、
前記情報端末機器からの読み出しコマンドを前記インターフェイスが受信した後、当該受信した読み出しコマンドを前記ストレージ機器に転送し、
前記ストレージ機器からの読み出しデータを前記通信手段が受信した後、当該受信した読み出しデータを前記情報端末機器に転送する、
ことを特徴とする請求項2に記載の通信機器。
【請求項4】
前記制御手段は、
前記情報端末機器からの書き込みコマンドを前記インターフェイスが受信した後、当該受信した書き込みコマンドを前記ストレージ機器に転送し、
前記情報端末機器からの書き込みデータを前記インターフェイスが受信した後、当該受信した書き込みデータを前記ストレージ機器に転送する、
ことを特徴とする請求項2に記載の通信機器。
【請求項5】
前記インターフェイスは、USBインターフェイスであることを特徴とする請求項2に記載の通信機器。
【請求項6】
前記通信手段は、近距離無線通信を行う近距離無線通信モジュールを含むことを特徴とする請求項2に記載の通信機器。
【請求項7】
前記近距離無線通信は、無線LAN通信であることを特徴とする請求項6に記載の通信機器。
【請求項8】
前記制御手段は、前記ストレージ機器との通信をIPパケット通信により行うことを特徴とする請求項2に記載の通信機器。
【請求項9】
前記IPパケット通信は、iSCSIプロトコルを使用することを特徴とする請求項8に記載の通信機器。
【請求項10】
前記制御手段は、
前記ストレージ機器との通信を確立するまでに前記情報端末機器からの前記問い合せコマンドを前記インターフェイスが受信した場合に、前記情報端末機器に対して否定応答を送信し、
前記ストレージ機器との通信を確立した後に前記情報端末機器からの前記問い合せコマンドを前記インターフェイスが受信した場合に、当該受信した問い合せコマンドを前記ストレージ機器に転送する、
ことを特徴とする請求項2に記載の通信機器。
【請求項11】
前記制御手段は、
前記通信機器の使用開始時に、前記通信機器の識別子を前記ストレージ機器に送信し、
前記識別子の送信後に前記ストレージ機器との通信のための設定情報及び/又はファイル暗号化キーを前記ストレージ機器から受信すると、当該受信した設定情報及び/又はファイル暗号化キーを記憶する、
ことを特徴とする請求項2に記載の通信機器。
【請求項12】
前記制御手段は、前記ストレージ機器と共有するファイル暗号キーを用いて、書き込みデータの暗号化及び読み出しデータの復号化を行うことを特徴とする請求項2に記載の通信機器。
【請求項13】
記憶手段を有するストレージ機器であって、
データを記憶するための不揮発性記憶手段を有しない通信機器との通信を行うための通信手段と、
前記記憶手段及び前記通信手段を制御するための制御手段と、を有し、
前記制御手段は、
前記記憶手段の少なくとも一部である特定の記憶領域を前記通信機器に割り当て、
前記通信機器の記憶領域に関する問い合せコマンドを前記通信手段が受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信する、
ことを特徴とするストレージ機器。
【請求項14】
前記制御手段は、前記通信機器の識別子を前記通信機器から受信した後、予め登録された識別子と当該受信した識別子とが一致する場合に、前記通信機器が前記ストレージ機器との通信を行うための設定情報及び/又はファイル暗号化キーを前記通信機器に送信することを特徴とする請求項13に記載のストレージ機器。
【請求項15】
前記通信手段は、近距離無線通信を行う近距離無線通信モジュールを含むことを特徴とする請求項14に記載のストレージ機器。
【請求項16】
前記近距離無線通信は、無線LAN通信であることを特徴とする請求項15に記載のストレージ機器。
【請求項17】
前記制御手段は、前記通信機器との通信をIPパケット通信により行うことを特徴とする請求項13に記載のストレージ機器。
【請求項18】
前記IPパケット通信は、iSCSIプロトコルを使用することを特徴とする請求項17に記載のストレージ機器。
【請求項19】
前記制御手段は、前記通信機器からのコマンドに応じて前記特定の記憶領域に対する書き込み/読み出しを行った場合に、当該書き込み/読み出しに関するログを記録することを特徴とする請求項13に記載のストレージ機器。
【請求項20】
前記制御手段は、前記通信機器と共有するファイル暗号キーを用いて、書き込みデータの暗号化及び読み出しデータの復号化を行うことを特徴とする請求項13に記載のストレージ機器。
【請求項21】
情報端末機器と電気的に接続可能なインターフェイスを有し、データを記憶するための不揮発性記憶手段を有しない通信機器に、
前記インターフェイスが前記情報端末機器に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信するステップと、
前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器との通信を確立するステップと、
前記情報端末機器からの前記通信機器の記憶領域に関する問い合せコマンドを前記インターフェイスが受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送するステップと、
前記ストレージ機器からの前記特定の記憶領域に関する記憶領域情報を受信した後、当該受信した記憶領域情報を前記情報端末機器に転送するステップと、
を実行させることを特徴とする制御プログラム。
【請求項22】
記憶手段を有するストレージ機器に、
データを記憶するための不揮発性記憶手段を有しない通信機器に対して、前記記憶手段の少なくとも一部である特定の記憶領域を割り当てるステップと、
前記通信機器の記憶領域に関する問い合せコマンドを受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信するステップと、
を実行させることを特徴とする制御プログラム。
【請求項1】
データを記憶するための不揮発性記憶手段を有しない通信機器が、前記通信機器のインターフェイスを介して情報端末機器に電気的に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信するステップと、
前記通信機器が、前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器との通信を確立するステップと、
前記情報端末機器が、前記デバイスクラス情報に応じて前記通信機器をマスストレージクラスのデバイスと認識した後、前記通信機器の記憶領域に関する問い合せコマンドを前記通信機器に送信するステップと、
前記通信機器が、前記情報端末機器からの前記問い合せコマンドを受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送するステップと、
前記ストレージ機器が、前記通信機器からの前記問い合せコマンドを受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信するステップと、
前記通信機器が、前記情報端末機器からの前記記憶領域情報を受信した後、当該受信した記憶領域情報を前記情報端末機器に転送するステップと、
を有することを特徴とする通信方法。
【請求項2】
データを記憶するための不揮発性記憶手段を有しない通信機器であって、
情報端末機器と電気的に接続可能なインターフェイスと、
前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器との通信を行うための通信手段と、
前記インターフェイス及び前記通信手段を制御するための制御手段と、を有し、
前記制御手段は、
前記インターフェイスが前記情報端末機器に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信し、
前記情報端末機器からの前記通信機器の記憶領域に関する問い合せコマンドを前記インターフェイスが受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送し、
前記ストレージ機器からの前記特定の記憶領域に関する記憶領域情報を前記通信手段が受信した後、当該受信した記憶領域情報を前記情報端末機器に転送する、
ことを特徴とする通信機器。
【請求項3】
前記制御手段は、
前記情報端末機器からの読み出しコマンドを前記インターフェイスが受信した後、当該受信した読み出しコマンドを前記ストレージ機器に転送し、
前記ストレージ機器からの読み出しデータを前記通信手段が受信した後、当該受信した読み出しデータを前記情報端末機器に転送する、
ことを特徴とする請求項2に記載の通信機器。
【請求項4】
前記制御手段は、
前記情報端末機器からの書き込みコマンドを前記インターフェイスが受信した後、当該受信した書き込みコマンドを前記ストレージ機器に転送し、
前記情報端末機器からの書き込みデータを前記インターフェイスが受信した後、当該受信した書き込みデータを前記ストレージ機器に転送する、
ことを特徴とする請求項2に記載の通信機器。
【請求項5】
前記インターフェイスは、USBインターフェイスであることを特徴とする請求項2に記載の通信機器。
【請求項6】
前記通信手段は、近距離無線通信を行う近距離無線通信モジュールを含むことを特徴とする請求項2に記載の通信機器。
【請求項7】
前記近距離無線通信は、無線LAN通信であることを特徴とする請求項6に記載の通信機器。
【請求項8】
前記制御手段は、前記ストレージ機器との通信をIPパケット通信により行うことを特徴とする請求項2に記載の通信機器。
【請求項9】
前記IPパケット通信は、iSCSIプロトコルを使用することを特徴とする請求項8に記載の通信機器。
【請求項10】
前記制御手段は、
前記ストレージ機器との通信を確立するまでに前記情報端末機器からの前記問い合せコマンドを前記インターフェイスが受信した場合に、前記情報端末機器に対して否定応答を送信し、
前記ストレージ機器との通信を確立した後に前記情報端末機器からの前記問い合せコマンドを前記インターフェイスが受信した場合に、当該受信した問い合せコマンドを前記ストレージ機器に転送する、
ことを特徴とする請求項2に記載の通信機器。
【請求項11】
前記制御手段は、
前記通信機器の使用開始時に、前記通信機器の識別子を前記ストレージ機器に送信し、
前記識別子の送信後に前記ストレージ機器との通信のための設定情報及び/又はファイル暗号化キーを前記ストレージ機器から受信すると、当該受信した設定情報及び/又はファイル暗号化キーを記憶する、
ことを特徴とする請求項2に記載の通信機器。
【請求項12】
前記制御手段は、前記ストレージ機器と共有するファイル暗号キーを用いて、書き込みデータの暗号化及び読み出しデータの復号化を行うことを特徴とする請求項2に記載の通信機器。
【請求項13】
記憶手段を有するストレージ機器であって、
データを記憶するための不揮発性記憶手段を有しない通信機器との通信を行うための通信手段と、
前記記憶手段及び前記通信手段を制御するための制御手段と、を有し、
前記制御手段は、
前記記憶手段の少なくとも一部である特定の記憶領域を前記通信機器に割り当て、
前記通信機器の記憶領域に関する問い合せコマンドを前記通信手段が受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信する、
ことを特徴とするストレージ機器。
【請求項14】
前記制御手段は、前記通信機器の識別子を前記通信機器から受信した後、予め登録された識別子と当該受信した識別子とが一致する場合に、前記通信機器が前記ストレージ機器との通信を行うための設定情報及び/又はファイル暗号化キーを前記通信機器に送信することを特徴とする請求項13に記載のストレージ機器。
【請求項15】
前記通信手段は、近距離無線通信を行う近距離無線通信モジュールを含むことを特徴とする請求項14に記載のストレージ機器。
【請求項16】
前記近距離無線通信は、無線LAN通信であることを特徴とする請求項15に記載のストレージ機器。
【請求項17】
前記制御手段は、前記通信機器との通信をIPパケット通信により行うことを特徴とする請求項13に記載のストレージ機器。
【請求項18】
前記IPパケット通信は、iSCSIプロトコルを使用することを特徴とする請求項17に記載のストレージ機器。
【請求項19】
前記制御手段は、前記通信機器からのコマンドに応じて前記特定の記憶領域に対する書き込み/読み出しを行った場合に、当該書き込み/読み出しに関するログを記録することを特徴とする請求項13に記載のストレージ機器。
【請求項20】
前記制御手段は、前記通信機器と共有するファイル暗号キーを用いて、書き込みデータの暗号化及び読み出しデータの復号化を行うことを特徴とする請求項13に記載のストレージ機器。
【請求項21】
情報端末機器と電気的に接続可能なインターフェイスを有し、データを記憶するための不揮発性記憶手段を有しない通信機器に、
前記インターフェイスが前記情報端末機器に接続された後、マスストレージクラスであることを示すデバイスクラス情報を前記情報端末機器に送信するステップと、
前記通信機器に割り当てられた特定の記憶領域を有するストレージ機器との通信を確立するステップと、
前記情報端末機器からの前記通信機器の記憶領域に関する問い合せコマンドを前記インターフェイスが受信した後、当該受信した問い合せコマンドを前記ストレージ機器に転送するステップと、
前記ストレージ機器からの前記特定の記憶領域に関する記憶領域情報を受信した後、当該受信した記憶領域情報を前記情報端末機器に転送するステップと、
を実行させることを特徴とする制御プログラム。
【請求項22】
記憶手段を有するストレージ機器に、
データを記憶するための不揮発性記憶手段を有しない通信機器に対して、前記記憶手段の少なくとも一部である特定の記憶領域を割り当てるステップと、
前記通信機器の記憶領域に関する問い合せコマンドを受信した後、前記特定の記憶領域に関する記憶領域情報を前記通信機器に送信するステップと、
を実行させることを特徴とする制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2013−105396(P2013−105396A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−250027(P2011−250027)
【出願日】平成23年11月15日(2011.11.15)
【出願人】(390040187)株式会社バッファロー (378)
【Fターム(参考)】
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願日】平成23年11月15日(2011.11.15)
【出願人】(390040187)株式会社バッファロー (378)
【Fターム(参考)】
[ Back to top ]