(57)【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置に接続されたＵＳＢデバイスが、ネットワーク上の外部装置によって前記情報処理装置を介して制御される対象である場合に、当該ＵＳＢデバイスをネットワーク経由で特定の外部装置から制御可能にする仮想接続が確立された後、当該ＵＳＢデバイスを制御する前記特定の外部装置が電源オフ状態であるか否かを判定する判定手段と、
前記特定の外部装置が電源オフ状態であると前記判定手段によって判定された場合に、前記特定の外部装置の電源をオンにするようにユーザに促す通知手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記特定の外部装置に所定のコマンドを送信する送信手段を更に備え、
前記所定のコマンドに対する前記特定の外部装置からの応答がなかった場合に、前記判定手段は、前記特定の外部装置が電源オフ状態であると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定のコマンドに対する前記特定の外部装置からの応答がなかった場合に、前記特定の外部装置に所定のパケットを送信した後、前記送信手段により前記特定の外部装置に対して前記所定のコマンドを再送させ、再送した前記所定のコマンドに対する前記特定の外部装置からの応答がなかった場合、前記通知手段を起動する制御手段を、更に有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所定のコマンドは、ＰＩＮＧコマンドであり、前記所定のパケットは、Ｗａｋｅ Ｏｎ ＬＡＮパケットであることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記通知手段は、前記特定の外部装置の電源をオンにするようにユーザに促す画面を表示することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報処理装置は、印刷装置であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
情報処理装置を制御する制御方法であって、
前記情報処理装置の判定手段が、前記情報処理装置に接続されたＵＳＢデバイスが、ネットワーク上の外部装置によって前記情報処理装置を介して制御される対象である場合に、当該ＵＳＢデバイスをネットワーク経由で特定の外部装置から制御可能にする仮想接続が確立された後、当該ＵＳＢデバイスを制御する前記特定の外部装置が電源オフ状態であるか否かを判定する判定工程と、
前記情報処理装置の通知手段が、前記特定の外部装置が電源オフ状態であると前記判定工程で判定された場合に、前記特定の外部装置の電源をオンにするようにユーザに促す通知工程と、
を有することを特徴とする制御方法。
【請求項８】
コンピュータを、請求項１乃至６のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と、その制御方法及びプログラムに関するものである。
【背景技術】
【０００２】
近年、情報処理装置にローカル接続されたデバイスを、ネットワーク経由で他の情報処理装置から制御する技術が普及している。この技術の一例として、ＵＳＢ  Ｏｖｅｒ  Ｎｅｔｗｏｒｋ（以下、ＵＳＢＮＷ）が挙げられる。このＵＳＢＮＷ技術は、情報処理装置に接続されたＵＳＢデバイスを、その情報処理装置とは異なる他の情報処理装置からネットワーク経由で制御可能とするものである。ここで、この他の情報処理装置は、そのＵＳＢデバイスを、その情報処理装置に仮想的に接続（以下、仮想接続）されているＵＳＢデバイスとして制御することが可能である。
【０００３】
また、情報処理装置にローカル接続されたデバイスを、ネットワーク経由で他の情報処理装置から制御する技術として、デバイスサーバシステムが挙げられる。このデバイスサーバシステムは、デバイスサーバに接続されたＵＳＢデバイスを、そのデバイスサーバにネットワークを介して接続されたＰＣから制御するものである（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−７６４３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の先行技術では、ＵＳＢデバイスの主たる制御元はＰＣであるため、ＰＣがスリープ状態になり、ＰＣからＵＳＢデバイスが制御できなくなっても何ら問題はない。しかしＵＳＢデバイスの種類やＵＳＢデバイスが接続される情報処理装置の種類によっては、常にＵＳＢデバイスが稼働していることが必要とされる場合もある。例えばプリンタとＵＳＢデバイスであるカードリーダとがローカルで接続され、そのカードリーダを、そのプリンタとネットワークを介して接続されたＰＣから制御するシステムが挙げられる。そのシステムにおいて、プリンタを利用するユーザをカードリーダを使用して認証する機能（以下、カード認証）を実現する場合、ＵＳＢデバイスであるカードリーダの制御はプリンタではなくＰＣによって行われる。具体的にはＰＣにカード認証用のアプリケーションプログラムが実装され、ＰＣは、そのアプリケーションプログラムを実行することにより、プリンタに接続されたカードリーダを、ネットワーク経由で制御してカード認証機能を実現する。
【０００６】
この場合、ユーザがプリンタを利用するためにはカード認証が必要となるため、常にカードリーダが稼働していることが必要とされる。しかし前述の例では、カードリーダはＰＣ及びＰＣ上のアプリケーションプログラムによって制御されるため、カード認証するには常にＰＣが稼働していることが必要とされる。しかしながら、ＰＣがスリープ状態に移行したり、ＰＣの電源がオフされる等の事態が発生するとＰＣによるカードリーダの制御ができなくなり、ユーザがプリンタを使用したいと思ってもユーザの認証ができなくなる。
【０００７】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００８】
本発明の目的は、情報処理装置に接続されたＵＳＢデバイスをネットワーク経由で制御する外部装置の電源をオンさせることにより、外部装置によるデバイスの制御を再開させる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
情報処理装置であって、
前記情報処理装置に接続されたＵＳＢデバイスが、ネットワーク上の外部装置によって前記情報処理装置を介して制御される対象である場合に、当該ＵＳＢデバイスをネットワーク経由で特定の外部装置から制御可能にする仮想接続が確立された後、当該ＵＳＢデバイスを制御する前記特定の外部装置が電源オフ状態であるか否かを判定する判定手段と、
前記特定の外部装置が電源オフ状態であると前記判定手段によって判定された場合に、前記特定の外部装置の電源をオンにするようにユーザに促す通知手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、情報処理装置に接続されたＵＳＢデバイスをネットワーク経由で制御する外部装置の電源をオンさせることができるため、外部装置の電源がオフになることによりＵＳＢデバイスが使用できなくなるのを防止できる。
【００１１】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１２】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態１に係る情報処理システムの構成を示す図。
【図２】実施形態１に係るプリンタとＰＣのソフトウェアの構成を説明するブロック図。
【図３】実施形態１に係るプリンタが有するＵＳＢＮＷ制御対象デバイスの登録情報の一例を示す図。
【図４】実施形態１に係るプリンタの動作を説明するフローチャート。
【図５】実施形態１において、図４のＳ４０５を実行した後のＵＳＢＮＷ制御対象デバイスの登録情報の一例を示す図。
【図６】実施形態１に係る情報処理システムにおける仮想接続動作を説明するシーケンス図。
【図７】実施形態１に係るＵＳＢＮＷデータの一例を示す図。
【図８】本発明の実施形態２に係るプリンタの動作を説明するフローチャート。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
［実施形態１］
図１は、本発明の実施形態１に係る情報処理システムの構成を示す図である。この情報処理システムは、情報処理装置（ここではプリンタ１０１）にローカル接続されたデバイス（カードリーダ１０２）を、ネットワークを介して他の情報処理装置（ＰＣ１０３）から制御するものである。
【００１５】
プリンタ１０１は、ネットワーク１０４を介してＰＣ１０３と接続されており、またＵＳＢインターフェース１０５を介して、ＵＳＢデバイスであるカードリーダ１０２とローカルで接続されている。
【００１６】
実施形態１では、ＵＳＢデバイスであるカードリーダ１０２がローカル接続される情報処理装置がプリンタ１０１である場合について説明するが、この報処理装置は、例えばＰＣやサーバなどの他の情報処理装置であってもよい。同様に情報処理装置にローカル接続されるＵＳＢデバイスはカードリーダ１０２に限定されるものではない。更にＰＣ１０３もＰＣに限定されるものではなく、例えばサーバなどの他の情報処理装置であってもよい。またこの情報処理システムでは、プリンタ１０１，ＰＣ１０３以外の他の情報処理装置もネットワーク上に存在する。しかし説明の簡便化のため、図１では、これら他の情報処理装置を省略して示している。
【００１７】
実施形態１に係る情報処理システムでは、ＵＳＢＮＷ技術を用いて、プリンタ１０１に接続されたカードリーダ１０２を、ＰＣ１０３がネットワーク１０４を介して制御する。ＰＣ１０３は、カードリーダ１０２を、ＰＣ１０３に仮想接続されているＵＳＢデバイスとして制御する。
【００１８】
次にプリンタ１０１の構成を説明する。
【００１９】
ＣＰＵ１１１は、フラッシュメモリ１１２に格納された各種制御プログラムをＲＡＭ１１３に展開して、そのプログラムを実行することにより、プリンタ１０１の各部を制御する。フラッシュメモリ１１２は、前述の各種制御プログラムやフォントデータなどを格納している。更にフラッシュメモリ１１２は、プリンタ１０１の各種設定情報やユーザデータ等の保存に用いられる。ＲＡＭ１１３は、ＣＰＵ１１１のプログラム展開領域や、ワークメモリ領域や、印刷する画像データを展開する領域などを提供している。操作部１１４は、例えば表示部、ＬＥＤ、スイッチ等を有し、プリンタ１０１に対するユーザの操作入力及びユーザに対する情報の表示出力を行う。画像処理部１１５は、プリンタ１０１が受信した印刷ジョブを解析して印刷用の画像データを生成する。ビデオ制御部１１６は、印刷用の画像データをプリンタエンジン（不図示）に出力する。ネットワーク通信制御部（以下、ＮＷ通信制御部）１１７は、プリンタ１０１とネットワーク１０４を介して接続される他の情報処理装置（ここではＰＣ１０３）とのデータ送受信を制御する。ＵＳＢデバイス制御部１１８は、ＵＳＢバス１０５を介して接続されるＵＳＢデバイス（ここではカードリーダ１０２）との間のデータの送受信を制御する。尚、プリンタ１０１は、図１に示す部位以外の他の部位を備えているが、ここでは説明の簡便化のため、他の部位の図示を省略する。
【００２０】
図２は、実施形態１に係るプリンタ１０１とＰＣ１０３のソフトウェアの構成を説明するブロック図である。
【００２１】
プリンタ１０１は、汎用ＵＳＢバスドライバ２０１、ローカルＵＳＢデバイスドライバ２０２、ＮＷ通信制御ドライバ２０３、及び仮想接続制御ドライバ２０４を有する。これらの詳細は詳しく後述する。ローカルＵＳＢデバイスドライバ２０２は、プリンタ１０１単体で制御可能なＵＳＢデバイス用のドライバである。ＮＷ通信制御ドライバ２０３は、ＮＷ通信制御部１１７によるデータ通信を制御する。仮想接続制御ドライバ２０４は、ＰＣ１０３とプリンタ１０１に接続されたＵＳＢデバイスの仮想接続を制御する。これらソフトウエアは、フラッシュメモリ１１２或いはＲＡＭ１１３に格納されている。ＣＰＵ１１１は、フラッシュメモリ１１２、ＲＡＭ１１３に格納されているこれらソフトウエアプログラムに基づき、プリンタ１０１の各部の制御を行う。
【００２２】
次にＰＣ１０３のソフトウェア構成を説明する。
【００２３】
アプリケーション２１１は、ＰＣ１０３にインストールされているアプリケーションプログラム（以下、アプリケーション）で、ＰＣ１０３は、このアプリケーション２１１を実行して所定の機能を実現する。実施形態１では、このアプリケーション２１１によって実現される機能が、プリンタ１０１を利用するユーザのカードリーダ１０２を使用したユーザ認証の場合について説明する。ＵＳＢデバイスドライバ２１２は、ＰＣ１０３が制御可能な各種ＵＳＢデバイス用のドライバである。各種ＵＳＢデバイスの中には、カードリーダ１０２も含まれる。換言するとＵＳＢデバイスドライバ２１２は、カードリーダ１０２用のドライバを含んでいる。ＮＷ通信制御ドライバ２１３は、ＰＣ１０３とネットワーク１０４を介して接続されている他の情報処理装置とのデータ通信を制御する。仮想接続制御ドライバ２１４は、ＰＣ１０３と、プリンタ１０１に接続されたＵＳＢデバイス（カードリーダ１０２）との仮想接続を制御するものであり、その詳細については後述する。ＰＣ１０３ではプリンタ１０１と同様に、ＰＣ１０３が備えるＣＰＵ（不図示）がメモリ（不図示）に格納されているこれらのソフトウエアプログラムを実行することにより、ＰＣ１０３全体の動作を制御している。尚、プリンタ１０１とＰＣ１０３はともに、図２に示すソフトウエア以外の他のソフトウエアも備えているが、説明の簡便化のため、それら他のソフトウエアの図示及び説明を省略している。
【００２４】
図３は、実施形態１に係るプリンタ１０１が有するＵＳＢＮＷ制御対象デバイスの登録情報の一例を示す図である。本実施形態では、プリンタ１０１に接続されたＵＳＢデバイスを、ＰＣ１０３がネットワークを介して制御することを「ＵＳＢＮＷ制御」という表現で表す。この登録情報は、プリンタ１０１が備えるフラッシュメモリ１１２に格納されている。
【００２５】
この登録情報は、ＵＳＢＮＷ制御の対象となるＵＳＢデバイス識別情報３０２と、そのデバイスをネットワークを介して制御する装置のＭＡＣアドレス３０３とを関連付けて登録している。図３では、ＵＳＢＮＷ制御対象デバイスとして２つのデバイスが登録されている。具体的には、それぞれ「Ｘ」、「Ｙ」のＵＳＢデバイス識別情報３０２を有する２つのＵＳＢデバイスが登録されている。またＵＳＢデバイス識別情報３０２の「Ｘ」、「Ｙ」の各々に対応するＵＳＢＮＷ制御元ＭＡＣアドレス３０３として「Ａ」、「Ｂ」が登録されている。このＵＳＢＮＷ制御元ＭＡＣアドレス３０３は、ＵＳＢデバイス識別情報３０２に対応するＵＳＢデバイスをネットワークを介して制御する情報処理装置のＭＡＣアドレスを示す。プリンタ１０１のＣＰＵ１１１は、フラッシュメモリ１１２のデータを書き換えることにより、ＵＳＢＮＷ制御対象デバイスの登録情報を更新することができる。
【００２６】
図４は、実施形態１に係るプリンタ１０１の動作を説明するフローチャートである。この処理を実行するプログラムはフラッシュメモリ１１２に記憶されており、実行時はＲＡＭ１１３に展開されてＣＰＵ１１１の制御の下に実行されることにより、このフローチャートで示す処理が達成される。ここでは図４を参照して、プリンタ１０１がＵＳＢデバイスを検知した場合の動作を説明する。
【００２７】
まずカードリーダ１０２がＵＳＢＮＷ制御対象デバイスとして登録されていない、即ちカードリーダ１０２のＵＳＢデバイス識別情報が、図３に示したＵＳＢＮＷ制御対象デバイスの登録情報に登録されていない場合について説明する。
【００２８】
図４に示す処理は、プリンタ１０１のＵＳＢデバイス制御部１１８にＵＳＢデバイスが接続されたことをＣＰＵ１１１が検知することにより開始される。まずＳ４０１でＣＰＵ１１１は、接続されたＵＳＢデバイスの識別情報を取得する。このＵＳＢデバイスの識別情報は、プリンタ１０１に接続されたＵＳＢデバイスを識別可能な情報で、このＵＳＢデバイス識別情報は、プリンタ１０１が備える汎用ＵＳＢバスドライバ２０１がＵＳＢデバイス制御部１１８を制御することによって取得される。このとき汎用ＵＳＢバスドライバ２０１は、ＵＳＢデバイスの検知処理を実行し、ＵＳＢデバイスからデバイスディスクリプタを取得し、そこのデバイスディスクリプタから、ＵＳＢデバイス識別情報を得る。尚、この汎用ＵＳＢバスドライバ２０１は、ＵＳＢデバイスクラスを問わない汎用ドライバである。従って汎用ＵＳＢバスドライバ２０１は、ＵＳＢデバイスを限定することなく、デバイスディスクリプタを取得することができる。
【００２９】
いまプリンタ１０１にカードリーダ１０２が接続されている場合、ＣＰＵ１１１はカードリーダ１０２のＵＳＢデバイス識別情報を取得することができる。実施形態に係るカードリーダ１０２のＵＳＢデバイス識別情報を「Ｚ」として、以下の説明を行う。続いてＳ４０２に進みＣＰＵ１１１は、Ｓ４０１で検知したＵＳＢデバイスが、ローカル制御対象のＵＳＢデバイスであるか否かを判定する。具体的には、取得したＵＳＢデバイス識別情報「Ｚ」を有するＵＳＢデバイス用のドライバが、ローカルＵＳＢデバイスドライバ２０２にあるか否かを判定する。Ｓ４０２で、検知したＵＳＢデバイスがローカル制御対象でない場合について説明する。
【００３０】
この場合はＳ４０３に進みＣＰＵ１１１は、ＰＣ１０３からＵＳＢデバイス情報要求を受信したか否かを判定する。ここでＰＣ１０３からＵＳＢデバイス情報要求を受信していないと判定すると、ＰＣ１０３からのＵＳＢデバイス情報要求の受信待ちとなってＳ４０３に進む。Ｓ４０３でＣＰＵ１１１は、ＰＣ１０３からのＵＳＢデバイス情報要求を受信したと判定するとＳ４０４に進み、ＣＰＵ１１１は、Ｓ４０１で検知したＵＳＢデバイスが、ＵＳＢＮＷ制御対象デバイスとして登録済であるか否かを判定する。ここでＣＰＵ１１１は、フラッシュメモリ１１２に格納されているＵＳＢＮＷ制御対象デバイスの登録情報（図３）のＵＳＢデバイス識別情報３０２を参照し、Ｓ４０１で取得したＵＳＢデバイス識別情報と一致するものがあるか否かを判定する。
【００３１】
前述したように、ここではカードリーダ１０２のＵＳＢデバイス識別情報が、ＵＳＢＮＷ制御対象デバイスの登録情報に登録されていないとする。即ち、ＵＳＢＮＷ制御対象デバイスの登録情報のＵＳＢデバイス識別情報３０２の中に、カードリーダ１０２のＵＳＢデバイス識別情報「Ｚ」と一致するものはないとする。この場合、ＣＰＵ１１１は、カードリーダ１０２がＵＳＢＮＷ制御対象デバイスとして登録されていないと判定してＳ４０５に進む。Ｓ４０５でＣＰＵ１１１は、ＵＳＢＮＷ制御対象デバイスの登録を行う。具体的には、ＣＰＵ１１１は、Ｓ４０１で取得したカードリーダ１０２のＵＳＢデバイス識別情報「Ｚ」を、ＵＳＢＮＷ制御対象デバイスの登録情報のＵＳＢデバイス識別情報３０２に追加して登録する。更に前述したＵＳＢデバイス情報要求の送信元であるＰＣ１０３のＭＡＣアドレスを、ＵＳＢＮＷ制御元ＭＡＣアドレス３０３に追加して登録する。
【００３２】
本実施形態においてＰＣ１０３のＭＡＣアドレスを「Ｃ」とした場合、Ｓ４０５を実行した後のＵＳＢＮＷ制御対象デバイスの登録情報は、図５に示すものとなる。
【００３３】
図５は、実施形態１において、図４のＳ４０５を実行した後のＵＳＢＮＷ制御対象デバイスの登録情報の一例を示す図である。
【００３４】
図５から明らかなように、カードリーダ１０２のＵＳＢデバイス識別情報「Ｚ」に対応して、ＰＣ１０３のＭＡＣアドレス「Ｃ」がＵＳＢＮＷ制御元ＭＡＣアドレス３０３として登録されている。
【００３５】
こうしてＳ４０５を実行するとＳ４０６に進み、ＣＰＵ１１１は、ＰＣ１０３に対してＵＳＢデバイス情報を送信して応答する。このＰＣ１０３に対するＵＳＢデバイス情報の応答は、前述したＰＣ１０３のＵＳＢデバイス情報要求に応答するものである。次にＳ４０７に進みＣＰＵ１１１は、ＰＣ１０３に対してWake On LANパケット（以下、ＷＯＬパケット（復帰要求））を送信する。具体的には、ＣＰＵ１１１は、ＵＳＢＮＷ制御対象デバイスの登録情報を参照し、カードリーダ１０２のＵＳＢＮＷ制御元であるＰＣ１０３のＭＡＣアドレス「Ｃ」を得る。そしてＣＰＵ１１１は、ＰＣ１０３のＭＡＣアドレス「Ｃ」宛のＷＯＬパケットを生成してＮＷ通信制御ドライバ２０３に渡す。これによりＮＷ通信制御ドライバ２０３は、ＮＷ通信制御部１１７を介して、そのＷＯＬパケットをＰＣ１０３に送信する。このＷＯＬパケットは、スリープ状態にある情報処理装置（ＰＣ１０３）をスリープ状態から復帰させるパケットである。これによりスリープ状態にある情報処理装置（ＰＣ１０３）は、自装置ＭＡＣアドレス宛のＷＯＬパケットを受信すると、スリープ状態から復帰する。実施形態１に係るＰＣ１０３も同様に、スリープ状態のときにＰＣ１０３のＭＡＣアドレス「Ｃ」宛のＷＯＬパケットを検知するとスリープ状態から復帰する。Ｓ４０７でＣＰＵ１１１は、ＷＯＬパケットをＰＣ１０３に送信する。そしてＳ４０８で所定時間が経過するとＳ４０７に進み、再び、ＷＯＬパケットをＰＣ１０３に送信する。こうして、ＰＣ１０３へのＷＯＬパケットの送信を、所定時間間隔で繰り返し行う。この所定時間間隔は、既定の間隔、或いはユーザが変更可能な時間間隔のどちらであってもよい。
【００３６】
尚、図４では、Ｓ４０７，Ｓ４０８で繰り返しＷＯＬパケットを送信するようにしているが、例えばＰＣ１０３がスリープ状態でないと判別できたときはＷＯＬパケットの送信を停止するようにしても良い。
【００３７】
以上、カードリーダ１０２がＵＳＢＮＷ制御対象デバイスとしてプリンタ１０１に登録されていない場合のプリンタ１０１の動作を説明した。
【００３８】
次に、カードリーダ１０２がＵＳＢＮＷ制御対象デバイスとしてプリンタ１０１に登録されている場合のプリンタ１０１の動作を説明する。
【００３９】
この場合は、ＣＰＵ１１１は、前述したＳ４０１〜Ｓ４０３と同様の動作を行う。そしてＳ４０４のＵＳＢＮＷ制御対象デバイスとして登録済か否かの判定において、ＣＰＵ１１１は、カードリーダ１０２をＵＳＢＮＷ制御対象デバイスとして登録済であると判定してＳ４０６に進む。これ以降のＣＰＵ１１１の制御は、前述したＳ４０６〜Ｓ４０７の説明と同様であるため、その説明を省略する。
【００４０】
次に、接続されたＵＳＢデバイスがＵＳＢＮＷ制御対象ではない、即ちプリンタ１０１単体で制御可能なＵＳＢデバイスであるときのプリンタ１０１の動作を説明する。
【００４１】
ここでは、ＵＳＢデバイスとしてＵＳＢメモリ（不図示）を検知した場合の動作について説明する。本実施形態１に係るプリンタ１０１は、プリンタ１０１に接続されたＵＳＢメモリに記憶された文書データを印刷するＵＳＢダイレクト印刷機能を有するものとする。
【００４２】
図４の処理は、プリンタ１０１にＵＳＢメモリが接続されたことをＣＰＵ１１１が検知することにより開始され、先ずＳ４０１でＣＰＵ１１１は、ＵＳＢメモリのＵＳＢデバイス識別情報を取得する。次にＳ４０２に進みＣＰＵ１１１は、Ｓ４０１で検知したＵＳＢメモリがローカル制御対象のＵＳＢデバイスであるか否かを判定する。具体的には、Ｓ４０１で取得したＵＳＢデバイス識別情報を有するＵＳＢメモリ用のドライバがローカルＵＳＢデバイスドライバ２０２にあるか否かを判定する。本実施形態１では、ＵＳＢメモリはプリンタ１０１単体で制御可能なＵＳＢデバイスであるため、プリンタ１０１はＵＳＢメモリ用のドライバ（不図示）をローカルＵＳＢデバイスドライバ２０２に備えている。従ってＳ４０２の判定でＣＰＵ１１１は、そのＵＳＢメモリがローカル制御対象であると判定してＳ４０９に処理を進める。ローカルＵＳＢデバイスドライバ２０２に備えるデバイスドライバは、ＵＳＢメモリ用のドライバに限定されるものではなく、プリンタ１０１単体で制御可能なＵＳＢデバイス用のドライバであれば、その種類、数は問わない。
【００４３】
Ｓ４０９でＣＰＵ１１１は、ローカルＵＳＢデバイスドライバ２０２を呼び出す。具体的には、ローカルＵＳＢデバイスドライバ２０２に備えるＵＳＢメモリ用のドライバ（不図示）を呼び出す。次にＳ４１０に進みＣＰＵ１１１は、ＵＳＢデバイス制御部１１８を制御し、ローカルＵＳＢデバイスの制御処理を行う。ここでは、ＵＳＢデバイスドライバ２０２が備えるＵＳＢメモリ用のデバイスドライバがＵＳＢデバイス制御部１１８を制御し、ＵＳＢメモリの制御処理を行う。このＵＳＢメモリの制御により、接続されたＵＳＢメモリに記憶された文書データを読み出して印刷するＵＳＢダイレクト印刷が可能となる。
【００４４】
以上説明したように実施形態１に係るプリンタ１０１は、ＵＳＢＮＷ制御対象デバイスの登録情報によって、カードリーダ１０２がＵＳＢＮＷ制御対象デバイスとして登録済か否かを判定する。そしてカードリーダ１０２がＵＳＢＮＷ制御対象デバイスとして登録済でない場合、プリンタ１０１はＵＳＢＮＷ制御対象デバイスの登録情報にカードリーダ１０２を登録する。こうしてカードリーダ１０２をＵＳＢＮＷ制御対象のデバイスとして登録した後、ＷＯＬパケットを、所定時間間隔で繰り返しＰＣ１０３に対して送信する。同様に、カードリーダ１０２がＵＳＢＮＷ制御対象デバイスとして登録済の場合もＷＯＬパケットを所定時間間隔で繰り返しＰＣ１０３に送信する。
【００４５】
一方、ＵＳＢＮＷ制御対象デバイスではないＵＳＢメモリ（不図示）を検知した場合は、プリンタ１０１自身が備えるＵＳＢメモリ用のデバイスドライバ（不図示）によってＵＳＢメモリを制御する。
【００４６】
次に実施形態１に係る情報処理システムの動作について説明する。
【００４７】
図６は、実施形態１に係る情報処理システムにおける仮想接続動作を説明するシーケンス図で、実施形態１に係るプリンタ１０１及びＰＣ１０３によるカードリーダ１０２の仮想接続動作シーケンスを示している。前述したように、ＰＣ１０３は、プリンタ１０１に接続されたカードリーダ１０２を、ＰＣ１０３に仮想接続されたＵＳＢデバイスとして制御する。
【００４８】
実施形態１に係るＰＣ１０３は、起動時（或いはスリープ状態からの復帰時）に、Ｓ６０１で、アプリケーション２１１を起動する。ＰＣ１０３の稼働中は常にアプリケーション２１１が実行される。前述したように、アプリケーション２１１は、プリンタ１０１を利用するユーザをカードリーダ１０２を用いて認証する機能を実現する。ここでカードリーダ１０２のＵＳＢデバイス識別情報「Ｚ」は、予めＰＣ１０３に設定されているものとし、アプリケーション２１１は、この設定に基づいて以降の動作を行う。同様にプリンタ１０１のＩＰアドレスも予めＰＣ１０３に設定されているものとし、アプリケーション２１１は、このプリンタ１０１のＩＰアドレスに基づき以降の動作を行うものとする。
【００４９】
Ｓ６０１でアプリケーション２１１を起動した後、Ｓ６０２でＰＣ１０３は、プリンタ１０１に対してＵＳＢデバイス情報を要求する。このＵＳＢデバイス情報の要求は、ＰＣ１０３のアプリケーション２１１によって行われ、アプリケーション２１１は、この要求を仮想接続制御ドライバ２１４に渡すと、仮想接続制御ドライバ２１４は、この要求をＮＷ通信制御ドライバ２１３に渡す。ＮＷ通信制御ドライバ２１３は、この要求を行うＵＳＢＮＷデータをプリンタ１０１に送信する。
【００５０】
図７は、実施形態１に係るＵＳＢＮＷデータの一例を示す図である。
【００５１】
このＵＳＢＮＷデータは、実施形態１に係るシステムによるＵＳＢＮＷ制御において、ＰＣ１０３とプリンタ１０１との間で送受信されるデータである。
【００５２】
このＵＳＢＮＷデータは、ＵＳＢＮＷ識別情報７０１、データサイズ７０２、データ種別情報７０３、ＵＳＢデバイス識別情報７０４、ＵＳＢ転送データ７０５を含んでいる。ＵＳＢＮＷ識別情報７０１は、以降に続くデータがＵＳＢＮＷ制御用のデータであることを示すヘッダ情報である。データサイズ７０２は、このＵＳＢＮＷデータの総データサイズを示す。データ種別情報７０３は、ＵＳＢＮＷデータの種別を示す識別情報であり、その詳細は後述する。ＵＳＢデバイス識別情報７０４は、ＵＳＢＮＷ制御対象のＵＳＢデバイスを指定或いは認識するための情報である。実施形態１では、ＵＳＢＮＷ制御対象のＵＳＢデバイスはカードリーダ１０２であるので、ＵＳＢデバイス識別情報７０４はカードリーダ１０２が有するＵＳＢデバイス識別情報と一致する。ＵＳＢ転送データ７０５は、ＰＣ１０３がカードリーダ１０２を制御するためのデータである。尚、ＵＳＢデバイス情報の要求を行うＵＳＢＮＷデータの場合、ＵＳＢデバイス識別情報７０４、ＵＳＢ転送データ７０５は不要となる。
【００５３】
プリンタ１０１はＳ６０２でＰＣ１０３からＵＳＢデバイス情報の要求を受けると、Ｓ６０３でＰＣ１０３に対してＵＳＢデバイス情報を応答する。具体的には、ＰＣ１０３から送信されたデータを、プリンタ１０１のＮＷ通信制御ドライバ２０３が、ＮＷ通信制御部１１７を介して受信する。ＮＷ通信制御ドライバ２０３は、その受信したデータがＵＳＢＮＷデータか否かをＵＳＢＮＷ識別情報７０１に基づいて判定する。そしてプリンタ１０１が受信したデータがＵＳＢＮＷデータであると判定すると、その受信したＵＳＢＮＷデータを仮想接続制御ドライバ２０４に渡す。これにより仮想接続制御ドライバ２０４は、そのＵＳＢＮＷデータのデータ種別情報７０３に基づいて、そのＵＳＢＮＷデータの種別を識別する。この場合のデータ種別情報７０３は、このＵＳＢＮＷデータがＵＳＢデバイス情報要求であることを示す情報である。従って仮想接続制御ドライバ２０４は、このＵＳＢＮＷデータがＰＣ１０３からのＵＳＢデバイス情報要求であると識別できる。このＵＳＢデバイス情報要求の識別が、前述した図４のＳ４０３に示したＰＣ１０３からのＵＳＢデバイス情報要求を受信したかどうかの判定処理に相当する。
【００５４】
こうしてＰＣ１０３から、ＵＳＢデバイス情報要求を受信したと判定すると、仮想接続制御ドライバ２０４は、その要求に応答するＵＳＢＮＷデータを生成する。この場合のＵＳＢＮＷデータは、図７に示すＵＳＢＮＷ識別情報７０１、データサイズ７０２、データ種別情報７０３、ＵＳＢデバイス識別情報７０４から構成される。このときデータ種別情報７０３は、このＵＳＢＮＷデータがＵＳＢデバイス情報の応答であることを示す情報となる。またＵＳＢデバイス識別情報７０４は、カードリーダ１０２のＵＳＢデバイス識別情報「Ｚ」となる。ＵＳＢデバイス情報の応答を行うＵＳＢＮＷデータの場合、ＵＳＢ転送データ７０５は不要となる。こうして仮想接続制御ドライバ２０４は、その生成したＵＳＢＮＷデータをＮＷ通信制御ドライバ２０３に渡すと、ＮＷ通信制御ドライバ２０３はＮＷ通信制御部１１７を介してＵＳＢＮＷデータをＰＣ１０３に送信する。以上説明したＵＳＢデバイス情報応答（Ｓ６０３）が、前述した図４のＳ４０６に示したＰＣ１０３へのＵＳＢデバイス情報の応答に該当する。
【００５５】
こうしてＰＣ１０３は、プリンタ１０１から送信されたＵＳＢＮＷデータをＮＷ通信制御ドライバ２１３によって受信する。ＮＷ通信制御ドライバ２１３は、受信したＵＳＢＮＷデータのＵＳＢＮＷ識別情報７０１により、その受信したデータがＵＳＢＮＷデータであることを識別する。そしてＮＷ通信制御ドライバ２１３は、そのＵＳＢＮＷデータを仮想接続制御ドライバ２１４に渡す。これにより仮想接続制御ドライバ２１４は、ＵＳＢＮＷデータのデータ種別情報７０３によって、このＵＳＢＮＷデータがＵＳＢデバイス情報応答であることを識別する。更に仮想接続制御ドライバ２１４は、ＵＳＢＮＷデータのＵＳＢデバイス識別情報７０４に基づいて、プリンタ１０１に接続されているＵＳＢデバイスがカードリーダ１０２であることを認識する。こうしてＳ６０４で、アプリケーション２１１はカードリーダ１０２の仮想接続制御が可能な状態であると判定し、ＰＣ１０３によるカードリーダ１０２の仮想接続が確立される。
【００５６】
こうして仮想接続を確立した後、Ｓ６０５とＳ６０６で、ＰＣ１０３はカードリーダ１０２との間でデータの送受信を行う。具体的には、Ｓ６０５でＰＣ１０３とプリンタ１０１との間でＵＳＢＮＷデータの送受信が行われ、Ｓ６０６で、プリンタ１０１とカードリーダ１０２との間でＵＳＢ転送データの送受信が行われる。
【００５７】
ここで、Ｓ６０５のＵＳＢＮＷデータの送受信、及びＳ６０６でのＵＳＢ転送データの送受信について説明する。
【００５８】
まずＵＳＢＮＷデータの送受信（Ｓ６０５）及びＵＳＢ転送データの送受信（Ｓ６０６）において、アプリケーション２１１の要求によって、ＰＣ１０３からデータを送信する場合について説明する。
【００５９】
この場合、アプリケーション２１１からの要求を受けたＵＳＢデバイスドライバ２１２は、カードリーダ１０２に送信するデータ（ＵＳＢ転送データ７０５）を仮想接続制御ドライバ２１４に渡す。仮想接続制御ドライバ２１４は、そのＵＳＢ転送データ７０５に、ＵＳＢＮＷ識別情報７０１、データサイズ７０２、データ種別情報７０３、ＵＳＢデバイス識別情報７０４を付加したＵＳＢＮＷデータを生成する。このときデータ種別情報７０３は、カードリーダ１０２に対するＵＳＢ転送データ種別を識別する情報となる。このＵＳＢ転送データ種別としては、Control転送、Interrupt転送、Isochronous転送、Bulk転送などが挙げられる。ＵＳＢデバイス識別情報７０４は、カードリーダ１０２のＵＳＢデバイス識別情報「Ｚ」である。そして仮想接続制御ドライバ２１４は、こうして生成されたＵＳＢＮＷデータをＮＷ通信制御ドライバ２１３に渡すと、ＮＷ通信制御ドライバ２１３はプリンタ１０１に送信する。プリンタ１０１は、前述したＵＳＢデバイス情報要求の受信動作と同様に、ＰＣ１０３から送信されたデータを、ＮＷ通信制御ドライバ２０３によって受信し、その受信したデータがＵＳＢＮＷデータであることをＵＳＢＮＷ識別情報７０１に基づいて認識する。続いてＮＷ通信制御ドライバ２０３は、そのＵＳＢＮＷデータを仮想接続制御ドライバ２０４に渡す。仮想接続制御ドライバ２０４は、そのＵＳＢＮＷデータのデータ種別情報７０３によって、このＵＳＢＮＷデータがＵＳＢ転送データであることを認識する。そして仮想接続制御ドライバ２０４は、ＵＳＢデバイス識別情報７０４によって、ＵＳＢ転送データ７０５がカードリーダ１０２宛のものであることを識別する。更に仮想接続制御ドライバ２０４は、そのＵＳＢＮＷデータからＵＳＢ転送データ７０５を抽出し、ＵＳＢデバイス制御部１１８を介してＵＳＢ転送データ７０５をカードリーダ１０２に送信する。
【００６０】
一方、プリンタ１０１が受信したデータがＵＳＢＮＷデータでない場合、即ち受信したデータにＵＳＢＮＷ識別情報７０１が存在しない場合は、前述した仮想接続制御ドライバ２０４によるカードリーダ１０２へのデータ送信は行わない。ＮＷ通信制御ドライバ２０３によって受信したデータを、受信したデータの内容に応じてプリンタ１０１の内部で処理する。
【００６１】
次にＵＳＢＮＷデータ送受信（Ｓ６０５）及びＵＳＢ転送データの送受信（Ｓ６０６）において、アプリケーション２１１の制御により、カードリーダ１０２からデータを受信する場合の動作を説明する。この場合の動作も、基本的に前述したＰＣ１０３からデータを送信する動作と同様である。カードリーダ１０２が送信するＵＳＢ転送データ７０５は、プリンタ１０１のＵＳＢデバイス制御部１１８を介して仮想接続制御ドライバ２０４に渡される。仮想接続制御ドライバ２０４は、ＵＳＢ転送データ７０５にＵＳＢＮＷ識別情報７０１、データサイズ７０２、データ種別情報７０３、ＵＳＢデバイス識別情報７０４を付加してＵＳＢＮＷデータを生成する。続いて仮想接続制御ドライバ２０４は、その生成したＵＳＢＮＷデータをＮＷ通信制御ドライバ２０３に渡すと、ＮＷ通信制御ドライバ２０３は、ＮＷ通信制御部１１７を介してＵＳＢＮＷデータをＰＣ１０３に送信する。
【００６２】
以上がＵＳＢＮＷデータ送受信（Ｓ６０５）及びＵＳＢ転送データの送受信（Ｓ６０５）動作である。
【００６３】
図４を参照して説明したように、実施形態１に係るプリンタ１０１は、ＰＣ１０３に対してＵＳＢデバイス情報を応答した（Ｓ６０３）後、ＷＯＬパケットを所定時間間隔で繰り返しＰＣ１０３に対して送信する（Ｓ６０７）。プリンタ１０１は、所定時間間隔で繰り返しＷＯＬパケットをＰＣ１０３に送信するが、ＰＣ１０３はアプリケーション２１１実行中も含む稼働状態では、このＷＯＬパケットに反応することはなく無視する。
【００６４】
次にＰＣ１０３に対するユーザの誤操作などにより、ＰＣ１０３がスリープ状態に移行（Ｓ６０８）した場合について説明する。
【００６５】
ＰＣ１０３がスリープ状態に移行すると、アプリケーション２１１は実行されなくなる。従ってＰＣ１０３によるカードリーダ１０２の仮想接続制御もできなくなり、プリンタ１０１を利用したいユーザのカード認証もできなくなる。しかしプリンタ１０１は、所定時間間隔で繰り返しＷＯＬパケットをＰＣ１０３に送信しているため、ＰＣ１０３はスリープ状態に移行した後、Ｓ６０９で、プリンタ１０１から送信されたＷＯＬパケットを検知することになる。これによりＳ６１０で、ＰＣ１０３はスリープ状態から復帰し、Ｓ６１１でアプリケーション２１１を起動する。その後、前述したＳ６０２〜Ｓ６０４と同様の動作を行い、ＰＣ１０３によるカードリーダ１０２の仮想接続制御動作を再開することができる。  
以上説明したように実施形態１によれば、プリンタ１０１は、ＵＳＢＮＷ制御対象デバイスの登録情報によって、カードリーダ１０２がＵＳＢＮＷ制御対象デバイスとして登録済か否かを判定する。そしてカードリーダ１０２がＵＳＢＮＷ制御対象デバイスとして登録されていない場合、プリンタ１０１はＵＳＢＮＷ制御対象デバイスの登録情報にカードリーダ１０２を登録する。そしてＵＳＢＮＷ制御対象デバイスとして登録した後、ＷＯＬパケットを所定時間間隔で繰り返しＰＣ１０３に対して送信する。同様に、カードリーダ１０２がＵＳＢＮＷ制御対象デバイスとして登録済の場合も、ＷＯＬパケットを所定時間間隔で繰り返しＰＣ１０３に対して送信する。
【００６６】
これにより、ＰＣ１０３によるカードリーダ１０２の仮想接続中にＰＣ１０３がスリープ状態へ移行した場合でも、ＰＣ１０３をスリープ状態から復帰させ、ＰＣ１０３によるカードリーダ１０２の仮想接続制御を再開させることができる。そしてユーザが、プリンタ１０１を利用するときのカードリーダによるユーザの認証機能を実行させることができる。
【００６７】
［実施形態２］
前述の実施形態１では、ＰＣ１０３に対してプリンタ１０１がＷＯＬパケットを所定時間間隔で繰り返し送信するものであった。それに対し本発明の実施形態２は、ＰＣ１０３からネットワークへの応答の有無をプリンタ１０１が検知した場合に、ＰＣ１０３に対してＷＯＬパケットを送信するものである。以下実施形態２を説明する。尚、実施形態２に係る情報処理システムの構成及びプリンタ１０１のハードウェア構成は、前述の実施形態１と同等であるため、その説明を省略する。
【００６８】
図８は、本発明の実施形態２に係るプリンタ１０１の動作を説明するフローチャートである。ここでも実施形態１と同様に、このフローチャートで示す処理は、フラッシュメモリ１１２或いはＲＡＭ１１３に格納されたプログラムをＣＰＵ１１１が実行することにより達成される。
【００６９】
図８に示すフローチャートも、プリンタ１０１がカードリーダ１０２を検知することにより開始され、Ｓ８０１でＣＰＵ１１１は、前述の実施形態１の図４のＳ４０１〜Ｓ４０５，Ｓ４０９〜Ｓ４１０と同様の動作を行う。ここでは説明を簡便化するため、Ｓ４０１〜Ｓ４０５，Ｓ４０９〜Ｓ４１０の動作を「ＳＴＥＰ８０１」で表現する。
【００７０】
Ｓ８０１を実行するとＳ４０６に進み、ＣＰＵ１１１は、実施形態１と同様にＰＣ１０３に対してＵＳＢデバイス情報を応答する。
【００７１】
Ｓ４０６でＵＳＢデバイス情報を応答した後Ｓ８０２に進み、ＣＰＵ１１１はＰＩＮＧ要求パケット（確認コマンド）をＰＣ１０３に送信する。具体的には、プリンタ１０１の仮想接続制御ドライバ２０４がＰＩＮＧ要求パケットを生成してＮＷ通信制御ドライバ２０３に渡す。これによりＮＷ通信制御ドライバ２０３は、そのＰＩＮＧ要求パケットをＮＷ通信制御部１１７を介してＰＣ１０３に送信する。
【００７２】
続いてＳ８０３に進みＣＰＵ１１１は、そのＰＩＮＧ要求に対して、ＰＣ１０３からＰＩＮＧ応答があるか否かを判定する。ここで、ＰＩＮＧ要求に対してＰＣ１０３から返送されるＰＩＮＧ応答パケットを、ＮＷ通信制御ドライバ２０３が、ＮＷ通信制御部１１７を介して検知する。そしてＮＷ通信制御ドライバ２０３は、そのＰＩＮＧ応答パケット検知を仮想接続制御ドライバ２０４に渡す。ＰＩＮＧ応答パケットを受けると、仮想接続制御ドライバ２０４は、ＰＣ１０３からのＰＩＮＧ応答があると判定する。ＰＩＮＧ応答パケットが検知されない場合、ＰＣ１０３のＰＩＮＧ応答がないと判定する。ＰＣ１０３が稼働状態の場合、ＰＣ１０３はＰＩＮＧ応答パケットをプリンタ１０１に返送する。ＰＣ１０３がスリープ状態或いは電源オフ状態の場合は、ＰＩＮＧ応答パケットをプリンタ１０１に対して返送することはできない。
【００７３】
Ｓ８０３でＣＰＵ１１１が、ＰＩＮＧ応答があると判定するとＳ８０７に進み、ＣＰＵ１１１は、所定時間が経過するのを待ってＳ８０２に進む。こうしてＰＩＮＧ応答があると、所定時間間隔で前述したＰＩＮＧ要求パケットをＰＣ１０３に送信して、Ｓ８０３のＰＩＮＧ応答があるか否かの判定の動作を繰り返す。尚、この所定時間間隔は、既定間隔であっても、ユーザが変更可能な時間間隔であってもよい。
【００７４】
Ｓ８０３でＣＰＵ１１１が、ＰＣ１０３からのＰＩＮＧ応答がないと判定するとＳ８０４に進みＣＰＵ１１１は、所定時間が経過した否か、換言するとタイムアウトしたか否かを判定する。具体的にはプリンタ１０１が備えるタイマ（不図示）の値が所定値に達したか否かを判定する。この所定値は既定値、ユーザが変更可能な値のどちらであってもよい。このタイマの初期値はゼロであり、Ｓ８０３においてＰＣ１０３のＰＩＮＧ応答がない場合に計時を行う。Ｓ８０３でＰＣ１０３からのＰＩＮＧ応答があったと判定するとタイマの値はゼロにクリアされ、計時を終了する。
【００７５】
Ｓ８０４でタイムアウトしていないと判定するとＳ８０５に進みＣＰＵ１１１は、ＰＣ１０３のＭＡＣアドレス宛のＷＯＬパケットを送信する。その後、ＣＰＵ１１１は、前述したＰＩＮＧ要求パケット送信（Ｓ８０２）動作に戻り、前述してきた一連の動作を、タイムアウトするまで繰り返す。こうしてタイムアウトが発生するまでの間に、ＰＣ１０３からのＰＩＮＧ応答がない場合、プリンタ１０１は繰り返しＷＯＬパケットを送信することになる。
【００７６】
ここでもしＰＣ１０３がスリープ状態であれば、タイムアウトまでの間に、ＰＣ１０３はＷＯＬパケットを検知してスリープ状態から復帰する。こうしてＰＣ１０３がスリープ状態から復帰すると、ＰＣ１０３はＰＩＮＧ応答パケットをプリンタ１０１に返送することが可能となる。これによりＣＰＵ１１１は、ＰＣ１０３からのＰＩＮＧ応答を検知し、ＰＣ１０３が稼働している間は、前述したＰＩＮＧ要求パケット送信（Ｓ８０２）、ＰＩＮＧ応答があるか否かの判定（Ｓ８０３）の動作を繰り返す。
【００７７】
ここで、もしＰＣ１０３が電源オフの状態であれば、プリンタ１０１がＷＯＬパケットを繰り返し送信したとしても、ＰＣ１０３は電源オフ状態のままである。従って、ＰＣ１０３が電源オフ状態の場合は、ＣＰＵ１１１は、ＰＣ１０３のＰＩＮＧ応答を受信することはなく、前述したタイマによる計時を継続し、所定時間が経過するとタイムアウトすることになる。換言すれば、タイマがタイムアウトした場合は、ＰＣ１０３は電源オフの状態にあると言える。
【００７８】
よって、タイマがタイムアウトした場合はＳ８０６に進みＣＰＵ１１１は、ＰＣ１０３の電源をオンするようにユーザに対して通知する。この通知は、ユーザに対し、ＰＣ１０３の電源オンを促すものであればよい。例えばプリンタ１０１が、プリンタ１０１の管理者宛にＰＣ１０３の電源オンを促す内容のメールを送信するようにしてもよい。或いは、プリンタ１０１が備える操作部１１４の表示部（不図示）に、ユーザにＰＣ１０３の電源オンを促す画面を表示するようにしてもよい。更に或いはプリンタ１０１とネットワーク１０４を介して接続された他のＰＣ（不図示）のプリンタ用のリモートＵＩ画面にＰＣ１０３の電源オンを促す画面を表示するようにしてもよい。
【００７９】
Ｓ８０６でＣＰＵ１１１は、ＰＣ１０３の電源をオンするようにユーザに対して通知した後、ＣＰＵ１１１は、前述したＰＩＮＧ要求パケットの送信（Ｓ８０２）動作に戻り、前述してきた一連の動作を繰り返す。
【００８０】
次に、ユーザの誤操作などにより、ＰＣ１０３がスリープ状態にある場合の実施形態２に係る情報処理システムの動作について説明する。実施形態１において説明したように、ＰＣ１０３がスリープ状態にある場合、ＰＣ１０３によるカードリーダ１０２の仮想接続制御ができないため、カードリーダ１０２を使用した、プリンタ１０１を利用するユーザの認証もできない。スリープ状態にあるＰＣ１０３は、Ｓ８０５の動作においてプリンタ１０１から送信されたＷＯＬパケットを検知すると、スリープ状態から復帰してアプリケーション２１１を起動する。その後、実施形態１のＳ６０２〜Ｓ６０４と同様の動作を行い、ＰＣ１０３によるカードリーダ１０２の仮想接続制御動作を再開することが可能となる。そしてプリンタ１０１を利用したいユーザのカード認証機能を再開させることが可能となる。
【００８１】
ユーザの誤操作などにより、ＰＣ１０３が電源オフの状態にある場合の動作について説明する。
【００８２】
ＰＣ１０３が電源オフ状態にある場合、ＰＣ１０３によるカードリーダ１０２の仮想接続制御ができないことは言うまでもない。ＰＣ１０３が電源オフの状態にある場合、前述したようにプリンタ１０１は、Ｓ８０３においてＰＣ１０３からＰＩＮＧ応答を得ることはなく、所定時間経過後、プリンタ１０１が備えるタイマがタイムアウトする。これによりＣＰＵ１１１はＳ８０６に進み、ＰＣ１０３の電源をオンするようにユーザに対して通知する。この通知を受けたユーザがＰＣ１０３の電源をオンにすると、ＰＣ１０３は稼働状態となり、アプリケーション２１１が起動される。その後、実施形態１の図６におけるＳ６０２〜Ｓ６０４と同様の動作を行い、ＰＣ１０３によるカードリーダ１０２の仮想接続動作を再開することが可能となる。
【００８３】
以上説明したように実施形態２によれば、ＰＣ１０３が電源オフ状態にある場合、プリンタ１０１は、プリンタ１０１の管理者に対し、ＰＣ１０３が電源オフの状態であることを通知できる。
【００８４】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８５】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００８６】
１０１…プリンタ、１０２…カードリーダ、１０３…ＰＣ，１１１…ＣＰＵ、１１３…ＲＡＭ、１１４…操作部、２０２…ローカルＵＳＢデバイスドライバ、２０３，２１３…ＮＷ通信制御ドライバ、２０４，２１４…仮想接続制御ドライバ。
【図１】
0006373087.tif 000002
【図２】
0006373087.tif 000003
【図３】
0006373087.tif 000004
【図４】
0006373087.tif 000005
【図５】
0006373087.tif 000006
【図６】
0006373087.tif 000007
【図７】
0006373087.tif 000008
【図８】
0006373087.tif 000009