JP6142511B2 - 通信中継プログラム、通信中継装置、及び、画像処理装置 - Google Patents

通信中継プログラム、通信中継装置、及び、画像処理装置 Download PDF

Info

Publication number
JP6142511B2
JP6142511B2 JP2012253271A JP2012253271A JP6142511B2 JP 6142511 B2 JP6142511 B2 JP 6142511B2 JP 2012253271 A JP2012253271 A JP 2012253271A JP 2012253271 A JP2012253271 A JP 2012253271A JP 6142511 B2 JP6142511 B2 JP 6142511B2
Authority
JP
Japan
Prior art keywords
processing apparatus
folder name
image processing
request
printer
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
JP2012253271A
Other languages
English (en)
Other versions
JP2014102621A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2012253271A priority Critical patent/JP6142511B2/ja
Priority to US14/083,478 priority patent/US9164716B2/en
Publication of JP2014102621A publication Critical patent/JP2014102621A/ja
Application granted granted Critical
Publication of JP6142511B2 publication Critical patent/JP6142511B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1226Discovery of devices having required properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Between Computers (AREA)
  • Facsimiles In General (AREA)

Description

通信を中継する技術に関する。
従来、画像処理装置にWebサーバ機能を備え、端末装置で実行されるWebブラウザに画像処理装置の設定画面などを表示する技術が開示されている(例えば特許文献1参照)。
また、画像処理装置と端末装置とをインターネットで接続し、インターネットを介して画像処理装置に画像を処理させるIPP(Internet Printing Protocol)と呼ばれる規格が知られている。
そして、画像処理装置と端末装置とがUSB(Universal Serial Bus)によって接続されている環境において上述したIPPによる通信を行うためのIPP over USBという規格のドラフト(2012年11月19日時点においてVersion 1.0 Draft 20)が知られている。
特開2011−257945号公報
IPP over USBでは端末装置で通信中継プログラムが実行される。Webブラウザなどのクライアントアプリケーションは画像処理装置への処理要求をIPPにより通信中継プログラムに送信する。通信中継プログラムはクライアントアプリケーションから受信した処理要求をUSBの通信プロトコルにより端末装置に接続されている画像処理装置に送信する。
ところで、IPP over USBを実現するに当たって、端末装置が複数の画像処理装置と通信を行う構成も考えられる。しかしながら、従来はクライアントアプリケーションから通信中継プログラムに処理要求を送信するとき、例えば複数の画像処理装置の中からその処理要求の送信先の画像処理装置を特定するといった構成は考慮されていなかった。
本明細書では、画像処理装置とクライアントアプリケーションとの間で通信を中継する場合に、クライアントアプリケーションから送信される処理要求の送信先の画像処理装置を特定することができる技術を開示する。
本明細書によって開示される通信中継プログラムは、画像処理装置と通信回線を介して通信可能に接続されている情報処理装置で実行される通信中継プログラムであって、クライアントアプリケーションから処理要求を受信する要求受信処理と、前記要求受信処理によって受信された前記処理要求からフォルダ名を抽出する抽出処理と、前記抽出処理によって抽出された前記フォルダ名から前記処理要求の送信先となる前記画像処理装置を特定する特定処理と、前記特定処理によって特定された前記画像処理装置に前記処理要求を送信する要求送信処理と、を前記情報処理装置に実行させる。
上記通信中継プログラムによると、画像処理装置とクライアントアプリケーションとの間で通信を中継する場合に、クライアントアプリケーションから送信された処理要求からフォルダ名を抽出し、そのフォルダ名から画像処理装置を特定するので、処理要求の送信先の画像処理装置を特定することができる。
また、上記通信中継プログラムは、前記画像処理装置から当該画像処理装置の固有情報を取得する第1の取得処理を前記情報処理装置に実行させ、前記特定処理において、前記第1の取得処理によって取得された前記固有情報が前記抽出処理によって抽出された前記フォルダ名に含まれる固有情報と一致する前記画像処理装置を前記処理要求の送信先として特定してもよい。
上記通信中継プログラムによると、画像処理装置の固有情報に基づいて処理要求の送信先の画像処理装置を特定するので、画像処理装置を確実に特定することができる。
また、上記通信中継プログラムは、前記特定処理によって特定された前記画像処理装置から前記処理要求に対する応答を受信する応答受信処理と、前記応答受信処理によって受信された前記応答を前記クライアントアプリケーションに送信する応答送信処理と、を前記情報処理装置に実行させてもよい。
上記通信中継プログラムによると、クライアントアプリケーションは処理要求に対する応答を受信することができる。
また、上記通信中継プログラムは、前記特定処理によって前記画像処理装置を特定できたか否かを判断する特定判断処理と、前記特定判断処理によって否定判断された場合に、前記情報処理装置に接続されている前記画像処理装置が1台であるか複数であるかを判断する台数判断処理と、を前記情報処理装置に実行させ、前記台数判断処理によって1台であると判断された場合は、前記要求送信処理において前記画像処理装置に前記処理要求を送信してもよい。
情報処理装置に接続されている画像処理装置が1台のみである場合は処理要求から抽出したフォルダ名から処理要求の送信先の画像処理装置を特定できなくても処理要求の送信先の画像処理装置を決定できる。この場合、クライアントアプリケーションにフォルダ名が設定されている処理要求を送信させ直すと、クライアントアプリケーションに無用な処理を実行させることになる。
上記通信中継プログラムによると、画像処理装置が1台のみである場合は処理要求から抽出したフォルダ名から処理要求の送信先の画像処理装置を特定できなくてもその処理要求を画像処理装置に送信するので、クライアントアプリケーションに無用な処理を実行させないようにすることができる。
また、上記通信中継プログラムは、前記台数判断処理によって複数であると判断された場合に、前記情報処理装置に接続されている前記画像処理装置の識別情報の選択を受け付ける画面が表示される画面データであって、当該画面で前記識別情報を選択すると当該選択した識別情報によって識別される前記画像処理装置を特定可能な前記フォルダ名が設定されている前記処理要求が前記情報処理装置に送信されるように設定されている画面データを生成する画面データ生成処理と、前記画面データ生成処理によって生成された画面データを前記クライアントアプリケーションに送信する画面データ送信処理と、を前記情報処理装置に実行させてもよい。
上記通信中継プログラムによると、ユーザはクライアントアプリケーションで画像処理装置の識別情報を選択することにより、選択した画像処理装置を特定可能なフォルダ名が設定されている処理要求を情報処理装置に送信することができる。
また、上記通信中継プログラムは、前記画像処理装置から当該画像処理装置の固有情報を取得する第2の取得処理と、前記第2の取得処理によって取得された前記固有情報を用いて前記フォルダ名を生成する生成処理と、を前記情報処理装置に実行させ、前記画面データ生成処理において、前記生成処理によって生成された前記フォルダ名を用いて前記画面データを生成してもよい。
上記通信中継プログラムによると、固有情報が含まれているフォルダ名を生成するので、そのフォルダ名を用いることにより画像処理装置を確実に特定することができる。
また、上記通信中継プログラムは、前記画像処理装置に前記フォルダ名の送信を要求する要求処理を前記情報処理装置に実行させ、前記画面データ生成処理において、前記画像処理装置から受信したフォルダ名を用いて前記画面データを生成してもよい。
上記通信中継プログラムによると、画像処理装置にフォルダ名を要求するので、通信中継プログラムの処理を簡素にすることができる。
また、上記通信中継プログラムは、前記画像処理装置の指定を受け付ける指定受付処理と、前記指定受付処理によって受け付けられた前記画像処理装置に対するフォルダ名の入力を受け付ける入力受付処理と、前記指定受付処理によって受け付けられた前記画像処理装置を特定するための識別情報と前記入力受付処理によって受け付けられた前記フォルダ名とを対応付けて記憶装置に記憶させる記憶処理と、を前記情報処理装置に実行させてもよい。
上記通信中継プログラムによると、クライアントアプリケーションのユーザは入力したフォルダ名が設定されている処理要求をクライアントアプリケーションに設定することにより、フォルダ名が設定されている処理要求を通信中継プログラムに送信することができる。
そして、通信中継プログラムは処理要求から抽出したフォルダ名に対応付けられている識別情報を記憶装置から読み出すことにより、処理要求の送信先の画像処理装置を特定することができる。
また、上記通信中継プログラムは、前記入力受付処理によって受け付けられたフォルダ名を前記画像処理装置に送信するフォルダ名送信処理を実行してもよい。
上記通信中継プログラムによると、画像処理装置側でフォルダ名を用いた処理を実行する場合に、情報処理装置から受信したフォルダ名を用いることができる。
本明細書によって開示される画像処理装置は、情報処理装置と通信回線を介して通信可能に接続されている画像処理装置であって、前記情報処理装置と前記通信回線を介して通信する第2の通信部と、第2の処理部と、を備え、前記第2の処理部は、前記情報処理装置からフォルダ名を送信する要求を受信するフォルダ名要求受信処理と、前記フォルダ名要求受信処理によってフォルダ名を送信する要求が受信されると、当該画像処理装置を特定可能なフォルダ名を前記情報処理装置に送信するフォルダ名送信処理と、を実行する。
上記画像処理装置によると、情報処理装置は画像処理装置からフォルダ名を取得するので、情報処理装置の処理を簡素にすることができる。
本明細書によって開示される画像処理装置は、情報処理装置と通信回線を介して通信可能に接続されている画像処理装置であって、前記情報処理装置と前記通信回線を介して通信する第2の通信部と、前記画像処理装置を識別するための固有情報を記憶する記憶部と、第2の処理部と、を備え、前記第2の処理部は、前記記憶部に記憶されている固有情報を用いてフォルダ名を生成するフォルダ名生成処理と、前記情報処理装置から処理要求を受信すると、当該処理要求が、前記フォルダ名生成処理で生成されたフォルダ名で示される処理対象に対する要求か否かを判断する対象判断処理と、前記対象判断処理によって肯定判断された場合、当該対象を前記情報処理装置に送信する応答処理と、を実行する。
上記画像処理装置によると、処理要求の対象がフォルダ名生成処理で生成されたフォルダ名を含むパスにある場合のみ当該対象を情報処理装置に送信することができる。
また、前記第2の処理部は、前記情報処理装置から画面データの送信を要求する第1の処理要求を受信すると、前記第1の処理要求とは異なる第2の処理要求の送信指示を受け付ける画面が表示される画面データであって、前記フォルダ名が設定されている前記第2の処理要求が前記情報処理装置に送信されるように設定されている画面データを前記情報処理装置に送信してもよい。
上記画像処理装置によると、情報処理装置で実行されているクライアントアプリケーションは、第1の処理要求に設定したフォルダ名によって識別される画像処理装置に第2の処理要求を送信することができる。
また、前記第2の処理部は、前記情報処理装置から前記第1の処理要求を受信すると、当該画像処理装置の機種用のテンプレート画面データに記述されている前記第2の処理要求を前記フォルダ名が設定されている前記第2の処理要求に書き換え、書き換えた前記テンプレート画面データを前記画面データとして前記情報処理装置に送信してもよい。
上記画像処理装置によると、テンプレート画面データから画面データを生成できる。
なお、本明細書によって開示される技術は、通信中継装置、通信中継システム、通信中継方法、通信中継プログラムを記録した記録媒体等の種々の態様で実現することができる。
上記の通信中継プログラムによると、画像処理装置とクライアントアプリケーションとの間で通信を中継する場合に、クライアントアプリケーションから送信される処理要求の送信先の画像処理装置を特定することができる。
実施形態1に係るPCの電気的構成を示すブロック図。 プリンタの電気的構成を示すブロック図。 設定画面を示す模式図。 PCのプログラム構成、及び、プリンタの機能を示すブロック図。 通信処理の全体的な流れを示すシーケンスチャート。 プリンタ選択画面の画面構成を示す模式図。 プリンタ選択画面の画面データを示す模式図。 設定画面の画面データを示す模式図。 通信中継処理のフローチャート(その1)。 通信中継処理のフローチャート(その2)。 内部フォルダを指定された場合の通信中継処理のフローチャート。 プリンタ選択画面生成処理のフローチャート。 IPP機能から処理要求を受信する処理のフローチャート。 設定画面のテンプレート画面データの模式図。 フォルダ名生成処理のフローチャート。 実施形態2に係るフォルダ名設定ツールのフローチャート。 フォルダ名設定ツールのフローチャート。 実施形態3に係るプリンタ選択画面生成処理のフローチャート。 フォルダ名送信処理のフローチャート。
<実施形態1>
実施形態1を図1ないし図15によって説明する。
(1)画像処理システム
先ず、図1を参照して、実施形態1に係る画像処理システム1について説明する。画像処理システム1はパーソナルコンピュータ(PCと記す)2と複数のプリンタ3(3a〜3c)とで構成されている。PC2とプリンタ3a〜3cとはUSB(Universal Serial Bus、ユニバーサルシリアルバス)ケーブル4によって通信可能に接続されている。
プリンタ3a〜3cはそれぞれUSBプリンタクラスデバイスとして構成されている。以降の説明において単にプリンタ3というときはプリンタ3a〜3cのうちいずれか一つのことをいうものとする。なお、プリンタ3a〜3cは同一機種であってもよいし、互いに異なる機種であってもよい。
PC2は情報処理装置及び通信中継装置の一例である。プリンタ3a〜3cはそれぞれ画像処理装置の一例である。また、USBは通信回線の一例である。
PC2はプリンタ3との間でUSBを介して少なくとも以下の二つの通信(a)及び(b)を行うことができる。
(a)プリンタ3を設定するための通信
(b)プリンタ3に印刷データを送信するための通信
これらの通信はIPP over USB規格(2012年11月19日時点においてVersion 1.0 Draft 20)に従って行われる。IPP(Internet Printing Protocol)とは、HTTP(HyperText Transfer Protocol)をベースにした規格であって、インターネットやLAN(Local Area Network)などのTCP/IPネットワークを介してプリンタ3と通信するための規格である。
IPP over USBは、USBによって接続されている環境において上述したIPPによる通信を実現するための規格である。IPP over USBではIPPの通信データがUSBのパケットに格納されて送受信される。なお、本実施形態はIPP over USB規格に完全に準拠するわけではなく、その拡張仕様となっている。
(1−1)PCの電気的構成
図1を参照して、PC2の電気的構成について説明する。PC2は、CPU21、ROM22、RAM23、表示部24、操作部25、記憶部26、及び、USBホストインタフェース部(図1ではUSBホストIF部と記す)27を備えて構成されている。
CPU21はROM22や記憶部26に記憶されているプログラムを実行することによってPC2の各部を制御する。ROM22にはCPU21によって実行されるプログラムやデータなどが記憶されている。RAM23はCPU21が各種の処理を実行するための主記憶装置として用いられる。CPU21は第1の処理部の一例である。
表示部24は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えて構成されている。
操作部25は、キーボードやマウス、それらが接続されるインタフェースなどで構成されている。
記憶部26は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部26には、オペレーティングシステム(OSと記す)41、Webブラウザ42、IPP/USB変換プログラム43などのプログラムが記憶されている。これらのプログラムはCPU21によって実行される。
IPP/USB変換プログラム43は通信中継プログラムの一例である。Webブラウザ42はクライアントアプリケーションの一例である。また、記憶部26は記憶装置の一例である。
USBホストインタフェース部27は、USBホストコントローラ、USBケーブル4が接続されるジャックなどを備えて構成されており、USBケーブル4を介してプリンタ3と通信可能に接続されている。USBホストインタフェース部27は第1の通信部の一例である。
(1−2)プリンタ
次に、図2を参照して、プリンタ3の電気的構成について説明する。プリンタ3は、制御部31、USBクライアントインタフェース部(図2ではUSBクライアントIF部と記す)32、印刷部33、操作部34、及び、記憶部35を備えて構成されている。
制御部31は、CPU31a、ROM31b、RAM31cなどを備えて構成されている。CPU31aはROM31bや記憶部35に記憶されている制御プログラムを実行することによってプリンタ3の各部を制御する。ROM31bにはCPU31aによって実行される制御プログラムや各種のデータなどが記憶されている。RAM31cはCPU31aが各種の処理を実行するための主記憶装置として用いられる。CPU31aは第2の処理部の一例である。
印刷部33は、印刷用紙などのシートに電子写真方式やインクジェット方式などで画像を印刷する装置である。また、印刷部33は印刷用紙が収容される第1のトレイ、及び、第2のトレイを備えている。
操作部34は、液晶ディスプレイなどの表示装置や各種の操作ボタンなどを備えて構成されている。
USBクライアントインタフェース部32は、USBケーブル4が接続されるジャックなどを備えて構成されており、USBケーブル4を介してPC2と通信可能に接続されている。USBクライアントインタフェース部32は第2の通信部の一例である。
また、USBの仕様により、USBクライアントインタフェース部32にはデバイスディスクリプタ、ストリングディスクリプタ、ベンダクラスディスクリプタ、インタフェースディスクリプタなどの各種のディスクリプタが記憶されている。ディスクリプタはプリンタ3に関する情報である。
例えばデバイスディスクリプタにはプリンタ3のベンダーIDやプロダクトIDなどが記述されている。インタフェースディスクリプタには後述するインタフェースを構成するための情報が記述されている。ストリングディスクリプタは、インデックスに対応した文字列情報を返すディスクリプタである。PC2は対応するインデックスを指定することにより「ベンダー名」、「モデル名」、「シリアル番号」をプリンタ3より取得することができる。このシリアル番号は同一モデルであっても個別に付与されており、これらを組み合わせることにより、デバイスを特定することが可能である。USBクライアントインタフェース部32は画像処理装置を識別するための固有情報を記憶する記憶部の一例である。
記憶部35は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のデータを記憶する装置である。
(1−3)プリンタのフォルダ構成
プリンタ3はHTTPリクエストに対して仮想的なフォルダをもつ。例えばHTTPリクエストとして以下のリクエストがあったとする。
GET /xxxxxxxx/status.html HTTP/1.1
この場合、後述するWebサーバ機能52(図4参照)は上述したHTTPリクエストを、仮想的なフォルダ「/xxxxxxxx」の下にあるstatus.htmlというファイルを取得する命令として解釈する。プリンタ3はこのフォルダとして以下のフォルダを備える。
/モデル名_ベンダーID_製品ID_シリアル番号
上述したモデル名、ベンダーID、製品ID、及び、シリアル番号はそれぞれUSBクライアントインタフェース部32に記憶されているディスクリプタに記述されている情報に読み替えるものとする。例えばプリンタ3のモデル名、ベンダーID、製品ID、及び、シリアル番号がそれぞれ以下のものであったとする。
モデル名=PRINTER3a
ベンダーID=04F9
製品ID=00A3
シリアル番号=SER1111
この場合、「/モデル名_ベンダーID_製品ID_シリアル番号」フォルダのフォルダ名は以下のフォルダ名となる。なお、ここではベンダーID及び製品IDについてはディスクリプタに記述されている情報にそれぞれ「VID」、「PID」という文字列を付加するものとする。なお、これらの文字列は必ずしも付加しなくてもよい。
PRINTER3a_VID04F9_PID00A3_SER1111
また、ここではモデル名、ベンダーID、製品ID、及び、シリアル番号を例に説明するが、フォルダ名にはUSBによってPC2に接続されている複数のプリンタ3を互いに識別できる情報が含まれていればよい。例えば仮にシリアル番号だけでプリンタ3を互いに識別できるとした場合はフォルダ名にはシリアル番号のみを含めるようにしてもよい。例えば各プリンタ3からシリアル番号を取得し、取得したシリアル番号が互いに異なっていればシリアル番号だけで識別できると判断することができる。
「/モデル名_ベンダーID_製品ID_シリアル番号」フォルダには、プリンタ3を設定するための設定画面60(図3参照)上に表示される部品画像のデータやCGI(Common Gateway Interface)プログラムなどが記憶されている。
なお、厳密にはWebサーバ機能52によりそのディレクトリに記憶されているように扱われるだけで、記憶部35のファイルシステム上に置かれるわけではないファイルもある。しかし以後はこのようなファイルも便宜上このように表記するものとする。このような処理はWebサーバ機能52に搭載されるCGI機能として一般的であり、ここでは詳細な説明は省略する。
以降の説明では「/モデル名_ベンダーID_製品ID_シリアル番号」フォルダのことをプリンタ3の内部フォルダというものとする。
(2)プリンタの設定画面
次に、図3を参照して、プリンタ3の設定画面60について説明する。設定画面60はWebブラウザ42によって表示されるものである。設定画面60の画面データはHTML(HyperText Markup Language)やXML(Extensible Markup Language)によって記述されているものとする。以後はHTMLで記述されているものとして説明する。詳しくは後述するが、画面データはプリンタ3のWebサーバ機能52が設定画面CGIを実行することによって生成される。Webブラウザ42はIPP over USBによってプリンタ3からその画面データを取得して設定画面60を表示する。設定画面60の画面データのファイル名はmain.htmlであるとする。
図3に示す設定画面60では、用紙サイズ61a、給紙トレイ61b、及び、解像度61cを設定することができる。また、設定画面60には画像62a、画像62b、画像62cなどの部品画像や設定ボタン63が表示される。ここでは画像62a〜画像62cをそれぞれGIF1、GIF2、GIF3というものとする。
なお、図3に示す設定画面60は一例であり、設定画面60はプリンタ3の機種などによって異なる。
(3)PCのプログラム構成、及び、プリンタの機能
次に、図4を参照して、IPP over USBによって通信を行うためのPC2のプログラム構成、及び、プリンタ3の機能について説明する。
(3−1)PCのプログラム構成
先ず、PC2のプログラム構成について説明する。PC2は、IPP/USB変換プログラム43、Webブラウザ42、及び、スプーラ44を実行する。
IPP/USB変換プログラム43は、Webブラウザ42とプリンタ3のIPP機能51との間でプリンタ3を設定するための通信(a)を中継するとともに、スプーラ44とIPP機能51との間でプリンタ3に印刷データを送信するための通信(b)を中継するプログラムである。
IPP/USB変換プログラム43はhttp://localhost:80に対するサーバープログラムとして常駐している。localhostはPC2のIPアドレスであって、具体的には例えば127.0.0.1である。また80は使用するポート番号である。なおポート番号80は通常省略される。IPP/USB変換プログラム43はWebブラウザ42とHTTPによって通信するとともに、スプーラ44とIPPによって通信する。
また、IPP/USB変換プログラム43はIPP機能51とUSBを介して通信する。IPP/USB変換プログラム43の詳細については後述する。
Webブラウザ42はユーザがプリンタ3の設定をするためのユーザインタフェースとして用いられるものである。Webブラウザ42としては一般に利用されているものを用いることができる。
PC2とプリンタ3とがUSBによって接続されている環境では、Webブラウザ42はlocalhostのポート80に、プリンタ3の設定画面60を表示するための画面データの送信を要求するHTTPリクエストや、設定画面60上に表示する部品画像の送信を要求するHTTPリクエストなどを送信する。これらのHTTPリクエストはそれぞれ処理要求の一例である。以降の説明ではHTTPリクエストを単に処理要求という。
なお、処理要求はこれらに限られるものではない。例えばユーザが設定画面60で設定した設定値をプリンタ3に設定する要求(PUTコマンドやPOSTコマンドなど)も処理要求として送信される。
IPP/USB変換プログラム43はWebブラウザ42から処理要求を受信すると、USBを介してIPP機能51にその処理要求を送信する。
スプーラ44は印刷データをスプールするプログラムである。スプーラ44はOS41の一部として提供される。PC2とプリンタ3とがUSBによって接続されている環境では、スプーラ44はIPP/USB変換プログラム43とIPPによって通信することにより、IPP/USB変換プログラム43に印刷データを送信する。
IPP/USB変換プログラム43はスプーラ44から印刷データを受信すると、USBを介してプリンタ3のIPP機能51にその印刷データを送信する。
なお、Webブラウザ42及びスプーラ44はPC2で実行されてもよいし、PC2と通信可能に接続されている外部の通信端末5で実行されてもよい。
(3−2)プリンタの機能
次に、プリンタ3の機能について説明する。プリンタ3は、印刷部33、IPP機能51、及び、Webサーバ機能52を備えている。
IPP機能51はプリンタ3の制御部31が制御プログラムを実行することによって実現される機能である。IPP機能51はIPP/USB変換プログラム43とUSBを介して通信する。また、IPP機能51はWebサーバ機能52とHTTPによって通信するとともに、印刷部33と所定のプロトコルに従って通信する。
Webサーバ機能52もプリンタ3の制御部31が制御プログラムを実行することによって実現される。Webサーバ機能52は画面データの送信が要求されると設定画面CGIを実行して設定画面60を表示するための画面データを生成する処理や、設定画面60で設定された設定値を受信するとプリンタ設定CGIを実行してプリンタ3にその設定値を設定する処理などを実行する。
Webサーバ機能52として動作する制御部31は応答部の一例である。
(4)USBにおけるインタフェース
次に、USBにおけるインタフェースについて説明する。USBでは物理的に一本のUSBケーブル4にインタフェースと呼ばれる1以上の論理的な通信回線が構成される。
USBではコントロール転送を行うためのエンドポイント0と呼ばれる特殊なエンドポイントが必ず構成される。エンドポイント0は双方向通信が可能なエンドポイントである。インタフェースはエンドポイント0を介してプリンタ3から取得されるインタフェースディスクリプタに従って構成される。各インタフェースは通常1ないし複数のエンドポイントを有する。
本実施形態のプリンタ3ではエンドポイント0を用いたインタフェースであるインタフェース0の他に、インタフェース1及びインタフェース2が構成されるものとする。さらに、インタフェース1及びインタフェース2はそれぞれリード用エンドポイントおよびライト用エンドポイントを有し、それらを使用することにより双方向通信を実現している。
そして、前述したプリンタ3を設定するための通信(a)はインタフェース1を用いて行われ、プリンタ3に印刷データを送信するための通信(b)はインタフェース2を用いて行われるものとする。
なお、インタフェース2を構成せず、プリンタ3を設定するための通信(a)、及び、プリンタ3に印刷データを送信するための通信(b)をどちらもインタフェース1を用いて行ってもよい。
(5)USBに複数のプリンタが接続されている場合の課題
次に、1台のPC2に複数のプリンタ3がUSBによって接続されている場合の課題について説明する。ここではプリンタ3を設定するための通信(a)を例に説明する。
プリンタ3とPC2とがUSBによって接続されている環境では、通常、ユーザはWebブラウザ42に以下のURLを入力することによってIPP/USB変換プログラム43にプリンタ3の設定画面60の画面データの送信を要求する。
http://localhost/main.html
上述したURLが入力されると、Webブラウザ42はIPP/USB変換プログラム43に以下の処理要求Aを送信する。
GET /main.html HTTP/1.0 ・・・ 処理要求A
Webブラウザ42はネットワークを介して通信相手の装置にアクセスするため、通常は通信相手の装置を選択するにはIPアドレスを指定すればよい。しかし本実施形態の構成ではIPアドレスはlocalhostに限定される。そのためIPアドレスの指定によってプリンタ3a乃至3cのひとつを選択することはできない。
このため、プリンタ3a乃至3cがUSBによってPC2に接続されている環境では、IPP/USB変換プログラム43は処理要求Aを受信しても、その処理要求Aの送信先のプリンタ3を特定できない。
そこで、IPP/USB変換プログラム43は、処理要求の送信先のプリンタ3を特定可能な文字列を含むフォルダ名を用いて処理要求の送信先のプリンタ3を特定する。以下、具体的に説明する。
(6)通信処理の全体的な流れ
先ず、図5を参照して、通信処理の全体的な流れについて説明する。ここでは前述したプリンタ3を設定するための通信(a)を例に説明する。また、ここでは設定の対象としてプリンタ3aを例に説明する。
ユーザがWebブラウザ42に前述したURLを入力すると、Webブラウザ42はIPP/USB変換プログラム43に前述した処理要求Aを送信する(S101)。しかしながら、前述したように処理要求Aにはプリンタ3を示す情報は含まれていないので、IPP/USB変換プログラム43は処理要求Aの送信先のプリンタ3を特定できない。
IPP/USB変換プログラム43は、処理要求Aの送信先のプリンタ3を特定できない場合は、プリンタ選択画面生成処理を実行することによって以下に示すプリンタ選択画面65の画面データを生成する(S102)。
先ず、図6を参照して、プリンタ選択画面65の画面構成について説明する。プリンタ選択画面65にはUSBによってPC2に接続されているプリンタ3a〜3cのモデル名が一覧表示される。
次に、図7を参照して、プリンタ選択画面65の画面データについて説明する。IPP/USB変換プログラム43は、プリンタ3a〜3cのそれぞれからベンダーID、製品ID、シリアル番号、及び、モデル名を取得する。そして、IPP/USB変換プログラム43はそれらの情報から前述した内部フォルダのフォルダ名を生成する。
そして、IPP/USB変換プログラム43は、生成したフォルダ名を用いてプリンタ3a〜3cのそれぞれのURLを生成し、生成したURLをプリンタ選択画面65の画面データにリンクとして追加する。例えばプリンタ3aのモデル名がPRINTER3a、ベンダーIDが04F9(16進数)、製品IDが00A3(16進数)、シリアル番号がSER1111(ストリング)の場合は以下のリンクが追加される。
<a href=”http://localhost/PRINTER3a_VID04F9_PID00A3_SER1111/main.html”>PRINTER3a</a>
ここで、モデル名は画像処理装置の識別情報の一例である。プリンタ選択画面65の画面データは、情報処理装置に接続されている画像処理装置の識別情報の選択を受け付ける画面が表示される画面データであって、当該画面で識別情報を選択すると選択した識別情報によって識別される画像処理装置を特定可能なフォルダ名が設定されている処理要求が情報処理装置に送信されるように設定されている画面データの一例である。
なお、PC2に接続されている複数のプリンタが同一機種である場合はモデル名のみでは識別できない。その場合は、例えばモデル名にシリアル番号を付加した「モデル名_シリアル番号」を識別情報として表示してもよいし、USBのポート番号を付加した「モデル名_USBのポート番号」を表示してもよい。あるいは、モデル名(1)、モデル名(2)などとして番号で識別してもよい。識別情報はプリンタ3を識別できれば適宜に決定することができる。
また、識別情報はモデル名に限られるものではない。例えばプリンタ3を表す画像であってもよい。あるいは画像とそのプリンタ3に付与したプリンタ名との組み合わせなどであってもよい。
図5に戻る。IPP/USB変換プログラム43はプリンタ選択画面65の画面データを生成すると、生成した画面データをWebブラウザ42に送信する(S103)。
Webブラウザ42は、ユーザがプリンタ選択画面65でクリックしたモデル名を受付けると(S104)、そのモデル名に設定されているリンクに応じた処理要求BをIPP/USB変換プログラム43に送信する(S105)。例えばユーザがプリンタ選択画面65でプリンタ3aをクリックしたとすると、IPP/USB変換プログラム43には以下の処理要求Bが送信される。
GET /PRINTER3a_VID04F9_PID00A3_SER1111/main.html HTTP/1.0 ・・・ 処理要求B
IPP/USB変換プログラム43は処理要求Bを受信すると、その処理要求Bからフォルダ名「PRINTER3a_VID04F9_PID00A3_SER1111」を抽出する。そして、IPP/USB変換プログラム43は抽出したフォルダ名から処理要求Bの送信先となるプリンタ3を特定する。そして、IPP/USB変換プログラム43は特定したプリンタ3(ここではプリンタ3a)に処理要求Bを送信する(S106)。
プリンタ3aは、処理要求Bを受信すると設定画面生成処理を実行することによって以下に示す設定画面60の画面データを生成する(S107)。
図8を参照して、設定画面60の画面データについて説明する。設定画面60の画面データには前述した部品画像62a〜62cのパスが記述されている。各部品画像のパスにはプリンタ3aの内部フォルダ名が設定される。例えばGIF1の場合は以下のパスが記述される。
/PRINTER3a_VID04F9_PID00A3_SER1111/GIF1
設定画面60の画面データは、第1の処理要求(前述した処理要求B)とは異なる第2の処理要求(後述する処理要求Cや設定ボタン63がクリックされたときに送信される処理要求など)であって画像処理装置を特定可能なフォルダ名が設定されている第2の処理要求が情報処理装置に送信されるように設定されている画面データの一例である。
図5に戻る。プリンタ3aは上述した設定画面60の画面データを生成すると、生成した画面データをIPP/USB変換プログラム43に送信する(S108)。
IPP/USB変換プログラム43はプリンタ3から画面データを受信すると、受信した画面データをWebブラウザ42に送信する(S109)。
Webブラウザ42は受信した設定画面60の画面データを解析し(S110)、部品画像の送信を要求する処理要求CをIPP/USB変換プログラム43に送信する(S111)。例えばGIF1の送信を要求する場合、IPP/USB変換プログラム43には以下の処理要求Cが送信される。
GET /PRINTER3a_VID04F9_PID00A3_SER1111/GIF1 HTTP/1.0 ・・・ 処理要求C
IPP/USB変換プログラム43は処理要求Cを受信すると、その処理要求Cからフォルダ名を抽出し、抽出したフォルダ名から処理要求Cの送信先となるプリンタとしてプリンタ3aを特定する。そして、IPP/USB変換プログラム43は特定したプリンタ3aに処理要求Cを送信する(S112)。
プリンタ3aは処理要求Cを受信すると、その処理要求Cによって要求されている部品画像をIPP/USB変換プログラム43に送信する(S113)。
IPP/USB変換プログラム43はプリンタ3aから部品画像を受信すると、受信した部品画像をWebブラウザ42に送信する(S114)。
これら一連の処理をGIF1〜GIF3について繰り返すことにより、GIF1〜GIF3がWebブラウザ42に読み込まれ、設定画面60上に表示される。
設定画面60に対する操作は、HTTPのGETコマンド、PUTコマンド、POSTコマンドなどの処理要求に変更されて同様にIPP/USB変換プログラム43を介してプリンタ3aに送信される。これにより、従来のTCP/IPネットワークを介してプリンタ3aの設定を行うのと同様の手順でUSBを介してプリンタ3aの設定を行うことができる。
(7)IPP/USB変換プログラムによる通信中継処理の詳細
次に、IPP/USB変換プログラム43による通信中継処理の詳細について説明する。
(7−1)通信中継処理
先ず、図9を参照して、IPP/USB変換プログラム43の通信中継処理について説明する。前述したようにIPP/USB変換プログラム43は常駐プログラムとして実行されるものであり、本処理はPC2に電源が投入されると開始される。
S201では、IPP/USB変換プログラム43はWebブラウザ42から処理要求を受信するまで待機し、処理要求を受信するとS202に進む。S201は要求受信処理の一例である。
S202では、IPP/USB変換プログラム43はS201で受信した処理要求からフォルダ名を抽出する。S202は抽出処理の一例である。
S203では、IPP/USB変換プログラム43はS201で受信した処理要求が内部フォルダに対する要求であるか否かを判断する。具体的には、IPP/USB変換プログラム43はS202で抽出したフォルダ名の書式が「モデル名_ベンダーID_製品ID_シリアル番号」に合致するか否かを判断し、合致する場合は内部フォルダに対する要求であるとしてS204に進み、合致しない場合は内部フォルダに対する要求ではないとしてS205に進む。
上述したS203は特定処理によって画像処理装置を特定できたか否かを判断する特定判断処理の一例である。ここで、処理要求の送信先のプリンタ3を特定する特定処理は後述する図11に示すS303において実行されるが、フォルダ名の書式が合致しない場合はプリンタ3を特定できない。このため、フォルダ名の書式が合致しない場合は、IPP/USB変換プログラム43は図11に示すS303で特定処理が実行される前に、特定処理によって画像処理装置を特定できなかったと判断する。
S204では、IPP/USB変換プログラム43は内部フォルダを指定された場合の通信中継処理を実行する。この処理は処理要求の送信先となるプリンタ3をフォルダ名から特定し、特定したプリンタ3に処理要求を送信する処理である。S204の詳細については後述する。
S205では、IPP/USB変換プログラム43はS201で受信した処理要求がモデル名フォルダに対する要求であるか否かを判断する。具体的には、IPP/USB変換プログラム43はS202で抽出したフォルダ名の書式が「モデル名」の書式に合致するか否かを判断し、合致する場合はモデル名フォルダに対する要求であるとしてS211に進み、合致しない場合はモデル名フォルダに対する要求ではないとしてS206に進む。
S206では、IPP/USB変換プログラム43はUSBによってPC2に接続されているプリンタ3の台数が1台のみであるか又は複数であるかを判断する。IPP/USB変換プログラム43は、1台のみである場合はそのプリンタ3が処理要求の送信先のプリンタ3(対象プリンタ3という)であるとしてS207に進み、複数である場合はS212に進む。S206は台数判断処理の一例である。
S207では、IPP/USB変換プログラム43はS201で取得した処理要求のフォルダ名を編集して、「/モデル名_ベンダーID_製品ID_シリアル番号」に変更する。これらモデル名、ベンダーID、製品ID、及び、シリアル番号はS206、又は後述するS211において判断された対象プリンタ3のものである。
S208では、IPP/USB変換プログラム43はS207でフォルダ名を変更した処理要求を対象プリンタ3に送信する。
S209では、IPP/USB変換プログラム43はS208で送信した処理要求に対する応答を対象プリンタ3から受信する。S209は応答受信処理の一例である。
S210では、IPP/USB変換プログラム43は対象プリンタ3から受信した応答をWebブラウザ42に送信する。S210は応答送信処理の一例である。
前述したS205でフォルダ名がモデル名であると判断された場合は以下のS211が実行される。
S211では、IPP/USB変換プログラム43はUSBによってPC2に接続されているプリンタ3を検索し、該当モデル名のプリンタ3が一台か否かを判断する。該当モデル名のプリンタ3が一台であるならば、そのプリンタ3を対象プリンタ3として前記S207に進む。一方、一台でないと判断した場合は、IPP/USB変換プログラム43はS212に進む。
S212では、IPP/USB変換プログラム43はプリンタ選択画面生成処理を実行する。プリンタ選択画面生成処理は前述したプリンタ選択画面65の画面データを生成する処理である。プリンタ選択画面生成処理の詳細については後述する。
S213では、IPP/USB変換プログラム43はS212で生成したプリンタ選択画面65の画面データをWebブラウザ42に送信する。S213は画面データ送信処理の一例である。
(7−2)内部フォルダを指定された場合の通信中継処理
次に、図11を参照して、S204で実行される内部フォルダを指定された場合の通信中継処理について説明する。
S301では、IPP/USB変換プログラム43はS202で抽出したフォルダ名からモデル名、ベンダーID、製品ID、シリアル番号を分離する。
S302では、IPP/USB変換プログラム43はUSBに接続されているプリンタ3a〜3cを検索し、それぞれからモデル名、ベンダーID、製品ID、及び、シリアル番号を取得する。これらの情報は、先に説明したUSBのディスクリプタを読み込むことにより取得される。モデル名、ベンダーID、製品ID、及び、シリアル番号は固有情報の一例である。S302は第1の取得処理の一例である。
S303では、IPP/USB変換プログラム43はS301で分離したモデル名、ベンダーID、製品ID、及び、シリアル番号と、S302で各プリンタ3から取得したモデル名、ベンダーID、製品ID、及び、シリアル番号とを比較し、それらが一致するプリンタ3を処理要求の送信先のプリンタ3として特定する。S303は特定処理の一例である。
なお、モデル名、ベンダーID、製品ID、及び、シリアル番号が一致するプリンタ3が存在しない場合もあり得る。その場合は本処理を中断してS212に進むものとする。
S304では、IPP/USB変換プログラム43はS303で特定したプリンタ3に、S201でWebブラウザ42から受信した処理要求を送信する。S304は要求送信処理の一例である。
S305では、IPP/USB変換プログラム43はプリンタ3から応答を受信する。S305は応答受信処理の一例である。
S306では、IPP/USB変換プログラム43はプリンタ3から受信した応答をWebブラウザ42に送信する。S306は応答送信処理の一例である。 S304〜S306の処理は前述したS208〜210の処理と同じである。
(7−3)プリンタ選択画面生成処理
次に、図12を参照して、S212で実行されるプリンタ選択画面生成処理について説明する。
S401では、IPP/USB変換プログラム43は、プリンタ選択画面65のテンプレート画面データであって、モデル名を表示する記述などが記載されていないテンプレート画面データを読み込む。テンプレート画面データは例えば記憶部35に記憶されているものとする。
S402では、IPP/USB変換プログラム43はUSBによってPC2に接続されているプリンタ3を検索する。
S403では、IPP/USB変換プログラム43はS402で検索されたプリンタ3を一つ選択する。
S404では、IPP/USB変換プログラム43はS403で選択したプリンタ3からモデル名、ベンダーID、製品ID、及び、シリアル番号を取得する。S404は第2の取得処理の一例である。これらは、先に説明したUSBのディスクリプタを読み込むことにより取得される。
S405では、IPP/USB変換プログラム43はS404で取得したモデル名、ベンダーID、製品ID、及び、シリアル番号から内部フォルダのフォルダ名を生成する。S405は生成処理の一例である。
S406では、IPP/USB変換プログラム43はS405で生成したフォルダ名からS403で選択したプリンタ3のURLを生成する。
S407では、IPP/USB変換プログラム43はS406で生成したURLをS401で読み込んだテンプレート画面データにリンクとして追加する。
S408では、IPP/USB変換プログラム43はS402で検索されたプリンタ3を全て選択したか否かを判断し、全て選択した場合は本処理を終了して図9の「通信中継処理」に戻り、未だ選択していないプリンタ3がある場合はS403に戻って処理を繰り返す。
以上の処理によってリンクが追加されたテンプレート画面データがプリンタ選択画面65の画面データとなる。上述したプリンタ選択画面生成処理は画面データ生成処理の一例である。
プリンタ選択画面生成処理によってプリンタ選択画面65の画面データが生成されることにより、図6のプリンタ選択画面65がWebブラウザ42に表示される。この画面が表示されるのは、ユーザが複数のプリンタ3をPC2に接続しており、且つ、各々のプリンタ3の設定のためのパスを把握していない場合である。ユーザは所望のプリンタ3を選び、プリンタ選択画面65でそのプリンタ3のモデル名をマウスでクリックすることにより、選択したプリンタ3の設定画面60を呼び出すことができる。その際、Webブラウザ42が送信する処理要求は、フォルダ名が「/モデル名_ベンダーID_製品ID_シリアル番号」の形式になっており、前記S203の判断でYESと判断される。すなわちユーザの望むプリンタ3に対して、その処理要求が送信される。
(8)Webサーバ機能による処理
次に、Webサーバ機能52による処理について説明する。
(8−1)IPP機能から処理要求を受信する処理
先ず、図13を参照して、Webサーバ機能52がIPP機能51から処理要求を受信する処理について説明する。本処理はプリンタ3の電源がオンにされると開始される。
S501では、Webサーバ機能52はフォルダ名生成処理を実行する。フォルダ名生成処理は前述した内部フォルダのフォルダ名を生成する処理である。フォルダ名生成処理についての説明は後述する。
S502では、Webサーバ機能52はIPP機能51を介してIPP/USB変換プログラム43から処理要求を受信する。
S503では、Webサーバ機能52はS502で受信した処理要求からフォルダ名を抽出し、抽出したフォルダ名がS501で生成した内部フォルダ名と一致するか否かを判断する。Webサーバ機能52は、一致しない場合はS504に進み、一致する場合はS505に進む。S503は対象判断処理の一例である。
S504では、Webサーバ機能52はIPP機能51に「404 NOT FOUND」というエラーメッセージを送信する。IPP機能51はWebサーバ機能52からエラーメッセージを受信すると、USBを介してIPP/USB変換プログラム43にそのエラーメッセージを送信する。
S505では、Webサーバ機能52はS502で受信した処理要求が設定画面60の画面データの送信を要求する処理要求であるか否かを判断する。具体的には、Webサーバ機能52はS502で受信した処理要求が前述した処理要求Bであるか否かを判断する。Webサーバ機能52は、処理要求Bである場合はS506に進み、それ以外である場合はS509に進む。
S506では、Webサーバ機能52は図14に示す設定画面60のテンプレート画面データをROM31bから読み出す。テンプレート画面データには各部品画像のパスのフォルダを指す部分に「%%%%%」という文字列が記述されている。
S507では、Webサーバ機能52はテンプレート画面データの「%%%%%」という文字列をS501で生成した内部フォルダ名に書き換えることにより、設定画面60の画面データを生成する。
なお、ここで生成される設定画面60は内部フォルダにおかれたmain.htmlに対してのみリンク情報があり、その先のリンク画面にはリンク情報がないものとする。
また、ここでは説明を省略したが、前述したように設定画面60には設定ボタン63も表示される。ユーザが設定ボタン63をクリックすると、設定画面60で設定した設定値をプリンタ3に設定する処理要求がPUTコマンドやPOSTコマンドとしてプリンタ3に送信される。S507では設定ボタン63がクリックされたときに送信されるPUTコマンドあるいはPOSTコマンドにも上述したフォルダ名がパスに設定されるものとする。
S508では、Webサーバ機能52はS507で生成した画面データを、IPP機能51を介してIPP/USB変換プログラム43に送信する。
S509では、Webサーバ機能52は処理要求に応じた処理を実行する。
上述したS508及びS509は応答処理の一例である。
(8−2)フォルダ名生成処理
次に、図15を参照して、S501で実行されるフォルダ名生成処理について説明する。
S601では、Webサーバ機能52はUSBクライアントインタフェース部32からモデル名、ベンダーID、製品ID、及び、シリアル番号を読み込む。
S602では、Webサーバ機能52はS601で読み込んだモデル名、ベンダーID、製品ID、及び、シリアル番号から内部フォルダ名を生成する。この場合に、Webサーバ機能52は前述したS405でIPP/USB変換プログラム43が内部フォルダ名を生成するときのルールと同じルールに従って内部フォルダ名を生成する。つまり、実施形態1ではIPP/USB変換プログラム43とプリンタ3とがそれぞれ独立して内部フォルダ名を生成するが、両者は同じルールに従って内部フォルダ名を生成するので、生成される内部フォルダ名は同じになる。
なお、上述した「IPP機能から処理要求を受信する処理」の一部はIPP機能51によって実行されてもよい。
(9)実施形態の効果
以上説明した実施形態1に係るIPP/USB変換プログラム43によると、Webブラウザ42と複数のプリンタ3との間でUSBを介して通信を中継する場合に、Webブラウザ42から送信される処理要求からフォルダ名を抽出し、そのフォルダ名から処理要求の送信先のプリンタ3を特定するので、処理要求の送信先のプリンタ3を特定することができる。
更に、IPP/USB変換プログラム43によると、プリンタ3から当該プリンタ3の固有情報を取得し(S302)、プリンタ3から取得した固有情報が処理要求から抽出したフォルダ名に含まれる固有情報と一致するプリンタ3を処理要求の送信先として特定するので(S303)、プリンタ3を確実に特定することができる。
更に、IPP/USB変換プログラム43によると、プリンタ3から処理要求に対する応答を受信し、受信した応答をWebブラウザ42に送信するので、Webブラウザ42は処理要求に対する応答を受信することができる。
更に、IPP/USB変換プログラム43によると、処理要求から抽出したフォルダ名からプリンタ3を特定できなかった場合に、PC2に接続されているプリンタ3が1台であるか複数であるかを判断し、1台である場合はプリンタ3に処理要求を送信する。PC2に接続されているプリンタ3が1台のみである場合は処理要求から抽出したフォルダ名から処理要求の送信先のプリンタ3を特定できなくても処理要求の送信先のプリンタ3を決定できる。この場合、Webブラウザ42にフォルダ名が設定されている処理要求を送信させ直すと、Webブラウザ42に無用な処理を実行させることになる。
IPP/USB変換プログラム43によると、プリンタ3が1台のみである場合は処理要求から抽出したフォルダ名から処理要求の送信先のプリンタ3を特定できなくてもその処理要求をプリンタ3に送信するので、Webブラウザ42に無用な処理を実行させないようにすることができる。
更に、IPP/USB変換プログラム43によると、処理要求から抽出したフォルダ名からプリンタ3を特定できなかった場合に、PC2に接続されているプリンタ3が複数である場合は、プリンタ選択画面65の画面データを生成してWebブラウザ42に送信する。このため、ユーザはWebブラウザ42でプリンタ3のモデル名をクリックすることにより、選択したプリンタ3を特定可能なフォルダ名が設定されている処理要求をPC2に送信することができる。
更に、IPP/USB変換プログラム43によると、プリンタ3から当該プリンタ3の固有情報を取得してフォルダ名を生成し、生成したフォルダ名を用いてプリンタ選択画面65の画面データを生成するので、そのフォルダ名を用いることによりプリンタ3を確実に特定することができる。
また、プリンタ3によると、PC2から設定画面60の画面データの送信を要求する第1の処理要求(処理要求B)を受信すると、設定画面60の画面データであって、当該設定画面60で送信指示を受け付けると第1の処理要求に設定されていたフォルダ名と同じフォルダ名が設定されている第2の処理要求(例えば処理要求C)がPC2に送信されるように設定されている画面データをPC2に送信するので、PC2で実行されているWebブラウザ42は第1の処理要求の送信先のプリンタ3に第2の処理要求を送信することができる。
更に、プリンタ3によると、PC2から第1の処理要求を受信すると、当該プリンタ3の機種用のテンプレート画面データに記述されている第2の処理要求をフォルダ名が設定されている第2の処理要求に書き換え、書き換えたテンプレート画面データを画面データとしてPC2に送信するので、テンプレート画面データから画面データを生成できる。
特に、本実施形態では、ROM31bに書き込まれたプリンタ3の機種共通のテンプレート画面データを書き換えてプリンタ3の装置固有のフォルダ名を挿入しているので、装置によって異なるHTMLファイルの生成が容易になっている。
<実施形態2>
次に、実施形態2を図16ないし図17によって説明する。
前述した実施形態1ではIPP/USB変換プログラム43とプリンタ3とがそれぞれ同じルールに従って独立してフォルダ名を生成する場合を例に説明した。これに対し、実施形態2ではPC2で実行されるフォルダ名設定プログラム(以下、フォルダ名設定ツールという)によってユーザからフォルダ名の入力を受け付け、IPP/USB変換プログラム43及びプリンタ3はフォルダ名設定ツールによって受け付けられたフォルダ名を用いる。フォルダ名設定ツールはIPP/USB変換プログラム43の一部を構成するものである。
(1)フォルダ名設定ツールの処理
図16及び図17を参照して、フォルダ名設定ツールの処理について説明する。本処理はユーザによってフォルダ名設定ツールが起動されると開始される。
S701では、フォルダ名設定ツールはユーザからプリンタ3の指定を受け付ける。例えばユーザはフォルダ名を設定するプリンタ3のモデル名を入力することによってプリンタ3を指定する。S701は指定受付処理の一例である。
S702では、フォルダ名設定ツールはS701で指定されたプリンタ3がUSBによってPC2に接続されているか否かを判断し、接続されていない場合はS703に進み、接続されている場合はS704に進む。
S703では、フォルダ名設定ツールはエラーを表示してフォルダ名設定ツールを終了する。
S704では、フォルダ名設定ツールはユーザから任意のフォルダ名の入力を受け付ける。S704は入力受付処理の一例である。
S705では、フォルダ名設定ツールは入力されたフォルダ名に、フォルダ名として使用できない文字が含まれているか否かを判断し、含まれていない場合はS706に進み、含まれている場合はS703に進む。ただしこの判断において「NULL文字列」のみは、フォルダ名の初期化の目的で使用するので、S706に進むものとする。
S706では、フォルダ名設定ツールは入力されたフォルダ名が使用済みであるか否かを判断する。具体的には、フォルダ名設定ツールはS704でユーザから入力されたフォルダ名を後述するS711において記憶部26に記憶させる。フォルダ名設定ツールはS704で入力されたフォルダ名と同じフォルダ名が既に記憶部26に記憶されているか否かを判断し、記憶されている場合は使用済みであると判断する。フォルダ名設定ツールは、使用済みではない場合はS707に進み、使用済みである場合はS703に進む。
S707では、フォルダ名設定ツールは入力されたフォルダ名がNULL文字列であるか否かを判断する。具体的には、ユーザがS704でフォルダ名を入力せずにエンターキーを押下した場合は、フォルダ名はNULL文字列となる。フォルダ名設定ツールは、NULL文字列である場合はS708に進み、NULL文字列ではない場合はS709に進む。
S708では設定ツールはプリンタ3にフォルダ名削除コマンドを送信する。
プリンタ3はPC2からフォルダ名削除コマンドを受信すると、既にPC2からフォルダ名を受信して記憶している場合にはそのフォルダ名を削除してデフォルトのフォルダ名に戻す。
S709では、フォルダ名設定ツールはプリンタ3にフォルダ名設定コマンドを送信する。このコマンドには引数としてS704で入力されたフォルダ名が設定される。S709はフォルダ名送信処理の一例である。
プリンタ3は、PC2からフォルダ名設定コマンドを受信すると、引数として設定されているフォルダ名を記憶部26に記憶する。
S710では、フォルダ名設定ツールはS701で指定されたプリンタ3からUSBを介してシリアル番号を取得する。ただし、プリンタ3を他のプリンタ3と識別できる情報であればシリアル番号でなくてもよい。シリアル番号は画像処理装置を特定するための識別情報の一例である。
S711では、フォルダ名設定ツールはS704で入力されたフォルダ名とS710で取得したシリアル番号とを対応付けて記憶部26に記憶させる。S711は記憶処理の一例である。
S712では、フォルダ名設定ツールは設定画面60の画面データを取得するためのURLであって、S704で入力されたフォルダ名が設定されているURLを生成する。具体的には例えば以下のURLを生成する。
http://localhost/入力されたフォルダ名/main.html
S713では、フォルダ名設定ツールはS712で生成したURLがWebブラウザ42に「お気に入り」として登録されているか否かを判断し、登録されていない場合はS714に進み、登録されている場合は本処理を終了する。
S714では、フォルダ名設定ツールはS712で生成したURLをWebブラウザ42に「お気に入り」として登録する。
URLをWebブラウザ42に「お気に入り」として登録すると、ユーザはそのURLを選択することにより、フォルダ名が設定されている処理要求をIPP/USB変換プログラム43に送信することができる。従って、この場合は、IPP/USB変換プログラム43はプリンタ選択画面65を生成してWebブラウザ42に送信する処理が不要となる。
プリンタ3はこのフォルダ名設定コマンドを受信すると、そのコマンドによって指定されたフォルダ名を内部フォルダ名として設定する。このフォルダ名は不揮発性メモリに記憶され、電源を切られても消去されることはない。
このフォルダ名設定コマンドによって設定された内部フォルダ名は、実施形態1におけるフォルダ名「モデル名_ベンダーID_製品ID_シリアル番号」の代わりとなる。すなわち、図13におけるS501において生成されたフォルダ名の代わりに、フォルダ名設定コマンドによって指定されたフォルダ名が使用される。このためWebサーバ機能51は、GETコマンド、PUTコマンド、POSTコマンドの処理対象として指定されるパスにこのフォルダ名がある場合は、そのコマンドに応答する。
またIPP/USB変換プログラム43は、図11におけるS301乃至S304で使用されるモデル名、ベンダーID、製造ID、シリアル番号の代わりにS711によって記憶されたフォルダ名を使用してプリンタの特定をする。すなわちWebブラウザ42から指定されたフォルダ名をもとにS711によって記憶された情報を検索し、対応するプリンタを特定する。
(2)実施形態の効果
以上説明した実施形態2に係るIPP/USB変換プログラム43によると、Webブラウザ42のユーザはS714で登録されたURLを選択することにより、処理要求の送信先となるプリンタ3を特定可能なフォルダ名が設定されている処理要求を通信中継プログラムに送信することができる。
また、IPP/USB変換プログラム43は処理要求から抽出したフォルダ名に対応付けられているシリアル番号(S711で記憶されたシリアル番号)を記憶部26から読み出すことにより、処理要求の送信先のプリンタ3を特定することができる。
更に、実施形態2に係るIPP/USB変換プログラム43によると、ユーザによって入力されたフォルダ名をプリンタ3に送信するので、プリンタ3側でフォルダ名を用いた処理を実行する場合(例えば設定画面60の画面データを生成する場合)に、PC2から受信したフォルダ名を用いることができる。
更に、実施形態2に係るIPP/USB変換プログラム43によると、フォルダ名をユーザ(例えば管理者)が自由に設定できるので、ユーザにとって意味のある語句、換言すればユーザにとって容易にプリンタの位置などを類推する名前(たとえば「TANAKA−PRN」など)を使用することができる。
<実施形態3>
次に、実施形態3を図18ないし図19によって説明する。
実施形態3は実施形態1の変形例である。実施形態1ではIPP/USB変換プログラム43とプリンタ3とがそれぞれフォルダ名を生成している場合を例に説明した。これに対し、実施形態3ではプリンタ3がフォルダ名を生成し、IPP/USB変換プログラム43はプリンタ3からフォルダ名を取得する。そして、IPP/USB変換プログラム43はプリンタ3から取得したフォルダ名を用いて処理要求の送信先のプリンタ3を特定する処理や設定画面60の画面データを生成する処理などを行う。
(1)プリンタ選択画面生成処理
先ず、図18を参照して、実施形態3に係るプリンタ選択画面生成処理について説明する。ここでは図12に示す処理と実質的に同一の処理に同一の符号を付して説明を省略する。
S401〜S403は図12に示す処理と同じであるので説明を省略する。
本実施形態では図12における404乃至406のフォルダ名生成、リンクの作成の処理の代わりにS801、S802が行われる。
S801では、IPP/USB変換プログラム43はプリンタ3にフォルダ名の送信を要求する。この要求はUSBのコントロール転送によってIPP機能51に送信される。S801は要求処理の一例である。
IPP機能51はフォルダ名の送信を要求されると後述するフォルダ名送信処理を実行することにより、IPP/USB変換プログラム43にフォルダ名を送信する。
S802では、IPP/USB変換プログラム43はS801でプリンタ3から受信したフォルダ名からS403で選択したプリンタ3へのリンクを生成する。
S407及びS408は図12に示す処理と同じであるので説明を省略する。
(2)フォルダ名送信処理
次に、図19を参照して、IPP機能51によって実行されるフォルダ名送信処理について説明する。本処理はS801でIPP/USB変換プログラム43からフォルダ名の送信が要求されると開始される。IPP機能51がIPP/USB変換プログラム43から当該要求を受信する処理はフォルダ名要求受信処理の一例である。
具体的には、IPP/USB変換プログラム43は前述したS801において内部フォルダ名を取得するためのインデックスを指定してプリンタ3にストリングディスクリプタの送信を要求する。この要求はUSBのコントロール転送によって行われる。プリンタ3はこの要求を受信するとフォルダ名送信処理を実行する。
S901では、プリンタ3はIPP/USB変換プログラム43から受信したインデックスがフォルダ名を要求するものであるか否かを判断し、フォルダ名を要求するインデックスである場合はS902に進み、それ以外である場合(たとえば前述したシリアル番号の要求)はS903に進む。
S902では、プリンタ3はIPP/USB変換プログラム43にフォルダ名を送信する。このフォルダ名は、実施形態1で示されるモデル名、ベンダーID、製品ID、及びシリアル番号から生成されるものであってもよいし、実施形態2に示されるフォルダ名設定ツールで設定されたものであってもよい。
S903では、プリンタ3はIPP/USB変換プログラム43に対応するストリングのディスクリプタを送信する。
(3)実施形態の効果
以上説明した実施形態3に係るIPP/USB変換プログラム43によると、プリンタ3にフォルダ名を要求するので、IPP/USB変換プログラム43の処理を簡素にすることができる。またフォルダ名の命名規則がプリンタ3のみに依存するので、命名規則を変更したプリンタ3を接続した際にIPP/USB変換プログラム43を変更する必要がない。
また、プリンタ3によると、PC2からフォルダ名の送信が要求されると、プリンタ3を特定可能なフォルダ名をPC2に送信するので、IPP/USB変換プログラム43はフォルダ名を生成しなくてよい。よってプリンタ3によると、IPP/USB変換プログラム43の処理を簡素にすることができる。
<他の実施形態>
上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も技術的範囲に含まれる。
(1)上記実施形態1ではフォルダ名にプリンタ3の固有情報としてモデル名、ベンダーID、製品ID、及び、シリアル番号が含まれている場合を例に説明した。しかしながら、プリンタ3を特定可能な情報であればこれらの情報以外の情報をフォルダ名に含めるようにしてもよい。例えばIPP/USB変換プログラム43はプリンタ3に任意の名称を付与し、ユーザはその名称をフォルダ名に含めるようにしてもよい。そして、IPP/USB変換プログラム43は当該名称と当該名称に対応するプリンタ3の固有情報とを対応付けて記憶部26に記憶しておき、処理要求から抽出したフォルダ名から取得された名称に対応する固有情報を記憶部26から読み出すことによって処理要求の送信先のプリンタ3を特定してもよい。
(2)上記実施形態ではIPP/USB変換プログラム43がプリンタ3から応答を受信し、受信した応答をWebブラウザ42に送信する場合を、図5を例に説明した。これに対し、Webブラウザ42からプリンタ3に一方的に処理要求を送信するだけの場合は、IPP/USB変換プログラム43はWebブラウザ42に応答を送信しないようにしてもよい。
(3)上記実施形態1ではS206においてPC2に接続されているプリンタ3が1台のみであると判断された場合はS207に進んだ。これに対し、PC2に接続されているプリンタ3が1台のみである場合もS212に進んでWebブラウザ42にプリンタ選択画面65を送信してもよい。
(4)上記実施形態ではプリンタ3がS508において設定画面60のテンプレート画面データの「%%%%%」という文字列をフォルダ名に書き換える場合を例に説明した。これに対し、プリンタ3はテンプレート画面データをそのままIPP/USB変換プログラム43に送信し、IPP/USB変換プログラム43がその書き換えを行ってもよい。
(5)上記実施形態ではIPP/USB変換プログラム43がS213にてプリンタ選択画面65の画面データをWebブラウザ42に送信する場合を説明した。しかしながら、プリンタ3を特定可能なフォルダ名が設定されている処理要求をユーザがWebブラウザ42からIPP/USB変換プログラム43に送信できる構成であればよく、必ずしもプリンタ選択画面65の画面データを送信しなくてもよい。例えば、IPP/USB変換プログラム43はプリンタ3のフォルダ名を表示部24に表示させてもよい。そして、ユーザはWebブラウザ42にURLを入力するとき、IPP/USB変換プログラム43によって表示されたフォルダ名をURLに設定するようにしてもよい。
(6)上記実施形態では通信回線としてUSBを例に説明した。しかしながら、通信回線はUSBに限られない。例えばPC2とプリンタ3とはプリンタの通信規格であるIEEE1284によって通信するものであってもよい。
(7)上記実施形態では画像処理装置としてプリンタ3を例に説明した。これに対し、画像処理装置は、印刷機能、スキャナ機能、コピー機能、ファクシミリ機能などを備える所謂複合機であってもよい。また、画像処理装置は単機能のイメージスキャナやファクシミリ装置であってもよい。
(8)上記実施形態では制御部31が一つのCPUを備える場合を例に説明した。これに対し、制御部31は1以上のCPUによって構成されてもよいし、ASICによって構成されてもよいし、1以上のCPUとASICとの組み合わせによって構成されてもよい。
(9)上記実施形態では、プリンタはKeepAlive仕様により単一セッションにて複数の要求データを要求しないものとして構成されている。しかし応答送信終了後もソケットを破棄せずに使用することによりKeepAlive仕様に対応することもできる。
(10)上記実施形態ではIPP/USB変換プログラム43はWebブラウザ42から受信した処理要求をそのままプリンタ3に送信する場合を例に説明した。これに対し、Webブラウザ42から受信した処理要求からフォルダ名を除去した処理要求をプリンタ3に送信してもよい。例えば、IPP/USB変換プログラム43は、Webブラウザ42から前述した処理要求Bを受信した場合は、処理要求Bに替えて処理要求Aをプリンタ3に送信してもよい。これは、処理要求にフォルダ名を含める主な理由はIPP/USB変換プログラム43がその処理要求の送信先のプリンタ3を特定するためであり、プリンタ3を特定できた後は、フォルダ名は必ずしも必要ではないからである。
(11)上記実施例では、「localhost/モデル名_ベンダーID_製品ID_シリアル番号」のように、ルート部分に機種特定のための情報を有するディレクトリを置いている。しかし、IPP over USB規格のドラフト(2012年11月19日時点においてVersion 1.0 Draft 20)にあっては、ルートディレクトリに下記のように機能ごとのディレクトリを置くように規定されている。
ipp://localhost/ipp/print
ipp://localhost/ipp/scan
http://localhost/http/admin
従って、上記規格に準拠してたとえば
http://localhost/http/admin/モデル名_ベンダーID_製品ID_シリアル番号
のように機能ディレクトリの下におくことも可能である。
(12)フォルダ名の命名ルールは、上記実施例に限定されるものではなく、他のルールにて命名することもできる。たとえば実施形態3において、プリンタ3の操作部34にてユーザにユニークな名前を入力させることでフォルダ名を決定してもよい。その場合ユーザはPC2に接続されているプリンタ3a〜3cそれぞれにユニークなフォルダ名を操作部34から設定する。そのフォルダ名は実施形態3に示された技術によりIPP/USB変換プログラムに読み取られる。
1・・・画像処理システム、2・・・PC、3・・・プリンタ、4・・・USBケーブル、21・・・CPU、26・・・記憶部、27・・・USBホストインタフェース部、31a・・・CPU、32・・・USBクライアントインタフェース部、35・・・記憶部、42・・・Webブラウザ、43・・・IPP/USB変換プログラム、44・・・スプーラ、51・・・IPP機能、52・・・Webサーバ機能、60・・・設定画面、65・・・プリンタ選択画面

Claims (10)

  1. 画像処理装置と通信回線を介して通信可能に接続されている情報処理装置で実行される通信中継プログラムであって、
    クライアントアプリケーションから処理要求を受信する要求受信処理と、
    前記要求受信処理によって受信された前記処理要求からフォルダ名を抽出する抽出処理と、
    前記抽出処理によって抽出された前記フォルダ名から前記処理要求の送信先となる前記画像処理装置を特定する特定処理と、
    前記特定処理によって特定された前記画像処理装置に前記処理要求を送信する要求送信処理と、
    前記特定処理によって前記画像処理装置を特定できたか否かを判断する特定判断処理と、
    前記特定判断処理によって否定判断された場合に、前記情報処理装置に接続されている前記画像処理装置が1台であるか複数であるかを判断する台数判断処理と、を前記情報処理装置に実行させ、
    前記台数判断処理によって1台であると判断された場合は、前記要求送信処理において前記画像処理装置に前記処理要求を送信する、通信中継プログラム。
  2. 請求項1に記載の通信中継プログラムであって、
    前記画像処理装置から当該画像処理装置の固有情報を取得する第1の取得処理を前記情報処理装置に実行させ、
    前記特定処理において、前記第1の取得処理によって取得された前記固有情報が前記抽出処理によって抽出された前記フォルダ名に含まれる固有情報と一致する前記画像処理装置を前記処理要求の送信先として特定する、通信中継プログラム。
  3. 請求項1又は請求項2に記載の通信中継プログラムであって、
    前記特定処理によって特定された前記画像処理装置から前記処理要求に対する応答を受信する応答受信処理と、
    前記応答受信処理によって受信された前記応答を前記クライアントアプリケーションに送信する応答送信処理と、
    を前記情報処理装置に実行させる、通信中継プログラム。
  4. 請求項に記載の通信中継プログラムであって、
    前記台数判断処理によって複数であると判断された場合に、前記情報処理装置に接続されている前記画像処理装置の識別情報の選択を受け付ける画面が表示される画面データであって、当該画面で前記識別情報を選択すると当該選択した識別情報によって識別される前記画像処理装置を特定可能な前記フォルダ名が設定されている前記処理要求が前記情報処理装置に送信されるように設定されている画面データを生成する画面データ生成処理と、
    前記画面データ生成処理によって生成された画面データを前記クライアントアプリケーションに送信する画面データ送信処理と、
    を前記情報処理装置に実行させる、通信中継プログラム。
  5. 請求項に記載の通信中継プログラムであって、
    前記画像処理装置から当該画像処理装置の固有情報を取得する第2の取得処理と、
    前記第2の取得処理によって取得された前記固有情報を用いて前記フォルダ名を生成する生成処理と、
    を前記情報処理装置に実行させ、
    前記画面データ生成処理において、前記生成処理によって生成された前記フォルダ名を用いて前記画面データを生成する、通信中継プログラム。
  6. 請求項に記載の通信中継プログラムであって、
    前記画像処理装置に前記フォルダ名の送信を要求する要求処理を前記情報処理装置に実行させ、
    前記画面データ生成処理において、前記画像処理装置から受信したフォルダ名を用いて前記画面データを生成する、通信中継プログラム。
  7. 請求項1に記載の通信中継プログラムであって、
    前記画像処理装置の指定を受け付ける指定受付処理と、
    前記指定受付処理によって受け付けられた前記画像処理装置に対するフォルダ名の入力を受け付ける入力受付処理と、
    前記指定受付処理によって受け付けられた前記画像処理装置を特定するための識別情報と前記入力受付処理によって受け付けられた前記フォルダ名とを対応付けて記憶装置に記憶させる記憶処理と、
    を前記情報処理装置に実行させる、通信中継プログラム。
  8. 請求項に記載の通信中継プログラムであって、
    前記入力受付処理によって受け付けられたフォルダ名を前記画像処理装置に送信するフォルダ名送信処理を実行する、通信中継プログラム。
  9. 画像処理装置と通信回線を介して通信可能に接続されている情報処理装置で実行される通信中継装置であって、
    前記画像処理装置と前記通信回線を介して通信する第1の通信部と、
    第1の処理部と、
    を備え、
    前記第1の処理部は、
    クライアントアプリケーションから処理要求を受信する要求受信処理と、
    前記要求受信処理によって受信された前記処理要求からフォルダ名を抽出する抽出処理と、
    前記抽出処理によって抽出された前記フォルダ名から前記処理要求の送信先となる前記画像処理装置を特定する特定処理と、
    前記特定処理によって特定された前記画像処理装置に前記処理要求を送信する要求送信処理と、
    前記特定処理によって前記画像処理装置を特定できたか否かを判断する特定判断処理と、
    前記特定判断処理によって否定判断された場合に、前記情報処理装置に接続されている前記画像処理装置が1台であるか複数であるかを判断する台数判断処理と、を前記情報処理装置に実行させ、
    前記台数判断処理によって1台であると判断された場合は、前記要求送信処理において前記画像処理装置に前記処理要求を送信する、通信中継装置。
  10. Webサーバ機能を有する画像処理装置とIPP over USB規格を使ってユニバーサルシリアルバス(USB)回線を介して通信可能に接続されている情報処理装置で実行される通信中継プログラムであって、
    Webブラウザから処理要求を受信する要求受信処理と、
    前記要求受信処理によって受信された前記処理要求からフォルダ名を抽出する抽出処理と、
    前記抽出処理によって抽出された前記フォルダ名から前記処理要求の送信先となる前記画像処理装置を特定する特定処理と、
    前記特定処理によって特定された前記画像処理装置に前記処理要求を送信する要求送信処理と、
    を前記情報処理装置に実行させる、通信中継プログラム。
JP2012253271A 2012-11-19 2012-11-19 通信中継プログラム、通信中継装置、及び、画像処理装置 Active JP6142511B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012253271A JP6142511B2 (ja) 2012-11-19 2012-11-19 通信中継プログラム、通信中継装置、及び、画像処理装置
US14/083,478 US9164716B2 (en) 2012-11-19 2013-11-19 Communication relaying technology and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012253271A JP6142511B2 (ja) 2012-11-19 2012-11-19 通信中継プログラム、通信中継装置、及び、画像処理装置

Publications (2)

Publication Number Publication Date
JP2014102621A JP2014102621A (ja) 2014-06-05
JP6142511B2 true JP6142511B2 (ja) 2017-06-07

Family

ID=50727673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012253271A Active JP6142511B2 (ja) 2012-11-19 2012-11-19 通信中継プログラム、通信中継装置、及び、画像処理装置

Country Status (2)

Country Link
US (1) US9164716B2 (ja)
JP (1) JP6142511B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6361268B2 (ja) * 2014-04-30 2018-07-25 株式会社リコー 通信管理システム、通信管理方法、及びプログラム
JP6881153B2 (ja) * 2017-08-22 2021-06-02 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7119370B2 (ja) * 2017-12-26 2022-08-17 ブラザー工業株式会社 制御プログラム、および端末装置
JP7127434B2 (ja) * 2018-08-30 2022-08-30 セイコーエプソン株式会社 情報処理装置および情報処理装置の制御方法
JP2020095382A (ja) * 2018-12-11 2020-06-18 シチズン時計株式会社 プリンターシステム、プリンター設定方法、プリンター、プリンターの制御プログラム、プリンター設定装置およびプリンター設定装置の制御プログラム
US11327698B2 (en) * 2020-06-25 2022-05-10 Zebra Technologies Corporation Method, system and apparatus for cloud-based printing
JP2022029230A (ja) * 2020-08-04 2022-02-17 京セラドキュメントソリューションズ株式会社 印刷ジョブ送信装置および印刷ジョブ送信プログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290812A (ja) * 2000-04-05 2001-10-19 Gk Associates:Kk Webページの配信方法、Webサーバーシステム、並びに、記録媒体
JP2002182866A (ja) 2000-12-13 2002-06-28 Fujitsu Ltd ネットワーク環境における印刷制御方法、プリントサーバ、クライアント、および記録媒体
JP4224958B2 (ja) 2001-08-10 2009-02-18 富士ゼロックス株式会社 インターネット印刷方法、そのシステム、プロキシ装置及びプリントサーバ
JP2003316712A (ja) 2002-04-22 2003-11-07 Canon Inc 画像処理装置及び通信制御方法
US20030227641A1 (en) * 2002-06-07 2003-12-11 Xerox Corporation Mobile USB printer driver
JP3846384B2 (ja) * 2002-08-28 2006-11-15 ブラザー工業株式会社 端末装置、接続制御方法、接続制御用プログラム及び記録媒体
US20040190042A1 (en) 2003-03-27 2004-09-30 Ferlitsch Andrew Rodney Providing enhanced utilization of printing devices in a cluster printing environment
US20040252333A1 (en) 2003-06-16 2004-12-16 Blume Leo Robert Mobile communication device printing
JP3793197B2 (ja) 2003-12-03 2006-07-05 キヤノン株式会社 情報処理装置、情報処理方法、情報処理プログラム並びに記憶媒体
JP2005346584A (ja) * 2004-06-04 2005-12-15 Canon Inc 文書管理方法及び装置、並びにプログラム及び記憶媒体
US20070268838A1 (en) 2006-05-16 2007-11-22 Cisco Technology, Inc. System and Method For Facilitating An Internet Protocol Based Personal Area Network
JP4386051B2 (ja) * 2006-05-25 2009-12-16 コニカミノルタビジネステクノロジーズ株式会社 ソフトウエアインストール方法、プログラム及び記憶媒体
US7886000B1 (en) * 2006-06-27 2011-02-08 Confluence Commons, Inc. Aggregation system for social network sites
JP4877013B2 (ja) * 2007-03-30 2012-02-15 ブラザー工業株式会社 スキャナ
JP4966097B2 (ja) * 2007-05-30 2012-07-04 キヤノン株式会社 情報処理装置および情報処理方法
JP5054047B2 (ja) 2009-01-30 2012-10-24 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成プログラム
JP2011028390A (ja) * 2009-07-22 2011-02-10 Brother Industries Ltd サーバ、プリンタ及びコンピュータプログラム
JP5761923B2 (ja) * 2010-04-28 2015-08-12 キヤノン株式会社 印刷システム、情報処理装置及びその方法
JP5370265B2 (ja) 2010-05-26 2013-12-18 ブラザー工業株式会社 共通プリンタドライバ、及び印刷ポートの管理方法
JP5539043B2 (ja) 2010-06-08 2014-07-02 キヤノン株式会社 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
JP5321929B2 (ja) 2010-11-26 2013-10-23 ブラザー工業株式会社 ユニバーサルデバイスドライバ、デバイス制御プログラム、情報処理装置、サーバ装置、及び、方法
JP5752464B2 (ja) * 2011-04-04 2015-07-22 富士通コンポーネント株式会社 インターフェース装置
US20130201519A1 (en) 2012-02-03 2013-08-08 Apple Inc. Bridging Non-Network Interfaces and Network Interfaces
JP6011266B2 (ja) * 2012-11-19 2016-10-19 ブラザー工業株式会社 通信中継プログラム、通信中継方法、情報処理装置及び画像処理装置

Also Published As

Publication number Publication date
JP2014102621A (ja) 2014-06-05
US9164716B2 (en) 2015-10-20
US20140139876A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
JP6155607B2 (ja) 通信中継プログラム、及び、通信中継装置
JP6142511B2 (ja) 通信中継プログラム、通信中継装置、及び、画像処理装置
US9565053B2 (en) Non-transitory computer-readable medium, communication relay apparatus, and image processing apparatus
US9069504B2 (en) Printing apparatus and method for increasing storage area
JP5007510B2 (ja) 文書処理装置および文書処理システム
US8619292B2 (en) Terminal device for printing data from the internet
JP2005332403A (ja) 複数の装置による画像仕上げ機能の選択を単一の位置において組み合わせるシステムおよび方法
JP2017173892A (ja) 情報処理装置、プログラム及び印刷システム
JP2014021948A (ja) デバイス制御装置、デバイス装置、制御方法および制御プログラム
JP2005148953A (ja) 情報処理装置、周辺装置制御システム及び情報処理装置に適用される周辺装置制御方法並びにそのプログラム
JP6115299B2 (ja) 中継装置、画像処理装置、通信システム、および中継装置のプログラム
JP2000118085A (ja) 画像形成装置及び画像形成方法、記録媒体
EP3846038A1 (en) Application program and data transfer system
JP5810637B2 (ja) 印刷システム、印刷物生産方法、印刷プログラム
JP7396126B2 (ja) 情報処理装置、情報処理システム、変換方法およびプログラム
JP2015082159A (ja) 印刷装置、印刷システム及びプログラム
JP6197572B2 (ja) サーバ装置の制御プログラム、通信装置の制御プログラム、サーバ装置および通信装置
JP6828424B2 (ja) プリントサーバ
JP2013196259A (ja) データ処理装置、データ処理システムおよびプログラム
JP2016071690A (ja) 端末装置、サーバ、及びプリンタ
JP4973821B1 (ja) 印刷制御装置およびプログラム
JP6841031B2 (ja) プリントサーバ
JP2009276919A (ja) 画像情報処理装置、画像形成処理装置、及びプログラム
JP2021068012A (ja) インストールプログラム、情報処理装置、および通信システム
JP6197912B2 (ja) 制御装置

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20140409

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161209

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: 20170411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170424

R150 Certificate of patent or registration of utility model

Ref document number: 6142511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150