(57)【要約】【課題】複数のクライアントアプリケーションとインターネット規格に基づく通信を実行することが可能な通信装置等を提供すること。【解決手段】ＰＣは、ＷｅｂブラウザおよびＩＰＰクライアントを備えている。ＰＣとＭＦＰは、通信回線を介して通信可能に接続されている。ＭＦＰのプロキシは、ＷｅｂブラウザまたはＩＰＰクライアントとの間で通信回線を介してセッションを確立し、確立したセッションによってＨＴＴＰ要求をクライアントアプリケーションから受信する。ＭＦＰのプロキシは、受信したＨＴＴＰ要求に対するＨＴＴＰ応答を、セッションによってＷｅｂブラウザまたはＩＰＰクライアントへ送信する。ＭＦＰのプロキシは、ＨＴＴＰ要求を受信する際に用いた通信回線がマルチセッションが可能でない場合には、ＨＴＴＰ応答を送信した後にセッションを切断する処理をＰＣに実行させる第１切断指示情報を、ＰＣへ送信する。【選択図】図４
2014092889.tif 000002
【特許請求の範囲】
【請求項１】
マルチセッションによって通信するクライアントアプリケーションを１つ以上備えているデータ処理装置と、通信回線を介して通信可能に接続されている通信装置であって、
前記クライアントアプリケーションとの間で前記通信回線を介してセッションを確立し、確立した前記セッションによってＨＴＴＰ要求を前記クライアントアプリケーションから受信する受信手段と、
前記受信手段が受信した前記ＨＴＴＰ要求に対するＨＴＴＰ応答を、前記セッションによって前記クライアントアプリケーションへ送信する送信手段と、
を備え、
前記送信手段は、前記ＨＴＴＰ要求を受信する際に用いた前記通信回線がマルチセッションが可能でない回線である場合には、前記ＨＴＴＰ応答を前記セッションによって前記クライアントアプリケーションへ送信した後に前記セッションを切断する処理を前記データ処理装置に実行させる第１切断指示情報を、前記データ処理装置へ送信することを特徴とする通信装置。
【請求項２】
前記マルチセッションが可能でない前記通信回線は、ユニバーサルシルアルバス（ＵＳＢ）であることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１切断指示情報は、前記ＨＴＴＰ応答が備えているＨＴＴＰヘッダに含まれている情報であることを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記送信手段は、前記ＨＴＴＰ要求を受信する際に用いた前記通信回線がマルチセッションが可能でない回線である場合には、前記ＨＴＴＰ応答の前記ＨＴＴＰヘッダで指定されているメッセージであってコネクションに関するメッセージの内容を、コネクションをクローズする内容に書き換えることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記送信手段は、前記ＨＴＴＰ応答がＷｅｂページを記述する内容の応答である場合には、前記第１切断指示情報を前記データ処理装置へ送信しないことを特徴とする請求項１〜４の何れか１項に記載の通信装置。
【請求項６】
前記送信手段は、前記クライアントアプリケーションとの間の前記セッションが維持されている場合に、前記ＨＴＴＰ要求を予め定められた所定時間の間受信しなかった場合には、前記セッションを切断する処理を前記データ処理装置に実行させる第２切断指示情報を前記データ処理装置へ送信することを特徴とする請求項１〜５の何れか１項に記載の通信装置。
【請求項７】
前記送信手段は、前記ＨＴＴＰ要求を受信する際に用いた前記通信回線がマルチセッションが可能な回線である場合には、前記第１切断指示情報を前記データ処理装置へ送信しないことを特徴とする請求項１〜６の何れか１項に記載の通信装置。
【請求項８】
前記通信装置はＷｅｂサーバを備えており、
前記クライアントアプリケーションはＷｅｂブラウザであることを特徴とする請求項１〜７の何れか１項に記載の通信装置。
【請求項９】
前記通信装置は、プロキシをさらに備えており、
前記受信手段は、前記プロキシと前記Ｗｅｂサーバとの間のソケットを作成し、
前記送信手段は、前記第１切断指示情報を前記データ処理装置へ送信すると共に、前記ソケットを消滅させることを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記受信手段は、前記ＵＳＢが備える複数のエンドポイントのうちの１のエンドポイントを介して、複数の前記クライアントアプリケーションの各々から前記ＨＴＴＰ要求を受信することを特徴とする請求項２〜９の何れか１項に記載の通信装置。
【請求項１１】
マルチセッションによって通信するクライアントアプリケーションを１つ以上備えているデータ処理装置と、通信回線を介して通信可能に接続されている通信装置のコンピュータが読み取り可能な通信プログラムであって、
前記通信装置の前記コンピュータを、
前記クライアントアプリケーションとの間で前記通信回線を介してセッションを確立し、確立した前記セッションによってＨＴＴＰ要求を前記クライアントアプリケーションから受信する受信手段と、
前記受信手段が受信した前記ＨＴＴＰ要求に対するＨＴＴＰ応答を、前記セッションによって前記クライアントアプリケーションへ送信する送信手段と、
して機能させ、
前記送信手段は、前記ＨＴＴＰ要求を受信する際に用いた前記通信回線がマルチセッションが可能でない回線である場合には、前記ＨＴＴＰ応答を前記セッションによって前記クライアントアプリケーションへ送信した後に前記セッションを切断する処理を前記データ処理装置に実行させる第１切断指示情報を、前記データ処理装置へ送信することを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示する技術は、各種のデータを通信することができる通信装置および通信プログラムに関する。
【背景技術】
【０００２】
従来、画像処理装置にＷｅｂサーバ機能を備え、端末装置で実行されるＷｅｂブラウザに画像処理装置の設定画面などを表示する技術が開示されている（例えば特許文献１参照）。また、画像処理装置と端末装置とをネットワークで接続し、ネットワークを介して画像処理装置に画像を処理させるＩＰＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｉｎｔｉｎｇ Ｐｒｏｔｏｃｏｌ）と呼ばれる規格が知られている。そして、画像処理装置と端末装置とがＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ）によって接続されている環境において上述したＩＰＰによる通信を行うための、ＩＰＰ ｏｖｅｒ ＵＳＢという規格のドラフトが知られている。
【０００３】
ＵＳＢは、エンドポイントと呼ばれる論理チャンネルを、複数備えることができる。エンドポイントを複数備えることにより、物理的にシリアル通信であるＵＳＢを用いて、複数の通信経路を形成することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２５７９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
１のエンドポイントを用いて複数種類のリクエストを同時期に通信する必要が生じる場合がある。複数種類のリクエストの一例としては、Ｗｅｂブラウザで画像処理装置の設定画面を表示するリクエストと、画像処理装置で印刷を実行するリクエストが挙げられる。しかしながら、ＵＳＢにはマルチセッションの概念がない。すると、１のリクエストによってＷｅｂサーバ機能とセッションが確立されている期間中は、他のリクエストは、Ｗｅｂサーバ機能とセッションを確立することができない。この場合、他のリクエストは、１のリクエストにより確立されているセッションがタイムアウト等によって切断されるまで、通信を開始することができないため、ユーザの利便性を損なうおそれがある。本明細書では、このような不便性を解消することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書によって開示される通信装置は、マルチセッションによって通信するクライアントアプリケーションを１つ以上備えているデータ処理装置と、通信回線を介して通信可能に接続されている通信装置であって、クライアントアプリケーションとの間で通信回線を介してセッションを確立し、確立したセッションによってＨＴＴＰ要求をクライアントアプリケーションから受信する受信手段と、受信手段が受信したＨＴＴＰ要求に対するＨＴＴＰ応答を、セッションによってクライアントアプリケーションへ送信する送信手段と、を備え、送信手段は、ＨＴＴＰ要求を受信する際に用いた通信回線がマルチセッションが可能でない回線である場合には、ＨＴＴＰ応答をセッションによってクライアントアプリケーションへ送信した後にセッションを切断する処理をデータ処理装置に実行させる第１切断指示情報を、データ処理装置へ送信することを特徴とする。
【０００７】
あるクライアントアプリケーションが、マルチセッションが可能でない通信回線を用いて通信装置との間でセッションを確立している場合には、他のクライアントアプリケーションは、通信装置とセッションを確立することができない。請求項１に記載の通信装置では、通信回線がマルチセッションが可能でない回線である場合には、クライアントアプリケーションを備えているデータ処理装置へ、第１切断指示情報を送信することができる。これにより、セッションを確立して１のＨＴＴＰ要求を受信し、１のＨＴＴＰ応答を送信するという処理が完了することに応じて、セッションを切断することができる。すなわち、ＨＴＴＰ要求に対してＨＴＴＰ応答を返信するという処理ごとに、セッションの確立および切断を行うことができる。これにより、ある１のクライアントアプリケーションと通信装置との通信中に、他のクライアントアプリケーションと通信装置との通信を割り込ませることが可能になる。
【０００８】
上記通信装置によると、クライアントアプリケーションと通信装置とが、ユニバーサルシルアルバスを介して、ＨＴＴＰに基づいた通信を行うことが可能となる。
【０００９】
上記通信装置によると、ＨＴＴＰ応答が備えているＨＴＴＰヘッダを用いて、第１切断指示情報をデータ処理装置へ送信することができる。よって、第１切断指示情報を送信するための専用の構成を備える必要を無くすことができる。
【００１０】
上記通信装置によると、ＨＴＴＰ応答のＨＴＴＰヘッダで指定されている、コネクションをクローズする内容のメッセージを用いて、第１切断指示情報をデータ処理装置へ送信することができる。これにより、ＨＴＴＰに基づいて第１切断指示情報を送信することができるため、データ処理装置の機種依存性などを無くすことができ、確実に切断指示をデータ処理装置へ伝達することが可能となる。
【００１１】
ＨＴＴＰ要求の内容がＷｅｂページを記述する内容である場合には、テキストファイルや画像ファイルなどの複数のファイルを、セッションを用いて通信する必要がある場合がある。上記通信装置によると、ＨＴＴＰ要求の内容がＷｅｂページを記述する内容である場合には、第１切断指示情報をデータ処理装置へ送信しないため、クライアントアプリケーションと通信装置との間のセッションが確立された状態を維持することができる。そして、確立が維持されているセッションを用いて、複数のファイルを通信することができる。これにより、ファイルごとにセッションを確立および切断する場合に比して、通信にかかる時間を短縮化することや、通信装置の負荷を低減することが可能となる。
【００１２】
上記通信装置によると、セッションを用いた通信が行われていない場合には、セッションを切断することが可能となる。これにより、マルチセッションが可能でない通信回線を用いる場合においても、ある１のクライアントアプリケーションと通信装置との通信中に、他のクライアントアプリケーションと通信装置との通信を割り込ませることが可能になる。
【００１３】
上記通信装置によると、通信回線がマルチセッションが可能な回線である場合には、第１切断指示情報をデータ処理装置へ送信しないため、クライアントアプリケーションと通信装置との間のセッションが確立された状態を維持することができる。よって、通信装置の負荷を低減することが可能となる。
【００１４】
上記通信装置によると、通信装置にＷｅｂサーバ機能を備えさせることができる。また、クライアントアプリケーションであるＷｅｂブラウザに、通信装置に関する画面を表示させることができる。
【００１５】
上記通信装置によると、これにより、セッションが確立され、１のＨＴＴＰ要求を受信して１のＨＴＴＰ応答を送信するという処理が完了することに応じて、通信装置内部でのセッションを切断することができる。すなわち、ＨＴＴＰ要求に対してＨＴＴＰ応答を返信するという処理ごとに、通信装置内部で、セッションの確立および切断を行うことができる。これにより、ある１のクライアントアプリケーションと通信装置との通信中に、他のクライアントアプリケーションと通信装置との通信を割り込ませることが可能になる。
【００１６】
上記通信装置によると、１のエンドポイントを介して、複数のクライアントアプリケーションの各々からＨＴＴＰ要求を受信する場合においても、通信時間が増大してしまうという事態を防止することが可能になる。
【００１７】
なお、上記の技術を実現するための通信プログラムも、新規で有用である。
【図面の簡単な説明】
【００１８】
【図１】通信システム１の電気的構成を示す図である。
【図２】ＰＣおよびＭＦＰのプログラム構成を示す図である。
【図３】ＭＦＰのプロキシで行われる通信中継処理のフローチャートである。
【図４】ＭＦＰのプロキシで行われる通信中継処理のフローチャートである。
【図５】ＨＴＴＰ要求の一例を示すである。
【図６】ＨＴＴＰ応答の一例を示すである。
【図７】通信システムの動作例を示すシーケンス図である。
【図８】通信システムの動作例を示すシーケンス図である。
【図９】通信システムの動作例を示すシーケンス図である。
【発明を実施するための形態】
【００１９】
＜通信システムの構成＞  
図１に、本願に係る第１実施形態として例示される通信システム１の電気的構成を示す。通信システム１は、パーソナルコンピュータ（ＰＣと記す）９、多機能周辺装置（以下「ＭＦＰ」と称す）５１、外部機器９１および９３を備えている。ＭＦＰ５１は、プリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能などを備える。外部機器９１および９３の一例としては、ＰＣや携帯電話などが挙げられる。
【００２０】
ＰＣ９の構成について説明する。ＰＣ９は、ＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、表示部１３、操作部１４、記憶部１５、ＵＳＢホストインタフェース部（図１ではＵＳＢホストＩＦ部と記す）１６、及び、ネットワークインタフェース部（図１ではネットワークＩＦ部と記す）１７、を備えている。
【００２１】
ＣＰＵ１０は、ＲＯＭ１１や記憶部１５に記憶されているプログラムを実行することによってＰＣ９の各部を制御する。ＲＯＭ１１には、ＣＰＵ１０によって実行されるプログラムやデータなどが記憶されている。ＲＡＭ１２は、ＣＰＵ１０が各種の処理を実行するための主記憶装置として用いられる。
【００２２】
表示部１３は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えている。操作部１４は、キーボードやマウス、それらが接続されるインタフェースなどを備えている。記憶部１５は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部１５には、オペレーティングシステム（ＯＳと記す）２１、Ｗｅｂブラウザ２３、ＩＰＰクライアント２４、ＴＣＰ／ＩＰスタック２５、プロキシ２６、ＵＳＢドライバ２７、などのプログラムが記憶されている。これらのプログラムの内容については、後述する。
【００２３】
ＵＳＢホストインタフェース部１６は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ ＳｅｒｉａｌＢｕｓ、ユニバーサルシリアルバス）ホストコントローラ（不図示）、ＵＳＢケーブルが接続されるジャック（不図示）、などを備えている。ＵＳＢホストインタフェース部１６は、ＵＳＢ１８を介してＭＦＰ５１と通信を行う部位である。ＵＳＢ１８は、マルチセッションを行うことができない通信回線である。ネットワークインタフェース部１７は、ＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）やインターネットなどの通信ネットワークを介して、ＰＣ、携帯電話、携帯通信端末などの不図示の通信端末と通信するためのインタフェースである。
【００２４】
ＭＦＰ５１の構成について説明する。ＭＦＰ５１は、プリンタ１９、スキャナ２０、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、記憶部３５、無線送受信部３６、無線アンテナ部３７、ボタン入力部３８、パネル３９、モデム４０、電話回線接続部４１、ＵＳＢインタフェース部（図１ではＵＳＢ＿ＩＦ部と記す）４２、ＬＡＮインタフェース部（図１ではＬＡＮ＿ＩＦ部と記す）４３、を主に備えている。これらの構成要素は、入出力ポート４４を介して互いに通信可能とされている。ＲＯＭ３３は、各種のプログラムを記憶する。ＣＰＵ３２は、ＲＯＭ３３に記憶されているプログラムを実行する。ＲＡＭ３４は、揮発性のメモリである。
【００２５】
記憶部３５は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部３５には、ＯＳ６１、Ｗｅｂサーバ６２、印刷ドライバ６４、ＴＣＰ／ＩＰスタック６５、プロキシ６６、ＵＳＢドライバ６７、ブルートゥースドライバ６８、ＬＡＮドライバ６９、などのプログラムが記憶されている。これらのプログラムの内容については、後述する。
【００２６】
ＵＳＢインタフェース部４２は、ＵＳＢ１８を介してＰＣ９と通信を行う部位である。ＬＡＮインタフェース部４３は、ＬＡＮ通信９２を介して外部機器９１と通信を行う部位である。無線送受信部３６は、無線アンテナ部３７を介して、外部機器９３との間でブルートゥース通信９４を行う部位である。ＬＡＮ通信９２およびブルートゥース通信９４は、マルチセッションを行うことが可能な通信回線である。ボタン入力部３８は、第１ＭＦＰ５１の各機能を実行するためのキーである。ボタン入力部３８は、タッチパネルとして、パネル３９と一体に構成されていてもよい。パネル３９は、各種の画像を表示する。プリンタ１９は、印刷用紙に印刷を実行する部位である。スキャナ２０は、紙の原稿をスキャンして、画像データを生成する部位である。モデム４０は、ファクシミリ機能によって送信する原稿データを、電話回線網１００に伝送可能な信号に変調して電話回線接続部４１を介して送信したり、電話回線網１００から電話回線接続部４１を介して入力された信号を受信し、原稿データへ復調するものである。
【００２７】
＜ＰＣとＭＦＰとの通信＞
ＰＣ９は、ＵＳＢ１８を介して、ＭＦＰ５１との間で少なくとも以下の通信を行う。（１）ＭＦＰ５１を設定するための通信。（２）ＭＦＰ５１に印刷データを送信するための通信。これらの通信は、ＩＰＰ ｏｖｅｒ ＵＳＢ規格に従って行われる。ＩＰＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｉｎｔｉｎｇ Ｐｒｏｔｏｃｏｌ）とは、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔＴｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）をベースにした規格であって、インターネットやＬＡＮなどのＴＣＰ／ＩＰネットワークを介してＭＦＰ５１と通信するための規格である。ＩＰＰ ｏｖｅｒ ＵＳＢは、ＵＳＢによって接続されている環境において上述したＩＰＰによる通信を実現するための規格である。ＩＰＰ ｏｖｅｒ ＵＳＢでは、ＩＰＰの通信データが、ＵＳＢのパケットに格納されて送受信される。
【００２８】
＜ＰＣおよびＭＦＰのプログラム構成＞
図２を参照して、ＩＰＰ ｏｖｅｒ ＵＳＢによって通信を行うための、ＰＣ９およびＭＦＰ５１のプログラム構成について説明する。ＰＣ９は、Ｗｅｂブラウザ２３、ＩＰＰクライアント２４、ＴＣＰ／ＩＰスタック２５、プロキシ２６、ＵＳＢドライバ２７、などのプログラムを実行する。
【００２９】
Ｗｅｂブラウザ２３は、ユーザがＭＦＰ５１の各種設定を行うためのユーザインタフェースとして用いられるプログラムである。Ｗｅｂブラウザ２３としては、一般に利用されているものを用いることができる。Ｗｅｂブラウザ２３は、マルチセッションによって通信するクライアントアプリケーションである。
【００３０】
ＴＣＰ／ＩＰスタック２５は、ＴＣＰ／ＩＰ通信のプロトコルに関するプログラムをまとめて１つのプログラム群にしたものである。ＴＣＰ／ＩＰスタック２５とプロキシ２６の間には、ソケット８１が作成されている。ＴＣＰ／ＩＰスタック２５とＷｅｂブラウザ２３の間には、ソケット８２が作成されている。ＴＣＰ／ＩＰスタック２５とＩＰＰクライアント２４の間には、ソケット８３が作成されている。ソケットは、ＴＣＰ／ＩＰによって通信を行うための抽象化されたインタフェースであり、アプリケーションをネットワークに接続するための機構である。具体的には、ソケットは、ＴＣＰ／ＩＰで通信を行うコンピュータが持つネットワーク内での住所にあたるIPアドレスと、IPアドレスのサブ(補助)アドレスであるポート番号を組み合わせたネットワークアドレスを備えている。アプリケーションは、アドレスとポートの組であるソケットを指定して回線を開くだけで、通信手順の詳細を気にすることなくデータの送受信を行うことができる。
【００３１】
プロキシ２６は、ＷＷＷ閲覧のためにＨＴＴＰによる接続を中継するプログラムである。プロキシ２６は、ＵＳＢドライバ２７を介してＵＳＢ１８に接続されている。ＵＳＢドライバ２７は、ＵＳＢホストインタフェース部１６を制御して、ＵＳＢ１８を介した通信を実行するためのプログラムである。プロキシ２６は、Ｗｅｂブラウザ２３とプロキシ６６との間、及び、ＩＰＰクライアント２４とプロキシ６６との間の通信を中継する。プロキシ２６は、ｌｏｃａｌｈｏｓｔ(ＩＰ=１２７．０.０．１)の特定ポート（以後はポート８０を使用するものとして記述する）に対するサーバとして働く。Ｗｅｂブラウザ２３は、ｌｏｃａｌｈｏｓｔのポート８０（例：ｈｔｔｐ：／／１２７．０．０．１：８０）に対してアクセスすることにより、画面データの送信をプロキシ２６に要求する。画面データの一例としては、ＭＦＰ５１の各種の設定を行うための設定画面を表示するためのデータが挙げられる。ここで、画面データはＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）やＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）によって記述されている。プロキシ２６に送信した要求は、プロキシ２６により、ＵＳＢ１８を介してＭＦＰ５１のプロキシ６６に送信される。
【００３２】
ＩＰＰクライアント２４は、ＩＰＰによる通信を行って、Ｗｅｂサーバ６２からサービスを受けるプログラムである。ＩＰＰクライアント２４は、マルチセッションによって通信するクライアントアプリケーションである。ＩＰＰクライアント２４の一例としては、スプーラが挙げられる。スプーラは、印刷データを一時的に保存するプログラムである。ＩＰＰクライアント２４は、ＯＳ２１の一部として提供されてもよい。ＩＰＰクライアント２４がスプーラである場合に、ＰＣ９とＭＦＰ５１とがＵＳＢ１８によって接続されている環境では、ＩＰＰクライアント２４は、プロキシ２６とＩＰＰによって通信することにより、プロキシ２６に印刷データを送信する。プロキシ２６に送信した印刷データは、プロキシ２６により、ＵＳＢ１８を介してＭＦＰ５１のプロキシ６６に送信される。
【００３３】
図２を参照して、ＭＦＰ５１のプログラム構成について説明する。ＭＦＰ５１は、Ｗｅｂサーバ６２、印刷ドライバ６４、ＴＣＰ／ＩＰスタック６５、プロキシ６６、ＵＳＢドライバ６７、ブルートゥースドライバ６８、ＬＡＮドライバ６９、などのプログラムを実行する。ＴＣＰ／ＩＰスタック６５とプロキシ６６の間には、ソケット７１が作成されている。ＴＣＰ／ＩＰスタック６５とＷｅｂサーバ６２の間には、ソケット７２が作成されている。
【００３４】
Ｗｅｂサーバ６２は、ＨＴＴＰによる情報送信機能を持ったプログラムである。Ｗｅｂサーバ６２は、ＨＴＭＬ文書や画像などの情報を蓄積しておき、Ｗｅｂブラウザなどのクライアントアプリケーションの要求に応じて、インターネットなどのネットワークを通じて、これらの情報を送信する役割を果たす。またＷｅｂサーバ６２は、ＰＣ９から受信した印刷データを印刷ドライバ６４に出力する機能を備えている。印刷ドライバ６４は、プリンタ１９を制御して印刷を実行するためのプログラムである。
【００３５】
プロキシ６６は、ＷＷＷ閲覧のためにＨＴＴＰによる接続を中継するプログラムである。プロキシ６６は、ＵＳＢドライバ６７を介してＵＳＢ１８に接続されている。ＵＳＢドライバ６７は、ＵＳＢインタフェース部４２を制御して、ＵＳＢ１８を介した通信を実行するためのプログラムである。プロキシ６６は、ブルートゥースドライバ６８およびブルートゥース通信９４を介して、外部機器９３と通信する。ブルートゥースドライバ６８は、無線送受信部３６および無線アンテナ部３７を制御して、ブルートゥース通信９４を実行するためのプログラムである。ＴＣＰ／ＩＰスタック６５は、ＬＡＮドライバ６９およびＬＡＮ通信９２を介して、外部機器９１と通信する。ＬＡＮドライバ６９は、ＬＡＮインタフェース部４３を制御して、ＬＡＮ通信９２を実行するためのプログラムである。
【００３６】
＜ＵＳＢにおけるインタフェース＞
次に、ＵＳＢ１８におけるインタフェースについて説明する。ＵＳＢ１８では、物理的に一本のＵＳＢケーブルに、インタフェースと呼ばれる１以上の論理的な通信回線が構成される。ＵＳＢ１８では、コントロール転送を行うためのエンドポイント０と呼ばれる特殊なエンドポイントが必ず構成される。エンドポイント０は、双方向通信が可能なエンドポイントである。インタフェースは、エンドポイント０を介してＭＦＰ５１から取得されるインタフェースディスクリプタに基づいて構成される。各インタフェースは、通常１ないし複数のエンドポイントを有する。
【００３７】
本実施形態のＭＦＰ５１では、インタフェース１が構成されるものとする。さらに、インタフェース１は、リード用エンドポイントおよびライト用エンドポイントを有し、それらを使用することにより双方向通信を実現しているものとする。そして、ＭＦＰ５１を設定するための通信、および、ＭＦＰ５１に印刷データを送信するための通信は、インタフェース１を用いて行われるものとする。すなわち本実施形態では、１のリード用エンドポイントを介して、Ｗｅｂブラウザ２３およびＩＰＰクライアント２４の各々から、プロキシ６６がＨＴＴＰ要求を受信する場合を説明する。
【００３８】
＜プロキシによる通信中継処理の詳細＞
図３および図４を参照して、ＭＦＰ５１のプロキシ６６で行われる通信中継処理について説明する。プロキシ６６は常駐プログラムとして実行されるものであり、本処理はＭＦＰ５１に電源が投入されると常駐プログラムとして開始される。また以降の説明において、プロキシ６６というときは、プロキシ６６を実行するＣＰＵ３２のことをいう場合がある。
【００３９】
Ｓ１２において、プロキシ６６は、ソケット７１および７２をオープンする。これにより、プロキシ６６とＷｅｂサーバ６２の間の通信経路が形成される。
【００４０】
Ｓ１４においてプロキシ６６は、ＰＣ９、外部機器９１および９３の何れかから、ＨＴＴＰ要求を受信したか否かを判断する。受信していない場合（Ｓ１４：ＮＯ）にはＳ１６へ進む。
【００４１】
Ｓ１６においてプロキシ６６は、Ｋｅｅｐ−Ａｌｉｖｅの持続時間が経過したか否かを判断する。Ｋｅｅｐ−Ａｌｉｖｅは、Ｗｅｂサーバ６２との間で確立した接続を転送終了後も維持し、維持した接続を２回目以降のリクエストでも使用する仕組みである。Ｋｅｅｐ−Ａｌｉｖｅを使用すると、ファイルごとに接続を確立する必要がないため、ＣＰＵ負荷や通信時間を節約することができる。Ｋｅｅｐ−Ａｌｉｖｅの仕様は、ＲＦＣ ２６１６(ＨＴＴＰ １．１)で規定されている。Ｋｅｅｐ−Ａｌｉｖｅの持続時間は、接続しているセッションからのリクエストが来なくなってから切断するまでの待ち時間である。持続時間は、ユーザ等によって予め定められるとしてもよい。持続時間の一例としては、Ｋｅｅｐ  Ａｌｉｖｅ  Ｔｉｍｅｏｕｔで設定された時間が挙げられる。持続時間が経過していない場合（Ｓ１６：ＮＯ）にはＳ１４へ戻り、経過した場合（Ｓ１６：ＹＥＳ）にはＳ１７へ進む。
【００４２】
Ｓ１７においてプロキシ６６は、Ｓ１２でソケットをオープンしてから、Ｓ１４でＨＴＴＰ要求を一度でも受信したか否かを判断する。一度も受信していない場合（Ｓ１７：ＮＯ）にはＳ１８をスキップしてＳ２０へ進み、受信した場合（Ｓ１７：ＹＥＳ）にはＳ１８へ進む。これにより、ＭＦＰ５１の電源をオンにしただけの場合にように、一度もＨＴＴＰ要求を受信していない場合には、ＰＣ９に切断指示情報が通知（Ｓ１８）されないように制御することができる。
【００４３】
Ｓ１８においてプロキシ６６は、セッションを切断する処理をＰＣ９に実行させる切断指示情報を、ＵＳＢ１８を介してＰＣ９へ通知する。切断指示情報は、ＰＣ９に接続のクローズを行わせる情報である。また切断指示情報は、ＴＣＰの「ＦＩＮ」に相当するデータである。Ｓ２０においてプロキシ６６は、ソケット７１および７２をクローズする。これにより、プロキシ６６とＷｅｂサーバ６２の間の通信経路が消滅する。
【００４４】
一方、Ｓ１４において、ＨＴＴＰ要求を受信した場合（Ｓ１４：ＹＥＳ）には、Ｓ２４へ進む。図５に、ＨＴＴＰ要求の一例を示す。図５に示すように、ＨＴＴＰ要求のメッセージは、リクエスト行１１１、ヘッダ１１２、メッセージボディ１１３を備えている。リクエスト行１１１は、Ｗｅｂサーバ６２に実行して欲しい処理を伝えるための行である。リクエスト行１１１には、「メソッド」「ＵＲＬ」「ＨＴＴＰのバージョン」の３つの情報が含まれている。ヘッダ１１２は、メッセージボディ１１３の前に送られてくる情報であり、各種の状態を示す情報である。ヘッダ１１２には、接続状況（Ｃｏｎｎｅｃｔｉｏｎ）を表す情報が含まれている。図５に示しているＨＴＴＰ要求のヘッダ１１２には、Ｋｅｅｐ−Ａｌｉｖｅを実行することを示す情報が含まれている（領域Ｒ１を参照）。メッセージボディ１１３は、ＨＴＭＬで記述されたデータや画像データなどが含まれている部分である。
【００４５】
Ｓ２４においてプロキシ６６は、ＨＴＴＰ要求のＨＴＴＰヘッダにおいて、Ｈｏｓｔ（図５の領域Ｒ０を参照）をＷｅｂサーバ６２に書き換える。Ｓ２６においてプロキシ６６は、Ｗｅｂサーバ６２へＨＴＴＰ要求を送信する。これにより、プロキシ６６がＷｅｂブラウザ２３から受信したＨＴＴＰ要求が、Ｗｅｂサーバ６２へ転送される。Ｓ２８においてプロキシ６６は、ＨＴＴＰ要求に対するＨＴＴＰ応答を、Ｗｅｂサーバ６２から受信したか否かを判断する。ＨＴＴＰ応答を受信していない場合（Ｓ２８：ＮＯ）にはＳ２８へ戻り、受信した場合（Ｓ２８：ＹＥＳ）にはＳ３０へ進む。
【００４６】
図６に、ＨＴＴＰ応答の一例を示す。図６に示すように、ＨＴＴＰ応答のメッセージは、レスポンス行１２１、ヘッダ１２２、メッセージボディ１２３を備えている。レスポンス行１２１は、ＨＴＴＰ要求に対する応答の状態を示す行である。ヘッダ１２２は、各種の状態を示す情報である。メッセージボディ１２３は、ＨＴＭＬで記述されたデータなどが含まれている部分である。図６に示しているＨＴＴＰ要求のヘッダ１２２には、「Ｋｅｅｐ−Ａｌｉｖｅ」という接続状況（Ｃｏｎｎｅｃｔｉｏｎ）を表す情報が含まれている（図６、領域Ｒ２を参照）。
【００４７】
Ｓ３０においてプロキシ６６は、ＨＴＴＰ要求を受信した回線が、マルチセッションが可能な回線であるか否かを判断する。具体的には、ＨＴＴＰ要求を受信する際に用いたドライバが、マルチセッションが可能な回線用のドライバであるか否かを判断する。例えば図２のプログラム構成図では、ＵＳＢ１８はマルチセッションが可能ではない回線であり、ブルートゥース通信９４はマルチセッションが可能な回線である。よって、プロキシ６６がＵＳＢドライバ６７を介してＨＴＴＰ要求を受信した場合には、ＨＴＴＰ要求を受信した回線がマルチセッションが可能ではないと判断することができる。一方、プロキシ６６がブルートゥースドライバ６８を介してＨＴＴＰ要求を受信した場合には、ＨＴＴＰ要求を受信した回線がマルチセッションが可能であると判断することができる。ＨＴＴＰ要求を受信した回線がマルチセッションが可能でない回線であると判断される場合（Ｓ３０：ＮＯ）には、Ｓ３１へ進む。Ｓ３１においてプロキシ６６は、ＨＴＴＰ応答がＷｅｂページを記述する内容の応答であるか否かを判断する。具体的には、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｔｅｎｔ‐ｔｙｐｅ」（図６、領域Ｒ３を参照）が、「ｈｔｍｌ」であるか否かを判断する。ＨＴＴＰ応答がＷｅｂページを記述する内容ではない場合（Ｓ３１：ＮＯ）には、Ｓ４０へ進む。
【００４８】
Ｓ４０においてプロキシ６６は、ＨＴＴＰ応答のＨＴＴＰヘッダで指定されているメッセージであって、コネクションに関するメッセージの内容を、コネクションをクローズする内容に書き換える。具体的には、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」を、「ｃｌｏｓｅ」に書き換える（図６、領域Ｒ４を参照）。これにより、Ｋｅｅｐ−Ａｌｉｖｅを終了する処理を、Ｗｅｂブラウザ２３に実行させることができる。Ｓ４２においてプロキシ６６は、ＰＣ９のＷｅｂブラウザ２３へ、ＵＳＢ１８を介して、ＨＴＴＰ応答を送信する。これにより、Ｗｅｂサーバ６２からプロキシ６６が受信したＨＴＴＰ応答が、Ｗｅｂブラウザ２３へ転送される。
【００４９】
Ｓ４４においてプロキシ６６は、ソケット７１および７２をクローズする。具体的には、ＴＣＰの「ＦＩＮ」に相当するデータを、ＴＣＰ／ＩＰスタック６５およびＷｅｂサーバ６２へ送信する。これにより、プロキシ６６とＷｅｂサーバ６２の間の通信経路が消滅する。そしてＳ１２へ戻る。
【００５０】
一方、ＨＴＴＰ要求を受信した回線がマルチセッションが可能である場合（Ｓ３０：ＹＥＳ）や、ＨＴＴＰ応答がＷｅｂページを記述する内容の応答である場合（Ｓ３１：ＹＥＳ）には、Ｓ３４へ進む。Ｓ３４においてプロキシ６６は、ＰＣ９のＷｅｂブラウザ２３へ、ＵＳＢ１８を介して、ＨＴＴＰ応答を送信する。そしてＳ１４へ戻る。このとき、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」は、書き換えられない。よって、ＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」が「Ｋｅｅｐ−Ａｌｉｖｅ」であるＨＴＴＰ応答をＷｅｂサーバ６２から受信した場合には、Ｋｅｅｐ−Ａｌｉｖｅが維持されることになる。
【００５１】
＜通信システム１の動作＞
図７〜図９のシーケンス図を用いて、通信システム１の動作の一例について説明する。本説明例では、ＰＣ９からＭＦＰ５１を設定するための通信、および、ＰＣ９からＭＦＰ５１で印刷を行なうための通信の両方を、ＵＳＢ１８のインタフェース１を用いて実行する場合を説明する。また例として、Ｗｅｂサーバ６２から送信されるＨＴＴＰ応答のＨＴＴＰヘッダにおいて、「Ｃｏｎｎｅｃｔｉｏｎ」が「Ｋｅｅｐ−Ａｌｉｖｅ」であり、「Ｃｏｎｔｅｎｔ‐ｔｙｐｅ」が「ｈｔｍｌ」ではない場合を説明する。また例として、Ｗｅｂブラウザ２３が表示する設定画面は複数の画像データを必要とする画面であり、複数のセッションの確立が必要である場合を説明する。
【００５２】
プロキシ２６はｈｔｔｐ：／／１２７．０．０．１：８０に対するＴＣＰサーバープログラムとして常駐している。Ｗｅｂブラウザ２３は、ユーザから設定画面の表示を指示するためのアドレス（ｈｔｔｐ：／／１２７．０．０．１：８０）が入力されると、プロキシ２６との間にネットワークのセッションを確立する（Ｕ１２）。Ｗｅｂブラウザ２３は、確立したセッションを介して、設定画面データのメインページの送信を要求するＨＴＴＰ要求をプロキシ２６に送信する（Ｕ１６）。プロキシ２６は、受信したＨＴＴＰ要求を、ＵＳＢ１８のインタフェース１を介してＭＦＰ５１のプロキシ６６へ転送する（Ｕ２２）。
【００５３】
ＩＰＰクライアント２４は、ユーザから印刷指示が入力されると、プロキシ２６との間にネットワークのセッションを確立する（Ｕ３２）。ＩＰＰクライアント２４は、確立したセッションを介して、印刷ドライバ６４で印刷処理を実行させるための印刷要求をプロキシ２６に送信する（Ｕ３６）。ここで、ＵＳＢ１８のインタフェース１では、前述したＵ２２においてセッションが確立されている。また、ＵＳＢ１８は、マルチセッションが可能でない回線である。よってプロキシ２６は、印刷要求をＭＦＰ５１へ通信できない場合であると判断し、印刷要求の送信を保留する（Ｕ４０）。
【００５４】
ＭＦＰ５１のプロキシ６６は、ＨＴＴＰ要求を受信すると（Ｓ１４：ＹＥＳ）、ＨＴＴＰ要求のＨＴＴＰヘッダのＨｏｓｔを書き換える（Ｓ２４）。プロキシ６６は、Ｗｅｂサーバ６２へＨＴＴＰ要求を送信する（Ｓ２６）。プロキシ６６は、ＨＴＴＰ応答を、Ｗｅｂサーバ６２から受信する（Ｓ２８：ＹＥＳ）。前述したＳ２２でＨＴＴＰ要求を受信した回線はＵＳＢ１８であり、マルチセッションが可能な回線ではない（Ｓ３０：ＮＯ）。また本動作例では、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｔｅｎｔ‐ｔｙｐｅ」が、「ｈｔｍｌ」ではない場合を説明している（Ｓ３１：ＮＯ）。よってプロキシ６６は、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」を、「ｃｌｏｓｅ」に書き換える（Ｓ４０）（図６、領域Ｒ４を参照）。そしてプロキシ６６は、ＵＳＢ１８のインタフェース１を介して、ＰＣ９のＷｅｂブラウザ２３へ、ＨＴＴＰ応答を送信する（Ｓ４２）。またプロキシ６６は、ＴＣＰの「ＦＩＮ」に相当するデータを、ＴＣＰ／ＩＰスタック６５およびＷｅｂサーバ６２へ送信する（Ｓ４４）。
【００５５】
ＰＣ９のプロキシ２６は、受信したＨＴＴＰ応答を、Ｗｅｂブラウザ２３へ送信する（Ｕ５２）。プロキシ２６は、受信したＨＴＴＰ応答のＨＴＴＰヘッダにおける、「Ｃｏｎｎｅｃｔｉｏｎ：ｃｌｏｓｅ」の指示に従って、Ｗｅｂブラウザ２３とＷｅｂサーバ６２との間の１つ目のセッションを終了する。つまり、Ｕ２２において確立したセッションを終了する（Ｕ５６）。
【００５６】
プロキシ２６は、ＩＰＰクライアント２４とＷｅｂサーバ６２との間のセッションを確立できる状態であると判断し、Ｕ４０で保留していた印刷要求の送信を再開する（Ｕ６０）。これにより、印刷要求が、ＵＳＢ１８のインタフェース１を介してプロキシ６６へ転送される（Ｕ６４）。プロキシ６６で受信された印刷要求は、印刷ドライバ６４へ転送される。なお、ＭＦＰ５１内部で印刷要求を転送する方法の詳細は、上述した内容と同様であるため、説明を省略する。
【００５７】
Ｗｅｂブラウザ２３は、Ｗｅｂサーバ６２との間の２つ目のセッションの確立を行うために、プロキシ２６との間にネットワークのセッションを確立する（Ｕ６２）。Ｗｅｂブラウザ２３は、確立したセッションを介して、メインページを構成する画像の送信を要求するＨＴＴＰ要求をプロキシ２６に送信する（Ｕ６６）。ここで、ＵＳＢ１８のインタフェース１では、前述したＵ６４においてセッションが確立されている。また、ＵＳＢ１８は、マルチセッションが可能でない回線である。よってプロキシ２６は、ＨＴＴＰ要求をＭＦＰ５１へ通信できない場合であると判断し、ＨＴＴＰ要求の送信を保留する（Ｕ７０）。
【００５８】
Ｓ６２においてプロキシ６６は、ＰＣ９のＷｅｂブラウザ２３へ、ＵＳＢ１８を介して、印刷応答を送信する。印刷応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」は、「ｃｌｏｓｅ」に書き換えられている。ＰＣ９のプロキシ２６は、受信した印刷応答を、ＩＰＰクライアント２４へ送信する（Ｕ７２）。プロキシ２６は、受信した印刷応答のＨＴＴＰヘッダにおける、「Ｃｏｎｎｅｃｔｉｏｎ：ｃｌｏｓｅ」の指示に従って、ＩＰＰクライアント２４とＷｅｂサーバ６２との間のセッションを終了する（Ｕ７６）。
【００５９】
プロキシ２６は、Ｗｅｂブラウザ２３とＷｅｂサーバ６２との間のセッションを確立できる状態であると判断し、Ｕ７０で保留していたＨＴＴＰ要求の送信を再開する（Ｕ８０）。以後、同様の処理が繰り返される。
【００６０】
＜効果＞
本実施例に係る通信システム１の効果を説明する。複数のクライアントアプリケーション（Ｗｅｂブラウザ２３およびＩＰＰクライアント２４）の各々とＷｅｂサーバ６２とが、ＵＳＢの１のエンドポイントを介して通信を行う場合を考える。この場合、ＵＳＢはマルチセッションが可能でない回線であるため、１のクライアントアプリケーションであるＷｅｂブラウザ２３がＷｅｂサーバ６２との間でセッションを確立している期間中は、他のクライアントアプリケーションであるＩＰＰクライアント２４は、Ｗｅｂサーバ６２とセッションを確立することができない。特に、Ｗｅｂブラウザ２３がＷｅｂサーバ６２とＫｅｅｐ−Ａｌｉｖｅを使用してセッションを確立している場合には、Ｗｅｂブラウザ２３からＷｅｂサーバ６２への全ての要求が完了してから、Ｋｅｅｐ  Ａｌｉｖｅ  Ｔｉｍｅｏｕｔなどの持続時間が経過するまで、Ｗｅｂブラウザ２３とＷｅｂサーバ６２とのセッションが維持される。すると、ＩＰＰクライアント２４がＷｅｂサーバ６２とセッションを確立することができない期間がさらに長期化するため、印刷が実行されない時間が長期化し、ユーザの利便性を損なうおそれがある。
【００６１】
本実施例に係るＭＦＰ５１のプロキシ６６は、通信回線がマルチセッションが可能でない回線である場合（Ｓ３０：ＮＯ）には、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」を、「ｃｌｏｓｅ」に書き換えることができる（Ｓ４０）。これにより、ＨＴＴＰ応答をクライアントアプリケーションへ送信した後にセッションを切断する処理の実行指示を、ＰＣ９へ送信することができる。よって、図７〜図９の動作例で説明したように、セッションを確立して１のＨＴＴＰ要求をプロキシ６６が受信し（Ｓ１４：ＹＥＳ）、１のＨＴＴＰ応答をプロキシ６６が送信する（Ｓ４２）という処理が完了することに応じて、セッションを切断することができる（Ｕ５６）。すなわち、ＨＴＴＰ要求に対してＨＴＴＰ応答を返信するという処理ごとに、セッションの確立および切断を行うことができる。これにより、Ｗｅｂブラウザ２３からＷｅｂサーバ６２へ複数の要求が行われている期間中に、ＩＰＰクライアント２４からＷｅｂサーバ６２への要求が行われる場合においても、Ｗｅｂブラウザ２３からＷｅｂサーバ６２への１の要求が完了したら（Ｕ５２）、Ｗｅｂブラウザ２３とＷｅｂサーバ６２とのセッションを切断し（Ｕ５６）、ＩＰＰクライアント２４とＷｅｂサーバ６２とセッションを確立させることができる（Ｕ６４）。よって、Ｗｅｂブラウザ２３からＷｅｂサーバ６２へ複数の要求が送信されている期間中に、ＩＰＰクライアント２４からＷｅｂサーバ６２への要求を割り込ませることが可能となる。従って、ＩＰＰクライアント２４がＷｅｂサーバ６２とセッションを確立することができない期間（図７〜図９、期間Ｔ１を参照）が長期化する結果、印刷が実行されない時間が長期化してしまう、といった事態を防止することが可能となる。
【００６２】
ＨＴＴＰ応答が備えているＨＴＴＰヘッダで指定されている、コネクションをクローズする内容のメッセージを用いて、セッションを切断する処理の実行指示をＰＣ９へ送信することができる。よって、セッションを切断する処理の実行指示を送信するための専用の構成を備える必要を無くすことができる。これにより、ＨＴＴＰに基づいてセッションを切断する処理の実行指示を送信することができるため、ＰＣの機種依存性などを無くすことができ、確実に切断指示をＰＣへ伝達することが可能となる。
【００６３】
ＨＴＴＰ要求の内容がＷｅｂページを記述する内容である場合（Ｓ３１：ＹＥＳ）には、テキストファイルや画像ファイルなどの複数のファイルを、セッションを用いて通信する必要がある場合がある。本実施例に係るＭＦＰ５１のプロキシ６６によると、ＨＴＴＰ要求の内容がＷｅｂページを記述する内容である場合（Ｓ３１：ＹＥＳ）には、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」を、「ｃｌｏｓｅ」に書き換えないため、セッションを切断する処理の実行指示がＰＣ９へ送信されない。よって、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」が「Ｋｅｅｐ−Ａｌｉｖｅ」である場合には、クライアントアプリケーションとＷｅｂサーバ６２との間のセッションが確立された状態を維持することができる。そして、確立が維持されているセッションを用いて、複数のファイルを通信することができる。これにより、ファイルごとにセッションを確立および切断する場合に比して、通信にかかる時間を短縮化することや、ＣＰＵの負荷を低減することが可能となる。
【００６４】
ＨＴＴＰ要求を予め定められた所定時間の間受信しなかった場合（Ｓ１６：ＹＥＳ）には、プロキシ６６は、切断指示情報をＰＣ９へ送信することができる（Ｓ１８）。これにより、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」を、「ｃｌｏｓｅ」に書き換えない場合（Ｓ３０：ＹＥＳ、または、Ｓ３１：ＹＥＳ）においても、セッションを用いた通信が行われていない場合には、セッションを切断することが可能となる。
【００６５】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を説明する。
【００６６】
＜変形例＞
Ｓ４０において、ＨＴＴＰ応答のＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」を「ｃｌｏｓｅ」に書き換える処理は、プロキシ６６で行う形態に限られない。当該処理を、Ｗｅｂサーバ６２で行っても良い。この場合、Ｗｅｂサーバ６２は、ＴＣＰの「ＦＩＮ」に相当するデータを、ＴＣＰ／ＩＰスタック６５およびプロキシ６６へ送信するとすればよい。
【００６７】
本明細書に記載の技術の適用範囲は、ＭＦＰ５１を設定するための通信、および、ＭＦＰ５１に印刷データを送信するための通信を、インタフェース１の同一のエンドポイントを用いて実行する場合に限られない。例えば、ＭＦＰ５１を設定するための通信、および、ＭＦＰ５１で各種の処理を実行するための通信を、同一のエンドポイントを用いて実行する場合にも適用可能である。例えば、１つ目のＷｅｂブラウザ２３をＰＣ９で実行して、ＭＦＰ５１での印刷設定を行うとともに、２つ目のＷｅｂブラウザ２３をＰＣ９で実行して、インターネットを用いたＦＡＸ送信やインターネットを用いたメール送受信を行う場合においても、本明細書に記載の技術を適用することができる。
【００６８】
上記実施形態では、マルチセッションが可能でない通信回線の一例としてＵＳＢ１８を説明したが、この形態に限られない。マルチセッションできない通信回線として、例えば、シリアル通信を行うＲＳ‐２３２Ｃを用いてもよい。
【００６９】
図７〜図９の動作例において、印刷要求の送信を再開するタイミング（Ｕ６０）と、Ｗｅｂブラウザ２３の間の２つ目のセッションを確立するタイミング（Ｕ６２）との順番は、何れが先であってもよい。
【００７０】
Ｗｅｂサーバ６２が備えられる通信装置の一例として、ＭＦＰ５１を説明したが、この形態に限られない。通信装置は、ＵＳＢ接続できる装置であれば何れの種類の装置であってもよく、例えばＰＣや携帯電話であってもよい。
【００７１】
上記実施形態では、マルチセッションによって通信するクライアントアプリケーションとして、Ｗｅｂブラウザ２３およびＩＰＰクライアント２４を例に説明したが、これらのアプリケーションに限られない。マルチセッションによって通信するものであれば、他の種類のアプリケーションであってもよい。
【００７２】
Ｓ２４において、ＨＴＴＰ要求のＨＴＴＰヘッダを書き換える形態を説明したが、この形態に限られない。ＨＴＴＰヘッダを書き換えずに、ＨＴＴＰ要求を転送する形態であってもよい。
【００７３】
Ｓ３０およびＳ３１の少なくとも一方を省略してもよい。Ｓ３０およびＳ３１の両方を省略する場合には、ＨＴＴＰ応答をＷｅｂサーバ６２から受信すると（Ｓ２８：ＹＥＳ）、ＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ」が必ず「ｃｌｏｓｅ」に書き換えられる（Ｓ４０）ように制御することができる。
【００７４】
なお、Ｗｅｂブラウザ２３およびＩＰＰクライアント２４は、クライアントアプリケーションの一例である。ＰＣ９は、データ処理装置の一例である。ＵＳＢ１８は、通信回線の一例である。ＭＦＰ５１は、通信装置の一例である。Ｓ１４を実行するＣＰＵは、受信手段の一例である。Ｓ３４、Ｓ４２を実行するＣＰＵは、送信手段の一例である。ＨＴＴＰヘッダの「Ｃｏｎｎｅｃｔｉｏｎ：ｃｌｏｓｅ」は、第１切断指示情報の一例である。ＦＩＮに相当するデータは、第２切断指示情報の一例である。
【符号の説明】
【００７５】
９：ＰＣ、１８：ＵＳＢ、２３：Ｗｅｂブラウザ、２４：ＩＰＰクライアント、２６および６６：プロキシ、５１：ＭＦＰ、６２：Ｗｅｂサーバ、６４：印刷ドライバ
【図１】
2014092889.tif 000003
【図２】
2014092889.tif 000004
【図３】
2014092889.tif 000005
【図４】
2014092889.tif 000006
【図５】
2014092889.tif 000007
【図６】
2014092889.tif 000008
【図７】
2014092889.tif 000009
【図８】
2014092889.tif 000010
【図９】
2014092889.tif 000011