JP6557889B2 - デバイスサーバ - Google Patents

デバイスサーバ Download PDF

Info

Publication number
JP6557889B2
JP6557889B2 JP2016168712A JP2016168712A JP6557889B2 JP 6557889 B2 JP6557889 B2 JP 6557889B2 JP 2016168712 A JP2016168712 A JP 2016168712A JP 2016168712 A JP2016168712 A JP 2016168712A JP 6557889 B2 JP6557889 B2 JP 6557889B2
Authority
JP
Japan
Prior art keywords
client
client device
peripheral
control unit
server
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.)
Active
Application number
JP2016168712A
Other languages
English (en)
Other versions
JP2018036810A5 (ja
JP2018036810A (ja
Inventor
裕二郎 上田
裕二郎 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silex Technology Inc
Original Assignee
Silex Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Silex Technology Inc filed Critical Silex Technology Inc
Priority to JP2016168712A priority Critical patent/JP6557889B2/ja
Publication of JP2018036810A publication Critical patent/JP2018036810A/ja
Publication of JP2018036810A5 publication Critical patent/JP2018036810A5/ja
Application granted granted Critical
Publication of JP6557889B2 publication Critical patent/JP6557889B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Power Sources (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、クライアント装置がネットワーク経由で周辺デバイスを使用する周辺デバイス制御システムにおけるデバイスサーバに関する。
近年、ネットワークの普及により、MFP(Multi Function Peripheral)やスキャナといったコンピュータ周辺機器(以下、周辺デバイスとも呼ぶ)をネットワークに接続し、複数のクライアント装置(例えば、パーソナルコンピュータ、タブレットなど)からネットワーク越しにこれらのコンピュータ周辺機器を利用したいという要望に応え、デバイスサーバと呼ばれる装置が普及している(非特許文献1)。
当該デバイスサーバを利用し、クライアント装置からネットワーク上の周辺機器を利用する場合、クライアント装置上で動作しているデバイスサーバを制御するソフトウェア(以後、仮想接続ツールとも呼ぶ)を用いて、デバイスサーバに接続されている周辺機器を選択し接続することができる。この結果、クライアント装置のユーザは、選択した周辺機器をあたかもクライアント装置に直接接続されたかのように利用できるのである。
一方、USB(Universal Serial Bus)規格ではサスペンドという状態が定義されており、クライアント装置とUSBケーブルで接続されたUSBデバイスの消費電力を低減することが可能となっている。これは、少なくとも3ミリ秒間、信号バス上に何の信号も検出しないと、USBデバイスは実行中のソフトウェアや動作中のデバイスを一時的に停止する等のサスペンド状態に入らなければならないという仕様である。
ここで、上記デバイスサーバシステムのようなネットワークを経由してUSB機器とクライアント装置とを接続しているシステムでは、サスペンドの仕様を実現できない。つまり、サスペンドへの移行条件になっている直接的な電気的接続がクライアント装置とUSBデバイス間にないため、当該システムでは、サスペンドの実現が困難であった。すなわちデバイスサーバにローカル接続されたUSBデバイスは、当該デバイスサーバからUSBバスパワーで給電(USBケーブルを通じて給電)を受けている場合、常時、電力を消費し続けるということとなる。
デバイスサーバシステムにおけるUSBデバイスの消費電力削減のために、USBデバイスが待機状態の場合はUSBデバイスへのバスパワー供給をOFFにし、クライアント装置からのコマンド要求に応じてUSBバスパワーをONにし給電するデバイスサーバが開示されている(特許文献1参照)。また、他の取り組みとしては、クライアント装置が電源断(シャットダウン)することを契機にUSBデバイスをサスペンド状態に移行するなどにより(特許文献2参照)、USBデバイスによる電力の消費を抑制することが行われている。
特開2007−310796号公報 特開2012−014343号公報
サイレックス・テクノロジー株式会社、SX−DS−3000WAN<http://www.silex.jp/products/catalog/sxds3000wan.pdf>
しかしながら、デバイスサーバを用いたシステムでは、ネットワーク上に存在するクライアント装置がデバイスサーバに接続しているすべてのデバイスを利用していないにもかかわらず、これらの利用していないデバイスはサスペンド(省電力状態)に移行されず、電力を消費し続けている。また、クライアント装置がデバイスサーバに接続されたUSBデバイスを占有したままサスペンドで放置された場合、他のクライアント装置から当該USBデバイスを利用することができないという問題も別途存在するが、解決策の開示は、特許文献1および特許文献2にない。
本発明は、上述の問題を鑑みてなされたものであり、デバイスサーバに複数接続されたUSBデバイスを効率よくサスペンドし、電力の消費を抑制する。また、クライアント装置がデバイスサーバに接続されたUSBデバイスと接続(セッション)を維持したまま、デバイスがサスペンドされた場合でも、他のクライアント装置から当該USBデバイスを利用することができるようにすることを目的とする。
上記課題を解決するために、本発明の一態様に係るデバイスサーバは、周辺デバイスと直接または間接的に接続され、ネットワーク経由でクライアント装置と周辺デバイスとの間を中継するデバイスサーバであって、周辺デバイスがクライアント装置との間で通信を行っているか否かの情報を受信するクライアント制御部と、給電管理部であって、(1)周辺デバイスがいずれのクライアント装置とも通信を行っていない場合、当該周辺デバイスに対してサスペンド状態に遷移する様通知し、(2)任意のポートにおいて、接続されたすべての周辺デバイスがクライアント装置との間で通信を行っていない場合に、当該ポートへのバスパワー給電を停止する様判断する給電管理部とを備える。
これによれば、デバイスサーバは、クライアント装置が、周辺デバイスと通信を行っていない場合は、その周辺デバイスをサスペンドに遷移させ、さらに任意のポートに接続されたすべての周辺デバイスがクライアント装置との間で通信を行っていない場合は、バスパワー給電を停止することにより、不要な電力消費を抑制する。
なお、周辺デバイスがデバイスサーバに直接または間接的に接続されるとは、周辺デバイスがデバイスサーバのポートに直接接続されるか、またはUSBハブ等を介して間接的に接続される場合の両方を含む意味である。
上記課題を解決するために、本発明の一態様に係るデバイスサーバは、周辺デバイスと直接または間接的に接続され、ネットワーク経由でクライアント装置と周辺デバイスとの間を中継するデバイスサーバであって、周辺デバイスがクライアント装置との間で通信を行っているか否かの情報を受信するクライアント制御部と、給電管理部であって、(1)周辺デバイスがいずれのクライアント装置とも通信を行っていない場合、当該周辺デバイスに対してサスペンド状態に遷移する様通知し、(2)任意のポートにおいて、接続されたすべての周辺デバイスがクライアント装置との間で通信を行っておらず、かつポートに接続されたいずれの周辺デバイスも第1の所定条件を満たす場合に、当該ポートへのバスパワー給電を停止する様判断する給電管理部とを備えるデバイスサーバである。ここで、第1の所定条件は、サスペンド状態ではバスパワー給電の停止を許容する周辺デバイスである。
これによれば、デバイスサーバは、クライアント装置が、周辺デバイスと通信を行っていない場合は、その周辺デバイスをサスペンド状態に遷移させ、さらに任意のポートに接続されたすべての周辺デバイスがクライアント装置との間で通信を行っておらず、かつポートに接続されたいずれの周辺デバイスも、クライアント装置との間で通信を行っていない場合にバスパワー給電の停止を許容する周辺デバイスである場合は、バスパワー給電を停止することにより、不要な電力消費を抑制する。
また、本発明の一態様に係るデバイスサーバは、任意の周辺デバイスとの間で通信を行っていたクライアント装置から、当該クライアント装置が省電力モードに遷移する旨の通知を受信するクライアント制御部をさらに備え、デバイス制御部は、クライアント制御部がクライアント装置から省電力モードに遷移する旨の通知を受信し、かつ第2の所定条件を満たすと給電管理部が判断した場合に、クライアント装置と、クライアント装置と通信を行っていた周辺デバイスとの間のセッションを解放する。
これによれば、デバイスサーバは、任意の周辺デバイスとの間で通信を行っていたクライアント装置から、当該クライアント装置が省電力モードに遷移する旨の通知を受信し、かつ所定条件を満たす場合に、クライアント装置と、クライアント装置と通信を行っていた周辺デバイスとの間のセッションを解放することができる。このように、周辺デバイスがサスペンド状態に遷移し、クライアント装置が周辺デバイスと通信をしていないにもかかわらず、セッションが維持されることで他のクライアント装置から当該周辺デバイスを利用できないという状況を回避できる。さらに、従来のようにセッションを維持し続ける場合は、省電力モードから復帰したクライアント装置とすぐに通信を開始できる。
さらに、第2の所定条件は、クライアントと通信を行っていた周辺デバイスは、クライアント装置が省電力モードに遷移した場合、当該クライアント装置との間のセッションの解放を許容する周辺デバイスである。
本発明は、デバイス制御システムにおいて、デバイスサーバに接続するデバイスの電力消費を抑制しつつ、クライアント装置と接続(セッション)を維持したままサスペンドしているデバイスを他のクライアント装置から利用できるようにする。
図1は、本発明の実施の形態にかかるデバイス制御システム全体図である。 図2は、本発明の実施の形態にかかるデバイスサーバのハードウェア構成である。 図3は、本発明の実施の形態にかかるデバイスサーバの機能ブロック図である。 図4は、本発明の実施の形態にかかるクライアント装置の機能ブロックの一例である。 図5は、本発明の実施の形態にかかるデバイスサーバが自装置に接続しているデバイスの使用状況を確認してからポートごとの電力供給を停止するまでのフロー図である。 図6は、本発明の実施の形態にかかるクライアント装置からの通知を受け、デバイスサーバが自装置に接続しているデバイスとのセッションを解放するまでのフロー図である。
以下、実施の形態について、図面を参照しながら具体的に説明する。
以下の実施の形態で示される数値、構成要素、構成要素の配置位置などは、一例であり、発明の範囲内において種々の変形や変更が可能である。
(実施の形態)
図1は、本発明の実施の形態にかかるデバイス制御システムの全体図である。
図1に示すとおり、本発明の実施の形態にかかるデバイス制御システム100は、デバイスサーバ1、クライアント装置2、クライアント装置3、USBハブ4、USBデバイス5、LAN(Local Area Network)10などで構成される。なお、クライアント装置3は、クライアント装置2と同じ機能を有しており、以後詳細な説明はクライアント装置2に対してのみ行う。
デバイス制御システム100では、デバイスサーバ1、クライアント装置2、クライアント装置3がLAN10によりネットワーク接続している。
デバイス制御システム100では、クライアント装置2やクライアント装置3に備わるアプリケーションからの指示によりLAN10を介してデバイスサーバ1に接続しているデバイスとの間で通信を行うことができる。LAN10は、本発明の実施の形態では、有線LANを前提に説明するが、無線LANであってもよい。
デバイスサーバ1は、USBインタフェースを備える。デバイスサーバ1は、USBインタフェースを1つ備えてもよいし、2以上の複数備えていてもよい。また、デバイスサーバ1は、ネットワークインタフェースを備えており、そのネットワークインタフェースは有線通信インタフェースと無線通信インタフェースの両方を備えていてもよいし、どちらか一方のインタフェースを備えることにしてもよい。有線通信インタフェースは、例えばIEEE802.3規格に準拠した通信を行うインタフェースである。無線通信インタフェースは、例えばIEEE802.11規格に準拠した通信を行うインタフェースである。
図1において、デバイスサーバ1は2つのポートを備え、1つ目のポートにはUSBハブ4がローカル接続され、そのUSBハブ4のポートには、キーボードやポータブルハードディスクなどがUSBケーブルで接続している。2つ目のポートには、USBデバイス5(例えば、モバイルプリンタなど)が直接ローカル接続されている。なお、USBハブ4のポートにUSBケーブルで接続された周辺デバイスは、USB規格のバスパワーで駆動するデバイスである。
デバイスサーバ1は、クライアント装置2のアプリケーションからの指示をもとに、LAN10を介して、デバイスサーバ1に接続された周辺デバイス(例えば、USBハブ4を経由して間接的に接続されたデバイス、および直接接続されたUSBデバイス5など)を選択し接続や切断(セッション確立やセッションを解放)することができる。また、この結果、クライアント装置のユーザは、ネットワーク越しに選択し接続した周辺デバイスをあたかもクライアント装置に直接、接続されたかのように利用できる。
クライアント装置2は、例えば、PC(Personal Computer)、タブレット端末、携帯通信端末などである。クライアント装置2は、少なくともネットワーク越しに選択した周辺デバイスをあたかもクライアント装置に直接、接続されたかのように利用できることを実現するアプリケーション(以後、接続管理ツールと呼ぶ)を備えている。クライアント装置2は、デバイスサーバ1と通信するためにネットワークインタフェースを備えており、そのネットワークインタフェースは有線通信インタフェースと無線通信インタフェースの両方を備えていてもよいし、どちらか一方のインタフェースを備えることにしてもよい。
USBハブ4は、USB規格に準拠し、クライアント装置とUSBデバイスとの間を中継する装置である。USBハブ4は、USBデバイスをローカル接続するための少なくとも1つ以上のポートを備え、それぞれのポートには、USBデバイスをローカル接続することができる。USBハブ4は、USBハブ4が接続している装置(例えば、デバイスサーバ1など)の1つのポートを利用して、複数のUSBデバイスを利用するための装置であり、図1のデバイス制御システム100において、クライアント装置2は、デバイスサーバ1を経由し、デバイスサーバに備わったポート数以上のデバイスを利用できる。また、本実施形態のUSBハブ4は、デバイスサーバ1のポートよりバスパワー給電を受け、接続されたデバイスにバスパワー給電する。
本実施形態のUSBデバイス5は、USB規格に準拠しUSBバスパワーにより電源供給を受けて駆動できるUSBデバイスである。例えば、モバイルプリンタ、可搬型スキャナ、ポータブルハードディスク、USBメモリー、マウス、キーボード、カードリーダなどである。
図2は、本発明の実施の形態に係るデバイスサーバ1、クライアント装置2のハードウェア構成図である。なお、クライアント装置3は、クライアント装置2と同じハードウェア構成を有しており、以後詳細な説明は省略する。
図2に示すとおり、これらの装置は、CPU(Central Processing Unit)20、ROM(Read Only Memory)21、RAM(Random Access Memory)22、記憶装置23、USB−I/F24、WNIC(Wireless Network Interface Card)25、NIC(Network Interface Card)26および各構成部品間を接続している内部バス27などを備えている。なお、デバイスサーバ1、クライアント装置2はWNIC25を必ずしも備える必要はない。
CPU20は、ROM21に格納された制御プログラムを実行するプロセッサである。
ROM21は、制御プログラム等を保持する読み出し専用記憶領域である。
RAM22は、CPU20が制御プログラムを実行するときに使用するワークエリアとして用いられる記憶領域である。
記憶装置23は、制御プログラム、制御情報、装置情報、または情報一時記憶する記憶領域である。
USB‐I/F24は、USB規格に準拠するコネクタ(以下、ポートとも呼ぶ)を有し、そのコネクタに接続されたUSBデバイスとの通信制御を行う。
WNIC25は、無線通信を行う無線通信インタフェースである。例えば、IEEE802.11a、b、g、n、ac規格等に適合する無線LANの通信インタフェースである。
NIC26は、有線通信を行う有線通信インタフェースである。例えば、IEEE802.3規格等に適合する有線LANの通信インタフェースである。
内部バス27は、CPU20,ROM21、RAM22、記憶装置23、USB‐I/F24、WNIC25、NIC26を電気的に接続し、信号のやりとりを行うバスである。
図3は、本発明の実施の形態にかかるデバイスサーバ1の機能ブロック図である。
図3に示すデバイスサーバ1は、クライアント制御部31、デバイス制御部32、通信制御部33、給電管理部34などを備えている。
クライアント制御部31は、デバイス制御部32からの通信ステータスをもとに、自装置のポートに接続しているすべてのデバイスについて、クライアント装置と通信している(通信中)か否かを判断し、その結果を給電管理部34に通知する。ここで、通信ステータスとは、たとえば、「通信をしている(通信中)」、「通信をしていない(非通信)」などの情報である。例えば、通信ステータスが「通信をしている(通信中)」とは、クライアント装置2が、デバイスサーバ1を介してデバイスとの間で、データの送受信を行っている、あるいは通信制御のためのコマンドなどを送受信している状況である。
また、クライアント制御部31は、上記通信ステータスの給電管理部34への通知は、所定の時期に行う。ここで、通信ステータスを給電管理部34に通知する所定の時期とは、例えば、デバイスサーバ1の電源投入後、一定の時間間隔であってもよいし、クライアント装置2に備わる常駐モジュール42からの指示やユーザがアプリケーション41から行う指示をデバイス制御部32が受けたときでもよい。
さらに、クライアント制御部31は、クライアント装置2からの省電力モード通知を受信したか否かを判断する。また、クライアント制御部31は、LAN10を通じてクライアント装置2の通信制御モジュール46との間でネットワークパケットの送受信を行う。
デバイス制御部32は、自装置のポートに接続しているデバイスの通信ステータスをクライアント制御部31に通知する。
また、デバイス制御部32は、給電管理部34からのサスペンド通知(後述)を受けて、デバイスをサスペンドするように制御する。
さらに、デバイス制御部32は、給電管理部34からの電力供給を停止する旨の通知を受けて、自装置に備えるポートへの電力供給(バスパワーによる)を停止する。
また、デバイス制御部32は、後述するように給電管理部34からの通知を受けて、クライアント装置2とセッションを確立している周辺デバイスに対し、セッションを解放するように制御する。
通信制御部33は、後述するクライアント装置2のトンネリングドライバ45と同等の機能を備え、クライアント制御部31が受信したネットワークパケットを、デバイスサーバ1を介して接続している周辺デバイスに送信できるデータ形式に変換し、デバイス制御部32に渡す。その一方で、デバイス制御部32が受信した周辺デバイスのデータをクライアント装置2に送信できるデータ形式に変換し、クライアント制御部31に渡す。
給電管理部34は、クライアント制御部31の通知をもとにクライアント装置2と通信していないデバイスがある場合、デバイス制御部32にデバイスをサスペンドに遷移させる旨の通知(以後、サスペンド通知と呼ぶ)を行う。
また、給電管理部34は、自装置に備えるポートに対して、バスパワー供給を停止する条件を満たしているか否かを判断する。この条件を満たしている場合は、デバイス制御部32にそのポートに対する電力供給を停止する旨の通知を行う。この条件は、ポートまたはデバイス毎に設定可能である。ポート毎の設定とは、あるポートに接続されたすべてのデバイスがサスペンド状態に遷移した場合、当該ポートへのバスパワー給電を停止する。一方デバイス毎の設定とは、あるポートに接続されたすべてのデバイスがサスペンド状態に遷移し、かつすべてのデバイスが「サスペンド状態にあるときバスパワー供給停止を許容する」(第1の所定条件)の場合に、当該ポートへのバスパワー給電を停止する。(逆に少なくとも1つのデバイスがバスパワー供給停止を受け入れない設定であれば、すべてのデバイスがサスペンド状態であってもバスパワー供給を継続する。)
省電力の観点からは、サスペンド状態に遷移したデバイスへのバスパワーの供給を停止することは望ましい。しかし、バスパワーの供給再開やクライアント装置とその接続(セッション)の復帰に伴い、立上げに時間を要するデバイスである場合や初期化処理が必要になる等といったデメリットも存在する。したがって、本発明では、サスペンド状態に移行させた後、強制的にバスパワー供給の停止を行うのではなく、デバイスまたはポート毎に供給停止を許容するか否かの自由度を持たせる。このようにすることで、ユーザの利便性と省電力とのバランスを好適に得られる。
さらに、給電管理部34は、個々のデバイスについて、クライアント装置2からの省電力モード通知とセッション解放条件(第2の所定条件ともいう)をもとにクライアント装置2とのセッションを解放してもよいか否かを判断する。解放を許容する場合は、デバイスに対し、セッションを解放する旨の通知をデバイス制御部32に行う。この条件は、デバイス毎に設定される。多数のクライアントから使用されるようなデバイス(例えばプリンタ)では、使用を終わった時、一旦セッションを解放しどのクライアントからでも使用できる状態にするのがよいが、他方、元のクライアントから再び利用する際には、プラグンドプレイが再度作動してドライバをインストールすることが必要であり、再利用まで時間を要するというデメリットもある。したがって、デバイス毎にセッション解放条件を設定し、ユーザの利便性を一段と高めている。
図4は、本発明の実施の形態にかかるクライアント装置2の機能ブロック図である。
図4に示すクライアント装置2は、ROM21や記憶装置23に格納され、実行時にRAM22に展開されるアプリケーション41、常駐モジュール42、デバイスドライバ43、USBクラスドライバ44、トンネリングドライバ45、通信制御モジュール46などをソフトウェア部品として備えている。この他、ソフトウェア部品として、OS(Operating System)などがあり、制御に必要な各種データと共にROM21や記憶装置23に格納されている。これらソフトウェア部品及び各種データは、CPU20の制御に従い、RAM22などのメモリー上に読み出されて各種制御が実行される。
アプリケーション41は、クライアント装置2にインストールされるソフトウェアであり、LAN10を介してデバイスサーバ1に接続しているデバイス5やUSBハブ4(以後、周辺デバイスとも呼ぶ)と通信するときに接続(セッションを確立)、切断(セッションを解放)を行うものである。具体的には、アプリケーション41は、クライアント装置2からLAN10を介してデバイスサーバ1に接続している周辺デバイスを利用するにあたり、周辺デバイスの接続・切断を制御する仮想接続ツールである。このツールを用いて、クライアント装置2のユーザは、選択した周辺デバイスをあたかもクライアント装置2に直接接続されたかのように利用できるのである。
アプリケーション41は、クライアント装置2を使用するユーザによって行われる周辺デバイスとの接続または切断の指示を常駐モジュール42に通知する。
常駐モジュール42は、OSが起動している間、常に待機及び動作しているソフトウェア部品であり、LAN10を介してデバイスサーバ1とデータ送受信を行う。また、デバイスサーバ1に接続されている周辺デバイスを認識して識別するためのUSBデバイス情報を受信する。受信したUSBデバイス情報に基づいて、周辺デバイスとのデータ送受信に必要となるデバイスドライバ43、USBクラスドライバ44を生成し、周辺デバイスを制御できる状態にする。
常駐モジュール42は、常時、クラインアント装置とデバイスサーバとの間の通信状況(例えば、通信中、未通信など)を監視している。また、OSからクライアント装置の電力利用状況を取得する。例えば、スリープ状態、休止状態、電力管理ツールなどで電力を極力消費しないモード(以後、省電力モードと呼ぶ)などである。
さらに、常駐モジュール42は、クラインアント装置が省電力モードに遷移した場合は、省電力モードに遷移した旨の通知(以後、省電力モード通知と呼ぶ)をLAN10経由でデバイスサーバ1のクライアント制御部31に送信する。
デバイスドライバ43は、OSやアプリケーション41、常駐モジュール42など上位プログラムからのデータ入出力要求を、データ入出力対象の周辺デバイスに応じたデータ形式に変換し、また、周辺デバイスからの応答を上位プログラムに渡す。
USBクラスドライバ44は、デバイスドライバ43によって、周辺デバイスに応じたデータ形式に変換されたデータ入出力要求を、USBのデータ形式に準拠したパケットデータに変換してトンネリングドライバ45に渡し、またトンネリングドライバ45から送られてくるUSBのデータ形式に準拠したパケットデータを、データ形式変換してデバイスドライバ43に渡す。
トンネリングドライバ45は、USBクラスドライバ44から渡されたUSBパケットデータをデバイスサーバ1とLAN10経由で通信できるようにネットワークパケットにカプセル化する。その一方で、デバイスサーバ1からネットワークパケットを受信すると、このネットワークパケットからUSBパケットデータを取り出し(デカプセルして)、USBクラスドライバ44、デバイスドライバ43に渡す。
通信制御モジュール46は、上位プログラムのトンネリングドライバ45からネットワークパケットを受けて、LAN10を介してデバイスサーバ1のクライアント制御部31に送信する。その一方で、デバイスサーバ1からLAN10を介してネットワークパケットを受信すると、そのネットワークパケットをトンネリングドライバ45に渡す。
図5は、本発明の実施の形態にかかるデバイスサーバが自装置に接続しているデバイスの使用状況を確認してからポートごとの電力供給を停止するまでのフローについて、以下に順をおって説明する。
ステップS500にて、デバイス制御部32は、自装置のポートの1つに接続しているデバイスの通信ステータスをクライアント制御部31に通知する。クライアント制御部31は、通信ステータスをもとに、そのデバイスがクライアント装置2と通信している(通信中)か否かを判断し、結果を給電管理部34に通知する。デバイスとクライアント装置2が通信をしている場合は、ステップS502に遷移する(ステップS500のYes)。通信していない場合は、デバイスをサスペンドするためステップS501に遷移する(ステップS500のNo)。
ステップS501にて、給電管理部34は、クライアント制御部31の通知(ステップS500のNo)をもとに、そのデバイスがサスペンド状態に遷移されるようにデバイス制御部32へ通知する。デバイス制御部32は、給電管理部34からのサスペンド通知を受けると、USB規格に準じ、デバイスをサスペンド状態に遷移させる処理を行う。
ステップS502にて、デバイス制御部32は、自装置のポートの1つに接続しているすべてのデバイスの通信ステータスをクライアント制御部31に通知したか否かを判断する。通知した場合は、ステップS503に遷移する(ステップS502のYes)。通知していない場合は、ステップS506に遷移する(ステップS502のNo)。
ステップS503にて、給電管理部34は、バスパワー供給を停止する条件を満たしているか否かを判断する。満たしている場合は、デバイス制御部32に対象ポートに直接・間接に接続されたデバイスに対する電力供給を停止する旨の通知を行う(ステップS503のYes)。満たしていない場合は、ステップS505に遷移(ステップS503のNo)する。バスパワー供給を停止する条件とは、前述のとおり、ポートごとの制御では、(a)対象ポートに直接・間接に接続しているすべてのデバイスがサスペンド状態に遷移している、またはデバイスごとの制御では、(b)対象ポートに直接・間接に接続しているすべてのデバイスがサスペンド状態に遷移しており、かつすべてのデバイスが第1の所定条件すなわち「サスペンド状態ではバスパワー供給を停止してよい」との設定である、ことを意味する。つまり、第1の設定条件は、予め工場出荷時に設定されていてもよいし、クライアント装置に備わるアプリケーションから設定可能であってもよい。
ステップS504にて、給電管理部34からの通知(ステップS503のYes)を受けて、デバイス制御部32は、ポートへのバスパワー供給を停止する。
ステップS505にて、自装置に備わるすべてのポートについて、クライアント制御部31は、デバイス制御部32からの通信ステータスをもとにステップ501からステップS504までの一連の処理を実行したか否かを判断する。すべてのポートについて、一連の処理が行われた場合は、処理を終了する(ステップS505のYes)。一連の処理が行われていない場合は、ステップS507に遷移する(ステップS505のNo)。
ステップ506にて、クライアント制御部31は、デバイス制御部32からの通信ステータスをもとに、1つの対象ポートに接続しているデバイス(USBハブを介して間接的に接続しているデバイスを含む)に対し順次、ステップS500からS502の一連の処理を繰り返すために、処理が完了していないデバイスに対して一連の処理を開始する。
ステップ507にて、クライアント制御部31は、デバイス制御部32からの通信ステータスをもとに、すべてのポートに対し順次、ステップS500からS505の一連の処理を繰り返すために、処理が完了していないポートに対して一連の処理を開始する。
ここで、デバイスサーバ1が備える複数のポートに対する一連の処理を行う時期は、例えば、デバイスサーバ1の電源投入後、所定の時間間隔で実行される。また、クライアント装置2に備わる常駐モジュールからの指示やユーザが行うアプリケーションからの指示をもとに実行されてもよい。特にデバイスサーバ1は、所定の時間間隔で一連の処理を行うことで、クライアント装置2からの指示やユーザが行うアプリケーションへの指示を受けなくても、自律的に一連の処理を行えるのでユーザの手間と不要な電力供給を抑制できる。
つぎに図6は、本発明の実施の形態にかかるクライアント装置からの通知を受け、デバイスサーバが自装置に接続しているデバイスとのセッションを解放するまでのフローについて、クライアント装置の動作とデバイスサーバの動作を処理の流れに沿って、以下に説明する。なお、図6の処理開始時点では、クライアント装置2と自装置に接続しているデバイス5とは、クライアント装置2に備わるアプリケーション41によって互いに通信可能な状態(セッションを確立している)であり、常駐モジュール42により、常時、互いの通信状況(例えば、通信中、未通信など)を監視している。
ステップS601にて、クライアント装置2に備わる常駐モジュール42が、クライアント装置2が省電力モードに遷移した旨の情報をシステム(図示しない、例えば、OSなど)から取得したか否か判断する。省電力モードに遷移した場合は、ステップS602に遷移する(ステップS601のYes)。省電力モードに遷移していない場合は、ステップS601に留まり、システムからの省電力モードに遷移した旨の情報の取得を待つ(ステップS601のNo)。
ステップS602にて、クライアント装置2に備わる常駐モジュール42は、「自装置(クライアント装置2)が省電力モードに遷移した旨」の情報をLAN10経由でデバイスサーバ1に通知する。省電力モード通知は、トンネリングドライバ45でデバイスサーバ1と通信可能な形式に変換され、通信制御モジュール46からLAN10を通じてデバイスサーバ1に通知される。
ステップS603にて、デバイスサーバ1に備わるクライアント制御部31は、クライアント装置2からの省電力モード通知を受信したか否かを判断する。受信した場合は、その旨を給電管理部34に通知し、ステップS604に遷移する(ステップS603のYes)。受信していない場合は、ステップS603を繰り返し、省電力モード通知の受信を待つ(ステップS603のNo)。
ステップS604にて、給電管理部34は、クライアント装置2からの省電力モード通知とセッション解放条件をもとにクライアント装置2とのセッションを解放してもよいか否かを判断する。セッション解放を許容する場合は、デバイス制御部32に、クライアント2に関わるデバイスに対しセッションを解放する旨の通知を行い、ステップS605に遷移する(ステップS604のYes)。セッション解放を許容しない場合は、ステップS606に遷移(ステップS604のNo)する。ここで、セッション解放条件とは、クライアント装置2からの省電力モード通知をデバイスサーバ1のクライアント制御部31が受信すると、クライアント装置2とデバイス5との間のセッションを解放する条件である。セッション解放条件は、予めデバイスサーバ1において、デバイスごとに設定されていてもよいし、クライアント装置2に備わるアプリケーション41で設定できるようにしてもよい。
ステップS605にて、給電管理部34は、ステップS604の判断(ステップS604のYes)をもとにデバイス制御部32にクライアント装置2とデバイス5との間のセッションを解放する旨を通知し、デバイス制御部32は、デバイス5がクライアント装置2とのセッションを解放し、さらにサスペンドに遷移するように制御する。このようにすれば、新たにデバイス5を利用したい他のクライアント装置(例えば、クライアント装置3)は、クライアント装置2とデバイス5との間でセッションが解放されているので、クライアント装置3のアプリケーション41からサスペンドしているデバイス5に接続要求をすることで、すぐにセッションを確立することができる。
ステップS606にて、給電管理部34は、ステップS604の判断(ステップS604のNo)をもとにデバイス5をサスペンドさせる旨を通知し、デバイス制御部32は、デバイス5がサスペンド状態に遷移するように制御する。つまり、デバイス5は、クライアント装置2との間のセッションは維持しつつ、サスペンド状態に遷移する。このようにすれば、他のクライアントが当該デバイス5を利用することはできない一方、クライアント2とデバイス5との間のセッションは維持されているため、サスペンドから復帰後にすぐにクライアント装置2との通信を再開できる。
(まとめ)
上述したように、クライアント装置と自装置に備わるポートに接続しているデバイスとの間をネットワークを介して中継しているデバイス制御システムにおいて、本発明の実施の形態であるデバイスサーバは、クライアント装置がデバイスと通信をしていない場合は、そのデバイスをサスペンドに遷移させ、さらにバスパワー(デバイスサーバからデバイスに給電)を停止してもよい設定であれば、バスパワーをも停止することで、不要な電力消費を抑制する。また、クライアント装置が省電力モードに移行した旨の通知をクライアント装置からネットワークを通じて受信すると、クライアント装置とデバイスとの間のセッションの解放、またはセッションの維持を判断する。このようにすれば、デバイスが1つの省電力モードに遷移し、デバイスと通信をしていないにもかかわらず、セッションが維持されて他のクライアント装置から当該デバイスを利用できないという状況を回避つつも、従来のようにセッションを維持し続ける判断がくだれば、省電力モードから復帰したクライアント装置とすぐに通信を開始できる。
USBデバイスのサスペンド状態による不必要な電力消費を抑制しつつ、システムでの円滑なデバイス利用を行う際に有用である。
100 デバイス制御システム
1 デバイスサーバ
2、3 クライアント装置
4 USBハブ
5 デバイス(プリンタ)
10 LAN
20 CPU
21 ROM
22 RAM
23 記憶装置
24 USB−I/F
25 WNIC
26 NIC
27 内部バス
31 クライアント制御部
32 デバイス制御部
33 通信制御部
34 給電管理部
41 アプリケーション
42 常駐モジュール
43 デバイスドライバ
44 USBクラスドライバ
45 トンネリングドライバ
46 通信制御モジュール

Claims (3)

  1. 周辺デバイスと直接または間接的に接続され、ネットワーク経由でクライアント装置と周辺デバイスとの間を中継するデバイスサーバであって、
    前記周辺デバイスが前記クライアント装置との間で通信を行っているか否かの情報、および任意の前記周辺デバイスとの間で通信を行っていた前記クライアント装置から、当該クライアント装置が省電力モードに遷移する旨の通知を受信するクライアント制御部と、
    給電管理部であって、
    (1)前記周辺デバイスがいずれの前記クライアント装置とも通信を行っていない場合、当該周辺デバイスに対してサスペンド状態に遷移する様通知し、
    (2)任意のポートにおいて、接続されたすべての周辺デバイスが前記クライアント装置との間で通信を行っていない場合に、当該ポートへのバスパワー給電を停止する様判断する、
    給電管理部と
    前記クライアント制御部が前記クライアント装置から省電力モードに遷移する旨の通知を受信し、かつ第2の所定条件を満たすと前記給電管理部が判断した場合に、前記クライアント装置と、前記クライアント装置と通信を行っていた前記周辺デバイスとの間のセッションを解放するデバイス制御部と、
    を備えるデバイスサーバ。
  2. 周辺デバイスと直接または間接的に接続され、ネットワーク経由でクライアント装置と周辺デバイスとの間を中継するデバイスサーバであって、
    前記周辺デバイスが前記クライアント装置との間で通信を行っているか否かの情報、および任意の前記周辺デバイスとの間で通信を行っていた前記クライアント装置から、当該クライアント装置が省電力モードに遷移する旨の通知を受信するクライアント制御部と、
    給電管理部であって、
    (1)前記周辺デバイスがいずれの前記クライアント装置とも通信を行っていない場合、当該周辺デバイスに対してサスペンド状態に遷移する様通知し、
    (2)任意のポートにおいて、接続されたすべての周辺デバイスが前記クライアント装置との間で通信を行っておらず、かつ前記ポートに接続されたいずれの周辺デバイスも第1の所定条件を満たす場合に、当該ポートへのバスパワー給電を停止する様判断する、
    給電管理部と
    前記第1の所定条件は、サスペンド状態ではバスパワー給電の停止を許容する周辺デバイスであり、
    前記クライアント制御部が前記クライアント装置から省電力モードに遷移する旨の通知を受信し、かつ第2の所定条件を満たすと前記給電管理部が判断した場合に、前記クライアント装置と、前記クライアント装置と通信を行っていた前記周辺デバイスとの間のセッションを解放するデバイス制御部と、
    を備えるデバイスサーバ。
  3. 前記第2の所定条件は、前記クライアント装置と通信を行っていた前記周辺デバイスは、前記クライアント装置が省電力モードに遷移した場合、当該クライアント装置との間のセッションの解放を許容する周辺デバイスである、
    請求項1または2に記載のデバイスサーバ。
JP2016168712A 2016-08-31 2016-08-31 デバイスサーバ Active JP6557889B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016168712A JP6557889B2 (ja) 2016-08-31 2016-08-31 デバイスサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016168712A JP6557889B2 (ja) 2016-08-31 2016-08-31 デバイスサーバ

Publications (3)

Publication Number Publication Date
JP2018036810A JP2018036810A (ja) 2018-03-08
JP2018036810A5 JP2018036810A5 (ja) 2019-03-14
JP6557889B2 true JP6557889B2 (ja) 2019-08-14

Family

ID=61565950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016168712A Active JP6557889B2 (ja) 2016-08-31 2016-08-31 デバイスサーバ

Country Status (1)

Country Link
JP (1) JP6557889B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11729643B2 (en) * 2019-04-26 2023-08-15 Kyocera Document Solutions Inc. Communication device and image forming apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5094356B2 (ja) * 2006-12-21 2012-12-12 キヤノン株式会社 情報処理装置、情報処理方法、該方法を実行するためのプログラム
JP5124779B2 (ja) * 2008-11-07 2013-01-23 キヤノンイメージングシステムズ株式会社 デバイス共有システム、デバイス共有クライアント、及びデバイス共有方法
JP5202588B2 (ja) * 2010-08-18 2013-06-05 株式会社バッファロー 監視システム、デバイスサーバ、ホストコンピュータ、監視方法、及び監視プログラム
JP5790007B2 (ja) * 2011-02-09 2015-10-07 株式会社リコー 情報処理装置および情報処理装置の制御方法、ならびに、プログラム
JP2014057134A (ja) * 2012-09-11 2014-03-27 Canon Inc 画像形成装置、画像形成装置の制御方法及びプログラム

Also Published As

Publication number Publication date
JP2018036810A (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
JP5138100B2 (ja) 複数の通信インターフェイスを有する情報処理装置、該情報処理装置の制御方法
EP3422777B1 (en) Communication apparatus and control method therefor
JP5448403B2 (ja) 通信装置及びその制御方法、並びにコンピュータプログラム
US9274726B2 (en) Communication apparatus capable of notifying temporary disconnection from network, communication system, method of controlling communication apparatus, and storage medium
US9377838B2 (en) Data processing apparatus and power saving control method when transiting to a power saving state
JP5704904B2 (ja) データ処理装置、データ処理装置の制御方法及びプログラム
JP6157097B2 (ja) 印刷装置
JP6057593B2 (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
US10405282B2 (en) Information processing apparatus and information processing method
US20120005500A1 (en) Peripheral-device utilizing system, server device, and method
JP6316033B2 (ja) 情報処理装置及びその制御方法、記憶媒体
JP6557889B2 (ja) デバイスサーバ
EP2663016B1 (en) Communication apparatus operable in auto-negotiation mode, method of controlling the communication apparatus, and storage medium
JP5699756B2 (ja) 情報処理装置及び情報処理装置制御方法
JP6742812B2 (ja) 通信装置及びその制御方法、プログラム
US9525757B2 (en) Information processing apparatus that controls connection of devices, method of controlling the apparatus, and device control system
JP2008059112A (ja) 電源制御システム
JP2008022263A (ja) 通信装置、情報処理装置、通信方法、通信プログラム、及び、情報記憶媒体
JP2009237985A (ja) 画像処理装置、制御回路及びプログラム
JP2006311032A (ja) 画像形成装置の状態情報管理プログラム、管理装置及び監視システム
JP2012038156A (ja) ネットワーク装置、ネットワーク装置の省電力方法、及びプログラム
JP2014218003A (ja) 画像形成システム
JP2012182742A (ja) 無線通信装置、電子装置、簡易アクセスポイントの決定方法及び更新方法
JP7183538B2 (ja) 電子機器及び通信設定プログラム
JP5619112B2 (ja) 通信装置、通信装置の制御方法、および、プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190204

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190204

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190204

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190621

R150 Certificate of patent or registration of utility model

Ref document number: 6557889

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