説明

周辺装置を利用するためのシステム、サーバ装置、方法

【課題】周辺装置を利用する場合に、消費電力の積算値を抑制しつつ、利便性を向上させることができる技術を提供する。
【解決手段】クライアント装置の起動時にクライアント装置からサーバ装置に送信された第1データを受信したことを必要条件として含む第1条件が満たされた場合に、周辺装置の状態を、デバイスインタフェースと通信可能な状態である第1状態に移行させ、クライアント装置のシャットダウン時にクライアント装置から前記サーバ装置に送信された第2データを受信したことを必要条件として含む第2条件が満たされた場合に、周辺装置の状態を、第1状態と比べて消費電力の小さい第2状態に移行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、周辺装置を利用するためのシステム、サーバ装置、方法に関するものである。
【背景技術】
【0002】
従来から、ネットワークを介してコンピュータにUSB(Universal Serial Bus)デバイスを利用させるUSBデバイスサーバが知られている。また、コンピュータがUSBデバイスを利用する時に、USBデバイスサーバがUSBのバスパワーの状態をオン状態にし、所定時間の経過後に、USBデバイスサーバがUSBのバスパワーの状態をオフ状態にする技術も提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−310796号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところが、従来は、周辺装置を利用する技術に関しては、十分な工夫がなされていないのが実情であった。例えば、USBデバイスの利用開始時にUSBのバスパワーの状態をオフ状態からオン状態にする技術においては、USBデバイスを利用する場合にUSBデバイスの準備完了を待つ時間が長くなる可能性があった。また、USBのバスパワーの状態を常にオン状態に維持する技術においては、消費電力の積算値が過大となる可能性があった。
【0005】
なお、このような問題は、周辺装置のインタフェースの規格がUSB規格である場合に限らず、インタフェースの規格が他の規格である場合にも共通する問題であった。
【0006】
本発明の主な利点は、周辺装置を利用する場合に、消費電力の積算値を抑制しつつ、利便性を向上させることができる技術を提供することである。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0008】
[適用例1]
周辺装置を利用するためのシステムであって、
サーバ装置と、
少なくとも1つのクライアント装置と、
を含み、
前記サーバ装置は、
周辺装置との接続のためのデバイスインタフェースと、
ネットワークとの接続のための第1ネットワークインタフェースと、
前記第1ネットワークインタフェースを介して前記クライアント装置と前記デバイスインタフェースとの間のデータ通信を中継するデバイスインタフェース制御部と、
を含み、
前記クライアント装置は、
前記ネットワークとの接続のための第2ネットワークインタフェースと、
前記デバイスインタフェース制御部と通信することによって、前記サーバ装置の前記デバイスインタフェースに対応する仮想的なデバイスインタフェースを形成する仮想インタフェース制御部と、
前記クライアント装置の起動時に、前記周辺装置に供給されるべきデータとは異なる第1データを前記サーバ装置に送信し、前記クライアント装置のシャットダウン時に、前記周辺装置に供給されるべきデータとは異なる第2データを前記サーバ装置に送信する動作状態データ送信部と、
を含み、
前記デバイスインタフェース制御部は、
前記クライアント装置から前記第1データを受信したことを必要条件として含む第1条件が満たされた場合に、前記周辺装置の状態を、前記デバイスインタフェースと通信可能な状態である第1状態に移行させる第1処理を実行し、
前記クライアント装置から前記第2データを受信したことを必要条件として含む第2条件が満たされた場合に、前記周辺装置の状態を、前記第1状態と比べて消費電力の小さい第2状態に移行させる第2処理を実行する、
システム。
【0009】
この構成によれば、クライアント装置に周辺装置が直接に接続されていない場合であっても、クライアント装置は、ネットワークとサーバ装置とを介して、周辺装置を利用することができる。また、クライアント装置の起動時に、周辺装置の状態が、デバイスインタフェースと通信可能な第1状態になるので、クライアント装置が周辺装置を利用する場合に、周辺装置の準備完了を待つ時間が過剰に長くなる可能性を低減できる。さらに、クライアント装置のシャットダウン時に、周辺装置の状態が、第1状態と比べて消費電力の小さい第2状態になるので、周辺装置が利用されない状況下において、消費電力を抑制することができる。これらの結果、消費電力の積算値を抑制しつつ、利便性を向上させることができる。
【0010】
[適用例2]
適用例1に記載のシステムであって、
前記デバイスインタフェースは、前記周辺装置に対して電力を供給するための電力供給端子を含み、
前記デバイスインタフェース制御部は、
前記第1処理として、前記電力供給端子への電力の供給を開始する処理を実行し、
前記第2処理として、前記電力供給端子への電力の供給を停止する処理を実行する、
システム。
【0011】
この構成によれば、第2処理として、電力供給端子への電力の供給を停止する処理が実行されるので、消費電力を適切に抑制することができる。そして、第1処理として、電力供給端子への電力の供給を開始する処理が実行されるので、周辺装置を適切に通信可能な状態にすることができる。
【0012】
[適用例3]
適用例1または適用例2に記載のシステムであって、
前記仮想インタフェース制御部は、
前記クライアント装置の起動時に、前記デバイスインタフェース制御部を介した前記周辺装置とのデータ通信を確立することによって、前記周辺装置が前記クライアント装置に接続された状態を仮想的に実現する、
システム。
【0013】
この構成によれば、クライアント装置の起動時に、仮想インタフェース制御部と周辺装置とのデータ通信が確立し、周辺装置がクライアント装置に接続された状態が仮想的に実現される。その結果、クライアント装置が周辺装置を利用する場合に、周辺装置の準備完了を待つ時間が過剰に長くなる可能性を効果的に低減できる。
【0014】
[適用例4]
請求項1または請求項2に記載のシステムであって、
前記デバイスインタフェース制御部は、
前記周辺装置の動作状態が前記第2状態である状態で前記第1データを受信したことを前記第1条件として利用することによって、前記第1処理を実行し、
前記第2データを受信したことによって前記第1データを受信した回数から前記第2データを受信した回数を減算して得られる差分がゼロになったことを前記第2条件として利用することによって、前記第2処理を実行し、
前記第2データを受信した場合であっても、前記第1データを受信した回数から前記第2データを受信した回数を減算して得られる差分が1以上である場合には、前記第2処理を実行しない、
システム。
【0015】
この構成によれば、第1データを受信した回数から第2データを受信した回数を減算して得られる差分、すなわち、起動しているクライアント装置の総数が、1以上である場合には、周辺装置が第1状態に維持される。従って、周辺装置を利用し得るクライアント装置の総数が複数である場合に、起動しているクライアント装置が、複数のクライアント装置のうちのいずれであっても、周辺装置が第1状態に維持される。これにより、周辺装置を利用するクライアント装置が、複数のクライアント装置のうちのいずれであっても、周辺装置の準備完了を待つ時間が過剰に長くなる可能性を低減できる。また、全てのクライアント装置がシャットダウンした場合には、周辺装置の状態が第2状態に移行する。これにより、周辺装置が利用されない状況下において、消費電力を抑制することができる。
【0016】
[適用例5]
サーバ装置のデバイスインタフェースに接続された周辺装置をネットワークを介して利用する方法であって、
クライアント装置が、前記クライアント装置の起動時に、前記周辺装置に供給されるべきデータとは異なる第1データを、前記ネットワークを介して前記サーバ装置に送信し、
前記サーバ装置が、前記クライアント装置から前記第1データを受信したことを必要条件として含む第1条件が満たされた場合に、前記周辺装置の状態を、前記デバイスインタフェースと通信可能な状態である第1状態に移行させる第1処理を実行し、
前記クライアント装置が、前記サーバ装置と前記ネットワークを介して通信することによって、前記サーバ装置の前記デバイスインタフェースに対応する仮想的なデバイスインタフェースを形成し、
前記クライアント装置が、前記クライアント装置のシャットダウン時に、前記周辺装置に供給されるべきデータとは異なる第2データを、前記ネットワークを介して前記サーバ装置に送信し
前記サーバ装置が、前記クライアント装置から前記第2データを受信したことを必要条件として含む第2条件が満たされた場合に、前記周辺装置の状態を、前記第1状態と比べて消費電力の小さい第2状態に移行させる第2処理を実行する、
方法。
【0017】
[適用例6]
クライアント装置にネットワークを介して周辺装置を利用させるサーバ装置であって、
周辺装置との接続のためのデバイスインタフェースと、
ネットワークとの接続のための第1ネットワークインタフェースと、
前記ネットワークに接続されたクライアント装置によって実行される処理であって、前記サーバ装置と通信することによって前記サーバ装置の前記デバイスインタフェースに対応する仮想的なデバイスインタフェースを形成する処理のために、前記第1ネットワークインタフェースを介して前記クライアント装置と前記デバイスインタフェースとの間のデータ通信を中継するデバイスインタフェース制御部と、
を備え、
前記デバイスインタフェース制御部は、
前記クライアント装置の起動時に前記クライアント装置によって前記サーバ装置に対して送信されたデータであって、前記周辺装置に供給されるべきデータとは異なる第1データを受信したことを必要条件として含む第1条件が満たされた場合に、前記周辺装置の状態を、前記デバイスインタフェースと通信可能な状態である第1状態に移行させる第1処理を実行し、
前記クライアント装置のシャットダウン時に前記クライアント装置によって前記サーバ装置に対して送信されたデータであって、前記周辺装置に供給されるべきデータとは異なる第2データを受信したことを必要条件として含む第2条件が満たされた場合に、前記周辺装置の状態を、前記第1状態と比べて消費電力の小さい第2状態に移行させる第2処理を実行する、
サーバ装置。
【0018】
[適用例7]
適用例6に記載のサーバ装置であって、
前記デバイスインタフェース制御部は、前記クライアント装置によって送信された、動的ホストコンフィグレーションプロトコルに従ったディスカバーメッセージを、前記第1データとして利用する、
サーバ装置。
【0019】
この構成によれば、起動時にDHCP(Dynamic Host Configuration Protocol)を利用してネットワークに接続するクライアント装置が利用される場合に、サーバ装置を利用するためだけの専用の機能をクライアント装置に設けずに、サーバ装置は、クライアント装置の起動(第1データの受信)に応じて第1処理を実行することができる。その結果、クライアント装置の構成が過剰に複雑になる可能性を低減できる。
【0020】
なお、本発明は、種々の形態で実現することが可能であり、例えば、クライアント装置にネットワークを介して周辺装置を利用させる方法およびサーバ装置、サーバ装置とクライアント装置とを含むネットワークシステム、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【0021】
【図1】システム900を示す説明図である。
【図2】コンピュータ100の起動時(電源ON)の処理の概要を示すシーケンス図である。
【図3】コンピュータ100のシャットダウン時(電源OFF)の処理の概要を示すシーケンス図である。
【図4】第2実施例のシステム910を示す説明図である。
【図5】デバイスインタフェース制御部232(図1)によって実行される制御処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0022】
次に、この発明の実施の形態を第1〜第2実施例と変形例とに基づいて説明する。
【0023】
A.第1実施例:
図1は、本発明の一実施例としてのシステム900を示す説明図である。このシステム900は、コンピュータ100と、デバイスサーバ200と、プリンタ300と、TVチューナ310と、を含んでいる。コンピュータ100は、汎用のパーソナルコンピュータである。コンピュータ100は、ネットワークNTを介して、デバイスサーバ200に接続されている。プリンタ300とTVチューナ310とは、デバイスサーバ200に、それぞれ接続されている。なお、ネットワークNTとしては、ハブやルータといった中継装置を含むネットワークを採用してもよい。この代わりに、コンピュータ100とデバイスサーバ200とを直接的に接続する1本の通信ラインを、ネットワークNTとして採用してもよい。また、本実施例では、コンピュータ100と、デバイスサーバ200と、プリンタ300と、TVチューナ310とは、近接して配置されている(例えば、これらの装置100、200、300、310は、同じ部屋に配置されている)。ただし、一部の装置が、他の装置から遠方に配置されてもよい。
【0024】
コンピュータ100は、ネットワークとの接続のためのネットワークポート110と、制御部120と、不揮発性メモリ150(例えば、ハードディスクドライブや、ソリッドステートドライブ)と、を含んでいる。ネットワークポート110は、例えば、イーサネット(イーサネットは、登録商標)の物理インタフェース(物理ポート)である。制御部120は、CPU130と、メモリ140(例えば、DRAM)とを有するコンピュータであり、コンピュータ100の各部を制御する。CPU130は、不揮発性メモリ150に格納されたプログラム(図示省略)を実行することによって、仮想インタフェース制御部132と、動作状態データ送信部134とを含む種々の処理部の機能を実現する(詳細は後述)。以下、プログラムに従ってCPUが或る処理部としての機能を実行することを、その処理部が処理を実行する、とも表現する。
【0025】
デバイスサーバ200は、周辺装置を、ネットワークを通じて、コンピュータに利用させるサーバである。本実施例では、周辺装置として、USB(Universal Serial Bus)規格に適合する周辺装置を採用している。デバイスサーバ200は、ネットワークとの接続のためのネットワークポート210と、USBポート212、214と、USBホストコントローラ218と、制御部220と、不揮発性メモリ250(例えば、フラッシュメモリ)と、を含んでいる。ネットワークポート210は、例えば、イーサネットの物理インタフェース(物理ポート)である。USBポート212、214は、それぞれ、USB規格に適合する物理インタフェース(物理ポート)である。USBホストコントローラ218は、USB規格に適合するホストコントローラであり、USBポート212、214を制御する。制御部220は、CPU230と、メモリ240(例えば、DRAM)とを有するコンピュータであり、デバイスサーバ200の各部を制御する。CPU230は、不揮発性メモリ250に格納されたプログラム(図示省略)を実行することによって、デバイスインタフェース制御部232としての機能を実現する。デバイスインタフェース制御部232は、USBホストコントローラ218を通じてUSBポート212、214を制御することによって、USBデバイスを制御する(詳細は後述)。
【0026】
プリンタ300とTVチューナ310とは、それぞれ、USB規格に適合する周辺装置である。図1のシステム900では、プリンタ300が第1USBポート212に接続され、TVチューナ310が第2USBポート214に接続されている。USBポート212、214は、それぞれ、USB規格に適合する4つの端子(VBUS、D+、D−、GND)を有している。GND端子は、基準電位(common reference)を提供し、VBUS端子は、USBデバイスに電力を提供し、D+端子とD−端子とは、信号(データ)の入出力を行う。
【0027】
コンピュータ100の仮想インタフェース制御部132は、ネットワークNTを介してデバイスサーバ200のデバイスインタフェース制御部232と通信することによって、仮想USBインタフェース132iを構成する(例えば、仮想インタフェース制御部132は、仮想的な、ルートハブ(USBホストコントローラ)と、USBポートとを構成する)。仮想インタフェース制御部132とデバイスインタフェース制御部232とは、USBデバイス(ここでは、プリンタ300とTVチューナ310)の制御のためのデータを、ネットワーク通信のパケットでカプセル化することによって、交換する。
【0028】
そして、仮想インタフェース制御部132は、コンピュータ100上で動作するアプリケーション(例えば、USBデバイスのためのデバイスドライバ)が仮想USBインタフェース132iにアクセスすることを許容する。仮想USBインタフェース132iに対するアクセス方式は、通常のUSBインタフェース(USBホストコントローラ)に対するアクセス方式と同じである。その結果、アプリケーションからは、デバイスサーバ200に接続されたUSBデバイスが仮想USBインタフェース132iに直接的に接続されているかのように、みえる。
【0029】
例えば、コンピュータ100がプリンタ300を利用して印刷する場合について説明する。この場合には、コンピュータ100上で動作しているアプリケーション(例えば、ワードプロセッサと、プリンタ300用のデバイスドライバ)が、USBインタフェース用の制御データ(印刷データを含む)を、仮想インタフェース制御部132に供給する。仮想インタフェース制御部132は、受信したデータを、カプセル化してデバイスサーバ200に送信する。デバイスサーバ200のデバイスインタフェース制御部232は、受信したデータからUSBインタフェース用のデータを抽出する。デバイスインタフェース制御部232は、抽出したデータに従ってUSBホストコントローラ218を制御し、第1USBポート212からプリンタ300に印刷データを供給する。プリンタ300は、受信した印刷データに従って、印刷を行う。
【0030】
次に、コンピュータ100が、TVチューナ310によって受信されたTV番組(動画像)を表示する場合について説明する。この場合には、TVチューナ310は、USBインタフェース用の制御データ(受信した動画像を表す動画像データを含む)を、第2USBポート214に出力する。USBホストコントローラ218は、第2USBポート214からデータを受信すると、受信したデータを、デバイスインタフェース制御部232に供給する。デバイスインタフェース制御部232は、受信したデータを、カプセル化してコンピュータ100に送信する。コンピュータ100の仮想インタフェース制御部132は、受信したデータからUSBインタフェース用のデータを抽出し、抽出したデータを、TVチューナ310用のデバイスドライバ(図示省略)に供給する。デバイスドライバは、受信したデータから動画像データを取得し、取得した動画像データを、動画像再生アプリケーション(図示省略)に供給する。
【0031】
以上のように、仮想インタフェース制御部132とデバイスインタフェース制御部232とは、USB規格に従った双方向の通信を実現する。また、仮想インタフェース制御部132とデバイスインタフェース制御部232とは、プリンタ300とTVチューナ310とに限らず、種々のUSBデバイスのための通信を実現する。
【0032】
なお、仮想インタフェース制御部132とデバイスインタフェース制御部232との間の通信方式としては、コンピュータ100とUSBデバイスとの間のUSB通信を実現する任意の方式を採用可能である。例えば、デバイスインタフェース制御部232は、デバイスサーバ200とUSBデバイスとの間の通信の一部のみを、コンピュータ100に中継してもよい。
【0033】
図2は、コンピュータ100の起動時(電源ON)の処理の概要を示すシーケンス図である。ここでは、コンピュータ100の起動前には、デバイスサーバ200(USBホストコントローラ218)は、USBポート212、214(図1)のVBUS端子からの電力供給を停止していることとしている。これにより、USBポート212、214に接続されたUSBデバイスによる消費電力は、VBUS端子から電力が供給されている場合と比べて、抑制されている(以下、USBデバイスのこの状態を「第2状態」とも呼ぶ)。
【0034】
ステップS100では、ユーザがコンピュータ100を起動させる(ユーザは、コンピュータ100の電源をオンにする)。ステップS110では、動作状態データ送信部134が、自動的に起動し、ステップS120で、動作状態データ送信部134は、起動パケットをデバイスサーバ200に送信する。起動パケットは、予め決められたデータ(以下「第1データ」とも呼ぶ)を含んでいる。第1データは、USBデバイスに供給されるべきデータ(USBの制御データ)とは異なるデータである。デバイスサーバ200のデバイスインタフェース制御部232は、受信した第1データをUSBデバイスには供給しない。第1データは、USBデバイスによっては解釈されず、デバイスインタフェース制御部232によって解釈される。
【0035】
ステップS130では、デバイスサーバ200のデバイスインタフェース制御部232は、第1データを受信したことに応じて、全てのUSBポート(USBポート212、214)のVBUS端子への電力の供給を、USBホストコントローラ218に開始させる。ステップS140では、USBポート212、214に接続された全てのUSBデバイス(ここでは、プリンタ300とTVチューナ310)は、受けた電力を利用して起動し、デバイスサーバ200との通信を開始する。このように、デバイスサーバ200に接続された全てのUSBデバイスの状態は、デバイスサーバ200と通信可能な状態(以下「第1状態」とも呼ぶ)になる。ここで、「USBデバイスの状態が、デバイスサーバ200と通信可能な状態である」とは、USBデバイスとデバイスサーバ200との少なくとも一方が、他方に対して、何らかのデータを供給した場合に、他方がそのデータに応じた処理を実行し得る状態を、意味している。次のステップS150では、デバイスインタフェース制御部232とUSBホストコントローラ218とが、いわゆるバスエニュメレーション(Bus Enumeration)を開始して、USBデバイスに関する種々の情報を取得する。ステップS160では、デバイスインタフェース制御部232は、USBデバイスの起動完了を表すデータ(「起動完了データ」と呼ぶ)を含むパケットを、コンピュータ100に送信する。起動完了データは、USB規格に適合する制御データではなく、コンピュータ100の仮想インタフェース制御部132によって解釈される。
【0036】
ステップS170では、コンピュータ100の仮想インタフェース制御部132は、起動完了データを受信したことに応じて、USBデバイスとの接続要求を開始する。続くステップS180a〜S180cでは、コンピュータ100とデバイスサーバ200との間の通信、および、デバイスサーバ200とUSBデバイスとの間の通信が行われる。これらの通信は、コンピュータ100とUSBデバイスとの間のデータ通信を確立するためのものである。ステップS190では、デバイスサーバ200を介したコンピュータ100とUSBデバイスとの間のデータ通信が確立する。例えば、コンピュータ100上で動作するアプリケーション(例えば、デバイスドライバ)と、USBデバイスとの間の論理的な通信経路(USB規格では、「パイプ」とも呼ばれる)が、デバイスサーバ200を介して確立する。このような通信経路は、USBデバイスの種々の機能毎に、形成される。このように、仮想インタフェース制御部132は、USBデバイスの種々の機能を利用するための通信を、デバイスサーバ200のデバイスインタフェース制御部232を介して、行う。
【0037】
これにより、デバイスインタフェース制御部232は、USBデバイスがコンピュータ100に接続された状態を、仮想的に実現する。コンピュータ100上で動作するアプリケーション(例えば、ワードプロセッサ)は、デバイスサーバ200の存在を認識せずに、USBデバイスを利用することができる。デバイスサーバ200に複数のUSBデバイスが接続されている場合には、コンピュータ100と全てのUSBデバイスとの通信経路が確立する。
【0038】
この後、コンピュータ100をシャットダウンするまでは、コンピュータ100とUSBデバイスとの論理的な通信経路(パイプ)は維持される。これにより、コンピュータ100をシャットダウンするまでの間は、いつでも、コンピュータ100とUSBデバイスとの間の通信を素速く開始することが可能である(ステップS195a〜S195c)。その結果、コンピュータ100上で動作するアプリケーションがUSBデバイスを利用する場合に、USBデバイスの準備完了を待つ時間が過剰に長くなる可能性を低減できる。
【0039】
図3は、コンピュータ100のシャットダウン時(電源OFF)の処理の概要を示すシーケンス図である。ステップS200では、ユーザがコンピュータ100をシャットダウンする(ユーザは、コンピュータ100の電源をオフにする)。ステップS210では、動作状態データ送信部134(図1)が、コンピュータ100のオペレーションシステムに対して、シャットダウン処理の一時停止を要求する。ステップS220では、動作状態データ送信部134は、USBデバイスの切断要求を、デバイスサーバ200に送信する。ここでは、予め決められたデータ(第1データとは異なるデータ。以下「第2データ」とも呼ぶ)を含むパケットが、切断要求として利用される。第2データは、USBデバイスに供給されるべきデータ(USB規格に適合する制御データ)とは異なるデータである。デバイスサーバ200のデバイスインタフェース制御部232は、第2データをUSBデバイスには供給しない。第2データは、USBデバイスによっては解釈されずに、デバイスインタフェース制御部232によって解釈される。
【0040】
ステップS230では、デバイスインタフェース制御部232は、第2データを受信したことに応じて、全てのUSBデバイスとの通信を切断する処理を開始する。例えば、デバイスインタフェース制御部232は、全てのUSBポートのバスの状態をサスペンド状態に移行させる。これにより、ステップS240では、デバイスサーバ200に接続された全てのUSBデバイスの状態が、サスペンド状態(Suspend State)に移行する。そして、ステップS250では、全てのUSBデバイスが、USB通信を停止する。これに応じて、ステップS260では、デバイスインタフェース制御部232は、全てのUSBポートのVBUS端子への電力の供給を、停止する。これにより、デバイスサーバ200に接続されたUSBデバイス(ここでは、プリンタ300とTVチューナ310)の消費電力は、VBUS端子から電力が供給されている場合と比べて、抑制される(第2状態)。
【0041】
次のステップS270で、デバイスインタフェース制御部232は、USBデバイスとの通信の切断が完了したことを、コンピュータ100に通知する。ステップS280では、コンピュータ100の動作状態データ送信部134が、デバイスサーバ200からの通知に応じて、シャットダウン処理を再開する。これにより、コンピュータ100のシャットダウン処理が進行し、ステップS290では、コンピュータのシャットダウンが完了する(コンピュータ100とUSBデバイスとの通信の切断も完了する)。なお、ステップS270を省略してもよい。この場合、動作状態データ送信部134は、第2データの送信が完了したことに応じて、シャットダウン処理を再開すればよい。
【0042】
以上のように、コンピュータ100の動作状態データ送信部134(図1)は、コンピュータ100の起動時に、第1データをデバイスサーバ200に送信する(図2:S120)。そして、デバイスサーバ200のデバイスインタフェース制御部232は、第1データを受信したことに応じてVBUS端子への電力供給を開始することによって、USBデバイスの状態をデバイスサーバ200と通信可能な第1状態にする(図2:S130〜S150)。この結果、コンピュータ100がUSBデバイスを利用する場合に、コンピュータ100の準備完了を待つ時間が過剰に長くなる可能性を低減できる。なお、第1実施例では、USBデバイスの状態を第1状態に移行させるための条件(第1条件)は、第1データを受信したこと、である。
【0043】
さらに、コンピュータ100の動作状態データ送信部134(図1)は、コンピュータ100のシャットダウン時に、第2データをデバイスサーバ200に送信する(図3:S220)。デバイスサーバ200のデバイスインタフェース制御部232は、第2データを受信したことに応じてVBUS端子への電力供給を停止することによって、USBデバイスの状態を、第1状態よりも消費電力の小さい第2状態にする(図3:S230〜S260)。この結果、USBデバイスが利用されない状況下において、消費電力を抑制することができる。なお、第1実施例では、USBデバイスの状態を第2状態に移行させるための条件(第2条件)は、第2データを受信したこと、である。
【0044】
また、コンピュータ100の仮想インタフェース制御部132は、コンピュータ100の起動時に、コンピュータ100を介したUSBデバイスとのデータ通信を確立することによって、コンピュータ100にUSBデバイスが接続された状態を仮想的に実現する(図2:S170〜S190)。これにより、コンピュータ100がUSBデバイスを利用する場合に、USBデバイスの準備完了を待つ時間が過剰に長くなる可能性を効果的に低減できる。
【0045】
B.第2実施例:
図4は、第2実施例のシステム910を示す説明図である。図4(A)〜図4(E)は、システム910の状態が変化する様子を5段階で示している(状態が、図4(A)〜図4(E)の順に変化する)。このシステム910の構成は、図1のシステム900に、ネットワークNTに接続された別のコンピュータ100aを追加して得られる構成と、同じである。システム910の構成要素のうちの、図1のシステム900の構成要素と同じ要素には、同じ符号が付されている。また、図4では、詳細な構成の図示が省略されている。例えば、第1コンピュータ100とデバイスサーバ200とは、図1のコンピュータ100とデバイスサーバ200と同じ構成を、それぞれ、有している。また、第2コンピュータ100aは、第1コンピュータ100の構成(図1)と同じ構成を有している。これらのコンピュータ100、100aは、デバイスサーバ200を介してUSBデバイス300、310を利用可能である。ただし、第2実施例においては、各構成要素によって実行される処理の内容の一部が、第1実施例のものとは異なっている。
【0046】
図5は、デバイスインタフェース制御部232(図1)によって実行される制御処理の手順を示すフローチャートである。第2実施例では、デバイスインタフェース制御部232は、起動中のコンピュータの総数が1以上である場合には、USBデバイスを第1状態(デバイスサーバ200と通信可能な状態)に維持する(以下、起動中のコンピュータの総数を「アクティブホスト数」とも呼ぶ)。そして、デバイスインタフェース制御部232は、アクティブホスト数が0である場合に、USBデバイスを第2状態(消費電力が小さい状態)に維持する。
【0047】
デバイスインタフェース制御部232は、以下のようにして、アクティブホスト数を算出する。各コンピュータ100、100aは、それぞれ、起動時に第1データをデバイスサーバ200に送信する。そして、各コンピュータ100、100aは、それぞれ、シャットダウン時に第2データをデバイスサーバ200に送信する。デバイスサーバ200のデバイスインタフェース制御部232は、第1データ(起動時のデータ)を受信した回数から、第2データ(シャットダウン時のデータ)を受信した回数を減算することによって、アクティブホスト数を算出する。
【0048】
第2実施例では、コンピュータ100、100aが起動するよりも先に、デバイスサーバ200が起動することとする。そして、デバイスインタフェース制御部232は、デバイスサーバ200が起動した時点ではアクティブホスト数がゼロであることと仮定して、動作する。図4(A)の状態は、全てのコンピュータ100、100aが停止し、デバイスサーバ200が起動している状態を示している。デバイスサーバ200は、全てのUSBポートのVBUS端子への電力の供給を停止している。全てのUSBデバイス300、310の状態は、第2状態(消費電力が小さい状態)である。なお、デバイスインタフェース制御部232は、ユーザによって設定された値を、アクティブホスト数の初期値として利用してもよい。
【0049】
図5の最初のステップS310では、デバイスサーバ200のデバイスインタフェース制御部232(図1)は、受信したデータが第1データであるか否かを判定する。
【0050】
受信したデータが第1データである場合には、ステップS312で、デバイスインタフェース制御部232は、現時点においてVBUS端子からの電力供給が停止しているか否かを判定する。電力供給が停止している場合には、ステップS314で、デバイスインタフェース制御部232は、全てのUSBポート(USBポート212、214)のVBUS端子への電力の供給を、USBホストコントローラ218に開始させる。そして、デバイスインタフェース制御部232は、全てのUSBデバイス(プリンタ300、TVチューナ310)との通信を開始する(第1状態)。電力供給が既に行われている場合には、ステップS314はスキップされる(S312:No)。
【0051】
次のステップS316では、デバイスインタフェース制御部232は、USBデバイスの起動完了を表すデータを含むパケットを、第1データを送信したコンピュータに送信する。この処理は、図2のステップS160の処理と同じである。なお、第2実施例では、コンピュータの仮想インタフェース制御部132(図1)は、USBデバイスとの接続要求(図1のステップS170〜S190)を、自動的にではなく、ユーザの指示に応じて開始する。従って、第2実施例では、ユーザの指示が無ければ、コンピュータとUSBデバイスとの間の論理的な通信経路(パイプ)は確立されない。ただし、USBデバイスの状態は第1状態であるので、USBデバイスを利用する場合には、USBデバイスの準備完了を待つ時間が過剰に長くなる可能性を低減できる。
【0052】
図4(B)は、図4(A)の状態から第1コンピュータ100が起動した状態を示している。この状態では、デバイスサーバ200は、全てのUSBポートに電力を供給するので、全てのUSBデバイス300、310の状態が、第1状態(デバイスサーバ200と通信可能な状態)である。
【0053】
次のステップS318では、デバイスサーバ200のデバイスインタフェース制御部232(図1)は、アクティブホスト数を更新する。第1データを受信した場合には、デバイスインタフェース制御部232は、アクティブホスト数に1を加算する。図4(B)の状態では、アクティブホスト数が「1」に更新される。
【0054】
図4(C)は、図4(B)の状態から第2コンピュータ100aが起動した状態を示している。デバイスサーバ200は、既に全てのUSBポートに電力を供給しているので、電力を供給する処理(図5:S314)を繰り返すことをせずに、アクティブホスト数を「2」に更新する。
【0055】
起動中のコンピュータの仮想インタフェース制御部132(図1)は、ユーザの指示に応じて、USBデバイスとの論理的な通信経路を確立する。この処理は、図2のステップS170〜S190と同様に行われる。これにより、そのコンピュータは、USBデバイスを利用することができる。また、仮想インタフェース制御部132は、ユーザの指示に応じて、USBデバイスとの論理的な通信経路を切断する。これにより、他のコンピュータが、そのUSBデバイスを利用することができる。なお、デバイスサーバ200のデバイスインタフェース制御部232は、コンピュータから切断指示を受けた場合も、デバイスサーバ200とUSBデバイスとの間の通信を維持することが好ましい。こうすれば、他のコンピュータから接続要求を受けた場合に、素速く、コンピュータとUSBデバイスとの通信を開始できる。
【0056】
図5の手順において、受信したデータが第2データである場合には、デバイスインタフェース制御部232は、処理をステップ322に進行させる(ステップS310:No、ステップS320:Yes)。ステップS322では、デバイスインタフェース制御部232は、アクティブホスト数を更新する。第2データを受信した場合には、デバイスインタフェース制御部232は、アクティブホスト数から1を減算する。
【0057】
次のステップS324では、デバイスインタフェース制御部232は、更新後のアクティブホスト数がゼロであるか否かを判定する。更新後のアクティブホスト数がゼロである場合には、次のステップS326で、デバイスインタフェース制御部232は、全てのUSBデバイスとの通信を切断する処理を開始する。そして、ステップS328で、デバイスインタフェース制御部232は、全てのUSBポートのVBUS端子への電力の供給を、USBホストコントローラ218に停止させる。これらのステップS326〜S328は、図3のステップS230〜S260と同じである。このように、デバイスインタフェース制御部232は、起動中のコンピュータ(アクティブホスト)の数がゼロになった場合に、USBデバイスの状態を第2状態(消費電力が小さい状態)に移行させる。
【0058】
アクティブホスト数がゼロではない(1以上である)場合には、デバイスインタフェース制御部232は、ステップS326、S328をスキップする。このように、デバイスインタフェース制御部232は、起動中のコンピュータの数が1以上である場合には、USBデバイスの状態を第1状態(デバイスサーバ200と通信可能な状態)に維持する。
【0059】
次のステップS329では、デバイスインタフェース制御部232は、USBデバイスとの通信の切断が完了したことを、コンピュータ100に通知する。このステップS329は、図3のステップS270と同じである。このステップS329を省略してもよい。
【0060】
図4(D)は、図4(C)の状態から第1コンピュータ100がシャットダウンした状態を示している。この状態では、更新後のアクティブホスト数が「1」であるので、デバイスインタフェース制御部232は、全てのUSBポートへの電力供給を継続する。
【0061】
図4(E)は、図4(D)の状態から第2コンピュータ100aがシャットダウンした状態を示している。この状態では、更新後のアクティブホスト数が「0」であるので、デバイスインタフェース制御部232は、全てのUSBポートへの電力供給を停止している。
【0062】
受信したデータが、第1データと第2データとのいずれでも無い場合には(S310:No、S320:No)、デバイスインタフェース制御部232は、起動とシャットダウンのための処理をスキップする。このような場合としては、例えば、デバイスサーバ200が、コンピュータからUSBデバイスに対するデータを受信した場合がある。
【0063】
以上のように、第2実施例では、起動しているコンピュータの総数が1以上である場合には、USBデバイスが第1状態に維持される。従って、USBデバイスを利用し得るコンピュータの総数が複数である場合に、起動しているコンピュータが、複数のコンピュータのうちのいずれであっても、USBデバイスが第1状態に維持される。これにより、USBデバイスを利用するコンピュータが、複数のコンピュータのうちのいずれであっても、USBデバイスの準備完了を待つ時間が過剰に長くなる可能性を低減できる。また、全てのコンピュータがシャットダウンした場合には、USBデバイスの状態が第2状態に移行する。これにより、USBデバイスが利用されない状況下において、消費電力を抑制することができる。
【0064】
C.変形例:
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0065】
変形例1:
上記各実施例において、デバイスインタフェース制御部232(図1)は、第1データとして、予め決められたデータに限らず、種々のデータを利用可能である。例えば、コンピュータの中には、起動時にDHCPを利用してネットワークに接続するものがある。このようなコンピュータを利用する場合には、デバイスインタフェース制御部232は、DHCPのディスカバーメッセージを第1データとして利用してもよい。こうすれば、デバイスサーバ200は、ディスカバーメッセージを利用して適切に動作することが可能である。そして、コンピュータから、デバイスサーバ200を利用するためだけの専用の機能(第1データを送信する機能)を省略することができる。その結果、コンピュータの構成が過剰に複雑になる可能性を低減できる。ここで、デバイスインタフェース制御部232は、ディスカバーメッセージの送信元装置のネットワークアドレス(例えば、MACアドレス)が、予め設定されたアドレス(「許可アドレス」と呼ぶ)と一致した場合にのみ、そのディスカバーメッセージを第1データとして利用してもよい。デバイスインタフェース制御部232は、ユーザの指示に応じて、許可アドレスを設定すればよい。
【0066】
また、上記第1実施例において、仮想インタフェース制御部132(図1)は、コンピュータ100とUSBデバイスとの間の論理的な通信経路を、自動的ではなくユーザの指示に応じて確立してもよい。また、上記第2実施例において、仮想インタフェース制御部132は、コンピュータとUSBデバイスとの間の論理的な通信経路を、自動的に確立してもよい。この場合には、デバイスインタフェース制御部232は、或るコンピュータとUSBデバイスとの通信経路が確立している状態では、他のコンピュータとそのUSBデバイスとの通信経路の確立を禁止してもよい。
【0067】
また、上記各実施例において、仮想インタフェース制御部132および動作状態データ送信部134によってデバイスサーバ200のネットワーク上のアドレスを特定する方法としては、種々の方法を採用可能である。例えば、予めユーザによってデバイスサーバ200のアドレスが設定されてもよい。この代わりに、動作状態データ送信部134あるいは仮想インタフェース制御部132が、ネットワークをスキャンすることによって、デバイスサーバ200のアドレスを特定してもよい。
【0068】
変形例2:
上記各実施例において、周辺装置の第1状態としては、サーバ装置のデバイスインタフェースから電力供給を受ける状態に限らず、デバイスインタフェースと通信可能な任意の状態を採用可能である。「周辺装置の状態が、デバイスインタフェースと通信可能な状態である」とは、周辺装置とデバイスインタフェースとの少なくとも一方が、他方に対して、何らかのデータを供給した場合に、他方がそのデータに応じた処理を実行し得る状態を意味している。例えば、周辺装置が、デバイスインタフェースから受信した動作モード切替指示データに応じて、動作モードを切り替える場合には、周辺装置の状態は、デバイスインタフェースと通信可能な状態である。動作モード切替指示データは、例えば、USBデバイスの状態を或る状態(例えば「Address状態」)から他の状態(例えば、「Configured状態」)へ切り替える指示データであり得る。また、周辺装置が、デバイスインタフェースから受信したデータ(例えば、画像データ)に応じて、受信したデータに応じた処理(例えば、画像の印刷)を実行する場合も、周辺装置の状態は、デバイスインタフェースと通信可能な状態である。また、デバイスインタフェースが、周辺装置から受信したデータ(例えば、マウスの移動量)に応じて、受信したデータをデバイスインタフェース制御部232に供給する場合も、周辺装置の状態は、デバイスインタフェースと通信可能な状態である(ここで、デバイスインタフェース制御部232は、デバイスインタフェースから受信したデータを、クライアント装置(例えば、デバイスドライバ)に送信してもよい)。通常は、周辺装置がデバイスインタフェースから電力供給を受けている場合には、周辺装置の状態は、デバイスインタフェースと通信可能な状態である。
【0069】
周辺装置の第2状態としては、サーバ装置のデバイスインタフェースからの電力供給が停止した状態に限らず、第1状態と比べて周辺装置での消費電力が小さい任意の状態を採用可能である。例えば、第2状態は、デバイスインタフェースから電力の供給を受ける状態であってもよい。また、第2状態は、サーバ装置と通信可能な状態であってもよく、サーバ装置と通信できない状態であってもよい。例えば、USB規格のサスペンド状態を第2状態として採用してもよい。そして、サスペンド状態からレジュームされた状態(例えば、「Configured状態」)を第1状態として採用してもよい(USBデバイスがサスペンド状態にある場合、USBデバイスの状態は、サーバ装置(サーバ装置のデバイスインタフェース)と通信可能な状態であり、USBデバイスの消費電力は、レジュームされた状態と比べて、小さい)。また、USB規格のサスペンド状態を第1状態として採用し、デバイスインタフェースからの電力供給が停止した状態を第2状態として採用してもよい。
【0070】
変形例3:
上記各実施例において、デバイスインタフェース(周辺装置の接続インタフェース)としては、USBインタフェースに限らず、他の任意のインタフェースを採用可能である。例えば、IEEE1394やeSATA(External Serial ATA)に適合するインタフェースを採用してもよい。IEEE1394インターフェースは、USBインタフェースと同様に、電力供給端子を含むので、IEEE1394インターフェースを採用すれば、電力供給の開始と停止とのよる制御が可能である。また、デバイスインタフェースとしては、有線のインタフェースに限らず、無線のインタフェースを採用してもよい。
【0071】
変形例4:
上記各実施例において、デバイスサーバ200を利用するクライアント装置としては、汎用のパーソナルコンピュータに限らず、任意の装置を採用可能である。例えば、クライアント装置が、携帯情報端末(Personal Digital Assistant)や、携帯電話や、タブレットコンピュータであってもよい。
【0072】
変形例5:
上記各実施例において、デバイスサーバ200のネットワークインタフェースは、有線のインタフェースであってもよく、無線のインタフェースであってもよい。同様に、クライアント装置のネットワークインタフェースも、有線のインタフェースであってもよく、無線のインタフェースであってもよい。
【0073】
変形例6:
上記各実施例において、サーバ装置(デバイスインタフェース制御部232)による中継処理としては、種々の処理を採用可能である。例えば、デバイスインタフェース制御部232は、クライアント装置と周辺装置との間の通信を、何ら加工することなく中継してもよい。この代わりに、デバイスインタフェース制御部232は、サーバ装置と周辺装置との間の通信(デバイスインタフェース通信とも呼ぶ)に基づいて、デバイスインタフェース通信とは異なる方式の通信を仮想インタフェース制御部132と行ってもよい。
【0074】
変形例7:
上記各実施例において、周辺装置としては、プリンタ300とTVチューナ310とに限らず、スキャナやハードディスクドライブといった任意の周辺装置を採用可能である。また、デバイスサーバ200に接続可能な周辺装置の総数は、1であってもよく、3以上であってもよい。
【0075】
変形例8:
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1のデバイスインタフェース制御部232の機能を、論理回路を有するハードウェア回路によって実現してもよい。
【0076】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータプログラム)は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。
【符号の説明】
【0077】
100...コンピュータ(第1コンピュータ)
100a...第2コンピュータ
110...ネットワークポート
120...制御部
130...CPU
132...仮想インタフェース制御部
134...動作状態データ送信部
140...メモリ
150...不揮発性メモリ
200...デバイスサーバ
210...ネットワークポート
220...制御部
230...CPU
232...デバイスインタフェース制御部
240...メモリ
250...不揮発性メモリ
300...プリンタ
900、910...システム
212...第1USBポート212
214...第2USBポート214
132i...仮想USBインタフェース
NT...ネットワーク

【特許請求の範囲】
【請求項1】
周辺装置を利用するためのシステムであって、
サーバ装置と、
少なくとも1つのクライアント装置と、
を含み、
前記サーバ装置は、
周辺装置との接続のためのデバイスインタフェースと、
ネットワークとの接続のための第1ネットワークインタフェースと、
前記第1ネットワークインタフェースを介して前記クライアント装置と前記デバイスインタフェースとの間のデータ通信を中継するデバイスインタフェース制御部と、
を含み、
前記クライアント装置は、
前記ネットワークとの接続のための第2ネットワークインタフェースと、
前記デバイスインタフェース制御部と通信することによって、前記サーバ装置の前記デバイスインタフェースに対応する仮想的なデバイスインタフェースを形成する仮想インタフェース制御部と、
前記クライアント装置の起動時に、前記周辺装置に供給されるべきデータとは異なる第1データを前記サーバ装置に送信し、前記クライアント装置のシャットダウン時に、前記周辺装置に供給されるべきデータとは異なる第2データを前記サーバ装置に送信する動作状態データ送信部と、
を含み、
前記デバイスインタフェース制御部は、
前記クライアント装置から前記第1データを受信したことを必要条件として含む第1条件が満たされた場合に、前記周辺装置の状態を、前記デバイスインタフェースと通信可能な状態である第1状態に移行させる第1処理を実行し、
前記クライアント装置から前記第2データを受信したことを必要条件として含む第2条件が満たされた場合に、前記周辺装置の状態を、前記第1状態と比べて消費電力の小さい第2状態に移行させる第2処理を実行する、
システム。
【請求項2】
請求項1に記載のシステムであって、
前記デバイスインタフェースは、前記周辺装置に対して電力を供給するための電力供給端子を含み、
前記デバイスインタフェース制御部は、
前記第1処理として、前記電力供給端子への電力の供給を開始する処理を実行し、
前記第2処理として、前記電力供給端子への電力の供給を停止する処理を実行する、
システム。
【請求項3】
請求項1または請求項2に記載のシステムであって、
前記仮想インタフェース制御部は、
前記クライアント装置の起動時に、前記デバイスインタフェース制御部を介した前記周辺装置とのデータ通信を確立することによって、前記周辺装置が前記クライアント装置に接続された状態を仮想的に実現する、
システム。
【請求項4】
請求項1または請求項2に記載のシステムであって、
前記デバイスインタフェース制御部は、
前記周辺装置の動作状態が前記第2状態である状態で前記第1データを受信したことを前記第1条件として利用することによって、前記第1処理を実行し、
前記第2データを受信したことによって前記第1データを受信した回数から前記第2データを受信した回数を減算して得られる差分がゼロになったことを前記第2条件として利用することによって、前記第2処理を実行し、
前記第2データを受信した場合であっても、前記第1データを受信した回数から前記第2データを受信した回数を減算して得られる差分が1以上である場合には、前記第2処理を実行しない、
システム。
【請求項5】
サーバ装置のデバイスインタフェースに接続された周辺装置をネットワークを介して利用する方法であって、
クライアント装置が、前記クライアント装置の起動時に、前記周辺装置に供給されるべきデータとは異なる第1データを、前記ネットワークを介して前記サーバ装置に送信し、
前記サーバ装置が、前記クライアント装置から前記第1データを受信したことを必要条件として含む第1条件が満たされた場合に、前記周辺装置の状態を、前記デバイスインタフェースと通信可能な状態である第1状態に移行させる第1処理を実行し、
前記クライアント装置が、前記サーバ装置と前記ネットワークを介して通信することによって、前記サーバ装置の前記デバイスインタフェースに対応する仮想的なデバイスインタフェースを形成し、
前記クライアント装置が、前記クライアント装置のシャットダウン時に、前記周辺装置に供給されるべきデータとは異なる第2データを、前記ネットワークを介して前記サーバ装置に送信し
前記サーバ装置が、前記クライアント装置から前記第2データを受信したことを必要条件として含む第2条件が満たされた場合に、前記周辺装置の状態を、前記第1状態と比べて消費電力の小さい第2状態に移行させる第2処理を実行する、
方法。
【請求項6】
クライアント装置にネットワークを介して周辺装置を利用させるサーバ装置であって、
周辺装置との接続のためのデバイスインタフェースと、
ネットワークとの接続のための第1ネットワークインタフェースと、
前記ネットワークに接続されたクライアント装置によって実行される処理であって、前記サーバ装置と通信することによって前記サーバ装置の前記デバイスインタフェースに対応する仮想的なデバイスインタフェースを形成する処理のために、前記第1ネットワークインタフェースを介して前記クライアント装置と前記デバイスインタフェースとの間のデータ通信を中継するデバイスインタフェース制御部と、
を備え、
前記デバイスインタフェース制御部は、
前記クライアント装置の起動時に前記クライアント装置によって前記サーバ装置に対して送信されたデータであって、前記周辺装置に供給されるべきデータとは異なる第1データを受信したことを必要条件として含む第1条件が満たされた場合に、前記周辺装置の状態を、前記デバイスインタフェースと通信可能な状態である第1状態に移行させる第1処理を実行し、
前記クライアント装置のシャットダウン時に前記クライアント装置によって前記サーバ装置に対して送信されたデータであって、前記周辺装置に供給されるべきデータとは異なる第2データを受信したことを必要条件として含む第2条件が満たされた場合に、前記周辺装置の状態を、前記第1状態と比べて消費電力の小さい第2状態に移行させる第2処理を実行する、
サーバ装置。
【請求項7】
請求項6に記載のサーバ装置であって、
前記デバイスインタフェース制御部は、前記クライアント装置によって送信された、動的ホストコンフィグレーションプロトコルに従ったディスカバーメッセージを、前記第1データとして利用する、
サーバ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−14343(P2012−14343A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−149092(P2010−149092)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(390040187)株式会社バッファロー (378)
【Fターム(参考)】