JP6074165B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP6074165B2
JP6074165B2 JP2012126541A JP2012126541A JP6074165B2 JP 6074165 B2 JP6074165 B2 JP 6074165B2 JP 2012126541 A JP2012126541 A JP 2012126541A JP 2012126541 A JP2012126541 A JP 2012126541A JP 6074165 B2 JP6074165 B2 JP 6074165B2
Authority
JP
Japan
Prior art keywords
external device
printer
access
information processing
web browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012126541A
Other languages
English (en)
Other versions
JP2013250892A (ja
Inventor
裕彦 橋本
裕彦 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012126541A priority Critical patent/JP6074165B2/ja
Priority to US13/898,953 priority patent/US9996482B2/en
Publication of JP2013250892A publication Critical patent/JP2013250892A/ja
Application granted granted Critical
Publication of JP6074165B2 publication Critical patent/JP6074165B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Description

Webサーバにアクセスする情報処理装置、情報処理方法およびプログラムに関する。
従来、プリンタ等の周辺装置にWebサーバ機能を内蔵させ、ネットワーク経由でホストPCからWebブラウザを用いて当該Webサーバにアクセスし、周辺装置を操作可能なものが知られている。これにより、ホストPC側では汎用的なWebブラウザを用いて周辺装置を操作可能となる。
しかしながら、周辺装置をUSB規格の通信インタフェース等のローカルインタフェースを介してホストPCに接続すると、ホストPCのWebブラウザは、ローカルインタフェースによるアクセスには対応していないためWebブラウザを用いて周辺装置を操作することができない。そこで、Webブラウザとローカルインタフェースとの間でデータ形式などの変換を行うことによってローカルインタフェースを介してもWebブラウザを使用可能とすることが知られている(特許文献1)。
特許文献1では、ローカルインタフェース用のIPアドレスやポートなどのネットワーク通信路を生成し、Webブラウザはそれを用いて周辺装置へのアクセスを行う。
特開2006−39982号公報
しかしながら、特許文献1では、ローカルインタフェースに周辺装置が接続された場合に、ローカルインタフェース用のネットワーク通信路を生成するか、あるいはユーザによる手動操作でネットワーク通信路を生成する。
ローカルインタフェースに周辺装置が接続された場合に該ネットワーク通信路を生成すると、ユーザの意図に反してローカルインタフェースを介したアクセスを行うことになる。一方、手動操作によって該ネットワーク通信路を生成する場合、対象となる周辺装置の指定やネットワーク通信路の生成の方法を知っている必要がある。
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、ローカルインタフェースを介してウェブサーバにアクセスする際のユーザの利便性を向上する情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
上記課題を解決するため、本発明に係る情報処理装置は、ローカルインタフェースを介して外部装置と通信可能な情報処理装置であって、前記ローカルインタフェースを介して接続された外部装置のウェブサーバへのアクセス指示を受け付ける受付手段と、前記アクセス指示に前記外部装置に対応するアクセス先情報が存在するか否かを判定する判定手段と、前記判定手段により前記アクセス指示に前記アクセス先情報が存在しないと判定された場合、前記外部装置から取得する情報を用いた前記外部装置の検索処理を、前記アクセス指示を受け付けた後に実行し、前記検索結果として得られたアクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する通信制御手段と、を有し、前記判定手段により前記アクセス指示に前記アクセス先情報が存在すると判定された場合、前記通信制御手段は、前記検索処理を実行することなく、前記アクセス指示に存在する前記アクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する、ことを特徴とする。
本発明によると、ローカルインタフェースを介してウェブサーバにアクセスする際のユーザの利便性を向上することができる。
Webサーバシステムの構成を示す図である。 ホストPC101のハードウェアの構成を示す図である。 Webブラウザの起動処理の手順を示す図である。 代理サーバの接続先判断部の処理の手順を示す図である。 実施例1における中継専用代理サーバの動作の手順を示す図である。 図4のS411の処理の詳細を示す図である。 実施例2における中継専用代理サーバの動作の手順を示す図である。
以下、添付図面を参照して本発明の実施例を詳しく説明する。尚、以下の実施例は特許請求の範囲に係る本発明を限定するものでなく、また本実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
〔実施例1〕
図1は、本実施例における情報処理装置を含むウェブサーバ(Webサーバ)システムの構成を示す図である。情報処理装置としてのホストPC101は、以下に説明する構成要素や機能を備えた汎用的なコンピュータが用いられる。ホストPC101は、オペレーティングシステム(OS)115と周辺装置の例である各プリンタに対応したデバイスドライバ(プリンタドライバ104)と代理サーバ107を含んでいる。プリンタドライバ104は、OS115に登録されている。OS115は、ホストPC101に接続されたプリンタ102やプリンタ103についてのジョブを管理するプリンタキューを作成する。作成されたプリンタキューには、対応するプリンタのプリンタドライバ104が関連付けられる。OS115は、プリンタキューに対して、プリンタドライバ104とともに、プリンタ102やプリンタ103の接続先ポート情報も管理している。接続先ポート情報は、例えば、ローカル接続インタフェースやネットワーク接続インタフェースに応じたポート情報である。ローカル接続インタフェースの場合には、例えばUSB規格のポート名であり、ネットワーク接続インタフェースの場合には、例えばIPアドレスである。
プリンタドライバ104は、対応するプリンタに印刷を行わせるための各種設定のための設定画面や、印刷対象の印刷データを、各プリンタが解釈可能な形式に変換するための機能などを含むソフトウェアである。プリンタドライバ104は、接続先通知部105を含んでいる。接続先通知部105は、ユーザがプリンタドライバ104において「USB経由でプリンタのWebサーバへアクセスする」という機能を実行指示する場合に動作する。接続先通知部105の動作については、図3を参照して後述する。ウェブブラウザ(Webブラウザ)106は汎用的なWebブラウザであり、ユーザによる直接的な指示により起動される他、プリンタドライバ104の接続先通知部105を介した指示によっても起動される。
代理サーバ107は、プリンタドライバ104のインストール時に同時にインストールされる。代理サーバ107は、Webブラウザ106からのアクセスに基づいて、プリンタ102やプリンタ103に接続する機能を有したソフトウェアである。代理サーバ107は、Webブラウザ106と、プリンタ102に内蔵されたWebサーバ113やプリンタ103に内蔵されたWebサーバ114の中継路に配置されている。そのような構成によって、代理サーバ107は、Webブラウザ106と、Webサーバ113及びWebサーバ114それぞれとの通信を仲介する。Webサーバ113は、プリンタ102に内蔵されたWebサーバである。Webサーバ114は、プリンタ103に内蔵されたWebサーバである。
代理サーバ107は、中継専用代理サーバ108を含み、中継専用代理サーバ108は、第1の通信部109と第2の通信部110を含んでいる。第1の通信部109は、TCP/IPプロトコル上でHTTPプロトコルを用いてWebブラウザ106と通信する。第2の通信部110は、プリンタ102やプリンタ103がUSB規格のインタフェースを介してホストPCと接続されている場合には、USB規格上のIEEE1284.4プロトコル上でHTTPプロトコルを用いて各プリンタと通信する。プリンタ102やプリンタ103は、USB規格上のIEEE1284.4プロトコル上でHTTPプロトコルを用いて代理サーバ107と通信する。IEEE1284.4プロトコルは、マルチチャンネルの双方向通信を行うプロトコルであり、OSI(Open System Interconnection)モデルのトランスポート層に相当する。IEEE1284.4プロトコル上の1つのチャンネルとして、HTTPプロトコル通信用のチャンネルが動作する。IEEE1284.4プロトコル上の他のチャンネルとしては、例えば、印刷ジョブをプリンタ102やプリンタ103に送信する印刷ジョブチャンネルがある。また、他のチャンネルとしては、プリンタ102やプリンタ103の状態や、製品名、対応機能などを取得するための管理チャンネルがある。管理チャンネルは、図6を参照して後述するプリンタ検索に用いられる。
代理サーバ107は、接続先検索部112と接続先判断部111とを含んでいる。接続先判断部111は、プリンタドライバ104の接続先通知部105がWebブラウザ106に通知した情報に基づいて、代理サーバ107が、いずれのプリンタに接続するのかを判定する。接続先判断部111の動作については、図4を参照して後述する。接続先検索部112は、プリンタドライバ104の接続先通知部105からの通知情報に関わらず、代理サーバ107が接続先となるプリンタを検索する。接続先検索部112の動作については、図6を参照して後述する。また、代理サーバ107はバックグラウンドで動作し、ユーザにはWebブラウザ106のみが動作しているように見える。
図2は、ホストPC101のハードウェアの構成を示す図である。CPU201は、ホストPC101の各部を統括的に制御する。ハードディスク202は、図1のOS115、プリンタドライバ104、Webブラウザ106、代理サーバ107等のソフトウェアを保存する。CPU201がこれらのソフトウェア(プログラム)を実行することにより以下に示す処理を行う。ディスプレイ203は、ユーザインタフェース画面等を表示する。有線ローカルインタフェース(I/F)204は、例えばUSB規格やIEEE1394規格で外部と接続するためのインタフェースであり、プリンタ211を接続する。プリンタ211は、例えば、図1に示すプリンタ102やプリンタ103である。有線ネットワークインタフェース(I/F)209は、例えばイーサネット(登録商標)規格で接続するためのインタフェースであり、プリンタ212を接続する。無線ネットワークI/F210は、例えば無線LANで接続するためのインタフェースであり、プリンタ213を接続する。本実施例においては、USB規格のインタフェースを介して接続されるプリンタに内蔵されたWebサーバへのアクセスについて説明するが、プリンタ212やプリンタ213に内蔵されたWebサーバへのアクセスについても本実施例を適用することができる。
ROM206は、OS115を起動するための基本プログラムを記憶する。RAM207は、本実施例を実現する際にCPU201により用いられる作業用記憶領域である。入力デバイス208は、キーボードやポインティングデバイス等であり、ホストPC101のユーザより、入力デバイス208を介した各種指示を受付けることができる。システムバス205は、上記の各部を相互に通信可能に接続する。
以下、図3、図4、図5、図6を参照しながら、本実施例のホストPCにおける通信制御処理を説明する。図3は、Webブラウザ106の起動処理の手順を示すフローチャートである。図3に示す各処理は、例えば、ホストPC101のCPU201により実行される。まず、ホストPC101のユーザは、プリンタドライバ104のユーザインタフェース画面で、「接続するプリンタにWebブラウザを用いてUSB経由でアクセスする」という機能の実行を指示する。すると、プリンタドライバ104の接続先通知部105が起動する。S301において、CPU201は、OS115により管理されているプリンタドライバ104の接続先ポート情報を取得する。S302において、CPU201は、代理サーバ107のURLに対して、S301で取得した接続先ポート情報をパラメータとして付加したURLをプリンタへのアクセス用URLとして生成する。接続先ポート情報は、例えば、「http://localhost:8081/index.html?usb_port_name=USB001」のように付加される。この例は、プリンタドライバ104に割り付けられたポートが「USB001」である場合のものである。S303において、CPU201は、S302でプリンタドライバ104の接続先ポート情報が付加されたURLの文字列を、Webブラウザ106に起動時にアクセスするURLとして渡してWebブラウザ106を起動する。その後、本処理を終了する。Webブラウザ106は起動指示に応答して、指定された上記URLに従って、TCP/IP上のHTTPプロトコルによって代理サーバ107にアクセスする。なお、プリンタドライバ104に対応するプリンタがネットワークを介してPC101と接続されている場合、プリンタにアクセスするために生成されるURLはプリンタの(Webサーバの)IPアドレスを含むURLとなる。
図4は、代理サーバ107の接続先判断部111の処理の手順を示すフローチャートである。代理サーバ107は、例えばOS115の起動とともに起動する。S401において、CPU201は、代理サーバ107が起動しているか否かを判定する。ここで、代理サーバ107が起動していないと判定された場合には、本処理を終了する。代理サーバ107の接続先判断部111は、代理サーバ107の起動とともに動作を開始する。S402において、CPU201は、Webブラウザ106からのアクセスの有無を判定する。ここで、Webブラウザ106からのアクセスがないと判定された場合には、S401からの処理を繰り返す。一方、Webブラウザ106からのアクセスがあると判定された場合には、S403に進む。S403において、CPU201は、Webブラウザ106からのアクセスがHTTPプロトコルのGETリクエストであるか否かを判定する。ここで、HTTPプロトコルのGETリクエストであると判定された場合には、S404において、CPU201は、そのGETリクエストのデータを解析する。GETリクエスト(GETヘッダ)には、S302で接続先ポート情報が付加されたURLの文字列の内容がHTTPプロトコルとして、例えば「GET /index.html?usb_port_name=USB001 HTTP/1.1」のように記述されている。「usb_port_name=USB001」は、USB規格の接続先ポート情報を示している。S404では上記解析によりこの接続先ポート情報を取得する。
一方、S403でHTTPプロトコルのGETリクエストでないと判定された場合には、S405において、CPU201は、Webブラウザ106からのアクセスがHTTPプロトコルのPOSTリクエストであるか否かを判定する。ここで、HTTPプロトコルのPOSTリクエストであると判定された場合には、S406において、POSTリクエスト(POSTコンテンツ)のデータを解析して接続先ポート情報を取得する。一方、HTTPプロトコルのPOSTリクエストでないと判定された場合には、S401からの処理を繰り返す。
S407において、CPU201は、S404又はS406で解析された結果、接続先ポート情報が存在するか否かを判定する。ここで、接続先ポート情報が存在すると判定された場合には、S408に進む。一方、接続先ポート情報が存在しないと判定された場合には、S411に進む。S411の処理については、図6を参照しながら後述する。S411の処理後は、S401から処理を繰り返す。
S408において、CPU201は、S404又はS406で取得された接続先ポート情報に接続する中継専用代理サーバ108が起動しているか否かを判定する。ここで、中継専用代理サーバ108が起動していると判定された場合には、S410に進む。一方、中継専用代理サーバ108が起動していないと判定された場合には、S409において、CPU201は中継専用代理サーバ108を起動し、S410に進む。S404又はS406で取得された接続先ポート情報とは、例えば「USB001」といったプリンタ102又はプリンタ103のポート名称であり、中継専用代理サーバ108に起動パラメータとして渡される。S410において、CPU201は、Webブラウザ106から代理サーバ107へのアクセスを中継専用代理サーバ108にリダイレクトする。また、その際に、CPU201は、第1の通信部109からWebブラウザ106にHTTPプロトコルのステータスコードを返信する。その返信内容には、例えば「HTTP/1.1 307 Temporary Redirect Location: http://localhost:8012/」という内容が含まれている。ここで、「http://localhost:8012/」は、例えば、USB規格のポートである「USB001」に接続する中継専用代理サーバ108のURLである。ここで、仮にUSB規格の他のポートである「USB002」に接続する場合には、「http://localhost:8013/」のように、別のポート番号を指定するようにしても良い。ここでは接続するポート毎に中継専用代理サーバ108が用意されており、指定されたポート情報に応じた中継専用代理サーバ108が起動されるものとする。以降の中継専用代理サーバ108の動作について、図5を参照しながら後述する。
[中継専用代理サーバの動作]
図5は、S409で起動した中継専用代理サーバ108の動作の手順を示すフローチャートである。中継専用代理サーバ108は代理サーバ107からリダイレクト先として指定されているので、Webブラウザ106は、指定された接続先に対応した中継専用代理サーバ108にアクセスする。S501において、CPU201は、代理サーバ107がその稼働を終了しているか否かを判定する。ここで、代理サーバ107がその稼働を終了していると判定された場合には、本処理を終了する。S502において、CPU201は、Webブラウザ106から代理サーバ107に最後にアクセスした時から、所定時間が経過したか否かを判定する。ここで、所定時間とは例えば3分であり、その3分間に、Webブラウザ106からアクセスがない場合には、本処理を終了する。このように、所定時間の経過後に本処理を終了することによって、中継専用代理サーバ108が自身の処理のために確保したRAM207の領域をOS115に解放することができる。一方、所定時間が経過していないと判定された場合には、S503に進む。
S503において、CPU201は、Webブラウザ106から中継専用代理サーバ108へのアクセスがあるか否かを判定する。ここで、Webブラウザ106からのアクセスがないと判定された場合には、S501から処理を繰り返す。一方、Webブラウザ106からのアクセスがあると判定された場合には、S504に進む。また、S503において、CPU201は、Webブラウザ106から第1の通信部109に送信されたHTTPプロトコルのデータを取得する。S504において、CPU201は、S503で取得したHTTPプロトコルのデータを、第2の通信部110を用いて、例えばプリンタ102に内蔵されたWebサーバ113に送信する。第2の通信部110は、取得したHTTPプロトコルのデータを、USB上のIEEE1284.4上でプリンタドライバ104に対応するプリンタ211にアクセスする。これによってアクセスされたプリンタ211は、USB上のIEEE1284.4上で取得したHTTPコマンドやHTMLデータなどを用いて例えばWebサーバ113にアクセスする。プリンタ102のWebサーバ113からはプリンタ102の状態(用紙情報、エラーの有無等)、印刷ジョブの状態、印刷履歴、設定変更用画面等が提供され、Webブラウザを用いて閲覧、変更等が可能となる。
本例においては、中継専用代理サーバ108は、S409においてプリンタ102に内蔵されたWebサーバ113と通信するために起動されたといえる。S505において、CPU201は、第2の通信部110を用いて、プリンタ102のWebサーバ113からのレスポンスとしてHTTPプロトコルのデータを受信する。S506において、CPU201は、S505でUSB上のIEEE1284.4上で受信したHTTPプロトコルのデータを、第1の通信部109からWebブラウザ106に渡す。第1の通信部109は受信したHTTPプロトコルのデータをTCP/IP上でWebブラウザ106に渡す。
以上のような中継専用代理サーバ108の動作により、Webブラウザ106は、USB経由でプリンタ102に内蔵されたWebサーバ113や、プリンタ103に内蔵されたWebサーバ114と通信を行うことができる。このときプリンタドライバを用いてアクセス指示を行うので、所望のプリンタに対し容易にアクセスすることができる。即ち、特定のプリンタに対応するプリンタドライバによって当該プリンタとローカルI/Fを介してWebブラウザを用いてアクセスするためのアクセス先情報を設定するので、ユーザは所望のプリンタに対応したプリンタドライバを用いてアクセス指示することによってWebブラウザを用いたローカルI/F経由でのアクセスが可能となる。
[代理サーバの接続先検索部の動作]
図6は、S411の処理の詳細を示すフローチャートである。図4のS407においてプリンタドライバ104に対応する接続先ポート情報がなかった(あるいは取得できなかった)場合に、図6に示すフローチャートが実行される。S601において、CPU201は、ホストPC101がアクセス可能なプリンタをネットワークから(有線ネットワークI/F209または無線ネットワークI/F210を介して)検索する。例えば、CPU201は、USB規格に準拠して接続されたプリンタをネットワークから検索する。例えば、CPU201は、IEEE1284.4プロトコル上の管理チャンネルを用いて、プリンタに内蔵されたWebサーバに対応した製品を検索する。その検索方法としては、例えば、まず、プリンタに内蔵されたWebサーバに対応した製品名のリストを代理サーバ107に保持しておき、管理チャンネルを用いてネットワーク上のプリンタの製品名を取得する。その取得した製品名が、代理サーバ107に保持された製品名のリストに保持されており、かつプリンタドライバ104に対応したプリンタである場合にアクセス可能なプリンタとして決定するといった方法が用いられても良い。
また、検索方法として別の方法が用いられても良い。例えば、管理チャンネルから、プリンタに内蔵されたWebサーバに対応しているか否かを示す対応情報を取得するようにしても良い。ここで、対応情報として、「対応している」又は「対応していない」を示す文字列や値が取得対象とされても良い。例えば、代理サーバ107が「supported」のようなASCII文字列を取得した場合には、「対応している」と解釈して対応するプリンタをアクセス可能なプリンタとして決定するようにしても良い。また、「not_supported」のようなASCII文字列が取得された場合には、対応するプリンタを「対応していない」と解釈しても良い。また、ネットワークを介しての検索に代えて、PC101のUSBポートをスキャンするようにしてもよい。
S602において、CPU201は、S601における検索結果に基づいて、1台以上検索されたか否かを判定する。ここで、1台も検索されなかったと判定された場合には、S606において、CPU201は、プリンタが検索されなかったことを示すHTMLページを生成する。そして、S605において、CPU201は、S606で生成されたHTMLページを、第1の通信部109を用いて、Webブラウザ106に送信する。S605の後、本処理を終了する。
S602で1台以上検索されたと判定された場合には、S603において、CPU201は、2台以上検索されたか否かを判定する。ここで、2台以上検索されたと判定された場合には、S604において、Webブラウザ106のユーザがアクセスするプリンタを選択可能なHTMLページを生成する。例えば、以下のようなHTMLページが生成される。
<html>
<body>
<form method=”post” action=”/printer−selection.cgi”>
<p>
<select name=”printer−selection”>
<option value=”USB001”>PRINTER_A:USB001</option>
<option value=”USB002”>PRINTER_B:USB002</option>
</p>
<p><input type=”submit” value=”send”></p>
</form>
</body>
</html>
次に、S605で、CPU201は、S604で生成したHTMLページを、第1の通信部109を用いて、Webブラウザ106に送信して本処理を終了する。S604で生成されたHTMLページがWebブラウザ106に送信されると、Webブラウザ106ではこのHTMLページによりプリンタ選択画面が表示されるのでWebブラウザ106のユーザは、アクセスを所望するプリンタを選択する。ユーザがプリンタを選択すると、HTTPプロトコルのPOSTリクエストが代理サーバ107に送信される。HTTPプロトコルのPOSTリクエストには、例えば「POST /printer−selection.cgi HTTP/1.1」の情報が含まれる。また、POSTリクエストのコンテンツ情報として、「printer−selection=USB001」が含まれる。ここで、「printer−selection.cgi」は、POSTリクエストを処理する代理サーバ107のプログラムであり、図4のS406の処理を行う。
上記のようなHTTPプロトコルのPOSTリクエストが代理サーバ107に送信されることによって、S406において、例えば「USB001」といった接続先ポート情報(USBポート情報)が取得される。
S603で2台以上検出されなかった、つまり、1台のみ検索されたと判定された場合には、S607に進む。S607において、CPU201は、検索されたプリンタのポートで動作する中継専用代理サーバ108が起動しているか否かを判定する。ここで、中継専用代理サーバ108が起動されていないと判定された場合には、S608において、S603で検索されたプリンタの接続先ポート情報を、中継専用代理サーバ108に起動パラメータとして渡し、中継専用代理サーバ108を起動する。一方、検索されたプリンタのポートで動作する中継専用代理サーバ108が既に起動していると判定された場合には、S609に進む。S609において、CPU201は、Webブラウザ106から代理サーバ107へのアクセスを中継専用代理サーバ108にリダイレクトする。S609の後、本処理を終了する。S609により起動した中継専用代理サーバ108の以降の動作は、図5における説明と同じである。なお、S603で1台のプリンタしか見つからなかった場合、ユーザにこのプリンタへのアクセスでよいかどうかを確認させたうえで、ユーザが許可した場合に当該プリンタにアクセスするようにしてもよい。
以上のような代理サーバ107の接続先判断部111の動作により、Webブラウザ106のユーザは、プリンタ102に内蔵されたWebサーバ113や、プリンタ103に内蔵されたWebサーバ114にローカルI/F204経由で容易にアクセスすることができる。なお、図6に示した処理は、図4のS407で否定判定された場合に実行されるのに代えて、ユーザによる指示で実行させるようにしてもよい。つまり、代理サーバ107のURLを特定するためのショートカットを作成しておいたり、それをWebブラウザ106のブックマークに登録しておき、これを指定する。すると、通常のWebサーバにアクセスするように、ユーザは代理サーバ107のURLを指定するだけで、Webサーバ113やWebサーバ114にアクセスすることができる。その際に、ユーザは、代理サーバ107のURLにプリンタの接続先ポート情報を手動で入力するための作業を要しない。URLのショートカットやURLのブックマークは、代理サーバ107のプログラムをOS115にインストールするようなインストールプログラム(図1においては不図示)によって登録されるものが用いられても良い。登録する代理サーバ107のURLは、例えば、「http://localhost:8081/」である。
上記のURLにおいて、「localhost」は、ホストPC101自身を示すIPアドレスのホスト名である。また、「8081」はIPアドレスのポート番号であり、ホストPC101において代理サーバを識別するためのポート番号である。代理サーバを識別するポート番号は、ホストPC101で利用できるポート番号であれば他の番号であっても良い。ホストPC101で利用できるポート番号とは、例えば、上記のインストールプログラムによってホストPC101内で利用可能なポート番号として検索されたものである。若しくは、代理サーバ107にポート番号の手動設定機能を持たせた場合においては、手動で設定されても良い。
以上のように、本実施例においては、プリンタを含むWebサーバシステムにおけるホストPC101は、接続先通知部105、接続先判断部111、接続先検索部112を備えている。本実施例においては、Webブラウザ106は、プリンタドライバ104に関連付けられた、プリンタ102に内蔵されたWebサーバ113や、プリンタ103に内蔵されたWebサーバ114に対して容易にアクセスすることができる。
また、プリンタドライバ104に関連付けられた接続先ポート情報がない場合においても、図6に示した処理によって、ユーザは、アクセス可能なプリンタの中から所望のプリンタを選択することができる。その際に、アクセス可能なプリンタが1台である場合には、ユーザは、プリンタの選択をすることなく、プリンタにアクセスすることができる。また、以上のように所望のプリンタへのアクセスに際して毎回プリンタドライバを用いるのではなく、上述のようにプリンタにアクセスするための情報を取得した際、この情報を含むURLのショートカットを生成し、PC101(OS115)上に保存したり、Webブラウザのブックマークに登録したりしてもよい。従って、ユーザは、OS115の作業画面にあるURLのショートカットや、Webブラウザ106のURLのブックマークからアクセスするだけで、容易にプリンタに内蔵されたWebサーバにアクセスすることができる。なお、以上の説明ではユーザが所望のプリンタを指定する際、所望のプリンタに対応したプリンタドライバを用いるものとしたが、これには限らない。例えば、プリンタを特定するためオブジェクトとして、プリンタドライバに代えてアイコン、アプリケーションを用いてもよい。この場合、ユーザによるアイコンやアプリケーションなどのオブジェクトの指定に応じて、上述のようにプリンタにアクセスするための情報を取得するようにする。
〔実施例2〕
実施例1では、中継専用代理サーバ108が接続先毎に起動されるものとしたが、実施例2において中継専用代理サーバ108は、1つの中継専用代理サーバ108によって、複数のプリンタに接続することができるものとする。本実施例では、図4のS409において中継専用代理サーバ108を起動する際に、代理サーバ107は、以下の情報を含むレスポンスをWebブラウザ106に返す。
HTTP/1.1 307 Temporary Redirect Location: http://localhost:8012/PORT ̄USB001/
ここで、「http://localhost:8013/PORT ̄USB001/」は、例えば、「USB001」にアクセスを行うことを示すURLである。
図7に、本実施例における、S409で起動する中継専用代理サーバ108の動作の手順を示すフローチャートである。中継専用代理サーバ108は、代理サーバ107からリダイレクト先として指定されるので、Webブラウザ106は、中継専用代理サーバ108にアクセスする。S701において、CPU201は、代理サーバ107がその稼働を終了しているか否かを判定する。ここで、代理サーバ107がその稼働を終了していると判定した場合には、本処理を終了する。S702において、CPU201は、Webブラウザ106から代理サーバ107に最後にアクセスした時から、所定時間が経過したか否かを判定する。ここで、所定時間とは例えば3分であり、その3分間に、Webブラウザ106からアクセスがない場合には、本処理を終了する。このように、所定時間の経過後に本処理を終了することによって、中継専用代理サーバ108がOS115に占有するメモリを解放することができる。一方、所定時間が経過していないと判定された場合には、S703に進む。S703において、CPU201は、Webブラウザ106からのアクセスの有無を判定する。ここで、Webブラウザ106からのアクセスがないと判定された場合には、S701から処理を繰り返す。一方、Webブラウザ106からのアクセスがあると判定された場合には、S704に進む。
S704において、CPU201は、Webブラウザ106から第1の通信部109に送信されたHTTPプロトコルのデータを取得してURLを解析する。上述のように、URLには「PORT ̄USB001」が含まれるので、アクセス先として「USB001」を決定する。例えば、アクセス先「USB001」に対応するWebサーバは、Webサーバ113である。なお、ここでWebブラウザ106から送信されたURLに含まれるアクセス先が「USB002」であれば、アクセス先を「USB002」(Webサーバ114)と決定する。次に、S705において、CPU201は、第2の通信部110を用いて、S704で決定されたアクセス先に、Webブラウザ106から取得したHTTPプロトコルのデータを送信する。S706において、CPU201は、Webサーバ113からレスポンスを受信する際に、HTMLデータ内のパスの変換を行う。
例えば、プリンタ102に内蔵されたWebサーバ113からパス「<img src=”/image/001.gif”>」が返信されるとする。本実施例においては、上記の「src」は、「<img src=”/PORT ̄USB001/image/001.gif”>」のように変換される。
Webブラウザ106は、HTML変換機能を有する中継専用代理サーバ108に、「”/PORT ̄USB001/image/001.gif”」の情報を要求する。すると、S707において、CPU201は、S706でHTML内のパスが変換されたHTTPプロトコルのデータをWebブラウザ106に送信すべきデータと認識し、第1の通信部109からWebブラウザ106に送信する。以上のようなHTML変換機能を有する中継専用代理サーバ108の動作により、1つの中継専用代理サーバ108によって、複数のプリンタに接続することができる。
以上のような実施例により、ローカルI/F経由で周辺装置にWebブラウザを用いてアクセスすることが可能となる。Webブラウザは汎用なものを使用可能となるので、新たなアプリケーションの導入コストを低減させることができる。また、代理サーバにはWebブラウザからURLの指定によってアクセスさせるので、ブラウザを改良しなくとも種々の種類のブラウザからアクセス可能である。また、周辺装置へのアクセスに際し、ローカルI/Fを経由させることでネットワーク経由とするよりもセキュリティの向上を図ることができる。
また、以上ではWebサーバを有するPC上に代理サーバを備えさせたが、代理サーバを他の装置に備えさせるようにし、ネットワークI/FやローカルI/Fを介してWebブラウザからアクセスさせるようにしてもよい。これにより、複数のWebブラウザによって1つの代理サーバを共用することができるようになる。このとき、ネットワークを介してアクセスする場合、Webブラウザと代理サーバとの間はHTTPS等によってセキュリティを向上させることが好ましい。
なお、以上では周辺装置としてプリンタを例に説明したが、これに限らず、Webサーバ機能によってWebブラウザでアクセス可能な装置であれば種々の装置に適用可能である。また、以上ではローカルI/FとしてUSBを例に説明したが、他のタイプのローカルI/Fを用いた場合も同様に処理することが可能である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又はコンピュータ読取可能な各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置の1つまたは複数のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、以上の処理の全てをソフトウェアで実現するのではなく、一部または全部をハードウェアによって実現するようにしてもよい。

Claims (10)

  1. ローカルインタフェースを介して外部装置と通信可能な情報処理装置であって、
    前記ローカルインタフェースを介して接続された外部装置のウェブサーバへのアクセス指示を受け付ける受付手段と、
    前記アクセス指示に前記外部装置に対応するアクセス先情報が存在するか否かを判定する判定手段と、
    前記判定手段により前記アクセス指示に前記アクセス先情報が存在しないと判定された場合、前記外部装置から取得する情報を用いた前記外部装置の検索処理を、前記アクセス指示を受け付けた後に実行し、前記検索結果として得られたアクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する通信制御手段と、を有し、
    前記判定手段により前記アクセス指示に前記アクセス先情報が存在すると判定された場合、前記通信制御手段は、前記検索処理を実行することなく、前記アクセス指示に存在する前記アクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する、
    ことを特徴とする情報処理装置。
  2. 前記受付手段は、前記外部装置に所定の処理を実行させるためのデバイスドライバを介した前記アクセス指示を受け付け、
    前記情報処理装置は、
    前記デバイスドライバと関連付けられた前記アクセス先情報を取得する取得手段、をさらに有する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記通信制御手段は、前記ローカルインタフェースに対応したプロトコル上でネットワークに対応したプロトコル通信を行うことによって前記外部装置のウェブサーバと前記ローカルインタフェースを介して通信する、ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記受付手段が受け付ける前記アクセス指示に応じてウェブブラウザを起動する起動手段、をさらに有し、
    前記通信制御手段は、前記起動手段により起動された前記ウェブブラウザを介した要求に応じて前記外部装置のウェブサーバと通信する、
    ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記アクセス先情報を用いて、前記ローカルインタフェースを介して前記外部装置のウェブサーバにアクセスするためのURLを生成する生成手段、をさらに有し、
    前記起動手段は、前記ウェブブラウザを起動するとともに、前記生成手段により生成された前記URLにアクセスさせる、
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記通信制御手段は、前記外部装置のウェブサーバから受信した情報を前記ウェブブラウザに供給する、ことを特徴とする請求項4又は5に記載の情報処理装置。
  7. 前記検索処理を実行することにより複数の外部装置が検索された場合、アクセス対象の外部装置を選択させるための選択用HTMLを生成するHTML生成手段と、
    前記HTML生成手段により生成された前記選択用HTMLを前記ウェブブラウザに送信する送信手段と、をさらに有し、
    前記ウェブブラウザには、前記選択用HTMLに基づく外部装置の選択画面が表示される、
    ことを特徴とする請求項4乃至6のいずれか1項に記載の情報処理装置。
  8. 前記ローカルインタフェースはUSBであり、前記アクセス先情報はUSBポート情報である、ことを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. ローカルインタフェースを介して外部装置と通信可能な情報処理装置において実行される情報処理方法であって、
    前記ローカルインタフェースを介して前記情報処理装置に接続された外部装置のウェブサーバへのアクセス指示を受け付ける受付工程と、
    前記アクセス指示に前記外部装置に対応するアクセス先情報が存在するか否かを判定する判定工程と、
    前記判定工程において前記アクセス指示に前記アクセス先情報が存在しないと判定された場合、前記外部装置から取得する情報を用いた前記外部装置の検索処理を、前記アクセス指示を受け付けた後に実行し、前記検索結果として得られたアクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する通信制御工程と、を有し、
    前記判定工程において前記アクセス指示に前記アクセス先情報が存在すると判定された場合、前記通信制御工程は、前記検索処理を実行することなく、前記アクセス指示に存在する前記アクセス先情報に基づいて、前記ローカルインタフェースを介して前記外部装置のウェブサーバと通信する、
    ことを特徴とする情報処理方法。
  10. 請求項1乃至8のいずれか1項に記載の情報処理装置の各手段としてコンピュータを機能させるプログラム。
JP2012126541A 2012-06-01 2012-06-01 情報処理装置、情報処理方法およびプログラム Active JP6074165B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012126541A JP6074165B2 (ja) 2012-06-01 2012-06-01 情報処理装置、情報処理方法およびプログラム
US13/898,953 US9996482B2 (en) 2012-06-01 2013-05-21 Information processing apparatus, information processing method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012126541A JP6074165B2 (ja) 2012-06-01 2012-06-01 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2013250892A JP2013250892A (ja) 2013-12-12
JP6074165B2 true JP6074165B2 (ja) 2017-02-01

Family

ID=49671667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012126541A Active JP6074165B2 (ja) 2012-06-01 2012-06-01 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US9996482B2 (ja)
JP (1) JP6074165B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5989631B2 (ja) * 2013-11-29 2016-09-07 京セラドキュメントソリューションズ株式会社 画像形成システム、画像形成方法、及び制御プログラム
WO2017061558A1 (en) * 2015-10-07 2017-04-13 Wacom Co., Ltd. Multi-user, cross-browser signature platform
JP2019105911A (ja) * 2017-12-11 2019-06-27 東芝テック株式会社 メンテナンスデータ提供システム、サーバ及び情報処理プログラム
JP7059752B2 (ja) * 2018-03-29 2022-04-26 ブラザー工業株式会社 アプリケーションプログラム
JP7240118B2 (ja) * 2018-09-14 2023-03-15 キヤノン株式会社 情報処理装置、その制御方法およびプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3486427B2 (ja) 1993-01-18 2004-01-13 キヤノン株式会社 制御装置および制御方法
JP3792733B2 (ja) 1993-01-18 2006-07-05 キヤノン株式会社 サーバー装置および制御方法
JP4035173B2 (ja) 1993-01-18 2008-01-16 キヤノン株式会社 制御装置および制御方法
JP3332443B2 (ja) 1993-01-18 2002-10-07 キヤノン株式会社 情報処理装置および情報処理方法
US6804016B2 (en) 1993-01-18 2004-10-12 Canon Kabushiki Kaisha Control apparatus for a scanner/printer
US5867563A (en) 1994-12-16 1999-02-02 Canon Kabushiki Kaisha Location display apparatus
US5956487A (en) * 1996-10-25 1999-09-21 Hewlett-Packard Company Embedding web access mechanism in an appliance for user interface functions including a web server and web browser
JP3221361B2 (ja) * 1997-06-23 2001-10-22 日本電気株式会社 色データ変換装置
US6529936B1 (en) * 1998-12-23 2003-03-04 Hewlett-Packard Company Object-oriented web server architecture suitable for various types of devices
US20020178295A1 (en) * 2001-05-23 2002-11-28 Joseph Buczek Distributed gateways for remote management of USB-compatible devices
JP4110977B2 (ja) * 2003-01-21 2008-07-02 松下電器産業株式会社 サーバ
JP2006039982A (ja) * 2004-07-28 2006-02-09 Canon Inc 情報処理装置の制御方法、情報処理装置、および情報処理装置の制御プログラム
US20070124796A1 (en) * 2004-11-25 2007-05-31 Erland Wittkotter Appliance and method for client-sided requesting and receiving of information
US8179538B2 (en) * 2005-08-31 2012-05-15 Canon Kabushiki Kaisha Image processing apparatus, information processing apparatus and control method
KR100644159B1 (ko) * 2005-09-05 2006-11-10 엔에이치엔(주) 검색 컨트롤러 제어 방법 및 그 장치
JP4835118B2 (ja) * 2005-11-16 2011-12-14 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置の操作情報記録方法及び画像形成装置
JP4844105B2 (ja) * 2005-12-01 2011-12-28 セイコーエプソン株式会社 ローカルデバイスが接続される制御装置におけるメニューデータの生成
US20080104575A1 (en) * 2006-10-31 2008-05-01 Motorola, Inc. Agent for implementing automated compatibility test
US20080126653A1 (en) * 2006-11-29 2008-05-29 Icon Global, Ltd. Portable web server with usb port
US20090094539A1 (en) * 2007-08-29 2009-04-09 Yao-Tian Wang Controlling a computer peripheral device using a universal driver and device-generated user interface information
SG155806A1 (en) * 2008-03-28 2009-10-29 Radiantrust Pte Ltd Method and system for obtaining printer status in a network
JP4624447B2 (ja) * 2008-06-16 2011-02-02 日本電信電話株式会社 通信制御システム、通信制御方法、呼制御サーバ装置および呼制御プログラム
JP4710950B2 (ja) * 2008-10-06 2011-06-29 セイコーエプソン株式会社 ネットワーク管理システム及び方法
US9537968B1 (en) * 2012-01-06 2017-01-03 Google Inc. Communication of socket protocol based data over a storage protocol based interface

Also Published As

Publication number Publication date
JP2013250892A (ja) 2013-12-12
US20130326012A1 (en) 2013-12-05
US9996482B2 (en) 2018-06-12

Similar Documents

Publication Publication Date Title
US8261259B2 (en) Dynamic printing system, apparatus and method
JP5654806B2 (ja) サーバシステムとプリント装置及びそれらを有するネットワーク印刷システムとそれらにおける方法
US9268504B2 (en) Information processing device, image forming device, printing system control method, and storage medium for searching, retrieving image forming devices that are collectively registered on a service providing device
US9734437B2 (en) Communication relaying technology and communication relaying apparatus
JP6074165B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20050086282A1 (en) Computing device and methods for mobile-printing
JP4045798B2 (ja) プリントシステム
JP5645515B2 (ja) 処理システム、制御方法、およびそのプログラム
KR20210021078A (ko) 정보 처리 장치, 제어 방법 및 프로그램
JP2004252984A (ja) ネットワーク上のモバイルエンタープライズプリンタを公開する方法
JP2012253514A (ja) 画像入力システム、サーバ装置、サーバ装置の制御方法、及び制御プログラム
JP2016130970A (ja) 情報処理装置とその制御方法およびプログラム
JP6714839B2 (ja) 印刷システム、印刷管理サーバ、通信中継装置およびプログラム
US20130100477A1 (en) Server apparatus, client apparatus, information processing method, and program
JP2003271332A (ja) 出力管理装置設定装置及び方法
EP2624124A2 (en) Method and system for printing
JP2009038526A (ja) 印刷サーバ装置
KR20130004155A (ko) 작업 처리 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
JP6371697B2 (ja) 情報処理装置、印刷制御方法、およびプログラム
US20130077130A1 (en) Printing control system, printing control method, and image processor
JP5932244B2 (ja) サーバー装置、情報処理装置、それらの制御方法、及び制御プログラム
JP6267503B2 (ja) 情報処理装置及びその制御方法、プログラム
KR20220137967A (ko) 용지 종류의 정보를 송신하는 인쇄 장치와 그 제어 방법, 및 저장 매체
US8395799B2 (en) Printing system, output device, data management system, control method, and program
JP2007156994A (ja) ホスト装置及び印刷制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150501

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170106

R151 Written notification of patent or utility model registration

Ref document number: 6074165

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151