(57)【要約】【課題】クライアントアプリケーションと複数の画像処理装置との間で通信を中継する場合に、クライアントアプリケーションから送信される処理要求の送信先の画像処理装置を特定すること。【解決手段】画像処理装置と通信回線を介して通信可能に接続されている情報処理装置で実行される通信中継プログラムであって、画像処理装置に固有の通信パスを生成し、画像処理装置の識別情報の選択を受け付ける画面を表示するための選択画面情報であって、当該画面で識別情報を選択すると当該選択した識別情報によって識別される画像処理装置の通信パスを指定した処理要求がクライアントアプリケーションによって送信されるように構成された選択画面情報をクライアントアプリケーションに送信する。【選択図】図５
2014102620.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置と通信回線を介して通信可能に接続されている情報処理装置で実行される通信中継プログラムであって、
前記画像処理装置に固有の通信パスを生成する通信パス生成処理と、
前記画像処理装置の識別情報の選択を受け付ける画面を表示するための選択画面情報であって、当該画面で前記識別情報を選択すると当該選択した識別情報によって識別される前記画像処理装置の前記通信パスを指定した処理要求がクライアントアプリケーションによって送信されるように構成された選択画面情報を生成する画面情報生成処理と、
前記画面情報生成処理によって生成された前記選択画面情報を前記クライアントアプリケーションに送信する画面情報送信処理と、
前記クライアントアプリケーションから前記処理要求を受信する要求受信処理と、
前記要求受信処理によって受信された前記処理要求を当該処理要求で指定された前記通信パスに対応する前記画像処理装置に送信する要求送信処理と、
を前記情報処理装置に実行させる通信中継プログラム。
【請求項２】
請求項１に記載の通信中継プログラムであって、
前記通信パス生成処理において、ネットワークポートを含む前記通信パスを生成する、通信中継プログラム。
【請求項３】
請求項２に記載の通信中継プログラムであって、
前記画面情報送信処理において、前記クライアントアプリケーションから特定のネットワークポートが指定された処理要求を受信した場合に、前記画面情報生成処理により生成された前記選択画面情報を前記クライアントアプリケーションに送信する、通信中継プログラム。
【請求項４】
請求項１乃至請求項３に記載の通信中継プログラムであって、
前記画面情報送信処理において、前記クライアントアプリケーションから受信した処理要求で指定された前記通信パスにより前記画像処理装置を特定できない場合に、前記選択画面生成処理により生成された前記選択画面情報を前記クライアントアプリケーションに送信する、通信中継プログラム。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載の通信中継プログラムであって、
前記画面情報送信処理において、前記クライアントアプリケーションが特定のアプリケーションである場合に、前記画面情報生成処理により生成された前記選択画面情報を前記クライアントアプリケーションに送信する、通信中継プログラム。
【請求項６】
請求項５に記載の通信中継プログラムであって、
前記特定のアプリケーションはＷｅｂブラウザである、通信中継プログラム。
【請求項７】
請求項１乃至請求項６のいずれか一項に記載の通信中継プログラムであって、
前記画像処理装置が個別に有する装置固有情報と前記通信パス生成処理によって生成された前記通信パスとを対応付けて記憶装置に記憶する記憶処理を前記情報処理装置に実行させ、
前記要求送信処理において、前記要求受信処理によって受信された前記処理要求を当該処理要求で指定された前記通信パスに対応付けられている前記装置固有情報によって識別される前記画像処理装置に送信する、通信中継プログラム。
【請求項８】
請求項７に記載の通信中継プログラムであって、
前記記憶装置に記憶されている各前記装置固有情報について、当該装置固有情報によって識別される前記画像処理装置が前記情報処理装置に接続されているか否かを判断する接続判断処理を前記情報処理装置に実行させ、
前記画面情報生成処理において、前記接続判断処理によって接続されていると判断された前記画像処理装置の識別情報の選択を受け付ける前記選択画面情報を生成する、通信中継プログラム。
【請求項９】
請求項８に記載の通信中継プログラムであって、
前記画面情報生成処理において、前記記憶装置に記憶されている前記装置固有情報によって識別される前記画像処理装置のうち前記接続判断処理によって前記情報処理装置に接続されていないと判断された前記画像処理装置の識別情報が前記画面に選択不能に表示される前記選択画面情報を生成する、通信中継プログラム。
【請求項１０】
請求項７乃至請求項９のいずれか一項に記載の通信中継プログラムであって、
前記画面情報生成処理において、前記記憶装置に記憶されている前記通信パスを削除する指示を受け付ける削除ボタンが前記画面に表示され、前記クライアントアプリケーションで前記削除ボタンの押下が受け付けられると通信パス削除要求が送信されるように構成されている前記選択画面情報を生成し、
前記クライアントアプリケーションから前記通信パス削除要求を受信する削除要求受信処理と、
前記削除要求受信処理によって前記通信パス削除要求が受信されると、前記記憶装置に記憶されている前記通信パスと前記装置固有情報とを削除する削除処理と、
を前記情報処理装置に実行させる、通信中継プログラム。
【請求項１１】
請求項１に記載の通信中継プログラムであって、
前記通信パス生成処理において、前記画像処理装置が個別に有する装置固有情報を含む前記通信パスを生成する、通信中継プログラム。
【請求項１２】
請求項１乃至請求項１１のいずれか一項に記載の通信中継プログラムであって、
前記通信回線はユニバーサルシリアルバスである、通信中継プログラム。
【請求項１３】
画像処理装置と通信回線を介して通信する通信部と、
処理部と、
を備え、
前記処理部は、
前記画像処理装置に固有の通信パスを生成する通信パス生成処理と、
前記画像処理装置の識別情報の選択を受け付ける画面を表示するための選択画面情報であって、当該画面で前記識別情報を選択すると当該選択した識別情報によって識別される前記画像処理装置の前記通信パスを指定した処理要求がクライアントアプリケーションによって送信されるように構成された選択画面情報を生成する画面情報生成処理と、
前記画面情報生成処理によって生成された前記選択画面情報を前記クライアントアプリケーションに送信する画面情報送信処理と、
前記クライアントアプリケーションから前記処理要求を受信する要求受信処理と、
前記要求受信処理によって受信された前記処理要求を当該処理要求で指定された前記通信パスに対応する前記画像処理装置に送信する要求送信処理と、
を実行する、通信中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
通信を中継する技術に関する。
【背景技術】
【０００２】
従来、画像処理装置にＷｅｂサーバ機能を備え、端末装置で実行されるＷｅｂブラウザに画像処理装置の設定画面などを表示する技術が開示されている（例えば特許文献１参照）。
【０００３】
また、画像処理装置と端末装置とをインターネットで接続し、インターネットを介して画像処理装置に画像を処理させるＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）と呼ばれる規格が知られている。
そして、画像処理装置と端末装置とがＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）によって接続されている環境において上述したＩＰＰによる通信を行うためのＩＰＰ  ｏｖｅｒ  ＵＳＢという規格のドラフト（２０１２年１１月１９日時点においてＶｅｒｓｉｏｎ  １．０  Ｄｒａｆｔ  ２０）が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２５７９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩＰＰ  ｏｖｅｒ  ＵＳＢでは端末装置で通信中継プログラムが実行される。Ｗｅｂブラウザなどのクライアントアプリケーションは画像処理装置への処理要求をＩＰＰにより通信中継プログラムに送信する。通信中継プログラムはクライアントアプリケーションから受信した処理要求をＵＳＢの通信プロトコルにより端末装置に接続されている画像処理装置に送信する。
ＩＰＰ  ｏｖｅｒ  ＵＳＢのドラフトでは、画像処理装置にＨＴＴＰサーバ機能を持たせて、ＨＴＴＰプロトコルによる画像処理装置の設定の管理を行うことも記載されている。
【０００６】
ところで、ＩＰＰ  ｏｖｅｒ  ＵＳＢを実現するに当たって、端末装置が複数の画像処理装置と通信を行う構成も考えられる。しかしながら、従来はクライアントアプリケーションから通信中継プログラムに処理要求を送信するとき、例えば複数の画像処理装置の中からその処理要求の送信先の画像処理装置を特定するといった構成は考慮されていなかった。
【０００７】
本明細書では、クライアントアプリケーションと複数の画像処理装置との間で通信を中継する場合に、クライアントアプリケーションから送信される処理要求の送信先の画像処理装置を特定することができる技術を開示する。
【課題を解決するための手段】
【０００８】
本明細書によって開示される通信中継プログラムは、画像処理装置と通信回線を介して通信可能に接続されている情報処理装置で実行される通信中継プログラムであって、前記画像処理装置に固有の通信パスを生成する通信パス生成処理と、前記画像処理装置の識別情報の選択を受け付ける画面を表示するための選択画面情報であって、当該画面で前記識別情報を選択すると当該選択した識別情報によって識別される前記画像処理装置の前記通信パスを指定した処理要求がクライアントアプリケーションによって送信されるように構成された選択画面情報を生成する画面情報生成処理と、前記画面情報生成処理によって生成された前記選択画面情報を前記クライアントアプリケーションに送信する画面情報送信処理と、前記クライアントアプリケーションから前記処理要求を受信する要求受信処理と、前記要求受信処理によって受信された前記処理要求を当該処理要求で指定された前記通信パスに対応する前記画像処理装置に送信する要求送信処理と、を前記情報処理装置に実行させる。
【０００９】
上記通信中継プログラムによると、クライアントアプリケーションと複数の画像処理装置との間で通信を中継する場合に、クライアントアプリケーションから送信される処理要求の送信先の画像処理装置を特定することができる。
【００１０】
また、上記通信中継プログラムは、前記通信パス生成処理において、ネットワークポートを含む前記通信パスを生成してもよい。
【００１１】
上記通信中継プログラムによると、どのネットワークポートを介してクライアントアプリケーションから処理要求を受信したかによって処理要求の送信先の画像処理装置を特定することができる。
【００１２】
また、上記通信中継プログラムは、前記画面情報送信処理において、前記クライアントアプリケーションから特定のネットワークポートが指定された処理要求を受信した場合に、前記画面情報生成処理により生成された前記選択画面情報を前記クライアントアプリケーションに送信してもよい。
【００１３】
例えばクライアントアプリケーションのユーザが目的の画像処理装置のネットワークポートを知っている場合は、ユーザはそのネットワークポートを指定した処理要求を送信することにより、上記画面で画像処理装置を選択することなく目的の画像処理装置に処理要求を送信することができる。
これに対し、目的の画像処理装置のネットワークポートを知らない場合は、特定のネットワークポートを指定した処理要求を送信することにより、選択画面情報によって表示される画面で目的の画像処理装置を選択することができる。
【００１４】
また、上記通信中継プログラムは、前記画面情報送信処理において、前記クライアントアプリケーションから受信した処理要求で指定された前記通信パスにより前記画像処理装置を特定できない場合に、前記選択画面生成処理により生成された前記選択画面情報を前記クライアントアプリケーションに送信してもよい。
【００１５】
上記通信中継プログラムによると、クライアントアプリケーションから受信した処理要求で指定された通信パスにより画像処理装置を特定できない場合は選択画面情報をクライアントアプリケーションに送信するので、クライアントアプリケーションに画像処理装置を特定できる通信パスが指定されている処理要求を送信し直させることができる。
【００１６】
また、上記通信中継プログラムは、前記画面情報送信処理において、前記クライアントアプリケーションが特定のアプリケーションである場合に、前記画面情報生成処理により生成された前記選択画面情報を前記クライアントアプリケーションに送信してもよい。
【００１７】
アプリケーションによっては選択画面情報を受信しても画面を表示できない場合もある。
上記通信中継プログラムによると、クライアントアプリケーションが特定のアプリケーションである場合に選択画面情報を送信するので、画面を表示できないアプリケーションに選択画面情報を送信してしまわないようにすることができる。
【００１８】
また、特定のアプリケーションはＷｅｂブラウザであってもよい。
【００１９】
上記通信中継プログラムによると、ユーザはクライアントアプリケーション、すなわちＷｅｂブラウザで画像処理装置の識別情報を選択できる。
【００２０】
また、上記通信中継プログラムは、前記画像処理装置が個別に有する装置固有情報と前記通信パス生成処理によって生成された前記通信パスとを対応付けて記憶装置に記憶する記憶処理を前記情報処理装置に実行させ、前記要求送信処理において、前記要求受信処理によって受信された前記処理要求を当該処理要求で指定された前記通信パスに対応付けられている前記装置固有情報によって識別される前記画像処理装置に送信してもよい。
【００２１】
上記通信中継プログラムによると、装置識別情報と通信パスとを対応付けて記憶しておくことにより、通信パスのみでは画像処理装置を特定できない場合であっても通信パスに対応する画像処理装置を特定することができる。
【００２２】
また、上記通信中継プログラムは、前記記憶装置に記憶されている各前記装置固有情報について、当該装置固有情報によって識別される前記画像処理装置が前記情報処理装置に接続されているか否かを判断する接続判断処理を前記情報処理装置に実行させ、前記画面情報生成処理において、前記接続判断処理によって接続されていると判断された前記画像処理装置の識別情報の選択を受け付ける前記選択画面情報を生成してもよい。
【００２３】
上記通信中継プログラムによると、情報処理装置に接続されていない画像処理装置に処理要求が送信されてしまわないようにすることができる。
【００２４】
また、上記通信中継プログラムは、前記画面情報生成処理において、前記記憶装置に記憶されている前記装置固有情報によって識別される前記画像処理装置のうち前記接続判断処理によって前記情報処理装置に接続されていないと判断された前記画像処理装置の識別情報が前記画面に選択不能に表示される前記選択画面情報を生成してもよい。
【００２５】
上記通信中継プログラムによると、過去に情報処理装置に接続されていた画像処理装置であって現在は情報処理装置に接続されていない画像処理装置を知ることができる。
【００２６】
また、上記通信中継プログラムは、前記画面情報生成処理において、前記記憶装置に記憶されている前記通信パスを削除する指示を受け付ける削除ボタンが前記画面に表示され、前記クライアントアプリケーションで前記削除ボタンの押下が受け付けられると通信パス削除要求が送信されるように構成されている前記選択画面情報を生成し、前記クライアントアプリケーションから前記通信パス削除要求を受信する削除要求受信処理と、前記削除要求受信処理によって前記通信パス削除要求が受信されると、前記記憶装置に記憶されている前記通信パスと前記装置固有情報とを削除する削除処理と、を前記情報処理装置に実行させてもよい。
【００２７】
上記通信中継プログラムによると、ユーザは削除ボタンを押下することにより、記憶装置に記憶されているポート番号と識別情報とを削除することができる。
【００２８】
また、上記通信中継プログラムは、前記通信パス生成処理において、前記画像処理装置が個別に有する装置固有情報を含む前記通信パスを生成してもよい。
【００２９】
上記通信中継プログラムによると、処理要求の送信先の画像処理装置を通信パスから特定することができる。
【００３０】
また、前記通信回線はユニバーサルシリアルバスであってもよい。
【００３１】
上記通信中継プログラムによると、情報処理装置と画像処理装置とがユニバーサルシリアルバスによって通信可能に接続されている場合に、クライアントアプリケーションから送信された処理要求の送信先の画像処理装置を特定することができる。
【００３２】
なお、本明細書によって開示される技術は、通信中継システム、通信中継装置、通信中継方法、通信中継プログラムを記録した記録媒体等の種々の態様で実現することができる。
【発明の効果】
【００３３】
上記の通信中継プログラムによると、クライアントアプリケーションと複数の画像処理装置との間で通信を中継する場合に、クライアントアプリケーションから送信される処理要求の送信先の画像処理装置を特定することができる。
【図面の簡単な説明】
【００３４】
【図１】実施形態に係るＰＣの電気的構成を示すブロック図。
【図２】プリンタの電気的構成を示すブロック図。
【図３】プリンタの設定画面を示す模式図。
【図４】ＰＣのプログラム構成、及び、プリンタの機能を示す模式図。
【図５】通信処理の全体的な流れを示すシーケンスチャート。
【図６】プリンタ選択画面を示す模式図。
【図７】プリンタ選択画面の画面データを示す模式図。
【図８】Ｗｅｂブラウザから処理要求を受信する処理のフローチャート（その１）。
【図９】Ｗｅｂブラウザから処理要求を受信する処理のフローチャート（その２）。
【図１０】プリンタ選択画面生成処理のフローチャート（その１）。
【図１１】プリンタ選択画面生成処理のフローチャート（その２）。
【図１２】プリンタとの通信処理のフローチャート。
【発明を実施するための形態】
【００３５】
実施形態を図１ないし図１２によって説明する。
（１）画像処理システム
先ず、図１を参照して、画像処理システム１について説明する。画像処理システム１はパーソナルコンピュータ（ＰＣと記す）２と複数のプリンタ３（３ａ〜３ｃ）とで構成されている。ＰＣ２とプリンタ３ａ〜３ｃとはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ユニバーサルシリアルバス）ケーブル４（４ａ〜４ｃ）によって通信可能に接続されている。
【００３６】
プリンタ３ａ〜３ｃはそれぞれＵＳＢプリンタクラスデバイスとして構成されている。以降の説明において単にプリンタ３というときはプリンタ３ａ〜３ｃのうちいずれか一つのことをいうものとする。なお、プリンタ３ａ〜３ｃは同一機種であってもよいし、互いに異なる機種であってもよい。
ＰＣ２は情報処理装置及び通信中継装置の一例である。プリンタ３は画像処理装置の一例である。また、ＵＳＢは通信回線の一例である。
【００３７】
ＰＣ２はプリンタ３との間でＵＳＢを介して少なくとも以下の二つの通信（ａ）及び（ｂ）を行うことができる。
（ａ）プリンタ３を設定するための通信
（ｂ）プリンタ３に印刷データを送信するための通信
これらの通信はＩＰＰ  ｏｖｅｒ  ＵＳＢ規格（２０１２年１１月１９日時点においてＶｅｒｓｉｏｎ  １．０  Ｄｒａｆｔ  ２０）に従って行われる。ＩＰＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｉｎｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）とは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）をベースにした規格であって、インターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのＴＣＰ／ＩＰネットワークを介してプリンタ３と通信するための規格である。
【００３８】
ＩＰＰ  ｏｖｅｒ  ＵＳＢは、ＵＳＢによって接続されている環境において上述したＩＰＰによる通信を実現するための規格である。ＩＰＰ  ｏｖｅｒ  ＵＳＢではＩＰＰの通信データがＵＳＢのパケットに格納されて送受信される。なお、本実施形態はＩＰＰ  ｏｖｅｒ  ＵＳＢ規格に完全に準拠するわけではなく、その拡張仕様となっている。
【００３９】
（１−１）ＰＣの電気的構成
図１を参照して、ＰＣ２の電気的構成について説明する。ＰＣ２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、表示部２４、操作部２５、記憶部２６、及び、ＵＳＢホストインタフェース部（図１ではＵＳＢホストＩＦ部と記す）２７を備えて構成されている。
【００４０】
ＣＰＵ２１はＲＯＭ２２や記憶部２６に記憶されているプログラムを実行することによってＰＣ２の各部を制御する。ＲＯＭ２２にはＣＰＵ２１によって実行されるプログラムやデータなどが記憶されている。ＲＡＭ２３はＣＰＵ２１が各種の処理を実行するための主記憶装置として用いられる。ＣＰＵ２１は処理部の一例である。
【００４１】
表示部２４は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えて構成されている。
操作部２５は、キーボードやマウス、それらが接続されるインタフェースなどで構成されている。
【００４２】
記憶部２６は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部２６には、オペレーティングシステム（ＯＳと記す）４１、Ｗｅｂブラウザ４２、ＩＰＰ／ＵＳＢ変換プログラム４３などのプログラムが記憶されている。これらのプログラムはＣＰＵ２１によって実行される。
ＩＰＰ／ＵＳＢ変換プログラム４３は通信中継プログラムの一例である。Ｗｅｂブラウザ４２はクライアントアプリケーション及び特定のアプリケーションの一例である。また、記憶部２６は記憶装置の一例である。
【００４３】
ＵＳＢホストインタフェース部２７は、ＵＳＢホストコントローラ、ＵＳＢケーブル４が接続されるジャックなどを備えて構成されており、ＵＳＢケーブル４を介してプリンタ３と通信可能に接続されている。ＵＳＢホストインタフェース部２７は通信部の一例である。
【００４４】
（１−２）プリンタ
次に、図２を参照して、プリンタ３の電気的構成について説明する。プリンタ３は、制御部３１、ＵＳＢクライアントインタフェース部（図２ではＵＳＢクライアントＩＦ部と記す）３２、印刷部３３、操作部３４、及び、記憶部３５を備えて構成されている。
【００４５】
制御部３１は、ＣＰＵ３１ａ、ＲＯＭ３１ｂ、ＲＡＭ３１ｃなどを備えて構成されている。ＣＰＵ３１ａはＲＯＭ３１ｂや記憶部３５に記憶されている制御プログラムを実行することによってプリンタ３の各部を制御する。ＲＯＭ３１ｂにはＣＰＵ３１ａによって実行される制御プログラムや各種のデータなどが記憶されている。ＲＡＭ３１ｃはＣＰＵ３１ａが各種の処理を実行するための主記憶装置として用いられる。
【００４６】
印刷部３３は、印刷用紙などのシートに電子写真方式やインクジェット方式などで画像を印刷する装置である。また、印刷部３３は印刷用紙が収容される第１のトレイ、及び、第２のトレイを備えている。
操作部３４は、液晶ディスプレイなどの表示装置や各種の操作ボタンなどを備えて構成されている。
記憶部３５は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のデータを記憶する装置である。
【００４７】
ＵＳＢクライアントインタフェース部３２は、ＵＳＢケーブル４が接続されるジャックなどを備えて構成されており、ＵＳＢケーブル４を介してＰＣ２と通信可能に接続されている。
また、ＵＳＢの仕様により、ＵＳＢクライアントインタフェース部３２にはデバイスディスクリプタ、ストリングディスクリプタ、ベンダクラスディスクリプタ、インタフェースディスクリプタなどの各種のディスクリプタが記憶されている。ディスクリプタはプリンタ３に関する情報である。
【００４８】
例えばデバイスディスクリプタにはプリンタ３のベンダーＩＤやプロダクトＩＤなどが記述されている。インタフェースディスクリプタには後述するインタフェースを構成するための情報が記述されている。ストリングディスクリプタは、インデックスに対応した文字列情報を返すディスクリプタである。ＰＣ２は対応するインデックスを指定することにより「ベンダー名」、「モデル名」、「シリアル番号」をプリンタ３より取得することができる。このシリアル番号は同一モデルであっても個別に付与されており、これらを組み合わせることにより、デバイスを特定することが可能である。
【００４９】
（２）プリンタの設定画面
次に、図３を参照して、プリンタ３の設定画面５０について説明する。設定画面５０はＷｅｂブラウザ４２によって表示されるものである。設定画面５０の画面データはＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）によって記述されている。以後はＨＴＭＬで記述されているものとして説明する。
詳しくは後述するが、画面データはプリンタ３のＷｅｂサーバ機能６２（図４参照）が設定画面ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ  ）を実行することによって生成される。Ｗｅｂブラウザ４２はＩＰＰ  ｏｖｅｒ  ＵＳＢによってプリンタ３からその画面データを取得して設定画面５０を表示する。設定画面５０の画面データのファイル名はｍａｉｎ．ｈｔｍｌであるとする。
【００５０】
図３に示す設定画面５０では、用紙サイズ５１ａ、給紙トレイ５１ｂ、及び、解像度５１ｃを設定することができる。また、設定画面５０には画像５２ａ、画像５２ｂ、画像５２ｃなどの部品画像や設定ボタン５３が表示される。ここでは画像５２ａ〜画像５２ｃをそれぞれＧＩＦ１、ＧＩＦ２、ＧＩＦ３というものとする。
なお、図３に示す設定画面５０は一例であり、設定画面５０はプリンタ３の機種によって異なる。
【００５１】
（３）ＰＣのプログラム構成、及び、プリンタの機能
次に、図４を参照して、ＩＰＰ  ｏｖｅｒ  ＵＳＢによって通信を行うためのＰＣ２のプログラム構成、及び、プリンタ３の機能について説明する。
【００５２】
（３−１）ＰＣのプログラム構成
先ず、ＰＣ２のプログラム構成について説明する。ＰＣ２は、ＩＰＰ／ＵＳＢ変換プログラム４３、Ｗｅｂブラウザ４２、及び、スプーラ４４を実行する。
ＩＰＰ／ＵＳＢ変換プログラム４３は、Ｗｅｂブラウザ４２とプリンタ３のＩＰＰ機能６１との間でプリンタ３を設定するための通信（ａ）を中継するとともに、スプーラ４４とＩＰＰ機能６１との間でプリンタ３に印刷データを送信するための通信（ｂ）を中継するプログラムである。
【００５３】
ＩＰＰ／ＵＳＢ変換プログラム４３はｈｔｔｐ://ｌｏｃａｌｈｏｓｔに対するサーバープログラムとして常駐している。このサーバープログラムは、ポート８０、ポート６３１、及び、予め予約された複数の予約ポートを監視するように構成されている。なお、予約ポートとはＴＣＰ／ＩＰの主要なプロトコルで使用されているポート番号（ウエルノウンポート）以外で、あらかじめ他のプログラムから使用されないように予約されたものである。複数の予約ポート番号は不連続であってもよい。予約ポートのポート番号は記憶部２６に記憶されている。ｌｏｃａｌｈｏｓｔはＰＣ２のＩＰアドレスであって、具体的には例えば１２７．０.０．１である。
【００５４】
ＩＰＰ／ＵＳＢ変換プログラム４３はＷｅｂブラウザ４２とＨＴＴＰによって通信するとともに、スプーラ４４とＩＰＰによって通信する。
また、ＩＰＰ／ＵＳＢ変換プログラム４３はＩＰＰ機能６１とＵＳＢを介して通信する。ＩＰＰ／ＵＳＢ変換プログラム４３の詳細については後述する。
【００５５】
Ｗｅｂブラウザ４２はユーザがプリンタ３の設定をするためのユーザインタフェースとして用いられるものである。Ｗｅｂブラウザ４２としては一般に利用されているものを用いることができる。
ＰＣ２とプリンタ３とがＵＳＢによって接続されている環境では、Ｗｅｂブラウザ４２はｌｏｃａｌｈｏｓｔの前記ポートに、設定画面５０の画面データの送信を要求するＨＴＴＰリクエストや、設定画面５０上に表示する部品画像の送信を要求するＨＴＴＰリクエストなどを送信する。これらのＨＴＴＰリクエストはそれぞれ処理要求の一例である。以降の説明ではＨＴＴＰリクエストを単に処理要求という。
【００５６】
なお、処理要求はこれらに限られるものではない。例えばユーザが設定画面５０で設定した設定値をプリンタ３に設定する要求（ＰＵＴコマンドやＰＯＳＴコマンドなど）も処理要求として送信される。
ＩＰＰ／ＵＳＢ変換プログラム４３はＷｅｂブラウザ４２から処理要求を受信すると、ＵＳＢを介してＩＰＰ機能６１にその処理要求を送信する。
【００５７】
スプーラ４４は印刷データをスプールするプログラムである。スプーラ４４はＯＳ４１の一部として提供される。ＰＣ２とプリンタ３とがＵＳＢによって接続されている環境では、スプーラ４４はＩＰＰ／ＵＳＢ変換プログラム４３とＩＰＰによって通信することにより、ＩＰＰ／ＵＳＢ変換プログラム４３に印刷データを送信する。
ＩＰＰ／ＵＳＢ変換プログラム４３はスプーラ４４から印刷データを受信すると、ＵＳＢを介してプリンタ３のＩＰＰ機能６１にその印刷データを送信する。
【００５８】
なお、Ｗｅｂブラウザ４２及びスプーラ４４はＰＣ２で実行されてもよいし、ＰＣ２と通信可能に接続されている外部の通信端末５で実行されてもよい。
【００５９】
（３−２）プリンタの機能
次に、プリンタ３の機能について説明する。プリンタ３は、ＩＰＰ機能６１、Ｗｅｂサーバ機能６２、及び、印刷部３３を備えている。
ＩＰＰ機能６１はプリンタ３の制御部３１が制御プログラムを実行することによって実現される機能である。ＩＰＰ機能６１はＩＰＰ／ＵＳＢ変換プログラム４３とＵＳＢを介して通信する。また、ＩＰＰ機能６１はＷｅｂサーバ機能６２とＨＴＴＰによって通信するとともに、印刷部３３と所定のプロトコルに従って通信する。
【００６０】
Ｗｅｂサーバ機能６２もプリンタ３の制御部３１が制御プログラムを実行することによって実現される。Ｗｅｂサーバ機能６２は画面データの送信が要求されると設定画面ＣＧＩを実行して設定画面５０の画面データを生成する処理や、設定画面５０で設定された設定値を受信するとプリンタ設定ＣＧＩを実行してプリンタ３にその設定値を設定する処理などを実行する。
【００６１】
（４）ＵＳＢにおけるインタフェース
次に、ＵＳＢにおけるインタフェースについて説明する。ＵＳＢでは物理的に一本のＵＳＢケーブル４にインタフェースと呼ばれる１以上の論理的な通信回線が構成される。
ＵＳＢではコントロール転送を行うためのエンドポイント０と呼ばれる特殊なエンドポイントが必ず構成される。エンドポイント０は双方向通信が可能なエンドポイントである。インタフェースはエンドポイント０を介してプリンタ３から取得されるインタフェースディスクリプタに従って構成される。各インタフェースは通常１ないし複数のエンドポイントを有する。
【００６２】
本実施形態のプリンタ３ではエンドポイント０を用いたインタフェースであるインタフェース０の他に、インタフェース１及びインタフェース２が構成されるものとする。さらに、インタフェース１及びインタフェース２はそれぞれリード用エンドポイントおよびライト用エンドポイントを有し、それらを使用することにより双方向通信を実現している。
【００６３】
そして、前述したプリンタ３を設定するための通信（ａ）はインタフェース１を用いて行われ、プリンタ３に印刷データを送信するための通信（ｂ）はインタフェース２を用いて行われるものとする。
なお、インタフェース２を構成せず、プリンタ３を設定するための通信（ａ）、及び、プリンタ３に印刷データを送信するための通信（ｂ）をどちらもインタフェース１を用いて行ってもよい。
【００６４】
（５）複数のプリンタがＵＳＢによって接続されている場合の課題
次に、１台のＰＣ２に複数のプリンタ３がＵＳＢによって接続されている場合の課題について説明する。ここではプリンタ３を設定するための通信（ａ）を例に説明する。
プリンタ３とＰＣ２とがＵＳＢによって接続されている環境では、通常、ユーザはＷｅｂブラウザ４２に以下のＵＲＬを入力することによってＩＰＰ／ＵＳＢ変換プログラム４３に設定画面５０の画面データの送信を要求する。
ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ／ｍａｉｎ．ｈｔｍｌ
【００６５】
上述したＵＲＬにはポート番号が設定されていないので、Ｗｅｂブラウザ４２は上述したＵＲＬが入力されるとｌｏｃａｌｈｏｓｔのポート番号８０によって識別される論理的な通信ポートにセッションの確立を要求する。ポート番号８０は一般的なＷｅｂサーバのデフォルトのポート番号である。
ポート番号はネットワークポート、及び、通信パスの一例である。またポート番号８０は特定のネットワークポートの一例である。
【００６６】
前述したようにＩＰＰ／ＵＳＢ変換プログラム４３はポート番号８０の通信ポートを監視しており、セッションの確立が要求されるとその通信ポートを介してＷｅｂブラウザ４２との間にセッションを確立する。Ｗｅｂブラウザ４２はセッションが確立されるとそのセッションを介してＩＰＰ／ＵＳＢ変換プログラム４３に以下の処理要求Ａを送信する。
ＧＥＴ  ／ｍａｉｎ．ｈｔｍｌ  ＨＴＴＰ／１．０  ・・・  処理要求Ａ
【００６７】
Ｗｅｂブラウザ４２はネットワークを介して通信相手の装置にアクセスするため、通常は通信相手の装置を選択するにはＩＰアドレスを指定すればよい。しかし本実施形態の構成ではＩＰアドレスはｌｏｃａｌｈｏｓｔに限定される。そのためＩＰアドレスの指定によってプリンタ３ａ〜３ｃのひとつを選択することはできない。
【００６８】
このため、プリンタ３ａ〜３ｃがＵＳＢによってＰＣ２に接続されている環境では、ＩＰＰ／ＵＳＢ変換プログラム４３は処理要求Ａを受信しても、その処理要求Ａの送信先のプリンタ３を特定できない。
そこで、ＩＰＰ／ＵＳＢ変換プログラム４３は、プリンタ３を識別するための装置固有情報に対して固有のポート番号を割り当て、割り当てたポート番号を用いて処理要求の送信先のプリンタ３を特定する。以下、具体的に説明する。
【００６９】
（６）ＩＰＰ／ＵＳＢ変換プログラムによる通信処理の全体的な流れ
先ず、図５を参照して、通信処理の全体的な流れについて説明する。ここでは前述したプリンタ３を設定するための通信（ａ）を例に説明する。また、ここでは設定の対象としてプリンタ３ａを例に説明する。
【００７０】
ユーザがＷｅｂブラウザ４２に前述したＵＲＬを入力すると、Ｗｅｂブラウザ４２はｌｏｃａｌｈｏｓｔのポート番号８０の通信ポートにセッションの確立を要求し、確立されたセッションを介して前述した処理要求Ａを送信する（Ｓ００１）。
【００７１】
しかしながら、前述したように処理要求Ａにはプリンタ３を示す情報は含まれていないので、ＩＰＰ／ＵＳＢ変換プログラム４３は処理要求Ａの送信先のプリンタ３を特定できない。ＩＰＰ／ＵＳＢ変換プログラム４３は、処理要求Ａの送信先のプリンタ３を特定できない場合は、プリンタ選択画面生成処理を実行することによって以下に示すプリンタ選択画面５５の画面データを生成する（Ｓ００２）。プリンタ選択画面生成処理の詳細については後述するものとし、ここではプリンタ選択画面５５の画面構成、及び、プリンタ選択画面５５の画面データの概略について説明する。プリンタ選択画面５５は画面の一例である。
【００７２】
先ず、図６を参照して、プリンタ選択画面５５の画面構成について説明する。プリンタ選択画面５５にはＵＳＢによってＰＣ２に接続されているプリンタ３ａ〜３ｃのモデル名５６ａ〜５６ｃがリンクとして表示される。図６ではモデル名５６ａ〜５６ｃの下線がリンクを表している。
また、詳しくは後述するが、プリンタ選択画面５５には過去にＵＳＢによってＰＣ２に接続されていたプリンタ３ｄであって現在は接続されていないプリンタ３ｄのモデル名５６ｄも表示される。ただし、プリンタ３ｄのモデル名５６ｄは表示されるのみであり、リンクは設定されていない。
【００７３】
また、各モデル名の前にはそのモデル名を選択するためのラジオボタン５７（５７ａ〜５７ｄ）も表示される。ラジオボタン５７はプリンタ３ｄのモデル名５６ｄについても表示される。また、プリンタ選択画面５５には削除ボタン５８も表示される。ラジオボタン５７及び削除ボタン５８についての説明は後述する。
【００７４】
次に、図７を参照して、プリンタ選択画面５５を表示するための画面データについて説明する。各モデル名にはＩＰＰ／ＵＳＢ変換プログラム４３に設定画面５０の画面データの送信を要求するＵＲＬがリンクとして設定されている。
具体的には、ＩＰＰ／ＵＳＢ変換プログラム４３は、プリンタ選択画面５５の画面データを生成するとき、プリンタ３ａ〜３ｃのそれぞれのＵＳＢクライアントインタフェース部３２からモデル名、ベンダーＩＤ、製品ＩＤ、及び、シリアル番号を取得する。ここではこれら一組の情報をプリンタ３の装置固有情報という。そして、ＩＰＰ／ＵＳＢ変換プログラム４３は各装置固有情報に対して固有のポート番号を割り当てる。そして、ＩＰＰ／ＵＳＢ変換プログラム４３は、図７に示すように、装置固有情報に割り当てた固有のポート番号をＵＲＬに設定する。例えば図７において４００１はプリンタ３ａの装置固有情報に割り当てた固有のポート番号である。同様に４００２はプリンタ３ｂ、４００３はプリンタ３ｃの装置固有情報に割り当てた固有のポート番号である。
【００７５】
ここで、モデル名は画像処理装置の識別情報の一例である。プリンタ選択画面５５の画面データは、画像処理装置の識別情報の選択を受け付ける画面を表示するための選択画面情報であって、当該画面で識別情報を選択すると当該選択した識別情報によって識別される画像処理装置の通信パスを指定した処理要求がクライアントアプリケーションによって送信されるように構成された選択画面情報の一例である。
【００７６】
なお、ＰＣ２に接続されている複数のプリンタ３が同一機種である場合はモデル名のみでは識別できない。その場合は、例えばモデル名にシリアル番号を付加した「モデル名_シリアル番号」を識別情報として表示してもよいし、ＵＳＢのポート番号を付加した「モデル名_ＵＳＢのポート番号」を表示してもよい。あるいは、モデル名（１）、モデル名（２）などとして番号で識別してもよい。識別情報はプリンタ３を識別できれば適宜に決定することができる。
また、識別情報はモデル名に限られるものではない。例えばプリンタ３を表す画像であってもよい。あるいは画像とそのプリンタ３に付与したプリンタ名との組み合わせなどであってもよい。
【００７７】
また、ＩＰＰ／ＵＳＢ変換プログラム４３はプリンタ３の装置固有情報に対して固有のポート番号を割り当てると、その装置固有情報とそのポート番号とを対応付けて記憶部２６に記憶させる。装置固有情報とポート番号とを対応付けて記憶させる理由は、ＩＰＰ／ＵＳＢ変換プログラム４３が通信ポートを介して処理要求Ａを受信した場合に、その通信ポートのポート番号に対応するプリンタ３を特定するためである。
【００７８】
図６に戻る。削除ボタン５８は、装置固有情報とその装置固有情報に対応付けられているポート番号とを記憶部２６から削除するようユーザが指示するためのボタンである。
例えばユーザはプリンタ３とＰＣ２との接続を解除してしまう場合もある。ユーザがプリンタ３の接続を解除しても、そのプリンタ３の装置固有情報はポート番号に対応付けられて記憶部２６に記憶されたままである。
そこで、ＩＰＰ／ＵＳＢ変換プログラム４３は、ＰＣ２との接続が解除されているプリンタ３であっても装置固有情報がポート番号に対応付けられて記憶部２６に記憶されている場合はそのプリンタ３のモデル名（例えばＰＲＩＮＴＥＲ３ｄ）もプリンタ選択画面５５に表示させる。
ユーザがプリンタ選択画面５５で接続が解除されているプリンタ３のラジオボタン５７を選択して削除ボタン５８をクリックすると、選択したプリンタ３のポート番号と装置固有情報とを記憶部２６から削除するポート番号削除要求がＩＰＰ／ＵＳＢ変換プログラム４３に送信される。これにより、接続が解除されたプリンタ３の装置固有情報とポート番号とが記憶部２６に残ってしまわないようにすることができる。ポート番号削除要求は通信パス削除要求の一例である。
【００７９】
ここで、ポート番号削除要求はＰＯＳＴコマンドとして送信されるものとする。このＰＯＳＴコマンドはデフォルトのポート番号８０によって識別される通信ポートを介してＩＰＰ／ＵＳＢ変換プログラム４３に送信されるものとする。
【００８０】
図５に戻る。ＩＰＰ／ＵＳＢプログラム４３は生成したプリンタ選択画面５５の画面データをＩＰＰ／ＵＳＢ変換プログラム４３に送信する（Ｓ００３）。
Ｗｅｂブラウザ４２は、ユーザがプリンタ選択画面５５でクリックしたモデル名を受付けると（Ｓ００４）、そのモデル名に設定されているリンクに設定されているポート番号によって識別される通信ポートにセッションの確立を要求する。例えばユーザがプリンタ選択画面５５でＰＲＩＮＴＥＲ３ａをクリックしたとする。この場合、Ｗｅｂブラウザ４２はｌｏｃａｌｈｏｓｔのポート番号４００１によって識別される通信ポートにセッションの確立を要求する。
【００８１】
ＩＰＰ／ＵＳＢ変換プログラム４３はセッションの確立が要求されるとその通信ポートを介してＷｅｂブラウザ４２との間にセッションを確立する。Ｗｅｂブラウザ４２はセッションが確立されるとそのセッションを介してＩＰＰ／ＵＳＢ変換プログラム４３に処理要求Ａを送信する（Ｓ００５）。
【００８２】
ＩＰＰ／ＵＳＢ変換プログラム４３は処理要求Ａを受信すると、その処理要求Ａを受信した通信ポートのポート番号に対応付けられている装置固有情報を記憶部２６から読み出す。そして、ＩＰＰ／ＵＳＢ変換プログラム４３は読み出した装置固有情報によって識別されるプリンタ３（ここではプリンタ３ａとする）にＵＳＢを介して処理要求Ａを送信する（Ｓ００６）。
【００８３】
プリンタ３ａは処理要求Ａを受信すると、ＩＰＰ／ＵＳＢ変換プログラム４３に設定画面５０の画面データを送信する（Ｓ００７）。
ＩＰＰ／ＵＳＢ変換プログラム４３はプリンタ３ａから画面データを受信すると、受信した画面データをＷｅｂブラウザ４２に送信する（Ｓ００８）。
Ｗｅｂブラウザ４２は受信した設定画面５０の画面データを解析し（Ｓ００９）、部品画像の送信を要求する処理要求ＢをＩＰＰ／ＵＳＢ変換プログラム４３に送信する（Ｓ０１０）。例えばＧＩＦ１の送信を要求する場合、ＩＰＰ／ＵＳＢ変換プログラム４３には以下の処理要求Ｂが送信される。
ＧＥＴ  ／ＧＩＦ１  ＨＴＴＰ／１．０  ・・・  処理要求Ｂ
【００８４】
ここで、設定画面５０の画面データには各部品画像へのパスが相対パスによって記述されているものとする。相対パスで記述されている場合は、Ｗｅｂブラウザ４２は前述した処理要求Ａを送信した通信ポートと同じ通信ポートを介してＩＰＰ／ＵＳＢ変換プログラム４３に処理要求Ｂを送信する。これはＷｅｂブラウザ４２の一般的な仕様である。
【００８５】
ＩＰＰ／ＵＳＢ変換プログラム４３はＷｅｂブラウザ４２から処理要求Ｂを受信すると、その処理要求Ｂを受信した通信ポートに対応付けられている装置固有情報によって識別されるプリンタ（すなわちプリンタ３ａ）に処理要求Ｂを送信する（Ｓ０１１）。これにより、処理要求Ｂは処理要求Ａと同じプリンタ３ａに送信される。
【００８６】
プリンタ３ａは処理要求Ｂを受信すると、その処理要求Ｂによって要求されている部品画像をＩＰＰ／ＵＳＢ変換プログラム４３に送信する（Ｓ０１２）。
ＩＰＰ／ＵＳＢ変換プログラム４３はプリンタ３ａから部品画像を受信すると、受信した部品画像をＷｅｂブラウザ４２に送信する（Ｓ０１３）。
これら一連の処理をＧＩＦ１〜ＧＩＦ３について繰り返すことにより、ＧＩＦ１〜ＧＩＦ３がＷｅｂブラウザ４２に読み込まれ、設定画面６０上に表示される。
【００８７】
設定画面５０に対する操作は、ＨＴＴＰのＧＥＴコマンド、ＰＵＴコマンド、ＰＯＳＴコマンドなどの処理要求に変更されて同様にＩＰＰ／ＵＳＢ変換プログラム４３を介してプリンタ３ａに送信される。これにより、従来のＴＣＰ／ＩＰネットワークを介してプリンタの設定を行うのと同様の手順でＵＳＢを介してプリンタ３ａの設定を行うことができる。
【００８８】
（７）ＩＰＰ／ＵＳＢ変換プログラムによる通信中継処理の詳細
次に、ＩＰＰ／ＵＳＢ変換プログラム４３による通信中継処理の詳細について説明する。
【００８９】
（７−１）Ｗｅｂブラウザから処理要求を受信する処理
まず、図８及び図９を参照して、ＩＰＰ／ＵＳＢ変換プログラム４３がＷｅｂブラウザ４２から処理要求を受信する処理について説明する。前述したようにＩＰＰ／ＵＳＢ変換プログラム４３は常駐プログラムとして実行されるものであり、本処理はＰＣ２に電源が投入されると開始される。
【００９０】
Ｓ１０１では、ＩＰＰ／ＵＳＢ変換プログラム４３はＷｅｂブラウザ４２から処理要求を受信するまで待機し、処理要求を受信するとＳ１０２に進む。Ｓ１０１は要求受信処理の一例である。
【００９１】
ここで、目的のプリンタ３に割り当てられているポート番号を知らないユーザは前述したようにポート番号が設定されていないＵＲＬをＷｅｂブラウザ４２に設定して設定画面５０の画面データの送信を要求するものとする。その場合は、ＩＰＰ／ＵＳＢ変換プログラム４３は前述したようにデフォルトのポート番号８０によって識別される通信ポートを介してその処理要求（処理要求Ａ）を受信する。
【００９２】
これに対し、後述するＳ１０５が実行された後にＳ１０１で処理要求が受信された場合は、Ｓ１０５においてＷｅｂブラウザ４２にプリンタ選択画面５５が送信されている。ユーザがそのプリンタ選択画面５５にて所望のプリンタ３のリンクをクリックすると、選択されたプリンタ３の装置固有情報に固有のポート番号を指定した形のＵＲＬがＷＥＢブラウザ４２に入力される。ＷＥＢブラウザ４２はその後そのポート番号によって識別される通信ポートを介して処理要求（処理要求Ａ）を送信する。ＩＰＰ／ＵＳＢ変換プログラム４３はその通信ポートを介してその処理要求を受信する。
【００９３】
なお、Ｓ１０１で受信される処理要求は処理要求Ａに限られず、部品画像の送信を要求する処理要求（処理要求Ｂ）やポート番号削除要求も受信される。また、これら以外の処理要求が受信される場合もある。
【００９４】
Ｓ１０２では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ１０１で受信した処理要求が設定画面５０の送信を要求する処理要求（処理要求Ａ）であるか否かを判断する。ＩＰＰ／ＵＳＢ変換プログラム４３は、処理要求Ａである場合はＳ１０３に進み、それ以外の処理要求である場合はＳ１０７に進む。
Ｓ１０３では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ１０１で処理要求を受信した通信ポートのポート番号がデフォルトのポート番号８０であるか否かを判断する。
例えば、ユーザがＷｅｂブラウザ４２にポート番号が設定されていないＵＲＬを設定して設定画面５０の画面データの送信を要求した場合は、Ｓ１０２において設定画面５０の送信を要求する処理要求Ａであると判断され、Ｓ１０３においてデフォルトのポート番号８０であると判断される。これに対し、ユーザがプリンタ選択画面５５でモデル名をクリックした場合は、Ｓ１０２において設定画面５０の送信を要求する処理要求Ａであると判断されるものの、その場合の処理要求はプリンタ３の装置固有情報に固有のポート番号の通信ポートを介して受信されるので、Ｓ１０３においてデフォルトのポート番号８０ではないと判断される。
ＩＰＰ／ＵＳＢ変換プログラム４３はデフォルトのポート番号８０である場合はＳ１０４に進み、デフォルトのポート番号８０以外である場合はＳ１０６に進む。
【００９５】
Ｓ１０４では、ＩＰＰ／ＵＳＢ変換プログラム４３は前述したプリンタ選択画面５５を生成するプリンタ選択画面生成処理を実行する。プリンタ選択画面生成処理についての説明は後述する。プリンタ選択画面生成処理は画面情報生成処理の一例である。
Ｓ１０５では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ１０４で生成したプリンタ選択画面５５の画面データをＷｅｂブラウザ４２に送信する。Ｓ１０５は画面情報送信処理の一例である。また、プリンタ選択画面５５の画面データは選択画面情報の一例である。
【００９６】
Ｓ１０６では、ＩＰＰ／ＵＳＢ変換プログラム４３はプリンタ３との通信処理を実行する。プリンタ３との通信処理についての説明は後述する。
【００９７】
Ｓ１０７では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ１０１で受信した処理要求がＧＥＴコマンド、ＰＯＳＴコマンド、又は、ＰＵＴコマンドであるか否かを判断し、これらのコマンドのいずれでもない場合はＳ１０８に進み、これらのコマンドのいずれかの場合はＳ１０９に進む。
Ｓ１０８では、ＩＰＰ／ＵＳＢ変換プログラム４３は受信した処理要求に対応した処理を実行する。
【００９８】
Ｓ１０９では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ１０１で処理要求を受信した通信ポートのポート番号がデフォルトのポート番号８０であるか否かを判断する。
例えば部品画像の送信を要求する処理要求ＢはＳ１０２において否定判断され、Ｓ１０７において肯定判断され、Ｓ１０９において否定判断される。これに対し、例えばポート削除要求はＰＯＳＴコマンドとしてデフォルトのポート番号８０によって識別される通信ポートを介して送信されるので、Ｓ１０２において否定判断され、Ｓ１０７において肯定判断され、Ｓ１０９において肯定判断される。
ＩＰＰ／ＵＳＢ変換プログラム４３は、デフォルトのポート番号８０ではない場合、すなわちプリンタ３の装置固有情報毎に割り当てたポート番号である場合はＳ１１０に進み、デフォルトのポート番号８０である場合はＳ１１１に進む。
【００９９】
Ｓ１１０では、ＩＰＰ／ＵＳＢ変換プログラム４３はプリンタ３との通信処理を実行する。プリンタ３との通信処理についての説明は後述する。
Ｓ１１１では、ＩＰＰ／ＵＳＢ変換プログラム４３はポート８０対応処理を実行する。ポート８０対応処理とは、例えばポート番号を削除する処理である。例えば処理要求がポート番号削除要求である場合、ＩＰＰ／ＵＳＢ変換プログラム４３はＰＯＳＴコマンドに設定されているポート番号とそのポート番号に対応付けられている装置固有情報とを記憶部２６から削除する。なお、ポート８０対応処理はポート番号を削除する処理に限られるものではない。Ｓ１１１は削除処理の一例である。
ＩＰＰ／ＵＳＢ変換プログラム４３は、Ｓ１０８，Ｓ１１０，又はＳ１１１のいずれかの処理を終了するとＳ１０１に戻る。
【０１００】
（７−２）プリンタ選択画面生成処理
次に、図１０及び図１１を参照して、Ｓ１０４で実行されるプリンタ選択画面生成処理について説明する。
Ｓ２０１では、ＩＰＰ／ＵＳＢ変換プログラム４３はプリンタ選択画面５５を表示するための画面データのテンプレート画面データを記憶部２６から読み込む。このテンプレート画面データにはモデル名やリンクは記述されていない。
【０１０１】
Ｓ２０２では、ＩＰＰ／ＵＳＢ変換プログラム４３は記憶部２６にポート番号が少なくとも一つ記憶されているか否かを判断し、記憶されている場合はＳ２０３に進み、一つも記憶されていない場合はＳ２１０に進む。
Ｓ２０３では、ＩＰＰ／ＵＳＢ変換プログラム４３は記憶部２６に記憶されているポート番号を一つ選択する。
【０１０２】
Ｓ２０４では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２０３で選択したポート番号に対応付けられている装置固有情報を記憶部２６から読み出す。記憶部２６には後述するＳ２１８において、過去にＰＣ２に接続されたプリンタ３の情報が登録されている。
Ｓ２０５では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２０４で読み出した装置固有情報によって識別されるプリンタ３がＰＣ２に接続されているか否かを判断し、接続されている場合はＳ２０６に進み、接続されていない場合はＳ２０８に進む。Ｓ２０５は接続判断処理の一例である。
【０１０３】
Ｓ２０６では、ＩＰＰ／ＵＳＢ変換プログラム４３は設定画面５０の画面データの送信を要求するＵＲＬを生成し、そのＵＲＬにＳ２０３で選択したポート番号を設定する。例えばプリンタ３ａの場合は以下のＵＲＬとなる。
ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ／ｍａｉｎ．ｈｔｍｌ：４００１
【０１０４】
Ｓ２０７では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２０６で生成したＵＲＬをＳ２０１で読み込んだテンプレート画面データにリンクとして追加する。例えばプリンタ３ａの場合は以下のリンクが追加される。
＜ａ  ｈｒｅｆ＝”ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ／ｍａｉｎ．ｈｔｍｌ：４００１”＞ＰＲＩＮＴＥＲ３ａ＜／ａ＞
【０１０５】
Ｓ２０８では、ＩＰＰ／ＵＳＢ変換プログラム４３は画面データにＳ２０３で選択したポート番号に対応付けられているモデル名を表示する記載を追加する。ただし、前述したようにこのモデル名にはリンクは設定されない。これにより、過去にＵＳＢによってＰＣ２に接続されていたプリンタ３であって現在は接続されていないプリンタ３のモデル名（例えばＰＲＩＮＴＥＲ３ｄ）がプリンタ選択画面５５に選択不能に表示される。
Ｓ２０９では、ＩＰＰ／ＵＳＢ変換プログラム４３は記憶されている全てのポート番号を選択したか否かを判断し、全て選択した場合はＳ２１０に進み、未だ選択していないポート番号がある場合はＳ２０３に戻って処理を繰り返す。
【０１０６】
Ｓ２１０では、ＩＰＰ／ＵＳＢ変換プログラム４３はＵＳＢによってＰＣ２に接続されているプリンタ３を検索する。
Ｓ２１１では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２１０で検索したプリンタ３を一つ選択する。
Ｓ２１２では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２１１で選択したプリンタ３からＵＳＢを介して装置固有情報を取得する。Ｓ２１２は取得処理の一例である。
【０１０７】
Ｓ２１３では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２１２で取得した装置固有情報が記憶部２６に記憶されているか否かを判断し、記憶されていない場合はＳ２１４に進み、記憶されている場合はＳ２１９に進む。
ここで、装置固有情報が記憶部２６に記憶されているか否かを判断する理由は、装置固有情報が記憶部２６に記憶されているプリンタ３は既にＳ２０７でテンプレート画面データにリンクが追加されているので、以降のＳ２１４〜Ｓ２１８の処理をスキップすることによってリンクを二重に追加しないようにするためである。一方、例えば前回本処理を実行してから今回本処理を実行するまでの間にＰＣ２に接続されたプリンタ３は装置固有情報が記憶部２６に記憶されておらず、Ｓ２０７でリンクが追加されていないので、Ｓ２１４〜Ｓ２１８を実行してそのプリンタ３の装置固有情報に対して固有のポート番号を割り当てるためである。
【０１０８】
Ｓ２１４では、ＩＰＰ／ＵＳＢ変換プログラム４３は前述した予約ポート番号の中からポート番号を選択する。その際、ＩＰＰ／ＵＳＢ変換プログラム４３は他のプリンタ３の装置固有情報に割り当てられているポート番号と重複しないように選択する。つまり、ここで選択されるポート番号は以下の条件を満たす。
・ウエルノウンポートと重複しない
・他のプリンタ３の装置固有情報に割り当てられているポート番号と重複しない
・ＰＣ２で実行されている他のサービスのポート番号と重複しない
そして、ＩＰＰ／ＵＳＢ変換プログラム４３は選択したポート番号をＳ２１２で取得した装置固有情報に割り当てる。
上述したＳ２１４は通信パス生成処理の一例である。また、選択したポート番号は画像処理装置に固有の通信パスの一例である。ここで画像処理装置に固有とは、ＵＳＢによってＰＣ２に接続されている複数のプリンタ３の間で重複しないという意味である。
【０１０９】
Ｓ２１５では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２１４で割り当てたポート番号をＯＳ４１に登録するとともに、そのポート番号に対応するサービスとしてＩＰＰ／ＵＳＢ変換プログラム４３をＯＳ４１に登録する。そして、ＩＰＰ／ＵＳＢ変換プログラム４３は割り当てたポート番号によって識別される通信ポートを監視するソケットを生成し、そのソケットを用いてＷｅｂブラウザ４２からのセッションの確立の要求（所謂アクセプト要求）を監視する。
【０１１０】
Ｓ２１６では、ＩＰＰ／ＵＳＢ変換プログラム４３は設定画面５０の画面データの送信を要求するＵＲＬを生成し、そのＵＲＬにＳ２１４で割り当てたポート番号を設定する。
Ｓ２１７では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２１６で生成したＵＲＬをテンプレート画面データにリンクとして追加する。
【０１１１】
Ｓ２１８では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２１２で取得したプリンタ３の装置固有情報とＳ２１４で割り当てたポート番号とを対応付けて記憶部２６に記憶させる。Ｓ２１８は記憶処理の一例である。
Ｓ２１９では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ２１０で検索したプリンタ３を全て選択したか否かを判断し、全て選択した場合はＳ２２０に進み、まだ選択していないプリンタ３がある場合はＳ２１１に戻って処理を繰り返す。
【０１１２】
Ｓ２２０では、ＩＰＰ／ＵＳＢ変換プログラム４３はテンプレート画面データに削除ボタン５８を表示する記述を追加する。これによりプリンタ選択画面５５の画面データが生成される。
Ｓ２２１では、ＩＰＰ／ＵＳＢ変換プログラム４３は生成したプリンタ選択画面５５の画面データをＷｅｂブラウザ４２に送信する。
【０１１３】
プリンタ選択画面生成処理によってプリンタ選択画面５５の画面データが生成されることにより、図３のプリンタ選択画面５５がＷｅｂブラウザ４２に表示される。この画面が表示されるのは、ユーザが複数のプリンタ３をＰＣ２に接続しており、且つ、各々のプリンタ３の設定のための通信パスを把握していない場合である。ユーザは、プリンタ選択画面５５でそのプリンタ３のモデル名をマウスでクリックすることにより、選択したプリンタ３の設定画面５０を呼び出すことができる。その際、Ｗｅｂブラウザ４２が送信する処理要求は、Ｓ２０６あるいはＳ２１６で生成したＵＲＬの形式になっており、前記Ｓ１０３の判断でＮＯと判断される。すなわちユーザの望むプリンタ３に対して、その処理要求が送信される。
【０１１４】
（７−３）プリンタとの通信処理
次に、図１２を参照して、Ｓ１０６及びＳ１１０で実行されるプリンタ３との通信処理について説明する。
Ｓ３０１では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ１０１で処理要求を受信した通信ポートのポート番号と同じポート番号が記憶部２６に記憶されているか否かを判断し、記憶されていない場合はＳ３０２に進み、記憶されている場合はＳ３０３に進む。
Ｓ３０２では、ＩＰＰ／ＵＳＢ変換プログラム４３は４０４（Ｎｏｔ  Ｆｏｕｎｄ）エラーをＷｅｂブラウザ４２に送信する。
【０１１５】
Ｓ３０３では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ１０１で処理要求を受信した通信ポートのポート番号と同じポート番号に対応付けられている装置固有情報を記憶部２６から取得する。
【０１１６】
Ｓ３０４では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ３０３で取得した装置固有情報から処理要求の送信先のプリンタ３を特定する。具体的には例えば、ＩＰＰ／ＵＳＢ変換プログラム４３は、ＵＳＢによってＰＣ２に接続されている各プリンタ３からそれぞれ装置固有情報を取得する。そして、ＩＰＰ／ＵＳＢ変換プログラム４３は、Ｓ３０３で記憶部２６から取得した装置固有情報と、各プリンタ３から取得した装置固有情報とを比較する。そして、ＩＰＰ／ＵＳＢ変換プログラム４３は装置固有情報が一致するプリンタ３を処理要求の送信先のプリンタとして特定する。
【０１１７】
Ｓ３０５では、ＩＰＰ／ＵＳＢ変換プログラム４３は、Ｗｅｂブラウザ４２から複数の処理要求を受信した場合にそれらの処理要求が混乱しないようにするために、Ｓ３０４で特定したプリンタ３と接続されているＵＳＢのインタフェース１の排他処理を実行する。
排他処理は例えばミューテックスを用いることによって行うことができる。ミューテックスは排他処理を行うための仕組みであって、プログラム言語によって提供される仕組みである。なお、ここではミューテックスを用いて排他処理を行う場合を例に説明するが、排他処理を行う方法はこれに限られない。例えばセマフォを用いて行ってもよいし、ミューテックスやセマフォを用いず独自の方法で行ってもよい。
【０１１８】
Ｓ３０６では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ１０１で受信した処理要求を、Ｓ３０４で特定したプリンタ３にインタフェース１を介して送信する。
上述したＳ３０１〜Ｓ３０６は要求送信処理の一例である。
【０１１９】
Ｓ３０７では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ３０６で送信した処理要求に対する応答を、インタフェース１を介してプリンタ３から受信する。
Ｓ３０８では、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ３０７で受信した応答をＷｅｂブラウザ４２に送信する。
Ｓ３０９では、ＩＰＰ／ＵＳＢ変換プログラム４３はインタフェース１の排他処理を終了する。
【０１２０】
（８）実施形態の効果
以上説明した実施形態に係るＩＰＰ／ＵＳＢ変換プログラム４３によると、プリンタ選択画面５５の画面データであって、ユーザがプリンタ選択画面５５でモデル名を選択すると当該選択したモデル名によって識別されるプリンタ３に対応するポート番号の通信ポートを介してＷｅｂブラウザ４２から処理要求が送信されるように構成された画面データをＷｅｂブラウザ４２に送信する。そして、ＩＰＰ／ＵＳＢ変換プログラム４３はＷｅｂブラウザ４２から処理要求を受信すると、当該処理要求を受信した通信ポートのポート番号に対応するプリンタ３に当該処理要求を送信する。
よってＩＰＰ／ＵＳＢ変換プログラム４３によると、Ｗｅｂブラウザ４２と複数のプリンタ３との間で通信を中継する場合に、Ｗｅｂブラウザ４２から送信された処理要求の送信先のプリンタ３を特定することができる。
【０１２１】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、通信パスとしてポート番号を生成するので、どのポート番号の通信ポートを介してＷｅｂブラウザ４２から処理要求を受信したかによって処理要求の送信先のプリンタ３を特定することができる。
【０１２２】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、Ｗｅｂブラウザ４２から特定のネットワークポート（具体的にはポート番号８０）の通信ポートを介して処理要求を受信した場合に、プリンタ選択画面５５の画面データをＷｅｂブラウザ４２に送信する。例えばＷｅｂブラウザ４２のユーザが目的のプリンタ３に対応するポート番号を知っている場合は、ユーザはそのポート番号を指定した処理要求を送信することにより、プリンタ選択画面５５でプリンタ３を選択することなく目的のプリンタ３に処理要求を送信することができる。これに対し、目的のプリンタ３に対応するポート番号を知らない場合は、ユーザはポート番号８０を指定した処理要求を送信することにより、プリンタ選択画面５５で目的のプリンタ３を選択することができる。
【０１２３】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、プリンタ３の装置固有情報とポート番号とを対応付けて記憶部２６に記憶するので、Ｗｅｂブラウザ４２から処理要求を受信した場合に、その処理要求の送信先のプリンタ３を特定することができる。
【０１２４】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、記憶部２６に記憶されている装置固有情報によって識別されるプリンタ３がＰＣ２に接続されているか否かを判断し（Ｓ２０５）、接続されているプリンタ３のモデル名の選択を受け付ける画面データを生成する（Ｓ２０６、Ｓ２０７）。これにより、ＰＣ２に接続されていないプリンタ３に処理要求が送信されてしまわないようにすることができる。
【０１２５】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、記憶部２６に記憶されている装置固有情報によって識別されるプリンタ３のうちＰＣ２に接続されていないプリンタ３のモデル名がプリンタ選択画面５５に選択不能に表示されるので、ユーザは過去にＰＣ２に接続されていたプリンタ３であって現在はＰＣ２に接続されていないプリンタ３を知ることができる。
【０１２６】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、ユーザはプリンタ選択画面５５で過去にＵＳＢによってＰＣ２に接続されていたプリンタ３であって現在は接続されていないプリンタ３のモデル名を選択して削除ボタン５８をクリックすることにより、当該プリンタ３の装置固有情報と当該装置固有情報に対応付けられているポート番号とを記憶部２６から削除することができる。
【０１２７】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、ＰＣ２と複数のプリンタ３とがユニバーサルシルアルバスによって通信可能に接続されている場合に、Ｗｅｂブラウザ４２から送信された処理要求の送信先のプリンタ３を特定することができる。
【０１２８】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、ＵＳＢによってＰＣ２に接続されているプリンタ３を検索し（Ｓ２１１）、検索されたプリンタ３のうち装置固有情報が記憶部２６に記憶されていないプリンタ３の装置固有情報に固有のポート番号を割り当てる（Ｓ２１３、Ｓ２１４）。これにより、既にポート番号が割り当てられているプリンタ３に重複してポート番号を割り当ててしまわないようにすることができる。
【０１２９】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、プリンタ選択画面５５に追加するＵＲＬにＳ２０３で選択したポート番号を設定する。ポート番号はプリンタ３の装置固有情報ごとに固有に設定されているので、そのポート番号をＵＲＬに設定することにより、接続されている複数のプリンタ３を容易に特定することができる。
【０１３０】
更に、ＩＰＰ／ＵＳＢ変換プログラム４３によると、処理要求を受信した通信ポートのポート番号が記憶部２６に記憶されているか否かを判断し（Ｓ３０１）、記憶されていない場合は処理要求を送信しないので（Ｓ３０２）、記憶部２６からポート番号が削除された後にその削除されたポート番号が設定されている処理要求を受信した場合に、そのポート番号に対応するプリンタ３に処理要求を送信しないようにすることができる。
【０１３１】
更に、本実施形態では現在接続されているプリンタ３に対して対応付けられたポート番号だけでなく、過去に接続されたプリンタ３に対して対応付けられたポート番号も記憶しており、同一のポート番号が割り当てられないようにしている。よって、プリンタ３の電源がＯＦＦの状態であってもそのポート番号が他のプリンタ３に割り当てられることがない。よってプリンタ３の設定画面５０を示すＵＲＬにそのようなポート番号を設定しておけば、例えそのＵＲＬがＷｅｂブラウザ４２の「お気に入り」に登録されたとしても、プリンタ３の接続・非接続にかかわらず「お気に入り」に登録されたＵＲＬで別のプリンタ３の設定画面５０が表示されることはない。
【０１３２】
＜他の実施形態＞
上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も技術的範囲に含まれる。
【０１３３】
（１）上記実施形態ではプリンタ３から装置固有情報を取得する場合を例に説明した。これに対し、装置固有情報はプリンタ３から取得したものでなくてもよい。例えば、各プリンタ３が接続されているＵＳＢのポートを識別するための情報を、プリンタ３を識別する装置固有情報として用いてもよい。
【０１３４】
（２）上記実施形態ではＩＰＰ／ＵＳＢ変換プログラム４３がプリンタ３から応答を受信し、受信した応答をＷｅｂブラウザ４２に送信する場合を例に説明した。これに対し、Ｗｅｂブラウザ４２からプリンタ３に一方的に処理要求を送信するだけの場合は、ＩＰＰ／ＵＳＢ変換プログラム４３はＷｅｂブラウザ４２に応答を送信しないようにしてもよい。
【０１３５】
（３）上記実施形態では通信回線としてＵＳＢを例に説明した。しかしながら、通信回線はＵＳＢに限られない。例えばＰＣ２とプリンタ３とはプリンタの通信規格であるＩＥＥＥ１２８４によって通信するものであってもよい。
【０１３６】
（４）上記実施形態ではポート番号を用いてプリンタ３を識別する場合を例に説明した。これに対し、画像処理装置によって規定される情報を元に通信パスを生成するようにしてもよい。プリンタ内部のフォルダ名を利用してプリンタ３を識別する例を示す。
【０１３７】
具体的には例えば、ＩＰＰ／ＵＳＢ変換プログラム４３はＵＳＢクライアントインタフェース部３２に記憶されているディスクリプタからプリンタ３のモデル名、ベンダーＩＤ、製品ＩＤ、及び、シリアル番号を取得し、取得した情報から以下のフォルダ名を生成する。
モデル名_ベンダーＩＤ_製品ＩＤ_シリアル番号
【０１３８】
上述したモデル名、ベンダーＩＤ、製品ＩＤ、及び、シリアル番号はそれぞれディスクリプタから取得した情報に読み替えるものとする。例えばプリンタ３ａのモデル名、ベンダーＩＤ、製品ＩＤ、及び、シリアル番号がそれぞれ以下のものであったとする。
モデル名＝ＰＲＩＮＴＥＲ３ａ
ベンダーＩＤ＝０４Ｆ９
製品ＩＤ＝００Ａ３
シリアル番号＝ＳＥＲ１１１１
この場合、フォルダ名は以下のフォルダ名となる。
ＰＲＩＮＴＥＲ３ａ_ＶＩＤ０４Ｆ９_ＰＩＤ００Ａ３_ＳＥＲ１１１１
【０１３９】
そして、ＩＰＰ／ＵＳＢ変換プログラム４３は前述したプリンタ選択画面５５の画面データに、生成したフォルダ名を含む以下のリンクを追加する。
＜ａ  ｈｒｅｆ＝”ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ／ＰＲＩＮＴＥＲ３ａ_ＶＩＤ０４Ｆ９_ＰＩＤ００Ａ３_ＳＥＲ１１１１／ｍａｉｎ．ｈｔｍｌ”＞ＰＲＩＮＴＥＲ３ａ＜／ａ＞
【０１４０】
このようにすると、ユーザがＷｅｂブラウザ４２で当該リンクをクリックしたとき、Ｗｅｂブラウザ４２からＩＰＰ／ＵＳＢ変換プログラム４３に次の処理要求が送信される。
ＧＥＴ  ／ＰＲＩＮＴＥＲ３ａ_ＶＩＤ０４Ｆ９_ＰＩＤ００Ａ３_ＳＥＲ１１１１／ｍａｉｎ．ｈｔｍｌ  ＨＴＴＰ／１．０
【０１４１】
ＩＰＰ／ＵＳＢ変換プログラム４３はこの処理要求からフォルダ名であるＰＲＩＮＴＥＲ３ａ_ＶＩＤ０４Ｆ９_ＰＩＤ００Ａ３_ＳＥＲ１１１１を抽出し、そのフォルダ名とプリンタ３のモデル名、ベンダーＩＤ、製品ＩＤ、及び、シリアル番号とが一致するプリンタ３を処理要求の送信先として特定することができる。
【０１４２】
一方、プリンタ３はＨＴＴＰリクエストに対して、モデル名、ベンダーＩＤ、製品ＩＤ、及び、シリアル番号を含む以下のような仮想的なフォルダを備える。
ＰＲＩＮＴＥＲ３ａ_ＶＩＤ０４Ｆ９_ＰＩＤ００Ａ３_ＳＥＲ１１１１
そして、上述した処理要求（ＧＥＴ  ／ＰＲＩＮＴＥＲ３ａ_ＶＩＤ０４Ｆ９_ＰＩＤ００Ａ３_ＳＥＲ１１１１／ｍａｉｎ．ｈｔｍｌ  ＨＴＴＰ／１．０）が送信されたとする。この場合、Ｗｅｂサーバ機能６２は上述したＨＴＴＰリクエストを、仮想的なフォルダ「／ＰＲＩＮＴＥＲ３ａ_ＶＩＤ０４Ｆ９_ＰＩＤ００Ａ３_ＳＥＲ１１１１」の下にあるｍａｉｎ．ｈｔｍｌというファイルを取得する命令として解釈する。よって、Ｗｅｂサーバ機能６２はｍａｉｎ．ｈｔｍｌというファイルを返信する。
【０１４３】
なお、ここではフォルダ名としてモデル名、ベンダーＩＤ、製品ＩＤ、及び、シリアル番号を連結した文字列を例に説明したが、フォルダ名にはＵＳＢによってＰＣ２に接続されている複数のプリンタ３を互いに識別できる情報が含まれていればよい。例えば仮にシリアル番号だけでプリンタ３を互いに識別できるとした場合はフォルダ名にはシリアル番号のみを含めるようにしてもよい。例えば各プリンタ３からシリアル番号を取得し、取得したシリアル番号が互いに異なっていればシリアル番号だけで識別できると判断することができる。
【０１４４】
また、プリンタ３が備える仮想的なフォルダは厳密にはＷｅｂサーバ機能６２によりそのディレクトリに記憶されているように扱われるだけで、記憶部３５のファイルシステム上に置かれないファイルもある。しかし、このような処理はＷｅｂサーバ機能５２に搭載されるＣＧＩ機能として一般的であり、ここでは詳細な説明は省略する。
【０１４５】
なお、上記実施形態では通信パスの識別は単なるポート番号にて行われていたために、ユーザが直接Ｗｅｂブラウザ４２に通信パスを入力する際には、ユーザにとってプリンタ３との対応が判り難いといった問題点があった。しかしこの例にあっては通信パスにフォルダ名を用いることにより、通信パス自体をユーザにとって意味のある単語とすることができるので、ユーザにとって通信パスとプリンタ３との対応が判り易いといった利点もある。
【０１４６】
（５）上記実施形態では画像処理装置としてプリンタ３を例に説明した。これに対し、画像処理装置は、印刷機能、スキャナ機能、コピー機能、ファクシミリ機能などを備える所謂複合機であってもよい。また、画像処理装置は単機能の画像読取装置やファクシミリ装置であってもよい。
【０１４７】
（６）上記実施形態では制御部３１が一つのＣＰＵ３１ａを備える場合を例に説明した。これに対し、制御部３１は１以上のＣＰＵによって構成されてもよいし、ＡＳＩＣによって構成されてもよいし、１以上のＣＰＵとＡＳＩＣとの組み合わせによって構成されてもよい。
【０１４８】
（７）上記実施形態では、プリンタはＫｅｅｐＡｌｉｖｅ仕様により単一セッションにて複数の要求データを要求しないものとして構成されている。しかし応答送信終了後もソケットを破棄せずに使用することによりＫｅｅｐＡｌｉｖｅ仕様に対応することもできる。
【０１４９】
（８）上記実施形態において、予約ポートはあらかじめ予約されており、且つそれらを常時監視するように構成している。しかし新たなポートがＳ２１４で割り当てられる毎に、そのポートを監視ポートに加えるようにしてもよい。
【０１５０】
（９）上記実施形態において、クライアントアプリケーションとしては、Ｗｅｂブラウザ４２のほかにＩＰＰプロトコルを用いたスプーラ４４である可能性もある。その場合、クライアントアプリケーションがＷｅｂブラウザ４２か否かを判定し、Ｗｅｂブラウザ４２の場合に設定画面５０の画面データを返し、スプーラ４４である場合に返さないようにしてもよい。これは、スプーラ４４は画面データを受信しても画面を表示できないからである。この場合、Ｗｅｂブラウザ４２が特定のアプリケーションの一例である。
つまり、ＩＰＰ／ＵＳＢ変換プログラム４３は、クライアントアプリケーションが特定のアプリケーションである場合にプリンタ選択画面５５の画面データを送信し、それ以外のアプリケーションである場合は画面データを送信しないようにしてもよい。これにより、画面を表示できないアプリケーションにプリンタ選択画面５５の画面データを送信してしまわないようにすることができる。
なお、上述した例とは逆に、クライアントアプリケーションがスプーラ４４である場合に、設定画面５０の画面データを返し、Ｗｅｂブラウザ４２である場合に返さないようにしてもよい。この場合、スプーラ４４が特定のアプリケーションの一例である。
なお、特定のアプリケーションは、プリンタ選択画面５５の画面データを表示できるものであればＷｅｂブラウザ４２に限定されない。
【０１５１】
（１０）上記実施形態において、プリンタ選択画面生成処理（Ｓ１０４）は処理要求のポート番号が８０である場合に実行されたが、その他に、新たなプリンタ３がＵＳＢでＰＣ２に接続された際に実行されてもよい。
【０１５２】
（１１）上記実施形態において、ＩＰＰ／ＵＳＢ変換プログラム４３はＳ３０１でポート番号が記憶部２６に記憶されていないと判断した場合はＳ３０２にて４０４（Ｎｏｔ  Ｆｏｕｎｄ）エラーをＷｅｂブラウザ４２に送信している。しかし、Ｓ３０２の処理の変わりにＳ１０４、Ｓ１０５の処理を行ってもよい。
つまり、ＩＰＰ／ＵＳＢ変換プログラム４３は、Ｗｅｂブラウザ４２から受信した処理要求で指定されたポート番号によりプリンタ３を特定できない場合に、プリンタ選択画面５５の画面データをＷｅｂブラウザ４２に送信してもよい。
これにより、例えばユーザが既にＰＣ２との接続が解除されてしまっているプリンタ３のポート番号を指定して設定画面５０の送信を要求した場合に、プリンタ選択画面５５の画面データを送信してプリンタ３を選択させ直すことができる。
【符号の説明】
【０１５３】
１・・・画像処理システム、２・・・ＰＣ、３・・・プリンタ、４・・・ＵＳＢケーブル、２１・・・ＣＰＵ、２６・・・記憶部、２７・・・ＵＳＢホストインタフェース部、４２・・・Ｗｅｂブラウザ、４３・・・ＩＰＰ／ＵＳＢ変換プログラム、４４・・・スプーラ、５０・・・設定画面、５５・・・プリンタ選択画面、５７・・・ラジオボタン、５８・・・削除ボタン、６１・・・ＩＰＰ機能、６２・・・Ｗｅｂサーバ機能
【図１】
2014102620.tif 000003
【図２】
2014102620.tif 000004
【図３】
2014102620.tif 000005
【図４】
2014102620.tif 000006
【図５】
2014102620.tif 000007
【図６】
2014102620.tif 000008
【図７】
2014102620.tif 000009
【図８】
2014102620.tif 000010
【図９】
2014102620.tif 000011
【図１０】
2014102620.tif 000012
【図１１】
2014102620.tif 000013
【図１２】
2014102620.tif 000014