特許第6465314号(P6465314)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サイレックス・テクノロジー株式会社の特許一覧

<>
  • 特許6465314-デバイスサーバ 図000002
  • 特許6465314-デバイスサーバ 図000003
  • 特許6465314-デバイスサーバ 図000004
  • 特許6465314-デバイスサーバ 図000005
  • 特許6465314-デバイスサーバ 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6465314
(24)【登録日】2019年1月18日
(45)【発行日】2019年2月6日
(54)【発明の名称】デバイスサーバ
(51)【国際特許分類】
   G06F 13/38 20060101AFI20190128BHJP
   H04L 12/44 20060101ALI20190128BHJP
【FI】
   G06F13/38 320A
   G06F13/38 310B
   G06F13/38 350
   H04L12/44 Z
【請求項の数】3
【全頁数】13
(21)【出願番号】特願2016-110880(P2016-110880)
(22)【出願日】2016年6月2日
(65)【公開番号】特開2017-215907(P2017-215907A)
(43)【公開日】2017年12月7日
【審査請求日】2018年10月5日
【早期審査対象出願】
(73)【特許権者】
【識別番号】500112146
【氏名又は名称】サイレックス・テクノロジー株式会社
(72)【発明者】
【氏名】西原 友美
【審査官】 田中 啓介
(56)【参考文献】
【文献】 特開2015−119354(JP,A)
【文献】 特表2013−509065(JP,A)
【文献】 米国特許出願公開第2012/0158822(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F13/00−13/14
G06F13/20−13/42
H04B7/24−7/26
H04L12/28、12/44−12/46
H04L13/02−13/18
H04L29/00−29/12
H04W4/00−99/00
(57)【特許請求の範囲】
【請求項1】
通信端末と1または複数のUSBデバイスとの通信を中継するデバイスサーバであって、
通信端末と前記USBデバイスとの間の通信内容を所定の量まで一時記憶するバッファを備え、
通信端末との間に(1)RNDIS(Remote Network Driver Interface Specification)を用いて有線経路で通信する第一経路と、(2)無線経路を含む第二経路と、の2種類の経路を有し、いずれかの経路で通信端末と通信し、
2種類の通信経路の切替えの際、前記バッファに一時記憶された通信内容を宛先ノードに向けて送信する、
デバイスサーバ。
【請求項2】
前記宛先ノードは前記USBデバイスである、請求項1記載のデバイスサーバ。
【請求項3】
さらに、前記USBデバイスのデバイスドライバを格納する記憶を備え、
前記USBデバイスのデバイスドライバを持たない通信端末との間で、第一経路または第二経路が確立されたとき、前記デバイスドライバを当該通信端末に供給する、
請求項1または2に記載のデバイスサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介してデバイスを制御可能なデバイスサーバシステムにおける通信経路に関する。
【背景技術】
【0002】
近年、PC(Personal Computer)やタブレット端末の軽量化・小型化に伴い、周辺機器とのインタフェースのポート数は必要最小限しか搭載していないことが多くなってきている。例えば、タブレット端末で、USBインタフェースの搭載数が1ポートのみの場合、ユーザが異なるUSBデバイス(スキャナやプリンタなど)を利用するたびに、USBケーブルを差し替える必要があり、利便性が低下する。
【0003】
そこで、上述のような利用形態では、タブレット端末などが搭載する1つのUSBポート(上流ポート)とUSBケーブルで接続し、自身に複数のUSBポート(下流ポート)を備えた、上流ポートと下流ポートの間を中継する装置(USBハブなど)を用いることが一般的になっている。この場合、USBハブに備わるUSBハブコントローラがデバイスを区別できるようにID番号を割り振り、そのID番号をもとに通信制御を行う。
【0004】
また、USBデバイスをネットワーク上で共有したり、その設置場所をネットワーク上で自由にレイアウトできるなど、USBデバイスをネットワーク越しに利用できるデバイスサーバが普及しているが、特許文献1では上述のUSBハブの機能を搭載したデバイスサーバが開示されている。
【0005】
特許文献1に記載のデバイスサーバは、USBデバイスモードとUSBハブモードの2つのモードを備えており、USB上流側コネクタ(アップストリームポート)に機器が接続されると、自動的にUSBデバイスモードからUSBハブモードに切替わる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2012−049602号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載のデバイスサーバは、USBハブコントローラが備わることから、デバイスサーバにローカル接続しているUSBデバイスのID番号が2つのモードを切り替える際に今まで割り振られていたものから変更になる可能性がある。このような場合は、OS(Operating System)がUSBデバイスを「新たなデバイス」として認識し、再度ドライバの選定を行う。また、USBデバイスを認識するためにプラグアンドプレイ処理も必要となり、USBデバイスを継続して利用することができない。
【0008】
例えば、USBハブモードにおいて、PCやタブレット端末からUSBデバイス(例えば、ハードディスク)にファイルを書き込んでいる途中でUSBハブモードからUSBデバイスモードに切り替わると、USBデバイスを認識するための処理が開始することになり、書き込みができなくなる事態が発生するのである。
【0009】
本発明は、上述の問題を鑑みてなされたものであり、2つのモードで動作するデバイスサーバシステムにおいて、モードが切り替わっても割り振られたデバイスのID番号を変えることなく、スムーズにモードを切り替え、且つ、通信の継続を担保するデバイスサーバを提供する。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明の一態様に係るデバイスサーバは、通信端末と1または複数のUSBデバイスとの通信を中継するデバイスサーバであって、通信端末とUSBデバイスとの間の通信内容を所定の量まで一時記憶するバッファを備え、通信端末との間に(1)RNDISを用いて有線経路で通信する第一経路と、(2)無線経路を含む第二経路と、の2種類の経路を有し、いずれかの経路で通信端末と通信し、2種類の通信経路の切替えの際、バッファに一時記憶された通信内容を宛先ノードに向けて送信する。
【0011】
これによれば、通信端末とデバイスサーバを介してローカル接続しているUSBデバイスとの間の通信において、デバイスサーバを利用する2つのモード(直結モードとデバイスサーバモード)での通信をスムーズに切り替え、さらに通信が途切れる時間を極力、抑えることができる。
【0012】
また、宛先ノードはUSBデバイスである。
【0013】
さらに、USBデバイスのデバイスドライバを格納する記憶を備え、USBデバイスのデバイスドライバを持たない通信端末との間で、第一経路または第二経路が確立されたとき、デバイスドライバを当該通信端末に供給する。
【0014】
これによれば、デバイスサーバがUSBデバイスのドライバプログラムを格納していると、デバイスのドライバをインターネットやデバイスの付属品を探す必要がなく、効率的に利用開始できる。
【発明の効果】
【0015】
本発明は、ユーザの端末と有線ケーブルで直結し利用できる機能と、ネットワークを経由して利用できる機能の両方を備えるデバイスサーバが、自身にローカル接続しているUSBデバイスと、2つの機能(2つの異なる経路を利用した通信)をスムーズに切り替えつつ、通信の継続性を維持できる。
【図面の簡単な説明】
【0016】
図1図1は、本発明の実施の形態にかかるシステム全体図である。
図2図2は、本発明の実施の形態にかかるデバイスサーバのハードウェア構成である。
図3図3は、本発明の実施の形態にかかるデバイスサーバの機能ブロック図である。
図4図4は、本発明の実施の形態にかかるデバイスサーバの第一経路に障害が発生した状況を示したシステム全体図である。
図5図5は、本発明の実施の形態にかかるデバイスサーバの動作フロー図である。
【発明を実施するための形態】
【0017】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0018】
以下の実施の形態で示される数値、構成要素、構成要素の配置位置などは、一例であり、発明の範囲内において種々の変形や変更が可能である。
【0019】
(実施の形態)
図1は本発明の実施の形態にかかるシステム全体図である。
【0020】
図1に示すとおり、本発明のデバイスサーバシステム100は、デバイスサーバ1、通信端末2、アクセスポイント3、USBデバイス4(例えばプリンタ)およびUSBデバイス5(例えば外付けハードディスク)などの装置から構成されている。
【0021】
デバイスサーバ1は、USBインタフェースを備えると共に、ネットワーク(LAN)インタフェースとしては有線通信インタフェースと無線通信インタフェースの両方を備えている。また、デバイスサーバ1は、有線ケーブル10によって通信端末2と接続され、無線LAN12によってアクセスポイント3と接続される。さらにデバイスサーバ1は、USBデバイス4やUSBデバイス5とそれぞれ有線ケーブル13や有線ケーブル14によってローカル接続されている。通信端末2のユーザは、通信端末2が備えるアプリケーション(図示しない、USB仮想接続ツールとも呼ぶ)を用いてデバイスサーバ1に指示することにより、デバイスサーバ1にローカル接続しているUSBデバイス14または15をネットワーク越しに制御できる。
【0022】
通信端末2は、有線インタフェースを備えるものであり、例えば、ノートPCやタブレットやスマートフォンなどである。通信端末2は、USB仮想接続ツールも備えている。また、通信端末2は、本発明で必須ではないがUSBコネクタ、無線通信インタフェースなど等の各種インタフェースを備えていてもよい。
【0023】
本発明における通信端末2は、有線ケーブル10を通じてデバイスサーバ1と有線通信が可能であると共に、有線LAN11を経由してアクセスポイント3とも有線通信が可能である。なお、有線ケーブル10を通じての有線通信は、RNDIS(後で詳細に述べる)などを利用する通信である。有線LAN11を通じての有線通信は、例えばIEEE802.3規格などに適合するものにより実現される。
【0024】
アクセスポイント3は、有線インタフェースと無線インタフェースとを備える。
【0025】
アクセスポイント3は、無線LAN12によりデバイスサーバ1との間で無線通信を行い、有線LAN11により通信端末2との間で有線通信を行う。なお、無線通信は、例えばIEEE802.11規格などに適合する無線LANにより実現され、有線通信は、例えばIEEE802.3規格などに適合するものにより実現される。
【0026】
USBデバイス4は、有線ケーブル13(USBケーブル)でデバイスサーバ1とローカル接続されている。例えば、プリンタやスキャナなどである。
【0027】
USBデバイス5は、有線ケーブル14(USBケーブル)でデバイスサーバ1とローカル接続されている。例えば、外付けハードディスクなどである。
【0028】
通信経路R1は、通信端末2が有線ケーブル10(USBケーブル)を通じてデバイスサーバ1と有線通信を行う経路(以後、第一経路とも呼ぶ)である。
【0029】
通信経路R2は、通信端末2から有線LAN11を通じてアクセスポイント3に達し、さらにこのアクセスポイント3を介し無線LAN12を通じてデバイスサーバ1との間で無線通信を行う経路(以後、第二経路とも呼ぶ)である。
【0030】
図2は、本発明の実施の形態に係るデバイスサーバ1のハードウェア構成図である。
【0031】
図2に示すとおり、これらの装置は、CPU(Central Processing Unit)20、ROM(Read Only Memory)21、RAM(Random Access Memory)22、記憶装置23、USB1_I/F24、USB2_I/F25、WNIC(Wireless Network Interface Card)26、NIC(Network Interface Card)27および各構成部品間を接続している内部バス28などを備えている。
【0032】
CPU20は、ROM21に格納された制御プログラムを実行するプロセッサである。
【0033】
ROM21は、制御プログラム等を保持する読み出し専用記憶領域である。
【0034】
RAM22は、CPU20が制御プログラムを実行するときに使用するワークエリアとして用いられる記憶領域である。
【0035】
記憶装置23は、制御プログラム、制御情報、装置情報、または認証情報などを記憶する記憶領域である。
【0036】
USB1_I/F24は、USBインタフェースを備えている。例えば、USB規格に準拠するコネクタを有し、そのコネクタに接続されたUSBデバイスとの通信制御を行う。
【0037】
USB2_I/F25は、USBインタフェースを備えている。例えば、USB規格に準拠するコネクタを有し、そのコネクタに接続されたUSBデバイスとの通信制御を行う。
【0038】
また、USB1_I/F24およびUSB2_I/F25は、それぞれ複数のUSBコネクタを有してもよい。
【0039】
WNIC26は、無線通信を行う無線通信インタフェースを備えている。例えば、IEEE802.11a、b、g、n、ac規格等に適合する無線LANの通信インタフェースである。
【0040】
NIC27は、有線通信を行う有線通信インタフェースを備えている。例えば、IEEE802.3規格等に適合する有線LANの通信インタフェースである。
【0041】
内部バス28は、CPU20,ROM21、RAM22、記憶装置23、USB1_I/F24、USB2_I/F25、WNIC26、NIC27を電気的に接続し、信号のやりとりを行うバスである。
【0042】
図3は、本発明の実施の形態にかかるデバイスサーバ1の機能ブロック図である。
【0043】
図3に示すデバイスサーバ1は、USB1インタフェース部30、USB2インタフェース部31、無線インタフェース部32、第一仮想接続部33、制御部34、記憶部35、判断部36、バッファ部37、第二仮想接続部38などを備えている。
【0044】
USB1インタフェース部30は、有線ケーブル10を通じて通信端末2との間で有線通信を行い、通信端末2からの所定の指示を制御部34に伝えるなどする。所定の指示とは、通信端末2からデバイスサーバ1を介して、USBデバイス4やUSBデバイス5を直接に制御しているかのような指示である(以後、直結モードと呼ぶ。)。より詳しくは、通信端末2とUSBデバイス4やUSBデバイス5との通信は、通信端末2からUSBデバイス4やUSBデバイス5に対して指示した制御内容を制御部34が受信し、制御部34が第一仮想接続部33に通知することで行われる。その指示は、例えば、RNDIS(後で詳細に述べる)を利用し、通信端末2からデバイスサーバを介してUSBデバイス4やUSBデバイス5を制御できるものである。USB1インタフェース部30は、USB1_I/F24などにより実現される。
【0045】
USB2インタフェース部31は、少なくとも1以上のUSBコネクタを有し、有線ケーブル(13、14)を通じて、USBデバイス(4、5)との間で有線通信を行う。USB2インタフェース部31は、USBハブ装置のように複数のUSBデバイスをローカル接続でき、通信端末2のユーザが使用したいUSBデバイスを選択し、そのUSBデバイスを制御部34の指示に基づいて利用できるようにする。USB2インタフェース部31は、USB2_I/F25などにより実現される。
【0046】
無線インタフェース部32は、無線LAN12を通じてアクセスポイント3と無線通信を行い、さらにアクセスポイント3から有線LAN113を介し通信端末2との間で通信を行う。無線インタフェース部32によって、通信端末2のユーザは、USB仮想接続ツール上から指示して、有線LAN11およびアクセスポイント3を介しデバイスサーバ経由で、USBデバイスに接続・利用することもできる(以後、デバイスサーバモードと呼ぶ。)。無線インタフェース部32は、WNIC26などにより実現される。
【0047】
第一仮想接続部33は、制御部34の通知を基に、通信端末2からデバイスサーバを介してUSBデバイス4やUSBデバイス5を制御できる機能を実現する。具体的には、通信端末2のオペレーティングシステムが備えるネットワークドライバである、NDIS(Network Driver Interface Specification)を拡張したRNDIS(Remote NDIS)を利用して、通信端末2からデバイスサーバ1を介してUSBデバイス4やUSBデバイス5を制御する。ここで、RNDISは、USBなどの入出力バスを介してホストコンピューターのネットワークドライバとして動作する機能を備えており、仮想的にイーサネット(登録商標)越しにUSBデバイスを制御することを可能とするものである。第一仮想接続部33は、通信端末からのRNDISを用いた通信を受け、USBデバイスへ通信を転送するためUSB2インタフェース部31に送る。第一仮想接続部33は、CPU20,ROM21、RAM22、記憶装置23などにより実現される。
【0048】
制御部34は、通信端末2からの指示を受けて、その指示を基にUSB2インタフェース部31を通じてローカル接続しているUSBデバイスを制御するため、第一仮想接続部33、または第二仮想接続部38に通信端末2からの指示を通知する。
【0049】
また、制御部34は、通信端末2が有線ケーブル10を通じて通信しているとき、通信端末2とデバイスサーバ1との間の通信経路(第一経路)で障害が発生した旨の通知を判断部36から受けると、第一仮想接続部33に第一経路での通信を切断する旨の通知を行い、第二仮想接続部38に第二経路での通信を開始する旨の通知を行う。制御部34は、CPU20,ROM21、RAM22、記憶装置23などにより実現される。
【0050】
記憶部35は、通信端末2のユーザがUSB仮想接続ツールによってデバイスサーバ1に設定した各種パラメータを格納している。各種パラメータとは、例えば、「有線通信と無線通信の初期接続の優先度」や「バッファ部37の容量設定」などである。
【0051】
その他、デバイスサーバ1が通信のために一時的に格納するメモリーも備えている。記憶部35は、記憶装置23などにより実現される。
【0052】
判断部36は、通信端末2が有線ケーブル10を通じてデバイスサーバ1と通信している場合であって、通信端末2とデバイスサーバ1との通信経路で障害が発生したときに、制御部34にその旨を通知する。
【0053】
判断部36は、バッファ部37に所定のデータ量が格納されたか否か、またはバッファ部37に格納したデータが通信端末2とデバイスサーバ1にローカル接続しているUSBデバイスとの間の通信でやりとりすべきデータの終端であるか否かを監視し判断する。所定のデータ量が格納されている場合、および格納されたデータがデータの終端である場合は、制御部34に対して、バッファ部37に格納されたデータを、USB1インタフェース部30もしくはUSB2インタフェース部31または無線インタフェース部32に送信する旨の通知を行う。所定のデータ量が格納されていない場合は、通信端末2とUSBデバイス4やUSBデバイス5との間で通信されるデータをバッファ部37に格納する旨を制御部34に通知する。
【0054】
また、判断部36は、USB1インタフェース部30を経由した通信端末2との通信(例えばRNDISを利用した通信)が開始されたか否かを判断し、制御部34にその旨を通知する。判断部36は、CPU20,ROM21、RAM22、記憶装置23などにより実現される。
【0055】
バッファ部37は、記憶部35とは別個に確保されたメモリー領域で構成されており、通信端末2とUSBデバイス4やUSBデバイス5との間で行なわれる通信において所定のデータ量を格納する。所定のデータ量は、通信端末2のユーザがUSB仮想接続ツールによって記憶部35に設定してもよいし、工場出荷時に予め設定されていてもよい。バッファ部37は、記憶装置23などにより実現される。
【0056】
第二仮想接続部38は、制御部34からの通知を基に、通信端末2からアクセスポイント3および無線LAN12を通じ、デバイスサーバ1経由でUSBデバイス4やUSBデバイス5を制御できる機能を実現する。具体的には、通信端末2が備えるUSB仮想接続ツール上でユーザが、デバイスサーバ1にローカル接続しているUSBデバイスを選択し、使用できるものである。第二仮想接続部38を用いる通信経路R2は、通信経路R1と異なり、RNDISを利用しない。
【0057】
なお、第二仮想接続部38は、通信端末2とデバイスサーバ1がUSB1インタフェース部30を通して通信可能となった旨の通知を制御部34から受けて、代替経路として、制御部34の通知があればいつでも通信可能な通信経路を予め確保する。第二仮想接続部38は、CPU20,ROM21、RAM22、記憶装置23などにより実現される。
【0058】
つぎに、図4は、本発明の実施の形態にかかるデバイスサーバ1と通信端末2が有線ケーブル10で接続され有線通信(通信経路R1)を行っている状況から、通信経路R2に切り替わって通信端末2との通信を継続する、システムの全体図である。
【0059】
ここで、通信経路R1は、通信端末2と有線ケーブル10でデバイスサーバと有線通信を行う経路(第一経路)である。通信経路R2は、通信端末2と有線LAN11でアクセスポイント3を介してデバイスサーバ1との間で無線通信を行う経路(第二経路)である。
【0060】
図4に示す状況は、デバイスサーバ1と通信端末2との通信経路R1で障害が発生した場合を示しており、これを受けてデバイスサーバ1は、通信端末2との間で行っている通信経路を通信経路R1から通信経路R2に切り替えを行う。
【0061】
図5は、本発明の実施の形態にかかるデバイスサーバ1が、通信端末2と第二経路で通信可能状態か否かの判断から第二経路で通信端末2と接続しUSBデバイスと通信を行うまでの一連のフローを示している。ここで、初期状態として、USB2インタフェース部31と、USBデバイス4やUSBデバイス5とは、有線ケーブル13、14により、既にそれぞれ通信可能である。
【0062】
ステップS401にて、判断部36は、通信端末2と無線インタフェース部32との間で第二経路を用いた無線通信が可能な状態か否かを判断する。通信可能な場合は、ステップS402に遷移する(ステップS401のYes)。通信可能でない場合は、処理を終了する(ステップS401のNo)。具体的には、判断部36は、無線インタフェース部32を通じてアクセスポイント3と無線通信が可能であり、かつアクセスポイント3と有線LAN11を通じて通信端末2と有線通信ができるか否かを判断する。
【0063】
ステップS402にて、判断部36は、通信端末2に接続された有線ケーブル10がUSB1インタフェース部30に物理的に接続しているか否かを判断する。接続していると判断した場合は、ステップS403に遷移する(ステップS402のYes)。接続していないと判断した場合は、ステップS409に遷移する(ステップS402のYes)。
【0064】
ステップS403にて、判断部36は、第一経路を用いて通信端末2とUSB1インタフェース部30との間で有線通信が可能な状態か否かを判断する。通信可能な場合は、ステップS404に遷移する(ステップS403のYes)。通信可能でない場合は、ステップS409に遷移する(ステップS403のNo)。具体的には、判断部36は、通信端末2が、USB1インタフェース部30に接続された有線ケーブル10とRNDISとを利用して有線通信ができるか否かで判断する。
【0065】
ステップS404にて、制御部34は、判断部36の通知を受けて、通信端末2とデバイスサーバ1にローカル接続しているUSBデバイスとの間を第一経路で通信する。
【0066】
ステップS405にて、制御部34は、通信端末2とデバイスサーバ1にローカル接続しているUSBデバイスとの間の通信でやりとりするデータをバッファ部37に格納するように制御する。
【0067】
ステップS406にて、判断部36は、バッファ部37に格納したデータが通信端末2とデバイスサーバ1にローカル接続しているUSBデバイスとの間の通信でやりとりすべきデータの終端であるか否かを判断する。終端である場合は、ステップS408に遷移する(ステップS406のYes)。このようにすれば、バッファ部37のデータ量(ユーザが設定したデータ量、または予め設定されたデータ量)が所定量に達していなくても、バッファ部37に格納されたデータは宛先ノード(USBデバイス)に即時、送信される。終端でない場合は、ステップS407に遷移する(ステップS406のNo)。
【0068】
ステップS407にて、判断部36は、バッファ部37に格納したデータ量が記憶部35に設定された所定のデータ量に達しているか否かを判断する。達している場合は、ステップS408に遷移する(ステップS407のYes)。達していない場合は、ステップS405を繰り返す(ステップS407のNo)。
【0069】
ステップS408にて、判断部36は、バッファ部37に格納しているデータから通信に必要なデータ量を送信する旨の通知を制御部34に行い、第一仮想接続部33を通じて通信端末2とUSBデバイスとの間で必要なデータ量を送信する。
【0070】
ステップS409にて、判断部36は、通信端末2と有線ケーブル10を通じてデバイスサーバ1と通信しているときに、第一経路で障害が発生したか否かを判断する。ここでいう障害とは、意図せぬ障害以外に、ユーザが通信端末2からケーブルを抜き第一経路による通信を停止した場合も含む。障害が発生した場合は、ステップS410に遷移する(ステップS409のYes)。障害が発生していない場合は、ステップS405に遷移する(ステップS409のNo)。
【0071】
ステップS410にて、判断部36は、直前の通信までバッファ部37に格納しているデータから通信に必要なデータ量を送信する旨の通知を制御部34に行い、デバイスサーバ1とUSBデバイスとの間の通信を行う。このようにすることで、通信端末2は、第一経路上に障害が発生しても、デバイスサーバ1から一定時間の通信がUSBデバイスと行われることにより、第二経路に切り替えて通信を開始するまでの時間を担保できる。その結果、通信端末2とUSBデバイスの間の通信が途切れることなく、スムーズな通信経路の切り替えが可能となる。
【0072】
ステップS411にて、判断部36は、第一経路で障害が発生したと判断(ステップS409のYes)すると、制御部34にその旨を通知する。判断部36からその通知を受けた制御部34は、第一仮想接続部33に第一経路での通信を切断する旨の通知を行い、第二仮想接続部38に第二経路を用いて通信を継続する旨の通知を行う。第二仮想接続部38は、無線インタフェース部32を通じて通信端末2と無線LAN12やアクセスポイント3を介し有線LAN12を通じて、通信を継続する。ここで、第二仮想接続部38は、第二経路を用いて通信が可能な状態(ステップS401のYes)であるので、制御部34の通知に基づいて第二経路での通信を即時に開始できる。
【0073】
(その他の実施形態)
その他の実施形態においては、デバイスサーバ1の記憶部35に、自身に接続されているUSBデバイス(14、15)のドライバを格納することが可能である。上述したように、本発明のデバイスサーバシステムでは、2つのモードが切り替わる際にドライバの再インストールは不要であるが、新たな通信端末(タブレット端末またはPC)がデバイスサーバにアクセスしUSBデバイスを利用するときには、デバイスのドライバが通信端末にインストールされていることが必須である。このとき、デバイスサーバがそのドライバプログラムを格納していると、デバイスのドライバをインターネットやデバイスの付属品を探す必要がなく、効率的に利用開始できる。デバイスサーバ1の制御部34は、判断部36による第一経路での通信が可能になった旨の通知を受けて、通信端末2に向けてUSBデバイスに対応したドライバを記憶部35から送信する。
【0074】
また、図1および図3における第二経路R2では、通信端末2有線LAN11を経由してアクセスポイント3とやりとりしていたが、通信端末2が無線通信インタフェースを持っていれば、直接アクセスポイント3とやりとりしてもよい。例えば、通信端末2のユーザが自席でUSBケーブルを使って(通信経路1で)デバイスサーバ1を経由しUSBデバイスを使用していたとする。会議などで通信端末を持って自席を離れると経路1は切断されるが、通信端末に備えられた無線通信インタフェースにより、アクセスポイント3に直接アクセスし、そこからデバイスサーバ1と通信し(通信経路2)、USBデバイスを引き続いて利用できる。この際、本発明のデバイスサーバシステムは、デバイスのドライバの再インストールは不要であり、デバイスを連続的に利用可能である。
【0075】
(まとめ)
上述したとおり、本発明は、図1で説明した通信端末とデバイスサーバを介してローカル接続しているUSBデバイスとの間の通信において、デバイスサーバを利用する2つのモード(直結モードとデバイスサーバモード)での通信をスムーズに切り替え、さらに通信が途切れる時間を極力、抑えることができる。
【0076】
従来では、モードの切り替えにより、直前まで通信を行っていたUSBデバイスであってもデバイスのID番号が変更されていた。このように従来では、USBデバイスは新たなデバイスとしてデバイスの認識を行うために必要な既定の処理(プラグアンドプレイなど)に時間がかかり、モード切り替え時に通信が途絶えてしまっていた。本発明では、デバイスのID番号を変更する事無く、2つのモードを切り替えることができる。
【0077】
より具体的には、RNDISを利用して通信(第一経路)することで、通信端末2がデバイスサーバを介してUSBデバイスを直接に制御することになり、USBデバイスのID番号がモード切り替え時に変更されることはない。つまり、従来では、USBハブ装置が備えるUSBハブコントローラ(ハードウェアICチップ)が、通信端末2とUSBデバイスとの間に介在し、接続しているUSBデバイスごとに割り振るため、通信端末のOSはUSBデバイスを切り替えるたびに「新しいデバイス」としてデバイスの認識を行う必要があるが、RNDISを利用すれば、通信端末2のユーザが使用したいデバイスサーバ1にローカル接続しているUSBデバイスは、通信端末2から直接にUSBデバイスを制御しているので、デバイスのID番号が変わることはないのである。
【0078】
本発明は、上記記載のようにモードの切り替え時に接続中のUSBデバイスのID番号が変更されないでは無く、バッファ部を設けることにより、USB規格の各種データ転送方式にも対応しながらもスムーズなモード切り替えによる通信を実現する。
【産業上の利用可能性】
【0079】
本発明は、ユーザの端末と有線ケーブルで直結し利用できる機能と、ネットワークを経由して利用できる機能の両方を備えるデバイスサーバを利用して、自身にローカル接続しているUSBデバイスと、2つの機能(2つの異なる経路を利用した通信)をスムーズに切り替えつつ、通信の継続性を維持したい場合に有用である。
【符号の説明】
【0080】
1 デバイスサーバ
2 通信端末
3 アクセスポイント
4、5 USBデバイス
10、13、14 有線ケーブル
11 有線LAN
12 無線LAN
R1、R2 通信経路
100 デバイスサーバシステム
20 CPU
21 ROM
22 RAM
23 記憶装置
24 USB1_I/F
25 USB2_I/F
26 WNIC
27 NIC
28 内部バス
30 USB1インタフェース部
31 USB2インタフェース部
32 無線インタフェース部
33 第一仮想接続部
34 制御部
35 記憶部
36 判断部
37 バッファ部
38 第二仮想接続部

図1
図2
図3
図4
図5