(57)【特許請求の範囲】
【請求項１】
周辺機器が接続されている周辺機器サーバと情報処理装置とがネットワーク接続されている周辺機器利用システムにおける，周辺機器サーバであって，
周辺機器と，当該周辺機器を利用する情報処理装置とを１対１に対応付けて管理する周辺機器利用状況管理手段と，
前記周辺機器がサスペンド状態からレジューム状態に遷移したことを検出する周辺機器レジューム検出手段と，
前記周辺機器のレジューム状態への遷移を検出すると，前記周辺機器利用状況管理手段が管理する情報に基づき前記周辺機器に対応付けられている情報処理装置を特定し，かつ当該情報処理装置を稼働状態に遷移させる指示が含まれ，当該情報処理装置が受信可能な通信パケットをネットワークに向けて送信する稼働指示送信手段と，
を備える周辺機器サーバ。
【請求項２】
前記周辺機器がサスペンド状態である場合，前記周辺機器利用状況管理手段が管理する情報に基づき当該周辺機器に対応付けられている情報処理装置以外の情報処理装置から送信された当該周辺機器に対する通信をブロックする通信ブロック手段，
をさらに備える請求項１に記載の周辺機器サーバ。
【請求項３】
前記通信ブロック手段がブロックする通信は，前記周辺機器に対する接続要求である，
ことを特徴とする請求項２に記載の周辺機器サーバ。
【請求項４】
前記稼働指示送信手段が送信する通信パケットはＷａｋｅＯｎＬＡＮパケットである，
ことを特徴とする請求項１から３のいずれかに記載の周辺機器サーバ。
【請求項５】
周辺機器が接続されている周辺機器サーバと情報処理装置とがネットワーク接続されている周辺機器利用システムにおける，周辺機器サーバの利用方法であって，
周辺機器と，当該周辺機器を利用する情報処理装置とを１対１に対応付けるステップと，
前記周辺機器がサスペンド状態からレジューム状態に遷移したことを検出するステップと，
前記周辺機器のレジューム状態への遷移を検出すると，前記周辺機器に対応付けられている情報処理装置を特定し，かつ当該情報処理装置を稼働状態に遷移させる指示が含まれ，当該情報処理装置が受信可能な通信パケットをネットワークに向けて送信するステップと，
を含む周辺機器サーバの利用方法。
【請求項６】
前記周辺機器がサスペンド状態である場合，前記周辺機器に対応付けられている情報処理装置以外の情報処理装置から送信された前記周辺機器に対する通信をブロックするステップ，
をさらに含む請求項５に記載の周辺機器サーバの利用方法。
【請求項７】
前記周辺機器に対するブロックすべき前記通信は，前記周辺機器に対する接続要求である,
ことを特徴とする請求項６に記載の周辺機器サーバの利用方法。
【請求項８】
当該情報処理装置を稼働状態に遷移させる指示が含まれ，当該情報処理装置が受信可能な通信パケットとはＷａｋｅＯｎＬＡＮパケットである,
ことを特徴とする請求項５から７のいずれかに記載の周辺機器サーバの利用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は周辺機器利用システムに関し，特に，システムの中核をなす周辺機器サーバに関するものである。
【背景技術】
【０００２】
ＵＳＢ機器（以下ＵＳＢデバイス）に代表される周辺機器をネットワークで共有する周辺機器利用システム（以下デバイスサーバシステム）という技術が知られている（非特許文献１）。デバイスサーバシステムとは，図１に示すようなシステムであり，ＵＳＢデバイス１０３（図１ではＵＳＢカメラを例示）が接続された周辺機器サーバ１０２（以下デバイスサーバ）とＰＣ１０１などのコンピュータとがネットワーク接続されている環境において，ＰＣ１０１からネットワーク越しに当該ＵＳＢデバイスを利用させることのできるシステムである。
【０００３】
デバイスサーバシステムは，ＰＣ１０１とＵＳＢデバイス１０３との接続，すなわち通信パイプが存在していることを前提として動作するシステムである。このため，接続が存在している状態では，ＰＣ１０１はＵＳＢデバイス１０３が自らに直接接続されたかのように，その状態を逐一認識することができる。その一方，この接続が失われるとＰＣ１０１はＵＳＢデバイス１０３を全く認識することができなくなる。つまり，デバイスサーバシステムにおいて，ＰＣ１０１がＵＳＢデバイス１０３を利用する場合，両者の間の接続（通信パイプ）は常に維持する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【非特許文献１】サイレックス・テクノロジー株式会社  ホームページ＜http://www.silex.jp/products/usbdeviceserver/index.html?init＞
【０００５】
ところで，近年のＰＣは，所定時間操作されないなどの条件が満たされると，ハードディスクの動作を停止させるなどして消費電力を低減するモード（以下省電力モード）へ移行（遷移）する機構を標準的に備えている。
【０００６】
図１のデバイスサーバシステムにおけるＰＣ１０１も例外ではなく，所定条件が満足されると，自身を省電力モードに移行させることができる。消費電力の低減が強く求められる近年においては，このような省電力機構は必須かつ標準的に具備すべき機構である。しかし，デバイスサーバシステムにおいては，省電力モードからの復帰を，ＰＣ１０１とＵＳＢデバイス１０３とを直接ＵＳＢケーブルで接続したときのように動作させることができないという問題があった。以下でこの原因について詳細に説明する。
【０００７】
図１に示すデバイスサーバシステムにおいて，ＰＣ１０１がデバイスサーバ１０２を経由してＵＳＢデバイス１０３を使用している場合，ＰＣ１０１が省電力モードに移行すると，ＵＳＢデバイス１０３はデバイスサーバ１０２を経由してその事実を認識することができる。次いで，これを認識したＵＳＢデバイス１０３は，自身も省電力モードに移行する。
【０００８】
問題は，両者が省電力モードに移行した後，ＵＳＢデバイス１０３が何らかの要因により省電力モードから稼働状態に状態遷移した場合に発生する。具体的には，デバイスサーバシステムでは，ＵＳＢデバイス１０３のほうがＰＣ１０１より先に省電力モードから稼働状態に遷移した場合に，ＰＣ１０１がこれを認識することができないという問題が発生するわけである。
【０００９】
これは，ＰＣ１０１が省電力モードに移行する際に，ＰＣ１０１とＵＳＢデバイス１０３との接続が切断されてしまうことが原因となっている。上述したように，デバイスサーバシステムにおいて，ＰＣ１０１がＵＳＢデバイス１０３を利用するには，ＰＣ１０１とデバイスサーバ１０２との間に通信パイプ，具体的にはＴＣＰセッションが必要となるが，ＰＣ１０１が省電力モードに移行すると，このセッションが切断されてしまう。結果として，ＰＣ１０１とＵＳＢデバイス１０３との接続も切断されてしまい，ＰＣ１０１はＵＳＢデバイス１０３の状態を認識できなくなるわけである。
【００１０】
一方で，省電力モードにあるＰＣ１０１においてもＴＣＰセッションを維持することは技術的に可能である。しかし，消費電力低減の効果が限定的となるため，そのような動作は好ましくない。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本願発明はかかる課題を解決するものである。すなわち，デバイスサーバシステムにおいてＰＣの省電力モードを有効に利用しつつ，必要に応じてＰＣを稼働状態に移行させ，ＰＣ−ＵＳＢデバイス間のトランザクションを円滑に復活させることのできるデバイスサーバを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願発明にかかる第１の形態は，周辺機器が接続されている周辺機器サーバとＰＣとがネットワーク接続されている周辺機器利用システムにおける，周辺機器サーバであって，周辺機器と，当該周辺機器を利用するＰＣとを１対１に対応付けて管理する周辺機器利用状況管理手段と，周辺機器がサスペンド状態からレジューム状態に遷移したことを検出する周辺機器レジューム検出手段と，周辺機器のレジューム状態への遷移を検出すると，周辺機器利用状況管理手段が管理する情報に基づき周辺機器に対応付けられているＰＣを特定し，かつ当該ＰＣを稼働状態に遷移させる指示が含まれ，当該ＰＣが受信可能な通信パケットをネットワークに向けて送信する稼働指示送信手段と，を備える。
【００１３】
好ましくは，周辺機器がサスペンド状態である場合，周辺機器利用状況管理手段が管理する情報に基づき当該周辺機器に対応付けられているＰＣ以外のＰＣから送信された当該周辺機器に対する通信をブロックする通信ブロック手段，をさらに備える。
【００１４】
好ましくは，通信ブロック手段がブロックする通信は，周辺機器に対する接続要求である。
【００１５】
好ましくは，稼働指示送信手段が送信する通信パケットはＷａｋｅＯｎＬＡＮパケットである。
【００１６】
本願発明にかかる第２の形態は，周辺機器が接続されている周辺機器サーバと情報処理装置とがネットワーク接続されている周辺機器利用システムにおける，周辺機器サーバの利用方法であって，周辺機器と，当該周辺機器を利用する情報処理装置とを１対１に対応付けるステップと，周辺機器がサスペンド状態からレジューム状態に遷移したことを検出するステップと，周辺機器のレジューム状態への遷移を検出すると，周辺機器に対応付けられている情報処理装置を特定し，かつ当該情報処理装置を稼働状態に遷移させる指示が含まれ，当該情報処理装置が受信可能な通信パケットをネットワークに向けて送信するステップと，を含む周辺機器サーバの利用方法である。
【００１７】
好ましくは，周辺機器がサスペンド状態である場合，周辺機器に対応付けられている情報処理装置以外の情報処理装置から送信された当該周辺機器に対する通信をブロックするステップ，をさらに備える。
【００１８】
好ましくは，周辺機器に対するブロックすべき通信は，周辺機器に対する接続要求である。
【００１９】
好ましくは，周辺機器のレジューム状態への遷移を検出した際に，周辺機器に対応付けられている情報処理装置を稼働状態に遷移させる指示が含まれ，当該情報処理装置が受信可能な通信パケットとはＷａｋｅＯｎＬＡＮパケットである。
【発明の効果】
【００２０】
本願発明によれば，デバイスサーバシステムにおいて，ＰＣが省電力モードに移行しＰＣとデバイスサーバとの間のセッションが失われ，ＰＣとＵＳＢデバイスとの接続が切断されたとしても，省電力モードのあいだ，デバイスサーバが他のＰＣによる当該ＵＳＢデバイスの利用を制限し，かつデバイスが稼働状態に遷移した場合に，これを認識したデバイスサーバがＰＣにＷａｋｅＯｎＬＡＮパケットを送信しＰＣを稼働状態に遷移させることで，再度ＰＣとＵＳＢデバイスとの接続を復活させることができる。結果として，デバイスサーバシステムにおいて，ＰＣの省電力モードを有効に利用しつつも，必要に応じてＵＳＢデバイスからＰＣを起動させ，ＰＣ−ＵＳＢデバイス間のトランザクションを円滑に再開させることができる。
【発明を実施するための形態】
【００２１】
以下では図面を参照し本願発明に係る実施例を説明する。
［実施例］
［シーケンス図］
【００２２】
図２は本願発明にかかるデバイスサーバシステムのシーケンス図である。まずは，このシーケンス図を通じて本願発明の全体動作を説明する。
【００２３】
図２では，ＰＣ１０１のＩＰのアドレスおよびＭＡＣアドレスは，それぞれ192.168.100.10およびaa:bb:cc:dd:ee:ffとし，ＵＳＢデバイス１０３の名称はＤｅｖ１としている。
【００２４】
ＴＣＰセッション２０１はＰＣ１０１とデバイスサーバ１０２との間に確立された通信パイプであり，ＵＳＢ転送２０２はデバイスサーバ１０２とＵＳＢデバイス１０３との間に確立された通信パイプである。これらＴＣＰセッション２０１およびＵＳＢ転送２０２を用いて，ＰＣ１０１はＵＳＢデバイス１０３と接続している。
【００２５】
なお，デバイスサーバ１０２は図３に示すテーブルを管理しており，自身に接続しているＵＳＢデバイス１０３のステータスとそのＵＳＢデバイスを使用しているＰＣ１０１とを把握している。ＴＣＰセッション２０１およびＵＳＢ転送２０２が確立されている現在の状態は，図３の状態１に示す内容（動作中）となっている。
【００２６】
ステータスの種類は「動作中」，「サスペンド」，「レジューム中」および「使用可（図示せず）」の４つが存在する。動作中はＰＣが当該ＵＳＢデバイスを使用している（接続している）ことを意味し，サスペンドは当該ＵＳＢデバイスを使用しているＰＣが存在するものの，ＵＳＢデバイス自身は非稼働状態になっていることを意味し，レジューム中は当該ＵＳＢデバイスがサスペンド状態から稼働状態への移行中であることを意味する。
【００２７】
好ましくは，使用可以外のステータスでは，テーブルで管理されているＰＣ１０１以外のＰＣはＵＳＢデバイス１０３を使用することができない。たとえば，デバイスサーバ１０２が，ステータスが「動作中」，「サスペンド」および「レジューム中」であるＵＳＢデバイス１０３に対する他のＰＣからの接続要求を受信しても，これをブロックしＵＳＢデバイス１０３に接続させない。これにより特定のＰＣがデバイスを使用している間（動作中）はもちろん，サスペンド状態に遷移する直前におけるテーブルは，サスペンド中に書き換えられる事がなく、再びデバイスが稼働状態に遷移する際に接続されるべきＰＣは固定化されていることとなる。
【００２８】
ステップ２０３にて，ＰＣ１０１はサスペンド処理を開始する。一般的には，ＰＣ１０１が所定時間操作されなかった場合などにこのような処理が開始される。
【００２９】
ステップ２０４にて，ＰＣ１０１はデバイスサーバ１０２に対して，ＵＳＢデバイス１０３をサスペンドするよう要求する。この要求は，ＰＣ１０１とデバイスサーバ１０２との間は，既に確立されているＴＣＰセッション２０１を通じて送信される。この要求を受信したデバイスサーバ１０２は，ＰＣ１０１のネットワークアドレスおよびＭＡＣアドレスを取得し，後述する記憶領域に記憶させる。なお，ＰＣ１０１のＩＰアドレスが192.168.100.10のため，取得するネットワークアドレスは192.168.100.255となる。
【００３０】
ステップ２０５にて，デバイスサーバ１０２は，先ほど受信したサスペンド要求を，ＵＳＢ転送２０２を通じてＵＳＢデバイス１０３に送信する。
【００３１】
ステップ２０６にて，サスペンド要求を受信したＵＳＢデバイス１０３は，自身のサスペンド処理を開始し省電力モードに移行する。
【００３２】
ステップ２０７にて，デバイスサーバ１０２は，サスペンド状態（省電力モード）となったＵＳＢデバイス１０３を認識する。この時，図３のテーブルは状態２に示す内容となる。すなわち，ステータスがサスペンドに更新される。
【００３３】
ステップ２０８にて，デバイスサーバ１０２は，ＵＳＢデバイス１０３のサスペンド処理が完了した旨をＰＣ１０１に応答する。
【００３４】
ステップ２０９にて，この応答を受信したＰＣ１０１は，自身をサスペンド状態に移行させる。
【００３５】
以上のシーケンスがＰＣ１０１およびＵＳＢデバイス１０３が省電力モードに移行する処理である。以下では，ＵＳＢデバイス１０３が省電力モードから稼働状態へ移行（レジューム）することをトリガとするシーケンスについて説明する。
【００３６】
ステップ２１０にて，ＵＳＢデバイス１０３がレジューム処理を開始する。レジュームとは，サスペンド状態から稼働状態への移行中のステータスである。レジュームのトリガは，たとえば，ＵＳＢデバイス１０３が人為的に操作されたり，何らかのデータがインプットされたりする場合が一般的である。
【００３７】
ステップ２１１にて，ＵＳＢデバイス１０３はリモートウェイクアップ信号をデバイスサーバ１０２に送信する。これによりデバイスサーバ１０２はＵＳＢデバイス１０３が稼働状態に移行したことを認識する。
【００３８】
ステップ２１２にて，この信号を受信したデバイスサーバ１０２は，ＰＣ１０１をサスペンド状態から稼働状態に移行させるべく，ＷａｋｅＯｎＬＡＮパケット（以下ＷＯＬパケット）を送信する。このパケットは，ステップ２０４で取得したネットワークアドレスを宛先とし，パケットの中身であるペイロードには取得したＭＡＣアドレスが設定される。なお，この時点で，ＵＳＢデバイス１０３は稼働状態にあるが，ＰＣ１０１とデバイスサーバ１０２の間のＴＣＰセッションは無効になっている。このことを示すため，図３のテーブルは状態３に示す内容となる。つまり，ステータスがレジューム中となる。
【００３９】
ステップ２１３にて，ＷＯＬパケットを受信したＰＣ１０１は，パケットのペイロードをチェックし，自身のＭＡＣアドレスが設定されているため，サスペンド中にある自身の動作モードを稼働状態に移行させる。
【００４０】
ステップ２１４にて，稼働状態となったＰＣ１０１は，デバイスサーバ１０２の検索およびＵＳＢデバイス１０３のステータスを要求する。
【００４１】
ステップ２１５にて，デバイスサーバ１０２は，この要求に対してＵＳＢデバイスの使用者およびステータス（レジューム中）を応答する。応答内容は図３のテーブルの情報をもとに生成される。
【００４２】
ステップ２１６にて，この応答を受信したＰＣ１０１は，自身が使用者となっているＵＳＢデバイス１０３を特定し，そのステータスがレジューム中であるＵＳＢデバイス１０３に接続を行う。使用者が自身でありステータスがレジューム中であるということは，自身がサスペンド状態に移行する以前に使用していたＵＳＢデバイス１０３が稼働状態に移行したことを意味する。なお，接続が完了すると図３のテーブルは状態１に示す内容となる。つまり，ステータスが動作中となる。
【００４３】
ステップ２１７にて，ＵＳＢデバイス１０３のステータスがレジューム中から動作中に移行したことを認識すると，確立されたＴＣＰセッション２０１およびＵＳＢ転送２０２を利用してＵＳＢデバイス１０３とのトランザクションを再開する。
【００４４】
以上が本願発明の全体動作であるが，特に，ステップ２１１においてデバイスサーバ１０２がＵＳＢデバイス１０３のレジューム動作を認識すること，ステップ２１２においてデバイスサーバ１０２がＰＣ１０１に向けてＷＯＬパケットの送信すること，およびステップ２１６においてＴＣＰセッションが復元されることが本願発明のポイントとなる動作である。
［デバイスサーバの動作フロー］
【００４５】
図４にてデバイスサーバ１０２の動作フローを説明する。図から明らかなとおり，デバイスサーバ１０２の動作フローは，サスペンドタスクおよびレジュームタスクの２つのタスクより構成されている。
【００４６】
まず，サスペンドタスクについて説明する。ステップ４０１にて，サスペンド要求を受信したかどうかを判断する。このサスペンド要求はＰＣ１０１から送信されたものである。
【００４７】
ステップ４０２にて，ＰＣ１０１のネットワークアドレスおよびＭＡＣアドレスを取得する。取得したそれぞれのアドレスはデバイスサーバ１０２の備える記憶領域４２０に記憶させる。
【００４８】
ステップ４０３にて，ステップ４０１にて受信したサスペンド要求をＵＳＢデバイス１０３に向けて送信する。
【００４９】
ステップ４０４にて，ＵＳＢデバイス１０３がサスペンド状態に移行したかどうかを判断する。
【００５０】
ステップ４０５にて，ＵＳＢデバイス１０３がサスペンド状態に移行した旨をＰＣ１０１に応答する。
【００５１】
次いでレジュームタスクについて説明する。ステップ４１１にて，ＵＳＢデバイス１０３からのリモートウェイクアップ信号を受信したかどうかを判断する。
【００５２】
ステップ４１２にて，ＷＯＬパケットをＰＣ１０１に向けて送信する。上述した通り，このパケットの宛先アドレスは，記憶領域４２０に記憶されているＰＣ１０１のネットワークアドレスであり，ペイロードはＰＣ１０１のＭＡＣアドレスとなる。
【００５３】
ステップ４１３にて，ＰＣ１０１よりＵＳＢデバイス１０３のステータス要求を受信したかどうかを判断する。
【００５４】
ステップ４１４にて，受信したステータス要求に対する応答をＰＣ１０１に送信する。
［まとめ］
【００５５】
以上説明したように，本願発明によれば，デバイスサーバシステムにおいて，ＰＣが省電力モードに移行しＰＣとデバイスサーバとの間のセッションが失われ，ＰＣとＵＳＢデバイスとの接続が切断されたとしても，省電力モードのあいだ，デバイスサーバが他のＰＣによる当該ＵＳＢデバイスの利用を制限し，かつデバイスが稼働状態に遷移した場合に，これを認識したデバイスサーバがＰＣにＷａｋｅＯｎＬＡＮパケットを送信しＰＣを稼働状態に遷移させることで，再度ＰＣとＵＳＢデバイスとの接続を復活させることができる。結果として，デバイスサーバシステムにおいて，ＰＣの省電力モードを有効に利用しつつも，必要に応じてＵＳＢデバイスからＰＣを起動させ，ＰＣ−ＵＳＢデバイス間のトランザクションを円滑に再開させることができる。
【図面の簡単な説明】
【００５６】
【図１】システム全体図
【図２】シーケンス図
【図３】デイバスサーバが管理するテーブルとその遷移
【図４】デバイスサーバの動作フロー
【符号の説明】
【００５７】
４１１  リモートウェイクアップ信号受信
４１２  ＷＯＬパケット送信
４２０  記憶領域
【図１】
0005866620.tif 000002
【図２】
0005866620.tif 000003
【図３】
0005866620.tif 000004
【図４】
0005866620.tif 000005