(57)【要約】【課題】接続先のクライアントコンピュータの切り換えを簡単に行う。【解決手段】複数のＰＣを含むネットワークに接続され、ＵＳＢデバイスがＵＳＢポートに接続されるＵＳＢデバイスサーバであって、前記ＵＳＢデバイスとデバイス接続されている接続先が、前記複数のＰＣのうちのいずれであるかを示す接続先情報を記憶する接続先情報記憶部と、前記ＵＳＢデバイスからの操作信号を受信し、前記接続先情報により接続先とされるＰＣに、前記受信した操作信号に応じた信号を送信する信号送信部と、操作者によるホットキーを受信したときに、前記接続先情報により接続先とされるＰＣに、前記接続を切断させる切断要求を発行し、前記複数のＰＣのうちの次の順位のＰＣに、デバイス接続させる接続要求を発行し、接続先が前記次の順位のＰＣに変更された内容に前記接続先情報を更新する制御部とを備える。【選択図】図６
2012113565.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントコンピュータを含むネットワークに接続されるネットワーク装置であり、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスが当該ネットワーク装置に設けられたインタフェースポートに接続されており、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続するネットワーク装置であって、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を記憶する接続先情報記憶部と、
前記入力デバイスからの操作信号を受信し、前記接続先情報が示すクライアントコンピュータに、前記受信した操作信号に応じた信号を送信する信号送信部と、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信する更新指令受信部と、
前記更新指令受信部により前記所定の更新指令を受信したときに、前記接続先情報が表すクライアントコンピュータに、前記デバイス接続を切断させる切断要求を発行し、前記所定の更新指令に基づいて特定される前記操作信号に応じて動作すべきクライアントコンピュータに、デバイス接続させる接続要求を発行し、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する制御部と
を備える、ネットワーク装置。
【請求項２】
請求項１に記載のネットワーク装置であって、
前記入力デバイスとして、ＵＳＢキーボードを少なくとも含む、ネットワーク装置。
【請求項３】
請求項２に記載のネットワーク装置であって、
前記所定の更新指令は、前記ＵＳＢキーボードから入力可能なホットキーである、ネットワーク装置。
【請求項４】
請求項１ないし３のいずれかに記載のネットワーク装置であって、
前記制御部は、
前記接続要求として、前記接続先情報の更新による差分を少なくとも送る構成である、ネットワーク装置。
【請求項５】
複数のクライアントコンピュータを含むネットワークに接続されるネットワーク装置であり、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスが当該ネットワーク装置に設けられたインタフェースポートに接続されており、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続するネットワーク装置であって、
前記複数のクライアントコンピュータのそれぞれに対して、前記入力デバイスをデバイス接続させるデバイス接続部と、
前記複数のクライアントコンピュータのそれぞれに１：１で対応した仮想的な複数の仮想デバイスと、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を記憶する接続先情報記憶部と、
前記複数の仮想デバイスの中から、前記接続先情報が示すクライアントコンピュータに対応する仮想デバイスを選択仮想デバイスとして選択する選択部と、
前記入力デバイスからの操作信号を受信し、前記操作信号に応じた信号を前記選択仮想デバイスを介して、前記接続先情報が表すクライアントコンピュータに送信する信号送信部と、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信する更新指令受信部と、
前記更新指令受信部により前記所定の更新指令を受信したときに、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する制御部と
を備える、ネットワーク装置。
【請求項６】
複数のクライアントコンピュータを含むネットワークと、
前記ネットワークに接続されるとともに、デバイスを接続するためのインタフェースポートを備えるネットワーク装置と、
前記インタフェースポートに接続され、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスと
を備え、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを、前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続させるネットワークシステムであって、
前記ネットワーク装置は、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を記憶する接続先情報記憶部と、
前記入力デバイスからの操作信号を受信し、前記接続先情報が示すクライアントコンピュータに、前記受信した操作信号に応じた信号を送信する信号送信部と、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信する更新指令受信部と、
前記更新指令受信部により前記所定の更新指令を受信したときに、前記接続先情報が表すクライアントコンピュータに、前記デバイス接続を切断させる切断要求を発行し、前記所定の更新指令に基づいて特定される前記操作信号に応じて動作すべきクライアントコンピュータに、デバイス接続させる接続要求を発行し、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する制御部と
を備える、ネットワークシステム。
【請求項７】
複数のクライアントコンピュータを含むネットワークと、
前記ネットワークに接続されるとともに、デバイスを接続するためのインタフェースポートを備えるネットワーク装置と、
前記インタフェースポートに接続され、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスと
を備え、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを、前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続させるネットワークシステムであって、
前記ネットワーク装置は、
前記複数のクライアントコンピュータのそれぞれに対して、前記入力デバイスをデバイス接続させるデバイス接続部と、
前記複数のクライアントコンピュータのそれぞれに１：１で対応した仮想的な複数の仮想デバイスと、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を記憶する接続先情報記憶部と、
前記複数の仮想デバイスの中から、前記接続先情報が示すクライアントコンピュータに対応する仮想デバイスを選択仮想デバイスとして選択する選択部と、
前記入力デバイスからの操作信号を受信し、前記操作信号に応じた信号を前記選択仮想デバイスを介して、前記接続先情報が表すクライアントコンピュータに送信する信号送信部と、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信する更新指令受信部と、
前記更新指令受信部により前記所定の更新指令を受信したときに、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する制御部と
を備える、ネットワークシステム。
【請求項８】
複数のクライアントコンピュータを含むネットワークに接続されるネットワーク装置であり、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスが前記ネットワーク装置に設けられたインタフェースポートに接続されており、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続するネットワーク装置
における制御方法であって、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を用意し、
前記入力デバイスからの操作信号を受信し、前記接続先情報が示すクライアントコンピュータに、前記受信した操作信号に応じた信号を送信し、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信し、
前記所定の更新指令を受信したときに、前記接続先情報が表すクライアントコンピュータに、前記デバイス接続を切断させる切断要求を発行し、前記所定の更新指令に基づいて特定される前記操作信号に応じて動作すべきクライアントコンピュータに、デバイス接続させる接続要求を発行し、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する、ネットワーク装置の制御方法。
【請求項９】
複数のクライアントコンピュータを含むネットワークに接続されるネットワーク装置であり、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスが前記ネットワーク装置に設けられたインタフェースポートに接続されており、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続するネットワーク装置
における制御方法であって、
前記複数のクライアントコンピュータのそれぞれに対して、前記入力デバイスをデバイス接続させ、
前記複数のクライアントコンピュータのそれぞれに１：１で対応した仮想的な複数の仮想デバイスを用意し、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を用意し、
前記複数の仮想デバイスの中から、前記接続先情報が示すクライアントコンピュータに対応する仮想デバイスを選択仮想デバイスとして選択し、
前記入力デバイスからの操作信号を受信し、前記操作信号に応じた信号を前記選択仮想デバイスを介して、前記接続先情報が表すクライアントコンピュータに送信し、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信し、
前記所定の更新指令を受信したときに、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する、ネットワーク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力デバイスと複数のクライアントコンピュータとの間を接続する技術に関する。
【背景技術】
【０００２】
従来、ＴＣＰ／ＩＰのネットワークにおいて、ＵＳＢ（Universal Serial Bus）デバイスを複数のクライアントコンピュータから共有することのできるＵＳＢデバイスサーバが知られている（特許文献１参照）。キーボード、マウス等の入力装置としてのＵＳＢデバイス、すなわちＵＳＢ入力デバイスを、複数のクライアントコンピュータから共有する場合にも、ＵＳＢデバイスサーバが用いられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３１７０６７号公報
【０００４】
しかしながら、前記従来の技術では、ＵＳＢ入力デバイスと接続するクライアントコンピュータを切り換える場合に、操作者は、現在接続中のクライアントコンピュータでデバイスの取り外しの操作（ソフトウェアによる操作）を行い、その後、切換先のクライアントコンピュータでデバイスの接続の操作（ソフトウェアによる操作）を行う必要があり、切り換えの操作が煩雑であるという問題があった。このような問題は、入力デバイスとの間をＵＳＢで接続する場合に限らず、ＵＳＢ以外のインタフェースにより接続されるデバイスサーバに共通した問題であった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような問題を考慮し、本発明が解決しようとする課題は、接続先のクライアントコンピュータの切り換えを簡単に行うことができるようにすることである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【０００７】
［適用例１］  複数のクライアントコンピュータを含むネットワークに接続されるネットワーク装置であり、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスが当該ネットワーク装置に設けられたインタフェースポートに接続されており、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続するネットワーク装置であって、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を記憶する接続先情報記憶部と、
前記入力デバイスからの操作信号を受信し、前記接続先情報が示すクライアントコンピュータに、前記受信した操作信号に応じた信号を送信する信号送信部と、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信する更新指令受信部と、
前記更新指令受信部により前記所定の更新指令を受信したときに、前記接続先情報が表すクライアントコンピュータに、前記デバイス接続を切断させる切断要求を発行し、前記所定の更新指令に基づいて特定される前記操作信号に応じて動作すべきクライアントコンピュータに、デバイス接続させる接続要求を発行し、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する制御部と
を備える、ネットワーク装置。
【０００８】
適用例１に係るネットワーク装置では、操作者による所定の更新指令が更新指令受信部で受信されたときに、制御部により、接続先情報が表すクライアントコンピュータに、デバイス接続を切断させる切断要求が発行され、前記所定の更新指令に基づいて特定されるクライアントコンピュータに接続要求が発行され、前記接続先情報における入力デバイスとデバイス接続するクライアントコンピュータが、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新される。このために、操作者は所定の更新指令を発するだけで、現在の接続先であるクライアントコンピュータでデバイスの取り外しの操作が行なわれ、更新先のクライアントコンピュータでデバイスの接続の操作が行なわれる。したがって、適用例１に係るネットワーク装置は、接続先のクライアントコンピュータの更新を簡単に行うことができるという効果を奏する。
【０００９】
［適用例２］  適用例１に記載のネットワーク装置であって、
前記入力デバイスとして、ＵＳＢキーボードを少なくとも含む、ネットワーク装置。
【００１０】
この構成によれば、ＵＳＢキーボードを、複数のクライアントコンピュータから共有することができる。
【００１１】
［適用例３］  適用例２に記載のネットワーク装置であって、
前記所定の更新指令は、前記ＵＳＢキーボードから入力可能なホットキーである、ネットワーク装置。
【００１２】
この構成によれば、操作者は、ＵＳＢキーボードからホットキーを入力するだけで、接続先のクライアントコンピュータの更新を行うことができる。
【００１３】
［適用例４］  適用例１ないし３のいずれかに記載のネットワーク装置であって、
前記制御部は、
前記接続要求として、前記接続先情報の更新による差分を少なくとも送る構成である、ネットワーク装置。
【００１４】
この構成であれば、接続要求として、前記差分を送るだけで、更新先のクライアントコンピュータに対して接続先であることを認識させることができる。したがって、この構成によっても、接続先のクライアントコンピュータの更新を容易に行うことができる。
【００１５】
［適用例５］  複数のクライアントコンピュータを含むネットワークに接続されるネットワーク装置であり、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスが当該ネットワーク装置に設けられたインタフェースポートに接続されており、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続するネットワーク装置であって、
前記複数のクライアントコンピュータのそれぞれに対して、前記入力デバイスをデバイス接続させるデバイス接続部と、
前記複数のクライアントコンピュータのそれぞれに１：１で対応した仮想的な複数の仮想デバイスと、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を記憶する接続先情報記憶部と、
前記複数の仮想デバイスの中から、前記接続先情報が示すクライアントコンピュータに対応する仮想デバイスを選択仮想デバイスとして選択する選択部と、
前記入力デバイスからの操作信号を受信し、前記操作信号に応じた信号を前記選択仮想デバイスを介して、前記接続先情報が表すクライアントコンピュータに送信する信号送信部と、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信する更新指令受信部と、
前記更新指令受信部により前記所定の更新指令を受信したときに、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する制御部と
を備える、ネットワーク装置。
【００１６】
適用例５に係るネットワーク装置では、操作者による所定の更新指令が更新指令受信部により受信されたときに、制御部により、接続先情報における入力デバイスとデバイス接続するクライアントコンピュータが、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新され、その接続先情報に基づいて仮想デバイスが切り換えられる。このために、操作者は  クライアントコンピュータでデバイスの取り外しや接続の操作を行うことなく、入力デバイスの接続先を変更することができる。したがって、適用例５に係るネットワーク装置は、接続先のクライアントコンピュータの更新を簡単に行うことができるという効果を奏する。
【００１７】
［適用例６］  複数のクライアントコンピュータを含むネットワークと、
前記ネットワークに接続されるとともに、デバイスを接続するためのインタフェースポートを備えるネットワーク装置と、
前記インタフェースポートに接続され、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスと
を備え、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを、前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続させるネットワークシステムであって、
前記ネットワーク装置は、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を記憶する接続先情報記憶部と、
前記入力デバイスからの操作信号を受信し、前記接続先情報が示すクライアントコンピュータに、前記受信した操作信号に応じた信号を送信する信号送信部と、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信する更新指令受信部と、
前記更新指令受信部により前記所定の更新指令を受信したときに、前記接続先情報が表すクライアントコンピュータに、前記デバイス接続を切断させる切断要求を発行し、前記所定の更新指令に基づいて特定される前記操作信号に応じて動作すべきクライアントコンピュータに、デバイス接続させる接続要求を発行し、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する制御部と
を備える、ネットワークシステム。
【００１８】
［適用例７］  複数のクライアントコンピュータを含むネットワークと、
前記ネットワークに接続されるとともに、デバイスを接続するためのインタフェースポートを備えるネットワーク装置と、
前記インタフェースポートに接続され、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスと
を備え、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを、前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続させるネットワークシステムであって、
前記ネットワーク装置は、
前記複数のクライアントコンピュータのそれぞれに対して、前記入力デバイスをデバイス接続させるデバイス接続部と、
前記複数のクライアントコンピュータのそれぞれに１：１で対応した仮想的な複数の仮想デバイスと、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を記憶する接続先情報記憶部と、
前記複数の仮想デバイスの中から、前記接続先情報が示すクライアントコンピュータに対応する仮想デバイスを選択仮想デバイスとして選択する選択部と、
前記入力デバイスからの操作信号を受信し、前記操作信号に応じた信号を前記選択仮想デバイスを介して、前記接続先情報が表すクライアントコンピュータに送信する信号送信部と、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信する更新指令受信部と、
前記更新指令受信部により前記所定の更新指令を受信したときに、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する制御部と
を備える、ネットワークシステム。
【００１９】
［適用例８］  複数のクライアントコンピュータを含むネットワークに接続されるネットワーク装置であり、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスが前記ネットワーク装置に設けられたインタフェースポートに接続されており、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続するネットワーク装置
における制御方法であって、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を用意し、
前記入力デバイスからの操作信号を受信し、前記接続先情報が示すクライアントコンピュータに、前記受信した操作信号に応じた信号を送信し、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信し、
前記所定の更新指令を受信したときに、前記接続先情報が表すクライアントコンピュータに、前記デバイス接続を切断させる切断要求を発行し、前記所定の更新指令に基づいて特定される前記操作信号に応じて動作すべきクライアントコンピュータに、デバイス接続させる接続要求を発行し、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する、ネットワーク装置の制御方法。
【００２０】
［適用例９］  複数のクライアントコンピュータを含むネットワークに接続されるネットワーク装置であり、操作者により操作され前記クライアントコンピュータを操作するための操作信号を出力する入力デバイスが前記ネットワーク装置に設けられたインタフェースポートに接続されており、前記複数のクライアントコンピュータのうち一部のクライアントコンピュータのみを前記操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続するネットワーク装置
における制御方法であって、
前記複数のクライアントコンピュータのそれぞれに対して、前記入力デバイスをデバイス接続させ、
前記複数のクライアントコンピュータのそれぞれに１：１で対応した仮想的な複数の仮想デバイスを用意し、
前記複数のクライアントコンピュータのうち、前記入力デバイスが出力した操作信号に応じて動作すべきクライアントコンピュータとして前記入力デバイスとデバイス接続されるクライアントコンピュータを示す接続先情報を用意し、
前記複数の仮想デバイスの中から、前記接続先情報が示すクライアントコンピュータに対応する仮想デバイスを選択仮想デバイスとして選択し、
前記入力デバイスからの操作信号を受信し、前記操作信号に応じた信号を前記選択仮想デバイスを介して、前記接続先情報が表すクライアントコンピュータに送信し、
前記操作信号に応じて動作すべきクライアントコンピュータを更新するための操作者による所定の更新指令を受信し、
前記所定の更新指令を受信したときに、前記接続先情報における前記入力デバイスとデバイス接続するクライアントコンピュータを、前記所定の更新指令に基づいて特定されるクライアントコンピュータに更新する、ネットワーク装置の制御方法。
【００２１】
適用例６に係るネットワークシステムおよび適用例８に係るネットワーク装置の制御方法は、適用例１に係るネットワーク装置と同様に、接続先のクライアントコンピュータの更新を簡単に行うことができる。適用例７に係るネットワークシステムおよび適用例９に係るネットワーク装置の制御方法は、適用例５に係るネットワーク装置と同様に、接続先のクライアントコンピュータの更新を簡単に行うことができる。
【００２２】
本発明は、上述したネットワーク装置やネットワークシステム、およびネットワーク装置の制御方法としての構成のほか、前記ネットワーク装置の制御方法の各工程をコンピュータに実行させるためのコンピュータプログラムとしても構成することができる。コンピュータプログラムは、コンピュータが読取可能な記録媒体に記録されていてもよい。記録媒体としては、例えば、磁気ディスクや光ディスク、メモリカード、ハードディスク等の種々の媒体を利用することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１実施例としてのＵＳＢデバイスサーバ６０を備えるネットワークシステム１０００の概略構成を示す説明図である。
【図２】ＵＳＢデバイスサーバ６０の内部構成を示す説明図である。
【図３】接続関係テーブルＴＢＬ１を示す説明図である。
【図４】第１のパーソナルコンピュータ１０の内部構成を示す説明図である。
【図５】デバイスサーバ設定用アプリケーションプログラムにより表示されるダイアログボックスＤＢＸの一例を示す説明図である。
【図６】ＵＳＢデバイスサーバのＣＰＵにより実行される接続先切換ルーチンを示すフローチャートである。
【図７】切り換え後の接続関係テーブルＴＢＬ１を示す説明図である。
【図８】第２実施例のＵＳＢデバイスサーバ３６０の内部構成を示す説明図である。
【図９】第３実施例のＵＳＢデバイスサーバ４６０の内部構成を示す説明図である。
【図１０】ＵＳＢデバイスサーバのＣＰＵにより実行される接続先切換ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態を実施例に基づき説明する。
Ａ．第１実施例：
Ａ−１．ネットワークの全体構成：
図１は、本発明の第１実施例としてのＵＳＢデバイスサーバを備えるネットワークシステムの概略構成を示す説明図である。本実施例のネットワークシステム１０００は、複数（図示では３台）のパーソナルコンピュータ（以下、「ＰＣ」と呼ぶ）１０、２０、３０と、これらＰＣ１０〜３０を、ＬＡＮ（Local Area Network）ケーブル４０を介して接続する集線装置としてのハブ５０とを備える。さらに、ハブ５０には、ＬＡＮケーブル４２を介してＵＳＢデバイスサーバ６０が接続されている。ネットワークシステム１０００では、イーサネット（登録商標）とＴＣＰ／ＩＰを採用する通信ネットワーク１００が構築される。各ＰＣ１０〜３０には、ディスプレイ１２、２２、３２がそれぞれ接続され、さらに、図示しないキーボードやマウス等が必要に応じて接続される。前記ＵＳＢデバイスサーバ６０が、本発明の「ネットワーク装置」を構成する。
【００２５】
ＵＳＢデバイスサーバ６０は、ＬＡＮケーブル４２が接続されるイーサネットポート（図示せず）の他に、複数（図示の例では２つ）のＵＳＢポート６１，６２を有し、各ＵＳＢポート６１，６２にＵＳＢデバイスがそれぞれ接続される。ここでは、ＵＳＢデバイスとして、ＵＳＢキーボード７０とＵＳＢマウス８０とが、ＵＳＢケーブル６４により接続される。なお、ＵＳＢポートの数は、２より大きい他の数とすることもできる。かかる構成により、ＵＳＢキーボード７０とＵＳＢマウス８０とを、複数のＰＣ１０〜３０から共有することができる。ＰＣ１０〜３０にＵＳＢデバイスを直接接続する場合、ＵＳＢケーブルの長さの制限の規制を受けるが、このネットワークシステム１０００によれば、ＬＡＮを介していることから、距離的に遠い位置からＰＣ１０〜３０に対してＵＳＢキーボード７０とＵＳＢマウス８０とを接続することができる。
【００２６】
Ａ−２．ＰＣ１０とＵＳＢデバイスサーバ６０の構成：
複数のＰＣ１０〜３０のうちの第１のＰＣ１０が、ＵＳＢキーボード７０とＵＳＢマウス８０に対してデバイス接続された状態にあるとして、第１のＰＣ１０とＵＳＢデバイスサーバ６０の構成を、次に説明する。ここで、「デバイス接続」とは、ＰＣのシステムから認識可能に接続されることをいう。
【００２７】
・ＵＳＢデバイスサーバ６０
図２はＵＳＢデバイスサーバ６０の内部構成を示す説明図である。ＵＳＢデバイスサーバ６０は、プログラムを実行することにより種々の処理や制御を行うＣＰＵ（図示せず）１１０と、プログラムやデータ・情報を格納するメモリ１５０と、外部に接続される周辺機器との間でデータや情報のやりとりを行う入出力インタフェース部とを備えている。入出力インタフェース部としては、前述したＵＳＢポート１（６１）、ＵＳＢポート２（６２）およびＵＳＢホストコントローラ１６４と、イーサネットポート１７２およびイーサネットコントローラ１７４とを備える。
【００２８】
ＵＳＢデバイスサーバ６０には、種々のファームウェアやデバイスドライバが組み込まれている。これらファームウェアやデバイスドライバは、ＣＰＵ１１０により実行される。ファームウェアやデバイスドライバで実行される各種処理を、図２では、ＣＰＵ１１０の内部で実現される機能のブロックによって示した。
【００２９】
図示するように、ＣＰＵ１１０は、ＵＳＢホストコントローラドライバ１１２、キーボードドライバ１１４、ホットキー入力判定モジュール１１６、仮想キーボードデバイスソフトウェアモジュール１１８、カプセル化モジュール１２０、マウスドライバ１２２、仮想マウスデバイスソフトウェアモジュール１２４、ＴＣＰ／ＩＰプロトコルスタック１３０、イーサネットコントローラドライバ１３２、および接続管理モジュール１４０を機能的に実現する。
【００３０】
操作者によるキー入力がＵＳＢキーボード７０からあると、ＵＳＢホストコントローラ１６４は、そのキー入力を受信し、前記キー入力を示すＵＳＢ信号相当のデータＤ１を、ＵＳＢホストコントローラドライバ１１２を介して、キーボードドライバ１１４に送る。キーボードドライバ１１４は、前記ＵＳＢ信号相当のデータＤ１をキー入力のデータＤ２に変換し、仮想キーボードデバイスソフトウェアモジュール１１８に送る。
【００３１】
なお、キーボードドライバ１１４と仮想キーボードデバイスソフトウェアモジュール１１８との間には、ホットキー入力判定モジュール１１６が設けられており、キーボードドライバ１１４から送られてくるキー入力のデータＤ２が、後述する所定のホットキーの入力であるか否かの判定がなされる。ホットキー入力判定モジュール１１６で、前記ホットキー以外のキー入力データであると判定された場合に、そのホットキー以外のキー入力データＤ２′は仮想キーボードデバイスソフトウェアモジュール１１８に送られる。
【００３２】
仮想キーボードデバイスソフトウェアモジュール１１８は、ＵＳＢデバイスサーバ６０とデバイス接続された関係にあるＰＣ（ここでは第１のＰＣ１０）の仮想的なキーボードとしての働きをするモジュールである。仮想キーボードデバイスソフトウェアモジュール１１８は、ホットキー以外のキー入力データＤ２′に基づくキー入力データを生成し、その生成したキー入力データを、ＵＳＢ信号相当のデータＤ３としてカプセル化モジュール１２０に送る。カプセル化モジュール１２０は、ＵＳＢ信号相当のデータＤ３をＩＰパケットにカプセル化（USB over IP）し、そのカプセル化済のデータＤ４をＴＣＰ／ＩＰプロトコルスタック１３０に送る。
【００３３】
カプセル化モジュール１２０におけるカプセル化の際に、転送先を示すＩＰアドレスの設定が必要となるが、この転送先は、接続管理モジュール１４０から通知を受ける。ＵＳＢデバイスサーバ６０のメモリ１５０に接続関係テーブルＴＢＬ１が予め用意されており、接続管理モジュール１４０は、接続関係テーブルＴＢＬ１から、ＵＳＢキーボード７０とデバイス接続された関係にあるＰＣを検索し、その検索結果をカプセル化モジュール１２０に通知する。
【００３４】
図３は、接続関係テーブルＴＢＬ１を示す説明図である。接続関係テーブルＴＢＬ１は、「ＵＳＢデバイス」と「ＰＣ」と「状態」の３つの項目を備える表形式のデータであり、ＵＳＢキーボード７０に対する各ＰＣ１０、２０、３０の接続状態が示され、ＵＳＢマウス８０に対する各ＰＣ１０、２０、３０の接続状態が示されている。「状態」項目は、デバイス接続の状態にある場合には「接続」、デバイス接続の状態にない場合には「切断」と示される。接続管理モジュール１４０は、この構成の接続関係テーブルＴＢＬ１を検索することで、ＵＳＢキーボード７０とデバイス接続された関係にあるＰＣを求める。なお、この接続関係テーブルＴＢＬ１は特許請求の範囲で言う「接続先情報」に相当し、メモリ１５０は特許請求の範囲で言う「接続先情報記憶部」に相当する。
【００３５】
図２に戻り、ＴＣＰ／ＩＰプロトコルスタック１３０は、カプセル化済のデータＤ４をＴＣＰ／ＩＰパケットＤ５に変換し、イーサネットコントローラドライバ１３２に送る。イーサネットコントローラドライバ１３２は、ＴＣＰ／ＩＰパケットＤ５をイーサネットパケットＤ６に変換し、イーサネットコントローラ１７４に送る。
【００３６】
イーサネットコントローラ１７４は、イーサネットパケットＤ６を、イーサネット信号Ｓ１とし、通信ネットワーク１００に送信する。この結果、デバイス接続中の第１のＰＣ１０に対し、ＵＳＢキーボード７０からのキー入力（操作信号）を示すイーサネット信号Ｓ１が送信される。上記の接続管理モジュール１４０を除くＵＳＢホストコントローラ１６４からキーボードドライバＤ２を経由したイーサネットコントローラ１７４までの各機能の構成が、特許請求の範囲で言う「信号送信部」に相当する。
【００３７】
一方、ＵＳＢマウス８０からの入力は、ＵＳＢポート２（６２）、ＵＳＢホストコントローラ１６４、ＵＳＢホストコントローラドライバ１１２、マウスドライバ１２２、仮想マウスデバイスソフトウェアモジュール１２４、カプセル化モジュール１２０、ＴＣＰ／ＩＰプロトコルスタック１３０、イーサネットコントローラドライバ１３２、イーサネットコントローラ１７４、イーサネットポート１７２を経由して、通信ネットワーク１００に送信される。この結果、デバイス接続中の第１のＰＣ１０に対し、ＵＳＢマウス８０からの入力を示すイーサネット信号が送信される。
【００３８】
・第１のＰＣ１０
図４は第１のＰＣ１０の内部構成を示す説明図である。第１のＰＣ１０は、プログラムを実行することにより種々の処理や制御を行うＣＰＵ（図示せず）２１０と、プログラムやデータ・情報を格納するメモリ２５０と、外部に接続される周辺機器との間でデータや情報のやりとりを行う入出力インタフェース部とを備える。入出力インタフェース部としては、図示するように、イーサネットポート２６０およびイーサネットコントローラ２６２を備える。
【００３９】
第１のＰＣ１０には、アプリケーションプログラムやデバイスドライバ等がインストールされている。これらアプリケーションプログラムやデバイスドライバは、所定のオペレーティングシステム（図示せず）の下でＣＰＵ２１０により実行される。これらアプリケーションプログラムやデバイスドライバ、およびＣＰＵ２１０で実行される各種処理を、図４では、ＣＰＵ２１０の内部で実現される機能のブロックによって示した。
【００４０】
図示するように、ＣＰＵ２１０は、イーサネットコントローラドライバ２１２、ＴＣＰ／ＩＰプロトコルスタック２１４、データ抽出モジュール２１６、仮想ＵＳＢホストコントローラドライバ２１８、ＵＳＢキーボードドライバ２２０、およびＵＳＢマウスドライバ２２２を備える。
【００４１】
ＵＳＢデバイスサーバ６０から通信ネットワーク１００を介して第１のＰＣ１０に送られたイーサネット信号Ｓ１は、イーサネットポート２６０を介してイーサネットコントローラ２６２に入力する。イーサネットコントローラ２６２は、イーサネット信号Ｓ１をイーサネットパケットＤ７に変換し、ＣＰＵ２１０により機能的に実現されるイーサネットコントローラドライバ２１２に送る。
【００４２】
イーサネットコントローラドライバ２１２は、イーサネットパケットＤ７をＴＣＰ／ＩＰパケットＤ８に変換し、ＴＣＰ／ＩＰプロトコルスタック２１４に送る。ＴＣＰ／ＩＰプロトコルスタック２１４は、ＴＣＰ／ＩＰパケットＤ８をカプセル化済のデータＤ９に復元し、データ抽出モジュール２１６に送る。データ抽出モジュール２１６は、カプセル化済のデータＤ９からＵＳＢ信号相当のデータＤ１０を取り出して、仮想ＵＳＢホストコントローラドライバ２１８に送る。仮想ＵＳＢホストコントローラドライバ２１８は、ＯＳ（オペレーティングシステム）標準のＵＳＢキーボードドライバ２２０に送る。
【００４３】
以上の構成で、ＵＳＢキーボード７０からキー入力されたデータのうちの所定のホットキーを除いた一般データが、ＵＳＢデバイスサーバ６０から第１のＰＣ１０に対して送信される。これにより、操作者は、ＵＳＢキーボード７０を操作することで、通信ネットワーク１００により遠くに離れた第１のＰＣ１０を動作させることができる。
【００４４】
なお、ＵＳＢマウス８０からの入力を示すイーサネット信号Ｓ１は、イーサネットポート２６０、イーサネットコントローラ２６２、イーサネットコントローラドライバ２１２、ＴＣＰ／ＩＰプロトコルスタック２１４、データ抽出モジュール２１６を経由した後、仮想ＵＳＢホストコントローラドライバ２１８で分別され、ＯＳ標準のＵＳＢマウスドライバ２２２に送られる。この結果、ＵＳＢキーボード７０と同様に、操作者は、ＵＳＢマウス８０を操作することで、通信ネットワーク１００により遠くに離れた第１のＰＣ１０を動作させることができる。
【００４５】
Ａ−３．接続先の切り換え：
ＵＳＢキーボード７０およびＵＳＢマウス８０のデバイス接続先は、図２の例示では第１のＰＣ１０であったが、他のＰＣ２０、３０へ切り換えることができる。本実施例では、２通りの方法で接続先の切り換えが可能となっている。
【００４６】
・第１の接続先切換方法：
第１の方法は、デバイス接続先である第１のＰＣ１０で下記に示すデバイスの取り外しの操作を行い、その後、切換先のＰＣでデバイス接続の操作を行うというものである。ＵＳＢデバイスサーバ６０を利用したい各ＰＣ１０〜３０では、デバイスサーバ設定用アプリケーションプログラム２３０を予めインストールしておく必要がある。操作者は、デバイスサーバ設定用アプリケーションプログラム２３０を用いることで、前記デバイスの取り外しの操作を行う。
【００４７】
図５は、デバイスサーバ設定用アプリケーションプログラム２３０により表示されるダイアログボックスＤＢＸの一例を示す説明図である。図示するように、ダイアログボックスＤＢＸは、一覧表ＤＬＳＴと、「接続する」の操作ボタンＢＴ１と、「切断する」の操作ボタンＢＴ２とを含む。一覧表ＤＬＳＴは、ＵＳＢデバイスサーバ６０に接続される各ＵＳＢデバイスが１行毎に示される。各行は、「名称」と「種類」と「状態」の項目により示される。「名前」項目はＵＳＢデバイスの名称を、「種類」項目はＵＳＢデバイスの種類を示す。「状態」項目は、ＵＳＢデバイスが、一覧表ＤＬＳＴを表示するＰＣとの間でデバイス接続の状態にあるか否かを示す。デバイス接続の状態にある場合には「接続」、デバイス接続の状態にない場合には「非接続」と示される。
【００４８】
デバイスサーバ設定用アプリケーションプログラム２３０のインストールされた各ＰＣのメモリ２５０には、ＵＳＢデバイスサーバ６０のメモリ１５０に記憶された接続関係テーブルＴＢＬ１と同一内容の接続関係テーブルＴＢＬ２が記憶される。デバイスサーバ設定用アプリケーションプログラム２３０は、この接続関係テーブルＴＢＬ２を用いて、前記一覧表ＤＬＳＴの表示を行う。
【００４９】
第１のＰＣ１０の操作者は、ディスプレイ１２に表示された一覧表ＤＬＳＴを見て、一覧表ＤＬＳＴの中から所望のＵＳＢデバイスが示される行を選択し、その後、「切断する」の操作ボタンＢＴ２をマウスによりクリックすることで、前記選択された行に対応するＵＳＢデバイスを、デバイス接続の状態から切断状態へ切り換えることが可能となる。これが、デバイスの取り外しの操作である。この操作を受けたデバイスサーバ設定用アプリケーションプログラム２３０は、デバイス取り外し指示をＯＳへ発行する。なお、デバイスサーバ設定用アプリケーションプログラム２３０は、ＯＳへの発行と共に、ＵＳＢデバイスサーバ６０に対して切断コマンドを送信する。
【００５０】
切断コマンドを受信したＵＳＢデバイスサーバ６０は、接続管理モジュール１４０を動作させて、メモリ１５０に記憶された接続関係テーブルＴＢＬ１における該当するＵＳＢデバイスの「状態」項目を「切断」に書き換える。接続管理モジュール１４０は、接続関係テーブルＴＢＬ１を更新する毎に、更新前と更新後の差分をネットワーク接続されている全てのＰＣ１０〜３０に対して送信する構成となっており、このため、この差分を受けた各ＰＣ側では、接続管理モジュール２３２により、メモリ２５０に記憶された接続関係テーブルＴＢＬ２を前記差分に基づいて更新する処理が行なわれる。この結果、ＰＣ側の接続関係テーブルＴＢＬ２を、ＵＳＢデバイスサーバ６０に記憶された接続関係テーブルＴＢＬ２と同期させることができる。なお、本実施例では、前述したように差分を送信する構成としたが、これに換えて、接続関係テーブルＴＢＬ１の全体を送信する構成としてもよい。また、接続関係テーブルＴＢＬ１を更新する毎に差分を送信する構成としたが、これに換えて、数秒〜十数秒程度の所定の間隔で繰り返し差分を送信する構成としてもよい。
【００５１】
その後、操作者は、切換先のＰＣ（ここでは、第２のＰＣとする）２０を用いて接続操作を行う。詳しくは、第２のＰＣ２０で、デバイスサーバ設定用アプリケーションプログラム２３０を起動して一覧表ＤＬＳＴの表示を行い、その一覧表ＤＬＳＴから、ＵＳＢキーボード７０およびＵＳＢマウス８０を選択し「接続する」の操作ボタンＢＴ１をクリックする操作を行う。この操作を受けた第２のＰＣ２０におけるデバイスサーバ設定用アプリケーションプログラム２３０は、ＵＳＢデバイスサーバ６０に対して接続コマンドを送信する。
【００５２】
接続コマンドを受信したＵＳＢデバイスサーバ６０は、接続管理モジュール１４０を動作させて、メモリ１５０に記憶された接続関係テーブルＴＢＬ１の該当するＵＳＢデバイスの「状態」項目を「接続」に書き換える。その後、前述したように、接続関係テーブルＴＢＬ１が更新される毎に差分がネットワーク接続されている全てのＰＣ１０〜３０に送信され、各ＰＣにおける接続関係テーブルＴＢＬ２は最新の状態に更新される。以上の構成により、ＵＳＢキーボード７０およびＵＳＢマウス８０のデバイス接続先は、第１のＰＣ１０から第２のＰＣ２０へ切り換わる。
【００５３】
・第２の接続先切換方法：
第２の方法は、ＵＳＢデバイスサーバ６０に接続されたＵＳＢキーボード７０から所定のホットキーを入力するというものである。所定のホットキーは、例えば、［Print Screen］キーを押し、［Print Screen］キーを押し、［↓］キーを押すと言ったものである。ＵＳＢキーボード７０から前記所定のホットキーが入力されると、ホットキー入力判定モジュール１１６で、キー入力データが前記所定のホットキーであるか否かの判定がなされる。ホットキー入力判定モジュール１１６は、所定のホットキーであると判定した場合に、ホットキーの入力があった旨の通知Ｆを接続管理モジュール１４０へ送信する。
【００５４】
図６は、ＵＳＢデバイスサーバ６０のＣＰＵ１１０により実行される接続先切換ルーチンを示すフローチャートである。接続先切換ルーチンは、接続管理モジュール１４０の一部を構成するもので、ＣＰＵ１１０により所定時間毎に繰り返し実行される。図６に示すように、処理が開始されると、ＣＰＵ１１０は、前述した所定のホットキーの入力があった旨の通知Ｆがあるか否かを判定する（ステップＳ１１０）。ここで、所定のホットキーの入力の通知Ｆがあると判定されると、ＣＰＵ１１０は、接続関係テーブルＴＢＬ１を参照して、現在ＵＳＢキーボード７０およびＵＳＢマウス８０とデバイス接続の状態にあるＰＣを特定し、そのＰＣへ取り外しコマンドを送信する（ステップＳ１２０）。この取り外しコマンドが特許請求の範囲で言う「切断要求」に相当する。
【００５５】
取り外しコマンドの送信を受けたＰＣ、例えば第１のＰＣ１０は、接続管理モジュール２３２を機能的に動作させて、ＵＳＢキーボード７０およびＵＳＢマウス８０を取り外すデバイス取り外し指示を、当該ＰＣのＯＳへ発行する。
【００５６】
ステップＳ１２０の実行後、ＵＳＢデバイスサーバ６０のＣＰＵ１１０は、接続関係テーブルＴＢＬ１におけるデバイス接続の接続先を、現在接続されているＰＣから切換先のＰＣへ変更する処理を行う（ステップＳ１３０）。本実施例では、切換先のＰＣは、現在接続されているＰＣに対して順位（予め定めた順位であり、例えば接続順）が次のＰＣ、すなわち、現在接続されているＰＣが第１のＰＣ１０である場合、第２のＰＣ２０とした。順位が最終のＰＣ（第３のＰＣ３０）が現在接続されているＰＣである場合には、順位が最初のＰＣ（第１のＰＣ１０）が接続先のＰＣとなる。ステップＳ１３０の実行前の接続関係テーブルＴＢＬ１が図３に示す状態である場合、ステップＳ１３０を実行することで、接続関係テーブルＴＢＬ１は図７に示す状態に切り換わる。すなわち、図７に示すように、「状態」項目の第１行目および第４行目の各内容が「切断」へ変更され、「状態」項目の第２行目および第５行目の各内容が「接続」へ変更される。
【００５７】
ステップＳ１３０の実行後、「リターン」に抜けて、接続先切換ルーチンを一旦終了する。一方、ステップＳ１１０で、所定のホットキーの入力の通知Ｆがないと判定されると、ＣＰＵ１１０は、「リターン」に抜けて、接続先切換ルーチンを一旦終了する。
【００５８】
図２に示した接続管理モジュール１４０では、前述したように、接続関係テーブルＴＢＬ１を更新する毎に、更新前と更新後の差分をネットワーク接続されている全てのＰＣ１０〜３０に対して送信し、各ＰＣ１０〜３０側の接続関係テーブルＴＢＬ２を、ＵＳＢデバイスサーバ６０側の接続関係テーブルＴＢＬ１と同期させる構成となっていることから、接続先切換ルーチンで接続関係テーブルＴＢＬ１の更新がなされた場合にも、各ＰＣ１０〜３０側の接続関係テーブルＴＢＬ２も同期が図られる。本実施例では、このように接続関係テーブルＴＢＬ１を更新し、更新による差分を各ＰＣ１０〜３０へ送ることが、特許請求の範囲で言う「接続要求」に相当する。以上の構成により、ＵＳＢキーボード７０およびＵＳＢマウス８０のデバイス接続先は、第１のＰＣ１０から第２のＰＣ２０へ切り換わる。
【００５９】
前記構成の接続先切換ルーチンと、この接続先切換ルーチンを実行するＣＰＵ１１０が、特許請求の範囲で言う「制御部」に相当する。
【００６０】
Ａ−４．実施例効果：
以上で説明した第１実施例のＵＳＢデバイスサーバ６０を含むネットワークシステム１０００では、ＵＳＢデバイスサーバ６０に接続されたＵＳＢキーボード７０から所定のホットキーが操作者により入力されたときに、ＵＳＢデバイスサーバ６０により、現在の接続先の第１のＰＣ１０に取り外しコマンドが送信され、接続先が変更された内容に接続関係テーブルＴＢＬ１が更新される。このために、操作者は所定の指令（ホットキー）を発するだけで、接続先である第１のＰＣ１０でデバイスの取り外しの操作が行なわれ、切換先のクライアントコンピュータでデバイスの接続の操作が行なわれる。したがって、ＵＳＢデバイスサーバ６０は、接続先のＰＣの切り換えを簡単に行うことができるという効果を奏する。特に本実施例では、ＵＳＢデバイスサーバ６０の手許にあるＵＳＢキーボード７０から、ホットキーという容易な操作で接続先の切り換えを実現できる。
【００６１】
Ｂ．第２実施例：
本発明の第２実施例について、次に説明する。第１実施例では、ＵＳＢキーボード７０から所定のホットキーの入力があったことを、ＵＳＢデバイスサーバ６０に設けられたホットキー入力判定モジュール１１６により判定する構成としたが、これに換えて、第２実施例では、前記所定のホットキーの入力があったことを現在の接続先のＰＣで判定する構成とした。以下、第２実施例の構成を詳しく説明する。
【００６２】
接続先のＰＣは、第１実施例と同じ構成を備え、さらに、所定のホットキーの入力判定用の常駐ソフトウェアがインストールされている。この常駐ソフトウェアによれば、ＵＳＢキーボード７０からＵＳＢデバイスサーバ６０を経由して送られてきたキー入力のデータの中にホットキーが含まれるか否かを判定し、含まれると判定されたときに、前記所定のホットキーの入力があった旨の通知パケットをＴＣＰ／ＩＰプロトコルスタックを介してＵＳＢデバイスサーバに送る処理を実行する。
【００６３】
図８は、第２実施例のＵＳＢデバイスサーバ３６０の内部構成を示す説明図である。ＵＳＢデバイスサーバ３６０は、第１実施例のＵＳＢデバイスサーバ６０と比較して、ｉ）キーボードドライバ１１４と仮想キーボードデバイスソフトウェアモジュール１１８との間に設けられているホットキー入力判定モジュール１１６（図２参照）が省かれていること、ii）ＴＣＰ／ＩＰプロトコルスタック１３０の出力先にホットキー入力通知判定モジュール３１６が設けられていることが相違し、その他の構成は同一である。ホットキー入力通知判定モジュール３１６は、前述したホットキーの入力がある旨の通知パケットをＴＣＰ／ＩＰプロトコルスタック１３０から受けた場合に、そのホットキーの入力があった旨の通知を接続管理モジュール１４０に送る。
【００６４】
接続管理モジュール１４０は、第１実施例と同一のもので、先に説明した接続先切換ルーチン（図６）を実行する。なお、図８中、第１実施例と同一の構成部分には、第１実施例と同一の符号を付した。
【００６５】
以上で説明した第２実施例のＵＳＢデバイスサーバ３６０を含むネットワークシステムでは、ＵＳＢキーボード７０から所定のホットキーが操作者により入力されたときに、ＵＳＢデバイスサーバ３６０により、接続先のＰＣに取り外しコマンドが送信され、接続先が変更された内容に接続関係テーブルＴＢＬ１が更新される。このために、第１実施例と同様に、接続先のＰＣの切り換えを簡単に行うことができるという効果を奏する。
【００６６】
Ｃ．第３実施例：
本発明の第３実施例について、次に説明する。第１実施例では、仮想キーボードデバイスソフトウェアモジュール１１８と仮想マウスデバイスソフトウェアモジュール１２４とが、ネットワーク接続されている第１ないし第３のＰＣ１０、２０、３０の中から択一的に選択されたＰＣに対してデバイス接続される構成としていたが、これに換えて、第３実施例では、ネットワーク接続されている全てのＰＣ１０、２０、３０に対してデバイス接続される構成とした。
【００６７】
さらに、第１実施例では、仮想キーボードデバイスソフトウェアモジュール１１８および仮想マウスデバイスソフトウェアモジュール１２４のそれぞれを、１つずつ設ける構成としたが、第３実施例では、仮想キーボードデバイスソフトウェアモジュールおよび仮想マウスデバイスソフトウェアモジュールのそれぞれを、通信可能な複数のＰＣの台数分の数だけ設ける構成とした。すなわち、図９に示すように、ＵＳＢデバイスサーバ４６０は、３つの仮想キーボードデバイスソフトウェアモジュール１１８ａ、１１８ｂ、１１８ｃと、３つの仮想マウスデバイスソフトウェアモジュール１２４ａ、１２４ｂ、１２４ｃとを備える。そして、第１ないし第３の仮想キーボードデバイスソフトウェアモジュール１１８ａ、１１８ｂ、１１８ｃは、第１ないし第３のＰＣ１０、２０、３０と１：１で対応している。第１ないし第３の仮想マウスデバイスソフトウェアモジュール１２４ａ、１２４ｂ、１２４ｃは、第１ないし第３のＰＣ１０、２０、３０と１：１で対応している。
【００６８】
上記の構成により、第１の仮想キーボードデバイスソフトウェアモジュール１１８ａおよび第１の仮想マウスデバイスソフトウェアモジュール１２４ａは第１のＰＣ１０に認識され、第２の仮想キーボードデバイスソフトウェアモジュール１１８ｂおよび第２の仮想マウスデバイスソフトウェアモジュール１２４ｂは第２のＰＣ２０に認識され、第３の仮想キーボードデバイスソフトウェアモジュール１１８ｃおよび第３の仮想マウスデバイスソフトウェアモジュール１２４ｃは第３のＰＣ３０に認識されることになる。
【００６９】
各仮想キーボードデバイスソフトウェアモジュール１１８ａ〜１１８ｃ、および各仮想マウスデバイスソフトウェアモジュール１２４ａ〜１２４ｃには、接続管理モジュール４４０から選択指令信号が送られている。なお、接続管理モジュール４４０は、第１実施例と比べて、実行する処理内容が一部相違することから、第１実施例とは違った「４４０」という符号を付した。図９中、第１実施例と同一の構成部分には、第１実施例と同一の符号を付した。
【００７０】
接続管理モジュール４４０は、接続関係テーブルＴＢＬ１の内容を参照し、「状態」の項目が「接続」となっているＰＣを検索し、そのＰＣに対応する仮想キーボードデバイスソフトウェアモジュール１１８ａ、１１８ｂ、１１８ｃに対して選択指令信号を送信する。同様に、接続管理モジュール４４０は、接続関係テーブルＴＢＬ１の内容を参照し、「状態」の項目が「接続」となっているＰＣを検索し、そのＰＣに対応する仮想マウスデバイスソフトウェアモジュールに対して選択指令信号を送信する。
【００７１】
選択指令信号を受信した仮想キーボードデバイスソフトウェアモジュール（例えば１１８ａ）は、第１実施例における仮想キーボードデバイスソフトウェアモジュール１１８と同一の処理を実行することで、ＵＳＢ信号相当のデータＤ３をカプセル化モジュール１２０に送信する。選択指令信号を受信していないモジュール（例えば１１８ｂ、１１８ｃ）は、処理を行うことなくＵＳＢ信号相当のデータＤ３を出力しない。仮想マウスデバイスソフトウェアモジュール側についても同様である。
【００７２】
図１０は、ＵＳＢデバイスサーバ４６０のＣＰＵ１１０により実行される接続先切換ルーチンを示すフローチャートである。接続先切換ルーチンは、接続管理モジュール４４０の一部を構成するもので、ＣＰＵ１１０により所定時間毎に繰り返し実行される。図中のステップＳ３１０およびＳ３３０の処理は、第１実施例における接続先切換ルーチン（図６）におけるステップＳ１１０およびＳ１３０と同一である。第１実施例では、デバイス接続の状態にあるＰＣへ取り外しコマンドを送信する必要があったが、これに対して、本実施例では、前述したようにネットワーク接続されている全てのＰＣに対してデバイス接続する構成であることから、ＰＣへの取り外しコマンドの送信は不要である。
【００７３】
以上のように構成した第３実施例のＵＳＢデバイスサーバ４６０では、接続関係テーブルＴＢＬ１で接続先のＰＣを定め、ホットキーが入力されたときには、接続関係テーブルＴＢＬ１で接続先と定められたＰＣに対応する仮想キーボードデバイスソフトウェアモジュール１１８ａ〜１１８ｃおよび各仮想マウスデバイスソフトウェアモジュール１２４ａ〜１２４ｃをそれぞれ択一的に選択してデータの出力を行う。このために、操作者は  ＰＣでデバイスの取り外しや接続の操作を行うことなく、ＵＳＢキーボード７０およびＵＳＢマウス８０の接続先を変更することができる。このために、第１実施例と同様に、接続先のＰＣの切り換えを簡単に行うことができるという効果を奏する。
【００７４】
Ｄ．変形例：
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよい。また、そのほか、以下のような変形が可能である。
【００７５】
・変形例１：
前記第１ないし第３実施例および各変形例では、ＵＳＢキーボード７０とＵＳＢマウス８０とを組として、この組の接続先を切り換える構成としたが、これに換えて、ＵＳＢキーボード７０の接続先だけを切り換える構成とすることもできる。また、ＵＳＢマウス８０の接続先だけを切り換える構成としてもよい。
【００７６】
・変形例２：
前記第１ないし第３実施例および各変形例では、切り換えのための所定の更新指令をホットキーとしたが、これに換えて、キーボードに設けた切り換え用のスイッチとしてもよい。さらに、必ずしもキーボードに設ける必要はなく、ＵＳＢマウス等の他のＵＳＢデバイスに切り換え用のスイッチを設ける構成としてもよい。さらに、ＵＳＢデバイスサーバに切り換え用のスイッチを設ける構成としてもよい。
【００７７】
・変形例３：
前記第１ないし第３実施例および各変形例では、ホットキーを押したときに、現在接続されているＰＣに対して順位が次のＰＣに接続先を切り替える構成としたが、これに換えて、現在接続されているＰＣに対して順位が１つ前のＰＣに接続先を切り替える構成としてもよい。要はいずれのＰＣであってもよく、予め決められた規則によって特定されるものであればよい。また、ホットキーを、［Print Screen］、［Print Screen］、［↓］の各キーを順に押すものと、［Print Screen］、［Print Screen］、［↑］の各キーを順に押すものの２種類として、前者が操作された場合に次のＰＣに、後者が操作された場合に１つ前のＰＣに切り替える構成としてもよい。さらには、特定のホットキーが操作されたときには、現在接続されているコンピュータに対して再接続を行う構成としてもよい。すなわち、ホットキーからの更新指令に基づいて特定される動作すべきコンピュータを、現在接続中のコンピュータと同じコンピュータとして、同一のコンピュータへの再接続を行う構成としてもよい。
【００７８】
・変形例４：
前記第１ないし第３実施例および各変形例では、ＵＳＢデバイスサーバにＵＳＢ接続されるＵＳＢデバイスの１つとして、ＵＳＢマウスを備える構成としたが、このＵＳＢマウスは、トラックパッド、トラックボール等の他のＵＳＢポインティングデバイスに換えることができる。また、ＵＳＢキーボードは、タッチパネル等の他のＵＳＢ入力デバイスに換えることができる。
【００７９】
・変形例５：
前記第１ないし第３実施例および各変形例では、本発明のネットワーク装置をＵＳＢデバイスサーバに適用しているが、これに換えて、ＵＳＢ以外のインタフェースポートを備えるデバイスサーバに適用する構成としてもよい。ＵＳＢ以外のインタフェースポートとして、例えば、ＩＥＥＥ１３９４（アイトリプルイーイチサンキューヨン）、ＳＡＴＡ、ＰＣＩ、ＰＣＩ  Ｅｘｐｒｅｓｓ、Ｌｉｇｈｔ  ｐｅａｋ等が該当する。さらに、デバイスサーバに限る必要もなく、複数のクライアントコンピュータを含むネットワークに接続するためのネットワークインタフェースと、入力デバイスを接続するためのインタフェースポートとを備えるネットワーク装置であれば、有線／無線ルータや、ＮＡＳ、ＩＰ−ＳＴＢ等の他のネットワーク装置に本発明の構成を適用することもできる。
【００８０】
・変形例６：
前記第１ないし第３実施例および各変形例では、前記実施例では、ＬＡＮは、有線によって構築されたものであるが、これに換えて無線ＬＡＮにて構成されたネットワークとすることもできる。無線ＬＡＮの場合、図４において２１２は無線ＬＡＮドライバ、２６２は無線ＬＡＮコントローラ相当、６０は無線ＬＡＮフロントエンド部に換え、ハブ５０は無線ＬＡＮアクセスポイントに換えることで実現することができる。また、ＬＡＮは、イーサネットとＴＣＰ／ＩＰを採用する構成としたが、これに換えて他の規格を採用したネットワークとすることもできる。
【符号の説明】
【００８１】
１０、２０、３０…パーソナルコンピュータ（ＰＣ）
１２、２２、３２…ディスプレイ
４０、４２…ケーブル
５０…ハブ
６０…ＵＳＢデバイスサーバ
７０…ＵＳＢキーボード
８０…ＵＳＢマウス
１００…通信ネットワーク
１１０…ＣＰＵ
１１４…キーボードドライバ
１１６…ホットキー入力判定モジュール
１１８…仮想キーボードデバイスソフトウェアモジュール
１１８ａ、１１８ｂ、１１８ｃ…仮想キーボードデバイスソフトウェアモジュール
１２０…カプセル化モジュール
１２２…マウスドライバ
１２４…仮想マウスデバイスソフトウェアモジュール
１２４ａ、１２４ｂ、１２４ｃ…仮想マウスデバイスソフトウェアモジュール
１３２…イーサネットコントローラドライバ
１４０…接続管理モジュール
１５０…メモリ
１７２…イーサネットポート
１７４…イーサネットコントローラ
２１０…ＣＰＵ
２１２…イーサネットコントローラドライバ
２１６…データ抽出モジュール
２３０…デバイスサーバ設定用アプリケーションプログラム
２３２…接続管理モジュール
２５０…メモリ
２６０…イーサネットポート
２６２…イーサネットコントローラ
３１６…ホットキー入力通知判定モジュール
４４０…接続管理モジュール
１０００…ネットワークシステム
ＴＢＬ１…接続関係テーブル
ＤＬＳＴ…一覧表
ＴＢＬ２…接続関係テーブル
ＤＢＸ…ダイアログボックス
【図１】
2012113565.tif 000003
【図２】
2012113565.tif 000004
【図３】
2012113565.tif 000005
【図４】
2012113565.tif 000006
【図５】
2012113565.tif 000007
【図６】
2012113565.tif 000008
【図７】
2012113565.tif 000009
【図８】
2012113565.tif 000010
【図９】
2012113565.tif 000011
【図１０】
2012113565.tif 000012