JP2017045201A - 情報処理装置とその制御方法、印刷システム及びプログラム - Google Patents

情報処理装置とその制御方法、印刷システム及びプログラム Download PDF

Info

Publication number
JP2017045201A
JP2017045201A JP2015166186A JP2015166186A JP2017045201A JP 2017045201 A JP2017045201 A JP 2017045201A JP 2015166186 A JP2015166186 A JP 2015166186A JP 2015166186 A JP2015166186 A JP 2015166186A JP 2017045201 A JP2017045201 A JP 2017045201A
Authority
JP
Japan
Prior art keywords
information processing
processing apparatus
printing apparatus
device service
printing
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
JP2015166186A
Other languages
English (en)
Other versions
JP2017045201A5 (ja
JP6609140B2 (ja
Inventor
浩史 大矢
Hiroshi Oya
浩史 大矢
直樹 森田
Naoki Morita
直樹 森田
岡澤 隆志
Takashi Okazawa
隆志 岡澤
透 坂口
Toru Sakaguchi
透 坂口
千恵 伊藤
Chie Ito
千恵 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015166186A priority Critical patent/JP6609140B2/ja
Priority to US15/228,178 priority patent/US10241731B2/en
Priority to CN201610719439.9A priority patent/CN106484337B/zh
Publication of JP2017045201A publication Critical patent/JP2017045201A/ja
Publication of JP2017045201A5 publication Critical patent/JP2017045201A5/ja
Application granted granted Critical
Publication of JP6609140B2 publication Critical patent/JP6609140B2/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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • 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
    • 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
    • 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/1279Controller construction, e.g. aspects of the interface hardware
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】独自のランゲージモニタを含ませることができないV4ドライバをインストールしている情報処理装置でも、従来のV3ドライバと同等に画像形成装置を制御できる情報処理装置を提供する。
【解決手段】OSを搭載し、OSにより、アプリケーション102から受け取った印刷データから印刷ジョブを生成する情報処理装置101は、情報処理装置のポートを介して印刷装置と接続する仮想デバイスサービス106を備える。仮想デバイスサービスは、OSから印刷ジョブを受け取って印刷装置に送信するとともに、OSから印刷装置の制御コマンドを受け取ると印刷装置に送信し、制御コマンドに対する印刷装置からの応答をデバイスサービスから受け取ると、応答に基づいて印刷装置のステータスを表示させる。
【選択図】図1

Description

本発明は、情報処理装置とその制御方法、印刷システム及びプログラムに関するものである。
情報処理装置が画像形成装置等の周辺機器を利用するには、その周辺機器に対応したデバイスドライバ(プリンタであればプリンタドライバ)を、その情報処理装置上で動作するオペレーションシステム(以下、OS)に組み込む必要がある。そして、周辺機器であるプリンタ装置を利用する際は、プリンタドライバをアプリケーションから起動させて印刷に必要な設定を行い、画像データ及び印刷設定(以下、これらをまとめて印刷ジョブと呼ぶ)を生成する。そして、その生成した印刷ジョブをプリンタ装置に送信する。これにより、その印刷ジョブを受信したプリンタ装置は、その印刷ジョブの印刷設定に応じた画像生成処理(以下、レンダリング)を実行して用紙に画像を印刷する。
従来のプリンタドライバは、ユーザやアプリケーションからの入力を管理するユーザインターフェースモジュール、印刷ジョブを生成する印刷ジョブ生成モジュール、情報処理装置とプリンタ装置間の通信を制御する通信制御モジュールを含んでいる。以下、この通信制御モジュールをランゲージモニタと呼ぶ。
これらのモジュール群を含むプリンタドライバは、Version3ドライバ(以下、V3ドライバ)と呼ばれている。ランゲージモニタは、OSを介して、印刷ジョブ生成モジュールにより生成された印刷ジョブを受け取ってプリンタ装置へ送信する。またランゲージモニタは、ユーザやアプリケーションから印刷ジョブのキャンセル等の要求を受信すると、その要求に応じた処理を実施してジョブを制御する。またランゲージモニタを拡張し、プリンタドライバから印刷ジョブを送信するだけでなく、プリンタ装置側から、そのプリンタ装置の装置情報を受信し、使用する印刷通信用のプロトコルをサポートできるランゲージモニタを搭載したV3ドライバが存在する。このプロトコルをサポートしたランゲージモニタにより、メモリ容量の少ないプリンタ装置でも、そのプリンタ装置のメモリ状態を情報として絶えずプリンタドライバが確認し、安定した印刷を実行することが可能となる。そしてこのプロトコルをサポートしたランゲージモニタにより、情報処理装置がプリンタ装置の状態を事細かに収集し、本来、プリンタ装置で行う印刷ジョブの管理、制御を行うことができる。更に、その収集したプリンタ装置の状態やユーザへのメッセージ表示、プリンタ装置に対する設定の入力等を、情報処理装置上のアプリケーションで行うことが可能なシステムが広く製品化され利用されている。
このように本来、プリンタ装置のパネルで表示、入力できる内容を、情報処理装置のアプリケーションで行うことにより、プリンタ装置の操作パネルを簡素化でき、製品コストを低く抑えることができる。更には、プリンタ装置でレンダリングを行わず、情報処理装置上のV3ドライバでレンダリングを行った画像データをプリンタ装置へ送信して印刷させるシステムも製品化され利用されている。このようなシステムはホストベース型印刷システムと呼ばれ、前述したようなランゲージモニタの機能により、少ないメモリ容量や低スペックのCPUを搭載したプリンタ装置でも、通常のプリンタ装置と同等の印刷を行うことができる。このようにしてプリンタ装置のコストを低く抑えることができるようになる。
一方、近年Microsoft社により導入されたWindows8(登録商標)以降では、上記構成と異なるプリンタドライバ構成が採用されている。このプリンタドライバを構成するモジュール群には、上述のランゲージモニタが含まれていない。また使用可能な通信ポートは、USB(Universal Serial Bus)ポート及びWSD(Web Service on Device)ポートに限られる。このプリンタドライバは、Version4ドライバ(以下、V4ドライバ)と呼ばれる。このV4ドライバはランゲージモニタを有していないため、印刷ジョブ生成モジュールにより生成された印刷ジョブをプリンタ装置に送信する通信処理は、Windows(登録商標)に標準に搭載されているスプーラにより提供される。またV3ドライバではランゲージモニタが行っていた、ユーザやアプリケーションからの印刷ジョブのキャンセル等の要求に対する処理も、このスプーラが実行している。
このように、従来は、V3ドライバにおいてランゲージモニタが行っていた処理をV4ドライバではスプーラが行うようになったことにより、V3ドライバでは可能であった制御ができなくなる場合がある。例えば、プリンタ装置と情報処理装置とがUSBを介して接続され、かつ、プリンタ装置で印刷処理を継続できないエラーが生じている場合、そのエラーが生じた印刷ジョブに対しキャンセル要求が発行された場合を考える。そのような場合、スプーラはOSに対しプリンタ装置に対して印刷をキャンセルするように指示しない場合がある。このような問題に対して、例えば特許文献1には、V4ドライバの構成要素であるコマンド生成フィルタ又はスプーラが、そのプリンタ装置の状況を適切に判定して、適切に印刷ジョブをキャンセルする技術が記載されている。
特開2014−134861号公報
上述したホストベース型印刷システムに適用できるプリンタ装置は、印刷通信用のプロトコルをサポートしたランゲージモニタを搭載したV3ドライバがあることを前提として設計されている。そのため、情報処理装置からプリンタ装置への印刷の実行要求やキャンセル要求などの印刷ジョブに対する要求や動作設定変更要求、またプリンタ装置から情報処理装置へのプリンタ装置の状態情報通知などは、印刷通信用のプロトコルを用いて行われていた。更に、印刷ジョブの管理などもランゲージモニタで行っている。
しかし、V4ドライバでは、独自のランゲージモニタをプリンタドライバ内に含ませることができないという制約があるため、印刷通信用のプロトコルをサポートしたランゲージモニタをV4ドライバに含ませることができない。その結果、V4ドライバでは、ホストベース型印刷システムに適用したプリンタ装置を使用して印刷できないという課題がある。
本発明の目的は、上記従来技術の課題を解決することにある。
本発明の特徴は、独自のランゲージモニタを含ませることができないドライバをインストールしている情報処理装置でも、従来のV3ドライバと同等に画像形成装置を制御できる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
OSを搭載し、当該OSにより、アプリケーションから受け取った印刷データから印刷ジョブを生成する情報処理装置であって、
前記情報処理装置のポートを介して印刷装置と接続し、前記OSから前記印刷ジョブを受け取って前記印刷装置に送信するとともに、前記OSから前記印刷装置の制御コマンドを受け取ると前記印刷装置に送信するデバイスサービスと、
前記制御コマンドに対する前記印刷装置からの応答を前記デバイスサービスから受け取ると、当該応答に基づいて前記印刷装置のステータスを表示させる表示手段と、を有することを特徴とする。
本発明によれば、独自のランゲージモニタを含ませることができないドライバをインストールしている環境であっても、ホストベース型印刷システムに対応した印刷装置で印刷ができるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態1に係る印刷システムの概略構成を示すブロック図。 V4ドライバのソフトウェア構成を説明するブロック図。 実施形態1に係る仮想デバイスサービスのソフトウェア構成を説明するブロック図。 実施形態1に係る情報処理装置のハードウェア構成を説明するブロック図。 実施形態1に係る情報処理装置の設定アプリケーションが表示部に表示する画面例を示す図。 実施形態1に係る情報処理装置が表示する仮想デバイス設定変更ダイアログの一例を示す図。 実施形態1に係る情報処理装置が表示する仮想デバイス設定ダイアログの一例を示す図。 実施形態1に係る情報処理装置のステータスウィンドウにより表示されるステータス表示画面の一例を示す図。 実施形態1に係る情報処理装置が表示するジョブリストダイアログの一例を示す図。 実施形態1に係る画像形成装置のハードウェア構成を説明するブロック図。 実施形態1に係る画像形成装置による印刷処理を説明するフローチャート。 実施形態1に係る情報処理装置で実行されるV4ドライバによる印刷処理を説明するフローチャート。 実施形態1に係る情報処理装置の仮想デバイスサービスによる処理の一例を説明するフローチャート。 実施形態1に係る情報処理装置が、仮想デバイスと画像形成装置との接続に問題がないか否かを判定する処理を説明するフローチャート。 実施形態1に係る情報処理装置が、ステータスウィンドウと仮想デバイスとの接続に関するエラーを表示するかどうかを判定する処理を説明するフローチャート。 実施形態1に係る情報処理装置が、V4ドライバと仮想デバイスの接続に問題がないかどうかを判定する処理を説明するフローチャート。 実施形態1に係る情報処理装置で、ステータスウィンドウと仮想デバイスとの接続に関するエラーが発生した場合に表示するステータスウィンドウTOP画面の一例を示す図。 実施形態1に係る情報処理装置で、ステータスウィンドウが仮想デバイスサービスと通信できなかった場合に表示するステータスウィンドウTOP画面の一例を示す図ス。 本発明の実施形態2に係る印刷システムの概略構成を示すブロック図。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
[実施形態1]
まず、本発明に係る実施形態1について説明する。
図1は、本発明の実施形態1に係る印刷システムの概略構成を示すブロック図である。図中の太い実線の矢印は、印刷ジョブのやり取りを示し、細い点線の矢印は、印刷ジョブ以外のデータのやり取りを示している。
アプリケーション102は情報処理装置101に実装されており、ユーザが目的に応じて利用するソフトウェアであり、ユーザは、このアプリケーション102を使用して印刷を指示することができる。V4ドライバ103は情報処理装置101に実装されており、アプリケーション102から印刷の指示コマンドを受け取ると、それに従って印刷ジョブを作成する。Windows標準スプーラ104は、情報処理装置101にインストールされているOS(実施形態1では、Microsoft Windows(登録商標)とする)内の印刷用スプーラである。Windows標準スプーラ104は、受信した印刷ジョブを一時的にスプールしておき、それらを受信した順に一つずつ出力する。Windows標準スプーラ104は、仮想デバイスサービス106に対してネットワーク経由で印刷ジョブを送信する。実施形態1では、Windows標準スプーラ104は、自分自身に対してデータを送信するループバックを用いた通信で印刷ジョブを送信する。このシステムでは、Windows標準スプーラ104は、いかなるジョブも仮想デバイスサービス106へ送信する。
ステータスウィンドウ105は、画像形成装置107,108のステータスの表示や任意の設定等を可能にするソフトウェアである。ステータスウィンドウ105は、RPC(Remote Procedure Call)クライアント機能を持っており、それを用いて仮想デバイスサービス106と通信する。ステータスウィンドウ105は、仮想デバイスサービス106に対して状態情報を取得するよう命令し、返信として受け取った状態情報に基づいてステータスを表示する。ステータスウィンドウ105は機種情報を有しており、実施形態1では、機種情報は製品名とする。仮想デバイスサービス106は、V4ドライバ103、Windows標準スプーラ104、ステータスウィンドウ105に対して物理的な画像形成装置のように振る舞うエミュレーターソフトウェアである。仮想デバイスサービス106との通信はWindows上のネットワーク機能を利用する。
画像形成装置107,108は、受信した印刷ジョブに基づいて画像の形成を行う。画像形成装置107,108は機種情報を有しており、実施形態1では、その機種情報は製品名とする。設定アプリケーション109は、後述する仮想デバイス300,301(図3)の設定、管理を行うソフトウェアである。
図2は、V4ドライバ103のソフトウェア構成を説明するブロック図である。
従来のV3ドライバでは、OSが提供するアプリケーションインターフェース(API)を介してアプリケーション102からOS(ドライバを含む)を呼び出しており、Devmodeとよばれるバイナリデータを印刷設定用のデータとして使用していた。
OSが提供するAPIを利用するアプリケーション102は、GDI(Graphic Device Interface)を呼び出して描画を行う。V4ドライバ103のUIは、OSが標準で搭載しているUI(以下、OS標準UI)での表示となる。V3ドライバと同等のUIを使用するためには、OSが提供するV4ドライバ用拡張UIソフトウェア201(以下、拡張UIソフトウェア)をインストールする必要がある。
ユーザがアプリケーション102を実行して印刷を行う場合、拡張UIソフトウェア201がインストールされていれば拡張UIソフトウェア201のUIが表示され、そうでなければOS標準UIが表示される。実施形態1では、拡張UIソフトウェア201がインストールされているものとして説明するが、拡張UIソフトウェア201がインストールされていなくてもよい。
印刷設定管理部202は、拡張UIソフトウェア201やOS標準UIで表示する印刷設定項目や、同時に設定できない印刷設定項目の組み合わせ(以下、コンフリクト)などを管理している。表示する印刷設定項目やコンフリクトは、画像形成装置107,108がサポートしている機能、能力に応じて画像形成装置ごと(機種ごと)に変更が可能である。V4ドライバでは印刷設定は、PrintTicketと呼ばれる、V3ドライバにおけるDEVMODE構造体をベースにする印刷設定に代わって登場した、XMLをベースとした新印刷設定フォーマットで管理される。
デバイス情報取得部203は、印刷ジョブ生成部204で印刷ジョブを生成するために必要な画像形成装置の情報を取得する。実施形態1では、仮想デバイスサービス106を経由して画像形成装置107,108の情報を取得する。デバイス情報取得部203はRPCクライアント機能を持ち、仮想デバイスサービス106が持つRPCサーバ311,321(図3)と通信することで、それぞれ画像形成装置107,108の情報を取得する。
印刷ジョブ生成部204は、デバイス情報取得部203から取得した画像形成装置の情報や、アプリケーション102から送られた印刷設定に応じたレンダリング等を行って印刷ジョブを生成する。印刷ジョブ生成部204は機種情報を有し、印刷ジョブを生成する際、その印刷ジョブに機種情報を埋め込む。実施形態1では、機種情報は製品名とする。また印刷ジョブ生成部204が受け取るデータは、XPS(XML Paper Specification)である。Win32APIを利用するアプリケーション102がGDIを呼び出すとOS内部でXPSに自動変換されて、XPSドライバ(実施形態1ではV4ドライバ103)が呼び出される。WPF(Windows Presentation Foundation)アプリケーションから印刷する場合、そのままXPSドライバが呼び出される。
PDL変換部205は、印刷ジョブを送信する画像形成装置に対応するPDL(Page Description Language)に変換する。デバイスIF部206は、Windows標準スプーラ104に印刷ジョブを送信する。
図3は、実施形態1に係る仮想デバイスサービス106のソフトウェア構成を説明するブロック図である。
仮想デバイスサービス106は、1つ以上の仮想デバイスを持ち、これら仮想デバイスはそれぞれ1つの画像形成装置と接続される。実施形態1では、仮想デバイスサービス106は2つの仮想デバイス300,301を有し、各仮想デバイス300,301はそれぞれ画像形成装置107と画像形成装置108に接続されているものとする。
仮想デバイスサービス106は、外部から仮想デバイスの登録/削除を受け付ける機能を持つ。また仮想デバイスサービス106は、不図示のインストーラによる仮想デバイスの登録に際して、情報処理装置101が持つ受信ポート番号(以下、受信ポート番号)の指定を必要とする。そして仮想デバイスサービス106は、指定された受信ポート番号と仮想デバイスとを紐づけて管理する。また仮想デバイスサービス106は、登録された仮想デバイスを実行する機能を有する。仮想デバイスの実行は、仮想デバイスサービス106が実行された時、又は仮想デバイスが新たに登録されたときに行う。
仮想デバイス300は、受信部310、RPCサーバ311、仮想デバイススプーラ312、仮想デバイスランゲージモニタ313、ポートモニタ314を有している。また、仮想デバイス300は機種情報を有し、実施形態1では、機種情報は製品名とし、仮想デバイス300内の仮想デバイススプーラ312が持つものとする。受信部310は、仮想デバイス300と紐づけられたポート番号を介してWindows標準スプーラ104から受け付けた印刷ジョブを仮想デバイススプーラ312に引き渡す。RPCサーバ311は、RPC通信により、ステータスウィンドウ105やデバイス情報取得部203などのRPCクライアント機能をもつ外部モジュールと仮想デバイススプーラ312との通信を仲介する。
仮想デバイススプーラ312は、受信部310から引き渡された印刷ジョブを格納するキューを持ち、その印刷ジョブの管理と、仮想デバイスランゲージモニタ313への送信を行う。また仮想デバイススプーラ312は、管理している印刷ジョブに対する、印刷ジョブ情報の取得や印刷ジョブの削除などの各種アクセス機能を提供する。このアクセス機能は、仮想デバイスランゲージモニタ313や設定アプリケーション109によって利用される。また仮想デバイススプーラ312は、RPCサーバ311を介して各種命令の受信及び命令への返信を行う。また仮想デバイススプーラ312は、仮想デバイスランゲージモニタ313への各種命令の送信及び命令への返信の受付を行う。実施形態1では、仮想デバイススプーラ312は、自身が所属している仮想デバイス300の機種情報として、製品名を持つものとする。
仮想デバイスランゲージモニタ313は、印刷ジョブの制御及び各種情報の管理を行うモジュールであり、仮想デバイススプーラ312から受信した印刷ジョブを、ポートモニタ314を介して画像形成装置107へ送信する。また、仮想デバイスランゲージモニタ313は、ポートモニタ314を介して、画像形成装置107への各種命令の送信、及び、画像形成装置107からの情報の取得を行う。実施形態1では、仮想デバイスランゲージモニタ313は、画像形成装置107の印刷状況、各種状態及び設定情報、エラー情報などを取得する。また仮想デバイスランゲージモニタ313は、画像形成装置107と接続された際に、その製品名を取得する。また、仮想デバイスランゲージモニタ313は、自身が持つ情報と画像形成装置107から取得した情報とに基づいて、画像形成装置107の状態の判定を行う。そしてエラー状態であると判定した場合、印刷処理を停止するなどのエラー処理を行う。また、仮想デバイスランゲージモニタ313は、仮想デバイススプーラ312からの各種命令の受信及び命令への返信を行う。例えば、仮想デバイススプーラ312を介してステータスウィンドウ105から状態情報を取得する命令を受け付けた場合は、前述の状態判定に基づいた状態情報と、機種情報を返信する。ポートモニタ314は、画像形成装置107と接続された情報処理装置101のポートと、仮想デバイスランゲージモニタ313との通信の仲介を行う。画像形成装置107は機種ごとに取り扱える通信が異なる場合があり、この画像形成装置107ごとに特化した通信処理を行う。
仮想デバイス301は、情報処理装置101が持つポートの内、仮想デバイス300とは別のポートを介して画像形成装置108と接続されている。この仮想デバイス301は、受信部320、RPCサーバ321、仮想デバイススプーラ322、仮想デバイスランゲージモニタ323、ポートモニタ324を有している。この仮想デバイス301の構成は、仮想デバイス300と同じであるため詳細な説明は省略する。
図4は、実施形態1に係る情報処理装置101のハードウェア構成を説明するブロック図である。
CPU401は、この情報処理装置101全体を制御するプロセッサである。RAM402は、CPU401が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリとして使用される。NVMEM403は不揮発性メモリであり設定情報等を記録する。ROM404は書き換え不可能な不揮発性メモリであり、各種プログラムが記録される。HDD405はOSやプログラムなどを格納している。USBI/F408は、USBデバイスに接続するための機能ユニットで、USBを介して他のデバイスのステータスを取得したり、ステータスを返したりするために使用される。LANI/F407は、LANに接続するための機能ユニットで、LANを介して他のデバイスのステータスを取得したり、ステータスを返したりするために使用される。表示部インターフェース(I/F)409は、表示部410とCPU401とのインタフェースを制御している。入出力I/F411は、例えばキーボードやポインティングデバイス等を含む操作部412とのインタフェースを制御している。以上のデバイスがシステムバス406に配置される。CPU401はROM404に記憶されているブートプログラムを実行してHDD405にインストールされているOSやプログラムなどをRAM402に展開し、それを実行することにより、後述する情報処理装置101に係る処理を実行する。尚、表示部410はタッチパネル機能を備えていても良い。
図5は、実施形態1に係る情報処理装置101の設定アプリケーション109が表示部410に表示する画面例を示す図である。
設定アプリケーション109のTOP画面500は、情報処理装置101にインストールされている仮想デバイスの情報や稼働状態を表示し、更に仮想デバイスの削除や仮想デバイスが持つ情報の変更などの機能を有する。これは仮想デバイススプーラ312,322が提供しているアクセス機能を利用している。仮想デバイス名501は、情報処理装置101にインストールされている仮想デバイスの名称を表示する。機種名502は、各仮想デバイス300,301と紐づく画像形成装置107,108を特定できる名称を示す。この実施形態1では製品名を表示している。接続方法503は、画像形成装107,108との接続方法を示しており、NWはネットワーク経由、USBはUSBを介して接続されていることを示している。IPアドレス504は、接続方法503で画像形成装置107,108との接続がネットワーク接続(NW)である場合に、その画像形成装置のIPアドレスを示す。ポート番号505は、ジョブを受信する際に、仮想デバイスに割り当てられた受信ポート番号を示す。
この画面で、ユーザが仮想デバイスの一覧から仮想デバイスを選択して削除ボタン506を押下すると、不図示の確認メッセージを表示し、ユーザの同意が得られたら、その選択された仮想デバイスを削除する。またユーザが仮想デバイスを選択して変更ボタン507を押下すると、その選択された仮想デバイスの仮想デバイス名501や画像形成装置107,108のIPアドレス、紐づけられた受信ポート番号を変更できるダイアログが表示される。またユーザが仮想デバイスを選択し、デバイス設定ボタン508を押下すると、その選択された仮想デバイスのログの保存に関する設定や時刻通知に関する設定が可能なダイアログが表示される。またユーザが仮想デバイスを選択して起動ボタン509を押下すると、その選択された仮想デバイスのステータスウィンドウ105が起動する。更にユーザが仮想デバイスを選択してキュー表示ボタン510を押下すると、その選択された仮想デバイスの仮想デバイススプーラ312が管理する印刷ジョブに関する情報が表示される。
IPアドレス表示欄511には、この情報処理装置101のIPアドレスが表示される。ユーザが閉じるボタン512を押下すると、このアプリケーションを終了する。またアイコン513は、仮想デバイスが稼働中、或いは停止中かを示すアイコンで、仮想デバイス名の先頭に表示される。
図6は、実施形態1に係る情報処理装置101が表示する仮想デバイス設定変更ダイアログ600の一例を示す図である。この画面は、図5の画面でユーザが仮想デバイスの一覧から仮想デバイスを選択して変更ボタン507を押下することにより表示される。
接続プリンタ601は、選択された仮想デバイスと紐づく画像形成装置107,108の製品名を示す。接続先602は、選択された仮想デバイスがジョブを出力する接続先を示す。画像形成装置との接続がNWの場合、この接続先602は、その画像形成装置のIPアドレスとなる。また画像形成装置との接続がUSB接続の場合は、この接続先602(コントロール)は非表示となる。仮想デバイス名603は、図5のTOP画面500で表示される仮想デバイス名501に表示される名称である。受信ポート番号604は、前述の受信ポート番号を示す。図6では、図5の仮想デバイス名が「VitualPrinter_1」が選択されて変更ボタン507を押下された場合であるため、IPアドレス、受信ポート番号は、図5と対応している。尚、仮想デバイス名「VitualPrinter_1」は、ここでは画像形成装置108に対応している。
ここでユーザが画像形成装置のIPアドレスを変更した場合、接続先602のIPアドレスを変更することで、同じ画像形成装置に出力することが可能となる。また同一機種で別の画像形成装置に出力したい場合も、ユーザは接続先602のIPアドレスを変更することでジョブの出力先を変更できる。こうしてユーザが、この画面を介して所望の項目を編集した後、OKボタン605を押下すると、この画面での設定を反映して仮想デバイス設定変更ダイアログ600を閉じる。またユーザがキャンセルボタン606を押下すると、この画面での編集内容は破棄されて、仮想デバイス設定変更ダイアログ600を閉じる。
図7は、実施形態1に係る情報処理装置101が表示する仮想デバイス設定ダイアログ700の一例を示す図である。この画面は、図5の画面でユーザが仮想デバイスを選択してデバイス設定ボタン508を押下することにより表示される。図7は、図5の仮想デバイス名が「VitualPrinter_1」が選択されてデバイス設定ボタン508が押下された場合を示している。
この画面でユーザが、プリンタのログを保存するラジオボタン701にチェックすると、仮想デバイスと紐づく画像形成装置108の内部のログ情報を情報処理装置101上に吸い上げ、保存先706で指定されたファイルに保存する。またユーザが、コンピュータのログを保存するラジオボタン702にチェックすると、情報処理装置101における画像形成装置108との通信の記録など、情報処理装置101で処理したログを、保存先707で指定されたファイルに保存する。またユーザが、プリンタに時刻を通知するラジオボタン703にチェックすると、定期的に情報処理装置101の時刻を画像形成装置108に通知する。OKボタン704が押下されると、この画面での編集内容を反映して仮想デバイス設定ダイアログ700を閉じる。またユーザがキャンセルボタン705を押下すると、この画面での編集内容を破棄して仮想デバイス設定ダイアログ700を閉じる。
図8は、実施形態1に係る情報処理装置101のステータスウィンドウ105により表示されるステータス表示画面の一例を示す図である。この画面は、図5の画面でユーザが起動ボタン509を押下することによりステータスウィンドウ105が起動されて表示される。
ステータスウィンドウTOP画面801は、選択された仮想デバイスのステータスの内容に応じてメインメッセージ部802、ステータス画面部803の表示を切り替える。補助メッセージ部804は、ステータスの補足情報などを表示する。図8では、ネットワークを介して接続されている画像形成装置108(VirtualPrinter_1)のトナーが少なくなっていることを示すメッセージが表示されている。
図9は、実施形態1に係る情報処理装置101が表示するジョブリストダイアログ901の一例を示す図である。この画面は、図5の画面で、ユーザがキュー表示ボタン510を押下することにより起動される仮想デバイススプーラ312(322)が管理するジョブリストダイアログの一例を示している。
ドキュメント名902は、処理中のドキュメント名を表示する。ユーザ名903は、ジョブを実行したユーザ名を表示する。状況904は、印刷中や待機中などのジョブの状況を示す。この画面でユーザが更新ボタン905を押下すると、表示しているジョブリストを最新の状態に更新する。またユーザが全選択ボタン906を押下すると、ジョブリストに表示されている全てのジョブを選択状態とする。ユーザがジョブリストでジョブを選択してジョブ削除ボタン907を押下すると、その選択されたジョブを削除する。ユーザが閉じるボタン908を押下すると、このジョブリストダイアログ900が閉じられる。
図10は、実施形態1に係る画像形成装置108(107)のハードウェア構成を説明するブロック図である。ここでは、ネットワークを介して接続された画像形成装置108を参照して説明するが画像形成装置107の構成も基本的に同様であるため、ここでは画像形成装置107の構成の説明を省略する。
CPU1001は、画像形成装置108の全体の動作を制御している。RAM1002は、CPU1001の主メモリ、ワークエリア等として機能するとともに、出力情報の展開領域、環境データの格納領域としても用いられる。またこのRAM1002は、NVRAM(不揮発性RAM)領域も備えており、図示しない増設用ソケットに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。ROM1003は、各種フォントを記憶するフォントROM1020,CPU1001により実行される制御プログラム等を記憶するプログラムROM1021及び各種データを記憶するデータROM1022を備えている。各種I/F(ネットワーク及びUSBI/Fが主たるもので図はネットワークの場合)1004は、情報処理装置101との間でデータの送受信を行なう。印刷部I/F1005は、プリンタエンジンである印刷部1006とのインターフェースを制御している。外部メモリ1009は、外部メモリI/F1008によりアクセスが制御されており、オプションとして接続されるハードディスク(HD)、Solid State Disk(SSD)等を含んでいる。外部メモリ1009は、フォントデータ、フォームデータ等を記憶する。更にこの画像形成装置108で一時的に作成され、外部とのやり取りを行うためのファイル1010を記憶することも可能である。
尚、ハードディスク等の外部メモリ1009が接続されていない場合には、ROM1003のデータROM1022に、情報処理装置101で利用される情報等を記憶することになる。尚、この外部メモリ1009は1個に限らず複数備えるものであってもよい。例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。操作部1007には、ユーザによる操作を受け付けるタッチパネル構造の操作パネルが設けられ、更に、操作パネルには、操作のためのスイッチ及び表示器等が配されている(不図示)。また、不図示のNVRAMを有し、操作パネルからのプリンタモード設定情報を記憶するようにしてもよい。
CPU1001は、ROM1003のプログラムROM1021に記憶された制御プログラム等に基づき、印刷部I/F1005を介して印刷部1006に出力情報としての画像信号を出力する。また、CPU1001は、各種I/F(ネットワーク又はUSBI/Fが主たるもの)1004を介して情報処理装置101と通信を行うことができる。そして、情報処理装置101から送信される印刷ジョブを受信すると共に、画像形成装置108の情報等を、情報処理装置101に通知可能な双方向通信経路が構成されている。
図11は、実施形態1に係る画像形成装置108による印刷処理を説明するフローチャートである。尚、この処理を実行するプログラムは、ROM1003のプログラムROM1021に格納されており、CPU1001がこのプログラムを読み出して実行することにより、このフローチャートで示す処理が実現される。
先ずS1101でCPU1001は、仮想デバイスサービス106が動作する情報処理装置101からデータを受信するとS1102に進み、そのデータの処理が必要かどうか判定する。S1102でCPU1001が、そのデータの処理が必要と判定するとS1103へ進むが、そうでないときはS1101に進んでデータの受信を待ち続ける。ここで意味の無いデータの場合には、そのデータを読み捨てるようにしても良い。尚、ここで、受信したデータは、画像形成装置108が認識できるコマンド形式であることを前提とする。
S1103でCPU1001は、その受信データのコマンドを解析し、その解析結果に応じた処理を行う。次にS1104に進みCPU1001は、そのデータが画像処理パラメータの取得コマンドかどうかを判定し、そうであればS1105に進み、画像形成装置108が持つ画像補正用の画像パラメータを参照して取得する。そしてS1106に進みCPU1001は、その取得コマンドに対して返信するための返信用バッファに、その取得したパラメータ値を設定する。そしてS1107に進みCPU1001は、返信用バッファに設定したパラメータを返信する返信処理を実行してS1101のデータ受信待ちへ進む。
一方、S1104でCPU1001が、画像処理パラメータの取得コマンドでないと判定したときはS1108に進む。S1108でCPU1001は、そのデータが、画像形成装置を制御する制御コマンド(装置の設定参照や設定実行、装置の状態参照など)かどうか判定し、そうであればS1109に進む。S1109でCPU1001は、その制御コマンドを判定し、その制御コマンドに応じた処理を実行してS1110に進む。S1110でCPU1001は、その制御コマンドに対して返信する必要があるかどうか判定し、返信が必要と判定するとS1107に進んで、返信処理を実行してS1101に進む。またS1110で返信が不要と判定すると、そのままS1101に進む。
またS1108で制御コマンドでないと判定したときはS1111に進む、この場合は、印刷ジョブ(印刷コマンドを含む)を受信したと判定して、その印刷ジョブの解析を行。そしてS1112に進みCPU1001は、この画像形成装置108の印刷部1006を制御して印刷処理を実行する。こうして印刷処理が終了するとS1101のデータ受信待ちに進む。
次に、実施形態1に係る印刷システムを用いて印刷が行われた場合のデータの流れを、前述の図1〜図3を参照して説明する。
情報処理装置101でユーザが利用するアプリケーション102から印刷の開始が指示されるとV4ドライバ103が呼ばれて印刷ジョブを作成する。この印刷ジョブの作成に際して、画像形成装置の動的な画像パラメータが用いられる。ここで図2のデバイス情報取得部203は、仮想デバイスサービス106を通して画像形成装置からの情報を受信する。この情報とともに印刷ジョブ生成部204が印刷ジョブを生成し、更にPDL変換部205にてPDL形式の印刷ジョブに変換する。そして、この印刷ジョブは、情報処理装置101で動作するWindowsのWindows標準スプーラ104へ渡される。Windows標準スプーラ104上の印刷ジョブは、Windowsネットワーク機能における標準ポートモニタを通して、Windowsネットワーク機能を通して仮想デバイスサービス106の仮想デバイス301の受信部320へ送信される。仮想デバイス301の受信部320は、この印刷ジョブをネットワークを介して受信し、仮想デバイス301内の仮想デバイススプーラ322が持つキューへ格納する。仮想デバイススプーラ322は、仮想デバイスランゲージモニタ323とやりとりをしながら、キューに格納された印刷ジョブを、仮想デバイス301のポートモニタ324を介して画像形成装置108へ送信する。仮想デバイススプーラ322は、これと同時に双方向通信によって画像形成装置108の状態情報を受け取り、RPCサーバ321を介して各種命令受信及び命令への返信を行う。
ステータスウィンドウ105は、Windowsネットワーク機能を介して仮想デバイスサービス106とやりとりし、画像形成装置108の状態表示や画像形成装置108の設定項目の編集等を行う。
図12は、実施形態1に係る情報処理装置101で実行されるV4ドライバ103による印刷処理を説明するフローチャートである。尚、この処理は、情報処理装置101のCPU401がHDD405に記憶されているプログラムをRAM402に展開して実行することにより達成される。尚、ここでは画像形成装置108を使用して印刷する場合で説明する。
V4ドライバ103を実行するCPU401はS1201で初期化処理を実行し、画像形成装置108に存在する画像処理用の画像パラメータを取得する。この画像パラメータは、これ以降の画像レンダリング処理において必要な画像パラメータである。この取得処理では、図2のV4ドライバ103中のデバイス情報取得部203が、図3の仮想デバイスサービス106のRPCサーバ321と通信して、画像形成装置108から画像パラメータを取得する。つまり後述する図13におけるS1311,S1312にて応答がなされた結果の受信が行われる。ここで画像形成装置108から画像パラメータが得られない場合は、画像データの補正に不具合が現れるなどの可能性があるが、そのような場合には、ある規定の値を用いて画像レンダリング処理は継続される。
その次にS1202,S1203でCPU401は、アプリケーション102からの印刷ジョブの入力を待つ。ここで印刷ジョブが入力されるとS1204へ進み、後段の仮想デバイスサービス106からのメッセージデータを入力する。この後段からのメッセージデータとは、画像形成装置108からの印刷ジョブの受信完了を示すメッセージ等である。そしてS1205に進みCPU401は、処理すべきメッセージデータを受け取ったかどうかを判定し、処理すべきメッセージデータを受信していないときはS1208へ進む。S1205で処理すべきメッセージデータを受け取ったと判定するとS1206へ進み、そのメッセージ種別に応じた表示等の処理を行う(メッセージ種の詳細については省略する)。このメッセージ種の一つとしては「印刷処理終了」があり、その場合はS1207で処理終了と判定して、この処理を終了する。尚、異常終了などの場合もS1207で印刷終了と判定されて、この処理を終了する。
S1207で印刷終了でないと判定するとS1208に処理を進め、受信した印刷ジョブの処理が必要かどうかを判定する。ここで処理の必要が無いと判定すると、更にアプリケーション102からのデータを受け取るためにS1202へ戻る。S1208でCPU401は印刷ジョブの処理が必要と判定するとS1209へ進み、S1201で取得した画像補正用パラメータを用いてレンダリング処理を行う。次にS1210に進みCPU401は、レンダリング処理により得られた印刷データを含む印刷ジョブをWindows標準スプーラ104へ保存する。そしてS1211に進みCPU401は、その印刷ジョブを、実際に印刷を行う画像形成装置108が入力可能な印刷データの形式へ変換する。ここではWindows標準スプーラ104上で、このデータの変換が実行される。そしてS1212に進みCPU401は、Windows標準スプーラ104に、変換後の印刷ジョブを保存する。そしてS1213に進みCPU401は、Windowsネットワーク機能におけるWindows標準ポートモニタ(不図示)へ印刷ジョブの送信を依頼し、その印刷ジョブを仮想デバイスサービス106へ送信する。こうして印刷ジョブの送信が終了すると、更に次の印刷ジョブを送信するためにS1205へ戻り、前述したメッセージ処理、レンダリング処理、データコンバート処理、データ送信処理を実行する。
尚、このフローチャートでは、S1207で印刷終了と判定した後、印刷処理を終了しているが、印刷処理を終了するのではなくS1201の次の印刷ジョブ待ちに移行しても良い。
図13は、実施形態1に係る情報処理装置101の仮想デバイスサービス106による処理の一例を説明するフローチャートである。尚、この処理は、情報処理装置101のCPU401がHDD405に記憶されているプログラムをRAM402に展開して実行することにより達成される。実施形態1では、画像形成装置108に対応する仮想デバイス301の場合で説明する。
先ずS1301でCPU401は仮想デバイス301の受信部320として機能し、受信ポートからデータを入力する。より具体的には、受信部320は、Windowsネットワーク機能のポートからデータを入力する。次にS1302に進みCPU401は、処理が必要なデータ(印刷ジョブ)が入力されたかどうかを判定し、そうであればS1303に進み、その入力データを仮想デバイススプーラ322のキューに格納する。ここで不図示ではあるが、データの入力は一度に受け取れない場合もあり、その場合には分割して受信しながら、その都度、そのデータをキューに格納する処理の中断、継続が行われ、最終的にキューに格納する処理は完了する。
次にS1304に進みCPU401は、そのキューに処理すべきデータがあるかどうか判定し、処理すべきデータが無ければS1301のポートからのデータ入力処理に戻る。S1304でCPU401は、キューに処理すべきデータが存在すると判定するとS1305に進み、CPU401は仮想デバイスランゲージモニタ323として機能してキューからデータを取り出し、画像形成装置108に対して印刷ジョブの送信を開始する。まずS1306でCPU401は仮想デバイスランゲージモニタ323として機能し、画像形成装置108からステータス情報を取得する。次にS1307に進みCPU401は仮想デバイスランゲージモニタ323として機能し、画像形成装置108のエンジンモニタと通信する。そしてS1308に進みCPU401は仮想デバイスランゲージモニタ323として機能し、画像形成装置108のステータス情報を利用して、更に、画像形成装置108のエンジン状態に合わせた画像データの送信を行う。その後S1309に進み、画像データの送信が終了したかを調べ、画像データの送信が終了していないときはS1306に進んで、前述の処理を実行する。そして最終的に印刷が終了するとS1301へ戻る。
一方、S1302でCPU401は、受信部320からの、処理が必要なデータを受信していない、即ち、印刷ジョブを受信していないと判定するとS1311へ進む。S1311でCPU401は、V4ドライバ103からの画像形成装置108を制御するコマンド、即ち、画像形成装置108の画像パラメータの取得コマンドを受信したかどうか判定する。ここで画像パラメータの取得コマンドの受信でないと判定するとS1315へ進むが、S1311でパラメータの取得コマンドを取得したと判定するとS1312へ進む。S1312でCPU401は仮想デバイスランゲージモニタ323として機能し、画像形成装置108に対して画像パラメータの取得のコマンドを送信する。そしてS1313でその応答を待ち、応答を受信するとS1314に進み、その応答をV4ドライバ103へ転送してS1315へ進む。
S1315でCPU401は、ステータスウィンドウ105等からの画像形成装置108を制御するコマンドを受信したかどうか判定する。そうであればS1316に進むがそうでないときはS1319に進む。S1316でCPU401は仮想デバイスランゲージモニタ323として機能し、その制御コマンド内容を解析し、その解析結果に対応する制御コマンドを画像形成装置108に送信する。そしてS1317に進んで、そのコマンドに対する画像形成装置108からの応答を待つ。そして応答を受信するとS1318に進み、その内容をステータスウィンドウ105等へ送信してS1319に進む。
S1319でCPU401は、他に画像形成装置108へ送信すべきコマンドがあるか否か判定し、あればS1320へ進み、なければS1321へ進む。S1320でCCPU401は仮想デバイスランゲージモニタ323として機能し、制御コマンドを画像形成装置108へ送信し、S1321でその制御コマンドに対する画像形成装置108からの応答を待つ。そして応答を受信するとS1322に進みCPU401は仮想デバイスランゲージモニタ323として機能し、その応答を仮想デバイスサービス106で反映させてS1301へ戻る。尚、S1321でCPU401は、処理すべき制御コマンドではないが、なんらかのデータが到着していれば、そのデータを読み捨ててS1301へ戻る。
このように実施形態1に係る仮想デバイスサービスは、V4ドライバから受け取った印刷ジョブを画像形成装置(プリンタ)の状態に合わせて送信して印刷させることができる。またV4ドライバから画像形成装置のパラメータ取得コマンドを受け取ると、その画像形成装置のパラメータを取得してV4ドライバに返信できる。更には、ステータスウインドウからの要求に応じて画像形成装置のステータスを取得することができる。
図14〜図16は、実施形態1に係る情報処理装置101における、V4ドライバ103、ステータスウィンドウ105、仮想デバイス300、画像形成装置107の接続に関するエラー処理を説明するフローチャートである。
図14は、実施形態1に係る情報処理装置101が、仮想デバイス300と画像形成装置107との接続に問題がないか否かを判定する処理を説明するフローチャートである。尚、この処理は、情報処理装置101のCPU401がHDD405に記憶されているプログラムをRAM402に展開して実行することにより達成される。この処理は、仮想デバイス300と画像形成装置107とが接続したときに開始される。
先ずS1401でCPU401は仮想デバイスランゲージモニタ313として機能し、画像形成装置107から機種情報を取得する。この実施形態1では、機種情報は製品名とする。次にS1402に進みCPU401は仮想デバイスランゲージモニタ313として機能し、その取得した機種情報と、仮想デバイス300が持つ機種情報とを比較する。ここで、それらが同じであればS1403へ進み、異なる場合はS1404へ処理を進める。S1403でCPU401は仮想デバイスランゲージモニタ313として機能し、その接続に問題は無いと判定して、この処理を終了する。一方、S1404でCPU401は仮想デバイスランゲージモニタ313として機能し、その接続に問題があるため、エラー状態になったと判定して、この処理を終了する。尚、S1404でエラー状態になったと判定した状況で、仮想デバイスランゲージモニタ313が状態情報を取得する命令を受け付けた場合は、接続に関するエラー状態と機種情報を返信する。
図15は、実施形態1に係る情報処理装置101が、ステータスウィンドウ105と仮想デバイス300との接続に関するエラーを表示するかどうかを判定する処理を説明するフローチャートである。尚、この処理は、情報処理装置101のCPU401がHDD405に記憶されているプログラムをRAM402に展開して実行することにより達成される。この処理は、ステータスウィンドウ105が仮想デバイス300に対して状態情報の取得を命令することにより開始される。
S1501でCPU401はステータスウィンドウ105として機能し、仮想デバイス300に対して行った状態情報の取得命令の返信として、指定した画像形成装置の状態情報と機種情報を取得する。次にS1502に進みCPU401はステータスウィンドウ105として機能し、その取得した機種情報とステータスウィンドウ105が持つ機種情報とを比較する。そして、これらが同じであればS1504へ進み、そうでないときはS1503へ処理を進める。S1503でCPU401はステータスウィンドウ105として機能し、その取得した状態情報と、接続に関するエラー状態との重要度を比較する。実施形態1では、ステータスウィンドウ105は、接続に関するエラー状態を含む全ての状態の重要度を保持しており、これを参照して判定する。そしてS1503で、接続に関するエラー状態の方が重要度が高いと判定するとS1505へ進み、そうでなければS1504へ処理を進める。S1504でCPU401はステータスウィンドウ105として機能し、その取得した状態情報に基づいた表示を行って、この処理を終了する。一方、S1505でCPU401はステータスウィンドウ105として機能し、例えば図17に示すような接続に関するエラー状態を表示して、この処理を終了する。
図17は、実施形態1に係る情報処理装置101で、ステータスウィンドウ105と仮想デバイス300との接続に関するエラーが発生した場合に表示部410に表示するステータスウィンドウTOP画面801の一例を示す図である。
メインメッセージ部1702及び補助メッセージ部1704に、ステータスウィンドウ105の持つ機種情報と、仮想デバイス300から取得した機種情報とが一致しないことを示すメッセージが表示されている。また、図には示していないが、付属情報として印刷ジョブを投入した場合、印刷できないため自動で削除される旨を表示するようにしても良い。ステータス画面部1703には、エラーが発生していることを示すマークを付与した画像形成装置のイメージが表示されている。
図16は、実施形態1に係る情報処理装置101が、V4ドライバ103と仮想デバイス300の接続に問題がないかどうかを判定する処理を説明するフローチャートである。尚、この処理は、情報処理装置101のCPU401がHDD405に記憶されているプログラムをRAM402に展開して実行することにより達成される。この処理は、仮想デバイスランゲージモニタ313が印刷ジョブを受信したときに開始される。
まずS1601でCPU401は仮想デバイスランゲージモニタ313として機能し、受信した印刷ジョブが持つ機種情報と、仮想デバイス300の機種情報とを比較する。そして、これらが同じであると判定するとS1602へ進み、そうでないときはS1603へ処理を進める。S1602でCPU401は仮想デバイスランゲージモニタ313として機能し、V4ドライバ103と仮想デバイス300とが正常に接続されていると判定し、受信した印刷ジョブの印刷処理を継続する。一方、S1603でCPU401は仮想デバイスランゲージモニタ313として機能し、V4ドライバ103と仮想デバイス300の接続が正しくないと判定し、受信した印刷ジョブの処理を停止して、この処理を終了する。尚、実施形態1では、S1603で仮想デバイスランゲージモニタ313は、受信した印刷ジョブを削除することによって、印刷処理を停止する。
図18は、実施形態1に係る情報処理装置101で、ステータスウィンドウ105が仮想デバイスサービス106と通信できなかった場合(以下、仮想デバイス通信エラー)に表示するステータスウィンドウTOP画面801の一例を示す図である。
ステータススウィンドウ105は、RPC通信を用いて仮想デバイスサービス106と通信する。画像形成装置107,108の電源のOFF/ONに関わらず、仮想デバイスサービス106とのRPC通信に失敗した場合、仮想デバイス通信エラーを表示する。
メインメッセージ部1802及び補助メッセージ部1804には、仮想デバイスサービス106との通信ができない旨を示すメッセージが表示されている。またステータス画面部1803には、エラーが発生していることを示すマークを付与した画像形成装置のイメージが表示されている。
以上説明したように実施形態1によれば、情報処理装置がV4ドライバをインストールしている環境であっても、そのV4ドライバを利用してホストベース型印刷システムに対応した画像形成装置でV3ドライバと同等に印刷ができるという効果がある。
[実施形態2]
次に、本発明に係る実施形態2について説明する。
図19は、本発明の実施形態2に係る印刷システムの概略構成を示すブロック図である。図中の太い実線の矢印は、印刷ジョブのやり取りを示し、細い点線の矢印は、印刷ジョブ以外のデータのやり取りを示している。
この印刷システムの構成は、前述の実施形態1に係る図1の構成に、2台の情報処理装置1901,1911をネットワーク経由で接続している。2台の情報処理装置1901,1911はそれぞれクライアントとして機能し、サーバとして機能する情報処理装置101を経由して、画像形成装置107,108に印刷を実行させることができる。
クライアントとして機能する情報処理装置1901,1911はそれぞれ、アプリケーション1902,1912、V4ドライバ1903,1913、Windows標準スプーラ1904,1914、ステータスウィンドウ1905,1915を有している。
これらについての説明は実施形態1と同様である。本実施形態2と実施形態1のシステム構成では、以下のような構成の違いがある。
Windows標準スプーラ1904,1914は、サーバとして機能する情報処理装置101の仮想デバイスサービス106に対して、それぞれの送信先ポートに登録された画像形成装置への印刷ジョブを、ネットワークを介して送信する。ステータスウィンドウ1905,1915は、RPCを用いて、サーバとして機能する情報処理装置101の仮想デバイスサービス106と通信を行う。尚、この実施形態2に係る印刷システムで実行される処理は、基本的に前述の実施形態1の場合と同様である。
以上説明したように実施形態2によれば、サーバクライアント接続されたクライアントからも、サーバの仮想デバイスサービスを経由して画像形成装置に印刷ジョブを送信して印刷させることができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
101…情報処理装置、103…V4ドライバ、104…Windows標準スプーラ、105…ステータスウィンドウ、106…仮想デバイスサービス、107,108…画像形成装置、109…設定アプリケーション

Claims (14)

  1. OSを搭載し、当該OSにより、アプリケーションから受け取った印刷データから印刷ジョブを生成する情報処理装置であって、
    前記情報処理装置のポートを介して印刷装置と接続し、前記OSから前記印刷ジョブを受け取って前記印刷装置に送信するとともに、前記OSから前記印刷装置の制御コマンドを受け取ると前記印刷装置に送信するデバイスサービスと、
    前記制御コマンドに対する前記印刷装置からの応答を前記デバイスサービスから受け取ると、当該応答に基づいて前記印刷装置のステータスを表示させる表示手段と、
    を有することを特徴とする情報処理装置。
  2. 前記デバイスサービスは、前記OSから受け取った前記印刷ジョブをキューに保存し、当該キューに保存された印刷ジョブを読み出して前記印刷装置に送信することを特徴とする請求項1に記載の情報処理装置。
  3. 前記デバイスサービスは、前記制御コマンドに対する前記印刷装置からの応答に含まれる機種情報と、前記デバイスサービスが管理している印刷装置の機種情報とが一致しないときはエラーとすることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記デバイスサービスは、前記OSから前記印刷装置のパラメータの取得コマンドを受け取ると当該取得コマンドを前記印刷装置に送信し、前記取得コマンドに対する前記印刷装置からの応答を受信すると当該応答を前記OSに返信することを特徴とする請求項1に記載の情報処理装置。
  5. 前記デバイスサービスは、前記OSから受け取った前記印刷ジョブに含まれる印刷装置の機種情報と、前記デバイスサービスが管理している印刷装置の機種情報とが一致しないときは前記印刷ジョブを実行しないことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記デバイスサービスが管理している前記印刷装置の設定或いは変更を行う設定手段を、更に有することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 印刷装置が前記情報処理装置に接続されると、前記デバイスサービスは、前記接続された印刷装置の情報を当該印刷装置から取得し、取得した前記情報が前記デバイスサービスが管理している印刷装置の情報と一致するときは前記接続された印刷装置を管理し、前記取得した前記情報が前記デバイスサービスが管理している印刷装置の情報と一致しないときはエラーとすることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記デバイスサービスは、前記情報処理装置にインストールされた前記印刷装置のエミュレーターソフトウェアであることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記OSは、前記アプリケーションから受け取った印刷データをスプールし、スプールした印刷データを印刷装置が解釈できる印刷コマンドに変換するV4ドライバを含むことを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記情報処理装置は複数の印刷装置を接続でき、前記デバイスサービスは、前記複数の印刷装置それぞれに対応することを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 情報処理装置と印刷装置とを含む印刷システムであって、
    前記情報処理装置は、
    OSを搭載し、当該OSにより、アプリケーションから受け取った印刷データから印刷ジョブを生成し、
    前記OSから前記印刷ジョブを受け取って前記印刷装置に送信するとともに、前記OSから前記印刷装置の制御コマンドを受け取ると前記印刷装置に送信するデバイスサービスと、
    前記制御コマンドに対する前記印刷装置からの応答を前記デバイスサービスから受け取ると、当該応答に基づいて前記印刷装置のステータスを表示する表示手段と、を有し、
    前記印刷装置は、前記情報処理装置のポートを介して前記デバイスサービスと接続されていることを特徴とする印刷システム。
  12. さらに、前記情報処理装置にクライアントとして接続された第1の情報処理装置を有し、前記第1の情報処理装置は、前記情報処理装置の前記デバイスサービスを経由して前記印刷装置に印刷ジョブを送信することを特徴とする請求項11に記載の印刷システム。
  13. OSを搭載し、当該OSにより、アプリケーションから受け取った印刷データから印刷ジョブを生成する情報処理装置の制御方法であって、
    OSにより、アプリケーションから受け取った印刷データから印刷ジョブを生成し、
    前記情報処理装置のポートを介して印刷装置と接続するデバイスサービスを実行し、前記OSから前記印刷ジョブを受け取って前記印刷装置に送信し、
    前記デバイスサービスは、前記OSから前記印刷装置の制御コマンドを受け取ると前記印刷装置に送信し、
    前記デバイスサービスは、前記制御コマンドに対する前記印刷装置からの応答を受信すると前記OSに送信し、前記応答に基づいて前記印刷装置のステータスを表示させることを特徴とする情報処理装置の制御方法。
  14. コンピュータを、請求項1乃至10のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2015166186A 2015-08-25 2015-08-25 情報処理装置とその制御方法、及びデバイスアプリケーションとプログラム Active JP6609140B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015166186A JP6609140B2 (ja) 2015-08-25 2015-08-25 情報処理装置とその制御方法、及びデバイスアプリケーションとプログラム
US15/228,178 US10241731B2 (en) 2015-08-25 2016-08-04 Information processing apparatus, method of controlling the same, print system and storage medium
CN201610719439.9A CN106484337B (zh) 2015-08-25 2016-08-24 信息处理装置及其控制方法、以及打印系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015166186A JP6609140B2 (ja) 2015-08-25 2015-08-25 情報処理装置とその制御方法、及びデバイスアプリケーションとプログラム

Publications (3)

Publication Number Publication Date
JP2017045201A true JP2017045201A (ja) 2017-03-02
JP2017045201A5 JP2017045201A5 (ja) 2018-09-20
JP6609140B2 JP6609140B2 (ja) 2019-11-20

Family

ID=58103987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015166186A Active JP6609140B2 (ja) 2015-08-25 2015-08-25 情報処理装置とその制御方法、及びデバイスアプリケーションとプログラム

Country Status (3)

Country Link
US (1) US10241731B2 (ja)
JP (1) JP6609140B2 (ja)
CN (1) CN106484337B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6723025B2 (ja) * 2016-02-22 2020-07-15 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム
JP7181701B2 (ja) 2018-04-13 2022-12-01 キヤノン株式会社 情報処理装置と、印刷装置とその制御方法及びプログラム
JP7208744B2 (ja) * 2018-08-30 2023-01-19 キヤノン株式会社 サーバとその制御方法、並びにプログラム
JP2020135585A (ja) * 2019-02-22 2020-08-31 株式会社沖データ 印刷制御装置、プログラム及び印刷制御方法
JP7313908B2 (ja) * 2019-05-30 2023-07-25 キヤノン株式会社 アプリケーション、情報処理装置及び情報処理装置の制御方法
JP2020197972A (ja) * 2019-06-04 2020-12-10 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム、仮想デバイスサービス及び仮想デバイスの生成方法
CN110865776B (zh) * 2019-09-30 2023-07-04 浙江口碑网络技术有限公司 票据打印方法及其装置
JP2022147547A (ja) * 2021-03-23 2022-10-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259363A (ja) * 1999-03-10 2000-09-22 Seiko Epson Corp プリントサーバ、印刷制御方法、印刷制御プログラムを記録した媒体およびネットワークプリントシステム
JP2002202873A (ja) * 1996-12-27 2002-07-19 Canon Inc プリントシステムおよび印刷制御装置およびプリントモニタ方法およびコンピュータ読み取り可能なプログラムが格納された記憶媒体
JP2002202871A (ja) * 2000-10-23 2002-07-19 Canon Inc 印刷システム、印刷制御装置、情報処理方法、制御プログラム
JP2006079138A (ja) * 2004-09-07 2006-03-23 Ricoh Co Ltd ステータス取得方法、プリンタドライバ及び情報処理装置
JP2007048069A (ja) * 2005-08-10 2007-02-22 Seiko Epson Corp 印刷システムにおける情報取得方法
JP2008035058A (ja) * 2006-07-27 2008-02-14 Seiko Epson Corp プログラム、情報記憶媒体、通信装置および画像処理システム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0657846B1 (en) 1993-12-09 2002-03-13 Canon Kabushiki Kaisha Printer having power saving function
JP3944133B2 (ja) * 2003-07-25 2007-07-11 キヤノン株式会社 情報処理装置及び情報処理方法及びプログラム並びにコンピュータ読み取り可能な記憶媒体
JP4533014B2 (ja) 2004-06-14 2010-08-25 キヤノン株式会社 印刷装置、情報処理装置、及びその制御方法
JP4537133B2 (ja) 2004-07-09 2010-09-01 キヤノン株式会社 プリンタ及び制御方法及びプログラム並びに記憶媒体
KR100661178B1 (ko) * 2004-09-21 2006-12-26 삼성전자주식회사 파일 포맷 변환기능을 갖는 화상형성장치 및 그 방법
JP4619868B2 (ja) * 2005-06-03 2011-01-26 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
JP2012068299A (ja) 2010-09-21 2012-04-05 Canon Inc 画像形成装置、画像形成装置の制御方法、およびコンピュータプログラム
JP2013058042A (ja) 2011-09-07 2013-03-28 Canon Inc 画像形成装置、セキュアネットワークシステム、画像形成装置の制御方法と証明書情報の更新方法
JP2013116613A (ja) 2011-12-05 2013-06-13 Canon Inc 印刷装置、その制御方法、及びプログラム
JP5975666B2 (ja) * 2012-02-15 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
WO2013147902A1 (en) * 2012-03-31 2013-10-03 Intel Corporation Method, device, and system for ad-hoc resource selection
JP6057666B2 (ja) * 2012-10-25 2017-01-11 キヤノン株式会社 画像形成装置、情報処理方法及びプログラム
JP2014109854A (ja) * 2012-11-30 2014-06-12 Canon Inc 情報処理装置および制御方法およびプログラム
JP6245806B2 (ja) 2013-01-08 2017-12-13 キヤノン株式会社 情報処理装置およびその制御方法、
JP2015003477A (ja) 2013-06-21 2015-01-08 キヤノン株式会社 印刷装置及びその制御方法、並びにプログラム
JP5888300B2 (ja) * 2013-08-30 2016-03-16 コニカミノルタ株式会社 携帯端末装置、同装置における画像処理装置の登録方法及び登録プログラム
JP6289085B2 (ja) * 2013-12-25 2018-03-07 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6387918B2 (ja) * 2015-07-23 2018-09-12 コニカミノルタ株式会社 画像形成装置、端末装置、画像形成システム及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202873A (ja) * 1996-12-27 2002-07-19 Canon Inc プリントシステムおよび印刷制御装置およびプリントモニタ方法およびコンピュータ読み取り可能なプログラムが格納された記憶媒体
JP2000259363A (ja) * 1999-03-10 2000-09-22 Seiko Epson Corp プリントサーバ、印刷制御方法、印刷制御プログラムを記録した媒体およびネットワークプリントシステム
JP2002202871A (ja) * 2000-10-23 2002-07-19 Canon Inc 印刷システム、印刷制御装置、情報処理方法、制御プログラム
JP2006079138A (ja) * 2004-09-07 2006-03-23 Ricoh Co Ltd ステータス取得方法、プリンタドライバ及び情報処理装置
JP2007048069A (ja) * 2005-08-10 2007-02-22 Seiko Epson Corp 印刷システムにおける情報取得方法
JP2008035058A (ja) * 2006-07-27 2008-02-14 Seiko Epson Corp プログラム、情報記憶媒体、通信装置および画像処理システム

Also Published As

Publication number Publication date
US10241731B2 (en) 2019-03-26
JP6609140B2 (ja) 2019-11-20
US20170060488A1 (en) 2017-03-02
CN106484337B (zh) 2020-12-15
CN106484337A (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
JP6609140B2 (ja) 情報処理装置とその制御方法、及びデバイスアプリケーションとプログラム
JP6188334B2 (ja) 画像形成装置及びその制御方法、画像形成システム、並びにプログラム
JP7480375B2 (ja) 情報処理装置、制御方法及びプログラム
JP3507307B2 (ja) 情報処理装置およびネットワークプリントシステムおよびその制御方法およびプログラムが格納された記憶媒体
KR101337160B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
JP5943571B2 (ja) 印刷システム、プリンター、プリントサーバー、及びその方法
JP7086754B2 (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP6604834B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2012048582A (ja) 印刷ジョブ管理システムおよびその制御方法、情報処理装置、印刷サーバ
JP2012133489A (ja) 印刷システム、プリントサービス装置、サービス提供装置、制御方法、及びプログラム
JP2011138396A (ja) 情報処理装置、その方法及びプログラム
JP2012216166A (ja) 情報処理装置、その方法、及びプログラム
KR101506764B1 (ko) 작업 처리 장치, 제어 방법, 및 컴퓨터 판독가능 저장 매체
JP3903024B2 (ja) 出力管理方法及び情報処理装置
JP2020140439A (ja) 印刷管理プログラム、印刷管理方法、および印刷管理装置
JP2017204139A (ja) 更新アプリケーション及び更新方法
JP2018081416A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2023034958A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2014016964A (ja) 情報処理装置、情報処理方法及びプログラム
JP5961937B2 (ja) 情報処理システム
JP7439973B2 (ja) プログラムセット、プログラム、および情報処理装置
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP2021105888A (ja) 情報処理装置、制御方法およびプログラム
JP2023147785A (ja) サポートプログラムおよび印刷システム
JP2020071693A (ja) 情報処理装置、及びその制御方法並びにプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180806

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191025

R151 Written notification of patent or utility model registration

Ref document number: 6609140

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151