JP2006268752A - 複数のバージョンに対応したモジュールの起動 - Google Patents

複数のバージョンに対応したモジュールの起動 Download PDF

Info

Publication number
JP2006268752A
JP2006268752A JP2005089606A JP2005089606A JP2006268752A JP 2006268752 A JP2006268752 A JP 2006268752A JP 2005089606 A JP2005089606 A JP 2005089606A JP 2005089606 A JP2005089606 A JP 2005089606A JP 2006268752 A JP2006268752 A JP 2006268752A
Authority
JP
Japan
Prior art keywords
program
module
program module
processing
execute
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.)
Withdrawn
Application number
JP2005089606A
Other languages
English (en)
Inventor
Masanori Saito
雅典 齋藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005089606A priority Critical patent/JP2006268752A/ja
Priority to US11/389,420 priority patent/US7865891B2/en
Publication of JP2006268752A publication Critical patent/JP2006268752A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Abstract

【課題】 複数のプログラムモジュールが協働して所定の機能を実現する構成において容易にバージョンを整合させることができるように改善を行うことが望まれていた。
【解決手段】 アプリケーションプログラムから指示された処理をプログラムモジュールに実行させるにあたり、上記アプリケーションプログラムから、所定の処理の実行指示を取得し、上記所定の処理を実行する複数のバージョンのプログラムモジュールから、上記実行指示がなされた処理を実行するプログラムモジュールを選択し、当該選択されたプログラムモジュールに上記所定の処理を実行させる。
【選択図】 図1

Description

本発明は、複数のバージョンに対応したモジュールの起動に関する。
コンピュータで利用されるアプリケーションプログラムは、その機能追加やアプリケーションプログラムによって制御する周辺機器の機能追加等に伴ってバージョンアップがなされる。従来、バージョンアップに際しては、古いバージョンのアプリケーションプログラムを一旦削除して、新しいバージョンのプログラムをインストールしたり、古いバージョンのプログラムを新しいバージョンのプログラムで行使するなどしていた(例えば、特許文献1)。
特開2003−256212号
従来の技術においては、複数のプログラムモジュールが協働して所定の機能を実現する構成において容易にバージョンを整合させることができるように改善を行うことが望まれていた。すなわち、あるアプリケーションプログラムのみに着目した場合、バージョンの変更は、インストーラ等によって容易に実行可能であるが、アプリケーションプログラムと周辺機器のドライバプログラムと両者の仲介を行う中間プログラムとを利用する場合など、複数のプログラムモジュールが協働する場合には、これらのバージョンを整合させることが困難であった。
例えば、周辺機器を提供するメーカーが上記ドライバプログラムと中間プログラムとを提供する際には、両者におけるバージョンの整合は容易である。しかし、複数のメーカーが提供する複数のアプリケーションプログラムの処理について中間プログラムが仲介を行う場合には、両者の整合を行うことが困難である。すなわち、ドライバプログラムおよび中間プログラムのバージョン改訂に伴って、総てのアプリケーションプログラムのメーカーにアプリケーションプログラムの変更を要請することは困難である。また、新しいバージョンのアプリケーションプログラムを利用するとしても、ユーザがドライバプログラムおよび中間プログラムのバージョンアップをしない場合には、やはり両者は整合しない。このように、バージョンの整合がなされていないと、プログラムの実行が不可能になる場合がある。
本発明は、上記課題にかんがみてなされたもので、複数のプログラムモジュールが協働して所定の機能を実現する構成においてバージョンにかかわらずプログラムの実行を可能にすることを目的とする。
上記目的を達成するため本発明では、アプリケーションプログラムから所定の処理の実行指示がなされたときに、複数のバージョンのプログラムモジュールからプログラムモジュールを選択して当該所定の処理を実行させる。従って、複数のバージョンのプログラムモジュールが混在し得る状況であっても、当該所定の処理を実行可能なプログラムモジュールを選択し、所定の処理を実行させることができる。この結果、適切なバージョンのプログラムモジュールを起動し、確実に上記所定の処理を実行することが可能になる。
ここで、アプリケーションプログラムは、コンピュータに各種の処理を実行させるプログラムであれば良く、処理の目的や動作は特に限定されない。但し、本発明においては、各種処理の一つとして他のプログラムモジュールに指示を行い、その処理を行わせるような処理が存在する。すなわち、本発明にかかる中間処理装置は、アプリケーションプログラムと協働する他のプログラムモジュールを起動する。このとき、アプリケーションプログラムのバージョンとプログラムモジュールのバージョンとが整合していない場合には、上記所定の処理を実行できない場合がある。
例えば、バージョンアップによって新しい処理が追加された場合、この処理を実行するためにはアプリケーションプログラムから当該新しい処理の実行指示を行い、バージョンアップされたプログラムモジュールでこの処理を実行する。ここで、古いバージョンのアプリケーションプログラムから新しい処理の実行指示を行うことができなければ、新しいバージョンのプログラムモジュールによって上記新しい処理を実行することはできない。
しかし、最新のバージョンにおける動作を保証するために、古いバージョンのプログラムを削除し、最新のバージョンのアプリケーションプログラムと最新のバージョンのプログラムモジュールとを実行可能にするのみでは、それ以前のバージョンにおける処理が実行可能であることは補償されない。そこで、複数のバージョンのプログラムモジュールを併用可能に構成すると、アプリケーションプログラムとプログラムモジュールとのバージョンに不整合が生じ得る。そこで、複数のバージョンのプログラムモジュールが併存し得るように構成し、上記実行指示がなされた所定の処理を実行可能なプログラムモジュールをモジュール選択手段によって選択することにより、新旧、複数のバージョンのプログラムモジュールを併用することが可能になる。
すなわち、古いバージョンのプログラムモジュールのみにて実現される処理が存在する場合、新しいバージョンのプログラムモジュールと古いバージョンのプログラムモジュールとを併存させなければ古いバージョンのプログラムモジュールによって実現される処理を実行することができない。例えば、各バージョンのプログラムモジュールによって各種の周辺機器を制御し、各周辺機器の機種に各バージョンのプログラムモジュールが対応している場合、最新の機種に対応しているプログラムモジュールのみを実行可能にすると、古いバージョンのプログラムモジュールに対応している周辺機器を使用することができない。従って、以上の効果は、複数のバージョンのプログラムモジュールが実行可能に構成されている場合に特に顕著に現れる。
また、アプリケーションプログラムをバージョンアップしたが、プログラムモジュールをバージョンアップしていない場合にも有効である。すなわち、各プログラムモジュールのバージョンアップにおいて、旧バージョンの総ての処理および新たな処理を実施可能なプログラムモジュールを作成することを想定する。この場合、新旧バージョンで共通の処理を実施可能であるが、当該共通の処理の実行指示がなされたときに、バージョンアップ後のプログラムモジュールが実行可能であることを要請すると、新たに追加された処理のみならず共通の処理も実施することができない。
しかし、プログラムモジュールのバージョンアップをしていないとしても、旧バージョンのプログラムモジュールに処理を実行させれば、当該共通の処理を実行させることができる。従って、新たなバージョンのプログラムモジュールが存在しないときに、モジュール選択手段によって旧バージョンのプログラムモジュールを選択し、処理を実行させることで、プログラムモジュールをバージョンアップしていない場合であっても、上記共通の処理を実行することが可能である。
上記実行指示取得手段においては、上記プログラムモジュールで実行可能な処理のいずれかを実行させるための指示を取得すればよい。この指示は特に限定されず、各種の指示を採用可能である。例えば、アプリケーションプログラムによって印刷時のUIを表示するために、UIに表示すべき項目について表示すべき選択肢を取得するための処理等を採用可能である。本発明では、アプリケーションプログラムと別のプログラムモジュールにて処理を実行することを想定しているため、本発明における実体的な処理はアプリケーションプログラムとは別に完結されることが好ましい。その一例としては、当該プログラムモジュールと他のプログラムモジュール(例えば、周辺機器の制御プログラム(ドライバプログラム))とが協働して処理を実行するような場合が挙げられる。
モジュール選択手段は、複数のバージョンのプログラムモジュールから、実行指示がなされた処理を実行するプログラムモジュールを選択することができれば良い。ここで、プログラムモジュールを選択するための基準は、各種の基準を採用可能である。例えば、アプリケーションプログラムから取得する実行指示とともに処理の実行対象(例えば、周辺機器)の指示を受け付け、この実行対象に対応したプログラムモジュールを選択する構成を採用可能である。
他にも、実行可能なプログラムモジュールの中で最新のものを選択したり、アプリケーションプログラムのバージョンに対応したバージョンのプログラムモジュールを検索して選択しても良い。さらに、各処理の内容に応じて、各処理を実行可能なプログラムモジュールを抽出して選択しても良く、種々の手法を採用可能である。実行制御手段においては、このようにして選択したプログラムモジュールに対して処理を実行させる指示を行えばよい。
本発明の適用対象としては、種々の状況が想定されるが、特に好ましい状況として、あるバージョンのプログラムのモジュールとそれより古いバージョンのプログラムモジュールとの少なくとも2つのバージョンが存在し、これらのいずれかまたは組み合わせが実行可能な状態である場合を想定可能である。すなわち、新旧、少なくとも2つのバージョンが存在し、双方が実行可能であれば、少なくとも2つのバージョンが併存している状況下で、モジュール選択手段にて適切なバージョンを選択して実行させることができる。
旧バージョンのみが実行可能であれば、旧バージョンに対応したアプリケーションプログラムからの実行指示に対応して処理を実行させることが可能であるし、新バージョンに対応したアプリケーションプログラムからの実行指示であっても、新旧バージョンに共通の処理については、実行させることが可能である。新バージョンのみが実行可能であれば、新バージョンに対応したアプリケーションプログラムからの実行指示に対応して処理を実行させることが可能である。この場合、旧バージョンに対応したアプリケーションプログラムからの実行指示に対応して処理を実行させることはできないが、エラー等を出力することにより、実施不可能であることを明示することは可能である。
上記所定の処理の好ましい例としては、コンピュータの周辺機器に関する所定の問い合わせとこの問い合わせに対する返答を行う処理が挙げられる。すなわち、アプリケーションプログラムにおいて周辺機器に関する処理を実行する際には、周辺機器にて実行可能な処理を把握した上でその中の処理を選択することがある。この場合、アプリケーションプログラムにて予め当該実行可能な処理の総てを把握することは困難であるため、実行可能な処理を指示する際に問い合わせを行うことが多い。
例えば、所定のUIを表示させるに際して、UIに表示すべき項目について表示すべき選択肢を取得するために問い合わせを行う。この問い合わせの返答は周辺機器毎に異なり得るので、プログラムモジュールを介して問い合わせを行うことにより、周辺機器毎に正確な情報を取得することが可能である。また、周辺機器とプログラムモジュールのバージョンは対応していることが多い。すなわち、ある周辺機器の機能向上に伴って機種が変更されたときにプログラムモジュールがバージョンアップされることがある。従って、本発明のようにプログラムモジュールを選択可能に構成することにより、周辺機器における種々の機種に対応した処理を実行可能である。
上記周辺機器としては、コンピュータに接続されて駆動される機器であればよく、種々の機器がこの周辺機器に該当する。例えば、コンピュータに接続されて画像の出力動作を行うプリンタやディスプレイ,プロジェクタ等の出力機器や、コンピュータに接続されて画像の入力動作を行うスキャナやデジタルカメラ等の入力機器や、コンピュータに接続されたデータの記録動作を行うハードディスクドライブ等の記録機器等、種々の機器が周辺機器となり得る。
上述の例においてUIに表示すべき項目は、周辺機器にて実行可能な処理に対応しており、通常は、周辺機器を制御するための制御プログラム(ドライバプログラム)に対して問い合わせを行うか、周辺機器と通信を行うことによって上記項目に関する情報を取得可能である。従って、プログラムモジュールにおいては、ドライバプログラムや周辺機器に対して問い合わせを行い、その返答を取得し、さらにアプリケーションプログラムに対して返答を返すように構成すればよい。
尚、アプリケーションプログラムから、直接、ドライバプログラムに対する問い合わせを行うことも想定し得るが、この構成においては、アプリケーションプログラムに対する問い合わせのフォーマットや問い合わせに対する返答のフォーマットが常に一致している必要がある。従って、ドライバプログラムのバージョンアップに伴ってアプリケーションプログラムの変更が必要になり得る。
しかし、本発明のように、プログラムモジュールによってアプリケーションプログラムとドライバプログラムとの仲介を行うことにより、アプリケーションプログラムからプログラムモジュールへの問い合わせおよび返答のフォーマットを常に同じフォーマットにすることができる。すなわち、ドライバプログラムが変更された場合には、プログラムモジュールの変更によって対応することができる。この構成は、ドライバプログラムとプログラムモジュールとを作成するメーカーが同じメーカーであり、アプリケーションプログラムは多数のメーカーによって提供される場合に好適である。
さらに、プログラムモジュールが周辺機器に関する処理を行う場合に好適な構成として、上記実行指示取得手段においてコンピュータの周辺機器の指定とともに上記実行指示を受け付ける構成を採用可能である。かかる構成によれば、上記モジュール選択手段は、容易に指定された周辺機器に対応づけられたプログラムモジュールを選択することができる。すなわち、プログラムモジュールのバージョンが周辺機器と一対一に対応している場合に、周辺機器に基づいてプログラムモジュールを選択すれば、確実に適切なプログラムモジュールを選択することができる。尚、アプリケーションプログラムによって周辺機器に関する処理を実施する際には、処理の実行指示とともに周辺機器を指定するのが通常であるため、通常の処理において実施される情報のみを利用して上述の構成を実現することが可能である。
さらに、本発明にかかる中間処理装置と協働するアプリケーションプログラムを実行する情報処理装置として、上述のモジュール選択手段に相当する処理が実行可能であるか否かを判定し、実行不能であるときに、既存のバージョンのプログラムモジュールに対して処理の実行指示を与える構成を採用することが可能である。すなわち、本発明にかかるモジュール選択手段が実施可能でない場合(モジュール選択手段に相当するプログラムがインストールされていない場合等)であっても、古いバージョンのプログラムモジュールが実行可能である場合がある。このような状況は古いバージョンのプログラムモジュールが実行可能であり、アプリケーションプログラムから直接呼び出して実行可能である場合に発生し得る。
そこで、実行可否判断手段において、複数のバージョンのプログラムモジュールから実行すべきプログラムモジュールを選択するモジュール選択手段が実行可能であるか否か判別する。モジュール選択手段が実行可能でない場合には、特定のバージョンのプログラムモジュールが実行可能であるか否かを判断し、当該特定のバージョンのプログラムモジュールに上記所定の処理を実行させる。この結果、モジュール選択手段が実行不可能であるが、特定のバージョンのプログラムモジュールが実行可能であれば、そのプログラムモジュールに所定の処理を実行させることが可能である。
ところで、上述した中間処理装置や情報処理装置は、単独で実施される場合もあるし、ある機器に組み込まれた状態で他の方法とともに実施されることもあるなど、発明の思想としては各種の態様を含むものであって、適宜、変更可能である。また、複数のバージョンのプログラムモジュールのいずれかを選択して起動する手順に発明が存在するとも言える。したがって、本発明は方法としても適用可能であり、請求項7,請求項8にかかる発明においても、同様の作用となる。また、本発明を実施しようとする際に、コンピュータにて所定のプログラムを実行させる場合もある。従って、本発明は、そのプログラムとしても適用可能であり、請求項9,請求項10にかかる発明においても、同様の作用となる。
むろん、請求項2〜請求項5に記載された構成を上記方法やプログラムに対応させることも可能である。また、いかなる記憶媒体もプログラムを提供するために使用可能である。例えば、磁気記録媒体や光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一部がソフトウェアであって、一部がハードウェアで実現される場合においても本発明の思想において全く異なるものではなく、一部を記録媒体上に記録しておいて必要に応じて適宜読み込む形態のものも含まれる。さらに、一次複製品、二次複製品などの複製段階についても同等である。
ここでは、下記の順序に従って本発明の実施の形態について説明する。
(1)印刷制御装置の構成:
(2)印刷制御処理およびUI表示例:
(2−1)設定可能範囲取得処理:
(3)他の実施形態:
(1)印刷制御装置の構成:
図1は、本発明の一実施形態にかかる印刷制御装置の概略構成を示している。本実施形態ではコンピュータ10の機能の一部によって印刷制御装置が実現される。コンピュータ10は演算処理の中枢をなすCPU11を備えており、このCPU11はシステムバス10aを介してコンピュータ10全体の制御を行う。同システムバス10aには、ROM12、RAM13、USBI/F14やハードディスクドライブ(HDD)15,図示しないCRTI/Fや入力機器I/F等が接続されている。
ハードディスクドライブ15には、ソフトウェアとしてオペレーティングシステム(OS)等のプログラムが格納されており、また、必要に応じて各種プログラムをインストールして格納することができる。これらのソフトウェアは、実行時にCPU11によって適宜RAM13に転送される。CPU11は、RAM13を一時的なワークエリアとして適宜アクセスしながらOSの制御下で種々のプログラムを実行する。
本実施形態においては、HDD15に格納するプログラムやデータがツリー構造のフォルダによって管理され、予め決められたフォルダに対してプログラムやデータを格納する。図1に示す例では、アプリケーションプログラム(APL31)に関するプログラムおよびデータがアプリケーションフォルダ30に格納され、プリンタドライバ(PRTDRV21a,21b)に関するプログラムおよびデータがドライバフォルダ20に格納され、OSに関するプログラムおよびデータがシステムフォルダ35に格納されている例を示している。
各プログラムおよびデータの格納場所は、予め決められていれば良く、各プログラムおよびデータの格納場所は限定されるわけではない。例えば、OSの提供者が設定した規則に従って格納場所を決めたり、プログラムの提供者が予め格納場所を決めればよい。いずれにしても、プログラムおよびデータが必要とされるときに適切なプログラムおよびデータを読み出すことができればよい。
入力機器I/Fには、キーボード16やマウス17が操作用入力機器として接続される。また、CRTI/Fには、表示用のディスプレイ18が接続されている。従って、コンピュータ10では、キーボード16やマウス17による操作内容を受け付け、また、ディスプレイ18に各種情報を表示することが可能である。さらに、USBI/F14には、プリンタ40a,40bが接続されており、コンピュータ10が出力するデータに基づいて画像を印刷することが可能である。むろん、プリンタ40a,40bとの接続I/FはUSBI/Fに限られる必要もなく、パラレルI/F,シリアルI/F,SCSI接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
APL31は予め決められた各種の処理を実行するプログラムであり、その処理の一つとして、APL31で扱う画像や文書等をプリンタ40a,40bにて印刷させるための処理を行う。本実施形態においては、印刷実行を指示する前に所定のUIを表示し、UIでの指示に従って印刷を実行させる。このUIでは、プリンタ40a,40bにおける各種印刷条件を設定可能であり、印刷条件として設定可能な項目(印刷条件項目)を表示するとともに各項目の設定可能範囲内で印刷条件を変更可能である。
印刷条件項目は、印刷を実行するために必要な複数の条件の項目であり、印刷解像度,インクの種類(カラー、モノクロの選択やインクセット(インク色の組み合わせ)の選択),印刷媒体の種類やサイズ,印刷時のレイアウト,縁なし印刷の可否,印刷品質(きれい、はやい等),カラーマネジメントの種類(自動調整の可否やディスプレイの色域を超えた色の使用可否等),双方向印刷の可否,ドライバによる画像処理の可否等、PRTDRV21a,21bに対して設定可能な種々の印刷条件項目がある。尚、本実施形態においては、上述のように印刷解像度やインクの種類など、項目毎に印刷条件を設定するようになっているため異なる印刷条件を項目として区別する。また、各印刷条件の設定内容はその内容に対応した数値(設定値)で特定するようになっており、この数値を項目値と呼ぶ。
印刷条件項目において設定可能な項目値は他の印刷条件項目の項目値に依存している場合があり、この場合、ある項目値を設定したことによって他の印刷条件項目で設定可能な項目値の範囲が変動する(依存関係がある)。そこで、APL31は、各項目値が設定された状態での設定可能範囲を取得し、ある項目値を設定したことによって設定可能範囲に影響がある他の印刷条件項目についてUIの表示を更新する。すなわち、取得した設定可能範囲のデータに従ってUI表示上の設定可能範囲を変動させる。
APL31においては、上記設定可能範囲を取得するため、他のモジュールに設定可能範囲を問い合わせることが可能であり、この処理を行うためにアプリケーションフォルダ30には検出モジュール32が格納されている。尚、検出モジュール32はAPL31から呼び出されることによって実行され、APL31からの問い合わせに対して返答を行うためのモジュールが存在するか否かを検出するモジュールである。本実施形態においては、APL31と検出モジュール32とを別個のプログラムモジュールとして構成しているが、むろん、両者を一つのモジュールとして構成しても良い。
本実施形態において、コンピュータ10には、異なる機種のプリンタ40a,40bが接続可能であり、各プリンタ40a,40bは、各機種に対応したPRTDRV21a,21bによって制御される。PRTDRV21a,21bは、プリンタ40a,40bのそれぞれを制御するとともに、各プリンタにおける設定可能範囲を取得することが可能である。ここでは、各プリンタにおける設定可能範囲を取得することができればよいが、本実施形態においては、PRTDRV21a,21bのインストール時に予め作成されたプリンタ能力データ15aを参照して設定可能範囲を取得するようになっている。
図2は、プリンタ能力データ15aのデータ記述例を示す図である。同図に示すようにプリンタ能力データ15aにはプリンタ名、ドライババージョン、インクセット、設定可能範囲を示すデータが記述されている。設定可能範囲は”対象項目n,上位項目の項目数m,上位項目n1およびその項目値,,,上位項目mlおよびその項目値,設定可能範囲”を示すデータを順に記述する書式となっている(m,n,lは0もしくは自然数)。
これにより、上位依存関係(上位項目の項目値によって設定可能範囲が変動し得ること)にある項目値が特定の値であるときの対象項目の設定可能範囲を特定しており、例えば、対象項目nが印刷品質、上位項目が印刷媒体の種類、上位項目数mが一つの場合であって印刷媒体の種類の項目値が”1”のときに印刷品質の項目値が”2,3”である場合、”印刷品質,1,印刷媒体の種類=1,2,3”と記述することになる。尚、各項目値については、予めその値によって設定内容(例えば、印刷品質の項目値”1”のとき、高品質など)が決められている。むろん、このプリンタ能力データ15aの構成は一例であり、設定可能範囲を取得することができる限りにおいて、各種の構成を採用可能である。
また、プリンタ能力データ15aがPRTDRV21a,21bのインストール時点で作成されることは必須ではないし、プリンタ能力データ15aを予め作成するのではなく、設定可能範囲を取得する際にPRTDRV21a,21bが各プリンタ40a,40bに問い合わせる構成としても良い。
本実施形態において、設定可能範囲の問い合わせは、設定可能範囲取得モジュール22および設定可能範囲取得モジュール36によって実施される。すなわち、設定可能範囲取得モジュール22および設定可能範囲取得モジュール36が起動されると、UIの表示に必要な印刷条件項目の設定可能範囲をPRTDRV21a,21bのそれぞれに問い合わせ、当該設定可能範囲を取得する。取得した設定可能範囲は、UIの表示に利用される。
設定可能範囲取得モジュール22および設定可能範囲取得モジュール36は、プリンタの機種に対応しており、各プリンタを制御するためのPRTDRV21a,21bに対して問い合わせを行う。本実施形態においては、プリンタの機種がPRTDRV21a,21bのバージョンおよび設定可能範囲取得モジュールのバージョンに対応している。図1において、設定可能範囲取得モジュール22および設定可能範囲取得モジュール36が実行可能に構成されているのは、異なる機種のプリンタ40a,40bがコンピュータ10によって併用されているからである。
また、本実施形態において、設定可能範囲取得モジュール36は設定可能範囲取得モジュール22より古いバージョン、すなわち、発売時期が古いプリンタに対応したモジュールであり、設定可能範囲を取得するという意味では同じ機能を備えている。但し、PRTDRV21bがPRTDRV21aにバージョンアップされることによって新しい処理を実施することができるように構成する場合には、その点について新しいバージョンである設定可能範囲取得モジュール22は設定可能範囲取得モジュール36で実施不可能な処理を実施することが可能である。例えば、プリンタの機能向上によって設定可能範囲が増加した場合や印刷条件の項目が増加した場合、当該増加分の印刷条件の内容や項目値を示すデータを扱えるように構成される。
尚、本実施形態において、設定可能範囲取得モジュール22および設定可能範囲取得モジュール36は、対応するPRTDRV21a,21bをインストールする際に予め決められたフォルダに格納される。従って、図1に示すように設定可能範囲取得モジュール22および設定可能範囲取得モジュール36の双方が実行可能である場合には、PRTDRV21a,21bの双方がインストール済である。通常、インストールはプリンタ40a,40bのメーカーが提供するCD−ROM等の媒体を利用して行われるが、OSの機能によって自動でPRTDRV21a,21bをインストールすることも可能である。この場合は、設定可能範囲取得モジュール22および設定可能範囲取得モジュール36がインストールされないこともあり得る。
上記設定可能範囲取得モジュール36と設定可能範囲取得モジュール22とでは設定可能範囲を問い合わせる対象のPRTDRVが異なり、また、PRTDRV21a,21bではその処理が異なり得る。このため、本実施形態において、異なるプリンタに対する問い合わせは、異なる設定可能範囲取得モジュールによって実施されるように構成してある。但し、本実施形態において、PRTDRV21a,21bは下位互換性を持ち、古いバージョンの設定可能範囲取得モジュールからの問い合わせに対して、より新しいバージョンのPRTDRVは適切に設定可能範囲を返答するようになっている。
いずれにしても、本実施形態において、PRTDRVのバージョンと設定可能範囲取得モジュールのバージョンとが整合している場合には、対応しているバージョン同士で設定可能範囲の授受を行う。ドライバフォルダには、このようにバージョンを整合させるため、選択モジュール23が格納されている。すなわち、選択モジュール23は、設定可能範囲の問い合わせが行われたときに指定されたプリンタに対応した設定可能範囲取得モジュールを選択して実行するようになっている。
また、指定されたプリンタに対応した設定可能範囲取得モジュールが検出されない場合、古いバージョンの設定可能範囲取得モジュールを検索し、実行可能であればそのモジュールを起動する。この構成により、プリンタの機種に対応した適切なバージョンの設定可能範囲取得モジュールが存在する場合にはそのモジュールを起動し、バージョンが整合しないときには、その下位互換性を利用して古いバージョンで実現されていた処理を最低限実現するようにしてある。
むろん、選択モジュール23においては、APL31にて実行指示がなされた処理を実行可能な設定可能範囲取得モジュールを選択することができればよいので、プリンタの機種名に基づいて対応する設定可能範囲取得モジュールを選択しても良い。但し、上述のように下位互換性を利用する場合には、最新のバージョンについてのみプリンタの機種名に基づいて対応する設定可能範囲取得モジュールを検出し、古いモジュールについてはモジュールの存在有無を検出する構成を採用することが好ましい。
上述の検出モジュール32は、上記選択モジュール23が実行可能であるか否かを検出するモジュールであり、選択モジュール23が実行可能であることを検出したときには、当該選択モジュール23を起動する。また、選択モジュール23が実行可能であることを検出しないときには、設定可能範囲取得モジュール36が実行可能であるか否かを検出する。すなわち、選択モジュール23が実行可能でない場合には、最新のバージョンである設定可能範囲取得モジュール22が存在しない場合であるので、それより古いバージョンである設定可能範囲取得モジュール36を検索し、設定可能範囲取得モジュール36が存在すれば起動する。
この構成により、設定可能範囲取得モジュール22がインストールされてない場合であっても、古いバージョンで実現されていた処理は最低限実現するようにしてある。尚、以上の構成において、各モジュールが実行可能であるか否かを判別するためには、予め決められたフォルダに予め決められたプログラムモジュールが格納されているか否かを判別するなど、種々の構成を採用可能である。
(2)印刷制御処理およびUI表示例:
次に、上記構成における印刷制御処理およびUI表示例を説明する。印刷制御処理は図3に示すフローに従って実施され、図4はこのときに表示されるUIの例を示している。利用者は、APL31によって扱う画像や文書等の印刷指示を行うことができ、APL31が印刷指示を受け付けると(ステップS100)、APL31は図示しないUIを表示し、当該指示にかかる印刷にて使用するプリンタのプリンタ名を取得する(ステップS105)。尚、プリンタ名としてはOS20によって通常使用されるプリンタとして設定されているプリンタの機種名を取得すればよいが、むろん、印刷指示に際して利用者が特定のプリンタを指定したときにはその機種名を取得する。
次に、各印刷条件項目について現在の項目値(現項目値)を取得する(ステップS110)。ここで、現項目値とは、ステップS110〜S130におけるループを実施している間に各印刷条件項目について設定されている項目値である。ループの初回であれば、前回の印刷実行時における印刷条件項目の項目値あるいはデフォルト設定されている項目値を現項目値として取得する。また、2回目以降のループ処理であればUIの操作によって適宜変更された項目値を現項目値として取得する。
現項目値を取得したら、UI表示対象項目の設定可能範囲を取得する(ステップS115)。すなわち、UI表示対象の全印刷条件項目について上位項目があるか否かを判別し、上位項目が存在する場合にはその上位項目について現項目値を設定し、このように上位項目の項目値を設定した状態でUI表示対象の印刷条件項目がとり得る設定可能範囲を取得する。設定可能範囲を取得するためのモジュールを選択する処理については後述する。
UI表示対象項目の設定可能範囲を取得したら、当該取得した設定可能範囲を選択可能な選択肢にするとともに、上記現項目値が現在の設定値として設定された状態でUIを表示する(ステップS120)。このUIの表示においては、マウス17等の操作によって項目値の変更を受け付けたか否かを判別する(ステップS125)。項目値の変更を受け付けたと判別されたときには、その項目の項目値を変更し(ステップS130)、ステップS110以降の処理を繰り返す。
この繰り返し処理においては、ステップS130の項目値の変更によってUI表示対象の印刷条件項目の設定可能範囲が変動したとしても、ステップS110,S115の処理により適切な設定可能範囲が取得され、ステップS120のUI表示では選択不能の印刷条件項目を選択可能に表示させることなくUIを更新することができる。
本実施形態にかかるUIでは、利用者に選択を促す全印刷条件項目のうち一部のみを一画面に表示し、一画面で少数の印刷条件項目を入力しながら画面を逐次切り替えて最終的に印刷実行指示を受け付けるようにしている。そこで、ステップS135では、画面の切替指示を受け付けたか否かを判別し、画面の切替指示を受け付けたと判別したときにはUI画面を切り替える(ステップS140)。そして、切り替え後のUI表示対象の印刷条件項目について適切な表示をするため、ステップS110以降を繰り返す。
ステップS135にて画面の切替指示を受け付けたと判別しないときには、さらに、印刷実行指示を受け付けたか否かを判別する(ステップS145)。印刷実行指示を受け付けたと判別したときには、印刷対象の画像データをPRTDRV21aあるいはPRTDRV21bに対して出力する(ステップS150)。むろん、このとき、上記UIで設定された印刷条件項目の項目値で印刷を実行する。この結果、PRTDRV21a,21bは画像データに対して印刷条件に従った画像処理を施すとともに印刷条件に従って印刷を実行するための印刷データを作成し、プリンタ40a,40bに出力し、印刷を実行する。
図4は、本実施形態におけるUI画面が切り替わる様子を示している。本実施形態にかかるUIでは、利用者に選択を促す全印刷条件項目のうち一部のみを一画面に表示し、一画面で少数の印刷条件項目を入力しながら画面を逐次切り替えて最終的に印刷実行指示を受け付けるようにしている。図4に示す例においては印刷媒体のレイアウトを選択するUIをUI1と示している。当該UI1においては左側に印刷条件項目としての印刷媒体サイズを選択するフレーム1aを表示し、右側に印刷条件項目としてのレイアウトを選択するフレーム1bを表示している。また、図4のUI0は縁なし印刷(媒体の四辺に余白を設けない印刷)を実施するか否かを選択するUIである。
尚、各UIにおいてはラジオボタンやアイコンのクリックによって各印刷条件項目を指定するようになっており、画面右下の「戻る」ボタンによって一つ前のUI画面に戻り、「次へ」ボタンによって次のUI画面に進むようになっており、最後のUIにおいては印刷実行指示ボタンによって印刷実行指示を実施できるようになっている。この例において、レイアウトは印刷媒体上での画像配置を規定しており、印刷媒体サイズはレイアウトの上位項目である。また、プリンタ40a,40bにおいては縁なし印刷を実施可能な印刷媒体のサイズが限られており、この意味で縁なし印刷の可否は印刷媒体の上位項目である。図4の例ではプリンタ40a,40bにおいて、はがき,L版,2L版,A3〜A6の各印刷媒体サイズで印刷を実行可能であり、このうち、はがき,L版,2L版,A3,A4の各印刷媒体サイズで縁なし印刷を実施可能である。
従って、UI0において設定可能範囲として縁ありと縁なしを表示し、項目値として縁なしを選択しつつ次のUI1に進んだときには、フレーム1aにおいて選択可能範囲としてはがき,L版,2L版,A3,A4を表示する。UI0において項目値として縁ありを選択しつつ次のUI1に進んだときには、フレーム1aとして選択可能範囲としてはがき,L版,2L版,A3〜A6を表示する。また、UI1のフレーム1aにて印刷媒体サイズが選択されたときには、フレーム1bにてレイアウトが自動的に更新され、当該選択中の印刷媒体サイズにて印刷実行可能なレイアウトのみが設定可能範囲として提示される。
以上のように、本実施形態にかかるUIにおいてはAPL31の制作者が所望の印刷条件項目を選択し、UIの表示対象として設定しておくのみで、UIを構成することができる。すなわち、APL31においては、所望の印刷条件項目の設定可能範囲を問い合わせるようにしておけば、設定可能範囲取得モジュール22あるいは設定可能範囲取得モジュール36がその返答を行うので、APL31の制作者は非常に容易にUIを構成することができる。さらに、将来、バージョンアップがなされたときであっても、上記選択モジュール23が適切な設定可能範囲取得モジュールを選択するので、APL31が呼び出すモジュールのバージョンが不適切であることによって処理が実施できなくなることはない。むろん、図4に示すUIの構成は一例であり、一画面で多数の印刷条件項目を表示させるUIを構成してもよいし、選択不可能な項目値をグレーアウトさせる構成を採用してもよい。
(2−1)設定可能範囲取得処理:
図5は上記ステップS115に示す設定可能範囲取得処理を示すフローチャートであり、以下、このフローチャートに沿って設定可能範囲取得処理を説明する。設定可能範囲取得処理において、APL31は、まず検出モジュール32を呼び出して実行する(ステップS200)。検出モジュール32が実行されると、当該検出モジュール32は、ドライバフォルダ20に選択モジュール23が実行可能に格納されているか否かを判別する(ステップS205)。
ステップS205にて選択モジュール23が実行可能であると判別されたときには、当該選択モジュール23を呼び出して実行する(ステップS210)。選択モジュール23が実行されると、当該選択モジュール23は、上記ステップS105で取得したプリンタ名に基づいて当該プリンタ名のプリンタが新しいバージョンの設定可能範囲取得モジュール22に対応しているか否か判別する(ステップS215)。すなわち、設定可能範囲取得モジュールが対応しているプリンタは予め決められているので、印刷実行時に指定されたプリンタが対応している新しいバージョンの設定可能範囲取得モジュールが存在するか否かを判別する。
ステップS215にて、指定されたプリンタが新しいバージョンの設定可能範囲取得モジュール22に対応していると判別されたときには、この設定可能範囲取得モジュール22を呼び出して実行する(ステップS220)。尚、選択モジュール23においては、APL31で実施しようとしている処理がUI表示対象の印刷条件項目について設定可能範囲を取得するための処理であることを検出し、当該設定可能範囲を取得するための設定可能範囲取得モジュールを呼び出している。従って、本実施形態においては、選択モジュール23が指示された処理を把握しており、この処理内容の把握が請求項における実行指示取得手段に相当する。むろん、APL31から取得する実行指示は設定可能範囲の取得処理に限られず、他の処理についてAPL31から実行指示を取得することができるし、この場合は、当該他の処理を実施するためのプログラムモジュールを起動することになる。
上記ステップS220にて設定可能範囲取得モジュール22が実行されると、指定されたプリンタを制御するためのPRTDRV21aに対して上記UIの表示対象項目について設定可能範囲を問い合わせる(ステップS225)。この結果、PRTDRV21aは、プリンタ能力データ15aを参照し、設定可能範囲を取得して設定可能範囲取得モジュール22に受け渡す。設定可能範囲取得モジュール22は、APL31に対してこの設定可能範囲を示すデータを返答として受け渡す(ステップS230)。以上の処理によって、APL31が表示対象項目としている印刷条件についての設定可能範囲が取得され、適切にUIが表示される。
上記ステップS205にて選択モジュール23が実行可能であると判別されないとき、上記検出モジュール32は古いバージョンの設定可能範囲取得モジュールが実行可能であるか否か判別する。また、上記ステップS215にてプリンタが新しいバージョンの設定可能範囲取得モジュール22に対応していると判別されないとき、選択モジュール23は古いバージョンの設定可能範囲取得モジュールが実行可能であるか否か判別する(ステップS240)。このステップS240にて古いバージョンの設定可能範囲取得モジュールが実行可能であると判別されないときには、設定可能範囲を取得することができないので、UI上にエラーである旨を表示して(ステップS260)処理を終了する。むろん、ここでは、種々のエラー表示を行うことができ、適正なプリンタドライバをインストールするようにメッセージを表示しても良い。
ステップS240にて、古いバージョンの設定可能範囲取得モジュールが実行可能であると判別されたときには、設定可能範囲取得モジュールを呼び出して実行する(ステップS245)。尚、本実施形態において、当該古いバージョンの設定可能範囲取得モジュールは設定可能範囲取得モジュール36である。また、ステップS215,S240の処理が請求項におけるモジュール選択手段の処理に相当し、ステップS220,S245の処理が請求項における実行制御手段に相当する。
設定可能範囲取得モジュール36が実行されると、指定されたプリンタを制御するためのPRTDRV21bに対して上記UIの表示対象項目について設定可能範囲を問い合わせる(ステップS250)。この結果、PRTDRV21bは、プリンタ能力データ15aを参照し、設定可能範囲を取得して設定可能範囲取得モジュール36に受け渡す。設定可能範囲取得モジュール36は、APL31に対してこの設定可能範囲を示すデータを返答として受け渡す(ステップS255)。以上の処理によって、APL31が表示対象項目としている印刷条件についての設定可能範囲が取得され、適切にUIが表示される。
選択モジュール23と設定可能範囲取得モジュール22とは同時にインストールされるので、以上の処理において、ステップS205にて選択モジュール23が実行可能であると判別されない場合は、新しいバージョンの設定可能範囲取得モジュール22がインストールされていないことを意味する。しかし、この場合であっても、各種のプリンタに対するドライバがインストールされていることはあり得る。例えば、PRTDRVはOSが提供する機能によってインストールできることも多い。
この場合、新しいバージョンに対応した設定可能範囲取得モジュール22は実行不能であるが、新しいバージョンのPRTDRVに対応したプリンタにて印刷を実施可能であることになる。そこで、ステップS205にて選択モジュール23が実行可能であると判別されない場合に、旧バージョンの設定可能範囲取得モジュール36を検索して実行すれば、設定可能範囲取得モジュール36で実行可能な処理は最低限実施することができる。すなわち、本実施形態において、PRTDRV21a,21bは下位互換性を有するので、ステップS105にてプリンタ40a,40bのいずれが指定されていたとしても、設定可能範囲取得モジュール36にて設定可能範囲を取得することが可能である。
また、ステップS215にてプリンタが新しいバージョンの設定可能範囲取得モジュール22に対応していると判別されない場合には、選択モジュール23が実行可能であるが、指定されたプリンタが新バージョンの設定可能範囲取得モジュール22に対応していない場合であるので、旧バージョンの設定可能範囲取得モジュール36を検索して実行する。この処理により、旧バージョンの設定可能範囲取得モジュール36に対応したプリンタ40bと新バージョンの設定可能範囲取得モジュール22に対応したプリンタ40aとを併用し、かつバージョンを整合させることが可能である。
以上の構成において、APL31は検出モジュール32を備え、検出モジュール32によって選択モジュール23が実行可能であるか否かを判断している。従って、このAPL31は、選択モジュール23と設定可能範囲取得モジュール22とのバージョンに対応したアプリケーションプログラムであるといえる。しかし、上述のようにステップS205,S215の判別を経て旧バージョンである設定可能範囲取得モジュール36を実行可能に構成している。従って、APL31がコンピュータ10に対してプレインストールされており、設定可能範囲取得モジュール36についてインストールするか否かをエンドユーザの判断にゆだねることとしても、APL31でUIを表示するにあたり、最低限の処理を実施することが可能である。
本実施形態においては、さらに、APLにおいて検出モジュール32に相当する処理を実施しなくても古いバージョンでの設定可能範囲取得モジュール36を実行することは可能である。すなわち、古いバージョンのAPLにおいて、選択モジュール23を呼び出すことなく設定可能範囲取得モジュール36を直接呼び出す構成であれば、仮に、プリンタ40a,40bに対応するPRTDRV21a,21bがインストール済であって、古いバージョンのAPLが実行されたとしても、適切な設定可能範囲取得モジュール36を呼び出して実行することができる。
(3)他の実施形態:
本発明においては、モジュール選択手段によって適切なモジュールを選択してアプリケーションプログラムからの実行指示に対応するモジュールを呼び出すことができればよく、上記実施形態の他にも種々の構成を採用可能である。例えば、上述の設定可能範囲取得モジュールや選択モジュールの格納場所は上述の例に限定されないし、選択モジュール23と同様の処理を行うモジュールをシステムフォルダに格納しても良い。
さらに、PRTDRV21a,21bの下位互換性により、PRTDRV21a,21bの双方が設定可能範囲取得モジュール36とデータの授受を実行可能である実施形態について説明したが、PRTDRVと設定可能範囲取得モジュールと選択モジュールとAPLとのインストール状況および実行可能なバージョンの組み合わせとしては、多数の場合が発生し得る。そこで、各場合について適切な処理を行うため、設定可能範囲取得モジュール36と略同等の処理を行うモジュールを複数個実行可能にしても良い。
さらに、本発明は、プリンタ以外の周辺機器について本発明を適用することも可能である。すなわち、UIによって駆動条件を設定可能な総ての周辺機器について本発明を適用することができる。また、上記実施形態においてはコンピュータ10によって印刷制御装置を構成しているが、分散処理によって本発明にかかる印刷制御処理を実施するなど種々の構成を採用可能である。むろん、画像を取り込むスキャナと画像を印刷するプリンタとが一体となったいわゆる複合機において本発明にかかる印刷制御処理を行ってもよい。
印刷制御装置の概略構成を示すブロック図である。 プリンタ能力データの記述例を示す図である。 印刷制御処理のフローチャートである。 UIの表示例を示す図である。 設定可能範囲取得処理を示すフローチャートである。説明図である。
符号の説明
10…コンピュータ、11…CPU、12…ROM、13…RAM、15…ハードディスクドライブ、15a…プリンタ能力データ、21a,21b…PRTDRV、22…設定可能範囲取得モジュール、23…選択モジュール、31…APL、32…検出モジュール、36…設定可能範囲取得モジュール、40a,40b…プリンタ

Claims (10)

  1. アプリケーションプログラムから指示された処理をプログラムモジュールに実行させるための中間処理装置であって、
    上記アプリケーションプログラムから、所定の処理の実行指示を取得する実行指示取得手段と、
    上記所定の処理を実行する複数のバージョンのプログラムモジュールから、上記実行指示がなされた処理を実行するプログラムモジュールを選択するモジュール選択手段と、
    当該選択されたプログラムモジュールに上記所定の処理を実行させる実行制御手段とを備えることを特徴とする中間処理装置。
  2. 上記複数のバージョンのプログラムモジュールは、あるバージョンのプログラムのモジュールとそれより古いバージョンのプログラムモジュールとの少なくとも2つのバージョンが存在し、これらのいずれかまたは組み合わせが実行可能な状態であることを特徴とする上記請求項1に記載の中間処理装置。
  3. 上記所定の処理は、コンピュータの周辺機器に関する所定の問い合わせとこの問い合わせに対する返答を行う処理であることを特徴とする上記請求項1または請求項2のいずれかに記載の中間処理装置。
  4. 上記プログラムモジュールは、コンピュータの周辺機器の制御プログラムに対して問い合わせを行い、この制御プログラムからの返答を取得して上記アプリケーションプログラムに対して返答することを特徴とする上記請求項1〜請求項3のいずれかに記載の中間処理装置。
  5. 上記実行指示取得手段はコンピュータの周辺機器の指定とともに上記実行指示を受け付け、上記モジュール選択手段は指定された周辺機器に対応づけられたプログラムモジュールを選択することを特徴とする上記請求項1〜請求項4のいずれかに記載の中間処理装置。
  6. 所定の処理を他のプログラムモジュールに実行させる情報処理装置であって、
    複数のバージョンのプログラムモジュールから実行すべきプログラムモジュールを選択するための処理が実行可能であるか否かを判断する実行可否判断手段と、
    実行可能であると判断されないときに、特定のバージョンのプログラムモジュールが実行可能であるか否かを判断し、当該特定のバージョンのプログラムモジュールに上記所定の処理を実行させる特定モジュール起動手段とを備えることを特徴とする情報処理装置。
  7. アプリケーションプログラムから指示された処理をプログラムモジュールに実行させるための中間処理方法であって、
    上記アプリケーションプログラムから、所定の処理の実行指示を取得する実行指示取得工程と、
    上記所定の処理を実行する複数のバージョンのプログラムモジュールから、上記実行指示がなされた処理を実行するプログラムモジュールを選択するモジュール選択工程と、
    当該選択されたプログラムモジュールに上記所定の処理を実行させる実行制御工程とを備えることを特徴とする中間処理方法。
  8. 所定の処理を他のプログラムモジュールに実行させる情報処理方法であって、
    複数のバージョンのプログラムモジュールから実行すべきプログラムモジュールを選択するための処理が実行可能であるか否かを判断する実行可否判断工程と、
    実行可能であると判断されないときに、特定のバージョンのプログラムモジュールが実行可能であるか否かを判断し、当該特定のバージョンのプログラムモジュールに上記所定の処理を実行させる特定モジュール起動工程とを備えることを特徴とする情報処理方法。
  9. アプリケーションプログラムから指示された処理をプログラムモジュールに実行させるための中間処理プログラムであって、
    上記アプリケーションプログラムから、所定の処理の実行指示を取得する実行指示取得機能と、
    上記所定の処理を実行する複数のバージョンのプログラムモジュールから、上記実行指示がなされた処理を実行するプログラムモジュールを選択するモジュール選択機能と、
    当該選択されたプログラムモジュールに上記所定の処理を実行させる実行制御機能とをコンピュータに実現させることを特徴とする中間処理プログラム。
  10. 所定の処理を他のプログラムモジュールに実行させる情報処理プログラムであって、
    複数のバージョンのプログラムモジュールから実行すべきプログラムモジュールを選択するための処理が実行可能であるか否かを判断する実行可否判断機能と、
    実行可能であると判断されないときに、特定のバージョンのプログラムモジュールが実行可能であるか否かを判断し、当該特定のバージョンのプログラムモジュールに上記所定の処理を実行させる特定モジュール起動機能とをコンピュータに実現させることを特徴とする情報処理プログラム。

JP2005089606A 2005-03-25 2005-03-25 複数のバージョンに対応したモジュールの起動 Withdrawn JP2006268752A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005089606A JP2006268752A (ja) 2005-03-25 2005-03-25 複数のバージョンに対応したモジュールの起動
US11/389,420 US7865891B2 (en) 2005-03-25 2006-03-23 Initiation of a program module corresponding to multiple versions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005089606A JP2006268752A (ja) 2005-03-25 2005-03-25 複数のバージョンに対応したモジュールの起動

Publications (1)

Publication Number Publication Date
JP2006268752A true JP2006268752A (ja) 2006-10-05

Family

ID=37036663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005089606A Withdrawn JP2006268752A (ja) 2005-03-25 2005-03-25 複数のバージョンに対応したモジュールの起動

Country Status (2)

Country Link
US (1) US7865891B2 (ja)
JP (1) JP2006268752A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009294894A (ja) * 2008-06-05 2009-12-17 Brother Ind Ltd プリンタ動作制御方法、プリンタ、およびプリンタシステム
US7838323B2 (en) 2006-06-09 2010-11-23 Panasonic Corporation Method for fabricating semiconductor device
US8477328B2 (en) 2007-09-26 2013-07-02 Seiko Epson Corporation Function-providing system
JP2015022509A (ja) * 2013-07-18 2015-02-02 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US10372467B2 (en) 2016-11-28 2019-08-06 Seiko Epson Corporation Information processing apparatus and non-transitory computer-readable medium having program installable on the same

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4908902B2 (ja) * 2006-04-11 2012-04-04 キヤノン株式会社 通信装置、システム、プログラムインストール方法及びプログラム
US7752092B1 (en) * 2006-06-16 2010-07-06 Intuit Inc. System and method for indicating previous document source information for current document fields
US8694982B2 (en) * 2006-10-30 2014-04-08 Bosch Automotive Service Solutions Llc Dynamic software configuration
JP5341761B2 (ja) * 2007-08-09 2013-11-13 パナソニック株式会社 端末装置、サーバ及びそのシステム
JP2013077284A (ja) 2011-09-12 2013-04-25 Canon Inc 情報処理装置及びプログラム、制御方法
CN103019659B (zh) * 2011-09-21 2015-10-07 腾讯科技(深圳)有限公司 应用程序的标签页中更新状态的方法及装置
US8893116B2 (en) * 2012-01-15 2014-11-18 Microsoft Corporation Installation engine and package format for parallelizable, reliable installations
JP2013152640A (ja) * 2012-01-25 2013-08-08 Canon Inc 情報処理装置、情報処理方法およびプログラム
US9710250B2 (en) * 2013-03-15 2017-07-18 Microsoft Technology Licensing, Llc Mechanism for safe and reversible rolling upgrades
US9916627B1 (en) 2014-04-30 2018-03-13 Intuit Inc. Methods systems and articles of manufacture for providing tax document guidance during preparation of electronic tax return
US9760316B2 (en) * 2015-03-27 2017-09-12 Konica Minolta Laboratory U.S.A., Inc. Method and system for managing software version compatibility amongst devices in a multi-device network environment
FR3040810B1 (fr) * 2015-09-07 2017-10-13 Docapost Dps Systeme informatique de gestion securisee d'informations numeriques

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216375A (ja) * 2002-01-25 2003-07-31 Canon Inc プリントシステム及びユーザインタフェースを制御する方法
JP2004078745A (ja) * 2002-08-21 2004-03-11 Canon Inc 情報処理装置、制御方法、実行プログラム
JP2005078448A (ja) * 2003-09-01 2005-03-24 Seiko Epson Corp 周辺機器制御装置、周辺機器制御方法および周辺機器制御プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2661416B2 (ja) * 1991-06-29 1997-10-08 ブラザー工業株式会社 印字システム
US5566335A (en) * 1993-03-16 1996-10-15 Hewlett-Packard Company Method and apparatus for firmware upgrades in embedded systems
JPH08171482A (ja) * 1994-10-29 1996-07-02 Mitsubishi Electric Corp プログラムのバージョン生成方式
US6704933B1 (en) * 1999-02-03 2004-03-09 Masushita Electric Industrial Co., Ltd. Program configuration management apparatus
US7401113B1 (en) * 1999-12-09 2008-07-15 Microsoft Corporations Printer driver identification for a remote printer
US6658659B2 (en) * 1999-12-16 2003-12-02 Cisco Technology, Inc. Compatible version module loading
US7107330B1 (en) * 2000-11-09 2006-09-12 International Business Machines Corporation Data processing system and method for distributing a device driver to a plurality of client computer systems each executing different operating systems
JP2002225307A (ja) * 2000-11-28 2002-08-14 Seiko Epson Corp インクカートリッジと印刷装置との適合性の判断
US20030061604A1 (en) * 2001-09-21 2003-03-27 General Instrument Corporation Software-code configurable digital appliance
JP4048318B2 (ja) 2002-02-27 2008-02-20 セイコーエプソン株式会社 ソフトウェアの管理方法
US7304758B2 (en) * 2002-03-27 2007-12-04 Sharp Laboratories Of America, Inc. Dynamically updating a printer driver
US7243347B2 (en) * 2002-06-21 2007-07-10 International Business Machines Corporation Method and system for maintaining firmware versions in a data processing system
US7752290B2 (en) * 2002-08-21 2010-07-06 Canon Kabushiki Kaisha Information processing apparatus connectable to peripheral device, controlling method, and computer-readable storage medium storing control program thereon
WO2004021164A1 (ja) * 2002-08-30 2004-03-11 Seiko Epson Corporation 印刷制御装置、印刷制御方法、印刷制御プログラム、印刷制御プログラムを記録した媒体、画像処理装置、画像処理コンピュータ
JP4055529B2 (ja) * 2002-09-20 2008-03-05 富士ゼロックス株式会社 印刷指示装置及び印刷指示方法
US7539985B2 (en) * 2003-02-26 2009-05-26 Bea Systems, Inc. Systems and methods for dynamic component versioning
US7457831B2 (en) * 2003-03-31 2008-11-25 Microsoft Corporation Peripheral device driver maintenance scheme for networked peripheral device clients
US20050177826A1 (en) * 2004-02-05 2005-08-11 Miller James S. Versioning support in object-oriented programming languages and tools
JP2006040214A (ja) * 2004-07-30 2006-02-09 Canon Inc 情報処理装置、印刷処理方法、及びコンピュータプログラム
US7730326B2 (en) * 2004-11-12 2010-06-01 Apple Inc. Method and system for updating firmware stored in non-volatile memory
US7689985B2 (en) * 2005-03-04 2010-03-30 Microsoft Corporation Versioning support for drivers frameworks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216375A (ja) * 2002-01-25 2003-07-31 Canon Inc プリントシステム及びユーザインタフェースを制御する方法
JP2004078745A (ja) * 2002-08-21 2004-03-11 Canon Inc 情報処理装置、制御方法、実行プログラム
JP2005078448A (ja) * 2003-09-01 2005-03-24 Seiko Epson Corp 周辺機器制御装置、周辺機器制御方法および周辺機器制御プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7838323B2 (en) 2006-06-09 2010-11-23 Panasonic Corporation Method for fabricating semiconductor device
US8477328B2 (en) 2007-09-26 2013-07-02 Seiko Epson Corporation Function-providing system
JP2009294894A (ja) * 2008-06-05 2009-12-17 Brother Ind Ltd プリンタ動作制御方法、プリンタ、およびプリンタシステム
JP2015022509A (ja) * 2013-07-18 2015-02-02 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US9740471B2 (en) 2013-07-18 2017-08-22 Canon Kabushiki Kaisha Information processing apparatus, and information processing method
US10372467B2 (en) 2016-11-28 2019-08-06 Seiko Epson Corporation Information processing apparatus and non-transitory computer-readable medium having program installable on the same

Also Published As

Publication number Publication date
US7865891B2 (en) 2011-01-04
US20060218541A1 (en) 2006-09-28

Similar Documents

Publication Publication Date Title
JP2006268752A (ja) 複数のバージョンに対応したモジュールの起動
US8159703B2 (en) Information processing apparatus, and control method therefor, as well as program
JP4645246B2 (ja) アイコン制御プログラム、コンピュータ、方法
JP4778830B2 (ja) 表示制御システム、画像処理装置、表示制御方法
US20070283345A1 (en) Storage Medium Storing Installation Package For Installing Application Program On Computer
CN102756573B (zh) 信息处理装置及打印设置方法
US9170763B2 (en) Information processing apparatus and control method
US20100175074A1 (en) Host apparatus, method of controlling host apparatus, image forming system, and computer program
JP2011096100A (ja) 設定変更装置及びプログラム
JP2009301127A (ja) プリンタドライバプログラム及び印刷指示装置
JP4379577B2 (ja) 周辺機器制御装置、周辺機器制御方法および周辺機器制御プログラム
JP2002041257A (ja) プリンタドライバのインストール方法、プリンタドライバ用インストールプログラムを記録した記録媒体、およびプリンタドライバ用インストール装置
JP2011070472A (ja) アプリケーション開発支援方法、システム、及びプログラム
JP4344921B2 (ja) Ui制御装置、ui制御方法、ui制御プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP2011180681A (ja) インストーラ及びプリンタドライバのインストール方法
JP2009157868A (ja) 情報処理装置、情報処理方法及びプログラム。
US20050254092A1 (en) Method for printing image in voluntary template paper, print management apparatus and print system using the same
JP4420183B2 (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP4200384B2 (ja) 印刷制御装置、印刷制御方法、印刷制御プログラム、印刷制御プログラムを記録した媒体、画像処理装置、画像処理コンピュータ
US20230236773A1 (en) Non-transitory storage medium storing supporting program executable by computer of information processing apparatus
JP2005267541A (ja) 周辺機器ドライバ、周辺機器制御装置および周辺機器制御ドライバのインストール方法
JP4458219B2 (ja) 印刷システムおよび印刷制御プログラム
JP2003330653A (ja) プリンタドライバおよび記録媒体
US20240080396A1 (en) Information processing apparatus capable of preventing lowering of operability when printing is performed, method of controlling information processing apparatus, and storage medium
US8848207B2 (en) Computer capable of setting new environment for using new electronic device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110524