(57)【要約】【課題】ローカルインタフェースを介してウェブサーバにアクセスする際のユーザの利便性を向上する情報処理装置を提供する。【解決手段】ローカルインタフェースを介して接続された外部装置のウェブサーバへのアクセス指示をユーザから受け付けると、当該ウェブサーバにローカルインタフェースを介してアクセスするためのアクセス先情報を取得する。その取得したアクセス先情報に基づいて、ローカルインタフェースを介して外部装置のウェブサーバと通信する。【選択図】図３
2013250892.tif 000002
【特許請求の範囲】
【請求項１】
ローカルインタフェースを介して外部装置と通信可能な情報処理装置であって、
前記ローカルインタフェースを介して接続された外部装置のウェブサーバへのアクセス指示を受け付ける受付手段と、
前記受付手段が前記アクセス指示を受け付けた場合に前記外部装置に前記ローカルインタフェースを介してアクセスするためのアクセス先情報を取得する取得手段と、
前記取得手段が取得した前記アクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する通信制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記受付手段は、前記外部装置に所定の処理を実行させるためのデバイスドライバを介したアクセス指示を受け付け、前記取得手段は、前記アクセス指示を行ったデバイスドライバと関連付けられたアクセス先情報を取得する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、前記デバイスドライバと関連付けられたアクセス先情報を取得できなかった場合、前記ローカルインタフェースを介して接続されている前記ウェブサーバを備えた外部装置を検索し、該検索によって得られた外部装置のアクセス先情報を取得する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記取得手段は、前記外部装置を検索する際、ネットワークインタフェースを介して検索する、ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記通信制御手段は、前記ローカルインタフェースに対応したプロトコル上でネットワークに対応したプロトコル通信を行うことによって前記外部装置のウェブサーバと前記ローカルインタフェースを介して通信する、ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記受付手段による前記アクセス指示に応じてウェブブラウザを起動する起動手段、をさらに有し、
前記通信制御手段は、前記起動手段により起動されたウェブブラウザを介した要求に応じて前記外部装置のウェブサーバと通信する、ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記取得手段で取得したアクセス先情報を用いて前記ローカルインタフェースを介して前記外部装置のウェブサーバにアクセスするためのＵＲＬを生成する生成手段、をさらに有し、
前記起動手段は、ウェブブラウザを起動するとともに前記生成手段で生成したＵＲＬにアクセスさせる、ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記通信制御手段は、前記外部装置のウェブサーバから受信した情報をウェブブラウザに供給する、ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記ローカルインタフェースはＵＳＢであり、前記アクセス先情報はＵＳＢポート情報である、ことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
ローカルインタフェースを介して外部装置と通信可能な情報処理装置において実行される情報処理方法であって、
前記情報処理装置の受付手段が、前記ローカルインタフェースを介して前記情報処理装置に接続された外部装置のウェブサーバへのアクセス指示を受け付ける受付工程と、
前記情報処理装置の取得手段が、前記アクセス指示を受け付けた場合に前記外部装置に前記ローカルインタフェースを介してアクセスするためのアクセス先情報を取得する取得工程と、
前記情報処理装置の通信制御手段が、前記取得した前記アクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する通信制御工程と、
を有することを特徴とする情報処理方法。
【請求項１１】
請求項１乃至９のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
Ｗｅｂサーバにアクセスする情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、プリンタ等の周辺装置にＷｅｂサーバ機能を内蔵させ、ネットワーク経由でホストＰＣからＷｅｂブラウザを用いて当該Ｗｅｂサーバにアクセスし、周辺装置を操作可能なものが知られている。これにより、ホストＰＣ側では汎用的なＷｅｂブラウザを用いて周辺装置を操作可能となる。
【０００３】
しかしながら、周辺装置をＵＳＢ規格の通信インタフェース等のローカルインタフェースを介してホストＰＣに接続すると、ホストＰＣのＷｅｂブラウザは、ローカルインタフェースによるアクセスには対応していないためＷｅｂブラウザを用いて周辺装置を操作することができない。そこで、Ｗｅｂブラウザとローカルインタフェースとの間でデータ形式などの変換を行うことによってローカルインタフェースを介してもＷｅｂブラウザを使用可能とすることが知られている（特許文献１）。
【０００４】
特許文献１では、ローカルインタフェース用のＩＰアドレスやポートなどのネットワーク通信路を生成し、Ｗｅｂブラウザはそれを用いて周辺装置へのアクセスを行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３９９８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、ローカルインタフェースに周辺装置が接続された場合に、ローカルインタフェース用のネットワーク通信路を生成するか、あるいはユーザによる手動操作でネットワーク通信路を生成する。
【０００７】
ローカルインタフェースに周辺装置が接続された場合に該ネットワーク通信路を生成すると、ユーザの意図に反してローカルインタフェースを介したアクセスを行うことになる。一方、手動操作によって該ネットワーク通信路を生成する場合、対象となる周辺装置の指定やネットワーク通信路の生成の方法を知っている必要がある。
【０００８】
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、ローカルインタフェースを介してウェブサーバにアクセスする際のユーザの利便性を向上する情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明に係る情報処理装置は、ローカルインタフェースを介して外部装置と通信可能な情報処理装置であって、前記ローカルインタフェースを介して接続された外部装置のウェブサーバへのアクセス指示を受け付ける受付手段と、前記受付手段が前記アクセス指示を受け付けた場合に前記外部装置に前記ローカルインタフェースを介してアクセスするためのアクセス先情報を取得する取得手段と、前記取得手段が取得した前記アクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する通信制御手段と、を備える。
【発明の効果】
【００１０】
本発明によると、ローカルインタフェースを介してウェブサーバにアクセスする際のユーザの利便性を向上することができる。
【図面の簡単な説明】
【００１１】
【図１】Ｗｅｂサーバシステムの構成を示す図である。
【図２】ホストＰＣ１０１のハードウェアの構成を示す図である。
【図３】Ｗｅｂブラウザの起動処理の手順を示す図である。
【図４】代理サーバの接続先判断部の処理の手順を示す図である。
【図５】実施例１における中継専用代理サーバの動作の手順を示す図である。
【図６】図４のＳ４１１の処理の詳細を示す図である。
【図７】実施例２における中継専用代理サーバの動作の手順を示す図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１３】
〔実施例１〕
図１は、本実施例における情報処理装置を含むウェブサーバ（Ｗｅｂサーバ）システムの構成を示す図である。情報処理装置としてのホストＰＣ１０１は、以下に説明する構成要素や機能を備えた汎用的なコンピュータが用いられる。ホストＰＣ１０１は、オペレーティングシステム（ＯＳ）１１５と周辺装置の例である各プリンタに対応したデバイスドライバ（プリンタドライバ１０４）と代理サーバ１０７を含んでいる。プリンタドライバ１０４は、ＯＳ１１５に登録されている。ＯＳ１１５は、ホストＰＣ１０１に接続されたプリンタ１０２やプリンタ１０３についてのジョブを管理するプリンタキューを作成する。作成されたプリンタキューには、対応するプリンタのプリンタドライバ１０４が関連付けられる。ＯＳ１１５は、プリンタキューに対して、プリンタドライバ１０４とともに、プリンタ１０２やプリンタ１０３の接続先ポート情報も管理している。接続先ポート情報は、例えば、ローカル接続インタフェースやネットワーク接続インタフェースに応じたポート情報である。ローカル接続インタフェースの場合には、例えばＵＳＢ規格のポート名であり、ネットワーク接続インタフェースの場合には、例えばＩＰアドレスである。
【００１４】
プリンタドライバ１０４は、対応するプリンタに印刷を行わせるための各種設定のための設定画面や、印刷対象の印刷データを、各プリンタが解釈可能な形式に変換するための機能などを含むソフトウェアである。プリンタドライバ１０４は、接続先通知部１０５を含んでいる。接続先通知部１０５は、ユーザがプリンタドライバ１０４において「ＵＳＢ経由でプリンタのＷｅｂサーバへアクセスする」という機能を実行指示する場合に動作する。接続先通知部１０５の動作については、図３を参照して後述する。ウェブブラウザ（Ｗｅｂブラウザ）１０６は汎用的なＷｅｂブラウザであり、ユーザによる直接的な指示により起動される他、プリンタドライバ１０４の接続先通知部１０５を介した指示によっても起動される。
【００１５】
代理サーバ１０７は、プリンタドライバ１０４のインストール時に同時にインストールされる。代理サーバ１０７は、Ｗｅｂブラウザ１０６からのアクセスに基づいて、プリンタ１０２やプリンタ１０３に接続する機能を有したソフトウェアである。代理サーバ１０７は、Ｗｅｂブラウザ１０６と、プリンタ１０２に内蔵されたＷｅｂサーバ１１３やプリンタ１０３に内蔵されたＷｅｂサーバ１１４の中継路に配置されている。そのような構成によって、代理サーバ１０７は、Ｗｅｂブラウザ１０６と、Ｗｅｂサーバ１１３及びＷｅｂサーバ１１４それぞれとの通信を仲介する。Ｗｅｂサーバ１１３は、プリンタ１０２に内蔵されたＷｅｂサーバである。Ｗｅｂサーバ１１４は、プリンタ１０３に内蔵されたＷｅｂサーバである。
【００１６】
代理サーバ１０７は、中継専用代理サーバ１０８を含み、中継専用代理サーバ１０８は、第１の通信部１０９と第２の通信部１１０を含んでいる。第１の通信部１０９は、ＴＣＰ／ＩＰプロトコル上でＨＴＴＰプロトコルを用いてＷｅｂブラウザ１０６と通信する。第２の通信部１１０は、プリンタ１０２やプリンタ１０３がＵＳＢ規格のインタフェースを介してホストＰＣと接続されている場合には、ＵＳＢ規格上のＩＥＥＥ１２８４．４プロトコル上でＨＴＴＰプロトコルを用いて各プリンタと通信する。プリンタ１０２やプリンタ１０３は、ＵＳＢ規格上のＩＥＥＥ１２８４．４プロトコル上でＨＴＴＰプロトコルを用いて代理サーバ１０７と通信する。ＩＥＥＥ１２８４．４プロトコルは、マルチチャンネルの双方向通信を行うプロトコルであり、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）モデルのトランスポート層に相当する。ＩＥＥＥ１２８４．４プロトコル上の１つのチャンネルとして、ＨＴＴＰプロトコル通信用のチャンネルが動作する。ＩＥＥＥ１２８４．４プロトコル上の他のチャンネルとしては、例えば、印刷ジョブをプリンタ１０２やプリンタ１０３に送信する印刷ジョブチャンネルがある。また、他のチャンネルとしては、プリンタ１０２やプリンタ１０３の状態や、製品名、対応機能などを取得するための管理チャンネルがある。管理チャンネルは、図６を参照して後述するプリンタ検索に用いられる。
【００１７】
代理サーバ１０７は、接続先検索部１１２と接続先判断部１１１とを含んでいる。接続先判断部１１１は、プリンタドライバ１０４の接続先通知部１０５がＷｅｂブラウザ１０６に通知した情報に基づいて、代理サーバ１０７が、いずれのプリンタに接続するのかを判定する。接続先判断部１１１の動作については、図４を参照して後述する。接続先検索部１１２は、プリンタドライバ１０４の接続先通知部１０５からの通知情報に関わらず、代理サーバ１０７が接続先となるプリンタを検索する。接続先検索部１１２の動作については、図６を参照して後述する。また、代理サーバ１０７はバックグラウンドで動作し、ユーザにはＷｅｂブラウザ１０６のみが動作しているように見える。
【００１８】
図２は、ホストＰＣ１０１のハードウェアの構成を示す図である。ＣＰＵ２０１は、ホストＰＣ１０１の各部を統括的に制御する。ハードディスク２０２は、図１のＯＳ１１５、プリンタドライバ１０４、Ｗｅｂブラウザ１０６、代理サーバ１０７等のソフトウェアを保存する。ＣＰＵ２０１がこれらのソフトウェア（プログラム）を実行することにより以下に示す処理を行う。ディスプレイ２０３は、ユーザインタフェース画面等を表示する。有線ローカルインタフェース（Ｉ／Ｆ）２０４は、例えばＵＳＢ規格やＩＥＥＥ１３９４規格で外部と接続するためのインタフェースであり、プリンタ２１１を接続する。プリンタ２１１は、例えば、図１に示すプリンタ１０２やプリンタ１０３である。有線ネットワークインタフェース（Ｉ／Ｆ）２０９は、例えばイーサネット（登録商標）規格で接続するためのインタフェースであり、プリンタ２１２を接続する。無線ネットワークＩ／Ｆ２１０は、例えば無線ＬＡＮで接続するためのインタフェースであり、プリンタ２１３を接続する。本実施例においては、ＵＳＢ規格のインタフェースを介して接続されるプリンタに内蔵されたＷｅｂサーバへのアクセスについて説明するが、プリンタ２１２やプリンタ２１３に内蔵されたＷｅｂサーバへのアクセスについても本実施例を適用することができる。
【００１９】
ＲＯＭ２０６は、ＯＳ１１５を起動するための基本プログラムを記憶する。ＲＡＭ２０７は、本実施例を実現する際にＣＰＵ２０１により用いられる作業用記憶領域である。入力デバイス２０８は、キーボードやポインティングデバイス等であり、ホストＰＣ１０１のユーザより、入力デバイス２０８を介した各種指示を受付けることができる。システムバス２０５は、上記の各部を相互に通信可能に接続する。
【００２０】
以下、図３、図４、図５、図６を参照しながら、本実施例のホストＰＣにおける通信制御処理を説明する。図３は、Ｗｅｂブラウザ１０６の起動処理の手順を示すフローチャートである。図３に示す各処理は、例えば、ホストＰＣ１０１のＣＰＵ２０１により実行される。まず、ホストＰＣ１０１のユーザは、プリンタドライバ１０４のユーザインタフェース画面で、「接続するプリンタにＷｅｂブラウザを用いてＵＳＢ経由でアクセスする」という機能の実行を指示する。すると、プリンタドライバ１０４の接続先通知部１０５が起動する。Ｓ３０１において、ＣＰＵ２０１は、ＯＳ１１５により管理されているプリンタドライバ１０４の接続先ポート情報を取得する。Ｓ３０２において、ＣＰＵ２０１は、代理サーバ１０７のＵＲＬに対して、Ｓ３０１で取得した接続先ポート情報をパラメータとして付加したＵＲＬをプリンタへのアクセス用ＵＲＬとして生成する。接続先ポート情報は、例えば、「ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：８０８１／ｉｎｄｅｘ．ｈｔｍｌ？ｕｓｂ＿ｐｏｒｔ＿ｎａｍｅ＝ＵＳＢ００１」のように付加される。この例は、プリンタドライバ１０４に割り付けられたポートが「ＵＳＢ００１」である場合のものである。Ｓ３０３において、ＣＰＵ２０１は、Ｓ３０２でプリンタドライバ１０４の接続先ポート情報が付加されたＵＲＬの文字列を、Ｗｅｂブラウザ１０６に起動時にアクセスするＵＲＬとして渡してＷｅｂブラウザ１０６を起動する。その後、本処理を終了する。Ｗｅｂブラウザ１０６は起動指示に応答して、指定された上記ＵＲＬに従って、ＴＣＰ／ＩＰ上のＨＴＴＰプロトコルによって代理サーバ１０７にアクセスする。なお、プリンタドライバ１０４に対応するプリンタがネットワークを介してＰＣ１０１と接続されている場合、プリンタにアクセスするために生成されるＵＲＬはプリンタの（Ｗｅｂサーバの）ＩＰアドレスを含むＵＲＬとなる。
【００２１】
図４は、代理サーバ１０７の接続先判断部１１１の処理の手順を示すフローチャートである。代理サーバ１０７は、例えばＯＳ１１５の起動とともに起動する。Ｓ４０１において、ＣＰＵ２０１は、代理サーバ１０７が起動しているか否かを判定する。ここで、代理サーバ１０７が起動していないと判定された場合には、本処理を終了する。代理サーバ１０７の接続先判断部１１１は、代理サーバ１０７の起動とともに動作を開始する。Ｓ４０２において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６からのアクセスの有無を判定する。ここで、Ｗｅｂブラウザ１０６からのアクセスがないと判定された場合には、Ｓ４０１からの処理を繰り返す。一方、Ｗｅｂブラウザ１０６からのアクセスがあると判定された場合には、Ｓ４０３に進む。Ｓ４０３において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６からのアクセスがＨＴＴＰプロトコルのＧＥＴリクエストであるか否かを判定する。ここで、ＨＴＴＰプロトコルのＧＥＴリクエストであると判定された場合には、Ｓ４０４において、ＣＰＵ２０１は、そのＧＥＴリクエストのデータを解析する。ＧＥＴリクエスト（ＧＥＴヘッダ）には、Ｓ３０２で接続先ポート情報が付加されたＵＲＬの文字列の内容がＨＴＴＰプロトコルとして、例えば「ＧＥＴ  ／ｉｎｄｅｘ．ｈｔｍｌ？ｕｓｂ＿ｐｏｒｔ＿ｎａｍｅ＝ＵＳＢ００１  ＨＴＴＰ／１．１」のように記述されている。「ｕｓｂ＿ｐｏｒｔ＿ｎａｍｅ＝ＵＳＢ００１」は、ＵＳＢ規格の接続先ポート情報を示している。Ｓ４０４では上記解析によりこの接続先ポート情報を取得する。
【００２２】
一方、Ｓ４０３でＨＴＴＰプロトコルのＧＥＴリクエストでないと判定された場合には、Ｓ４０５において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６からのアクセスがＨＴＴＰプロトコルのＰＯＳＴリクエストであるか否かを判定する。ここで、ＨＴＴＰプロトコルのＰＯＳＴリクエストであると判定された場合には、Ｓ４０６において、ＰＯＳＴリクエスト（ＰＯＳＴコンテンツ）のデータを解析して接続先ポート情報を取得する。一方、ＨＴＴＰプロトコルのＰＯＳＴリクエストでないと判定された場合には、Ｓ４０１からの処理を繰り返す。
【００２３】
Ｓ４０７において、ＣＰＵ２０１は、Ｓ４０４又はＳ４０６で解析された結果、接続先ポート情報が存在するか否かを判定する。ここで、接続先ポート情報が存在すると判定された場合には、Ｓ４０８に進む。一方、接続先ポート情報が存在しないと判定された場合には、Ｓ４１１に進む。Ｓ４１１の処理については、図６を参照しながら後述する。Ｓ４１１の処理後は、Ｓ４０１から処理を繰り返す。
【００２４】
Ｓ４０８において、ＣＰＵ２０１は、Ｓ４０４又はＳ４０６で取得された接続先ポート情報に接続する中継専用代理サーバ１０８が起動しているか否かを判定する。ここで、中継専用代理サーバ１０８が起動していると判定された場合には、Ｓ４１０に進む。一方、中継専用代理サーバ１０８が起動していないと判定された場合には、Ｓ４０９において、ＣＰＵ２０１は中継専用代理サーバ１０８を起動し、Ｓ４１０に進む。Ｓ４０４又はＳ４０６で取得された接続先ポート情報とは、例えば「ＵＳＢ００１」といったプリンタ１０２又はプリンタ１０３のポート名称であり、中継専用代理サーバ１０８に起動パラメータとして渡される。Ｓ４１０において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６から代理サーバ１０７へのアクセスを中継専用代理サーバ１０８にリダイレクトする。また、その際に、ＣＰＵ２０１は、第１の通信部１０９からＷｅｂブラウザ１０６にＨＴＴＰプロトコルのステータスコードを返信する。その返信内容には、例えば「ＨＴＴＰ／１．１  ３０７  Ｔｅｍｐｏｒａｒｙ  Ｒｅｄｉｒｅｃｔ  Ｌｏｃａｔｉｏｎ：  ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：８０１２／」という内容が含まれている。ここで、「ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：８０１２／」は、例えば、ＵＳＢ規格のポートである「ＵＳＢ００１」に接続する中継専用代理サーバ１０８のＵＲＬである。ここで、仮にＵＳＢ規格の他のポートである「ＵＳＢ００２」に接続する場合には、「ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：８０１３／」のように、別のポート番号を指定するようにしても良い。ここでは接続するポート毎に中継専用代理サーバ１０８が用意されており、指定されたポート情報に応じた中継専用代理サーバ１０８が起動されるものとする。以降の中継専用代理サーバ１０８の動作について、図５を参照しながら後述する。
【００２５】
［中継専用代理サーバの動作］
図５は、Ｓ４０９で起動した中継専用代理サーバ１０８の動作の手順を示すフローチャートである。中継専用代理サーバ１０８は代理サーバ１０７からリダイレクト先として指定されているので、Ｗｅｂブラウザ１０６は、指定された接続先に対応した中継専用代理サーバ１０８にアクセスする。Ｓ５０１において、ＣＰＵ２０１は、代理サーバ１０７がその稼働を終了しているか否かを判定する。ここで、代理サーバ１０７がその稼働を終了していると判定された場合には、本処理を終了する。Ｓ５０２において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６から代理サーバ１０７に最後にアクセスした時から、所定時間が経過したか否かを判定する。ここで、所定時間とは例えば３分であり、その３分間に、Ｗｅｂブラウザ１０６からアクセスがない場合には、本処理を終了する。このように、所定時間の経過後に本処理を終了することによって、中継専用代理サーバ１０８が自身の処理のために確保したＲＡＭ２０７の領域をＯＳ１１５に解放することができる。一方、所定時間が経過していないと判定された場合には、Ｓ５０３に進む。
【００２６】
Ｓ５０３において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６から中継専用代理サーバ１０８へのアクセスがあるか否かを判定する。ここで、Ｗｅｂブラウザ１０６からのアクセスがないと判定された場合には、Ｓ５０１から処理を繰り返す。一方、Ｗｅｂブラウザ１０６からのアクセスがあると判定された場合には、Ｓ５０４に進む。また、Ｓ５０３において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６から第１の通信部１０９に送信されたＨＴＴＰプロトコルのデータを取得する。Ｓ５０４において、ＣＰＵ２０１は、Ｓ５０３で取得したＨＴＴＰプロトコルのデータを、第２の通信部１１０を用いて、例えばプリンタ１０２に内蔵されたＷｅｂサーバ１１３に送信する。第２の通信部１１０は、取得したＨＴＴＰプロトコルのデータを、ＵＳＢ上のＩＥＥＥ１２８４．４上でプリンタドライバ１０４に対応するプリンタ２１１にアクセスする。これによってアクセスされたプリンタ２１１は、ＵＳＢ上のＩＥＥＥ１２８４．４上で取得したＨＴＴＰコマンドやＨＴＭＬデータなどを用いて例えばＷｅｂサーバ１１３にアクセスする。プリンタ１０２のＷｅｂサーバ１１３からはプリンタ１０２の状態（用紙情報、エラーの有無等）、印刷ジョブの状態、印刷履歴、設定変更用画面等が提供され、Ｗｅｂブラウザを用いて閲覧、変更等が可能となる。
【００２７】
本例においては、中継専用代理サーバ１０８は、Ｓ４０９においてプリンタ１０２に内蔵されたＷｅｂサーバ１１３と通信するために起動されたといえる。Ｓ５０５において、ＣＰＵ２０１は、第２の通信部１１０を用いて、プリンタ１０２のＷｅｂサーバ１１３からのレスポンスとしてＨＴＴＰプロトコルのデータを受信する。Ｓ５０６において、ＣＰＵ２０１は、Ｓ５０５でＵＳＢ上のＩＥＥＥ１２８４．４上で受信したＨＴＴＰプロトコルのデータを、第１の通信部１０９からＷｅｂブラウザ１０６に渡す。第１の通信部１０９は受信したＨＴＴＰプロトコルのデータをＴＣＰ／ＩＰ上でＷｅｂブラウザ１０６に渡す。
【００２８】
以上のような中継専用代理サーバ１０８の動作により、Ｗｅｂブラウザ１０６は、ＵＳＢ経由でプリンタ１０２に内蔵されたＷｅｂサーバ１１３や、プリンタ１０３に内蔵されたＷｅｂサーバ１１４と通信を行うことができる。このときプリンタドライバを用いてアクセス指示を行うので、所望のプリンタに対し容易にアクセスすることができる。即ち、特定のプリンタに対応するプリンタドライバによって当該プリンタとローカルＩ／Ｆを介してＷｅｂブラウザを用いてアクセスするためのアクセス先情報を設定するので、ユーザは所望のプリンタに対応したプリンタドライバを用いてアクセス指示することによってＷｅｂブラウザを用いたローカルＩ／Ｆ経由でのアクセスが可能となる。
【００２９】
［代理サーバの接続先検索部の動作］
図６は、Ｓ４１１の処理の詳細を示すフローチャートである。図４のＳ４０７においてプリンタドライバ１０４に対応する接続先ポート情報がなかった（あるいは取得できなかった）場合に、図６に示すフローチャートが実行される。Ｓ６０１において、ＣＰＵ２０１は、ホストＰＣ１０１がアクセス可能なプリンタをネットワークから（有線ネットワークＩ／Ｆ２０９または無線ネットワークＩ／Ｆ２１０を介して）検索する。例えば、ＣＰＵ２０１は、ＵＳＢ規格に準拠して接続されたプリンタをネットワークから検索する。例えば、ＣＰＵ２０１は、ＩＥＥＥ１２８４．４プロトコル上の管理チャンネルを用いて、プリンタに内蔵されたＷｅｂサーバに対応した製品を検索する。その検索方法としては、例えば、まず、プリンタに内蔵されたＷｅｂサーバに対応した製品名のリストを代理サーバ１０７に保持しておき、管理チャンネルを用いてネットワーク上のプリンタの製品名を取得する。その取得した製品名が、代理サーバ１０７に保持された製品名のリストに保持されており、かつプリンタドライバ１０４に対応したプリンタである場合にアクセス可能なプリンタとして決定するといった方法が用いられても良い。
【００３０】
また、検索方法として別の方法が用いられても良い。例えば、管理チャンネルから、プリンタに内蔵されたＷｅｂサーバに対応しているか否かを示す対応情報を取得するようにしても良い。ここで、対応情報として、「対応している」又は「対応していない」を示す文字列や値が取得対象とされても良い。例えば、代理サーバ１０７が「ｓｕｐｐｏｒｔｅｄ」のようなＡＳＣＩＩ文字列を取得した場合には、「対応している」と解釈して対応するプリンタをアクセス可能なプリンタとして決定するようにしても良い。また、「ｎｏｔ＿ｓｕｐｐｏｒｔｅｄ」のようなＡＳＣＩＩ文字列が取得された場合には、対応するプリンタを「対応していない」と解釈しても良い。また、ネットワークを介しての検索に代えて、ＰＣ１０１のＵＳＢポートをスキャンするようにしてもよい。
【００３１】
Ｓ６０２において、ＣＰＵ２０１は、Ｓ６０１における検索結果に基づいて、１台以上検索されたか否かを判定する。ここで、１台も検索されなかったと判定された場合には、Ｓ６０６において、ＣＰＵ２０１は、プリンタが検索されなかったことを示すＨＴＭＬページを生成する。そして、Ｓ６０５において、ＣＰＵ２０１は、Ｓ６０６で生成されたＨＴＭＬページを、第１の通信部１０９を用いて、Ｗｅｂブラウザ１０６に送信する。Ｓ６０５の後、本処理を終了する。
【００３２】
Ｓ６０２で１台以上検索されたと判定された場合には、Ｓ６０３において、ＣＰＵ２０１は、２台以上検索されたか否かを判定する。ここで、２台以上検索されたと判定された場合には、Ｓ６０４において、Ｗｅｂブラウザ１０６のユーザがアクセスするプリンタを選択可能なＨＴＭＬページを生成する。例えば、以下のようなＨＴＭＬページが生成される。
＜ｈｔｍｌ＞
＜ｂｏｄｙ＞
＜ｆｏｒｍ  ｍｅｔｈｏｄ＝”ｐｏｓｔ”  ａｃｔｉｏｎ＝”／ｐｒｉｎｔｅｒ−ｓｅｌｅｃｔｉｏｎ．ｃｇｉ”＞
＜ｐ＞
＜ｓｅｌｅｃｔ  ｎａｍｅ＝”ｐｒｉｎｔｅｒ−ｓｅｌｅｃｔｉｏｎ”＞
＜ｏｐｔｉｏｎ  ｖａｌｕｅ＝”ＵＳＢ００１”＞ＰＲＩＮＴＥＲ＿Ａ：ＵＳＢ００１＜／ｏｐｔｉｏｎ＞
＜ｏｐｔｉｏｎ  ｖａｌｕｅ＝”ＵＳＢ００２”＞ＰＲＩＮＴＥＲ＿Ｂ：ＵＳＢ００２＜／ｏｐｔｉｏｎ＞
＜／ｐ＞
＜ｐ＞＜ｉｎｐｕｔ  ｔｙｐｅ＝”ｓｕｂｍｉｔ”  ｖａｌｕｅ＝”ｓｅｎｄ”＞＜／ｐ＞
＜／ｆｏｒｍ＞
＜／ｂｏｄｙ＞
＜／ｈｔｍｌ＞
次に、Ｓ６０５で、ＣＰＵ２０１は、Ｓ６０４で生成したＨＴＭＬページを、第１の通信部１０９を用いて、Ｗｅｂブラウザ１０６に送信して本処理を終了する。Ｓ６０４で生成されたＨＴＭＬページがＷｅｂブラウザ１０６に送信されると、Ｗｅｂブラウザ１０６ではこのＨＴＭＬページによりプリンタ選択画面が表示されるのでＷｅｂブラウザ１０６のユーザは、アクセスを所望するプリンタを選択する。ユーザがプリンタを選択すると、ＨＴＴＰプロトコルのＰＯＳＴリクエストが代理サーバ１０７に送信される。ＨＴＴＰプロトコルのＰＯＳＴリクエストには、例えば「ＰＯＳＴ  ／ｐｒｉｎｔｅｒ−ｓｅｌｅｃｔｉｏｎ．ｃｇｉ  ＨＴＴＰ／１．１」の情報が含まれる。また、ＰＯＳＴリクエストのコンテンツ情報として、「ｐｒｉｎｔｅｒ−ｓｅｌｅｃｔｉｏｎ＝ＵＳＢ００１」が含まれる。ここで、「ｐｒｉｎｔｅｒ−ｓｅｌｅｃｔｉｏｎ．ｃｇｉ」は、ＰＯＳＴリクエストを処理する代理サーバ１０７のプログラムであり、図４のＳ４０６の処理を行う。
【００３３】
上記のようなＨＴＴＰプロトコルのＰＯＳＴリクエストが代理サーバ１０７に送信されることによって、Ｓ４０６において、例えば「ＵＳＢ００１」といった接続先ポート情報（ＵＳＢポート情報）が取得される。
【００３４】
Ｓ６０３で２台以上検出されなかった、つまり、１台のみ検索されたと判定された場合には、Ｓ６０７に進む。Ｓ６０７において、ＣＰＵ２０１は、検索されたプリンタのポートで動作する中継専用代理サーバ１０８が起動しているか否かを判定する。ここで、中継専用代理サーバ１０８が起動されていないと判定された場合には、Ｓ６０８において、Ｓ６０３で検索されたプリンタの接続先ポート情報を、中継専用代理サーバ１０８に起動パラメータとして渡し、中継専用代理サーバ１０８を起動する。一方、検索されたプリンタのポートで動作する中継専用代理サーバ１０８が既に起動していると判定された場合には、Ｓ６０９に進む。Ｓ６０９において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６から代理サーバ１０７へのアクセスを中継専用代理サーバ１０８にリダイレクトする。Ｓ６０９の後、本処理を終了する。Ｓ６０９により起動した中継専用代理サーバ１０８の以降の動作は、図５における説明と同じである。なお、Ｓ６０３で１台のプリンタしか見つからなかった場合、ユーザにこのプリンタへのアクセスでよいかどうかを確認させたうえで、ユーザが許可した場合に当該プリンタにアクセスするようにしてもよい。
【００３５】
以上のような代理サーバ１０７の接続先判断部１１１の動作により、Ｗｅｂブラウザ１０６のユーザは、プリンタ１０２に内蔵されたＷｅｂサーバ１１３や、プリンタ１０３に内蔵されたＷｅｂサーバ１１４にローカルＩ／Ｆ２０４経由で容易にアクセスすることができる。なお、図６に示した処理は、図４のＳ４０７で否定判定された場合に実行されるのに代えて、ユーザによる指示で実行させるようにしてもよい。つまり、代理サーバ１０７のＵＲＬを特定するためのショートカットを作成しておいたり、それをＷｅｂブラウザ１０６のブックマークに登録しておき、これを指定する。すると、通常のＷｅｂサーバにアクセスするように、ユーザは代理サーバ１０７のＵＲＬを指定するだけで、Ｗｅｂサーバ１１３やＷｅｂサーバ１１４にアクセスすることができる。その際に、ユーザは、代理サーバ１０７のＵＲＬにプリンタの接続先ポート情報を手動で入力するための作業を要しない。ＵＲＬのショートカットやＵＲＬのブックマークは、代理サーバ１０７のプログラムをＯＳ１１５にインストールするようなインストールプログラム（図１においては不図示）によって登録されるものが用いられても良い。登録する代理サーバ１０７のＵＲＬは、例えば、「ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：８０８１／」である。
【００３６】
上記のＵＲＬにおいて、「ｌｏｃａｌｈｏｓｔ」は、ホストＰＣ１０１自身を示すＩＰアドレスのホスト名である。また、「８０８１」はＩＰアドレスのポート番号であり、ホストＰＣ１０１において代理サーバを識別するためのポート番号である。代理サーバを識別するポート番号は、ホストＰＣ１０１で利用できるポート番号であれば他の番号であっても良い。ホストＰＣ１０１で利用できるポート番号とは、例えば、上記のインストールプログラムによってホストＰＣ１０１内で利用可能なポート番号として検索されたものである。若しくは、代理サーバ１０７にポート番号の手動設定機能を持たせた場合においては、手動で設定されても良い。
【００３７】
以上のように、本実施例においては、プリンタを含むＷｅｂサーバシステムにおけるホストＰＣ１０１は、接続先通知部１０５、接続先判断部１１１、接続先検索部１１２を備えている。本実施例においては、Ｗｅｂブラウザ１０６は、プリンタドライバ１０４に関連付けられた、プリンタ１０２に内蔵されたＷｅｂサーバ１１３や、プリンタ１０３に内蔵されたＷｅｂサーバ１１４に対して容易にアクセスすることができる。
【００３８】
また、プリンタドライバ１０４に関連付けられた接続先ポート情報がない場合においても、図６に示した処理によって、ユーザは、アクセス可能なプリンタの中から所望のプリンタを選択することができる。その際に、アクセス可能なプリンタが１台である場合には、ユーザは、プリンタの選択をすることなく、プリンタにアクセスすることができる。また、以上のように所望のプリンタへのアクセスに際して毎回プリンタドライバを用いるのではなく、上述のようにプリンタにアクセスするための情報を取得した際、この情報を含むＵＲＬのショートカットを生成し、ＰＣ１０１（ＯＳ１１５）上に保存したり、Ｗｅｂブラウザのブックマークに登録したりしてもよい。従って、ユーザは、ＯＳ１１５の作業画面にあるＵＲＬのショートカットや、Ｗｅｂブラウザ１０６のＵＲＬのブックマークからアクセスするだけで、容易にプリンタに内蔵されたＷｅｂサーバにアクセスすることができる。なお、以上の説明ではユーザが所望のプリンタを指定する際、所望のプリンタに対応したプリンタドライバを用いるものとしたが、これには限らない。例えば、プリンタを特定するためオブジェクトとして、プリンタドライバに代えてアイコン、アプリケーションを用いてもよい。この場合、ユーザによるアイコンやアプリケーションなどのオブジェクトの指定に応じて、上述のようにプリンタにアクセスするための情報を取得するようにする。
【００３９】
〔実施例２〕
実施例１では、中継専用代理サーバ１０８が接続先毎に起動されるものとしたが、実施例２において中継専用代理サーバ１０８は、１つの中継専用代理サーバ１０８によって、複数のプリンタに接続することができるものとする。本実施例では、図４のＳ４０９において中継専用代理サーバ１０８を起動する際に、代理サーバ１０７は、以下の情報を含むレスポンスをＷｅｂブラウザ１０６に返す。
【００４０】
ＨＴＴＰ／１．１  ３０７  Ｔｅｍｐｏｒａｒｙ  Ｒｅｄｉｒｅｃｔ  Ｌｏｃａｔｉｏｎ：  ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：８０１２／ＰＯＲＴ￣ＵＳＢ００１／
ここで、「ｈｔｔｐ：／／ｌｏｃａｌｈｏｓｔ：８０１３／ＰＯＲＴ￣ＵＳＢ００１／」は、例えば、「ＵＳＢ００１」にアクセスを行うことを示すＵＲＬである。
【００４１】
図７に、本実施例における、Ｓ４０９で起動する中継専用代理サーバ１０８の動作の手順を示すフローチャートである。中継専用代理サーバ１０８は、代理サーバ１０７からリダイレクト先として指定されるので、Ｗｅｂブラウザ１０６は、中継専用代理サーバ１０８にアクセスする。Ｓ７０１において、ＣＰＵ２０１は、代理サーバ１０７がその稼働を終了しているか否かを判定する。ここで、代理サーバ１０７がその稼働を終了していると判定した場合には、本処理を終了する。Ｓ７０２において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６から代理サーバ１０７に最後にアクセスした時から、所定時間が経過したか否かを判定する。ここで、所定時間とは例えば３分であり、その３分間に、Ｗｅｂブラウザ１０６からアクセスがない場合には、本処理を終了する。このように、所定時間の経過後に本処理を終了することによって、中継専用代理サーバ１０８がＯＳ１１５に占有するメモリを解放することができる。一方、所定時間が経過していないと判定された場合には、Ｓ７０３に進む。Ｓ７０３において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６からのアクセスの有無を判定する。ここで、Ｗｅｂブラウザ１０６からのアクセスがないと判定された場合には、Ｓ７０１から処理を繰り返す。一方、Ｗｅｂブラウザ１０６からのアクセスがあると判定された場合には、Ｓ７０４に進む。
【００４２】
Ｓ７０４において、ＣＰＵ２０１は、Ｗｅｂブラウザ１０６から第１の通信部１０９に送信されたＨＴＴＰプロトコルのデータを取得してＵＲＬを解析する。上述のように、ＵＲＬには「ＰＯＲＴ￣ＵＳＢ００１」が含まれるので、アクセス先として「ＵＳＢ００１」を決定する。例えば、アクセス先「ＵＳＢ００１」に対応するＷｅｂサーバは、Ｗｅｂサーバ１１３である。なお、ここでＷｅｂブラウザ１０６から送信されたＵＲＬに含まれるアクセス先が「ＵＳＢ００２」であれば、アクセス先を「ＵＳＢ００２」（Ｗｅｂサーバ１１４）と決定する。次に、Ｓ７０５において、ＣＰＵ２０１は、第２の通信部１１０を用いて、Ｓ７０４で決定されたアクセス先に、Ｗｅｂブラウザ１０６から取得したＨＴＴＰプロトコルのデータを送信する。Ｓ７０６において、ＣＰＵ２０１は、Ｗｅｂサーバ１１３からレスポンスを受信する際に、ＨＴＭＬデータ内のパスの変換を行う。
【００４３】
例えば、プリンタ１０２に内蔵されたＷｅｂサーバ１１３からパス「＜ｉｍｇ  ｓｒｃ＝”／ｉｍａｇｅ／００１．ｇｉｆ”＞」が返信されるとする。本実施例においては、上記の「ｓｒｃ」は、「＜ｉｍｇ  ｓｒｃ＝”／ＰＯＲＴ￣ＵＳＢ００１／ｉｍａｇｅ／００１．ｇｉｆ”＞」のように変換される。
【００４４】
Ｗｅｂブラウザ１０６は、ＨＴＭＬ変換機能を有する中継専用代理サーバ１０８に、「”／ＰＯＲＴ￣ＵＳＢ００１／ｉｍａｇｅ／００１．ｇｉｆ”」の情報を要求する。すると、Ｓ７０７において、ＣＰＵ２０１は、Ｓ７０６でＨＴＭＬ内のパスが変換されたＨＴＴＰプロトコルのデータをＷｅｂブラウザ１０６に送信すべきデータと認識し、第１の通信部１０９からＷｅｂブラウザ１０６に送信する。以上のようなＨＴＭＬ変換機能を有する中継専用代理サーバ１０８の動作により、１つの中継専用代理サーバ１０８によって、複数のプリンタに接続することができる。
【００４５】
以上のような実施例により、ローカルＩ／Ｆ経由で周辺装置にＷｅｂブラウザを用いてアクセスすることが可能となる。Ｗｅｂブラウザは汎用なものを使用可能となるので、新たなアプリケーションの導入コストを低減させることができる。また、代理サーバにはＷｅｂブラウザからＵＲＬの指定によってアクセスさせるので、ブラウザを改良しなくとも種々の種類のブラウザからアクセス可能である。また、周辺装置へのアクセスに際し、ローカルＩ／Ｆを経由させることでネットワーク経由とするよりもセキュリティの向上を図ることができる。
【００４６】
また、以上ではＷｅｂサーバを有するＰＣ上に代理サーバを備えさせたが、代理サーバを他の装置に備えさせるようにし、ネットワークＩ／ＦやローカルＩ／Ｆを介してＷｅｂブラウザからアクセスさせるようにしてもよい。これにより、複数のＷｅｂブラウザによって１つの代理サーバを共用することができるようになる。このとき、ネットワークを介してアクセスする場合、Ｗｅｂブラウザと代理サーバとの間はＨＴＴＰＳ等によってセキュリティを向上させることが好ましい。
【００４７】
なお、以上では周辺装置としてプリンタを例に説明したが、これに限らず、Ｗｅｂサーバ機能によってＷｅｂブラウザでアクセス可能な装置であれば種々の装置に適用可能である。また、以上ではローカルＩ／ＦとしてＵＳＢを例に説明したが、他のタイプのローカルＩ／Ｆを用いた場合も同様に処理することが可能である。
【００４８】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又はコンピュータ読取可能な各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置の１つまたは複数のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、以上の処理の全てをソフトウェアで実現するのではなく、一部または全部をハードウェアによって実現するようにしてもよい。
【図１】
2013250892.tif 000003
【図２】
2013250892.tif 000004
【図３】
2013250892.tif 000005
【図４】
2013250892.tif 000006
【図５】
2013250892.tif 000007
【図６】
2013250892.tif 000008
【図７】
2013250892.tif 000009