JP2018106362A - プリントサーバ - Google Patents

プリントサーバ Download PDF

Info

Publication number
JP2018106362A
JP2018106362A JP2016250970A JP2016250970A JP2018106362A JP 2018106362 A JP2018106362 A JP 2018106362A JP 2016250970 A JP2016250970 A JP 2016250970A JP 2016250970 A JP2016250970 A JP 2016250970A JP 2018106362 A JP2018106362 A JP 2018106362A
Authority
JP
Japan
Prior art keywords
printer
print
file
status
print server
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.)
Granted
Application number
JP2016250970A
Other languages
English (en)
Other versions
JP6828424B2 (ja
Inventor
門田 政敏
Masatoshi Kadota
政敏 門田
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 JP2016250970A priority Critical patent/JP6828424B2/ja
Publication of JP2018106362A publication Critical patent/JP2018106362A/ja
Application granted granted Critical
Publication of JP6828424B2 publication Critical patent/JP6828424B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】プリンタドライバがインストールされていない外部装置からの指示に従って、プリンタにプリント動作を実行させることが可能なプリントサーバを提供する。【解決手段】プリントサーバは、ファイル共有プロトコルによって、メモリの記憶領域の一部である共有領域を、通信インタフェースを通じてプリントサーバに接続された外部装置がアクセス可能に公開する公開処理と、外部装置が通信インタフェースを通じて共有領域に書き込んだファイルを取得する第1取得処理(S41:Yes&S42:共有フォルダ)と、第1取得処理で取得したファイルで示される画像をシートに記録するプリント動作を、通信インタフェースを通じて接続されたプリンタに実行させるプリント指示処理(S49)とを実行する。【選択図】図5

Description

本発明は、外部装置からの指示に従って、プリンタにプリント動作を実行させるプリントサーバに関する。
例えば特許文献1には、プリンタドライバ及びステータスモニタがインストールされたクライアントPCと、プリントサーバと、画像形成装置とを備える画像形成システムが開示されている。プリンタドライバは、文書データを印刷ジョブデータに変換し、変換した印刷ジョブデータをプリントサーバを介して画像形成装置に送信する。ステータスモニタは、画像形成装置の状態を示す情報をプリントサーバを介して受信し、受信した画像形成装置の状態をモニタに表示させる。
特開2014−010583号公報
特許文献1のように、画像形成装置に印刷を実行させるためには、画像形成装置が認識可能なプロトコルに従って文書データを変換するプリンタドライバを、クライアントPCに予めインストールしておくのが一般的である。しかしながら、例えば、外出先の画像形成装置を一時的に利用する場合に、当該画像形成装置に対応するプリンタドライバをインストールしなければならないとすると、ユーザの作業が繁雑になるという課題を生じる。
本発明は、上記の事情に鑑みてなされたものであり、その目的は、プリンタドライバがインストールされていない外部装置からの指示に従って、プリンタにプリント動作を実行させることが可能なプリントサーバを提供することにある。
本明細書では様々な開示を行う。開示例の1つであるプリントサーバは、メモリと、通信インタフェースと、コントローラとを備える。前記コントローラは、ファイル共有プロトコルによって、前記メモリの記憶領域の一部である共有領域を、前記通信インタフェースを通じて該プリントサーバに接続された外部装置がアクセス可能に公開する公開処理と、前記外部装置が前記通信インタフェースを通じて前記共有領域に書き込んだファイルを取得する第1取得処理と、前記第1取得処理で取得したファイルで示される画像をシートに記録するプリント動作を、前記通信インタフェースを通じて接続されたプリンタに実行させるプリント指示処理とを実行する。
上記構成によれば、外部装置は、プリントサーバが公開した共有領域に、ファイル共有プロトコルを用いて所望のファイルを書き込むだけで、当該ファイルを対象とするプリント動作をプリンタに実行させることができる。すなわち、ファイル共有プロトコルをサポートしている外部装置であれば、プリンタドライバがインストールされていなくてもプリンタを利用することができる。
図1は、実施形態に係るシステム100の概略図である。 図2(A)はプリントサーバ50のブロック図を、図2(B)はデバイスリストの例を示す。 図3は、デバイス管理処理のフローチャートである。 図4は、プリンタ接続処理のフローチャートである。 図5は、プリント処理のフローチャートである。 図6は、モニタ処理のフローチャートである。 図7は、ステータス通知処理のフローチャートである。 図8は、情報処理端末20のディスプレイの表示例であって、(A)は通信ネットワーク101に接続されたデバイスに対応するデバイスアイコン111〜113を含む一覧画面を、(B)はプリントサーバ50に接続されたプリンタ10A、10Bに対応するフォルダアイコン121、122を含む一覧画面を示す。 図9は、情報処理端末20のディスプレイに一覧画面130、140が同時に表示された状態を示す。 図10は、情報処理端末20のディスプレイの表示例であって、(A)は一覧ページを、(B)はステータスページを示す。
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
図1は、本実施形態に係るシステム100の概略図である。図1に示されるシステム100は、プリンタ10A、10B(以下、これらを総称して、「プリンタ10」と表記することがある。)と、情報処理端末20A、20B(以下、これらを総称して、「情報処理端末20」と表記することがある。)と、プリントサーバ50とで構成されている。
情報処理端末20及びプリントサーバ50は、通信ネットワーク101を通じて接続されている。通信ネットワーク101の具体例は特に限定されないが、例えば、有線LAN、無線LAN、或いはこれらの組み合わせであってもよい。一方、プリンタ10及びプリントサーバ50は、USBケーブル102によって接続されている。なお、プリンタ10及びプリントサーバ50の間には、USBハブ等が介在してもよい。また、プリンタ10及びプリントサーバ50は、USBケーブル102に代えて、通信ネットワーク101を通じて接続されてもよい。
プリンタ10は、画像データで示される画像をシートに記録するプリント動作を実行する。より詳細には、プリンタ10は、USBケーブル102を通じてプリントサーバ50から受信したファイル或いはプリントデータを対象とするプリント動作を実行する。プリンタ10の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。プリンタ10の構成は周知なので、詳細な説明は省略する。
プリンタ10は、1以上のプリンタ言語を解読することができる。より詳細には、プリンタ10は、プリンタ言語で記述されたプリントデータ(所謂、RAWデータ)に従って、プリント動作を実行することができる。プリンタ言語とは、プリンタに対して描画を指示するための言語であって、ページ記述言語等とも呼ばれる。プリンタ言語の具体例は特に限定されないが、例えば、PS(PostScriptの略、登録商標)、PCL(Printer control Languageの略、登録商標)等がある。本実施形態では、プリンタ10Aがプリンタ言語“PS”、“PCL”を両方を解読可能で、プリンタ10Bがプリンタ言語“PS”のみを解読可能とする。また、プリンタ10には、前述のページ記述言語で記述された印刷データによる印刷ジョブを管理するためのPJL(Priter Job Languageの略、登録商標)が実装されている。
また、プリンタ10Aは、JPEG形式のファイルを対象とするプリント動作を実行することができる。「ファイルを対象とするプリント動作」とは、例えば、プリントデータに変換されていないファイルで示される画像をシートに記録することを指す。一方、プリンタ10Bは、ファイルを対象とするプリント動作を実行することができない。ファイルの形式とは、ファイル名の末尾に付加された拡張子によって区別されるものであって、例えば、画像形式(例えば、“.JPG”、“.BMP”等)、テキスト形式(例えば、“.txt”、“.doc”等)、その他の任意の形式(例えば、“.PDF”、“.xls”等)がある。
なお、本明細書における「ファイル」とは、例えば、情報処理端末20にインストール可能なアプリケーションを用いて、当該ファイルで示される画像をユーザに視認させることを前提して生成されたデータを指す。換言すれば、「ファイル」とは、プリンタ言語でプリントデータに変換されていない汎用画像データを指す。一方、「プリントデータ」とは、プリンタ言語で変換されたファイルであって、中間ファイル等とも呼ばれる。すなわち、「プリントデータ」は、当該データで示される画像をディスプレイ上でユーザに視認させることを前提としていないデータを指す。
プリンタ10は、プリンタ情報をメモリに記憶している。プリンタ情報は、例えば、サポートするプリンタ言語と、プリント動作の対象となり得るファイル形式(以下、「プリンタ対応形式」と表記する。)とを示す。すなわち、プリンタ10Aのプリンタ情報Aは、プリンタ言語“PS”、“PCL”と、プリンタ対応形式“JPEG”とを示す。一方、プリンタ10Bのプリンタ情報Bは、プリンタ言語“PS”と、プリンタ対応形式“なし”とを示す。プリンタ情報は、IEEE1284IDに含まれている。
情報処理端末20は、外部装置の一例であって、例えば、携帯電話、スマートフォン、タブレット端末、PC等である。情報処理端末20は、ディスプレイと、メモリと、入力I/F(例えば、キーボード、タッチパネル、マウス)と、通信I/Fとを備える。情報処理端末20のOSは、例えば図9に示されるように、ポインタ画像(例えば、矢印を表す画像)110をディスプレイに表示させ、マウスの移動に追従してディスプレイ上におけるポインタ画像110の位置を移動させる。
以下、ディスプレイに表示されたアイコンの位置にポインタ画像110を重ねた状態で、マウスの左ボタンを押下する操作を「アイコンに対する左クリック操作」と表記する。また、ディスプレイに表示されたアイコンの位置にポインタ画像110を重ねた状態で左ボタンを押下し、左ボタンを押下したままポインタ画像110を移動させ、移動開始位置と異なる移動終了位置で左ボタンの押下を解除する操作を「アイコンを移動終了位置に移動させるドラッグ操作」と表記する。
また、情報処理端末のOSは、例えば図9に示されるように、複数の画面(すなわち、ウィンドウ)を、ディスプレイに同時に表示させることが可能である。すなわち、OSは、所謂マルチウィンドウ機能を有する。なお、ディスプレイに表示される画面は、OS自身が表示させるもの(例えば、デスクトップ画面)であってもよい。
また、情報処理端末20には、例えば、「Explorer」、「Finder」等と呼ばれる所謂ファイル管理プログラムがインストールされている。ファイル管理プログラムは、例えば図9の一覧画面140のように、情報処理端末20のメモリに記憶されているファイルに対応するファイルアイコン141、142、143を一覧表示させることができる。
また、ファイル管理プログラムは、例えば図8(A)に示されるように、通信ネットワーク101に接続されたデバイス(例えば、プリントサーバ50、情報処理端末20A、20B)に対応するデバイスアイコン111、112、113を一覧表示させることができる。通信ネットワーク101に接続されたデバイスの検出は、例えば、DNS、mDNS、NetBIOS等の周知のプロトコルによって実現される。
さらに、ファイル管理プログラムは、例えば図9の一覧画面130のように、外部装置(例えば、プリントサーバ50)が通信ネットワーク101上に公開した共有フォルダに対応するフォルダアイコン132、133を一覧表示させることができる。共有フォルダへのアクセスは、例えば、SMB、CIFS等の周知のファイル共有プロトコルによって実現される。
また、情報処理端末20には、HTML等で記述されたページをディスプレイに表示させるブラウザプログラム等がインストールされている。ブラウザプログラムは、通信ネットワーク101に接続されたWEBサーバにHTMLデータの送信を要求し、要求したHTMLデータをWEBサーバから受信し、受信したHTMLデータで示されるページをディスプレイに表示させる。HTMLデータの送受信は、例えば、HTTP等の周知のプロトコルによって実現される。
図1に示されるように、プリントサーバ50上では、SMBサーバ41、WEBサーバ42、及びCUPSサーバ43が稼働している。また、プリントサーバ50は、図2(A)に示されるように、LAN−I/F55と、USB−I/F56と、スピーカ57と、CPU61と、メモリ62と、通信バス63とを主に備える。プリントサーバ50を構成する各構成要素は、通信バス63を通じて相互に接続されている。プリントサーバ50は、例えば、シングルボードコンピュータによって実現することができる。
SMBサーバ41は、ファイル共有プロトコルを用いてメモリ62の記憶領域の一部を、通信ネットワーク101を通じて接続された情報処理端末20がアクセス可能な共有フォルダとして公開する。共有フォルダは、共有領域及び退避領域の一例である。WEBサーバ42は、LAN−I/F55を通じて外部装置からHTTPリクエストを受信し、当該HTTPリクエストで示されるHTMLデータをLAN−I/F55を通じて外部装置に送信する。
CUPSサーバ43は、USB−I/F56を通じて接続されたプリンタ10にプリント動作を指示し、プリンタ10の状態を示すプリンタステータスを取得する。また、CUPSサーバ43は、USB−I/F56を通じて接続されたプリンタ10A、10B毎にRAWポートキューを管理している。すなわち、CUPSサーバ43は、RAWポートキューに登録されたファイル或いはプリントデータを対象とするプリント動作を、対応するプリンタ10に対して登録された順に指示する。
また、CUPSサーバ43は、通信ネットワーク101上のデバイス(例えば、情報処理端末20等)に対して、下記(1)、(2)の2種類の印刷キューを公開する機能を有する。これらの機能は、IPPプロトコル等により実現されている。
(1) TCPプロトコルのポート番号9100によるRAWデータの印刷キュー
(2) ネットワーク共有プリンタの印刷キュー(後述のSMBサーバと協働)
SMBサーバ41、WEBサーバ42、及びCUPSサーバ43は、プリントサーバ50の起動時に起動され、CPU61によって実行される。SMBサーバ41、WEBサーバ42、及びCUPSサーバ43は周知のサーバプログラムで実現できるので、詳細な説明は省略する。また、WEBサーバ42は、サーバプログラムに代えて、所謂EWS(Embedded Web Serverの略)で実現されてもよい。さらに、前述の共有フォルダは、SMBサーバ41により実現される。このSMBサーバ41には、SMB或いはCIFS等の周知のプロトコルが使用される。
PJLは、プリンタと通信するための第1プロトコルの一例である。但し、第1プロトコルの具体例はPJLに限定されず、例えばPSデータ、PCLデータを直に送るものであってもよいし、IPP over USBに準拠したものであってもよい。さらに本実施例では、第1プロトコルとしてUSBプリンタクラス仕様に規定されたプリンタステータスも使用する。また、HTTPは、第1プロトコルと異なる第2プロトコルの一例である。但し、第2プロトコルの具体例はHTTPに限定されず、SNMP、HTTPS等であってもよい。なお、第2プロトコルは、例えば、一般に普及している情報処理端末20に標準でインストールされている汎用ツール(例えば、ブラウザプログラム、MIBビューア)がサポートしているプロトコルを想定している。また、本明細書中の「プロトコル」とは、例えば、IPP/USB、HTTP、SNMP等のような通信プロトコルに限定されず、PS、PCL、或いはPJL等のような使用言語を指してもよい。
LAN−I/F55は、通信ネットワーク101を通じて外部装置と通信可能な第2インタフェースの一例である。すなわち、プリントサーバ50は、LAN−I/F55を通じて外部装置に各種情報を送信し、LAN−I/F55を通じて外部装置から各種情報を受信する。LAN−I/F55の具体的な通信手順は特に限定されないが、例えば、Ethernet(登録商標)或いはWi−Fi(登録商標)を採用することができる。
USB−I/F56は、USBケーブル102が接続される第1インタフェースの一例である。USB−I/F56の回路は、USBケーブルから入力された電気信号に応じた制御信号を後述する各種プログラムに出力し、各種プログラムから入力された制御信号に応じた電気信号をUSBケーブル102に出力する。
スピーカ57は、音声を出力する。なお、プリントサーバ50は、スピーカ57を接続可能な装着インタフェースのみを有しており、装着インタフェースに接続されたスピーカ57に音声を出力させてもよい。
CPU61は、プリントサーバ50の全体動作を制御するものである。CPU61は、LAN−I/F55及びUSB−I/F56を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ62から取得して実行する。CPU61及びメモリ62はコントローラの一例である。
メモリ62は、OS64と、プリントプログラム65と、モニタプログラム66とを記憶している。プリントプログラム65及びモニタプログラム66それぞれは、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ62は、プリントプログラム65及びモニタプログラム66の実行に必要なデータ或いは情報等を記憶する。メモリ62は、例えば、RAM、ROM、EEPROM、HDD、プリントサーバ50に着脱されるUSBメモリ等の可搬記憶媒体、CPU61が備えるバッファ等、或いはそれらの組み合わせによって構成される。
メモリ62は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
プリントプログラム65は、例えば、図3〜図5に示される処理を実行する。より詳細には、プリントプログラム65は、LAN−I/F55を通じて情報処理端末20からファイルを受信し、受信したファイルを対象とするプリント動作をUSB−I/F56を通じて接続されたプリンタ10に実行させる。プリントプログラム65は、例えば、SMBサーバ41及びCUPSサーバ43の機能を利用して実現される。
モニタプログラム66は、例えば、図6及び図7に示される処理を実行する。より詳細には、モニタプログラム66は、USB−I/F56を通じて接続されたプリンタ10のプリンタステータスを取得し、取得したプリンタステータス及びデータステータスを含むHTMLデータ(以下、「ステータスHTML」と表記する。)をLAN−I/F55を通じて情報処理端末20に送信する。モニタプログラム66は、例えば、WEBサーバ42の機能を利用して実現される。
また、メモリ62は、例えば図2(B)に示されるデバイスリストを記憶することができる。デバイスリストは、1以上のデバイスレコードを含む。デバイスレコードは、USB−I/F56を通じて接続可能なデバイス(以下、「USBデバイス」と表記する。)に対応する。デバイスレコードは、例えば、デバイスID、プリンタ情報、ステータス情報、URL、及び実行パラメータを含む。デバイスレコードは、例えば、後述するS15、S34でプリントプログラム65によって登録され、後述するS18でプリントプログラム65によって削除される。
デバイスIDは、USBデバイスを一意に識別するための情報である。デバイスIDの具体例は特に限定されないが、例えば、IEEE1284ID、或いはUSBベンダーID、プロダクトID,シリアル番号の組み合わせ等を用いることができる。本実施形態では簡易的に、プリンタ10AがデバイスID“プリンタA”で識別され、プリンタ10BがデバイスID“プリンタB”で識別されるものとする。
プリンタ情報、ステータス情報、URL、実行パラメータは、USBデバイスがプリンタクラスのデバイス(すなわち、プリンタ10)である場合に、デバイスレコードとして記憶される。プリンタ情報は、後述するS32で対応するプリンタ10から取得する情報である。URLは、対応するプリンタ10のステータス等を記載したHTMLデータの所在を示す。URLはアドレス情報の一例であり、URLで所在が示されるステータス等を記載したHTMLデータは画面情報の一例である。実行パラメータは、対応するプリンタ10に実行させるプリント動作の実行条件を示す。
ステータス情報は、対応するプリンタ10の状態を示すプリンタステータスと、プリント動作の対象となるデータの受け付け状況を示すデータステータスとを含む。プリンタステータスには、例えば、プリンタ10と接続されていることを示す“ONLINE”、プリンタ10がプリント動作を実行可能なことを示す“READY”、プリンタ10の内部にシートが詰まったことを示す“SHEET JAM”、或いはプリンタ10と接続されていないことを示す“OFFLINE”等が設定される。
データステータスには、例えば、共有フォルダに書き込まれたファイルを受け付けたことを示す“ACCEPT”、共有フォルダに書き込まれたファイルを受け付けなかったことを示す“REFUSE”、或いは共有フォルダを通じてファイルを受け付け可能なことを示す“IDLE”等が設定される。“ACCEPT”は第1値の一例であり、“IDLE”は第2値の一例である。
プリント動作の実行条件は、複数の項目(例えば、“サイズ”、“用紙種”、“色”)それぞれに対応する複数の実行パラメータの組み合わせによって特定される。項目“サイズ”の実行パラメータは、画像を記録するシートの大きさ(例えば、“A4”、“B5”、“ハガキ”)を示す。項目“用紙種”の実行パラメータは、画像を記録するシートの種類(例えば、“普通紙”、“光沢紙”)を示す。項目“色”の実行パラメータは、シートに画像を記録するのに用いる色(例えば、“カラー”、“モノクロ”)を示す。但し、プリント動作の実行条件は、前述の例に限定されない。
[システム100の動作]
図3〜図7を参照して、本実施形態に係るシステム100の動作を説明する。なお、本実施形態では、図3〜図5の処理がプリントプログラム65によって実行され、図6及び図7の処理がモニタプログラム66によって実行される例を説明する。しかしながら、プリントプログラム65及びモニタプログラム66の役割分担は前述の例に限定されず、図3〜図5の処理の一部がモニタプログラム66によって実行されてもよいし、図6及び図7の処理の一部がプリントプログラム65によって実行されてもよい。さらには、図3〜図7の処理が1つのプログラムによって実行されてもよい。
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU61の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、CPU61の処理を表している。CPU61による処理は、OS64を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
プリントプログラム65は、デバイス管理処理を実行する。デバイス管理処理は、図2(B)に示されるデバイスリストを用いて、USBデバイスを管理する処理である。図3を参照して、デバイス管理処理の詳細を説明する。
まず、プリントプログラム65は、USBデバイスの接続及び切断をUSB−I/F56を通じて監視する(S11、S12)。USBデバイスの接続とは、例えば、電源ONされたUSBデバイスから延びるUSBケーブル102がUSB−I/F56に接続されたこと、或いは既にUSBケーブル102で接続されたUSBデバイスが電源ONされたこと等を含む。また、USBデバイスの切断とは、USBケーブル102がUSB−I/F56から抜去されたこと、或いはUSBケーブル102で接続されたUSBデバイスが電源OFFされたこと等を含む。USBデバイスの接続及び切断は、周知の方法で検出することができる。
プリントプログラム65は、USB−I/F56を通じてUSBデバイスの接続を検出したことに応じて(S11:Yes)、プリンタクラスのUSBデバイスが接続されたか否かを判断する(S13)。USBデバイスのクラスは、例えば、当該USBデバイスのデバイスディスクリプタを取得することによって判断できる。そして、プリントプログラム65は、プリンタクラスのUSBデバイスが接続されたと判断したことに応じて(S13:Yes)、後述するプリンタ接続処理を実行する(S14)。一方、プリントプログラム65は、プリンタクラスでないUSBデバイスが接続されたと判断したことに応じて(S13:No)、当該USBデバイスのデバイスIDを含むデバイスレコードをデバイスリストに登録する(S15)。
また、プリントプログラム65は、USB−I/F56を通じてUSBデバイスの切断を検出したことに応じて(S12:Yes)、プリンタクラスのUSBデバイスが切断されたか否かを判断する(S16)。そして、プリントプログラム65は、プリンタクラスのUSBデバイスが切断されたと判断したことに応じて(S16:Yes)、後述するS37で当該USBデバイスに対応付けて公開した共有フォルダを、非公開にする(S17)。一方、プリントプログラム65は、プリンタクラスでないUSBデバイスが切断されたと判断したことに応じて(S16:No)、当該USBデバイスのデバイスIDを含むデバイスレコードを、デバイスリストから削除する(S18)。
次に図4を参照して、プリンタ10Aが接続された場合のプリンタ接続処理を説明する。まず、プリントプログラム65は、プリンタ10Aが初めて接続されたか否かを判断する(S31)。より詳細には、プリントプログラム65は、プリンタ10AのデバイスID“プリンタA”を含むデバイスレコードがデバイスリストに登録されているか否かを判断する。そして、プリントプログラム65は、デバイスID“プリンタA”を含むデバイスレコードがデバイスリストに登録されていると判断したことに応じて(S31:No)、S32〜S34の処理をスキップする。
一方、プリントプログラム65は、デバイスID“プリンタA”を含むデバイスレコードがデバイスリストに登録されていないと判断したことに応じて(S31:Yes)、USB−I/F56を通じてプリンタ10Aからプリンタ情報Aを受信する(S32)。S32の処理は、第2取得処理の一例である。
次に、プリントプログラム65は、デバイスリスト内でユニークなURLを生成する(S33)。一例として、URLは、“http://print-server/printer-a/status.html”、“http://print-server/printer-b/status.html”のように、異なるディレクトリ名によってユニークにされてもよい。他の例として、URLは、“http://print-server:50000/status.html”、“http://print-server:50001/status.html”のように、異なるポート番号によってユニークにされてもよい。
次に、プリントプログラム65は、プリンタ10AのデバイスID“プリンタA”と、S32で取得したプリンタ情報Aと、S33で生成したURL−Aとを含むデバイスレコードを、デバイスリストに登録する(S34)。なお、S34の時点において、ステータス情報には、プリンタステータス“ONLINE”、データステータス“IDLE”が設定される。また、実行パラメータには、予め定められたデフォルトの実行パラメータが設定される。このステップS31〜S34の処理により、同一のプリンタ10が接続された場合に、接続の順番や接続されたUSBソケットに拘わらず、必ず同一のURLが割り当てられる。
次に、プリントプログラム65は、モニタプログラム66の新規スレッドを、接続されたプリンタ10Aに対応付けて起動する(S35)。新たに起動されたモニタプログラム66のスレッドは、後述するモニタ処理を実行する。すなわち、モニタプログラム66のスレッド(以下、単に「モニタプログラム66」と表記することがある。)は、プリントサーバ50に接続されたプリンタ10の数だけ起動され、対応するプリンタ10に対するモニタ処理を独立して実行する。また、プリントプログラム65は、プリンタ10Aがプリンタ言語“PJL”を解読可能な場合において、起動したモニタプログラム66がS63の処理を実行するまで、S36以降の処理の実行を待機する。
次に、プリントプログラム65は、起動したモニタプログラム66がS63の処理を実行したことに応じて、プリンタが下記(A)又は(B)のデータを印刷可能か否かを判断する(S36)。S36の処理は、第1判断処理の一例である。そして、プリントプログラム65は、下記の(A)及び(B)のデータをプリンタ10が印刷可能でないと判断したことに応じて(S36:No)、S37の処理をスキップしてプリンタ接続処理を終了する。
(A)当該プリンタ10が直接印刷可能なデータ形式(IEEE1284ID内に対応言語として記載されるデータ形式)
(B)後述するS48において変換可能なデータ形式
一方、プリントプログラム65は、上記(A)、(B)の少なくとも1つをサポートしていると判断したことに応じて(S36:Yes)、プリンタ10Aに対応付けた共有フォルダを通信ネットワーク101に公開する(S37)。ここで公開される共有フォルダは、例えば、図8(B)に示される親フォルダと、親フォルダの下の階層の印刷データフォルダ及び退避フォルダとを含む。S37の処理は、公開処理の一例である。なお、このフォルダ名は、前述のURLとの関連がある名称とする。すなわちこのフォルダ名は、USBの接続順や接続されたソケットに依存せず、且つ同一のプリンタ10を接続した際には同一の名称で公開される。
これにより、フォルダ名と先のURLとの対応が容易に判断できる。この共有フォルダは、図9のフォルダアイコン132に付加された文字列“プリンタA印刷データフォルダ”、フォルダアイコン133に付加された文字列“プリンタA退避フォルダ”に対応する。次に、プリントプログラム65は、接続されたプリンタ10を、CUPSサーバ43及びSMBサーバ41の機能を使用して、共有プリンタに設定する。この共有プリンタは、図9のキューアイコン131に対応する。
次に図3に戻って、プリントプログラム65は、S14〜S18のいずれかを実行したことに応じて、USBデバイスの接続及び切断をUSB−I/F56を通じて再び監視する(S11、S12)。すなわち、プリントプログラム65は、USB−I/F56を通じてプリンタ10が接続される度に、当該プリンタ10に対応付けられた共有フォルダを通信ネットワーク101に公開する。
また、プリントプログラム65は、USB−I/F56を通じて接続されたプリンタ10を共有プリンタとして公開したことに応じて、プリント処理を実行する。プリント処理は、情報処理端末20からファイル或いはプリントデータを取得し、取得したファイル或いはプリントデータを対象とするプリント動作をプリンタ10に実行させる処理である。図5を参照して、プリント処理の詳細を説明する。
まず、プリントプログラム65は、LAN−I/F55を通じて情報処理端末20からファイル或いはプリントデータを受信するまで待機する(S41)。「ファイルを受信する」とは、S37で公開した印刷データフォルダに対して、情報処理端末20のファイル管理プログラム等を使用してファイルがコピーされたこと、或いはCUPSサーバ43により公開された共有プリンタキュー或いはTCPプロトコルのポート番号9100に対して、情報処理端末20からプリントデータが送信されること等を指す。なお、ポート番号9100に対するプリント動作の指示は、予め設定された特定の一種類のプリンタ10に対してのみ作用する。
次に図8及び図9を参照して、情報処理端末20がプリントサーバ50にファイル或いはプリントデータを送信する手順の一例を説明する。なお、プリントサーバ50には、プリンタ10A、10Bが接続されているものとする。
まず、情報処理端末20のファイル管理プログラムは、図8(A)に示されるように、通信ネットワーク101に接続されたデバイスに対応するデバイスアイコン111、112、113を含む一覧画面をディスプレイに表示させる。デバイスアイコン111はプリントサーバ50に対応し、デバイスアイコン112は情報処理端末20Aに対応し、デバイスアイコン113は情報処理端末20Bに対応する。デバイスアイコン111〜113には、例えば、対応するデバイスのデバイス名(例えば、NetBIOS名)を示す文字列が付加される。
次に、ファイル管理プログラムは、例えば、デバイスアイコン111に対する左クリック操作を受け付けたことに応じて、図8(B)に示されるように、プリントサーバ50が公開した親フォルダに対応するフォルダアイコン121、122を含む一覧画面をディスプレイに表示させる。フォルダアイコン121はプリンタ10Aの親フォルダに対応し、フォルダアイコン122はプリンタ10Bの親フォルダに対応する。フォルダアイコン121、122には、例えば、対応するプリンタ10A、10BのデバイスIDを示す文字列“プリンタA”、“プリンタB”が付加される。すなわち、図8(B)に示されるフォルダ名も、USBの接続順や接続されたソケットに依存せず、且つ同一のプリンタ10を接続した際には同一の名称で公開される。
次に、ファイル管理プログラムは、例えば、フォルダアイコン121に対する左クリック操作を受け付けたことに応じて、図9に示されるように、キューアイコン131と、フォルダアイコン132、133とを含む一覧画面130をディスプレイに表示させる。キューアイコン131は、共有プリンタとして公開されたプリンタ10Aに対応する。フォルダアイコン132はプリンタ10Aの印刷データフォルダに対応し、フォルダアイコン133はプリンタ10Aの退避フォルダに対応する。
また、ファイル管理プログラムは、図9に示されるように、ファイルアイコン141、142、143を含む一覧画面140を、ディスプレイ上の一覧画面130と別の領域に表示させることができる。ファイルアイコン141〜143は、情報処理端末20のメモリに記憶されているファイルに対応する。ファイルアイコン141〜143には、対応するファイルのファイル名を示す文字列が付加される。
図9の例において、ファイルアイコン141に対応するファイル“写真.JPG”は、プリンタ10により直接印刷不可で、且つS48で変換可能とする。また、ファイルアイコン142に対応するファイル“テキスト.PDF”は、プリンタ10により直接印刷可能とする。さらに、ファイルアイコン143に対応するファイル“報告書.DOC”は、プリンタ10により直接印刷不可で、且つS48で変換不可とする。
まず、ファイル“報告書.DOC”を印刷する場合について説明する。ユーザがファイルアイコン143をマウスにてダブルクリックすると、そのファイルに関連付けられたアプリケーションが起動され、ファイル“報告書.DOC”が読み込まれる。さらに、ユーザは、起動したアプリケーションを操作して印刷を指示すると、アプリケーションは当該プリンタ10に対応する不図示のプリンタドライバを呼び出して、対応するプリントデータを生成する。この作成されたプリントデータはポート番号9100或いは対応する共有プリンタキューに対して送信される。
一方、ファイル管理プログラムは、例えば、ファイルアイコン141をフォルダアイコン132の位置に移動させるドラッグ操作を受け付けたことに応じて、ファイルアイコン141に対応付けられたファイル“写真.JPG”を、プリントデータに変換せずに、通信ネットワーク101に公開されたプリンタ10Aの印刷データフォルダに書き込む。ファイルアイコン142、143をフォルダアイコン132の位置に移動させるドラッグ操作がなされた場合も、対応するファイルが印刷データフォルダに書き込まれる。
次に図5に戻って、プリントプログラム65は、LAN−I/F55を通じて情報処理端末20からプリントデータを受信したことに応じて(S41:Yes&S42:共有プリンタ)、後述する“USTATUS DEVICE”コマンドを打ち消すコマンドを、受信したプリントデータから削除する(S43)。なお、当該コマンドがプリンデータに含まれていない場合は、S43の処理はスキップされる。このS43の処理により、プリントデータ中にステータス情報の送信を停止する情報があったとしても、ステータスモニタの機能を継続できる。
そして、プリントプログラム65は、当該プリントデータをプリンタAに対応付けられたRAWポートキューに登録する(S44)。そして、CUPSサーバ43は、RAWポートキューに登録されたプリントデータを対象とするプリント動作を、プリンタ10Aに実行させる。S44の処理は、プリント指示処理の一例である。
一方、プリントプログラム65は、通信ネットワーク101に公開されたプリンタ10Aの印刷データフォルダにファイル“写真.JPG”が書き込まれたことに応じて(S41:Yes&S42:共有フォルダ)、当該ファイルをメモリ62(すなわち、プリンタ10Aの印刷データフォルダ)から読み出す。この処理は、第1取得処理の一例である。次に、プリントプログラム65は、取得したファイル“写真.JPG”が印刷可能形式か否かを判断する(S45)。印刷可能形式とは、例えば、プリントプログラム65がプリントデータに変換可能な予め定められたファイル形式を指す。S45の処理は、第3判断処理の一例である。
次に、プリントプログラム65は、取得したファイル“写真.JPG”が印刷可能形式だと判断したことに応じて(S45:Yes)、プリンタ10Aのデバイスレコードのデータステータスに“ACCEPT”を設定する(S46)。また、プリントプログラム65は、取得したファイル“写真.JPG”がプリンタ対応形式か否かを判断する(S47)。S47の処理は、第2判断処理の一例である。
次に、プリントプログラム65は、取得したファイル“写真.JPG”がプリンタ対応形式でないと判断したことに応じて(S47:No)、取得したファイル“写真.JPG”を、プリンタ情報で示されるプリンタ言語で記述されたプリントデータに変換する(S48)。ここで生成されるプリントデータは、ファイル“写真.JPG”を対象とするプリント動作を、プリンタ10Aのデバイスレコードに含まれる実行パラメータ“A4”、“普通紙”、“カラー”に従って実行させるためのデータである。S48の処理は、変換処理の一例である。
そして、プリントプログラム65は、S48で生成したプリントデータを、S42でファイルを取得した印刷データフォルダに対応するプリンタ10AのRAWポートキューに登録する(S49)。次に、プリントプログラム65は、印刷データフォルダに書き込まれたファイル“写真.JPG”を退避フォルダに移動させ(S50)、プリンタ10Aのデータステータスに“IDLE”を設定する(S51)。S49の処理はプリント指示処理の一例であり、S50の処理は退避処理の一例である。
他の例として、通信ネットワーク101に公開されたプリンタ10Aの印刷データフォルダにファイル“テキスト.PDF”が書きこまれた場合、プリントプログラム65は、取得したファイル“テキスト.PDF”が印刷可能形式で且つプリンタ対応形式だと判断して(S45:Yes&S47:Yes)、S48の処理をスキップして、取得したファイル及びプリンタ10Aの実行パラメータをプリンタ10AのRAWポートキューに登録する(S49)。
なお、PDF形式のファイルには、実行パラメータの一部(例えば、項目“サイズ”の実行パラメータ)が含まれている。そして、PDF形式のファイルに含まれる実行パラメータは、デバイスレコードに含まれる実行パラメータより優先して適用される。すなわち、プリントプログラム65は、プリンタ10Aのデバイスレコードに含まれる実行パラメータ“A4”、“普通紙”、“カラー”のうち、ファイル“テキスト.PDF”に含まれない項目(例えば、“用紙種”、“色”)の実行パラメータ“普通紙”、“カラー”をファイル“テキスト.PDF”に付加して、RAWポートキューに登録する。
さらに他の例として、ファイル “報告書.DOC”が通信ネットワーク101に公開されたプリンタ10Aの印刷データフォルダに書きこまれた場合、プリントプログラム65は、取得したファイル“報告書.DOC”が印刷可能形式でないと判断して(S45:No)、データステータスに“REFUSE”を設定して(S52)、S46〜S49の処理をスキップして、S50以降の処理を実行する。
次に図6を参照して、モニタ処理の詳細を説明する。まず、モニタプログラム66は、プリンタ10AのデバイスレコードからURLを読み出す。ここで読み出されるURLは、プリンタ10Aがプリントサーバ50に初めて接続された際に、S33で生成されたものである。すなわち、プリントサーバ50に対してプリンタ10Aが接続される度に、同一のURLが読み出される。
次に、モニタプログラム66は、プリンタ10Aのステータを記述したスHTMLデータを、読み出したURLで示されるメモリ領域に記憶させる(S61)。モニタプログラム66は、例えば、メモリ62に予め記憶されたテンプレートHTMLをURLで示されるメモリ領域にコピーし、コピーしたテンプレートHTMLにプリンタ10のステータス情報及び実行パラメータを設定する。また、モニタプログラム66は、プリンタ10Aが特定言語“PJL”を解読可能か否かを判断する(S62)。PJLを解読可能か否かは、USBプリンタクラス仕様に規定されたプリンタ10のIEEE1284IDを読み取ることにより判断できる。
例えば、プリンタ10Aに対応付けられたモニタプログラム66のスレッドは、プリンタ10Aがプリンタ言語“PJL”を解読可能だと判断したことに応じて(S62:Yes)、プリンタ言語“PJL”に規定された“INFO DEVICE”コマンドと、“USTATUS DEVICE”コマンドとを、USB−I/F56を通じてプリンタ10Aに送信する(S63)。“INFO DEVICE”コマンドは、現在のプリンタステータスの送信を指示する第1指示情報の一例である。“USTATUS DEVICE”コマンドは、プリンタステータスが変化したタイミングで当該プリンタステータスの送信を指示する第2指示情報の一例である。
次に、モニタプログラム66は、プリンタステータスを受信するか、プリンタ10Aの切断を検出するまで待機するまで(S65:No&S67:No)、プリンタステータスの送信をプリンタ10Aに所定の時間間隔で繰り返し要求する(S64)。そして、モニタプログラム66は、USB−I/F56を通じてプリンタ10Aからプリンタステータスを受信したことに応じて(S65:Yes)、受信したプリンタステータスでプリンタ10Aのデバイスレコードのステータス情報を更新する。
なお、プリンタ10Aから受信するプリンタステータスは、PJLの規約に準拠したフォーマットのテキストデータである。そこで、モニタプログラム66は、S65で受信したプリンタステータスを、当該プリンタステータスで示されるプリンタ10Aの状態を表す文字列に変換する。そして、モニタプログラム66は、プリンタ10AのステータスHTMLに変換した文字列を設定する(S68)。
次に、モニタプログラム66は、S65で受信したプリンタステータスが特定ステータスか否かを判断する(S69)。特定ステータスとは、例えば、ユーザが解消可能なステータス、解消しないとプリント動作を継続できないステータス等の予め定められたプリンタステータス(例えば、紙無し、紙詰まり、インク無し等)である。そして、モニタプログラム66は、特定ステータスだと判断したことに応じて(S69:Yes)、当該ステータスを示す音声をスピーカ57に出力させる(S70)。一方、モニタプログラム66は、特定ステータスでないと判断したことに応じて(S69:No)、S70の処理をスキップする。そして、モニタプログラム66は、S64以降の処理を再び実行する。
また、モニタプログラム66は、USB−I/F56を通じてプリンタ10Aの切断を検出したことに応じて(S67:Yes)、プリンタ10Aのデバイスレコードのプリンタステータス、及びHTMLデータに記述されたプリンタステータスを“OFFLINE”に変更する(S71)。そして、モニタプログラム66は、S71の処理を実行してから一定時間(例えば、30秒)が経過したことに応じて、プリンタ10AのステータスHTMLを、メモリ62から削除する(S72)。そして、プリンタ10Aに対応するモニタプログラム66のスレッドは、処理を終了する(S73)。
一方、プリンタ10Bに対応付けられたモニタプログラム66のスレッドは、プリンタ10Bがプリンタ言語“PJL”を解読不能だと判断したことに応じて(S62:No)、USBのプリンタクラスのプリンタステータスを、USB−I/F56を通じてプリンタ10Bから受信する(S74)。このUSBプリンタクラスのプリンタステータスは、エラーの有無、用紙エラーの有無のみを示すビット列である。モニタプログラム66は、S74で受信したビット列を解析して、ステータスを示す文字列を生成する(S75)。S76〜S77の処理は、前述のS69〜S70と同様である。そして、モニタプログラム66は、USB−I/F56を通じてプリンタ10Bの切断を検出するまで(S78:No)、S74〜77の処理を所定の時間間隔(例えば、1秒)で繰り返し実行する。さらに、モニタプログラム66は、USB−I/F56を通じてプリンタ10Bの切断を検出したことに応じて(S78:Yes)、前述したS71〜S73の処理を実行する。
また図示は省略するが、モニタプログラム66は、S46、S51、S52でデバイスレコードのデータステータスが変更される度に、変更後のデータステータスを示す文字列を対応するステータスHTMLに設定する。さらに図示は省略するが、モニタプログラム66は、後述するS88でデバイスレコードの実行パラメータが変更される度に、変更後の実行パラメータを示す文字列を対応するステータスHTMLに設定する。すなわち、情報処理端末20のブラウザプログラムにおいて、ステータスHTMLで示される画面を表示している場合、定常時はその時点のプリンタステータスが表示され、プリンタ10が電源OFFあるいはUSBケーブルが取り外された場合は、一定時間“OFFLINE”が表示された後にページが無くなる。
また、モニタプログラム66は、モニタ処理と並行してステータス通知処理を実行する。ステータス通知処理は、モニタ処理で更新したステータスHTMLを情報処理端末20に送信し、情報処理端末20から送信された実行パラメータを対応するデバイスレコードに登録する処理である。この処理は、HTMLデータ及び当該HTMLデータに埋め込まれたCGIプログラムに基づいてWEBサーバ42によって実行されるものであるが、ここでは機能説明のために本発明の機能を分離した形で模式的に図7を参照して、ステータス通知処理の詳細を説明する。
まず、モニタプログラム66は、一覧ページ要求情報、個別ステータス要求情報、或いは登録要求情報を、LAN−I/F55を通じて情報処理端末20から受信するまで待機する(S81、S82、S83)。一覧ページ要求情報は、図10(A)に示される一覧ページを示すHTMLデータ(以下、「一覧HTML」と表記する。)の送信を要求するHTTPリクエストである。個別ステータス要求情報は、ステータスHTMLの送信を要求するHTTPリクエストである。登録要求情報は、実行パラメータをデバイスレコードへの登録を要求するHTTPリクエストである。
次に、モニタプログラム66は、LAN−I/F55を通じて情報処理端末20から一覧ページ要求情報を受信したことに応じて(S81:Yes)、現時点でメモリ62に記憶されているデバイスリストに基づいて一覧HTMLを生成する(S84)。そして、モニタプログラム66は、S84で生成したHTMLを一覧ページ要求情報の応答として、LAN−I/F55を通じて情報処理端末20に送信する(S85)。
より詳細には、モニタプログラム66は、デバイスリストに登録されたデバイスレコードそれぞれに対応するデバイスアイコン151、152を一覧HTMLに含める。また、デバイスアイコン151、152には、対応するデバイスレコードのプリンタステータスを示す文字列が記述される。さらに、デバイスアイコン151、152に対応する<a>タグの“href”属性には、対応するデバイスレコードのURLが設定される。
一方、情報処理端末20のブラウザプログラムは、プリントサーバ50から受信した一覧HTMLに従って、図10(A)に示される一覧ページをディスプレイに表示させる。そして、ブラウザプログラムは、例えば、デバイスアイコン151に対する左クリック操作を受け付けたことに応じて、個別ステータス要求情報をプリントサーバ50に送信する。ここで送信される個別ステータス要求情報は、デバイスアイコン151に対応する<a>タグの“href”属性に設定されたURL−Aで所在が示されるステータスHTMLの送信を要求するための情報である。
次に、モニタプログラム66は、LAN−I/F55を通じて情報処理端末20から個別ステータス要求情報を受信したことに応じて(S82:Yes)、要求されたステータスHTMLをCGI機能により生成する(S86)。そして、モニタプログラム66は、読み出したステータスHTMLを個別ステータス要求情報の応答として、LAN−I/F55を通じて情報処理端末20に送信する(S87)。
一方、情報処理端末のブラウザプログラムは、プリントサーバ50から受信したステータスHTMLに従って、ステータスページをディスプレイに表示させる。ステータスページは、例えば図10(B)に示されるように、プリンタ10Aのデバイスレコードに含まれるステータス情報を示す文字列“READY”、“IDLE”と、プルダウンメニュー161、162、163と、[変更]アイコン164とを含む。
プルダウンメニュー161〜163は、プリント動作の実行条件を構成する複数の項目“サイズ”、“用紙種”、“色”に対応する実行パラメータを、ユーザに指定させるためのオブジェクトである。最初に表示されるプルダウンメニュー161〜163には、プリンタ10Aのデバイスレコードに含まれる実行パラメータ“A4”、“普通紙”、“カラー”が指定された状態になっている。
また、項目“サイズ”に対応するプルダウンメニュー161は、実行パラメータの候補“A4”、“B5、“ハガキ”に対応する3つの選択肢を有する。項目“用紙種”に対応するプルダウンメニュー162は、実行パラメータの候補“普通紙”、“光沢紙”に対応する2つの選択肢を有する。項目“色”に対応するプルダウンメニュー163は、実行パラメータの候補“カラー”、“モノクロ”に対応する2つの選択肢を有する。
そして、ブラウザプログラムは、プルダウンメニュー161〜163で指定された実行パラメータの変更を受け付けたことに応じて、変更後の実行パラメータをプルダウンメニュー161〜163に表示させる。また、ブラウザプログラムは、[変更]アイコン164に対する左クリック操作を受け付けたことに応じて、プリントサーバ50に登録要求情報を送信する。登録要求情報は、プルダウンメニュー161〜163に表示された実行パラメータを含む。登録要求情報の送信は、例えば、HTTPに規定されたPOSTメソッドによって実現される。
次に、モニタプログラム66は、LAN−I/F55を通じて情報処理端末20から登録要求情報を受信したことに応じて(S83:Yes)、受信した登録要求情報に含まれる実行パラメータで、プリンタ10Aのデバイスレコードの実行パラメータを上書きする(S88)。そして、モニタプログラム66は、S85、S87、S88のいずれかを実行したことに応じて、LAN−I/F55を通じて情報処理端末20からHTTPリクエストを受信するまで再び待機する(S81〜S83)。
[本実施形態の作用効果]
上記の実施形態によれば、情報処理端末20のユーザは、プリントサーバ50が公開した共有フォルダに、ファイル共有プロトコルを用いて所望のファイルを書き込むだけで、当該ファイルを対象とするプリント動作をプリンタ10に実行させることができる。すなわち、ファイル共有プロトコルをサポートしている情報処理端末20であれば、プリンタドライバがインストールされていなくてもプリンタ10を利用することができる。
また、上記の実施形態によれば、プリントサーバ50がサポートするプリンタ言語を解読可能なプリンタ10が接続されたことに応じて、共有フォルダが情報処理端末20に公開される。一方、プリントサーバ50がサポートしていないプリンタ言語のみを解読可能なプリンタ10が接続された場合、当該プリンタ10に対応する共有フォルダは公開されない。しかしながら、当該プリンタ10は共有プリンタとしては公開されるので、情報処理端末20のOSが変換したプリントデータを対象とするプリント動作を、当該プリンタ10に実行させることができる。
また、上記の実施形態によれば、共有フォルダに書き込まれたファイルがプリンタ対応形式でない場合に、当該ファイルがプリントデータに変換されてプリンタ10に送信される。これにより、プリンタドライバがインストールされていない情報処理端末20とプリンタ10との間の通信を、適切に中継することが可能となる。
また、上記の実施形態では、印刷データフォルダにコピーすることにより印刷されたファイルは、退避フォルダにコピーされる。したがって、情報処理端末20のユーザは、退避フォルダを開き、その中に記憶されたファイルを再度印刷データフォルダにドラッグ&ドロップすることにより、容易にリプリントを行うことができる。この退避フォルダされたファイルは一定時間経過後に、プリントプログラム65或いはモニタプログラム66によって削除されてもよい。
また、上記の実施形態では、PJLをサポートしていないプリンタ10Bが接続された場合には、USBプリンタクラスにより規定されたプリンタステータスを用いるようにしている。これは、プリンタクラスのUSBデバイスならば必ず装備されている機能だからである。このため、本実施形態のプリントサーバ50は、汎用的に使用できるとともに、PJLをサポートしたプリンタ10Aが接続された場合にはより細かいステータス情報を提供できる。
また、プリントサーバ50は、情報処理端末20が共有フォルダに書き込み得るあらゆる形式のファイルを、プリントデータに変換できるとは限らない。そこで上記の実施形態のように、共有フォルダに書き込まれたファイルの形式が印刷可能形式か否かを事前に判断することによって、プリント指示処理におけるプリンタ10の誤動作を抑制することができる。
また、上記の実施形態によれば、プリントサーバ50に接続された複数のプリンタ10A、10Bのうち、ファイルが書き込まれた共有フォルダに対応するプリンタ10Aにプリント動作を実行させることができる。すなわち、情報処理端末20のユーザにとっては、プリントサーバ50が公開した複数の共有フォルダのうち、所望のプリンタ10Aに対応付けられた共有フォルダにファイルを書き込めばよいので、プリンタ10Aを簡単に利用することができる。
なお、プリントサーバ50は、1台のプリンタ10に対応付けられた複数の印刷データフォルダを通信ネットワーク101に公開してもよい。また、複数の印刷データフォルダそれぞれには、異なる実行パラメータが対応付けられていてもよい。すなわち、1つのデバイスレコードは、複数の実行パラメータを含んでいてもよい。そして、プリントプログラム65は、ファイルの取得元の印刷データフォルダに対応付けられた実行パラメータに従って、プリンタ10にプリント動作を実行させてもよい。
上記の変形例によれば、情報処理端末20のユーザは、プリントサーバ50が公開した複数の印刷データフォルダのうち、所望の実行パラメータに対応付けられた印刷データフォルダにファイルを書き込むだけで、所望の実行パラメータに従ったプリント動作をプリンタ10に簡単に実行させることができる。
また、上記の実施形態によれば、プリンタ10と通信するためのプロトコルをサポートしていない情報処理端末20に、HTTPを用いてステータスHTMLが送信される。すなわち、専用のステータスモニタを情報処理端末20にインストールすることなく、情報処理端末20にプリンタ10の状態を通知することが可能となる。また、図6に示されるモニタ処理によれば、PJLをサポートするプリンタ10Aのみならず、PJLをサポートしていないプリンタ10Bのステータスも取得することができる。さらに、上記の実施形態によれば、情報処理端末20から指示されたプリント動作の状況を、データステータスとしてさらに通知することができる。
なお、ステータスHTMLには、例えば、<meta>タグの“http−equiv”属性に“refresh”が設定されていていることが望ましい。これにより、ブラウザプログラムは、<meta>タグの“content”属性に設定された時間が経過したことに応じて、当該ステータスHTMLをプリントサーバ50から自動的に再取得する。これにより、上記構成のように、ステータスHTMLの更新タイミング(S68、S75等)と、ステータスHTMLの送信タイミング(S87)とが非同期の場合でも、プリンタステータスの変化を情報処理端末20のユーザに適切に通知することができる。
また、上記の実施形態では、データステータスをステータスHTMLに書き込み、個別ステータス要求情報を受信したタイミングで当該ステータスHTMLが送信される。しかしながら、情報処理端末20へのデータステータスの送信タイミングは、前述の例に限定されない。他の例として、モニタプログラム66は、プリントプログラム65がデータステータスを書き換えたタイミング(S46、S51、S52)で、書き換えられたデータステータスを示す文字列を、LAN−I/F55を通じて情報処理端末20に送信してもよい。この場合において、S46の処理は第1通知処理の一例であり、S52の処理は第2通知処理の一例である。これにより、データステータスの変化を情報処理端末20のユーザにリアルタイムに認識させることができる。
また、上記の実施形態によれば、プリンタ10A、10B毎に発行されたURLに対応付けて、当該プリンタ10A、10Bの状態を示すステータスHTMLがメモリ62に記憶される。また、URLを指定した個別ステータス要求情報の応答として、当該URLに対応付けられたステータスHTMLが情報処理端末20に送信される。これにより、プリントサーバ50に接続された複数のプリンタ10A、10Bのうち、情報処理端末20のユーザが所望するプリンタ10Aの状態を選択的に通知することができる。
また、上記の実施形態によれば、プリントサーバ50に対してプリンタ10が接続及び切断を繰り返したとしても、当該プリンタ10のステータスHTMLの所在を示すURLが変更されない。これにより、例えば情報処理端末20が頻繁に利用するプリンタ10AのURL−Aをブックマークしておけば、一覧ページを経由しなくてもプリンタ10Aのステータスページにアクセスすることが可能になる。
また、プリントサーバ50は、プリンタ10の近くに設置されるのが一般的である。一方、情報処理端末20は、プリンタ10の近くに設置されるとは限らない。そこで、プリントサーバ50に接続されたスピーカ57を通じてプリンタ10の特定ステータスを報知することによって、特定ステータスに応じた処理をプリンタ10の近くにいるユーザが実行することが期待できる。
なお、上記の実施形態では、プリンタ10及びプリントサーバ50がUSBケーブル102で接続されている例を説明したが、プリントサーバ50はプリンタ10に内蔵されていてもよい。より詳細には、プリントプログラム65及びモニタプログラム66は、プリンタ10に搭載されたCPUによって実行されてもよい。すなわち、プリント動作を実現する構成要素(例えば、搬送ローラ、記録ヘッド等)と、プリントサーバ50の機能を実現する構成要素(例えば、CPU、メモリ等)とは、プリンタ10の内部バスによって接続されていてもよい。
また、上記の実施形態のプリントサーバ50において、メモリ62に記憶された各種プログラムがCPU61によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
さらに、本発明は、プリントサーバ50として実現できるだけでなく、プリントサーバ50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワーク101を通じてプリントサーバ50に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを通じて配信されてもよい。
10・・・プリンタ
20・・・情報処理端末
50・・・プリントサーバ
55・・・LAN−I/F
56・・・USB−I/F
61・・・CPU
62・・・メモリ
65・・・プリントプログラム
66・・・モニタプログラム

Claims (9)

  1. メモリと、通信インタフェースと、コントローラとを備えるプリントサーバであって、
    前記コントローラは、
    ファイル共有プロトコルによって、前記メモリの記憶領域の一部である共有領域を、前記通信インタフェースを通じて該プリントサーバに接続された外部装置がアクセス可能に公開する公開処理と、
    前記外部装置が前記通信インタフェースを通じて前記共有領域に書き込んだファイルを取得する第1取得処理と、
    前記第1取得処理で取得したファイルで示される画像をシートに記録するプリント動作を、前記通信インタフェースを通じて接続されたプリンタに実行させるプリント指示処理とを実行するプリントサーバ。
  2. 前記コントローラは、
    前記通信インタフェースを通じて通信可能なプリンタを検出したことに応じて、当該プリンタが解読可能なプリンタ言語を示すプリンタ情報を、前記通信インタフェースを通じて当該プリンタから取得する第2取得処理と、
    前記プリンタ情報で示される前記プリンタ言語を該プリントサーバがサポートしているか否かを判断する第1判断処理と、
    前記第1判断処理でサポートしていると判断したことに応じて、前記公開処理とを実行する請求項1に記載のプリントサーバ。
  3. 前記コントローラは、
    前記第2取得処理において、前記プリント動作の対象となり得るファイル形式をさらに示す前記プリンタ情報を取得し、
    前記第1取得処理で取得したファイルの形式が前記プリンタ情報で示される前記ファイル形式と一致するか否かを判断する第2判断処理と、
    前記第2判断処理で一致すると判断したことに応じて、前記プリント指示処理とを実行し、
    前記第2判断処理で一致しないと判断したことに応じて、
    前記第1取得処理で取得したファイルを、前記プリンタ情報で示される前記プリンタ言語で記述されたプリントデータに変換する変換処理と、
    前記変換処理で変換した前記プリントデータで示される画像をシートに記録する前記プリント動作を前記プリンタに実行させる前記プリント指示処理とを実行する請求項2に記載のプリントサーバ。
  4. 前記コントローラは、
    前記第1取得処理で取得したファイルの形式が前記プリントデータに変換可能か否かを判断する第3判断処理と、
    前記第3判断処理で変換可能だと判断したことに応じて、前記第2判断処理とを実行し、
    前記第3判断処理で変換不能だと判断したことに応じて、前記第1取得処理で取得したファイルを、前記共有領域と異なる前記メモリの記憶領域の一部である退避領域に退避する退避処理を実行する請求項3に記載のプリントサーバ。
  5. 前記コントローラは、
    前記第3判断処理で変換可能だと判断したことに応じて、当該ファイルを受け付けたことを示すデータステータスを、当該ファイルの送信元の前記外部装置に通知する第1通知処理と、
    前記第3判断処理で変換不能だと判断したことに応じて、当該ファイルを受け付けなかったことを示すデータステータスを、当該ファイルの送信元の前記外部装置に通知する第2通知処理とを実行する請求項4に記載のプリントサーバ。
  6. 前記コントローラは、
    前記公開処理において、各々に複数の前記プリンタのうちの1つが対応付けられた複数の前記共有領域を公開し、
    前記プリント指示処理において、前記第1取得処理におけるファイルの取得元の前記共有領域に対応付けられた前記プリンタに、前記プリント動作を実行させる請求項1から5のいずれかに記載のプリントサーバ。
  7. 前記コントローラは、
    前記公開処理において、各々に前記プリント動作の実行条件が対応付けられた複数の前記共有領域を公開し、
    前記プリント指示処理において、前記第1取得処理におけるファイルの取得元の前記共有領域に対応付けられた前記実行条件に従って、前記プリンタに前記プリント動作を実行させる請求項1から6のいずれかに記載のプリントサーバ。
  8. 前記通信インタフェースは、
    Ethernet(登録商標)或いはWi−Fi(登録商標)に準拠した方式で前記外部装置と通信する第1インタフェースと、
    一端に前記プリンタが接続されたUSBケーブルの他端を着脱可能な第2インタフェースとを備える請求項1から7のいずれかに記載のプリントサーバ。
  9. 前記ファイル共有プロトコルは、SMB(Server Message Blockの略)、或いはCIFS(Common Internet File Systemの略)である請求項1から8のいずれかに記載のプリントサーバ。
JP2016250970A 2016-12-26 2016-12-26 プリントサーバ Active JP6828424B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016250970A JP6828424B2 (ja) 2016-12-26 2016-12-26 プリントサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016250970A JP6828424B2 (ja) 2016-12-26 2016-12-26 プリントサーバ

Publications (2)

Publication Number Publication Date
JP2018106362A true JP2018106362A (ja) 2018-07-05
JP6828424B2 JP6828424B2 (ja) 2021-02-10

Family

ID=62787882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016250970A Active JP6828424B2 (ja) 2016-12-26 2016-12-26 プリントサーバ

Country Status (1)

Country Link
JP (1) JP6828424B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020154700A (ja) * 2019-03-20 2020-09-24 ブラザー工業株式会社 通信デバイス

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164071A (ja) * 2004-12-09 2006-06-22 Canon Inc 情報処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2006285900A (ja) * 2005-04-05 2006-10-19 Brother Ind Ltd 印刷制御プログラム、印刷制御装置及び印刷制御方法
JP2007235748A (ja) * 2006-03-02 2007-09-13 Murata Mach Ltd 画像形成装置
JP2008152545A (ja) * 2006-12-18 2008-07-03 Seiko Epson Corp 印刷処理システム及び印刷方法
JP2013222350A (ja) * 2012-04-17 2013-10-28 Canon Inc 情報処理装置、情報処理方法、およびプログラム
JP2014002688A (ja) * 2012-06-21 2014-01-09 Canon Inc 情報処理装置、情報処理装置のジョブ処理方法、及びプログラム
JP2015200996A (ja) * 2014-04-07 2015-11-12 セイコーエプソン株式会社 データ処理装置、データ処理システムおよびデータ処理方法
JP2016167158A (ja) * 2015-03-09 2016-09-15 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、およびプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164071A (ja) * 2004-12-09 2006-06-22 Canon Inc 情報処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2006285900A (ja) * 2005-04-05 2006-10-19 Brother Ind Ltd 印刷制御プログラム、印刷制御装置及び印刷制御方法
JP2007235748A (ja) * 2006-03-02 2007-09-13 Murata Mach Ltd 画像形成装置
JP2008152545A (ja) * 2006-12-18 2008-07-03 Seiko Epson Corp 印刷処理システム及び印刷方法
JP2013222350A (ja) * 2012-04-17 2013-10-28 Canon Inc 情報処理装置、情報処理方法、およびプログラム
JP2014002688A (ja) * 2012-06-21 2014-01-09 Canon Inc 情報処理装置、情報処理装置のジョブ処理方法、及びプログラム
JP2015200996A (ja) * 2014-04-07 2015-11-12 セイコーエプソン株式会社 データ処理装置、データ処理システムおよびデータ処理方法
JP2016167158A (ja) * 2015-03-09 2016-09-15 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020154700A (ja) * 2019-03-20 2020-09-24 ブラザー工業株式会社 通信デバイス
JP7322443B2 (ja) 2019-03-20 2023-08-08 ブラザー工業株式会社 通信デバイス

Also Published As

Publication number Publication date
JP6828424B2 (ja) 2021-02-10

Similar Documents

Publication Publication Date Title
US20200333990A1 (en) Printer and server
US8582162B2 (en) Information processing apparatus, output method, and storage medium
JP5180676B2 (ja) 画像形成装置、その制御方法及びそのプログラム
US9747059B2 (en) System, apparatus, and information processing method for delivering event information indicating an event generated in an apparatus to one or more processors of the apparatus
WO2016034054A1 (zh) 打印设备监控方法和系统以及打印监控服务器
US20110299111A1 (en) Printing system, image forming apparatus, information processing apparatus, and printing method
US20140139878A1 (en) Communication Relaying Technology and Communication Relaying Apparatus
JP6200136B2 (ja) 画像形成装置、検索システム、画像形成装置の制御方法及びプログラム
JP5436195B2 (ja) 画像処理装置、制御方法、及びプログラム
US9164716B2 (en) Communication relaying technology and image processing apparatus
JP2017173892A (ja) 情報処理装置、プログラム及び印刷システム
US10154167B2 (en) Image data management system, image data management method, and storage medium
US10095960B2 (en) Printing managing apparatus and computer readable medium storing printing managing program
JP6737170B2 (ja) サーバー装置、画像処理ユニット及びプログラム
JP2016083870A (ja) 画像形成装置及びその制御方法、システム
JP2015014954A (ja) データ処理装置、同期システム、及びデータ処理プログラム
JP2000118085A (ja) 画像形成装置及び画像形成方法、記録媒体
JP6190207B2 (ja) システム、情報処理方法、処理装置、処理方法、及びプログラム
JP6828424B2 (ja) プリントサーバ
JP5836051B2 (ja) 印刷制御装置及びその制御方法並びにプログラム
US20130215451A1 (en) Method and apparatus for automatically detecting page description languages supported by image production devices
JP5900013B2 (ja) 情報処理装置、ファイル処理方法、プログラム
JP6841031B2 (ja) プリントサーバ
JP2012185742A (ja) 印刷機器情報変換プログラム、印刷機器情報変換方法、印刷機器情報変換装置および印刷機器情報変換システム
US9509871B2 (en) Information processing apparatus, information processing system, information processing method, and non-transitory computer readable medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210104

R150 Certificate of patent or registration of utility model

Ref document number: 6828424

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150