Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
印刷システム - キヤノン株式会社
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> キヤノン株式会社

発明の名称 印刷システム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−11746(P2007−11746A)
公開日 平成19年1月18日(2007.1.18)
出願番号 特願2005−192563(P2005−192563)
出願日 平成17年6月30日(2005.6.30)
代理人 【識別番号】100090273
【弁理士】
【氏名又は名称】國分 孝悦
発明者 山下 洋
要約 課題
Unix系OSの印刷システムにおいて、動的なデバイス情報を反映したPDLデータの生成を実現できるようにする。

解決手段
プリンタ110に対してデータの出力管理、あるいは当該プリンタの状態管理を行うプリンタモニタ部102と、Unix系OSの印刷システムから出力される印字データからプリンタ110に固有のPDLデータを生成するPDLデータ生成部101と、PDLデータ生成部101から出力されたPDLデータをプリンタモニタ部102へ出力するバックエンド部105と、プリンタ110の状態表示を含む処理を行うステータス表示UI部103と、プリンタモニタ部102とPDLデータ生成部101とのインタフェース処理、及びプリンタモニタ部102とステータス表示UI部103とのインタフェース処理を行うI/F部104とを有するようにする。
特許請求の範囲
【請求項1】
少なくとも、プリンタに対してデータの出力管理又は当該プリンタの状態管理を行うプリンタモニタ部と、
Unix系OS(Operating System)の印刷システムから出力される印字データから前記プリンタに固有のPDL(Page Description Language)データを生成するPDLデータ生成部と、
前記PDLデータ生成部から出力されたPDLデータを前記プリンタモニタ部へ出力するバックエンド部と、
前記プリンタの状態表示を含む処理を行うステータス表示UI(User Interface)部と、
前記プリンタモニタ部と前記PDLデータ生成部とのインタフェース処理、及び前記プリンタモニタ部と前記ステータス表示UI部とのインタフェース処理を行うI/F部と
を有することを特徴とする印刷システム。
【請求項2】
前記PDLデータ生成部又は前記ステータス表示UI部は、取得したい情報に対応する要求コマンドを前記I/F部を介して前記プリンタモニタ部に送信し、
前記プリンタモニタ部は、前記I/F部から受信した要求コマンドを解析して、当該要求コマンドに対応する情報を前記プリンタから取得し、取得した情報を前記I/F部を介して要求先に送信することを特徴とする請求項1に記載の印刷システム。
【請求項3】
前記PDLデータ生成部は、前記I/F部を介して前記プリンタモニタ部に前記プリンタに係るデバイス情報要求コマンドを送信し、前記プリンタモニタ部から前記プリンタに係るデバイス情報を取得することを特徴とする請求項2に記載の印刷システム。
【請求項4】
前記PDLデータ生成部は、前記I/F部を介して取得した前記プリンタに係るデバイス情報に基づいて、印刷開始時の前記プリンタの状態に適したPDLデータの生成を行い、当該PDLデータを前記バックエンド部へ出力することを特徴とする請求項3に記載の印刷システム。
【請求項5】
前記ステータス表示UI部は、前記I/F部を介して前記プリンタモニタ部に前記プリンタに係るステータス情報要求コマンドを送信し、前記プリンタモニタ部から前記プリンタに係るステータス情報を取得し、取得した当該ステータス情報を表示することを特徴とする請求項2に記載の印刷システム。
発明の詳細な説明
【技術分野】
【0001】
本発明は、Unix系OSの印刷システムに関するものである。
【背景技術】
【0002】
一般的にUnix系OSでは、CUPS(Common Unix Printing System)と呼ばれる印刷システムが標準印刷システムとして採用されている。ここで、図2を用いてこのCUPSについて説明する。アプリケーション202からCUPS201に対して印刷の要求があると、スケジューラー部203は、印字データに適したフィルタ・レンダラ部204と、プリンタ210の接続形態に合わせてバックエンド部205を起動する。このとき、フィルタ・レンダラ部204では、起動パラメータに基づいて印字データをPDLデータに変換して、バックエンド部205に出力する。
【0003】
通常、バックエンド部205の先にはプリンタ210が接続されている場合が多いが、Unix系OSの印刷システムにおいては、プリンタ210の制御、ステータス取得や出力データの管理を行うためのプリンタモニタ部206が間に入る場合がある。この場合、プリンタモニタ部206は、CUPS201と別プロセスとして動作する。このプリンタモニタ部206では、プリンタ210の状態を表示するステータス表示UI部207とのインタフェース処理を持つことが多い。
【0004】
【非特許文献1】CUPSについての詳細は、下記のURL[Common UNIX Printing System]を参照 URL:http://www.cups.org/
【発明の開示】
【発明が解決しようとする課題】
【0005】
近年の高機能なホストベースのプリンタでは、印刷開始時の両面ユニットの有無や、キャリブレーション情報などの動的なデバイス情報を反映して、PDLデータの生成を行わなければならない。
【0006】
しかしながら、従来のUnix系OSの印刷システムでは、動的なデバイス情報を反映したPDLデータの生成を行うことができなかった。
【0007】
本発明は上述の問題点にかんがみてなされたものであり、動的なデバイス情報を反映したPDLデータの生成を実現する印刷システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の印刷システムは、少なくとも、プリンタに対してデータの出力管理又は当該プリンタの状態管理を行うプリンタモニタ部と、Unix系OS(Operating System)の印刷システムから出力される印字データから前記プリンタに固有のPDL(Page Description Language)データを生成するPDLデータ生成部と、前記PDLデータ生成部から出力されたPDLデータを前記プリンタモニタ部へ出力するバックエンド部と、前記プリンタの状態表示を含む処理を行うステータス表示UI(User Interface)部と、前記プリンタモニタ部と前記PDLデータ生成部とのインタフェース処理、及び前記プリンタモニタ部と前記ステータス表示UI部とのインタフェース処理を行うI/F部とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、プリンタモニタ部における、ステータスの表示を行うステータス表示UI(User Interface)部との従来のインタフェース部を拡張し、PDLデータ生成部とも同じインタフェース部を共用するようにしたので、PDLデータ生成部へ動的なデバイス情報を反映させることができ、PDLデータ生成部において動的なデバイス情報を反映したPDLデータの生成を行うことができる。また、プリンタモニタ部において、ステータス表示UI(User Interface)部とPDLデータ生成部とのインタフェース部の共用が図れるため、それぞれのモジュールのサイズの小型化や、設計コストの削減を行うことが可能となる。
【発明を実施するための最良の形態】
【0010】
以下に、本発明の実施形態に係る印刷システムについて、詳細に説明を行う。
本発明の実施形態は、図2で示したUnix系OSの標準的な印刷システムであるCUPS201におけるフィルタ・レンダラ部204の一部の機能であるPDLデータを生成する処理部と、プリンタモニタ部206及びステータス表示UI部207に関するものである。
【0011】
図1は、本発明の実施形態に係る印刷システムの概略構成を示すブロック図である。
本実施形態に係る印刷システムは、Unix系OS(Operating System)の印刷システムから出力される印字データからプリンタ110に固有のPDL(Page Description Language)データを生成するPDLデータ生成部101と、少なくとも、プリンタ110に対してデータの出力管理又は当該プリンタ110の状態管理を行うプリンタモニタ部102と、プリンタ110の状態表示を含む処理を行うステータス表示UI(User Interface)部103と、プリンタモニタ部102とPDLデータ生成部101とのインタフェース処理、及びプリンタモニタ部102とステータス表示UI部103とのインタフェース処理を行うI/F部104と、PDLデータ生成部101から出力されたPDLデータをプリンタモニタ部102へ出力するバックエンド部105を有して構成されている。また、PDLデータ生成部101、プリンタモニタ部102、ステータス表示UI部103は、別プロセスとして動作する。
【0012】
I/F部104は、PDLデータ生成部101又はステータス表示UI部103と別プロセスであるプリンタモニタ部102とをソケットを用いてプロセス間通信を行うための処理を担う。本実施形態では、ソケットを用いてプロセス間通信を実現したが、プロセス間通信の実現手段としては、ソケットに限定したものではない。
【0013】
プリンタモニタ部102は、プリンタ110の制御や出力データを管理する処理を行うほか、他の処理部(PDLデータ生成部101又はステータス表示UI部103)のI/F部から受信した要求コマンドに対するデータをプリンタ110から取得し、要求のあった他の処理部のI/F部に対してデータを送信する処理を行う。
【0014】
PDLデータ生成部101は、図2に示したフィルタ・レンダラ部202の一部の機能であり、フィルタもしくはレンダラより出力された印字データからPDLデータを生成する処理を行う。
【0015】
ステータス表示UI部103は、プリンタ110のステータスを表示する処理を行う。また、バックエンド部105は、PDLデータ生成部101から出力されたPDLデータをプリンタモニタ部102へと出力する。
【0016】
図10は、本発明の実施形態に係る印刷システムのシステム構成図である。
図10において、CPU1001は、本実施形態の印刷システムの制御を司る中央処理装置である。RAM1002は、本実施形態の印刷システムにおけるプログラムをロードして動作させるとともにデータを一時的に格納しておく記憶装置である。外部記憶装置1003は、HDD等から構成され、本実施形態の印刷システムにおけるプログラムを格納する。表示装置1004は、CRTやLCD等から構成され、図1のステータス表示UI部103のUI画面等を表示する。入力装置1005は、キーボード等から構成され、各種入力や指示に用いる。I/O部1006は、プリンタ110と接続するためのUSB等の物理インタフェースである。
【0017】
次に、本発明の実施形態に係る印刷システムの処理の流れについて詳細に説明する。まず、PDLデータ生成部101の処理の流れについて説明する。
【0018】
図3は、PDLデータ生成部101の処理を示すフローチャートである。
ステップ301では、メモリの確保、内部変数の初期化を行い、デフォルト値に設定する。続いて、ステップ302では、起動パラメータの解析処理を行い、内部変数を起動パラメータで指定された値に更新する。続いて、ステップ303では、デバイス情報取得処理(詳細は、図4を参照)を行って、デバイス情報を取得する。
【0019】
続いて、ステップ304では、ステップ303においてデバイス情報がエラーなく取得できたか否かを判断する。この判断の結果、デバイス情報が取得できなかった場合には、ステップ311に進み、メモリの解放等の終了処理を行い、プロセスを終了する。一方、ステップ304での判断の結果、デバイス情報が取得できた場合には、ステップ305へ進んで、デバイス情報を該当する内部変数に更新する。
【0020】
続いて、ステップ306では、起動パラメータの片面/両面印刷の設定に対して、両面印刷の指定がなされているか否かを判断する。この判断の結果、両面印刷の指定されていた場合には、ステップ307に進む。一方、ステップ306での判断の結果、両面印刷の指定がされていない場合には、ステップ309に進んで、片面印刷用のPDLデータの生成を行い、その後、ステップ310に進む。
【0021】
ステップ307では、ステップ303で取得したデバイス情報からデバイスに両面ユニットの装着が有るか否かを判断する。この判断の結果、デバイスに両面ユニットの装着が有った場合には、ステップ308に進んで、設定を変更せずに両面印刷用のPDLデータの生成を行う。一方、ステップ307での判断の結果、デバイスに両面ユニットの装着が無かった場合には、ステップ309に進んで、片面印刷用のPDLデータの生成を行い、その後、ステップ310に進む。
【0022】
続いて、ステップ310では、生成されたPDLデータをバックエンド部205へ出力する。続いて、ステップ311では、メモリの解放等の終了処理を行い、プロセスを終了する。
【0023】
次に、図3に示したステップ303のデバイス情報取得処理の詳細について説明する。
図4は、図3に示したステップ303のデバイス情報取得処理の詳細を示したフローチャートである。
【0024】
まず、ステップ401では、I/F部104の初期化処理(詳細は、図7を参照)を行う。続いて、ステップ402では、デバイス情報要求コマンドをセットする。続いて、ステップ403では、プリンタモニタ部102のI/F部104に対して、データ取得処理の要求(詳細は、図8を参照)を行う。デバイス情報取得を取得した後、デバイス情報のデータをメモリに格納して、ステップ404において、I/F部終了処理(詳細は、図9を参照)を行って、当該処理を終了する。
【0025】
次に、ステータス表示UI部103の処理の流れについて説明する。
図5は、ステータス表示UI部103の処理を示すフローチャートである。
【0026】
まず、ステップ501では、メモリの確保、内部変数の初期化を行う。続いて、ステップ502では、I/F部104の初期化処理(詳細は、図7を参照)を行う。
【0027】
続いて、ステップ503では、ユーザーによる終了ボタンエベントなどのプロセスの終了に関するシグナルのチェックを行って、プロセスの終了を行うか否かの判断を行う。この判断の結果、プロセスの終了を行う場合には、ステップ508に進んで、I/F部104の終了処理(詳細は、図9を参照)を行った後、ステップ509に進んで、メモリを解放してプロセスを終了する。一方、ステップ503での判断の結果、プロセスの終了を行わない場合には、ステップ504に進んで、ステータス要求コマンドをセットした後、ステップ505に進んで、プリンタモニタ部102のI/F部104に対して、データ取得処理の要求(詳細は、図8を参照)を行う。
【0028】
続いて、ステップ506では、ステータス情報がエラーなく取得できたか否かを判断する。この判断の結果、ステータス情報が取得できた場合には、ステップ507に進んで、UIの表示更新処理を行って、その後、ステップS503に戻る。一方、ステップ506での判断の結果、ステータス情報が取得できなかった場合には、ステップ503に戻る。
【0029】
次に、図4及び図5におけるI/F部の各処理について詳細に説明する。
図7は、図4のステップ401及び図5のステップ502におけるI/F部初期化処理の詳細を示したフローチャートである。
【0030】
I/F部の初期化処理が開始されると、まず、ステップ701では、メモリの確保、内部変数の初期化を行う。続いて、ステップ702では、プリンタモニタ部102のI/F部104に対して接続を行って、当該I/F部初期化処理がなされる。
【0031】
図8は、図4のステップ403及び図5のステップ505におけるI/F部要求、取得処理の詳細を示したフローチャートである。
【0032】
まず、ステップ801では、要求するコマンドを送信データにセットする。続いて、ステップ802では、送信データをプリンタモニタ102と接続しているソケットに書き込む。この書き込みが終了した後、続いて、ステップ803では、ソケットから受信データのヘッダー部分を読み込む。続いて、ステップ804では、受信データのデータ部分を読み込んで、当該I/F部要求、取得処理がなされる。
【0033】
図9は、図4のステップ404及び図5のステップ508におけるI/F部終了処理の詳細を示したフローチャートである。
【0034】
I/F部の終了処理が開始されると、まず、ステップ901では、プリンタモニタ部102のI/F部104との接続を断つ。続いて、ステップ902では、メモリの解放を行って、当該I/F部終了処理がなされる。
【0035】
次に、プリンタモニタ部102の処理の流れについて説明する。
図6は、プリンタモニタ部102の処理を示すフローチャートである。
【0036】
まず、ステップ601では、使用するデータ領域の初期化を行って、他の処理部(PDLデータ生成部101又はステータス表示UI部103)のI/F部からのソケットの接続を待つ。そして、他の処理部のI/F部と接続されると、続いて、ステップ602では、他の処理部のI/F部からの要求コマンドの待機状態となる。
【0037】
続いて、ステップ603では、プロセスの終了に関するシグナルの受信をチェックして、プロセスの終了を行うか否かの判断を行う。この判断の結果、プロセスの終了を行う場合には、ステップ604に進んで終了処理を行って、プロセスを終了する。一方、ステップ603での判断の結果、プロセスの終了を行わない場合には、ステップ605に進んで、要求コマンドを含んだ受信データの読み込みを行って、要求コマンドを取り出す。
【0038】
続いて、ステップ606では、ステップ605で受信した要求コマンドがステータス情報要求コマンドであるか否かを判断する。この判断の結果、受信した要求コマンドがステータス情報要求コマンドである場合には、ステップ607に進んで、プリンタ110からステータス情報を取得する。その後、ステップ610に進む。一方、ステップ606での判断の結果、受信した要求コマンドがステータス情報要求コマンドでない場合には、ステップ608に進む。
【0039】
ステップ608では、ステップ605で受信した要求コマンドがデバイス情報要求コマンドであるか否かを判断する。この判断の結果、受信した要求コマンドがデバイス情報要求コマンドである場合には、ステップ609に進んで、プリンタ110からデバイス情報を取得する。その後、ステップ610に進む。
【0040】
ステップ610では、プリンタ110から取得した情報を送信データにセットして、取得要求のあった他の処理部(PDLデータ生成部101又はステータス表示UI部103)のI/F部に対して当該情報を送信する。
【0041】
ステップ610での処理が終了した場合、あるいは、ステップ608での判断の結果、受信した要求コマンドがデバイス情報要求コマンドでない場合には、ステップ602に戻り、次の要求コマンドの受信待機状態となる。
【図面の簡単な説明】
【0042】
【図1】本発明の実施形態に係る印刷システムの概略構成を示すブロック図である。
【図2】CUPS(Common Unix Printing System)の概略構成を示すブロック図である。
【図3】PDLデータ生成部の処理を示すフローチャートである。
【図4】図3に示したステップ303のデバイス情報取得処理の詳細を示したフローチャートである。
【図5】ステータス表示UI部の処理を示すフローチャートである。
【図6】プリンタモニタ部の処理を示すフローチャートである。
【図7】図4のステップ401及び図5のステップ502におけるI/F部初期化処理の詳細を示したフローチャートである。
【図8】図4のステップ403及び図5のステップ505におけるI/F部要求、取得処理の詳細を示したフローチャートである。
【図9】図4のステップ404及び図5のステップ508におけるI/F部終了処理の詳細を示したフローチャートである。
【図10】本発明の実施形態に係る印刷システムのシステム構成図である。
【符号の説明】
【0043】
101 PDLデータ生成部
102 プリンタモニタ部
103 ステータス表示UI部
104 I/F部
105 バックエンド部
110 プリンタ
201 CUPS
202 アプリケーション
203 スケジューラー部
204 フィルタ・レンダラ部
205 バックエンド部
206 プリンタモニタ部
207 ステータス表示UI部
1001 CPU
1002 RAM
1003 外部記憶装置
1004 表示装置
1005 入力装置
1006 I/O部




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013