(57)【要約】【課題】リモート支援システムにおいて、ユーザ環境の情報処理装置（ＰＣ）にインストールされたリモート支援用のプリンタドライバが、リモート支援の終了後に当該情報処理装置上に残り続けることを防止する技術を提供する。【解決手段】ユーザＰＣ１０１の通信処理部３１１は、オペレータＰＣ１０３によるリモート支援を受けるために中継サーバ１０２との接続を確立し、ユーザＰＣ１０１からオペレータＰＣ１０３のプリンタドライバ３３２に対して印刷指示を行うためのプリンタドライバ３３１を、ユーザＰＣ１０１にインストールする。通信処理部３１１は、プリンタドライバ３１２によって生成された印刷データを、プリンタドライバ３３２による印刷のために、中継サーバ１０２を介してオペレータＰＣ１０３へ送信する。通信処理部３１１は、中継サーバ１０２との接続が切断されたことに従って、プリンタドライバ３１２をユーザＰＣ１０１から削除する。【選択図】図３
2019046247.tif 000002
【特許請求の範囲】
【請求項１】
第１情報処理装置と、前記第１情報処理装置のリモート支援を行う第２情報処理装置とが、中継サーバを介して通信する通信システムにおける、前記第１情報処理装置であって、
前記第２情報処理装置による前記リモート支援を受けるために前記中継サーバとの接続を確立する接続手段と、
前記第１情報処理装置から前記第２情報処理装置の第２のプリンタドライバに対して印刷指示を行うための第１のプリンタドライバを、前記第１情報処理装置にインストールするインストール手段と、
前記第１のプリンタドライバによって生成された印刷データを、前記第２のプリンタドライバによる印刷のために前記中継サーバを介して前記第２情報処理装置へ送信する送信手段と、
前記中継サーバとの前記接続が切断されたことに従って、前記第１のプリンタドライバを前記第１情報処理装置から削除する削除手段と、
を備えることを特徴とする第１情報処理装置。
【請求項２】
前記中継サーバとの接続の切断時に前記第１のプリンタドライバを削除する第１設定を行う第１設定手段を更に備え、
前記削除手段は、前記第１設定が行われている場合に、前記中継サーバとの前記接続の切断に従って前記第１のプリンタドライバを削除する
ことを特徴とする請求項１に記載の第１情報処理装置。
【請求項３】
前記第１設定が行われていない場合に、前記中継サーバとの前記接続の切断時に、前記第１のプリンタドライバを削除するか否かをユーザに確認する第１確認手段を更に備え、
前記削除手段は、前記第１設定が行われていない場合に、前記第１確認手段による確認の結果に従って、前記第１のプリンタドライバを削除する
ことを特徴とする請求項２に記載の第１情報処理装置。
【請求項４】
前記中継サーバとの接続が切断されるごとに、前記第１のプリンタドライバを削除するか否かをユーザに確認する第２設定を行う第２設定手段を更に備え、
前記第１確認手段は、前記第２設定が行われている場合に、前記第１のプリンタドライバを削除するか否かをユーザに確認する
ことを特徴とする請求項３に記載の第１情報処理装置。
【請求項５】
前記インストール手段は、前記中継サーバを介して前記第２情報処理装置から前記第２のプリンタドライバに関する情報を取得し、取得した情報に基づいて、前記第１のプリンタドライバをインストールする
ことを特徴とする請求項１から４のいずれか１項に記載の第１情報処理装置。
【請求項６】
前記インストール手段は、前記接続手段によって前記中継サーバとの前記接続が確立されると、前記第１のプリンタドライバをインストールする
ことを特徴とする請求項１から５のいずれか１項に記載の第１情報処理装置。
【請求項７】
前記第１のプリンタドライバに対して前記印刷指示が行われると、前記第１のプリンタドライバは、前記第２情報処理装置へ印刷データへの送信を許可するか否かをユーザに確認し、前記送信が許可されると、前記印刷データを前記送信手段へ出力する
ことを特徴とする請求項１から６のいずれか１項に記載の第１情報処理装置。
【請求項８】
前記中継サーバとの接続の確立時に前記第１のプリンタドライバをインストールする第３設定を行う第３設定手段を更に備え、
前記インストール手段は、前記第３設定が行われている場合に、前記中継サーバとの前記接続が確立されると前記第１のプリンタドライバをインストールする
ことを特徴とする請求項１から７のいずれか１項に記載の第１情報処理装置。
【請求項９】
前記第３設定が行われていない場合に、前記中継サーバとの前記接続の確立時に、前記第１のプリンタドライバをインストールするか否かをユーザに確認する第２確認手段を更に備え、
前記インストール手段は、前記第３設定が行われていない場合に、前記第２確認手段による確認の結果に従って、前記第１のプリンタドライバをインストールする
ことを特徴とする請求項８に記載の第１情報処理装置。
【請求項１０】
前記中継サーバとの接続が確立されるごとに、前記第１のプリンタドライバをインストールするか否かをユーザに確認する第４設定を行う第４設定手段を更に備え、
前記第２確認手段は、前記第４設定が行われている場合に、前記第１のプリンタドライバをインストールするか否かをユーザに確認する
ことを特徴とする請求項９に記載の第１情報処理装置。
【請求項１１】
請求項１から１０のいずれか１項に記載の第１情報処理装置と、
前記第１情報処理装置のリモート支援を行う第２情報処理装置と
前記第１情報処理装置と前記第２情報処理装置とがネットワークを介してそれぞれ接続する中継サーバであって、前記第１情報処理装置と前記第２情報処理装置との間の前記リモート支援のための通信を中継する中継サーバと、
を備えることを特徴とする通信システム。
【請求項１２】
第１情報処理装置と、前記第１情報処理装置のリモート支援を行う第２情報処理装置とが、中継サーバを介して通信する通信システムにおける、前記第１情報処理装置の制御方法であって、
前記第２情報処理装置による前記リモート支援を受けるために前記中継サーバとの接続を確立する接続工程と、
前記第１情報処理装置から前記第２情報処理装置の第２のプリンタドライバに対して印刷指示を行うための第１のプリンタドライバを、前記第１情報処理装置にインストールするインストール工程と、
前記仮想プリンタドライバによって生成された印刷データを、前記第２のプリンタドライバによる印刷のために前記中継サーバを介して前記第２情報処理装置へ送信する送信工程と、
前記中継サーバとの前記接続が切断されたことに従って、前記第１のプリンタドライバを前記第１情報処理装置から削除する削除工程と、
を含むことを特徴とする第１情報処理装置の制御方法。
【請求項１３】
請求項１２に記載の第１情報処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法、通信システム、並びにプログラムに関するものである。
【背景技術】
【０００２】
近年、複合機（ＭＦＰ）等の画像処理装置では、音声、動画通信及び遠隔操作による遠隔保守サービスが提案されている。遠隔保守サービスでは、複合機でのエラー発生時に、コールセンタのオペレータが音声及び動画通信でユーザに直接エラー解決方法を伝えるか、コールセンタのオペレータが複合機の遠隔操作を行うことで、エラーの解決が可能となる。これにより、保守のための人員が現地に赴く必要がなく、エラーの解決に要する時間の短縮が可能となる。
【０００３】
このような遠隔保守サービスでは、多くの場合、オフィスに導入されているファイアウォール（ＦＷ）に起因して、ユーザ環境内の情報端末（複合機又はＰＣ）とコールセンタの情報端末（ＰＣ）とが直接セッションを確立することは難しい。そこで、ＨＴＴＰ（Hypertext Transfer Protocol）を利用して、情報端末間でセッションを確立する技術が提案されている。一般的に、ＦＷの内側にある情報端末へのインターネット側からの接続は制限されるのに対して、ＦＷの内側にある情報端末からインターネット側へのＨＴＴＰによる接続は許可される。このようなＨＴＴＰによる接続の特徴を利用して、ＨＴＴＰクライアントとして接続可能なセッション管理サーバ（中継サーバ）に対して、２つの情報端末がそれぞれ接続することで、当該中継サーバを介して情報端末間のセッションを確立できる。
【０００４】
上述の遠隔保守サービスでは、ユーザ環境においてプリンタドライバを用いてＰＣから複合機へ印刷の実行を指示した際に異常画像が複合機によって印刷（出力される）トラブルに対処するケースがある。この場合、遠隔保守サービスを提供するコールセンタでは、ユーザ環境において複合機による印刷に用いられた印刷データを確認することが必要になりうる。このような印刷を実現する技術として、特許文献１では、メディア・サーバを介して接続された遠隔装置間で文書データを送信することにより、文書データの受信側で文書を印刷する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２４４５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の従来技術では、ユーザ環境内のＰＣから、リモート支援用のプリンタドライバを利用してコールセンタ内の画像形成装置に印刷を実行させた後に、ユーザ又はオペレータがＰＣ上でプリンタドライバを削除し忘れることがありうる。しかし、リモート支援の終了後にユーザ環境内のＰＣにリモート支援用のプリンタドライバが残り続けると、当該プリンタドライバをユーザが誤って操作してしまう可能性がある。
【０００７】
本発明は、上述の問題に鑑みてなされたものである。本発明は、リモート支援システムにおいて、ユーザ環境の情報処理装置（ＰＣ）にインストールされたリモート支援用のプリンタドライバが、リモート支援の終了後に当該情報処理装置上に残り続けることを防止する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る情報処理装置は、第１情報処理装置と、前記第１情報処理装置のリモート支援を行う第２情報処理装置とが、中継サーバを介して通信する通信システムにおける、前記第１情報処理装置であって、前記第２情報処理装置による前記リモート支援を受けるために前記中継サーバとの接続を確立する接続手段と、前記第１情報処理装置から前記第２情報処理装置の第２のプリンタドライバに対して印刷指示を行うための第１のプリンタドライバを、前記第１情報処理装置にインストールするインストール手段と、前記第１のプリンタドライバによって生成された印刷データを、前記第２のプリンタドライバによる印刷のために前記中継サーバを介して前記第２情報処理装置へ送信する送信手段と、前記中継サーバとの前記接続が切断されたことに従って、前記第１のプリンタドライバを前記第１情報処理装置から削除する削除手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、リモート支援システムにおいて、ユーザ環境の情報処理装置にインストールされたリモート支援用のプリンタドライバが、リモート支援の終了後に当該情報処理装置上に残り続けることを防止できる。
【図面の簡単な説明】
【００１０】
【図１】リモート支援システムのネットワーク構成例を示す図
【図２】リモート支援システムのハードウェア構成例を示すブロック図
【図３】リモート支援システムのソフトウェア構成例を示すブロック図
【図４Ａ】、
【図４Ｂ】、
【図４Ｃ】ユーザＰＣにおける処理の手順を示すフローチャート
【図５】ユーザＰＣにおける処理の手順を示すフローチャート
【図６】中継サーバにおける処理の手順を示すフローチャート
【図７】オペレータＰＣにおける処理の手順を示すフローチャート
【図８】リモート支援システムにおける印刷実行時のデータの転送、及び転送されるデータの形式の例を示す図
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
＜リモート支援システムのネットワーク構成＞
図１は、一実施形態に係るリモート支援システムのネットワーク構成例を示す図である。図１に示すリモート支援システム（通信システム）において、ユーザ環境内のユーザＰＣ１０１は、ファイアウォール（ＦＷ）１０５を通じてネットワーク１０７に接続されている。また、コールセンタ内のオペレータＰＣ１０３は、ＦＷ１０６を通じてネットワーク１０７に接続されている。ネットワーク１０７には、更に中継サーバ１０２が接続されている。ユーザＰＣ１０１及びオペレータＰＣ１０３は、ＨＴＴＰにより呼制御を実行してデータ通信を行うデータ通信機能を備えている。本実施形態では、オペレータＰＣ１０３は、中継サーバ１０２を介してユーザＰＣ１０１と通信することによってユーザＰＣ１０１のリモート支援を行う。このように、本実施形態のリモート支援システムは、ユーザＰＣ１０１（第１情報処理装置）と、ユーザＰＣ１０１のリモート支援を行うオペレータＰＣ１０３（第２情報処理装置）とが、中継サーバ１０２を介して通信する通信システムである。
【００１３】
ＨＴＴＰによるデータ通信では、クライアントノード同士は、中継サーバ（本実施形態では中継サーバ１０２）から提供されるＵＲＩ（Uniform Resource Identifier）に対してＰＯＳＴ／ＧＥＴを行うことでデータ通信を実施する。これにより、クライアントノード同士は、プライベートアドレスエリア又はＦＷによって遮られていてもデータ通信を行うことができる。本実施形態では、ユーザＰＣ１０１及びオペレータＰＣ１０３は、このようなＨＴＴＰクライアントノードとして動作する。
【００１４】
ＦＷ１０６によってネットワーク１０７と隔てられた、コールセンタ内のネットワーク（ＬＡＮ）には、オペレータＰＣ１０３だけでなく画像形成装置１０４も接続されている。画像形成装置１０４は、オペレータＰＣ１０３からＬＰＲ（Line PRinter daemon protcol）により印刷コマンドを受信する機能、及び受信した印刷コマンドに従ってシート（記録材等）への画像の印刷を行う機能を備えている。
【００１５】
なお、本実施形態では、各クライアントノードがＦＷを介してネットワーク１０７に接続して通信を行うネットワーク構成を用いているが、各クライアントノードがＦＷを介さずにネットワーク１０７に接続するネットワーク構成が用いられてもよい。また、ネットワーク１０７には、任意の数のユーザＰＣ、ＦＷ、画像形成装置及びオペレータＰＣを接続可能である。更に、ユーザＰＣ１０１とオペレータＰＣ１０３との間の通信において、ＨＴＴＰ以外の通信プロトコルが使用されてもよいし、オペレータＰＣ１０３と画像形成装置１０４との間の通信において、ＬＰＲ以外の通信プロトコルが使用されてもよい。
【００１６】
＜リモート支援システムのハードウェア構成＞
図２は、本実施形態に係るリモート支援システムのハードウェア構成例を示すブロック図である。なお、図２では、図１に示したＦＷ１０５，１０６を省略している。
【００１７】
ユーザＰＣ１０１において、ＣＰＵ２０１は、ＲＯＭ２０２又はハードディスク（ＨＤＤ）２０４に記憶された制御プログラムに基づいて、システムバス２０５に接続された各種デバイスとのアクセスを総括的に制御する。ＲＯＭ２０２は、ＣＰＵ２０１が実行可能な制御プログラム等を記憶している。ＲＡＭ２０３は、主としてＣＰＵ２０１の主メモリ、ワークエリア等として機能し、増設ポート（図示せず）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。ＨＤＤ２０４は、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル等の各種データを記憶する。なお、ＨＤＤ２０４の他に、ＳＤカードやフラッシュメモリ等が外部記憶装置として利用されてもよい。
【００１８】
ネットワークＩ／Ｆ２０６は、ネットワークケーブルを介して外部ネットワークに接続されており、外部ネットワークを介して外部装置とデータ通信を行う。本実施形態では、ネットワークＩ／Ｆ２０６は、ＦＷ１０５を介してネットワーク１０７に接続されている。キーボードＩ／Ｆ２０７は、キーボード２１１又はポインティングデバイス（図示せず）からのキー入力を制御する。ディプレイＩ／Ｆ２０８は、ディスプレイ２１２の表示を制御する。画像入力Ｉ／Ｆ２０９は、カメラ等の画像入力装置２１３からの画像入力を制御する。音声入出力Ｉ／Ｆ２１０は、ヘッドセット等の音声入出力装置２１４との間の音声入出力を制御する。
【００１９】
中継サーバ１０２において、ＣＰＵ２２１は、ＲＯＭ２２２又はＨＤＤ２２４に記憶された制御プログラムに基づいて、システムバス２２５に接続された各種デバイスとのアクセスを総括的に制御する。ＲＯＭ２２２は、ＣＰＵ２２１が実行可能な制御プログラム等を記憶している。ＲＡＭ２２３は、主としてＣＰＵ２２１の主メモリ、ワークエリア等として機能し、増設ポート（図示せず）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。ＨＤＤ２２４は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶する。なお、ＨＤＤ２２４の他に、ＳＤカードやフラッシュメモリ等が外部記憶装置として利用されてもよい。
【００２０】
ネットワークＩ／Ｆ２２６は、ネットワークケーブルを介して外部ネットワークと接続されており、外部ネットワークを介して外部装置とデータ通信を行う。本実施形態では、ネットワークＩ／Ｆ２２６は、ネットワーク１０７に接続されている。
【００２１】
オペレータＰＣ１０３において、ＣＰＵ２３１は、ＲＯＭ２３２又はＨＤＤ２３４に記憶された制御プログラムに基づいて、システムバス２３５に接続された各種デバイスとのアクセスを総括的に制御する。ＲＯＭ２３２は、ＣＰＵ２３１が実行可能な制御プログラム等を記憶している。ＲＡＭ２３３は、主としてＣＰＵ２３１の主メモリ、ワークエリア等として機能し、増設ポート（図示せず）に接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。ＨＤＤ２３４は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶する。なお、ＨＤＤ２３４の他に、ＳＤカードやフラッシュメモリ等が外部記憶装置として利用されてもよい。
【００２２】
ネットワークＩ／Ｆ２３６は、ネットワークケーブルを介して外部ネットワークに接続されており、外部ネットワークを介して外部装置とデータ通信を行う。本実施形態では、ネットワークＩ／Ｆ２３６は、ＦＷ１０６を介してネットワーク１０７に接続されている。キーボードＩ／Ｆ２３７は、キーボード２４１又はポインティングデバイス（図示せず）からのキー入力を制御する。ディプレイＩ／Ｆ２３８は、ディスプレイ２４２の表示を制御する。画像入力Ｉ／Ｆ２３９は、カメラ等の画像入力装置２４３からの画像入力を制御する。音声入出力Ｉ／Ｆ２３０は、ヘッドセット等の音声入出力装置２４４との間の音声入出力を制御する。
【００２３】
＜リモート支援システムのソフトウェア構成＞
図３は、本実施形態に係るリモート支援システムのソフトウェア構成例を示すブロック図である。なお、図３では、ユーザＰＣ１０１において仮想プリンタドライバ３１２が既にインストールされた状態を示している。
【００２４】
ユーザＰＣ１０１は、通信処理部３１１、仮想プリンタドライバ３１２、及び外部アプリケーション３１３を有する。通信処理部３１１は、中継サーバ１０２との通信処理を行う。外部アプリケーション３１３は、印刷を実行する機能を有する、ユーザＰＣ１０１の一般的な機能として提供されるアプリケーション（ソフトウェア）である。
【００２５】
仮想プリンタドライバ３１２は、外部アプリケーション３１３が印刷を実行する際に指定するプリンタに対応するプリンタドライバであり、オペレータＰＣ１０３のプリンタドライバ３３２に対して印刷指示を行うためのプリンタドライバである。仮想プリンタドライバ３１２は、外部アプリケーション３１３から印刷指示を受けると、通信処理部３１１に対して印刷データを転送する機能を有する。
【００２６】
オペレータＰＣ１０３は、通信処理部３３１、及びプリンタドライバ３３２を有する。通信処理部３３１は、中継サーバ１０２との通信処理を行う。プリンタドライバ３３２は、画像形成装置１０４に印刷を実行させる機能を有する。プリンタドライバ３３２は、オペレータＰＣ１０３の一般的な機能として提供されるアプリケーション（ソフトウェア）である。
【００２７】
中継サーバ１０２は、転送処理部３２１を有する。転送処理部３２１は、ユーザＰＣ１０１とオペレータＰＣ１０３との間の通信の転送（中継）を行う。画像形成装置１０４は、印刷実行部３４１を有する。印刷実行部３４１は、オペレータＰＣ１０３のプリンタドライバ３３２から印刷コマンドを受信すると、受信した印刷コマンドに従って印刷を実行する。
【００２８】
＜リモート支援システムの動作の流れ＞
本実施形態に係るリモート支援システム全体の動作の流れについて説明する。リモート支援システムでは、以下の（１）〜（６）の順に、ユーザＰＣ１０１、オペレータＰＣ１０３及び中継サーバ１０２がそれぞれ動作する。
【００２９】
（１）ユーザＰＣ１０１及びオペレータＰＣ１０３が、中継サーバ１０２にアクセス（接続）する。
（２）中継サーバ１０２が、２つのクライアント（ユーザＰＣ１０１及びオペレータＰＣ１０３）をペアリングすることにより、当該２つのクライアント間でセッションが確立される。なお、ペアリングは、例えば、２つのクライアントから共通のコード（番号及び／又は文字列）を受け付けてペアリングを行う方法等の、任意の方法により実現できる。
（３）中継サーバ１０２によるセッションの確立後、ユーザＰＣ１０１が、ユーザの操作に従って仮想プリンタドライバ３１２を作成（インストール）する。
（４）ユーザＰＣ１０１において、外部アプリケーション３１３から仮想プリンタドライバ３１２へ印刷指示が行われると、仮想プリンタドライバ３１２によって生成された印刷データが、中継サーバ１０２を介してオペレータＰＣ１０３へ転送される。
（５）オペレータＰＣ１０３において、プリンタドライバ３３２が、受信した印刷データに基づく印刷を画像形成装置１０４に実行させる。
（６）ユーザＰＣ１０１及びオペレータＰＣ１０３が、それぞれ中継サーバ１０２とのセッションを切断して処理を終了する。
【００３０】
ここで、図８は、上記（４）及び（５）における、ユーザＰＣ１０１から画像形成装置１０４までの印刷データの転送、及び転送されるデータの形式の例を示す図である。ＧＤＩ（Graphics Device Interface）コマンドは、プリンタドライバへデータを転送するための、Ｗｉｎｄｏｗｓ（登録商標）規格のコマンドである。本実施形態では、ユーザＰＣ１０１の外部アプリケーション３１３からオペレータＰＣ１０３のプリンタドライバ３３２まで、ＧＤＩコマンドによって印刷データが転送される。プリンタドライバ３２２は、受信した印刷データに基づいて、画像形成装置１０４の印刷実行部３４１に対してＬＰＲにより印刷コマンドを送信する。印刷実行部３４１は、受信した印刷コマンドに従って印刷を実行する。
【００３１】
以下では、図４Ａ乃至図７を参照して、ユーザＰＣ１０１、中継サーバ１０２、及びオペレータＰＣ１０３において実行される処理について、より詳細に説明する。
【００３２】
＜ユーザＰＣ１０１（通信処理部）の処理手順＞
図４Ａ及び図４Ｂは、ユーザＰＣ１０１における通信処理部３１１による処理の手順を示すフローチャートである。図４Ａ及び図４Ｂに示す各ステップの処理は、ＨＤＤ２０４に格納されたプログラムをＣＰＵ２０１がＲＡＭ２０３に読み出して実行することで、ユーザＰＣ１０１において実現される。図４Ａ及び図４Ｂに示す手順による処理は、例えば、通信処理部３１１の起動（即ち、リモート支援を受けるための処理を実現するリモート支援アプリケーション（以下、「リモート支援アプリ」と略記する。）の起動）に従って開始される。
【００３３】
ＣＰＵ２０１（通信処理部３１１）は、Ｓ４０１で、ワンタイムパスワードの入力画面をディスプレイ２１２に表示し、Ｓ４０２で、当該入力画面においてワンタイムパスワードの入力をユーザから受け付ける。本実施形態のリモート支援システムでは、ユーザＰＣ１０１による中継サーバ１０２へのアクセスを可能にするために、ワンタイムパスワードが使用される。ユーザＰＣ１０１のユーザは、コールセンタのオペレータから伝えられたワンタイムパスワードを、キーボード２１１を用いて入力画面に入力することにより、ユーザＰＣ１０１を中継サーバ１０２にアクセスさせる。
【００３４】
このワンタイムパスワードは、後述するように、オペレータＰＣ１０３からのリクエスト（図７のＳ７０１）に応じて中継サーバ１０２上にリモート支援用の支援室が作成された際に（図６のＳ６０３）、当該支援室に関連付けて作成される。この支援室は、中継サーバ１０２上のメモリ領域に対応する。作成されたワンタイムパスワードは、支援室ＵＲＩと一緒にオペレータＰＣ１０３へ送信され（図６のＳ６０４）、オペレータＰＣ１０３のディスプレイ２４２に表示される（図７のＳ７０３）。コールセンタのオペレータは、ディスプレイ２４２に表示されたワンタイムパスワードを、電話又はメール等の手段によってユーザに伝える。これにより、上述のようにユーザがワンタイムパスワードを入力画面に入力可能になる。
【００３５】
ＣＰＵ２０１は、ワンタイムパスワードの入力が完了すると、Ｓ４０３で、入力されたワンタイムパスワードを認証リクエストのデータ部に設定（格納）し、当該認証リクエストを中継サーバ１０２へ送信する。中継サーバ１０２における認証が成功すると、中継サーバ１０２から、入室リクエストの送信先となる支援室ＵＲＩが送信される（図６のＳ６０８）。このため、ＣＰＵ２０１は、認証リクエストの送信後、Ｓ４０４で、中継サーバ１０２から支援室ＵＲＩを受信する。
【００３６】
支援室ＵＲＩを受信すると、Ｓ４０５で、ＣＰＵ２０１は、中継サーバ１０２から受信した支援室ＵＲＩに対して、支援室への入室を要求するための入室リクエストを送信する。この入室リクエストにより、中継サーバ１０２は、ユーザＰＣ１０１とオペレータＰＣ１０３とのペアリング（関連付け）を行う。なお、図６を用いて後述するように、中継サーバ１０２は、支援室ＵＲＩに対応する支援室レコードに、ユーザＰＣ１０１に対応するアカウントを追加することで、ユーザＰＣ１０１と先に入室していたオペレータＰＣ１０３とのペアリングを行う。これにより、中継サーバ１０２上の支援室へのユーザＰＣの入室が完了し（即ち、中継サーバ１０２との接続が確立され）、ユーザＰＣ１０１とオペレータＰＣ１０３とが、中継サーバ１０２を介してリモート支援のための通信を行うことが可能になる。
【００３７】
Ｓ４０５における支援室への入室が完了すると、Ｓ４０６で、ＣＰＵ２０１は、リモートプリンタ用のソケットを作成し、当該ソケットによる接続待ち（Ｌｉｓｔｅｎ）を開始する。ここで、リモートプリンタは、ユーザＰＣ１０１におけるデバイスリストに含まれる、リモート支援用のプリンタドライバである仮想プリンタドライバ３１２の名称である。Ｓ４０６では、画像データ及び印刷設定を含む印刷データを仮想プリンタドライバ３１２（リモートプリンタ）から受信するためのソケットが作成される。なお、作成されるソケットは、例えば、ＴＣＰのローカルループバックのソケットでもよいし、ファイルディスクリプタでもよい。
【００３８】
次にＳ４０７で、ＣＰＵ２０１は、支援室への入室時にリモートプリンタを作成する設定が行われているか否かを判定する。この設定は、ユーザの指示に従ってリモート支援アプリによって行われ、対応する設定データがＨＤＤ２０４に予め保存されている。なお、この設定は、中継サーバ１０２との接続の確立時に仮想プリンタドライバ３１２をインストールする第３設定の一例である。ＣＰＵ２０１は、当該設定が行われている場合には、Ｓ４１１へ処理を進め、当該設定が行われていない場合には、Ｓ４０８へ処理を進める。
【００３９】
Ｓ４０８で、ＣＰＵ２０１は、リモートプリンタを作成するか否かを支援室への入室時に確認する設定が行われているか否かを判定する。この設定は、ユーザの指示に従ってリモート支援アプリによって行われ、対応する設定データがＨＤＤ２０４に予め保存されている。なお、この設定は、中継サーバ１０２との接続が確立されるごとに、仮想プリンタドライバ３１２をインストールするか否かをユーザに確認する第４設定の一例である。ＣＰＵ２０１は、当該設定が行われていない場合には、Ｓ４１２へ処理を進め、当該設定が行われている場合には、Ｓ４０９へ処理を進める。Ｓ４０９で、ＣＰＵ２０１は、リモートプリンタを作成するか否かを確認するためのポップアップ画面（確認画面）をディスプレイ２１２に表示する。当該確認画面の表示後、ＣＰＵ２０１は、リモートプリンタの作成指示をユーザから受け付けたか否かを判定する。ＣＰＵ２０１は、作成指示を受け付けた場合には、Ｓ４１１へ処理を進め、作成指示を受け付けなかった場合には、Ｓ４１２へ処理を進める。
【００４０】
Ｓ４１１で、ＣＰＵ２０１は、図４Ｃに示す手順で、リモートプリンタの作成処理を実行する。リモートプリンタ作成処理を開始すると、ＣＰＵ２０１は、Ｓ４５１で、リモートプリンタが作成されているか否かを判定する。具体的には、ＣＰＵ２０１は、ＨＤＤ２０４に保存されているデバイスリストからリモートプリンタを検索する。更に、ＣＰＵ２０１は、リモートプリンタがデバイスリストに存在する場合には、リモートプリンタが作成されていると判定し、リモートプリンタ作成処理を終了する。一方、ＣＰＵ２０１は、リモートプリンタがデバイスリストに存在しない場合には、リモートプリンタが作成されていないと判定し、Ｓ４５２へ処理を進める。
【００４１】
Ｓ４５２で、ＣＰＵ２０１は、リモートプリンタ情報を要求するためのプリンタ情報リクエストを中継サーバ１０２へ送信する。リモートプリンタ情報は、オペレータＰＣ１０３のプリンタドライバに関する情報である。このリモートプリンタ情報は、ユーザＰＣ１０１においてリモートプリンタに対して印刷の実行を指示する際に、ユーザがどのような印刷設定を行うことが可能であるかを示す情報を含む。プリンタ情報リクエストは、中継サーバ１０２からオペレータＰＣ１０３へ転送される。更に、当該リクエストに対する応答として、リモートプリンタ情報がオペレータＰＣから中継サーバ１０２へ送信され、中継サーバ１０２からユーザＰＣ１０１へ転送される。その結果、Ｓ４５３で、ＣＰＵ２０１は、リモートプリンタ情報を中継サーバ１０２から受信する。
【００４２】
リモートプリンタ情報の受信後、Ｓ４５４で、ＣＰＵ２０１は、受信したリモートプリンタ情報とリモートプリンタ用ソケットに関するソケット情報とに基づいて、リモートプリンタを作成（即ち、仮想プリンタドライバ３１２をインストール）する。リモートプリンタ用ソケットは、リモートプリンタへ印刷データを出力する際の、リモートプリンタに対応する出力先として設定される。作成されたリモートプリンタに関する設定は、ＨＤＤ２０４に保存される。なお、ＨＤＤ２０４に保存されているデバイスリストに、作成されたリモートプリンタが追加される。その後、ＣＰＵ２０１は、リモートプリンタ作成処理を終了する。このようにして、ＣＰＵ２０１は、上述の第３設定（Ｓ４０７）が行われている場合には、中継サーバ１０２との接続が確立されると仮想プリンタドライバ３１２をインストールする。
【００４３】
図４Ａ及び図４Ｂの説明に戻り、リモートプリンタ作成処理が終了すると、ＣＰＵ２０１は、Ｓ４１１からＳ４１２へ処理を進める。Ｓ４１２、Ｓ４１４、Ｓ４１６及びＳ４１８において、ＣＰＵ２０１は、キーボード２１１等をユーザが操作して行われる指示、又はリモートプリンタ用ソケットを介したデータの受信を待ち受ける状態となる。
【００４４】
Ｓ４１２で、ＣＰＵ２０１は、中継サーバとの接続（セッション）の切断指示をユーザから受け付けたか否かを判定し、切断指示を受け付けた場合には、Ｓ４１３へ処理を進め、切断指示を受け付けていない場合には、Ｓ４１４へ処理を進める。Ｓ４１４で、ＣＰＵ２０１は、リモートプリンタの作成指示を受け付けたか否かを判定し、作成指示を受け付けた場合には、Ｓ４１５へ処理を進める。Ｓ４１５で、ＣＰＵ２０１は、Ｓ４１１と同様にリモートプリンタ作成処理（図４Ｃ）を実行し、Ｓ４１２へ処理を戻し、再び待ち受け状態となる。一方、作成指示を受け付けていない場合には、ＣＰＵ２０１は、Ｓ４１４からＳ４１６へ処理を進める。
【００４５】
Ｓ４１６で、ＣＰＵ２０１は、リモートプリンタの削除指示を受け付けたか否かを判定し、削除指示を受け付けた場合には、Ｓ４１７へ処理を進め、図４Ｃに示す手順で、リモートプリンタの削除処理を実行する。リモートプリンタ削除処理を開始すると、Ｓ４６１で、ＣＰＵ２０１は、リモートプリンタが作成されているか否かを判定する。具体的には、ＣＰＵ２０１は、ＨＤＤ２０４に保存されているデバイスリストからリモートプリンタを検索する。更に、ＣＰＵ２０１は、リモートプリンタがデバイスリストに存在しない場合、リモートプリンタが作成されていないと判定し、リモートプリンタ削除処理を終了する。一方、ＣＰＵ２０１は、リモートプリンタがデバイスリストに存在する場合、リモートプリンタが作成されていると判定し、Ｓ４６２へ処理を進める。Ｓ４６２で、ＣＰＵ２０１は、ＨＤＤ２０４に保存されているデバイスリストからリモートプリンタを削除する。その後、ＣＰＵ２０１は、リモートプリンタ削除処理を終了する。
【００４６】
図４Ａ及び図４Ｂの説明に戻り、リモートプリンタ削除処理が終了すると、ＣＰＵ２０１は、Ｓ４１７からＳ４１２へ処理を戻し、再び待ち受け状態となる。また、Ｓ４１６で、ＣＰＵ２０１は、削除指示を受け付けていない場合には、Ｓ４１８へ処理を進める。Ｓ４１８で、ＣＰＵ２０１は、リモートプリンタ（仮想プリンタドライバ３１２）から出力された印刷データを、リモートプリンタ用ソケットを介して受信したか否かを判定する。ＣＰＵ２０１は、印刷データを受信していない場合には、Ｓ４１２へ処理を戻し、再び待ち受け状態となる。一方、ＣＰＵ２０１は、印刷データを受信した場合には、Ｓ４１９へ処理を進める。Ｓ４１９で、ＣＰＵ２０１は、受信した印刷データをリモート印刷リクエストのデータ部に設定（格納）し、当該リクエストを中継サーバへ送信する。この印刷データには、少なくとも画像データ及び印刷設定が含まれている。
【００４７】
中継サーバ１０２へ送信されたリモート印刷リクエストは、中継サーバ１０２からオペレータＰＣ１０３へと転送される。後述するように、オペレータＰＣ１０３は、受信したリモート印刷リクエストに従って、プリンタドライバ３３２を用いて画像形成装置１０４に印刷を実行させる。ＣＰＵ２０１は、リモート印刷リクエストの送信が完了すると、Ｓ４１２へ処理を戻し、再び待ち受け状態となる。
【００４８】
Ｓ４１２において中継サーバ１０２との接続の切断指示を受け付けた場合、ＣＰＵ２０１は、次にＳ４１３で、入室中の支援室からの退室を要求するための退室リクエストを中継サーバ１０２へ送信する。この退室リクエストにより、中継サーバ１０２が保持している支援室レコードから、ユーザＰＣ１０１に対応するアカウントが削除され、ユーザＰＣ１０１と中継サーバ１０２との接続（セッション）が切断される。
【００４９】
次にＳ４２０で、ＣＰＵ２０１は、支援室からの退室時にリモートプリンタを削除する設定が行われているか否かを判定する。この設定は、ユーザの指示に従ってリモート支援アプリによって行われ、対応する設定データがＨＤＤ２０４に予め保存されている。なお、この設定は、中継サーバ１０２との接続の切断時に仮想プリンタドライバ３１２を削除する第１設定の一例である。ＣＰＵ２０１は、当該設定が行われている場合には、Ｓ４２１へ処理を進め、当該設定が行われていない場合には、Ｓ４２４へ処理を進める。
【００５０】
Ｓ４２１で、ＣＰＵ２０１は、リモートプリンタを削除するか否かを支援室への退室時に確認する設定が行われているか否かを判定する。この設定は、ユーザの指示に従ってリモート支援アプリによって行われ、対応する設定データがＨＤＤ２０４に予め保存されている。なお、この設定は、中継サーバ１０２との接続が切断されるごとに、仮想プリンタドライバ３１２を削除するか否かをユーザに確認する第２設定の一例である。ＣＰＵ２０１は、当該設定が行われていない場合には、Ｓ４２５へ処理を進め、当該設定が行われている場合には、Ｓ４２２へ処理を進める。Ｓ４２２で、ＣＰＵ２０１は、リモートプリンタを削除するか否かを確認するためのポップアップ画面（確認画面）をディスプレイ２１２に表示する。当該画面の表示後、ＣＰＵ２０１は、リモートプリンタの削除指示をユーザから受け付けたか否かを判定する。ＣＰＵ２０１は、削除指示を受け付けた場合には、Ｓ４２４へ処理を進め、削除指示を受け付けなかった場合には、Ｓ４２５へ処理を進める。
【００５１】
Ｓ４２４で、ＣＰＵ２０１は、Ｓ４１７と同様にリモートプリンタ削除処理（図４Ｃ）を実行し、Ｓ４２５へ処理を進める。このようにして、ＣＰＵ２０１は、上述の第１設定（Ｓ４２０）が行われている場合には、中継サーバ１０２との切断に従って仮想プリンタドライバ３１２を削除する。Ｓ４２５で、ＣＰＵ２０１は、Ｓ４０６において作成したリモートプリンタ用ソケットを削除し、処理を終了する。
【００５２】
＜ユーザＰＣ１０１（仮想プリンタドライバ）の処理手順＞
図５は、ユーザＰＣ１０１における仮想プリンタドライバ３１２による処理の手順を示すフローチャートである。図５に示す各ステップの処理は、ＨＤＤ２０４に格納されたプログラムをＣＰＵ２０１がＲＡＭ２０３に読み出して実行することで、ユーザＰＣ１０１において実現される。図５に示す手順による処理は、例えば、リモートプリンタ作成処理（図４Ｃ）により作成されたリモートプリンタ（仮想プリンタドライバ３１２）に対して、外部アプリケーション３１３から印刷指示が行われた際に開始される。なお、ユーザが外部アプリケーション３１３を操作して、印刷を行うプリンタとしてリモートプリンタを指定することで、外部アプリケーション３１３からリモートプリンタ（仮想プリンタドライバ３１２）へ印刷指示が行われる。
【００５３】
リモートプリンタへの印刷指示が行われると、Ｓ５０１で、ＣＰＵ２０１（仮想プリンタドライバ３１２）は、外部装置への印刷データの送信を許可（承認）するか否かをユーザに確認するための確認画面をディスプレイ２１２に表示する。その後、Ｓ５０２で、ＣＰＵ２０１は、ユーザによるキーボード２１１等の操作を受け付けて、印刷データの送信がユーザによって許可されたか否かを判定する。ＣＰＵ２０１は、印刷データの送信が許可されていない場合には、処理を終了し、許可された場合には、Ｓ５０３へ処理を進める。
【００５４】
Ｓ５０３で、ＣＰＵ２０１は、外部アプリケーション３１３から、印刷対象の画像データと印刷設定とを受信する。最後にＳ５０４で、ＣＰＵ２０１は、印刷対象の画像データと印刷設定とを含む印刷データを生成し、当該印刷データをリモートプリンタ用ソケットへ送信することにより、通信処理部３１１へ出力する。その後、ＣＰＵ２０１は、図５に示す手順による処理を終了する。
【００５５】
＜中継サーバ１０２の処理手順＞
図６は、中継サーバ１０２における転送処理部３２１による処理の手順を示すフローチャートである。図６に示す各ステップの処理は、ＨＤＤ２２４に格納されたプログラムをＣＰＵ２２１がＲＡＭ２２３に読み出して実行することで、中継サーバ１０２において実現される。
【００５６】
まずＳ６０１で、ＣＰＵ２２１は、クライアントからリクエストを受信する。本実施形態では、このクライアントはユーザＰＣ１０１又はオペレータＰＣ１０３に相当する。リクエストを受信すると、ＣＰＵ２２１は、Ｓ６０２、Ｓ６０５、Ｓ６１０、Ｓ６１２、Ｓ６１４及びＳ６１８において、受信したリクエストの種類を判定する。ＣＰＵ２２１は、受信したリクエストの種類を判定できない場合には（Ｓ６１８で「ＮＯ」）、Ｓ６０１へ処理を戻し、次のリクエストを待ち受ける。
【００５７】
Ｓ６０１において受信したリクエストが、支援室作成リクエストである場合（Ｓ６０２で「ＹＥＳ」）、ＣＰＵ２２１は、Ｓ６０３へ処理を進める。なお、支援室作成リクエストは、オペレータが操作するクライアント（オペレータＰＣ１０３）から送信される。Ｓ６０３で、ＣＰＵ２２１は、支援室テーブルに新たな支援室レコードを作成し、ＨＤＤ２２４に保存する。以下の表１は、支援室テーブルの例を示している。
【００５８】
【表１】
2019046247.tif 000003
【００５９】
支援室テーブルの各行は、それぞれ異なる支援室に対応する支援室レコードを示している。各支援室レコードは、表１に示すように、支援室ＩＤ、支援室ＵＲＩ、ワンタイムパスワード、及びアカウントリストで構成される。支援室ＩＤは、対応する支援室の識別情報である。支援室ＵＲＩは、対応する支援室への入室を中継サーバ１０２に要求するために用いられる。ワンタイムパスワードは、中継サーバ１０２へのアクセス（認証リクエストのを送信）のために用いられる。アカウントリストは、対応する支援室に入室しているアカウントのリストである。なお、支援室ＩＤ「０００１」を有する支援室レコードは、作成直後の支援室レコードの例であり、支援室に入室しているアカウントが存在しない。
【００６０】
支援室レコードの作成後、Ｓ６０４で、ＣＰＵ２２１は、リクエスト元のクライアントに対して、作成した支援室レコードに含まれる支援室ＵＲＩ及びワンタイムパスワードを送信する。その後、ＣＰＵ２２１は、Ｓ６０１へ処理を戻し、次のリクエストを待ち受ける。
【００６１】
Ｓ６０１において受信したリクエストが、認証リクエストである場合（Ｓ６０５で「ＹＥＳ」）、ＣＰＵ２２１は、Ｓ６０６へ処理を進める。なお、認証リクエストは、ユーザが操作するクライアント（ユーザＰＣ１０１）から送信される。Ｓ６０６で、ＣＰＵ２２１は、受信したリクエストに含まれるワンタイムパスワードを取得し、支援室テーブルから当該ワンタイムパスワードを検索する。これにより、ワンタイムパスワードに対応する支援室レコードを検索する。次にＳ６０７で、ＣＰＵ２２１は、支援室レコードの検索に成功したか否かを判定し、検索に成功した場合には、Ｓ６０８へ処理を進める。Ｓ６０８で、ＣＰＵ２２１は、検索された支援室レコードに含まれる支援室ＵＲＩを、リクエスト元のクライアントへ送信する。一方、Ｓ６０７において検索に失敗した場合、ＣＰＵ２２１は、Ｓ６０９へ処理を進め、認証エラーの発生を、リクエスト元のクライアントへ通知する。Ｓ６０８又はＳ６０９の処理の完了後、ＣＰＵ２２１は、Ｓ６０１へ処理を戻し、次のリクエストを待ち受ける。
【００６２】
Ｓ６０１において受信したリクエストが、支援室への入室リクエストである場合（Ｓ６１０で「ＹＥＳ」）、ＣＰＵ２２１は、Ｓ６１１へ処理を進める。なお、入室リクエストは、ユーザが操作するクライアント（ユーザＰＣ１０１）又はオペレータが操作するクライアント（オペレータＰＣ１０３）から送信される。Ｓ６１１で、ＣＰＵ２２１は、入室リクエストの送信先の支援室ＵＲＩに対応する支援室レコードのアカウントリストに、リクエスト元のクライアントに対応するアカウント名を登録する。なお、アカウントリストは、表１に示す例のように、複数のアカウント名が登録される場合もある。Ｓ６１１の処理により、クライアント同士の（ユーザＰＣ１０１とオペレータＰＣ１０３の）ペアリングが可能である。その後、ＣＰＵ２２１は、Ｓ６０１へ処理を戻し、次のリクエストを待ち受ける。
【００６３】
Ｓ６０１において受信したリクエストが、支援室からの退室リクエストである場合（Ｓ６１２で「ＹＥＳ」）、ＣＰＵ２２１は、Ｓ６１３へ処理を進める。なお、退室リクエストは、ユーザが操作するクライアント（ユーザＰＣ１０１）又はオペレータが操作するクライアント（オペレータＰＣ１０３）から送信される。Ｓ６１３で、ＣＰＵ２２１は、退室リクエストの送信先となっている支援室ＵＲＩに対応する支援室レコードのアカウントリストから、リクエスト元のクライアントに対応するアカウント名を削除する。Ｓ６１３の処理により、クライアント同士の（ユーザＰＣ１０１とオペレータＰＣ１０３の）ペアリングが解消される。その後、ＣＰＵ２２１は、Ｓ６０１へ処理を戻し、次のリクエストを待ち受ける。
【００６４】
Ｓ６０１において受信したリクエストが、プリンタ情報リクエストである場合（Ｓ６１４で「ＹＥＳ」）、ＣＰＵ２２１は、Ｓ６１５へ処理を進める。なお、プリンタ情報リクエストは、ユーザが操作するクライアント（ユーザＰＣ１０１）から送信される。Ｓ６１５で、リクエスト元のクライアント（ユーザＰＣ１０１）とペアリングされている他のクライアント（オペレータＰＣ１０３）に、受信したプリンタ情報リクエストを転送する。具体的には、入室リクエストの送信先の支援室ＵＲＩに対応する支援室レコードのアカウントリストから、リクエスト元のアカウント以外のアカウントに対応するクライアントを特定し、そのクライアントにプリンタ情報リクエストを送信する。なお、中継サーバ１０２からクライアントへのプッシュ送信は、Long Polling又はWeb Socket等を用いて実現できる。
【００６５】
次にＳ６１６で、ＣＰＵ２２１は、プリンタ情報リクエストの転送先となったクライアント（オペレータＰＣ１０３）から、当該リクエストに対する応答として、リモートプリンタ情報を受信する。更にＳ６１７で、ＣＰＵ２２１は、受信したリモートプリンタ情報を、リクエスト元のクライアントへ送信する。その後、ＣＰＵ２２１は、Ｓ６０１へ処理を戻し、次のリクエストを待ち受ける。
【００６６】
Ｓ６０１において受信したリクエストがリモート印刷リクエストである場合（Ｓ６１８で「ＹＥＳ」）、ＣＰＵ２２１は、Ｓ６１９へ処理を進める。Ｓ６１９で、ＣＰＵ２２１は、リクエスト元のクライアント（ユーザＰＣ１０１）とペアリングされている他のクライアント（オペレータＰＣ１０３）に、受信したリモート印刷リクエストを転送する。当該リクエストの転送が完了すると、Ｓ６２０で、ＣＰＵ２２１は、リクエスト元のクライアント（ユーザＰＣ１０１）に対して、当該リクエストの転送が成功したことを通知する。Ｓ６１８〜Ｓ６２０の処理により、ユーザＰＣ１０１において印刷指示が行われた印刷データが、中継サーバ１０２からオペレータＰＣ１０３へ転送される。その後、ＣＰＵ２２１は、Ｓ６０１へ処理を戻し、次のリクエストを待ち受ける。
【００６７】
＜オペレータＰＣ１０３の処理手順＞
図７は、オペレータＰＣ１０３における通信処理部３３１による処理の手順を示すフローチャートである。図７に示す各ステップの処理は、ＨＤＤ２３４に格納されたプログラムをＣＰＵ２３１がＲＡＭ２３３に読み出して実行することで、オペレータＰＣ１０３において実現される。
【００６８】
まずＳ７０１で、ＣＰＵ２３１は、支援室作成リクエストを中継サーバ１０２へ送信する。次にＳ７０２で、ＣＰＵ２３１は、次にオペレータＰＣ１０３は、当該リクエストに対応する応答として中継サーバ１０２から（Ｓ６０４において）送信される、支援室レコードに対応する支援室ＵＲＩ及びワンタイムパスワードを受信する。当該受信が完了すると、Ｓ７０３で、ＣＰＵ２３１は、受信したワンタイムパスワードをディスプレイ２４２に表示する。表示されたワンタイムパスワードを、オペレータが電話又はメール等の手段でユーザＰＣ１０１のユーザに伝えることによって、当該ユーザが、ユーザＰＣ１０１に中継サーバ１０２への認証リクエストの送信を行わせることが可能になる。その後、Ｓ７０４で、ＣＰＵ２３１は、中継サーバ１０２から受信した支援室ＵＲＩに対して、入室リクエストを送信する。
【００６９】
入室リクエストの送信が完了すると、ＣＰＵ２３１は、Ｓ７０４からＳ７０５へ処理を進める。Ｓ７０５、Ｓ７０７及びＳ７１０において、ＣＰＵ２３１は、キーボード２４１等をオペレータが操作して行われる指示、又は中継サーバ１０２から転送されるリクエストを待ち受ける状態となる。
【００７０】
Ｓ７０５で、ＣＰＵ２３１は、中継サーバとの接続（セッション）の切断指示をオペレータから受け付けたか否かを判定し、切断指示を受け付けた場合には、Ｓ７０６へ処理を進め、切断指示を受け付けていない場合には、Ｓ７０７へ処理を進める。Ｓ７０７で、ＣＰＵ２３１は、中継サーバ１０２からプッシュ送信により送信されたリモートプリンタ情報リクエストを受信したか否かを判定する。ＣＰＵ２３１は、当該リクエストを受信した場合には、Ｓ７０８へ処理を進め、当該リクエストを受信していない場合には、Ｓ７１０へ処理を進める。Ｓ７１０で、ＣＰＵ２３１は、中継サーバ１０２からプッシュ送信により送信されたリモート印刷リクエストを受信したか否かを判定する。ＣＰＵ２３１は、当該リクエストを受信した場合には、Ｓ７１１へ処理を進め、当該リクエストを受信していない場合には、Ｓ７０５へ処理を戻し、再び待ち受け状態となる。
【００７１】
プリンタ情報リクエストを受信した場合、Ｓ７０８で、ＣＰＵ２３１は、ＨＤＤ２３４に保存されているデバイスリストから、デフォルトに設定されているプリンタについてのプリンタ情報を取得する。なお、本実施形態では、画像形成装置１０４がデフォルトのプリンタとして設定されているものとする。上述のように、プリンタ情報には、オペレータＰＣ１０３のプリンタドライバ３３２に関する情報であり、どのような印刷設定を行うことが可能であるかを示す情報を含む。次にＳ７０９で、ＣＰＵ２３１は、取得したプリンタ情報（リモートプリンタ情報）を、プリンタ情報リクエストに対する応答として、中継サーバ１０２へ送信する。その後、ＣＰＵ２３１は、Ｓ７０５へ処理を戻し、再び待ち受け状態となる。
【００７２】
リモート印刷リクエストを受信した場合、Ｓ７１１で、ＣＰＵ２３１は、リモート印刷リクエストのデータ部から印刷データ（画像データ及び印刷設定）を取得する。更に、ＣＰＵ２３１は、プリンタドライバ３３２を用いて、取得した印刷データに基づいて印刷コマンドを画像形成装置１０４に送信することによって、当該印刷コマンドに従った印刷を画像形成装置１０４に実行させる。その後、Ｓ７１２で、ＣＰＵ２３１は、リモート印刷リクエストに対する応答として、画像形成装置１０４への印刷データの転送の完了を示す通知を中継サーバ１０２へ送信する。その後、ＣＰＵ２３１は、Ｓ７０５へ処理を戻し、再び待ち受け状態となる。
【００７３】
中継サーバ１０２との接続の切断指示をオペレータから受け付けた場合、Ｓ７０６で、ＣＰＵ２３１は、退室リクエストを中継サーバ１０２へ送信する。この退室リクエストにより、中継サーバ１０２が保持している支援室レコードから、オペレータＰＣ１０３に対応するアカウントが削除され、オペレータＰＣ１０３と中継サーバ１０２との接続（セッション）が切断される。退室リクエストの送信が完了すると、ＣＰＵ２３１は、処理を終了する。
【００７４】
以上説明したように、本実施形態のユーザＰＣ１０１では、リモート支援システムを利用する際に、通信処理部３１１（ＣＰＵ２０１）は、オペレータＰＣ１０３によるリモート支援を受けるために中継サーバ１０２との接続を確立する。更に、通信処理部３１１は、ユーザＰＣ１０１からオペレータＰＣ１０３のプリンタドライバ３３２に対して印刷指示を行うための仮想プリンタドライバ３１２を、ユーザＰＣ１０１にインストールする。外部アプリケーション３１３から仮想プリンタドライバ３１２に対して印刷指示が行われると、仮想プリンタドライバ３１２によって印刷データが生成され、通信処理部３１１へ出力される。通信処理部３１１は、仮想プリンタドライバ３１２によって生成された印刷データを、プリンタドライバ３３２による印刷のために、中継サーバ１０２を介してオペレータＰＣ１０３へ送信する。その後、通信処理部３１１は、中継サーバ１０２へ退室リクエストを中継サーバ１０２へ送信することにより、中継サーバ１０２との接続が切断されたことに従って、仮想プリンタドライバ３１２をユーザＰＣ１０１から削除する。
【００７５】
このように、本実施形態のユーザＰＣ１０１は、中継サーバ１０２への退室リクエストの送信に連動して（中継サーバ１０２との接続が切断されたことに従って）、仮想プリンタドライバ３１２（リモートプリンタ）の削除処理を実行する。これにより、ユーザＰＣ１０１にインストールされた仮想プリンタドライバ３１２が、リモート支援の終了後にユーザＰＣ１０１上に残り続けることを防止できる。したがって、リモート支援の終了後にユーザが仮想プリンタドライバ３１２を誤って操作してしまうことを防止できる。
【００７６】
また、本実施形態では、中継サーバ１０２との接続の切断時に仮想プリンタドライバ３１２を削除する設定が事前に行われていない場合には、当該接続の切断時に、仮想プリンタドライバ３１２を削除するか否かをユーザに確認している。これにより、上述のような設定が行われていない場合にも、仮想プリンタドライバ３１２の削除についての確認をユーザに促すことができる。その結果、リモート支援の終了後に、ユーザが知らない状態で仮想プリンタドライバ３１２がユーザＰＣ１０１上に残り続けることを防止できる。
【００７７】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７８】
１０１：ユーザＰＣ、１０２：中継サーバ、１０３：オペレータＰＣ、１０４：画像形成装置、１０５，１０６：ＦＷ、２０１，２２１，２３１：ＣＰＵ、３１１：通信処理部、３１２：仮想プリンタドライバ（リモートプリンタ）、３１３：外部アプリケーション、３２１：転送処理部、３３１：通信処理部、３３２：プリンタドライバ、３４１：印刷実行部
【図１】
2019046247.tif 000004
【図２】
2019046247.tif 000005
【図３】
2019046247.tif 000006
【図４Ａ】
2019046247.tif 000007
【図４Ｂ】
2019046247.tif 000008
【図４Ｃ】
2019046247.tif 000009
【図５】
2019046247.tif 000010
【図６】
2019046247.tif 000011
【図７】
2019046247.tif 000012
【図８】
2019046247.tif 000013