JP2016162110A - デバイスサーバ、デバイス利用方法、および、プログラム、 - Google Patents

デバイスサーバ、デバイス利用方法、および、プログラム、 Download PDF

Info

Publication number
JP2016162110A
JP2016162110A JP2015039200A JP2015039200A JP2016162110A JP 2016162110 A JP2016162110 A JP 2016162110A JP 2015039200 A JP2015039200 A JP 2015039200A JP 2015039200 A JP2015039200 A JP 2015039200A JP 2016162110 A JP2016162110 A JP 2016162110A
Authority
JP
Japan
Prior art keywords
client
server
usb
device server
usb device
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
JP2015039200A
Other languages
English (en)
Other versions
JP6455759B2 (ja
JP2016162110A5 (ja
Inventor
西原 健太
Kenta Nishihara
健太 西原
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 JP2015039200A priority Critical patent/JP6455759B2/ja
Publication of JP2016162110A publication Critical patent/JP2016162110A/ja
Publication of JP2016162110A5 publication Critical patent/JP2016162110A5/ja
Application granted granted Critical
Publication of JP6455759B2 publication Critical patent/JP6455759B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】ユーザーは利用するクライアント装置を切り替えて、デバイスサーバ経由でネットワーク上の周辺機器を利用する場合、その度に接続と切断の手間がかかり、また複数のクライアント装置と周辺機器の接続状況を意識しておく必要がある。
【解決手段】複数のクライアント装置が、ネットワークを介してデバイスサーバと接続され、デバイスサーバにローカル接続されたデバイスと通信を行うデバイスサーバシステムにおけるクライアント装置のプログラムであって、クライアント装置に、デバイスと他クライアント装置とが接続中であってかつ所定の条件を満たす場合、デバイスと他クライアント装置との接続を切断し、自クライアント装置とデバイスとを接続するようデバイスサーバに要求するステップを実行させる。
【選択図】図7

Description

本発明は、ネットワークを通じてクライアント装置からデバイスサーバを経由して周辺機器を利用することに関する。
近年、ネットワークの普及により、MFP(Multi Function Peripheral)やスキャナといったコンピュータ周辺機器(以下、周辺機器と呼ぶ)をネットワークに接続し、複数のクライアント装置(例えば、PC、タブレットなど)からネットワーク越しにこれらのコンピュータ周辺機器を利用したいという要望に応え、デバイスサーバと呼ばれる装置が普及している(非特許文献1)。
当該デバイスサーバを利用し、クライアント装置からネットワーク上の周辺機器を利用する場合、クライアント装置上で動作しているデバイスサーバを制御するソフトウェア(以後、仮想接続ツールと呼ぶ)を用いて、デバイスサーバに接続されている周辺機器を選択し接続するということができる。この結果、クライアント装置のユーザーは、選択した周辺機器をあたかもクライアント装置に直接接続されたかのように利用できるのである。また、USBの仕様上、この間、他のクライアント装置から当該周辺機器に接続することはできない。一方、デバイスを利用していたクライアント装置が当該周辺機器との接続状態を解除(切断)すると、デバイスは他のクライアント装置から接続可能な状態になる。デバイスサーバがこのような動作を行う理由は、あるクライアント装置が一旦周辺機器を利用し始めると、周辺機器が備える機能を、ユーザーが要望する時間の間、可能な限りそのクライアント装置から利用できるようにするためである。また、接続中に他のクライアント装置の要求により強制的に接続が切断されると、データの損失など思わぬトラブルの危険性も存在する。
サイレックス・テクノロジー株式会社 ホームページ<http://www.silex.jp/products/deviceserver_prod.html>
一方、ネットワークの普及と、クライアント装置が多品種、低コスト化した現在においては、1人のユーザーが複数のクライアント装置を利用して、デバイスサーバを経由しネットワーク上に接続している周辺機器を利用したいという要望も多い。例えば、ユーザーが同じネットワーク上に存在する複数のクライアント装置を利用してデバイスサーバを経由しネットワーク上のUSBデバイス(例えば、地デジチューナー、プリンタ、スキャナなど)を利用する場合などが考えられる。このような場合、はじめにデスクトップPCで地上デジタル放送を視聴していたが、ユーザーが移動し、別の場所で利用しているノートPCで視聴したいという場合でも、デバイスサーバ経由でネットワーク上の地デジチューナーを共有し利用することができる。
しかしながら、ユーザーは周辺機器を利用するクライアント装置を変更するにあたって、上述したように接続中のクライアント装置からの利用を優先させているため、デスクトップPCと地デジチューナーとの接続をユーザーがわざわざ仮想接続ツールを用いて切断し、新たに地デジチューナーを利用したいノートPCから接続操作を行う必要がある。このように、ユーザーは利用するクライアント装置を切り替えて周辺機器を利用する度に接続と切断の手間がかかり、また複数のクライアント装置と周辺機器の接続状況を意識しておく必要があり、利便性(例えば、接続、切断の操作が煩雑になるなど)が損なわれている。
本発明は、かかる要望に応えるためのものであり、デバイスサーバシステムにおいて、ユーザーが複数のクライアント装置の切り替えを行う際に、デバイスサーバに接続された周辺機器をユーザーの手間を介さず利用可能にすることを目的とする。
上記課題を解決するために、本発明にかかる第1の形態は、複数のクライアント装置が、ネットワークを介してデバイスサーバと接続され、デバイスサーバにローカル接続されたデバイスと通信を行うデバイスサーバシステムにおけるクライアント装置のプログラムであって、クライアント装置に、デバイスと他クライアント装置とが接続中であってかつ所定の条件を満たす場合、デバイスと他クライアント装置との接続を切断し、自クライアント装置とデバイスとを接続するようデバイスサーバに要求するステップを実行させるプログラムである。
好ましくは、所定の条件は、デバイスを利用するためのイベントが規定時間以上継続することである。
さらに好ましくは、所定の条件は、デバイスを利用するためのイベントが規定時間以上継続し、かつ自クライアント装置がデバイスサーバを経由してデバイスを利用する場合、デバイスとの接続および切断を自動で切り替える自動モードにあることである。
本発明にかかる第2の形態は、複数のクライアント装置が、ネットワークを介してデバイスサーバと接続され、デバイスサーバにローカル接続されたデバイスと通信を行うデバイスサーバシステムにおけるデバイス利用方法であって、デバイスを利用するためのイベントの継続時間が規定時間より長いか否かを判断するステップと、イベントの継続時間が規定時間より長いと判断した場合、デバイスと接続中のクライアントとの接続を切断し、イベントが発生したクライアント装置とデバイスとを接続するステップとを含むデバイス利用方法である。
本発明にかかる第3の形態は、複数のクライアント装置が、ネットワークを介してデバイスサーバと接続され、デバイスサーバにローカル接続されたデバイスと通信を行うデバイスサーバシステムにおけるデバイスサーバであって、デバイスとの接続および切断を自動で切り替える自動モードの場合、デバイスと接続中のクライアント装置とは異なるクライアント装置から接続切断の要求を受信したときは接続中のクライアント装置の許可なく切断するデバイスサーバである。
本発明は、複数のクライアント装置から、ネットワークを経由して、デバイスサーバに接続されている周辺機器をユーザーの手間を介さず、接続および切断を行うことができる。
従来並びに本発明の実施の形態1および2にかかるデバイスサーバシステムの全体図である。 従来並びに本発明の実施の形態1および2にかかるデバイスサーバシステムにおける各装置のハードウェア構成である。 従来のデバイスサーバシステムにかかる機能ブロック図である。 従来の仮想接続ツールの機能ブロック図である。 本発明の実施の形態1にかかる仮想接続ツールの機能ブロック図である。 本発明の実施の形態1にかかる仮想接続ツールの動作フロー図である。 本発明の実施の形態1にかかるデバイスサーバシステムにおける仮想接続ツールの動作シーケンス図である。 本発明の実施の形態2にかかるデバイスサーバシステムにおける仮想接続ツールの動作シーケンス図である。 本発明の実施の形態にかかる仮想接続ツールが取得できる情報の一例である。
はじめに、図1、図2、図3、図4を用いて従来のデバイスサーバシステムについて説明する。
(従来のデバイスサーバシステム)
図1は、従来のデバイスサーバシステムの全体図である。
クライアントPC101、クライアントPC104、および、クライアント110が、ネットワーク105を通じてデバイスサーバ102を経由してUSBデバイス103と接続している。なお、ネットワーク105は、図1では有線ネットワークとして図示しているが、デバイスサーバシステムは無線ネットワークでも利用できる。また、デバイスサーバ102に接続されたUSBデバイスは図1では1つであるが、1つのデバイスサーバに複数のUSBデバイスが接続され、各クライアント装置はそれぞれ別々のUSBデバイスを利用してもよい。
図2は、従来のデバイスサーバシステムにおける各装置のハードウェア構成である。
図2に示すとおり、これらの装置は、CPU(Central Processing Unit)200、ROM(Read Only Memory)201、RAM(Random Access Memory)202、記憶装置203、WNIC(Wireless Network Interface Card)204、NIC(Network Interface Card)205、入力装置206および各構成部品間を接続している内部バス207などを備えている。
CPU200は、ROM201に格納された制御プログラムを実行するプロセッサである。
ROM201は、制御プログラム等を保持する読み出し専用記憶領域である。
RAM202は、CPU200が制御プログラムを実行するときに使用するワークエリアとして用いられる記憶領域である。
記憶装置203は、制御プログラム、制御情報、装置情報、または認証情報などを記憶する記憶領域である。
WNIC204は、無線通信を行う無線通信インタフェースを備えている。例えば、IEEE802.11a、b、g、n、ac規格等に適合する無線LANの通信インタフェースである。
NIC205は、有線通信を行う有線通信インタフェースを備えている。例えば、IEEE802.3規格等に適合する有線LANの通信インタフェースである。
入力装置206は、クライアントPC101、PC104、PC110に備えられ、ユーザーがCPU200に指示するために使用するもの(例えば、キーボード、マウスなど)である。
内部バス207は、CPU200、ROM201、RAM202、記憶装置203、WNIC204、NIC205、入力装置206を電気的に接続し、信号のやりとりを行うバスである。
以下、従来のデバイスサーバシステムにおける各装置の機能について、図3を用いて詳細に説明する。
図3は、デバイスサーバシステムにおけるクライアントPC101とデバイスサーバ102の機能ブロックを示したものである。
はじめにクライアントPC101について説明する。
仮想接続ツール300は、ネットワーク上でデバイスサーバ102に接続されているUSBデバイスについてデバイスの情報、ステータスなどを取得し、クライアントPC101からUSBデバイスを管理するためのものである。ユーザーは仮想接続ツール300を用いて、クライアントPC101が所望のUSBデバイス103を選択し接続したり、あるいは接続中のUSBデバイスを切断したりすることができる。この結果、クライアントPC101が選択したUSBデバイス103をあたかもクライアントPC101に直接接続されたかのように利用できることを実現するソフトウェアである。仮想接続ツール300は、CPU200、ROM201、RAM202、記憶装置203などにより実現される。
ここで、図4を用いて仮想接続ツールの機能について、より詳細に説明する。
図4は、従来のデバイスサーバシステムにおける仮想接続ツール300の機能ブロック図である。
図4に示すとおり、仮想接続ツール300は、監視部401および制御部402を備えている。以下、各機能について説明する。
監視部401は、デバイスサーバ102に接続されたUSBデバイス103に一定期間ごとにポーリング(定められた順番に従って定期的にUSBデバイスに問い合わせを行う)を行い、デバイスサーバ102を経由してUSBデバイス103の使用状況を監視し、その都度機器に関する情報と使用状況の情報を取得する。つまり、監視部401は定期的にデバイスサーバに接続しているUSBデバイスの機器情報を取得する。また、監視部401は、デバイスサーバ102を経由してUSBデバイス103の使用状況に変化がある旨の通知を受けると、デバイスサーバを経由してUSBデバイスに問い合わせを行う。監視部401は、当該問い合わせに対してUSBデバイスから応答情報(例えば、ベンダーID、製品ID、機種名、デバイスの備えるクラス情報などの様にクライアント装置がUSBデバイスを制御するために必要な情報が含まれる)を、デバイスサーバを経由して受けとり、その応答情報に含まれる種々の機器情報などを取得する。
制御部402は、クライアント装置101のユーザーによって選択されたUSBデバイスの利用開始・終了のため、ネットワーク105を通じて、そのUSBデバイスに接続されたデバイスサーバ102に対してUSBデバイス103との接続や接続の切断を行なうべく要求する。
図3に戻って、アプリケーション310は、ユーザーがUSBデバイス103に特定の作業を実行させたい場合にユーザーが直接指示するソフトウェアである。例えば、USBデバイスがスキャナであれば、そのデバイスのスキャナ機能を実行するためにユーザーからの直接的な指示を受けるソフトウェアである(付属のスキャナツールなど)。アプリケーション310は、CPU200、ROM201、RAM202、記憶装置203などにより実現される。
デバイスドライバ301は、USBデバイス103を制御するソフトウェアであり、通常USBデバイスのベンダーから提供されるものである。ワープロソフトなどのアプリケーションはこのデバイスドライバ301を介してUSBデバイス103を利用することができる。デバイスドライバ301は、CPU200、ROM201、RAM202、記憶装置203などにより実現される。
トンネリングドライバ302は、デバイスドライバ301の発行するUSBデバイス103への入出力要求をネットワークパケット(以後、トンネリングパケットとも呼ぶ)にカプセル化し、ネットワークインタフェース303を通じてネットワーク上のデバイスサーバ102へ送信する。その一方、USBデバイス103への入出力要求に対する応答が含まれるトンネリングパケットを受信すると、当該トンネリングパケットからこの応答を取り出し(デカプセル化)デバイスドライバ301に渡す。トンネリングドライバ302は、CPU200、ROM201、RAM202、記憶装置203などにより実現され、ネットワークインタフェース303は、CPU200、ROM201、RAM202、記憶装置203、WNIC204、NIC205などにより実現される。
つぎにデバイスサーバ102について説明する。
USBインタフェース311は、USBデバイス103と接続するインタフェースである。USBインタフェース311は、CPU200、ROM201、RAM202、記憶装置203、図示しないUSBコネクタなどにより実現される。
USBホストコントローラ312は、USBのホスト側デバイスが備える装置であり、USBデバイス103の入出力等を管理するものである。USBホストコントローラ312は、CPU200、ROM201、RAM202、記憶装置203、図示しないUSBホストコントローラICなどにより実現される。
トンネリングドライバ313は、前述したトンネリングドライバ302と同じ機能を持ったドライバであり、実現するハードウェアも同じものである。
ネットワークインタフェース314も、前述したネットワークインタフェース303と同じ機能を持ったインタフェースであり、実現するハードウェアも同じものである。
デバイスサーバシステムにおいて、上述した機能構成、特にデバイスサーバ102のトンネリングドライバ313の機能により、クライアントPC101のデバイスドライバ301は、ネットワーク越しにUSBデバイス103を制御することができる。
上述したように従来のデバイスサーバシステムは、データのカプセル化、デカプセル化によって、クライアントPCとデバイスの間で行われる通信である。このため、クライアントPCは、理論上デバイスの備える全ての機能をネットワーク経由で利用することができる。しかし、このような通信は、NAS(Network Attached Storage)のようにファイル単位での排他制御や同時アクセスが可能であるネットワーク経由で利用されることをもともと想定したプロトコルを用いないため、常に1台のクライアント装置からしか利用できない。
つまり、従来のデバイスサーバシステムにおいて、ユーザーは1台の周辺機器を複数のクライアント装置から利用する際、クライアント装置を切り替える度に仮想接続ツールによる接続と切断の手間がかかるのである。
以下、本発明の実施の形態について、図面を参照しながら具体的に説明する。
以下の実施の形態で示される数値、構成要素、構成要素の配置位置などは、一例であり、発明の範囲内において種々の変形や変更が可能である。
また、同一の構成要素には同一の符号を付し、説明を省略する場合がある。本発明の実施の形態にかかるデバイスサーバシステムの全体図および各装置のハードウェア構成は、それぞれ図1および図2に示したものと同一であり省略し、システムの構成要素(クライアント装置、デバイスサーバおよびUSBデバイス)も同一の符号を用いる。
(実施の形態1)
図5は、本発明の実施の形態1にかかるクライアント装置における仮想接続ツール500の機能ブロック図である。
図5に示すとおり、本発明における仮想接続ツール500は、モード設定部501、監視部502、判断部503、制御部504、イベント監視部505などを備えている。
以下に各機能について、詳細に説明する。
モード設定部501は、USBデバイスごとにユーザーにより設定された2つのモードのうちいずれかのモードの情報を、ネットワークを介してデバイスサーバ102に通知する。2つのモードとは、複数のクライアント装置から、デバイスサーバを経由しネットワーク上に接続しているUSBデバイスを切り替えつつ利用する場合、(1)仮想接続ツールによって、接続と切断をユーザーが手動で切り替えるモード(従来のデバイスサーバシステムにおける動作であり、以後、通常モードと呼ぶ)と、(2)仮想接続ツールが自動でUSBデバイスと接続中のクライアント装置の接続を切断し、USBデバイスと新たに接続するクライアント装置と接続させるモード(本発明のデバイスサーバシステムにおける動作であり、以後、自動モードと呼ぶ)、の2つのモードである。
また、モード設定部501は、ユーザーが利用するUSBデバイスについて自動モードでの動作開始の判断を行うため、イベント(例えば、クライアント装置で行う入力操作)が継続して発生している基準時間の情報(この基準時間を超えてイベントが継続発生すれば、自動モードの動作を開始する。以後、イベント経過時間設定情報と呼ぶ)を、ユーザーが設定することで、ネットワークを介してデバイスサーバ102に通知する。自動モードの動作開始条件については以下に詳述する。イベント経過時間設定情報は、ユーザーがUSBデバイスごとに予め設定できてもよいし、工場出荷時に一律に設定されていてもよい。
監視部502は、USBデバイスからの応答情報(クライアント装置からのポーリングおよびUSBデバイスの使用状況に変化があった場合に行われる問い合わせに対するもの)を、デバイスサーバを経由して取得する。監視部502は、その取得した情報を判断部503およびイベント監視部505に通知する。
さらに、監視部502は、自クライアント装置にユーザーが指示したUSBデバイス103に対する入力操作(例えば、キーボード入力、マウス入力など)を監視している。すなわち監視部502は、自クライアント装置に備わる入力装置206からユーザーが行う入力(イベント)の発生及び状況を随時、イベント監視部505に通知する。なお、本発明において、イベントとは、例えばWINDOWS(登録商標)におけるキーボードイベント、マウスイベントなどを言う。
イベント監視部505は、監視部502からの通知を受け、ユーザーが自クライアント装置で入力装置206からユーザーが行うイベントが発生した場合、そのイベントが発生した時刻から時間のカウントを開始するとともに、イベント継続情報(イベントが継続している時間)と監視部502から取得するイベント経過時間設定情報を比較し、イベント継続情報の数値がイベント経過時間設定情報の数値を上回った場合、その旨を判断部503へ通知する。このように、イベントが規定時間内継続しているか否かを判断するのは、誤操作などで、意図せずUSBデバイスに接続が行われるのを回避するためである。ここで、イベントが継続しているとは、例えばマウスのクリックがある時間間隔以内で断続的に複数回行なわれる様な一連のイベントを意味している。
判断部503は、監視部502からUSBデバイスの機器情報と、ユーザーにより予め設定されたUSBデバイスのモード情報とイベント経過時間設定情報の通知を受け、さらに、イベント監視部505からイベントが規定時間継続したか否かの情報を受ける。(情報を取得する。)
判断部503は、監視部502から通知を受けるUSBデバイスの機器情報とそのUSBデバイスのモード情報とを基に、当該USBデバイスが自動モードに設定されている場合は、イベント監視部505から取得するイベントが規定時間以上継続したか否かの情報を基にUSBデバイスとの接続を継続するか、切断するかを判断する。すなわち、当該USBデバイスが自動モードに設定されており、かつイベントが規定時間以上継続している条件で、次の処理を行うよう制御部504に通知する。(1)自クライアントが接続を行おうとするUSBデバイスとすでに他のクライアント装置が接続している場合は、他のクライアント装置とUSBデバイスとの接続を切断したうえで自クライアント装置とUSBデバイスとの接続を行うように制御部504に通知する。(2)一方、自クライアントが接続を行おうとするUSBデバイスが他のクライアント装置と接続していない場合は、自クライアント装置とUSBデバイスとの接続を行うように制御部504に通知する。
制御部504は、判断部503の通知を受け、自動モードの場合、他のクライアント装置とUSBデバイスとの接続を切断するようにデバイスサーバ102に通知し、切断完了の通知を受信すると、自クライアント装置とUSBデバイスとの接続を行うようにデバイスサーバ102に通知する。一方、自クライアントが接続を行おうとするUSBデバイスが他のクライアント装置と接続していない場合は、自クライアント装置とUSBデバイスとの接続を行うようにデバイスサーバ102に通知する。
図6は、本発明の実施の形態1にかかる仮想接続ツール500の動作フロー図である。
図6を参照しながら、本発明の実施の形態1にかかる仮想接続ツール500の動作フローについて順をおって説明する。なお、図6においては、クライアントPC101がネットワーク105を通じて、USBデバイス103と接続している状況で、新たなクライアントPC104が自らの仮想接続ツール500を用いてUSBデバイス103の利用を開始する場合の動作フローである。
ステップS601では、イベント監視部505が、監視部502から自クライアント(クライアントPC104)装置で発生したイベントのイベント継続情報と、モード設定部501から取得した、ユーザーが利用するUSBデバイスごとに予め設定されたイベント経過時間設定情報との数値とを比較し、判断する。イベント継続情報の数値がイベント経過時間設定情報の数値より大きい場合は、ステップS602へ遷移する(ステップS601のYes)。小さい場合は、イベントは発生しなかったものとして、ステップS601を繰り返す(ステップS601のNo)。
ステップS602では、判断部503がネットワーク上で仮想接続ツールにより認識されているUSBデバイスが通常モードあるいは自動モードのどちらの設定かを監視部502から受けたUSBデバイスの機器情報およびモード情報を基にネットワーク上のいずれのUSBデバイス(USBデバイス103)に接続するかを判断する。少なくとも1台の当該USBデバイスにユーザーによって自動モードの設定がされている場合は、ステップS603へ遷移する(ステップS602のYes)。当該USBデバイスにユーザーによって自動モードの設定がされていない(通常モードの設定のみ)場合は、フローを終了する(ステップS602のNo)。
ステップS603では、判断部503が、USBデバイス103が他のいずれかのクライアント装置とネットワーク105を通じて接続されているか否かについて、監視部502から通知されるUSBデバイスの機器情報およびUSBデバイスの使用状況などの情報を取得し、判断する。いずれかのクライアント装置がUSBデバイス103と接続している場合はステップS604に遷移する(ステップS603のYes)。いずれのクライアント装置も接続していない場合、ステップS605へ遷移し、USBデバイス103と接続を行う(ステップS603のNo)。
ステップS604では、判断部503の通知を受けて、制御部504はUSBデバイス103と接続中のクライアントPC101にUSBデバイス103との切断要求を送信し、クライアントPC101からの応答を待つ。(あるいは、制御部504は、接続中のクライアントPC101にUSBデバイス103との切断要求を行わずに、デバイスサーバ102にUSBデバイス103と切断するように切断要求を直接送信し、その後、デバイスサーバ102が、クライアントPC101へUSBデバイス103との切断完了通知を行ってもよい。詳細は実施の形態2において説明する。)
ステップS605では、ステップS604に続いて、自クライアント装置(クライアントPC104)がクライアントPC101からの切断要求に対する応答を受信すれば、制御部504は自クライアントPC104とUSBデバイス103とを接続するよう処理を進める。(具体的には図7で説明するとおり、デバイスサーバ102に接続を要求する。)
つぎに、本発明の実施の形態1にかかるデバイスサーバシステムの動作について、図7を用いて説明する。
図7は、本発明の実施の形態1にかかるデバイスサーバシステムにおける動作シーケンス図である。
図7の状況は、前出の図6と同様、クライアントPC101がネットワーク105を通じて、USBデバイス103と接続している状況で、新たなクライアントPC104が自らの仮想接続ツール500を用いてUSBデバイス103の利用を開始する場合の動作シーケンスであるが、まず前段(C705まで)でクライアントPC101がUSBデバイス103に接続するまでの動作シーケンスを説明し、その後、後段(C706以降)でクライアントPC104がクライアントPC101に替わってUSBデバイス103に接続する動作シーケンスを説明する。
クライアントPC101の仮想接続ツール500がデバイスサーバ102に対し、ネットワーク上でデバイスサーバ102に接続され利用可能なUSBデバイスについての情報を取得するために問い合わせ(検索)を行う(C701)。
これに対し、デバイスサーバ102は、デバイスサーバ102に接続され利用可能なUSBデバイスの情報について、クライアントPC101に通知する(C702)。(この場合は、もしUSBデバイスがいずれかのクライアントPCと接続済みであれば、その情報も含めクライアントPC101に通知する)
クライアントPC101を利用しているユーザーの指示(USBデバイス103に接続したい)により、クライアントPC101の仮想接続ツール500がデバイスサーバ102にUSBデバイス103との接続を要求する(C703)。
デバイスサーバ102は、C703の要求を受けてUSBデバイス103と接続を行い(C704)、クライアントPC101にUSBデバイス103と接続が完了した旨の通知を行う(C705)。
これ以降は、クライアントPC101に替わってクライアントPC104がUSBデバイス103に接続する動作シーケンスを説明する。
クライアントPC101とUSBデバイス103がデバイスサーバ102を介して接続され、かつ、USBデバイス103が、予めユーザーにおいて仮想接続ツール500を用いて、自動モードで動作することを設定されている場合、クラインアントPC104の仮想接続ツール500が、自クライアントPC104においてイベントが規定時間継続して発生していることを検知する(C706)と、そのイベントが対象とするUSBデバイスについての情報を取得するために問い合わせ(検索)を行う(C707)。この時点でUSBデバイス103がクライアントPC104以外のクライアント装置と接続状態にあるかを検知するのである。前述したように、イベントとは、クラインアントPC104を利用しているユーザーがUSBデバイス103を利用しようと入力装置(例えば、マウス、キーボード)を規定時間継続して使用するなどの処理をいう。つまり、ユーザーがUSBデバイス103を利用するため、アプリケーションの所定の手順に則って入力装置の操作をしていることである。また、C706で行うイベントを規定時間継続していることを検知するのは仮想接続ツール500のイベント監視部505などである。
デバイスサーバ102は、C707の要求を受けて、現時点でUSBデバイス103と接続しているクライアントPC101のIPアドレスをクライアントPC104に通知する(C708)。このように、クライアントPC104にクライアントPC101のIP(Internet Protocol)アドレスを通知することにより、現時点でUSBデバイスと接続しているクライアント装置を特定し、当該クライアント装置に対しUSBデバイスとの接続を切断してほしい旨の通知が可能となる。
クライアントPC104の仮想接続ツール500はC708の通知を受け、クライアントPC101にUSBデバイス103との接続を切断してほしい旨の要求を通知する(C709)。
クライアントPC101の仮想接続ツール500は、クライアントPC104からC709の要求を受けて、デバイスサーバ102に対し、USBデバイス103との接続を切断し、他のクライアント装置から利用できる(解放する)ように通知する(C710)。
デバイスサーバ102は、クライアントPC101からのC710の要求を受けて、USBデバイス103と接続を切断し、解放する(C711)。続いて、クライアントPC101に対して、「USBデバイス103との接続を切断し、解放を完了した」旨の通知を行う(C712)。
クライアントPC101の仮想接続ツール500は、クライアントPC104から受けているC709の要求に対する応答を通知する(C713)。つまり、クライアントPC104がUSBデバイス103を利用可能になった旨の通知を行う。
クライアントPC104の仮想接続ツール500は、デバイスサーバ102にUSBデバイス103との接続を要求する(C714)。
デバイスサーバ102は、C714の要求を受けてUSBデバイス103と接続を行い(C715)、クライアントPC104にUSBデバイス103と接続が完了した旨の通知を行う(C716)。
上述した図7の一連のプロセスを経て、ネットワーク上で、あるクライアント装置(クライアントPC101)とUSBデバイスがデバイスサーバを介して接続されている場合に、他のクラインアント装置(クライアントPC104)からUSBデバイスを利用しようとしてイベントを規定時間継続していることを当該他のクライアント装置(クライアントPC104)の仮想接続ツールが検知すると、その時点でUSBデバイスと接続しているクライアント装置(クライアントPC101)に切断要求を通知し、デバイスサーバを介してUSBデバイスとの接続を切断させ、次に当該他のクラインアント装置(クライアントPC104)がUSBデバイスと接続できるようになる。
(実施の形態2)
上述した実施の形態1では、行われるクライアントPC104に備わる仮想接続ツールが、USBデバイス103と接続中のクライアントPC101に備わる仮想接続ツールに接続を切断してほしい旨の通知を行い、クライアントPC101からデバイスサーバ102にUSBデバイス103との接続を切断し、解放する通知を要求することで、クライアントPC104はUSBデバイス103と接続ができるようになるが、実施の形態2では接続中のクライアントPC101とUSBデバイス103との接続をデバイスサーバ102が強制的に切断する実施例である。以下に説明する。
本発明の実施の形態2にかかるデバイスサーバシステムにおける仮想接続ツールの動作について、図8を用いて説明する。
図8は、本発明の実施の形態2にかかるデバイスサーバシステムにおける仮想接続ツールの動作シーケンス図である。
図8に示すとおり、デバイスサーバ102が、C707の要求を受けて、現時点でUSBデバイス103と接続しているクライアントPC101のIPアドレスをクライアントPC104に通知するシーケンス(C708)までは実施の形態1と同様であるが、C809のシーケンス以降が実施の形態1と異なる。
クライアントPC104の仮想接続ツール500は、クライアントPC101ではなくデバイスサーバ102に対してクライアントPC101とUSBデバイス103との接続を切断するように要求する(C809)。
デバイスサーバ102は、クライアントPC104からのC809の要求を受けて、USBデバイス103と接続を切断し、解放する(C810)。続いて、クライアントPC101にUSBデバイス103との接続を切断し、解放が完了した旨の通知を行う(C811)。
つぎに、クライアントPC104の仮想接続ツール500が、デバイスサーバ102にクライアントPC104とUSBデバイス103との接続を要求する(C812)。
デバイスサーバ102は、C812の要求を受けてUSBデバイス103と接続を行い(C813)、クライアントPC104にUSBデバイス103と接続が完了した旨の通知を行う(C814)。
このように、実施の形態2では、仮想接続ツールを備えている他のクラインアント装置(クライアントPC104)からUSBデバイスを利用しようとして、イベントを規定時間継続していることを当該他のクラインアント装置(クライアントPC104)の仮想接続ツールが検知すると、その時点でデバイスサーバ自身がUSBデバイスと接続しているクライアント装置(クライアントPC101)の許可なく、USBデバイスとの接続を強制的に切断し、解放することで、デバイスサーバに対し接続中であったクライアント装置からの切断要求によるプロセスが省略でき、デバイスサーバシステムのレスポンス向上とクライアント装置の負荷の軽減を図ることができる。なお、この動作を実現するためには、従来のデバイスサーバの機能に加えて、「所定の条件を満たした場合、接続中のクライアント装置以外のクライアントからの切断要求に従ってクライアント装置とUSBデバイスとの間の接続を切断する」という機能を付加する必要がある。所定の条件とはすでに説明したとおり、(1)USBデバイスが自動モードであること、(2)切断要求をしたクライアント装置においてUSBデバイスを対象としたイベント(当該クライアント装置に対する入力操作など)が規定時間継続していること、を意味している。デバイスサーバ側ではこうした条件を満たしているというフラグを持った切断要求に限り呼応することとなる。
本発明の実施の形態1および2にかかるデバイスサーバシステムにおいて仮想接続ツールが記憶装置203などで管理すべき情報について、図9を用いて説明する。
図9は、本発明の実施の形態1および2にかかるデバイスサーバシステムにおけるクライアント装置の仮想接続ツールがUSBデバイスとの接続を行うにあたり、管理している情報の一例である。
また、これらの情報はデバイスサーバにおいてもその情報の全部または一部を保持したり、ユーザーによってそのデバイスサーバにある情報を設定したりすることができる。
デバイスサーバ名は、ネットワーク上に接続しているデバイスサーバの機器名である。
USBデバイス名は、ネットワーク上に接続しているデバイスサーバにローカル接続しているUSBデバイスの機器名である。
IPアドレスは、USBデバイスと接続しているクライアント装置のIPアドレスである。
モード情報は、クライアント装置に備わる仮想接続ツールあるいはデバイスサーバに備わるデバイスサーバ設定用ツールにユーザーが予め利用するUSBデバイスごとに設定したモード(通常モード、自動モード)の情報である。
イベント経過時間設定情報は、モード情報が自動モードに設定されているUSBデバイスに接続する場合、イベント監視部505で行われるイベントの継続時間のカウントが、これを上回ると自動モードでデバイスサーバシステムが動作する条件になる数値が設定されている。
(その他の実施形態)
これまでの実施形態の説明は、1人のユーザーが複数のクライアント装置を操作してネットワーク越しにUSBデバイスを利用するとして説明したが、本発明は、複数のユーザーがそれぞれのクライアント装置から1つのUSBデバイスを利用する場合にも適用可能である。そうした場合、新たにそのUSBデバイスに接続したクライアント装置のユーザーは、自らの判断で、そのUSBデバイスにかかるモードを通常モードに戻し、他のクライアント装置から自動的にUSBデバイスへの接続が行えないようにすることも可能である。このようにすれば、USBデバイスを従来のデバイスサーバシステムとして利用したいユーザーは、他のユーザーによって予め設定されたUSBデバイスにかかるモードを変更(設定を自動モードから通常モードに変更)できるので、利用したいUSBデバイスのモードに関わらず、他のユーザーによる突然のUSBデバイスの接続を切断されることなく利用できることから利便性向上に効を奏す。
本発明は、複数のクライアント装置から、ネットワークを経由して、デバイスサーバに接続されている周辺機器(USBデバイス)をユーザーの手間を介さず、接続および切断を行いたい場面で有用である。
101、104、110 クライアントPC
102 デバイスサーバ
103 USBデバイス
105 ネットワーク
200 CPU
201 ROM
202 RAM
203 記憶装置
204 WNIC
205 NIC
206 入力装置
207 内部バス
300 仮想接続ツール
301 デバイスドライバ
302、313 トンネリングドライバ
303、314 ネットワークインタフェース
310 アプリケーション
311 USBインタフェース
312 USBホストコントローラ
401 監視部
402 制御部
500 仮想接続ツール
501 モード設定部
502 監視部
503 判断部
504 制御部
505 イベント監視部

Claims (5)

  1. 複数のクライアント装置が、ネットワークを介してデバイスサーバと接続され、前記デバイスサーバにローカル接続されたデバイスと通信を行うデバイスサーバシステムにおけるクライアント装置のプログラムであって、
    クライアント装置に、
    前記デバイスと他クライアント装置とが接続中であってかつ所定の条件を満たす場合、前記デバイスと他クライアント装置との接続を切断し、自クライアント装置と前記デバイスとを接続するよう前記デバイスサーバに要求するステップを実行させるプログラム。
  2. 前記所定の条件は、前記デバイスを利用するためのイベントが規定時間以上継続することである請求項1記載のプログラム。
  3. 前記所定の条件は、前記デバイスを利用するためのイベントが規定時間以上継続し、かつ前記自クライアント装置がデバイスサーバを経由して前記デバイスを利用する場合、前記デバイスとの接続および切断を自動で切り替える自動モードにあることである請求項1記載のプログラム。
  4. 複数のクライアント装置が、ネットワークを介してデバイスサーバと接続され、前記デバイスサーバにローカル接続されたデバイスと通信を行うデバイスサーバシステムにおけるデバイス利用方法であって、
    前記デバイスを利用するためのイベントの継続時間が規定時間より長いか否かを判断するステップと、
    前記イベントの継続時間が規定時間より長いと判断した場合、前記デバイスと接続中のクライアントとの接続を切断し、前記イベントが発生したクライアント装置と前記デバイスとを接続するステップと、
    を含むデバイス利用方法。
  5. 複数のクライアント装置が、ネットワークを介してデバイスサーバと接続され、前記デバイスサーバにローカル接続されたデバイスと通信を行うデバイスサーバシステムにおけるデバイスサーバであって、
    前記デバイスとの接続および切断を自動で切り替える自動モードの場合、前記デバイスと接続中のクライアント装置とは異なるクライアント装置から接続切断の要求を受信したときは接続中のクライアント装置の許可なく切断するデバイスサーバ。

JP2015039200A 2015-02-27 2015-02-27 デバイスサーバ、デバイス利用方法、および、プログラム、 Active JP6455759B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015039200A JP6455759B2 (ja) 2015-02-27 2015-02-27 デバイスサーバ、デバイス利用方法、および、プログラム、

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015039200A JP6455759B2 (ja) 2015-02-27 2015-02-27 デバイスサーバ、デバイス利用方法、および、プログラム、

Publications (3)

Publication Number Publication Date
JP2016162110A true JP2016162110A (ja) 2016-09-05
JP2016162110A5 JP2016162110A5 (ja) 2017-12-07
JP6455759B2 JP6455759B2 (ja) 2019-01-23

Family

ID=56845222

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015039200A Active JP6455759B2 (ja) 2015-02-27 2015-02-27 デバイスサーバ、デバイス利用方法、および、プログラム、

Country Status (1)

Country Link
JP (1) JP6455759B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374336A (en) * 1976-12-15 1978-07-01 Hitachi Ltd Switching unit
JP2003263251A (ja) * 2002-03-11 2003-09-19 Sharp Corp 無線通信機能を備えた情報処理装置
US20080263255A1 (en) * 2007-04-20 2008-10-23 International Business Machines Corporation Apparatus, System, and Method For Adapter Card Failover
JP2010533900A (ja) * 2007-04-20 2010-10-28 インターナショナル・ビジネス・マシーンズ・コーポレーション アダプタ・カードのフェイルオーバのための装置、システム、方法、およびコンピュータ・プログラム
JP2012190092A (ja) * 2011-03-09 2012-10-04 Silex Technology Inc インタフェース切り替え機能を備えるデバイス利用システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374336A (en) * 1976-12-15 1978-07-01 Hitachi Ltd Switching unit
JP2003263251A (ja) * 2002-03-11 2003-09-19 Sharp Corp 無線通信機能を備えた情報処理装置
US20080263255A1 (en) * 2007-04-20 2008-10-23 International Business Machines Corporation Apparatus, System, and Method For Adapter Card Failover
JP2010533900A (ja) * 2007-04-20 2010-10-28 インターナショナル・ビジネス・マシーンズ・コーポレーション アダプタ・カードのフェイルオーバのための装置、システム、方法、およびコンピュータ・プログラム
JP2012190092A (ja) * 2011-03-09 2012-10-04 Silex Technology Inc インタフェース切り替え機能を備えるデバイス利用システム

Also Published As

Publication number Publication date
JP6455759B2 (ja) 2019-01-23

Similar Documents

Publication Publication Date Title
AU2021277736B2 (en) Pdu type setting method, ue policy setting method, and related entity
US9332378B2 (en) Wireless communication device for performing different wireless communications
EP2645636B1 (en) Home gateway, cloud server, and method for communication therebetween
JP2007219711A (ja) リモートデバイス制御プログラム
JP6222950B2 (ja) 印刷装置、その制御方法、及びプログラム
JP2014011671A (ja) 携帯端末、サービス検索方法、およびプログラム
JP4613328B2 (ja) Usbデバイスサーバおよびusbデバイスサーバシステム
US20180124769A1 (en) Communication apparatus, control method thereof, and program
WO2023024617A1 (zh) 用于设备配网的方法及装置、服务器、智能家电设备、终端设备
US9197707B2 (en) Network interface determining apparatus and method
US11736557B1 (en) Copying and pasting between devices
JP6383973B2 (ja) 通信帯域制御を行う中継装置
JP6455759B2 (ja) デバイスサーバ、デバイス利用方法、および、プログラム、
CN108112052B (zh) 终端的网络共享方法、装置、空气调节器及存储介质
JP4649584B2 (ja) 周辺機器ドライバインストールシステム
JP6435102B2 (ja) ネットワーク中継装置
US20140315484A1 (en) Communication apparatus and control method thereof
US20130103840A1 (en) Information processing apparatus that controls connection of devices, method of controlling the apparatus, and device control system
JP2008236150A (ja) 無線情報処理装置
US9602579B2 (en) Communication apparatus, method for controlling the same, and program
EP2938143A1 (en) Control device and communication system
JP5617729B2 (ja) 通信装置及びネットワーク接続方法
CN110830305A (zh) 无线设备接入wifi网络的方法、装置、电子设备及存储介质
JP2015191320A (ja) 情報処理装置、デバイス共有システムおよびデバイス接続方法
JP6118969B2 (ja) デバイスサーバ接続設定方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171023

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171023

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171023

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180507

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181029

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20181108

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: 20181127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181206

R150 Certificate of patent or registration of utility model

Ref document number: 6455759

Country of ref document: JP

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