(57)【要約】【課題】複数のクライアント装置からの複数のデータをデバイス装置に送信する際の利便性を高めることができるデバイスサーバを提供する。【解決手段】デバイスサーバ１２は、複数のクライアント装置４，６，８からの接続要求及び切断要求を受け付ける受付部２１と、複数のクライアント装置４，６，８の各々の通信に関する通信情報を記憶する記憶部２４と、複数のクライアント装置４，６，８からそれぞれ送信された、ＵＳＢストレージデバイス１０に送信するための複数のデータを受信するネットワークインタフェース１８と、通信情報に基づいて、複数のデータのＵＳＢストレージデバイス１０への送信順序を決定する制御部２６と、決定された送信順序に従って、複数のデータをＵＳＢストレージデバイス１０に送信するＵＳＢインタフェース２０とを備える。【選択図】図２
2020004208.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント装置とネットワークを介して接続され、且つ、デバイス装置とローカル接続されるデバイスサーバであって、
前記複数のクライアント装置からの接続要求及び切断要求を受け付ける受付部と、
前記複数のクライアント装置の各々の通信に関する通信情報を記憶する記憶部と、
前記複数のクライアント装置からそれぞれ送信された、前記デバイス装置に送信するための複数のデータを受信する受信部と、
前記通信情報に基づいて、前記複数のデータの前記デバイス装置への送信順序を決定する制御部と、
決定された前記送信順序に従って、前記複数のデータを前記デバイス装置に送信する送信部と、を備える
デバイスサーバ。
【請求項２】
前記通信情報は、前記複数のクライアント装置の各々のネットワークアドレスを示すアドレス情報を含み、
前記受付部は、前記接続要求の後に前記クライアント装置と前記デバイス装置との前記デバイスサーバを介した接続が確立された際には、当該クライアント装置のネットワークアドレスを前記アドレス情報に追加し、前記切断要求の後に前記クライアント装置と前記デバイス装置との前記デバイスサーバを介した接続が切断された際には、当該クライアント装置の前記ネットワークアドレスを前記アドレス情報から削除する
請求項１に記載のデバイスサーバ。
【請求項３】
前記通信情報は、前記複数のデータの各々のデータサイズを示すデータサイズ情報を含み、
前記制御部は、前記データサイズ情報に基づいて、データサイズの小さい順に前記複数のデータの前記送信順序を決定する
請求項１又は２に記載のデバイスサーバ。
【請求項４】
前記通信情報は、前記複数のデータの各々の送信レートを示す送信レート情報を含み、
前記制御部は、前記送信レート情報に基づいて、送信レートの大きい順に前記複数のデータの前記送信順序を決定する
請求項１又は２に記載のデバイスサーバ。
【請求項５】
前記通信情報は、前記複数のデータの各々の優先度を示す優先度情報を含み、
前記制御部は、前記優先度情報に基づいて、優先度の高い順に前記複数のデータの前記送信順序を決定する
請求項１又は２に記載のデバイスサーバ。
【請求項６】
複数のクライアント装置とネットワークを介して接続され、且つ、デバイス装置とローカル接続されるデバイスサーバの制御方法であって、
前記複数のクライアント装置からの接続要求を受け付けるステップと、
前記複数のクライアント装置の各々の通信に関する通信情報を前記デバイスサーバの記憶部に記憶させるステップと、
前記複数のクライアント装置からそれぞれ送信された、前記デバイス装置に送信するための複数のデータを受信するステップと、
前記通信情報に基づいて、前記複数のデータの前記デバイス装置への送信順序を決定するステップと、
決定された前記送信順序に従って、前記複数のデータを前記デバイス装置に送信するステップと、を含む
デバイスサーバの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスサーバ及びデバイスサーバの制御方法に関する。
【背景技術】
【０００２】
複数のクライアント装置が１つのデバイス装置を共有して利用するためのデバイスサーバが知られている（例えば、特許文献１参照）。複数のクライアント装置の各々は例えばパーソナルコンピュータ等であり、デバイス装置は例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）デバイス等である。デバイスサーバには、複数のクライアント装置がネットワークを介して接続されるとともに、デバイス装置が例えばＵＳＢケーブル等を介してローカル接続される。
【０００３】
上述したデバイスサーバを用いることにより、ユーザは、デバイス装置があたかもクライアント装置に直接ローカル接続されているかのように、クライアント装置からデバイス装置を利用することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１６２１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のデバイスサーバでは、複数のクライアント装置のうち１つのクライアント装置とデバイス装置とのデバイスサーバを介した接続が確立された際には、当該接続が切断されるまでの間、他のクライアント装置は、デバイス装置とのデバイスサーバを介した接続を確立することができない。そのため、常に１つのクライアント装置からしか、デバイスサーバにローカル接続されたデバイス装置を利用することができない。これは、デバイスサーバシステムにおいて、１つのクライアント装置がデバイスサーバにローカル接続されたデバイス装置を専有するポリシーに則り構築されていたためである。
【０００６】
そこで、近年、複数のクライアント装置の各々から、デバイスサーバにローカル接続されたデバイス装置を同時に利用したいという要望がある。具体的には、例えばデバイス装置がＵＳＢストレージデバイスである場合に、複数のクライアント装置からそれぞれ送信された複数のデータをＵＳＢストレージデバイスに記憶させたいという要望がある。
【０００７】
しかしながら、デバイスサーバが複数のクライアント装置からの複数のデータを闇雲にＵＳＢストレージデバイスに送信した場合には、例えば各クライアント装置においてデータの送信完了までの待機時間が長くなってしまうなど、利便性が低下するおそれが生じる。
【０００８】
本発明は、このような課題に鑑みてなされたものであり、その目的は、複数のクライアント装置からの複数のデータをデバイス装置に送信する際の利便性を高めることができるデバイスサーバ及びデバイスサーバの制御方法を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の一態様に係るデバイスサーバは、複数のクライアント装置とネットワークを介して接続され、且つ、デバイス装置とローカル接続されるデバイスサーバであって、前記複数のクライアント装置からの接続要求及び切断要求を受け付ける受付部と、前記複数のクライアント装置の各々の通信に関する通信情報を記憶する記憶部と、前記複数のクライアント装置からそれぞれ送信された、前記デバイス装置に送信するための複数のデータを受信する受信部と、前記通信情報に基づいて、前記複数のデータの前記デバイス装置への送信順序を決定する制御部と、決定された前記送信順序に従って、前記複数のデータを前記デバイス装置に送信する送信部と、を備える。
【００１０】
本態様によれば、送信部は、通信情報に基づいて決定された送信順序に従って、複数のデータをデバイス装置に送信する。これにより、例えば各クライアント装置においてデータの送信完了までの待機時間が短くなるように、複数のデータをデバイス装置に順次送信することができる。その結果、複数のクライアント装置からの複数のデータをデバイス装置に送信する際の利便性を高めることができる。
【００１１】
例えば、前記通信情報は、前記複数のクライアント装置の各々のネットワークアドレスを示すアドレス情報を含み、前記受付部は、前記接続要求の後に前記クライアント装置と前記デバイス装置との前記デバイスサーバを介した接続が確立された際には、当該クライアント装置のネットワークアドレスを前記アドレス情報に追加し、前記切断要求の後に前記クライアント装置と前記デバイス装置との前記デバイスサーバを介した接続が切断された際には、当該クライアント装置の前記ネットワークアドレスを前記アドレス情報から削除するように構成してもよい。
【００１２】
本態様によれば、クライアント装置とデバイス装置とのデバイスサーバを介した接続状況に応じて、通信情報を適宜更新することができる。
【００１３】
例えば、前記通信情報は、前記複数のデータの各々のデータサイズを示すデータサイズ情報を含み、前記制御部は、前記データサイズ情報に基づいて、データサイズの小さい順に前記複数のデータの前記送信順序を決定するように構成してもよい。
【００１４】
本態様によれば、制御部は、データサイズの小さい順に複数のデータの送信順序を決定するので、例えば各クライアント装置においてデータの送信完了までの待機時間が短くなるように、複数のデータをデバイス装置に順次送信することができる。
【００１５】
例えば、前記通信情報は、前記複数のデータの各々の送信レートを示す送信レート情報を含み、前記制御部は、前記送信レート情報に基づいて、送信レートの大きい順に前記複数のデータの前記送信順序を決定するように構成してもよい。
【００１６】
本態様によれば、制御部は、送信レートの大きい順に複数のデータの送信順序を決定するので、例えば各クライアント装置においてデータの送信完了までの待機時間が短くなるように、複数のデータをデバイス装置に順次送信することができる。
【００１７】
例えば、前記通信情報は、前記複数のデータの各々の優先度を示す優先度情報を含み、前記制御部は、前記優先度情報に基づいて、優先度の高い順に前記複数のデータの前記送信順序を決定するように構成してもよい。
【００１８】
本態様によれば、制御部は、優先度の高い順に複数のデータの送信順序を決定するので、例えば複数のデータのうち重要なデータから優先的にデバイス装置に順次送信することができる。
【００１９】
また、本発明の一態様に係るデバイスサーバの制御方法は、複数のクライアント装置とネットワークを介して接続され、且つ、デバイス装置とローカル接続されるデバイスサーバの制御方法であって、前記複数のクライアント装置からの接続要求を受け付けるステップと、前記複数のクライアント装置の各々の通信に関する通信情報を前記デバイスサーバの記憶部に記憶させるステップと、前記複数のクライアント装置からそれぞれ送信された、前記デバイス装置に送信するための複数のデータを受信するステップと、前記通信情報に基づいて、前記複数のデータの前記デバイス装置への送信順序を決定するステップと、決定された前記送信順序に従って、前記複数のデータを前記デバイス装置に送信するステップと、を含む。
【００２０】
本態様によれば、通信情報に基づいて決定された送信順序に従って、複数のデータをデバイス装置に送信する。これにより、例えば各クライアント装置においてデータの送信完了までの待機時間が短くなるように、複数のデータをデバイス装置に順次送信することができる。その結果、複数のクライアント装置からの複数のデータをデバイス装置に送信する際の利便性を高めることができる。
【発明の効果】
【００２１】
本発明の一態様に係るデバイスサーバ等によれば、複数のクライアント装置からの複数のデータをデバイス装置に送信する際の利便性を高めることができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態に係るデバイスサーバシステムの概要を示す図である。
【図２】実施の形態に係るデバイスサーバの機能構成を示すブロック図である。
【図３】実施の形態に係る管理リストの一例を示す図である。
【図４】実施の形態に係るデバイスサーバシステムにおける接続処理を示すシーケンス図である。
【図５】複数のクライアント装置の各ディスプレイに表示される接続画面の一例を示す図である。
【図６】実施の形態に係るデバイスサーバシステムにおけるデータ送信処理を示すシーケンス図である。
【図７】実施の形態に係るデバイスサーバシステムにおける切断処理を示すシーケンス図である。
【図８】複数のクライアント装置の各ディスプレイに表示される切断画面の一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００２４】
（実施の形態）
［１．デバイスサーバシステムの概要］
まず、図１を参照しながら、実施の形態に係るデバイスサーバシステム２の概要について説明する。図１は、実施の形態に係るデバイスサーバシステム２の概要を示す図である。
【００２５】
図１に示すように、デバイスサーバシステム２は、複数のクライアント装置４，６，８と、ＵＳＢストレージデバイス１０（デバイス装置の一例）と、デバイスサーバ１２とを備えている。
【００２６】
複数のクライアント装置４，６，８の各々は、ユーザにより操作される端末装置であり、例えばパーソナルコンピュータである。図示しないが、複数のクライアント装置４，６，８の各々は、例えばプロセッサ、メモリ、ディスプレイ及び入力デバイス等を有している。なお、以下の説明において、複数のクライアント装置４，６，８をそれぞれ「ＰＣ１」、「ＰＣ２」及び「ＰＣ３」と呼ぶことがある。
【００２７】
ＵＳＢストレージデバイス１０は、データを記憶するためのＵＳＢデバイスである。なお、ＵＳＢデバイスは、ＵＳＢ規格に準拠し且つＵＳＢバスパワーにより電源供給を受けて駆動してもよいし、ＡＣ電源アダプタ等により電力供給されるデバイスであってもよい。
【００２８】
デバイスサーバ１２は、複数のクライアント装置４，６，８の各々がＵＳＢストレージデバイス１０を共有して利用できるようにするための装置である。デバイスサーバ１２は、ネットワーク１４を介して複数のクライアント装置４，６，８の各々と接続されている。ネットワーク１４は、例えば有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で構築された有線ネットワークであってもよいし、ＩＥＥＥ８０２．１１規格に準拠した無線ネットワークであってもよい。また、デバイスサーバ１２は、ＵＳＢケーブル１６を介してＵＳＢストレージデバイス１０とローカル接続されている。なお、本実施の形態では、デバイスサーバ１２とＵＳＢストレージデバイス１０とが有線ケーブルにより接続される例で説明するが、デバイスサーバ１２とＵＳＢストレージデバイス１０とが無線通信により接続されてもよい。
【００２９】
上述したデバイスサーバシステム２において、複数のクライアント装置４，６，８の各ユーザはそれぞれ、複数のクライアント装置４，６，８の各々にインストールされたアプリケーションを用いてデバイスサーバ１２に指示することにより、デバイスサーバ１２にローカル接続されているＵＳＢストレージデバイス１０をネットワーク１４越しに同時に利用することができる。
【００３０】
なお、本実施の形態では、３つのクライアント装置４，６，８がネットワーク１４を介してデバイスサーバ１２に接続されているが、これに限定されず、２つ又は４つ以上のクライアント装置がネットワーク１４を介してデバイスサーバ１２に接続されていてもよい。また、本実施の形態では、１つのＵＳＢストレージデバイス１０がデバイスサーバ１２にローカル接続されているが、これに限定されず、複数のＵＳＢデバイスがデバイスサーバ１２にローカル接続されていてもよい。
【００３１】
［２．デバイスサーバの機能構成］
次に、図２及び図３を参照しながら、実施の形態に係るデバイスサーバ１２の機能構成について説明する。図２は、実施の形態に係るデバイスサーバ１２の機能構成を示すブロック図である。図３は、実施の形態に係る管理リスト２７の一例を示す図である。
【００３２】
図２に示すように、デバイスサーバ１２は、機能構成として、ネットワークインタフェース１８と、ＵＳＢインタフェース２０と、受付部２１と、データ変換部２２と、記憶部２４と、制御部２６とを備えている。
【００３３】
ネットワークインタフェース１８は、デバイスサーバ１２をネットワーク１４に接続するための通信インタフェースである。具体的には、ネットワークインタフェース１８は、例えばＩＥＥＥ８０２．３規格に準拠した有線通信インタフェース、及び／又は、ＩＥＥＥ８０２．１１規格に準拠した無線通信インタフェースである。ネットワークインタフェース１８は、ネットワーク１４を介して、複数のクライアント装置４，６，８の各々との間でデータ（ネットワークパケット）を送受信する。なお、本実施の形態では、ネットワークインタフェース１８が受信部を構成する一例として説明する。
【００３４】
ＵＳＢインタフェース２０は、デバイスサーバ１２をＵＳＢストレージデバイス１０に接続するための通信インタフェースである。ＵＳＢインタフェース２０は、ＵＳＢストレージデバイス１０との間でデータを送受信する。なお、本実施の形態では、ＵＳＢインタフェース２０が送信部を構成する一例として説明する。
【００３５】
受付部２１は、複数のクライアント装置４，６，８の各ユーザがそれぞれ、複数のクライアント装置４，６，８の各々にインストールされたアプリケーションを用いてデバイスサーバ１２に接続又は切断を指示する場合に、これらの指示を受け付ける。すなわち、受付部２１は、複数のクライアント装置４，６，８からの接続要求及び切断要求を受け付け、その内容（例えば、接続要求のあるクライアント装置のアドレス情報）を記憶部２４に伝える。記憶部２４は、受付部２１からの内容を管理リスト２７（後述する）として格納する。このように、受付部２１は、複数のクライアント装置４，６，８の各々にインストールされたアプリケーションとの間で通信セッションの確立（接続処理）又は解消（切断処理）を担う。また、受付部２１は、複数のクライアント装置４，６，８とＵＳＢストレージデバイス１０との接続状況に応じて、記憶部２４に記憶された管理リスト２７を更新する。
【００３６】
データ変換部２２は、ネットワークインタフェース１８により受信されたデータ（ネットワークパケット）を、ＵＳＢストレージデバイス１０との間で通信可能なデータに変換（デカプセル化）する。また、データ変換部２２は、ＵＳＢインタフェース２０により受信されたデータを、ネットワーク１４上で通信可能なデータ（ネットワークパケット）に変換（カプセル化）する。
【００３７】
記憶部２４は、管理リスト２７を記憶するためのメモリである。管理リスト２７は、例えば図３に示すようなデータテーブルである。図３に示す管理リスト２７には、デバイスサーバ１２に接続されている複数のクライアント装置４，６，８の各々の通信に関する通信情報が格納されている。
【００３８】
図３に示す例では、管理リスト２７の１行目には、クライアント装置４（ＰＣ１）の通信に関する通信情報として、ａ）クライアント装置４のネットワークアドレスであるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを示すアドレス情報「ｘｘ．ｘｘ．ｘｘ．ｘｘ」、ｂ）クライアント装置４におけるデータ送信のステータスを示すステータス情報「送信待機中」、及び、ｃ）送信対象のデータのデータサイズを示すデータサイズ情報「１０ＭＢ」が格納されている。
【００３９】
また、管理リスト２７の２行目には、クライアント装置６（ＰＣ２）の通信に関する通信情報として、ａ）クライアント装置６のＩＰアドレスを示すアドレス情報「ｙｙ．ｙｙ．ｙｙ．ｙｙ」、ｂ）クライアント装置６におけるデータ送信のステータスを示すステータス情報「送信待機中」、及び、ｃ）送信対象のデータのデータサイズを示すデータサイズ情報「５０ＭＢ」が格納されている。
【００４０】
さらに、管理リスト２７の３行目には、クライアント装置８（ＰＣ３）の通信に関する通信情報として、ａ）クライアント装置８のＩＰアドレスを示すアドレス情報「ｚｚ．ｚｚ．ｚｚ．ｚｚ」、ｂ）クライアント装置８におけるデータ送信のステータスを示すステータス情報「送信待機中」、及び、ｃ）送信対象のデータのデータサイズを示すデータサイズ情報「１００ＭＢ」が格納されている。
【００４１】
なお、本実施の形態では、アドレス情報がクライアント装置４，６，８の各ＩＰアドレスである場合について説明したが、これに限定されず、例えばクライアント装置４，６，８の各ネットワークアドレスであるＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスであってもよい。
【００４２】
ここで、記憶部２４は、複数のクライアント装置４，６，８の各ユーザがアプリケーションを用いてＵＳＢストレージデバイス１０に対して接続要求を行うことを契機に、管理リスト２７の作成を開始する。一方、記憶部２４は、複数のクライアント装置４，６，８の各ユーザがＵＳＢストレージデバイス１０に対して切断要求を行うことを契機に、管理リスト２７から切断要求を指示したクライアント装置４，６，８の通信情報を削除する。
【００４３】
図２に戻って、制御部２６は、複数のクライアント装置４，６，８からそれぞれＵＳＢストレージデバイス１０に対して複数のデータが送信された際に、記憶部２４に記憶された管理リスト２７に基づいて、複数のデータのＵＳＢストレージデバイス１０への送信順序を決定する。具体的には、制御部２６は、データサイズの小さい順に、複数のデータのＵＳＢストレージデバイス１０への送信順序を決定する。制御部２６の具体的な処理については、後で詳述する。
【００４４】
［３．デバイスサーバシステムの動作］
次に、図４〜図８を参照しながら、実施の形態に係るデバイスサーバシステム２の動作について説明する。
【００４５】
［３−１．接続処理］
まず、図４及び図５を参照しながら、実施の形態に係るデバイスサーバシステム２における接続処理について説明する。図４は、実施の形態に係るデバイスサーバシステム２における接続処理を示すシーケンス図である。図５は、複数のクライアント装置４，６，８の各ディスプレイに表示される接続画面２８の一例を示す図である。
【００４６】
以下、複数のクライアント装置４，６，８の各ユーザがそれぞれ、複数のクライアント装置４，６，８とＵＳＢストレージデバイス１０とをデバイスサーバ１２を介して接続する場合について説明する。なお、複数のクライアント装置４，６，８がＵＳＢストレージデバイス１０に接続されていない状態では、管理リスト２７には、複数のクライアント装置４，６，８の各々の通信に関する通信情報は格納されていない。
【００４７】
初めに、クライアント装置４のユーザは、クライアント装置４にインストールされているアプリケーションを起動し、図５に示す接続画面２８をクライアント装置４のディスプレイに表示させる。接続画面２８は、クライアント装置４を、デバイスサーバ１２を介してＵＳＢストレージデバイス１０に接続する操作を行うためのグラフィカルユーザインタフェースである。接続画面２８は、クライアント装置４を、デバイスサーバ１２を介してＵＳＢストレージデバイス１０に接続するか否かを指示するためのボタンであるウィジェット３０を含む。なお、図５における「機種名：ＳＸ−ＸＸＸ」の表示は、デバイスサーバ１２に接続されているＵＳＢストレージデバイス１０の機種名である。
【００４８】
クライアント装置４のユーザが接続画面２８でウィジェット３０の「はい」ボタンをクリックした場合に、図４に示すように、クライアント装置４は、接続要求コマンドをデバイスサーバ１２に送信する（Ｓ１０１）。
【００４９】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置４からの接続要求コマンドを受信する。デバイスサーバ１２の受付部２１は、受信した接続要求コマンドに基づいて、クライアント装置４とＵＳＢストレージデバイス１０とのデバイスサーバ１２を介した接続を確立するための接続処理を実行し（Ｓ１０２）、記憶部２４に記憶されている管理リスト２７にクライアント装置４の通信情報を追加する（Ｓ１０３）。
【００５０】
なお、この時、図３に示す管理リスト２７の１行目には、クライアント装置４の通信情報として、アドレス情報「ｘｘ．ｘｘ．ｘｘ．ｘｘ」及びステータス情報「未送信」のみが格納され、データサイズ情報は格納されない。
【００５１】
その後、上述と同様に、クライアント装置６のユーザは、クライアント装置６にインストールされているアプリケーションを起動し、図５に示す接続画面２８でウィジェット３０の「はい」ボタンをクリックする。これにより、図４に示すように、クライアント装置６は、接続要求コマンドをデバイスサーバ１２に送信する（Ｓ１０４）。
【００５２】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置６からの接続要求コマンドを受信する。デバイスサーバ１２の受付部２１は、受信した接続要求コマンドに基づいて、クライアント装置６とＵＳＢストレージデバイス１０とのデバイスサーバ１２を介した接続を確立するための接続処理を実行し（Ｓ１０５）、記憶部２４に記憶されている管理リスト２７にクライアント装置６の通信情報を追加する（Ｓ１０６）。
【００５３】
なお、この時、図３に示す管理リスト２７の２行目には、クライアント装置６の通信情報として、アドレス情報「ｙｙ．ｙｙ．ｙｙ．ｙｙ」及びステータス情報「未送信」のみが格納され、データサイズ情報は格納されない。
【００５４】
その後、上述と同様に、クライアント装置８のユーザは、クライアント装置８にインストールされているアプリケーションを起動し、図５に示す接続画面２８でウィジェット３０の「はい」ボタンをクリックする。これにより、図４に示すように、クライアント装置８は、接続要求コマンドをデバイスサーバ１２に送信する（Ｓ１０７）。
【００５５】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置８からの接続要求コマンドを受信する。デバイスサーバ１２の受付部２１は、受信した接続要求コマンドに基づいて、クライアント装置８とＵＳＢストレージデバイス１０とのデバイスサーバ１２を介した接続を確立するための接続処理を実行し（Ｓ１０８）、記憶部２４に記憶されている管理リスト２７にクライアント装置８の通信情報を追加する（Ｓ１０９）。
【００５６】
なお、この時、図３に示す管理リスト２７の３行目には、クライアント装置８の通信情報として、アドレス情報「ｚｚ．ｚｚ．ｚｚ．ｚｚ」及びステータス情報「未送信」のみが格納され、データサイズ情報は格納されない。
【００５７】
以上のようにして、複数のクライアント装置４，６，８の各々は、デバイスサーバ１２を介してＵＳＢストレージデバイス１０に接続される。すなわち、従来のデバイスサーバは、複数のクライアント装置４，６，８のうち１台のクライアント装置からの接続要求しか受け付けなかったが、本実施の形態のデバイスサーバ１２では、複数のクライアント装置４，６，８からの接続要求を一旦、デバイスサーバ１２が受け付けるのである。これにより、複数のクライアント装置４，６，８の各ユーザはそれぞれ、複数のクライアント装置４，６，８を操作することにより、ＵＳＢストレージデバイス１０をネットワーク１４越しに同時に利用することができる。
【００５８】
［３−２．データ送信処理］
次に、図６を参照しながら、実施の形態に係るデバイスサーバシステム２におけるデータ送信処理について説明する。図６は、実施の形態に係るデバイスサーバシステム２におけるデータ送信処理を示すシーケンス図である。
【００５９】
以下、複数のクライアント装置４，６，８の各ユーザがそれぞれ、複数のクライアント装置４，６，８からＵＳＢストレージデバイス１０に対して、１０ＭＢのデータ（以下、「データＡ」という）、５０ＭＢのデータ（以下、「データＢ」という）及び１００ＭＢのデータ（以下、「データＣ」という）を送信する場合について説明する。
【００６０】
初めに、図６に示すように、クライアント装置４のユーザは、クライアント装置４を用いて、ＵＳＢストレージデバイス１０に対して１０ＭＢのデータＡを送信する操作を実行する。これにより、クライアント装置４は、送信対象のデータＡのデータサイズ情報「１０ＭＢ」をＵＳＢストレージデバイス１０に送信する（Ｓ２０１）。この時、送信対象のデータＡ自体はまだ送信されない。デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置４からのデータサイズ情報を受信する（Ｓ２０２）。
【００６１】
この時、デバイスサーバ１２の受付部２１は、記憶部２４の管理リスト２７に格納されているクライアント装置４の通信情報を更新する。具体的には、図３に示す管理リスト２７の１行目において、クライアント装置４の通信情報として、データサイズ情報「１０ＭＢ」が格納され、ステータス情報が「未送信」から「送信待機中」に変更される。
【００６２】
その後、上述と同様に、クライアント装置６のユーザは、クライアント装置６を用いて、ＵＳＢストレージデバイス１０に対して５０ＭＢのデータＢを送信する操作を実行する。これにより、クライアント装置６は、送信対象のデータＢのデータサイズ情報「５０ＭＢ」をＵＳＢストレージデバイス１０に送信する（Ｓ２０３）。この時、送信対象のデータＢ自体はまだ送信されない。デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置６からのデータサイズ情報を受信する（Ｓ２０４）。
【００６３】
この時、デバイスサーバ１２の受付部２１は、記憶部２４の管理リスト２７に格納されているクライアント装置６の通信情報を更新する。具体的には、図３に示す管理リスト２７の２行目において、クライアント装置６の通信情報として、データサイズ情報「５０ＭＢ」が格納され、ステータス情報が「未送信」から「送信待機中」に変更される。
【００６４】
その後、上述と同様に、クライアント装置８のユーザは、クライアント装置８を用いて、ＵＳＢストレージデバイス１０に対して１００ＭＢのデータＣを送信する操作を実行する。これにより、クライアント装置８は、送信対象のデータＣのデータサイズ情報「１００ＭＢ」をＵＳＢストレージデバイス１０に送信する（Ｓ２０５）。この時、送信対象のデータＣ自体はまだ送信されない。デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置８からのデータサイズ情報を受信する（Ｓ２０６）。
【００６５】
この時、デバイスサーバ１２の受付部２１は、記憶部２４の管理リスト２７に格納されているクライアント装置８の通信情報を更新する。具体的には、図３に示す管理リスト２７の３行目において、クライアント装置８の通信情報として、データサイズ情報「１００ＭＢ」が格納され、ステータス情報が「未送信」から「送信待機中」に変更される。
【００６６】
その後、デバイスサーバ１２の制御部２６は、記憶部２４の管理リスト２７に格納されている複数のクライアント装置４，６，８の各データサイズ情報に基づいて、複数のデータＡ，Ｂ，ＣのＵＳＢストレージデバイス１０への送信順序を決定する（Ｓ２０７）。具体的には、デバイスサーバ１２の制御部２６は、複数のデータＡ，Ｂ，Ｃの送信順序を、データサイズの小さい順に「データＡ→データＢ→データＣ」と決定する。こうすることで、例えば複数のクライアント装置４，６，８において、各データＡ，Ｂ，Ｃの送信完了までの待機時間が短くなる。
【００６７】
その後、デバイスサーバ１２の制御部２６は、複数のクライアント装置４，６，８の各々に対して、「データＡ→データＢ→データＣ」の順に送信するように要求する。
【００６８】
まず、デバイスサーバ１２の制御部２６は、送信順序が１番目のデータＡを送信するように要求するための送信要求コマンドを生成する。デバイスサーバ１２のネットワークインタフェース１８は、生成された送信要求コマンドをクライアント装置４に送信する（Ｓ２０８）。クライアント装置４は、デバイスサーバ１２からの送信要求コマンドを受信し、受信した送信要求コマンドに基づいて、データＡをデバイスサーバ１２に送信する（Ｓ２０９）。
【００６９】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置４からのデータＡを受信する。デバイスサーバ１２のＵＳＢインタフェース２０は、受信したデータＡをＵＳＢストレージデバイス１０に転送する（Ｓ２１０）。この時、デバイスサーバ１２の受付部２１は、記憶部２４の管理リスト２７に格納されているクライアント装置４の通信情報を更新する。具体的には、図３に示す管理リスト２７の１行目において、クライアント装置４の通信情報として、ステータス情報が「送信待機中」から「送信済み」に変更される。ＵＳＢストレージデバイス１０は、デバイスサーバ１２から送信されてきたデータＡを記憶する（Ｓ２１１）。
【００７０】
次に、デバイスサーバ１２の制御部２６は、送信順序が２番目のデータＢを送信するように要求するための送信要求コマンドを生成する。デバイスサーバ１２のネットワークインタフェース１８は、生成された送信要求コマンドをクライアント装置６に送信する（Ｓ２１２）。クライアント装置６は、デバイスサーバ１２からの送信要求コマンドを受信し、受信した送信要求コマンドに基づいて、データＢをデバイスサーバ１２に送信する（Ｓ２１３）。
【００７１】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置６からのデータＢを受信する。デバイスサーバ１２のＵＳＢインタフェース２０は、受信したデータＢをＵＳＢストレージデバイス１０に転送する（Ｓ２１４）。この時、デバイスサーバ１２の受付部２１は、記憶部２４の管理リスト２７に格納されているクライアント装置６の通信情報を更新する。具体的には、図３に示す管理リスト２７の２行目において、クライアント装置６の通信情報として、ステータス情報が「送信待機中」から「送信済み」に変更される。ＵＳＢストレージデバイス１０は、デバイスサーバ１２から送信されてきたデータＢを記憶する（Ｓ２１５）。
【００７２】
次に、デバイスサーバ１２の制御部２６は、送信順序が３番目のデータＣを送信するように要求するための送信要求コマンドを生成する。デバイスサーバ１２のネットワークインタフェース１８は、生成された送信要求コマンドをクライアント装置８に送信する（Ｓ２１６）。クライアント装置８は、デバイスサーバ１２からの送信要求コマンドを受信し、受信した送信要求コマンドに基づいて、データＣをデバイスサーバ１２に送信する（Ｓ２１７）。
【００７３】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置８からのデータＣを受信する。デバイスサーバ１２のＵＳＢインタフェース２０は、受信したデータＣをＵＳＢストレージデバイス１０に転送する（Ｓ２１８）。この時、デバイスサーバ１２の受付部２１は、記憶部２４の管理リスト２７に格納されているクライアント装置８の通信情報を更新する。具体的には、図３に示す管理リスト２７の３行目において、クライアント装置８の通信情報として、ステータス情報が「送信待機中」から「送信済み」に変更される。ＵＳＢストレージデバイス１０は、デバイスサーバ１２から送信されてきたデータＣを記憶する（Ｓ２１９）。
【００７４】
以上のようにして、ＵＳＢストレージデバイス１０には、複数のデータＡ，Ｂ，Ｃが「データＡ→データＢ→データＣ」の送信順序で順次送信され、記憶される。
【００７５】
本実施の形態においては、図６に示すように複数のクライアント装置４，６，８からデバイスサーバ１２に向けて（宛先はＵＳＢストレージデバイス１０）、滞りなくデータＡ，Ｂ，Ｃが送信される前提で説明したが、ここで、所定の時間を経てもデータ送信要求のあったクライアント装置４，６，８からそれぞれデバイスサーバ１２にデータＡ，Ｂ，Ｃが送信されない場合には、デバイスサーバ１２は当該クライアント装置４，６，８に向けて送信要求を通知することとなる。これら一連の処理は既存技術でもよいし、本実施の形態のデバイスサーバ１２特有の処理で対応してもよく、本実施の形態とは直接関連しないため、詳細な説明は省略する。
【００７６】
なお、本実施の形態においては、複数のクライアント装置４，６，８からデバイスサーバ１２に向けて（宛先はＵＳＢストレージデバイス１０）、次々とデータＡ，Ｂ，Ｃが送信される前提で説明をしたが、所定の時間を経ても接続要求のあったクライアント装置６，８からデバイスサーバ１２にデータＢ，Ｃが送信されない（まずデータサイズ情報が送信されない）場合もある。この場合、デバイスサーバ１２は、従来通りデータサイズ情報を送信してきたクライアント装置４に対し、所定の待ち時間の後に送信要求コマンドを送信し、当該クライアント装置４からのデータＡの受信及び転送処理を行う。所定の待ち時間は、接続要求を受け付けたがデータサイズ情報が送信されない他のクライアント装置６，８からのデータサイズ情報の送信を待つ限界時間である。
【００７７】
［３−３．切断処理］
次に、図７及び図８を参照しながら、実施の形態に係るデバイスサーバシステム２における切断処理について説明する。図７は、実施の形態に係るデバイスサーバシステム２における切断処理を示すシーケンス図である。図８は、複数のクライアント装置４，６，８の各ディスプレイに表示される切断画面３２の一例を示す図である。
【００７８】
以下、複数のクライアント装置４，６，８の各ユーザがそれぞれ、複数のクライアント装置４，６，８とＵＳＢストレージデバイス１０とのデバイスサーバ１２を介した接続を切断する場合について説明する。
【００７９】
クライアント装置４のユーザは、クライアント装置４にインストールされているアプリケーションを起動し、図８に示す切断画面３２をクライアント装置４のディスプレイに表示させる。切断画面３２は、クライアント装置４とＵＳＢストレージデバイス１０との接続を切断する操作を行うためのグラフィカルユーザインタフェースである。接続画面３２は、クライアント装置４とＵＳＢストレージデバイス１０との接続を切断するか否かを指示するためのボタンであるウィジェット３４を含む。
【００８０】
クライアント装置４のユーザが切断画面３２でウィジェット３４の「はい」ボタンをクリックした場合に、図７に示すように、クライアント装置４は、切断要求コマンドをデバイスサーバ１２に送信する（Ｓ３０１）。
【００８１】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置４からの切断要求コマンドを受信する。デバイスサーバ１２の受付部２１は、受信した切断要求コマンドに基づいて、クライアント装置４とＵＳＢストレージデバイス１０とのデバイスサーバ１２を介した接続を切断するための切断処理を実行し（Ｓ３０２）、記憶部２４に記憶されている管理リスト２７からクライアント装置４の通信情報を削除する（Ｓ３０３）。
【００８２】
その後、上述と同様に、クライアント装置６のユーザは、クライアント装置６にインストールされているアプリケーションを起動し、図８に示す接続画面３２でウィジェット３４の「はい」ボタンをクリックする。これにより、図７に示すように、クライアント装置６は、切断要求コマンドをデバイスサーバ１２に送信する（Ｓ３０４）。
【００８３】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置６からの切断要求コマンドを受信する。デバイスサーバ１２の受付部２１は、受信した切断要求コマンドに基づいて、クライアント装置６とＵＳＢストレージデバイス１０とのデバイスサーバ１２を介した接続を切断するための切断処理を実行し（Ｓ３０５）、記憶部２４に記憶されている管理リスト２７からクライアント装置６の通信情報を削除する（Ｓ３０６）。
【００８４】
その後、上述と同様に、クライアント装置８のユーザは、クライアント装置８にインストールされているアプリケーションを起動し、図８に示す切断画面３２でウィジェット３４の「はい」ボタンをクリックする。これにより、図７に示すように、クライアント装置８は、切断要求コマンドをデバイスサーバ１２に送信する（Ｓ３０７）。
【００８５】
デバイスサーバ１２のネットワークインタフェース１８は、クライアント装置８からの切断要求コマンドを受信する。デバイスサーバ１２の受付部２１は、受信した切断要求コマンドに基づいて、クライアント装置８とＵＳＢストレージデバイス１０とのデバイスサーバ１２を介した接続を切断するための切断処理を実行し（Ｓ３０８）、記憶部２４に記憶されている管理リスト２７からクライアント装置８の通信情報を削除する（Ｓ３０９）。
【００８６】
以上のようにして、複数のクライアント装置４，６，８の各々とＵＳＢストレージデバイス１０とのデバイスサーバ１２を介した接続が切断される。
【００８７】
［４．効果］
上述したように、デバイスサーバ１２は、複数のクライアント装置４，６，８からそれぞれ送信された複数のデータＡ，Ｂ，Ｃを、データサイズの小さい順にＵＳＢストレージデバイス１０に送信する。
【００８８】
最初に、データサイズが最も小さいデータＡをクライアント装置４からＵＳＢストレージデバイス１０に送信することにより、データＡの送信を最も短時間で完了することができ、各クライアント装置６，８においてデータＢ，Ｃの送信開始のタイミングを早めることができる。
【００８９】
次に、データサイズが２番目に小さいデータＢをクライアント装置６からＵＳＢストレージデバイス１０に送信することにより、データＢの送信を比較的短時間で完了することができ、クライアント装置８においてデータＣの送信開始のタイミングを早めることができる。
【００９０】
以上のように、複数のクライアント装置４，６，８における複数のデータＡ，Ｂ，Ｃの送信完了までの待機時間を短縮することができ、特に複数のデータＡ，Ｂ，Ｃをほぼ同時にＵＳＢストレージデバイス１０に送信する際の利便性を高めることができる。
【００９１】
（他の変形例等）
以上、本発明のデバイスサーバ及びデバイスサーバの制御方法について、実施の形態に基づいて説明したが、本発明は、上記実施の形態に限定されるものではない。上記実施の形態に対して当業者が思い付く変形を施して得られる形態、及び、上記実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
【００９２】
上記実施の形態では、図６のステップＳ２１０，Ｓ２１４，Ｓ２１８においてそれぞれデータＡ，Ｂ，ＣをＵＳＢストレージデバイス１０に転送するようにしたが、データＡ，Ｂ，Ｃをデータサーバ１２の記憶部２４にバッファしながら転送してもよい。
【００９３】
上記実施の形態では、制御部２６は、データサイズの小さい順に、複数のデータＡ，Ｂ，ＣのＵＳＢストレージデバイス１０への送信順序を決定したが、これに限定されない。制御部２６は、例えば送信レートの大きい順に、複数のデータＡ，Ｂ，ＣのＵＳＢストレージデバイス１０への送信順序を決定してもよい。この場合、記憶部２４に記憶されている管理リスト２７には、複数のクライアント装置４，６，８の各通信に関する通信情報として、複数のデータＡ，Ｂ，Ｃの各送信レートを示す送信レート情報が格納される。例えば、複数の同サイズのデータＡ，Ｂ，Ｃの各送信レートがそれぞれ２Ｍｂｐｓ、４Ｍｂｐｓ、１０Ｍｂｐｓである場合、制御部２６は、送信レート情報に基づいて、複数のデータＡ，Ｂ，Ｃの送信順序を、送信レートの大きい順に「データＣ→データＢ→データＡ」と決定する。あるいは、例えば、複数のデータＡ，Ｂ，Ｃの各データサイズがそれぞれ、「１０ＭＢ」、「５０ＭＢ」、「１００ＭＢ」であり、各送信レートがそれぞれ２Ｍｂｐｓ、４Ｍｂｐｓ、１０Ｍｂｐｓである場合、制御部２６は、データサイズ情報及び送信レート情報に基づいて、複数のデータＡ，Ｂ，Ｃの送信順序を、転送時間が小さい順に「データＡ→データＣ→データＢ」と決定する。これにより、複数のクライアント装置４，６，８における複数のデータＡ，Ｂ，Ｃの送信完了までの待機時間を短縮することができ、複数のデータＡ，Ｂ，ＣをＵＳＢストレージデバイス１０に送信する際の利便性を高めることができる。
【００９４】
さらに、制御部２６は、例えば優先度の高い順に、複数のデータＡ，Ｂ，ＣのＵＳＢストレージデバイス１０への送信順序を決定してもよい。この場合、記憶部２４に記憶されている管理リスト２７には、複数のクライアント装置４，６，８の各通信に関する通信情報として、複数のデータＡ，Ｂ，Ｃの各優先度を示す優先度情報が格納される。例えば、複数のデータＡ，Ｂ，Ｃの各優先度がそれぞれ「高」、「低」、「中」である場合、制御部２６は、優先度情報に基づいて、複数のデータＡ，Ｂ，Ｃの送信順序を、優先度の高い順に「データＡ→データＣ→データＢ」と決定する。これにより、複数のデータＡ，Ｂ，Ｃのうち重要なデータから優先的にＵＳＢストレージデバイス１０に順次送信することができ、複数のデータＡ，Ｂ，ＣをＵＳＢストレージデバイス１０に送信する際の利便性を高めることができる。なお、複数のクライアント装置４，６，８の各ユーザはそれぞれ、複数のクライアント装置４，６，８にインストールされているアプリケーションを用いて、複数のデータＡ，Ｂ，Ｃの各優先度を予め設定してもよい。
【００９５】
上記実施の形態では、複数のクライアント装置４，６，８がデバイスサーバ１２にローカル接続されたＵＳＢストレージデバイス１０に向けてデータを送信する例を示したが、これに限定されない。本発明は、例えば、デバイスサーバ１２が、複数のクライアント装置４，６，８の各々からの指示を受けて、ＵＳＢストレージデバイス１０内のデータを複数のクライアント装置４，６，８に向けて個々に送信する場合にも適用できる。
【００９６】
上記実施の形態では、複数のクライアント装置４，６，８の各々をパーソナルコンピュータで構成したが、これに限定されず、例えばタブレット端末又はスマートフォン等の各種端末で構成してもよい。
【００９７】
上記実施の形態では、デバイスサーバ１２にローカル接続されるデバイス装置をＵＳＢストレージデバイス１０で構成したが、これに限定されず、例えば複合機、プリンタ、スキャナ、又は、画像データ（動画データを含む）をデバイスサーバ経由で受信、表示する装置（ディスプレイ）等の各種装置で構成してもよい。
【産業上の利用可能性】
【００９８】
本発明は、例えば複数のクライアント装置が１つのデバイス装置を共有して利用できるようにするためのデバイスサーバ等に適用することができる。
【符号の説明】
【００９９】
２  デバイスサーバシステム
４  クライアント装置（ＰＣ１）
６  クライアント装置（ＰＣ２）
８  クライアント装置（ＰＣ３）
１０  ＵＳＢストレージデバイス
１２  デバイスサーバ
１４  ネットワーク
１６  ＵＳＢケーブル
１８  ネットワークインタフェース
２０  ＵＳＢインタフェース
２１  受付部
２２  データ変換部
２４  記憶部
２６  制御部
２７  管理リスト
２８  接続画面
３０，３４  ウィジェット
３２  切断画面
【図１】
2020004208.tif 000003
【図２】
2020004208.tif 000004
【図３】
2020004208.tif 000005
【図４】
2020004208.tif 000006
【図５】
2020004208.tif 000007
【図６】
2020004208.tif 000008
【図７】
2020004208.tif 000009
【図８】
2020004208.tif 000010