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

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

Info

Publication number
JP2013168017A
JP2013168017A JP2012030815A JP2012030815A JP2013168017A JP 2013168017 A JP2013168017 A JP 2013168017A JP 2012030815 A JP2012030815 A JP 2012030815A JP 2012030815 A JP2012030815 A JP 2012030815A JP 2013168017 A JP2013168017 A JP 2013168017A
Authority
JP
Japan
Prior art keywords
command
maintenance
printing apparatus
database
port monitor
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
JP2012030815A
Other languages
English (en)
Other versions
JP2013168017A5 (ja
JP5950608B2 (ja
Inventor
Hiroaki Morimoto
弘明 守本
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 JP2012030815A priority Critical patent/JP5950608B2/ja
Priority to US13/759,477 priority patent/US20130208298A1/en
Publication of JP2013168017A publication Critical patent/JP2013168017A/ja
Publication of JP2013168017A5 publication Critical patent/JP2013168017A5/ja
Priority to US15/048,847 priority patent/US10185520B2/en
Application granted granted Critical
Publication of JP5950608B2 publication Critical patent/JP5950608B2/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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • 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/1227Printer definition files
    • 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/126Job scheduling, e.g. queuing, determine appropriate 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/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/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange

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)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】 新たなOSにおいては、幾つかの制約事項が想定され、該OS上で動作するアプリケーションやプリンタドライバでは、従来手法による印刷装置のメンテナンス処理が適切に実行できない場合がある。
【解決手段】 印刷装置とUSB(Universal Serial Bus)を介して接続されている情報処理装置であって、拡張ファイルに従い機能するポートモニタにより、アプリケーションで指定され、スプーラーを介して取得されたコマンド識別子に対応するメンテナンスコマンドをデータベースから取得し、前記取得されたメンテナンスコマンドを前記印刷装置に送信することを特徴とする。
【選択図】 図8

Description

本発明は次世代のプリンタドライバアーキテクチャーによるメンテナンス動作を実行するための技術に関する
従来、特許文献1に記載されるように、レガシーアーキテクチャーによるプリンタドライバ(以後、レガシードライバ)は、ノズルクリーニング等のメンテナンス動作の実行を指示するメンテナンスコマンドを、印刷ジョブとしてプリンタに送信することが可能であった。
レガシードライバにおいては、ユーザーインターフェース(以後、UI)上にメンテナンスコマンド送信ボタンを設け、ユーザーはそのボタンを押下することで印刷ジョブとしてメンテナンスコマンドを送信していた。若しくは、外部アプリケーションを利用した場合、ユーザーが外部アプリケーションのグラフィカルユーザインターフェース(以後、GUI)上で任意のプリンタを選択後、メンテナンスコマンド送信を指示するボタンを押下することで印刷ジョブとしてメンテナンスコマンドを送信していた。
特開2006−12037号公報
近年、デスクトップPCのみならずモバイルPCにも対応する新たなオペレーティングシステム(以後、OS)が発表されている。アプリケーションやプリンタドライバなどは、それら新たなOSに搭載される次世代アーキテクチャーへの対応が要求される。当然ながら、新たなOSにおいては、幾つかの制約事項が想定され、該OS上で動作するアプリケーションやプリンタドライバでは、上記した従来のメンテナンス方法が適切に実行できない場合がある。
本件は、そのような制約が課せられている場合においても、適切にプリンタに対して、メンテナンス動作の実行指示を実現可能な仕組みを提供することを目的とする。
上記課題を解決するための本発明は、印刷装置とUSB(Universal Serial Bus)を介して接続されている情報処理装置であって、コマンド識別子とメンテナンスコマンドとを対応づけて管理するデータベースと、拡張ファイルに従い機能するポートモニタにより、アプリケーションで指定され、スプーラーを介して取得されたコマンド識別子に対応するメンテナンスコマンドを前記データベースから取得する取得手段と、前記拡張ファイルに従い機能するポートモニタにより、前記取得されたメンテナンスコマンドを前記印刷装置に送信する送信手段と、を有することを特徴とする。
本発明によれば、次世代アーキテクチャーであっても、適切にプリンタに対して、メンテナンス動作の実行指示を行い、メンテナンス処理を実行することができる。
印刷装置と情報処理装置とが接続されて構成される印刷システムを示すブロック図 レガシーアーキテクチャーによるプリンタドライバに関連するモジュール構成を示すブロック図 レガシーアーキテクチャーによるプリンタドライバにおけるメンテナンス処理の流れを説明するための図 次世代アーキテクチャーによるプリンタドライバに関連するモジュール構成を示すブロック図 次世代アーキテクチャーによるプリンタドライバにおけるメンテナンス処理の流れ説明するための図 次世代アーキテクチャーによるユーティリティーアプリケーションのUI画面の例を示した図 実施形態1におけるアプリケーションの処理を説明するためのフローチャート 実施形態1におけるポートモニタ用拡張ファイルに基づく処理を説明するためのフローチャート 実施形態1における次世代ドライバで利用されるデータベースに格納されているメンテナンスコマンドデータを示す図 実施形態2におけるアプリケーションの処理を説明するためのフローチャート 実施形態2におけるポートモニタ用拡張ファイルに基づく処理を説明するためのフローチャート 実施形態2における次世代ドライバで利用されるデータベースに格納されているメンテナンスコマンドデータを示す図 実施形態3におけるアプリケーションの処理を説明するためのフローチャート 実施形態3におけるポートモニタ用拡張ファイルに基づく処理を説明するためのフローチャート 実施形態4におけるポートモニタ用拡張ファイルに基づく処理を説明するためのフローチャート 実施形態4における印刷装置の処理を説明するためのフローチャート
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、情報処理装置110と情報処理装置110に接続された印刷装置120により構成される印刷システムの全体構成を示すブロック図の一例である。情報処理装置110は入力I/F111、CPU112、ROM113、出力I/F114、外部記憶装置115、RAM116、入力装置117、出力装置118、入出力I/F119を有する。ROM113は初期化プログラムを保存し、外部記憶装置115はOS、プリンタドライバ、アプリケーションといったプログラムやその他各種のデータが保存されている。RAM116は外部記憶装置115に保存される各種プログラムがワークメモリーとして使用する。入力装置117は、マウスやキーボードのほかに、タッチパネルなどで構成され、データ入力や動作指示に使用され入力I/F111に接続されている。出力装置118はデータ表示や状態の通知に使用され出力I/F114に接続されている。
印刷装置120はRAM121、ROM122、プリントエンジン123、CPU124、入出力I/F125から構成される。情報処理装置110と印刷装置120はUSB(Universal Serial Bus)(TM)ケーブル130により接続されている。RAM121はCPU124のワークメモリーとして使用され、受信したデータの一時保存用バッファとしても利用される。ROM122は制御命令を保存している。プリントエンジン123はRAM121に保存されたデータに基づき印刷を行う。CPU124はROM122に保存されている制御命令に従い印刷装置120を制御する。
本実施形態においては情報処理装置110および印刷装置120の処理分担を前記のように示したが、処理の分担形態はこれに依らない。
ここでは図2、3を用いて従来の印刷システムであるレガシーアーキテクチャーによるプリンタドライバ(以後、レガシードライバ)を用いた印刷データの流れとそのアーキテクチャー上で実現されるメンテナンス実行処理の流れを説明する。
図2は、情報処理装置110に適用可能な従来の印刷システムであるレガシードライバに関連するモジュール構成を概念的に表した図である。
アプリケーション201が作成した印刷データは、OSの印刷サポート機能202を介しUIモジュール211から返却される印刷設定情報が付加され、スプールデータ205としてスプーラー203のプリントキュー204に一時的に保存される。スプールデータ205は、レガシードライバ210によって印刷装置207(構成要素は印刷装置120と同様)が解釈可能な印刷コマンドへ変換された後、USBポートモニタ206へ出力される。ここでレガシードライバ210は、前述のUIモジュール211に加え後述するグラフィックスドライバ213、ランゲージモニタ214の各モジュールから構成される。USBポートモニタ206は入力された印刷コマンドを印刷装置207へ送信する。ここでUIモジュール211は、印刷装置207に対しメンテナンス動作を指示するメンテナンス処理指示部212を有することができる。ユーザーはUIモジュール211が提供するUI画面からメンテナンス動作を選択することで印刷装置207へメンテナンス動作の指示を行う。
図3では、レガシードライバにおけるメンテナンス処理の流れを説明するための図を示す。
UIモジュール211に含まれるメンテナンス処理指示部301(図2中では212)は、ユーザーからの指示に応じて印刷装置308が解釈可能なメンテナンスコマンドを作成しスプーラー302へ送信する。スプーラー302は受信したメンテナンスコマンドをスプールデータ304としてプリントキュー303へ一時的に保存する。スプールデータ304はグラフィックスドライバ305、ランゲージモニタ306を経由しUSBポートモニタ307へ出力される。ここで前記メンテナンスコマンドは、グラフィックスドライバ305への入力時に、既に印刷装置308が解釈可能な形式である。そのため、入力されたメンテナンスコマンドに対して、グラフィックスドライバ305は、前述の変換処理を実施する必要はない。
メンテナンス処理指示部301は、メンテナンスコマンド発行処理によりスプーラー302へ渡るジョブに前記変換処理の実施の不要を示す情報を設定する。グラフィックスドライバ305はその実施不要を示す情報に従って、変換動作を実施しないよう制御する。その後、USBポートモニタ307は、入力されたメンテナンスコマンドを印刷装置308へ送信することでメンテナンス動作が実行される。
<実施形態1>
図4〜9を参照し本発明の実施形態1について説明する。本実施形態では後述する次世代アーキテクチャーによるプリンタドライバ(以後、次世代ドライバ)で利用されるデータベースが1機種分のメンテナンスコマンド群を格納している場合を例として説明する。
図4ではレガシードライバと構成の異なる印刷システムであり情報処理装置110に適用可能な次世代ドライバに関連する構成を概念的に表した図である。本図では、アプリケーション、プリンタドライバ、OSといったプログラムがCPUにより実行された際に提供される各機能の主体として動作するモジュール構成の例を具体的に説明している。
アプリケーション401が作成した印刷データはOSの印刷サポート機能402を介し、スプールデータ405としてスプーラー403のプリントキュー404へ一時的に保存される。スプールデータ405はグラフィックスドライバ411により印刷装置120が解釈可能な印刷コマンドへ変換される。
次世代ドライバで利用されるデータベース412は、グラフィックスドライバ411や後述するポートモニタなどが参照可能なデータベースであり、印刷装置の機種に依存する各種情報やメンテナンスコマンドを格納することができる。
グラフィックスドライバ411は、印刷コマンドを生成する際に必要となる機種依存情報を、次世代ドライバで利用されるデータベース412から取得する。ここでファイル群410が次世代ドライバを構成するファイル群である。
一般的なアプリケーションからの印刷要求を受けて、グラフィックスドライバ411は印刷対象となる印刷装置に特化した画像処理パラメーターをデータベース412から取得して、印刷コマンドを生成する。その後、生成された印刷コマンドはUSBポートモニタ406を経由し、印刷装置407へ到達する。これにより、次世代ドライバを含む印刷システムにおける印刷処理が実現される。
ここで、印刷装置のベンダは、前述のグラフィックスドライバ411及びポートモニタ用拡張ファイル413、さらに後述する図9、12などで後述するような管理情報などを一緒にインストールするための次世代ドライバのインストーラプログラムを提供する。これにより、後述のUSBポートモニタによる処理や次世代ドライバによる印刷制御を次世代アーキテクチャー上で実現できる。
なお、ポートモニタ用拡張ファイル413はUSBポートモニタ406用に用意されるものとして本実施形態においては記載されている。しかしながら、他の接続形態により印刷装置と通信するためのポートモニタのために、同様の機能を拡張する拡張ファイルを用意して、後述されるような本発明に特徴的な処理を実現することも可能である。
本発明で想定する新たなOS(例えばWindows(TM)8)の次世代ドライバの構成要素には、レガシードライバの構成要素に含まれるUIモジュール211がない。つまり、次世代ドライバは印刷設定などの各種設定を行うGUIを持つことができない。しかしながら、後述する次世代ドライバに対応する外部アプリケーション(以後、次世代アプリ)により、各種設定を行うGUIを提供することが可能である。次世代アプリと次世代ドライバは、該ドライバを識別する情報により紐づけを行う。
図5は、図4にて示した印刷システムにおいて実現されるメンテナンス処理の流れを説明するための図を示す。
次世代アプリ501はユーザーからの指示に応じて、印刷装置に対しての所望のメンテナンス動作を示すコマンドID(識別子)をスプーラー502へ送信する。スプーラー502は受信したコマンドIDを、プリントキュー503に蓄えることなく直接USBポートモニタ504(以降、ポートモニタ504)へ渡す。その後、ポートモニタ504は、コマンドIDをポートモニタ用拡張ファイル505へ渡す。
ここで、ポートモニタ用拡張ファイル505は、JavaScript(TM)により記述されるOS機能を拡張するためのスクリプトファイルである。
ポートモニタ用拡張ファイル505は、受信したコマンドIDに対応するメンテナンスコマンドを、次世代ドライバで利用されるデータベース506を参照し取得する。その後、ポートモニタ用拡張ファイル505は、ポートモニタ504に対して、取得したメンテナンスコマンドの印刷装置507への送信を指示する。
レガシーアーキテクチャーにおいては、図3で示したように、スプーラーはメンテナンスコマンドを印刷ジョブとして扱う。一方、次世代アーキテクチャーにおいては、スプーラー403が印刷ジョブとしてメンテナンスコマンドを扱うことは制限されており、レガシーアーキテクチャーと同様な構成を採用することはできない。そのため代替手法として図5で示す処理を採用する必要がある。
図6は、印刷装置120に対してメンテナンス処理を指示するための次世代アプリ501のUI画面構成の例を示す。このアプリケーションは、たとえば、印刷装置120のステータス表示や、印刷関連の設定を行うためのアプリケーションのリンク(ショートカット)などをまとめて提供するためのもので、OSの同梱されるアプリケーションして提供されてもよい。
図6(a)では、次世代アプリ501の起動直後に表示されるメイン画面610を示す。メイン画面610にはステータス表示画面へのリンクボタン611、ユーティリティー機能表示画面へのリンクボタン612、マニュアル表示画面へのリンクボタン613を有する。ユーザーは、各画面へのリンクボタンを選択することで次世代アプリ501はユーザーに選択された画面を表示する。
図6(b)は、図6(a)においてリンクボタン612を選択後に表示される、ユーティリティー機能選択画面620の画面構成を示す。画面620にはノズルクリーニングボタン621、ローラークリーニング622、インク拭き取りボタン623などといったメンテナンス処理のための指示ボタンが配置されている。ユーザーは実行したいメンテナンスに係るボタンを選択することで印刷装置507に対しメンテナンス処理の実行指示を行う。
図7は、次世代アプリ501のコマンドIDの送信処理を説明するためのフローチャートである。
本処理が開始されると、S701では、前述のユーティリティー機能を選択する画面620を介したユーザーからの入力を受け付ける。S702において、次世代アプリ501は、入力情報に基づき特定された、ユーザーに指定されたメンテナンスコマンドに対応するコマンドIDを取得する。S703では取得したコマンドIDをスプーラー502へ渡し、本処理を終了する。
次に、図8は、ポートモニタ用拡張ファイル505に基づき動作するポートモニタ504のメンテナンスコマンドの送信処理を説明するためのフローチャートを示す。ここで、OSなどで提供されるモジュールであるポートモニタ504は、次世代ドライバとともに印刷装置のベンダにより提供されるポートモニタ用拡張ファイル505を用いることで、本図で説明するような特別な処理を実行する。
S801において、ポートモニタ504は、スプーラー502を経て、コマンドIDを取得する。S802において、ポートモニタ504は、ポートモニタ用拡張ファイル505に従い、次世代ドライバで利用されるデータベース506を参照し、該取得したコマンドIDに対応するメンテナンスコマンドを取得する。S804において、ポートモニタ504は、ポートモニタ用拡張ファイル505に従い、該取得したメンテナンスコマンドの印刷装置507への送信を制御し、その後、本処理を終了する。
図9は、次世代ドライバで利用されるデータベース506に格納されているメンテナンスコマンドデータを概念的に示す。メンテナンスコマンドデータ901はそれぞれ1つのコマンドID902と対応付けがなされ、データベース506に格納されている。ポートモニタ用拡張ファイル505では、データベース506を参照することで、コマンドIDを基に送信すべきメンテナンスコマンドを特定する処理について記述されている。
ここで、メンテナンスコマンドデータ901とコマンドID902とを対応付ける情報は印刷装置のベンダにより提供される。また、コマンドIDとしては整数値の他にも文字列を使用することも可能である。
以上の処理により、メンテナンスコマンドを印刷ジョブとして送信できないような制限が課せられたOS環境下であっても、適切に印刷装置に対しメンテナンス動作の実行指示を行うことが可能となる。
さらに、本実施形態においては、ポートモニタ用拡張ファイルの内容を閲覧しても、メンテナンスコマンド自体が直接記述されていない。メンテナンスコマンド自体は、データベース506に記述されている。これによりは、テキストファイルであるポートモニタ用拡張ファイルにメンテナンスコマンドを保持するよりは、コマンド自体の機密性を向上させることが可能となる。
<実施形態2>
以下、図10〜12を参照し、本発明における第二の実施形態を説明する。本実施形態では、次世代ドライバで利用されるデータベース506で、複数機種のそれぞれに対応するメンテナンスコマンドデータが管理されている際の処理を説明する。本実施形態では、実施形態1で説明した図4、図5で示す構成、処理の流れについては同等である。
図10は、実施形態2における次世代アプリ501のコマンドIDおよび機種IDの送信処理を説明するためのフローチャートである。
本処理が開始されると、S1001では、前述のユーティリティー機能を選択する画面620を介したユーザーからの入力を受け付ける。S1002において、次世代アプリ501は、入力情報に基づき特定された、ユーザーに指定されたメンテナンスコマンドに対応するコマンドIDを取得する。次に、S1003では、次世代アプリ501は情報処理装置110に接続された印刷装置120に対して要求を送信し、該印刷装置120から機種を特定する機種IDを取得する。S1004では、取得したコマンドIDと機種IDをスプーラー502へ渡し、本処理を終了する。
実施形態2においては、後述する処理でデータベース506内の特定機種用のメンテナンスコマンドを利用するために、次世代アプリ501がコマンドIDに加え、印刷装置から機種IDを取得している。なお、次世代アプリ501によるコマンドIDの取得と機種IDの取得の処理順は、どちらを先に行っても良い。また、S1003における機種IDの取得は、印刷装置からの取得以外にも、ユーザーにより手動で入力させることにより実現しても良い。
図11は、実施形態2における、ポートモニタ用拡張ファイル505に基づき動作するポートモニタ504のメンテナンスコマンドの送信処理を説明するためのフローチャートを示す。
S1101において、ポートモニタ504は、スプーラー502を経て、コマンドIDと機種IDを取得する。S1102において、ポートモニタ504は、ポートモニタ用拡張ファイル505に従い、データベース506を参照し、該取得したコマンドIDと機種IDから対応するメンテナンスコマンドを取得する。S1104において、ポートモニタ504は、ポートモニタ用拡張ファイル505に従い、該取得したメンテナンスコマンドの印刷装置507への送信を制御し、その後、本処理を終了する。
図12は、次世代ドライバで利用されるデータベース506に格納されている複数機種分のメンテナンスコマンドデータを概念的に示す。メンテナンスコマンドデータ1201はそれぞれ1つの機種ID1202と1つのコマンドID1203に対応付けがなされ、データベース506に格納されている。ポートモニタ用拡張ファイル505では、データベース506を参照することで、機種IDとコマンドIDから、送信すべきメンテナンスコマンドを特定する処理について記述されている。
ここで、メンテナンスコマンドデータと機種IDとコマンドIDとを対応付ける情報は印刷装置のベンダにより提供される。また、機種IDやコマンドIDとしては、整数値や文字列を任意に使用することも可能である。
また、1つのデータベース506に複数機種分のメンテナンスコマンドデータを格納する場合、機種毎に対応しているメンテナンス動作が異なる状況が想定されうる。そのため図12では、ある機種が対応していないメンテナンス動作については、該当する欄を空欄などであらわし、そのメンテナンス動作に非対応であることを示す。一例として図12では、機種ID“B”に対応する機種はコマンドID“3”で示されるメンテナンスコマンドは空欄となっており、非対応であることを示している。また、図12において非対応コマンドは空欄により示されているが、“None”等の非対応コマンドであることを表す予約文字を示してもよい。
以上の処理により、メンテナンスコマンドを印刷ジョブとして送信できないような制限が課せられたOS環境下であっても、機種を考慮したうえで、適切に印刷装置に対しメンテナンス動作の実行指示を行うことが可能となる。
<実施形態3>
以下、図13、図14を参照し、本発明における第三の実施形態を説明する。本実施形態は、実施形態2の拡張であり、構成や処理内容については、ほぼ共通する。差異としては、データベース506に格納されているメンテナンスコマンドデータが複数機種に対応するか否かを判別し、その結果に応じて後の処理を切り替える点である。
図13は、実施形態3における次世代アプリ501のコマンドID、機種IDの送信処理を説明するためのフローチャートである。図10と同様な処理に関しては同じ符号を付与してあり、その説明は、ここでは割愛する。
S1301において、次世代アプリ501は、データベース506は複数機種をサポートしているかを判定する。この判定では、あらかじめデータベース506に、複数機種分のメンテナンスコマンドデータが格納されているか否かの情報を格納しておき、アプリケーションがその情報を参照することで判定を行う。S1301の判定結果で、サポートしていると判定された場合には、S1003へ進む。その後、S1302において取得した情報(コマンドIDのみ、またはコマンドIDと機種ID)をスプーラー502へ渡し、本処理を終了する。
ここで、S1304の判定には、複数機種分の情報をデータベース506に対し命名規則を設け、ファイル名から判定する手法も適用でき、その判定手法はそれら例に限定されない。
図14は、実施形態3における、ポートモニタ用拡張ファイル505に基づき動作するポートモニタ504のメンテナンスコマンドの送信処理を説明するためのフローチャートを示す。
S1401において、ポートモニタ504は、スプーラー502を経て、コマンドIDを取得する。S1402において、ポートモニタ504は、スプーラー502を経て、機種IDを取得できたかを判定する。ここで、機種IDも取得できたと判定された場合には、S1403において、ポートモニタ504は、ポートモニタ用拡張ファイル505に従い、データベース506を参照し、該取得したコマンドIDと機種IDから、対応するメンテナンスコマンドを取得する。一方、S1402で、機種IDが取得できなかったと判定された場合には、S1404において、ポートモニタ504は、ポートモニタ用拡張ファイル505に従い、データベース506を参照し、該取得したコマンドIDのみから、対応するメンテナンスコマンドを取得する。その後、S1405において、ポートモニタ504は、ポートモニタ用拡張ファイル505に従い、該取得したメンテナンスコマンドの印刷装置507への送信を制御し、その後、本処理を終了する。
<実施形態4>
以下、図15と図16を参照し、本発明における第四の実施形態を説明する。本実施形態ではメンテナンス実行処理において、ポートモニタ504がデータベース506からメンテナンスコマンドの取得に失敗した際の処理に関する。前述したように、次世代ドライバはGUI画面の表示機能を持たないので、前述のユーティリティー機能を選択する画面620を介したユーザーからのメンテナンス実行指示の入力に対して、メンテナンスコマンドの取得の失敗を通知できない。本実施形態では、その点を考慮した例外処理を具体的に説明するものである。
図15は、ポートモニタ用拡張ファイル505に基づき動作するポートモニタ504のメンテナンスコマンドの送信処理を説明するためのフローチャートを示す。
S1501は、ポートモニタ504が実行するデータベース506からメンテナンスコマンドを取得する処理である。具体的には、前述の実施形態1〜3において説明したいずれかの処理が実行されることになる。次に、S1502では、ポートモニタ504が、メンテナンスコマンドの取得に成功したか否かの判定を行う。メンテナンスコマンドの取得に成功した場合はS1503へ進み、失敗した場合にはS1504に進む。
S1503では、ポートモニタ504が、取得したメンテナンスコマンドを送信バッファへ格納する。一方、S1504では、ポートモニタ504が、メンテナンスコマンドの代わりにエラー発生用データを送信バッファへ格納する。その後、S1505において、ポートモニタ504が、バッファ内の情報の印刷装置507への送信を制御し、その後、本処理を終了する。
図16は、図15でポートモニタ504から送信されたデータを受信した印刷装置120の動作を説明するためのフローチャートである。
S1601において、印刷装置120はポートモニタ504から送信されたデータを受信する。S1602では、受信したデータがエラー発生用データか否かの判定を行う。ここで、受信したデータがエラー発生用データならばS1603へ進み、そうでなければS1605に進む。
S1603では、印刷装置507は、エラー発生用データに従い、エラー状態へ遷移する。このタイミングで、印刷装置でエラーが発生したことが、印刷装置の操作部やネットワークを介したエラー出力により、ユーザーに通知される。なお、特定のエラー発生用データに従うエラーに関しては、メンテナンス実行が失敗した旨の通知を行うものとしてもよい。S1604では、エラー状態が解消されるまでエラー処理を継続する。エラー状態の解除手段としては、印刷装置507にエラー解除ボタンを設け、ユーザーがそのボタンを押下することにより印刷装置507のエラー状態を解消する手法が一例として挙げられる。S1605において印刷装置507は受信したデータに従い処理を実行する。ここでは、メンテナンスコマンドデータに応じた動作を実行することになる。その後、本処理は終了する。
以上の形態により、前述されたUIモジュールを持たない次世代ドライバを利用する際にも、メンテナンスコマンドの取得に失敗したなどの理由で、メンテナンスの実行ができない場合に、そのエラーをユーザーに対し通知することが可能である。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
さらに、本発明には、上述した実施形態の適宜組み合わせることにより構成されたシステムやその機能も含まれるものとする。

Claims (7)

  1. 印刷装置と接続されている情報処理装置であって、
    コマンド識別子とメンテナンスコマンドとを対応づけて管理するデータベースと、
    拡張ファイルに従い機能するポートモニタにより、アプリケーションで指定され、スプーラーを介して取得されたコマンド識別子に対応するメンテナンスコマンドを前記データベースから取得する取得手段と、
    前記拡張ファイルに従い機能するポートモニタにより、前記取得されたメンテナンスコマンドを前記印刷装置に送信する送信手段と、を有することを特徴とする情報処理装置。
  2. 前記取得手段は、前記印刷装置から取得した機種識別子と前記コマンド識別子とを用いて、前記データベースから対応するメンテナンスコマンドを取得することを特徴とする請求項1に記載の情報処理装置。
  3. 前記取得手段は、前記データベースが機種ごとにメンテナンスコマンドを管理していない場合には、前記コマンド識別子のみを用いて、前記データベースから対応するメンテナンスコマンドを取得することを特徴とする請求項2に記載の情報処理装置。
  4. 前記送信手段は、前記取得手段がメンテナンスコマンドの取得に失敗した場合には、前記印刷装置によりエラーを通知するために、エラー用のデータを印刷装置に送信することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 印刷装置とUSB(Universal Serial Bus)を介して接続されている情報処理装置であって、
    コマンド識別子とメンテナンスコマンドとを対応づけて管理するデータベースと、
    拡張ファイルに従い機能するポートモニタにより、アプリケーションで指定され、スプーラーを介して取得されたコマンド識別子に対応するメンテナンスコマンドを前記データベースから取得する取得手段と、
    前記拡張ファイルに従い機能するポートモニタにより、前記取得されたメンテナンスコマンドを、前記USBを介して前記印刷装置に送信する送信手段と、を有し、
    前記送信手段は、前記取得手段がメンテナンスコマンドの取得に失敗した場合には、前記印刷装置によりエラーを通知するために、エラー用のデータを印刷装置に送信することを特徴とする情報処理装置。
  6. 印刷装置と接続されている情報処理装置における方法であって、
    コマンド識別子とメンテナンスコマンドとを対応づけてデータベースで管理する工程と、
    拡張ファイルに従い機能するポートモニタにより、アプリケーションで指定され、スプーラーを介して取得されたコマンド識別子に対応するメンテナンスコマンドを前記データベースから取得する取得工程と、
    前記拡張ファイルに従い機能するポートモニタにより、前記取得されたメンテナンスコマンドを前記印刷装置に送信する送信工程と、を有することを特徴とする方法。
  7. ポートモニタにより、アプリケーションで指定され、スプーラーを介して取得されるコマンド識別子を用いてデータベースから対応するメンテナンスコマンドを取得させ、印刷装置に対して当該メンテナンスコマンドを送信させるための拡張ファイルをインストールするようコンピュータを機能させるためのプログラム。
JP2012030815A 2012-02-15 2012-02-15 情報処理装置、方法およびプログラム Active JP5950608B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012030815A JP5950608B2 (ja) 2012-02-15 2012-02-15 情報処理装置、方法およびプログラム
US13/759,477 US20130208298A1 (en) 2012-02-15 2013-02-05 Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations
US15/048,847 US10185520B2 (en) 2012-02-15 2016-02-19 Information processing apparatus and method for information processing apparatus for executing print driver maintenance operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012030815A JP5950608B2 (ja) 2012-02-15 2012-02-15 情報処理装置、方法およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016112731A Division JP6084325B2 (ja) 2016-06-06 2016-06-06 情報処理装置、方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2013168017A true JP2013168017A (ja) 2013-08-29
JP2013168017A5 JP2013168017A5 (ja) 2016-01-14
JP5950608B2 JP5950608B2 (ja) 2016-07-13

Family

ID=48945343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012030815A Active JP5950608B2 (ja) 2012-02-15 2012-02-15 情報処理装置、方法およびプログラム

Country Status (2)

Country Link
US (2) US20130208298A1 (ja)
JP (1) JP5950608B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018028817A (ja) * 2016-08-18 2018-02-22 キヤノン株式会社 情報処理装置、方法およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468937B2 (ja) * 2015-02-27 2019-02-13 キヤノン株式会社 情報処理装置、制御方法、制御プログラム
US11048455B1 (en) 2020-03-04 2021-06-29 Canon Kabushiki. Kaisha Devices, systems, and methods for resolving conflicting print settings

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216374A (ja) * 2002-01-25 2003-07-31 Canon Inc コンピュータプログラム、デバイスドライバの設定方法及びその設定装置
JP2006172289A (ja) * 2004-12-17 2006-06-29 Canon Inc 端末装置および印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2009199564A (ja) * 2008-02-25 2009-09-03 Ricoh Co Ltd 印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171442B1 (en) * 2000-09-18 2007-01-30 Canon Kabushiki Kaisha Printer maintenance scheme for a network centric printing system
US6732195B1 (en) * 2000-10-03 2004-05-04 Hewlett-Packard Development Company, Lp. Apparatus for and method of updating a device driver from a local resource
US6856418B2 (en) * 2001-03-06 2005-02-15 Hewlett-Packard Development Company, L.P. Method for selective replacement of discrete print media path components
US20020152430A1 (en) * 2001-03-30 2002-10-17 Seiko Epson Corporation Device troubleshooting via network
JP3763466B2 (ja) * 2001-12-11 2006-04-05 キヤノン株式会社 プリンタコマンド制御装置、方法、及びシステム、並びに該装置に接続するプリンタ、並びにプログラム及び記憶媒体
JP4227464B2 (ja) * 2003-06-04 2009-02-18 キヤノン株式会社 画像供給デバイスと記録システム及びその記録制御方法
JP4667144B2 (ja) * 2005-07-08 2011-04-06 キヤノン株式会社 印刷制御装置とその制御方法、及び印刷制御プログラムと印刷装置
JP4792869B2 (ja) * 2005-08-15 2011-10-12 セイコーエプソン株式会社 クリーニング処理装置、インクジェットプリンタ及びインクジェットプリンタのクリーニング処理方法
US20080244435A1 (en) * 2007-03-28 2008-10-02 Seiko Epson Corporation Computer Readable Medium Recording an Information Providing Program, Information Providing Device, and Method for Providing Information
JP4849122B2 (ja) * 2008-12-16 2012-01-11 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置およびサーバ装置
CN102844763A (zh) * 2010-03-31 2012-12-26 国际商业机器公司 数字式签署文件的方法、安全装置、系统及计算机程序产品

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216374A (ja) * 2002-01-25 2003-07-31 Canon Inc コンピュータプログラム、デバイスドライバの設定方法及びその設定装置
JP2006172289A (ja) * 2004-12-17 2006-06-29 Canon Inc 端末装置および印刷装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2009199564A (ja) * 2008-02-25 2009-09-03 Ricoh Co Ltd 印刷処理装置、印刷処理方法、印刷処理プログラム及び記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018028817A (ja) * 2016-08-18 2018-02-22 キヤノン株式会社 情報処理装置、方法およびプログラム
US10289364B2 (en) 2016-08-18 2019-05-14 Canon Kabushiki Kaisha Information processing apparatus, method, and non-transitory computer-readable storage medium storing program

Also Published As

Publication number Publication date
US20160170691A1 (en) 2016-06-16
JP5950608B2 (ja) 2016-07-13
US20130208298A1 (en) 2013-08-15
US10185520B2 (en) 2019-01-22

Similar Documents

Publication Publication Date Title
WO2020004159A1 (ja) 情報処理装置、制御方法及びプログラム
JP5975666B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6331910B2 (ja) 情報処理装置、情報処理システム、及びプログラム
EP2807547B1 (en) Information processing apparatus, and program
US9164714B2 (en) Information processing apparatus, method, and program for controlling a user interface
US20110137979A1 (en) Server connected to image forming apparatus and client, client, and method of remotely installing driver of image forming apparatus
US20130176584A1 (en) Network system, client apparatus, method therefor, and program
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US8976386B2 (en) Information processing apparatus configured to generate reconfigurable print data, print control program, storage medium, image forming apparatus and printing system
JP6726968B2 (ja) 遠隔支援システム、画像形成装置、外部端末、それらの制御方法、及びプログラム
JP2020009420A (ja) 情報処理装置および制御方法、制御プログラム
US20150355871A1 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
JP5950608B2 (ja) 情報処理装置、方法およびプログラム
JP2017204139A (ja) 更新アプリケーション及び更新方法
JP2013214246A (ja) 情報処理装置、プログラム及び制御方法
JP5927899B2 (ja) 情報処理装置及びプログラム
JP2014041599A (ja) プログラム、情報処理装置、システム
JP6410974B2 (ja) 情報処理装置、方法およびプログラム
JP6289688B2 (ja) 情報処理装置、方法およびプログラム
JP6084325B2 (ja) 情報処理装置、方法およびプログラム
JP2009110050A (ja) 情報処理装置、情報処理システム、表示制御方法、表示制御プログラム及び記録媒体
JP5020131B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2008191954A (ja) 印刷制御装置、印刷制御方法、及び印刷制御プログラム
JP5754123B2 (ja) 情報処理装置
JP2020016951A (ja) 情報処理装置、制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160607

R151 Written notification of patent or utility model registration

Ref document number: 5950608

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151