(57)【特許請求の範囲】
【請求項１】
連携アプリケーションがインストールされている情報処理装置と連携して画像形成動作が可能な画像形成装置であって、
当該画像形成装置のファームウェアのバージョンを検出するための検出手段と、
前記情報処理装置にインストールされている前記連携アプリケーションのバージョンを取得するための取得手段と、
前記ファームウェアのバージョンと前記連携アプリケーションのバージョンとから、前記連携アプリケーションをバージョンアップするための更新情報を特定するための特定手段と、
前記更新情報を前記情報処理装置に対して送信するための送信手段とを備え、
前記更新情報および連携アプリケーションはそれぞれ、前記情報処理装置にユーザーインターフェースを実現させるためのＵＩ部と、前記ＵＩ部とは独立に構成され、前記連携した処理を前記情報処理装置に実行させるための処理部とを含み、
前記ＵＩ部は、前記情報処理装置に、当該アプリケーションの更新により変化する機能について、前記機能の変化を有効化するか否かを機能ごとに選択可能にユーザーに提示し、機能ごとに変化を有効化するか否かの指示を受け付けるためのユーザーインターフェースをさらに実現させる、画像形成装置。
【請求項２】
前記ＵＩ部は、前記情報処理装置に、前記更新前の当該アプリケーションのユーザーインターフェースに前記変化する機能を表わすインターフェースをさらに実現させ、前記変化する機能を表わすインターフェースに対する規定された操作入力に応じて、前記変化する機能に関して前記アプリケーションの更新のための情報に応じて設定された処理を呼び出して実行させる、請求項１に記載の画像形成装置。
【請求項３】
前記ＵＩ部は、前記情報処理装置に、前記変化する機能を表わすインターフェースに対する規定された操作入力に応じて当該変化を有効化するか否かを選択するためのユーザーインターフェースをさらに実現させ、当該ユーザーインターフェースに対する規定された操作入力に応じて、当該変化を有効化させる、請求項２に記載の画像形成装置。
【請求項４】
前記ＵＩ部は、前記情報処理装置に、前記変化する機能を表わすインターフェースに対する規定された操作入力に応じて当該変化を有効化するか否かを選択するためのユーザーインターフェースをさらに実現させ、当該ユーザーインターフェースに対する規定された操作入力に応じて、当該アプリケーションの更新のための情報から当該機能を削除させる、請求項２に記載の画像形成装置。
【請求項５】
前記処理部は、前記情報処理装置に、前記変化する機能以外の機能を実行する場合には前記更新前の当該アプリケーションの機能を実行させ、前記変化する機能を実行する場合には当該アプリケーションの更新部分に含まれる前記変化する機能を実行させる、請求項１〜４のいずれかに記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は連携アプリケーション、画像形成装置、および更新方法に関し、特に、更新される連携アプリケーション、当該更新を行なう画像形成装置、およびその更新方法に関する。
【背景技術】
【０００２】
プリンターやコピー機やそれらの複合機であるＭＦＰ（Multi-Function Peripherals）など画像形成装置を、当該画像形成装置にされた情報処理装置で利用する使い方がなされている。
【０００３】
このような使用状況において画像形成装置のファームウェア（Ｆ／Ｗ）がバージョンアップされた場合、上記情報処理装置にインストールされているプリンタードライバーなどのプリンター連携アプリケーションもあわせてアップデートしないと、画像形成装置と該アプリケーションとの間の整合がとれずに一部の機能が使用できなくなったり、画像形成装置の新たな機能が利用できなかったりする、など様々な問題が生じる場合がある。
【０００４】
そこで、特開２００９−０５６６０８号公報（特許文献１）、特開２００６−２２７９９０号公報（特許文献２）、および特開２００６−２３５７３９号公報（特許文献３）などに開示されている技術を利用することで、従来、画像形成装置のＦ／Ｗが更新された際に、プリンター連携アプリケーションのバージョンをＦ／Ｗの更新に伴って自動的にアップデートすることがなされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−０５６６０８号公報
【特許文献２】特開２００６−２２７９９０号公報
【特許文献３】特開２００６−２３５７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述のように画像形成装置のＦ／Ｗの更新に合わせてのプリンタードライバーが自動的にアップデートされると、該アップデートの内容によっては、ＵＩ（ユーザーインターフェース）などの操作性が大きく変わったり、ドライバー言語の出力方法の変化などにより、従来と出力のイメージが異なったりする場合がある。そのため、ユーザーによっては、画像形成装置のＦ／Ｗが更新された場合でも、既存のプリンター連携アプリケーションをアップデートせずに利用したい場合があり、上述のような自動的にアップデートされる場合にはこのようなユーザーにとっては不便となる場合がある、という問題があった。
【０００７】
さらに、アップデートせずに以前のプリンタードライバーを使い続けると、新機能が使用できなかったり、従来機能の一部も使用できなかったりする場合がある、という問題があった。
【０００８】
また、アップデートによって既存の機能実装でのバグ等が改善する場合にも、アップデートせずに以前のプリンタードライバーを使い続けるとその恩恵を受けることができない、つまり、バグ等が解消されない、という問題があった。
【０００９】
本発明はこのような問題に鑑みてなされたものであって、ユーザーの使い勝手を損なうことなく必要に応じてバージョンアップすることができる連携アプリケーション、画像形成装置、および更新方法を提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明のある局面に従うと、画像形成装置は、連携アプリケーションがインストールされている情報処理装置と連携して画像形成動作が可能な画像形成装置であって、当該画像形成装置のファームウェアのバージョンを検出するための検出手段と、前記情報処理装置にインストールされている前記連携アプリケーションのバージョンを取得するための取得手段と、前記ファームウェアのバージョンと前記連携アプリケーションのバージョンとから、前記連携アプリケーションをバージョンアップするための更新情報を特定するための特定手段と、前記更新情報を前記情報処理装置に対して送信するための送信手段とを備える。前記更新情報および連携アプリケーションはそれぞれ、情報処理装置にユーザーインターフェースを実現させるためのＵＩ部と、前記ＵＩ部とは独立に構成され、情報処理装置に、当該アプリケーションの更新により変化する機能について、機能の変化を有効化するか否かを機能ごとに選択可能にユーザーに提示し、機能ごとに変化を有効化するか否かの指示を受け付けるためのユーザーインターフェースをさらに実現させる。
【００１１】
好ましくは、ＵＩ部は、情報処理装置に、更新前の当該アプリケーションのユーザーインターフェースに変化する機能を表わすインターフェースをさらに実現させ、変化する機能を表わすインターフェースに対する規定された操作入力に応じて、変化する機能に関してアプリケーションの更新のための情報に応じて設定された処理を呼び出して実行させる。
【００１２】
より好ましくは、ＵＩ部は、情報処理装置に、変化する機能を表わすインターフェースに対する規定された操作入力に応じて当該変化を有効化するか否かを選択するためのユーザーインターフェースをさらに実現させ、当該ユーザーインターフェースに対する規定された操作入力に応じて、当該変化を有効化させる。
【００１３】
好ましくは、ＵＩ部は、情報処理装置に、変化する機能を表わすインターフェースに対する規定された操作入力に応じて当該変化を有効化するか否かを選択するためのユーザーインターフェースをさらに実現させ、当該ユーザーインターフェースに対する規定された操作入力に応じて、当該アプリケーションの更新のための情報から当該機能を削除させる。
【００１４】
好ましくは、処理部は、情報処理装置に、変化する機能以外の機能を実行する場合には更新前の当該アプリケーションの機能を実行させ、変化する機能を実行する場合には当該アプリケーションの更新部分に含まれる変化する機能を実行させる。
【発明の効果】
【００１８】
この発明によると、ユーザーの使い勝手を損なうことなく必要に応じて連携アプリケーションをバージョンアップすることができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態にかかる画像形成システムの構成の具体例を示す図である。
【図２】画像形成システムに含まれるＭＦＰのハードウェア構成の具体例として、一般的なＭＦＰのハードウェア構成を示す図である。
【図３】画像形成システムに含まれるＰＣのハードウェア構成の具体例として、一般的なＰＣのハードウェア構成を示す図である。
【図４】画像形成システムでの動作概要を表わした図である。
【図５】図４に表わされた各状態での、ＰＣにおけるプリンタードライバー画面の具体例を示す図である。
【図６】図４に表わされた各状態での、ＰＣにおけるプリンタードライバー画面の具体例を示す図である。
【図７】連携アプリケーションとしてのプリンタードライバーの構成とＭＦＰのファームウェアとの関係とを表わした図である。
【図８】連携アプリケーションとしてのプリンタードライバーの構成とＭＦＰのファームウェアとの関係とを表わした図である。
【図９】差分情報の内容の具体例を示す図である。
【図１０】差分情報に含まれる、ＵＩに追加するコントロールの情報の具体例を示す図である。
【図１１】差分情報によってプリンタードライバーに新機能が追加されたときの、プリンタードライバーでの処理の流れを模式的に表わした図である。
【図１２】プリンタードライバーの表示画面の具体例を表わした図である。
【図１３】ＰＣの機能構成の具体例を示すブロック図である。
【図１４】ＭＦＰの機能構成の具体例を示すブロック図である。
【図１５】画像形成システムでの動作の流れを表わしたフローチャートである。
【図１６】図１５のステップＳ２１１での新規に追加された機能を表示画面に追加する処理の具体的な流れを表わすフローチャートである。
【発明を実施するための形態】
【００２０】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【００２１】
＜システム構成＞
図１は、本実施の形態にかかる画像形成システム１の構成の具体例を示す図である。
【００２２】
図１を参照して、画像形成システム１は、インターネットやＬＡＮ（Local Area Network）などのネットワークを介して通信可能な、画像形成装置としてのＭＦＰ（Multi-Function Peripheral）１００と、情報処理装置としてのＰＣ（パーソナルコンピュータ）２００と、サーバー５００とを含む。画像形成装置はＭＦＰに限定されず、プリンターやスキャナーやコピー機などであってもよい。
【００２３】
サーバー５００は、ＭＦＰ１００に対してファームウェアのバージョンアップのために必要な情報を送信する。ＰＣ３００は、ＭＦＰ１００の機能と連携した処理を実行させるためのアプリケーション（以下、連携アプリケーションとも称する）がインストールされており、該アプリケーションを実行することで、ＭＦＰ１００に対して制御信号を出力し、ＭＦＰ１００に画像形成動作を実行させる。上記連携アプリケーションとしては、たとえば、プリンタードライバーやスキャナーアプリケーションなどが該当する。
【００２４】
＜ハードウェア構成＞
図２は、ＭＦＰ１００のハードウェア構成の具体例として、一般的なＭＦＰのハードウェア構成を示す図である。
【００２５】
図２を参照して、一例としてＭＦＰ１００は、全体を制御するための演算装置であるＣＰＵ（Central Processing Unit）１０と、ＣＰＵ１０で実行されるプログラムなどを記憶するためのＲＯＭ（Read Only Memory）１１と、ＣＰＵ１０でプログラムを実行する際の作業領域として機能するためのＲＡＭ（Random Access Memory）１２と、図示しない原稿台に載置された原稿を光学的に読み取って画像データーを得るためのスキャナー１３と、画像データーを印刷用紙上に固定するためのプリンター１４と、情報を表示したり当該ＭＦＰ１００に対する操作入力を受け付けたりするための操作パネル１５と、画像データーをファイルとして保存するためのメモリー１６と、上記ネットワークを介した通信を制御するためのネットワークコントローラー１７とを含む。
【００２６】
図３は、ＰＣ３００のハードウェア構成の具体例として、一般的なＰＣのハードウェア構成を示す図である。
【００２７】
図３を参照して、一例としてＰＣ３００は、全体を制御するための演算装置であるＣＰＵ３０と、ＣＰＵ３０で実行されるプログラムなどを記憶するためのＲＯＭ３１と、ＣＰＵ３０でプログラムを実行する際の作業領域として機能するためのＲＡＭ３２と、画像データーをファイルとして記憶したり他の情報を記憶したりするためメモリー３３と、情報を表示するための表示装置３４と、当該ＰＣ３００に対する操作入力を受け付けるための入力装置３５と、上記ネットワークを介した通信を制御するためネットワークコントローラー３６とを含む。
【００２８】
なお、サーバー５００も、一般的なＰＣで構成されてよい。そのため、そのハードウェア構成の具体例としては、図３に表わされた一般的なＰＣのハードウェア構成と同じものとすることができる。
【００２９】
＜動作概要＞
図４は、画像形成システム１での動作概要を表わした図である。また、図５および図６は、図４に表わされた各状態での、ＰＣ３００におけるプリンタードライバー画面の具体例を示す図である。
【００３０】
図４を参照して、初期状態として、たとえば、ＭＦＰ１００にはバージョン１．０のファームウェアがインストールされているものとする。そのとき、ＰＣ３００にインストールされている連携アプリケーションの一例としてのプリンタードライバーを起動すると、図５に表わされたような画面が表示されるものとする。
【００３１】
ＭＦＰ１００にサーバー５００からファームウェアを更新するための情報が送信されると、ＭＦＰ１００は該情報を用いてファームウェアを更新する。これによって、ＭＦＰ１００のファームウェアがバージョン１．０からバージョン２．０に更新されたものとする。
【００３２】
このとき、ＭＦＰ１００はＰＣ３００と通信することで当該ＰＣ３００に搭載されているプリンタードライバーのバージョンをチェックし、更新された情報をＰＣ３００に送信する。この情報には、たとえば、位置情報、テキスト、画像データーなどが含まれる。
【００３３】
図６は、この情報を用いてプリンタードライバーをバージョンしたＰＣ３００での、バージョンされたプリンタードライバーを起動したときの画面の具体例を示している。図６を参照して、ＰＣ３００では、プリンタードライバーがバージョンされることで、バージョンアップ後のＭＦＰ１００のファームウェアとプリンタードライバーとの整合性により、バージョンアップ前に使用可能であった機能が利用できなくなる場合がある。そのような機能が存在する場合、ＰＣ３００の画面上では当該機能部分がマスクして表示される。そのようにすることで、プリンタードライバーが更新されることによって従来の機能が使用できなくなる、という問題を回避する。
【００３４】
また、新たな機能が追加される場合、ＰＣ３００の画面上では当該機能部分が、他の部分と異なる表示態様で表示される。図６の例では、「給紙トレイ別用紙設定」機能が新たたに追加されており、その項目が淡色で表示されている。さらに、当該項目にマウスオーバーされるなど入力装置３５で選択する操作入力を受け付けると、当該機能を有効化するか無効化するかを選択可能となる。機能を有効化することで、ドライバー全体をバージョンアップすることなく一部機能は利用可能となる。
【００３５】
図６の例では、淡色で表示された「給紙トレイ別用紙設定」機能を表わす表示にマウスオーバーすることで当該機能を追加するか否かを確認する画面がポップアップ表示され、当該ポップアップ画面において当該機能を有効化するか否か、またはドライバー全体をバージョンアップするか、を選択可能となっている。
【００３６】
＜プリンタードライバーの構成＞
図７および図８は、上記動作を実現するための、連携アプリケーションとしてのプリンタードライバーの構成とＭＦＰのファームウェアとの関係とを表わした図である。
【００３７】
上述のように、プリンタードライバーをバージョンアップする際にＭＦＰ１００からＰＣ３００には以前のバージョンからの差分情報が送信される。そこで、以降、この情報を「差分情報」とも称する。
【００３８】
なお、図７はプリンタードライバーとＭＦＰのファームウェアとの双方のバージョンが１．０で一致している場合を表わし、図８はＭＦＰのファームウェアがバージョン２．０にバージョンアップされた場合を表わしている。
【００３９】
図７を参照して、上述の動作を実現するためには、差分情報は、プリンタードライバーのＵＩ（ユーザーインターフェース）を実現するためのＵＩ部と、ＭＦＰで処理できる言語とするための言語処理を行なうための言語処理部とに区分されている。
【００４０】
ＵＩ部は、以前のバージョンで使用可能な既存機能にオーバーレイする部分と、新規機能の要素とを含む。オーバーレイする部分は既存のプリンタードライバーの表示画面上に新たな機能を表示し、必要に応じて新規機能のＵＩに処理を引き渡す。すなわち、図７を参照して、ＵＩ部は、バージョンアップ前の以前のバージョンのプリンタードライバーの表示画面上に、表示位置などの情報を元にボタンなどの追加ＵＩをレイヤー表示させる処理を行なうための埋込機能処理部を含む。埋込機能処理部は、マウスオーバーやクリックなどの入力装置での入力に応じた処理を実行し、予め指定されたＤＬＬなどのプログラムによって意指定されるアプリケーションの呼び出しを行なう。
【００４１】
言語処理部は、バージョンアップ前の以前のバージョンのプリンタードライバーとの互換性を確保するためにＵＩ部と区分されて構成される。言語処理部の新機能は、ＤＬＬで提供されるなど、バージョンアップ前の言語処理部の機能とは異なるプログラムで提供され、バージョンアップ前の言語処理部の機能自体を更新するという構成とはされない。
【００４２】
図８を参照して、ＭＦＰ１００のファームウェアがたとえばバージョン２．０にバージョンアップされることで、プリンタードライバーをバージョンアップするために必要な差分情報がＭＦＰ１００からＰＣ３００に対して送信される。この差分情報はＭＦＰ１００とＰＣ３００との双方向の情報のやり取りにより、ＭＦＰ１００のファームウェアのバージョンとＰＣ３００のプリンタードライバーのバージョンとを考慮し、適切な情報がＰＣ３００に送信される。
【００４３】
なお、本例では、当該差分情報がＭＦＰ１００からＰＣ３００に送信されるものとしているが、たとえばサーバー５００など、他の装置から送信されてもよい。
【００４４】
図９は、差分情報の内容の具体例を示す図である。図９を参照して、差分情報には、バージョンアップ前のプリンタードライバーの表示画面に埋め込んで表示させる情報に関する情報（ドライバーへの埋込表示情報）と、言語処理部の更新部分（言語処理更新部）と、ＵＩ部の更新部分（ＵＩ更新部）とが含まれる。
【００４５】
ドライバーへの埋込表示情報には、ボタンなどの部品（オブジェクト）の表示位置やメッセージ、処理の内容が含まれる。具体的には、図９を参照して、ベースとなる、バージョンアップ前のプリンタードライバーのバージョンを特定する情報（ベースドライバーのバージョン）と、バージョンアップさせた後のプリンタードライバーのバージョンを特定する情報（差分ドライバーのバージョン）と、ＭＦＰ１００の当該バージョンプリンタードライバーに対応するファームウェアのバージョンを特定する情報（ＭＦＰのファームウェアバージョン）と、バージョンアップ前のプリンタードライバーの画面に新機能を追加させるための情報（ＵＩに追加するコントロールの情報）とが含まれる。なお、ＵＩに追加するコントロールの情報については、図１０に詳細が表わされている。
【００４６】
言語処理更新部と、ＵＩ更新部とは、それぞれ、たとえばＤＬＬファイルなど、独立したプログラムとして構成される。
【００４７】
図１０を参照して、ＵＩに追加するコントロールの情報としては、たとえば、当該機能の提示オブジェクトを表示する位置を特定する情報（表示座標）や、当該オブジェクトの具体的な内容（表示コントロールタイプ）や、当該オブジェクトに表示させる文字列（表示文字列）や、当該機能に対応したアイコンの有無や、当該オブジェクトに対するマウスオーバー等の特定の操作を受け付けた際に表示させるメッセージ（マウスオーバー時のメッセージ）や、当該オブジェクトに対するクリック等の特定の操作を受け付けた際に呼び出すプログラム、メソッド（ボタンクリック時の呼び出しＤＬＬ，メソッド）や、当該機能の有効、無効を受け付ける以前の初期表示時の当該オブジェクトの表示態様（初期表示の透過率）や、当該オブジェクトを表示させるためのレイヤーの指定（表示レイヤー）などが含まれる。
【００４８】
ＰＣ３００においてプリンタードライバーの差分情報が取得されると、ＰＣ３００のＣＰＵ３０は、図９、図１０に基づいて、新機能を表わすオブジェクト（本例ではボタン）を、バージョンアップ前のプリンタードライバーの画面に埋め込んで表示させる。その際、図１０に示された表示態様で表示させる。
【００４９】
このように表示された状態で当該オブジェクトに対して図１０に規定された操作（本例ではマウスオーバー）を受け付けると、ＣＰＵ３０は図１０に規定されたメッセージを表示する。このときの表示例が図６に表わされている。すなわち、本例では、新機能を有効化するか否かを選択させるためのメッセージを表示する。ここで有効化することが選択されることで、ＣＰＵ３０は当該機能を有効化し、当該機能を表わすオブジェクト（本例ではボタン）を有効化させる。
【００５０】
図１１は、差分情報によってプリンタードライバーに新機能が追加されたときの、プリンタードライバーでの処理の流れを模式的に表わした図である。また、図１２は、そのときのプリンタードライバーの表示画面の具体例を表わした図である。図１１において、点線で囲まれた部分が、プリンタードライバーのバージョンをバージョン１．０からバージョン２．０にバージョンアップするための差分情報に相当する。
【００５１】
図１１を参照して、差分情報に含まれるドライバーへの埋込表示情報によって追加される機能を表わしたオブジェクト（ボタン等）がバージョンアップ前のプリンタードライバーの画面に追加して表示され、当該オブジェクトへの規定の操作を受け付けることで、ＵＩ更新部に規定のプログラムの呼び出しが通知される。
【００５２】
ＵＩ更新部は上述のようにたとえばＤＬＬファイルなどのプログラムで構成されており、埋込表示部情報に基づく表示に対する操作に応じて当該プログラムが実行され、新たな機能が呼び出される。
【００５３】
図１２は、追加された機能に関するボタンが押下されたときの、プリンタードライバーの画面の具体例を示す図である。図１２は、図６の画面において追加された「給紙トレイ別用紙設定」機能を有効にした上で、当該機能を表わすボタンを押下したときに表示される画面の具体例を表わしている。
【００５４】
図１２を参照して、この場合、プログラムで構成されたＵＩ更新部は、該プログラムを実行することで、プリンタードライバーの画面上に新たなポップアップ画面を表示させて、給紙トレイ別用紙設定を受け付ける。
【００５５】
再び図１１を参照して、ＵＩ更新部によって提示されたＵＩ（図１２の例の場合、ポップアップ画面）で受け付けた操作に基づく制御信号は、ＵＩ更新部によって、バージョンアップ前の（バージョン１．０の）言語処理部またはバージョンアップ後の（バージョン２．０の）言語処理更新部に渡される。そして、それぞれの処理部で処理されて生成されたスクリプト言語などのＭＦＰ１００で処理可能な形式のデーターが、ＭＦＰ１００に送信され、ＭＦＰ１００のファームウェアに渡される。ここでは、プリンタードライバーのバージョンアップ前の（バージョン１．０の）言語処理部で生成されたデーターはバージョンアップ前の（バージョン１．０の）ＭＦＰ１００のファームウェアに渡され、プリンタードライバーのバージョンアップ後の（バージョン２．０の）言語処理更新部で生成されたデーターはバージョンアップ後の（バージョン２．０の）ファームウェアに渡される。
【００５６】
＜機能構成＞
図１３は、上の動作を実現するための、ＰＣ３００の機能構成の具体例を示すブロック図である。図１３に示される各機能は、ＰＣ３００のＣＰＵ３０がＲＯＭ３１などに記憶されるプログラムを読み出してＲＡＮ３２に展開しながら実行することで、主に、ＣＰＵ３０上に形成される機能である。しかしながら、少なくとも一部が電気回路等のハードウェア構成で実現されてもよい。
【００５７】
図１３を参照して、メモリー３３には、連携アプリケーションとしてのプリンタードライバーを記憶するための領域であるプリンタードライバー記憶部３３１と、追加された機能に関するユーザーの操作入力に基づく設定を記憶するための設定記憶部３３２とが含まれる。
【００５８】
さらに図１３を参照して、ＣＰＵ３０は、入力装置３５からの操作入力を受け付けるための操作入力部３０１と、ネットワークコントローラー３６を介してＭＦＰ１００からプリンタードライバーをバージョンアップするための情報である差分情報の入力を受け付けるための情報入力部３０２と、入力された差分情報をプリンタードライバー記憶部３３１に格納するための格納部３０３と、差分情報に含まれるＵＩ更新部に基づいて追加された機能を表示装置３４に表示された画面上で通知するための通知部３０４と、ユーザーからの操作入力に基づいて追加された機能を有効化する処理を実行し、その設定を設定記憶部３３２に記憶させるための有効化処理部３０５と、ユーザーからの操作入力に基づいてプリンタードライバーおよびその設定をメモリー３３から読み出すための読出部３０６と、プリンタードライバーのＵＩ部を処理することで画面を表示装置３４に表示させる処理を行なうための表示処理部３０７と、プリンタードライバーの言語処理部を処理することで当該画面に対する操作入力に基づいてＭＦＰ１００で実行し得る言語で画像データーを表現し、画像形成を実行させるコマンドを生成するための言語処理部３０８と、画像データーおよびコマンドをネットワークコントローラー３６を介してＭＦＰ１００に送信する処理を行なうための出力部３０９とを含む。
【００５９】
上の例の場合、通知部３０４はプリンタードライバーの画面上に図１０に規定された表示態様で追加された機能である「給紙トレイ別用紙設定」機能を表わすボタンを表示させることで、当該機能の追加を通知する。
【００６０】
有効化処理部３０５は図１０の規定に従って当該ボタンに対するマウスオーバーを受け付けると図６のように当該機能を有効化するか否かを選択させるメッセージを表示し、その選択に従って当該機能を有効化する。
【００６１】
表示処理部３０７は、当該機能が有効化されているとの設定が設定記憶部３３２に記憶されている場合には、図９、図１０の情報に基づいてバージョンアップ前のプリンタードライバーの画面に新機能を表わすオブジェクト（この例ではボタン）を追加して表示させる。すなわち、ドライバーへの埋込表示情報に基づいて、バージョンアップ前のプリンタードライバーの画面に新機能を表わすオブジェクトを追加表示させる。
【００６２】
表示処理部３０７および言語処理部３０８は、当該ボタンへの操作入力を受け付けると、ドライバーへの埋込表示情報に基づいて設定されたプログラムを呼び出し、実行する。すなわち、表示処理部３０７は、ＵＩ更新部に基づいて図１２のようなポップアップ画面を表示させる。また言語処理部３０８は、画像形成処理のための入力情報を取得すると、バージョンアップ前（バージョン１．０）の言語処理部やバージョンアップ後の（バージョン２．０）の言語処理部を呼び出し、画像形成処理を実行させるためのコマンドを生成する。
【００６３】
図１４は、ＰＣ３００にインストールされている連携アプリケーションとしてのプリンタードライバーを、自身のファームウェアのバージョンに応じてバージョンアップするための、ＭＦＰ１００の機能構成の具体例を示すブロック図である。図１４に示された各機能は、ＭＦＰ１００のＣＰＵ１０がＲＯＭ１１などに記憶されるプログラムを読み出してＲＡＭ１２に展開しながら実行することで、主に、ＣＰＵ１０上に形成される機能である。しかしながら、少なくとも一部が電気回路等のハードウェア構成で実現されてもよい。
【００６４】
図１４を参照して、メモリー１６には、自身のファームウェアのバージョンを特定する情報を記憶するための領域であるバージョン情報記憶部１６１と、ファームウェアのバージョンとプリンタードライバーのバージョンとの関係に応じてプリンタードライバーをバージョンアップするための差分情報を特定する対応テーブルを記憶するための領域である対応テーブル記憶部１６２とが含まれる。なお、ここでは一例として、差分情報がファームウェアのバージョンとプリンタードライバーのバージョンとの関係に応じてテーブル形式で記憶されているものとしているが、テーブル形式には限定されない。また、自身のファームウェアのバージョンを特定する情報が記憶されているものとしているが、直接、ファームウェアからバージョンを検出するようにしてもよい。
【００６５】
さらに図１４を参照して、ＣＰＵ１０は、ネットワークコントローラー１７を介してＰＣ３００からインストールされているプリンタードライバーのバージョンを特定する情報の入力を受け付けるための情報入力部１０１と、自身のファームウェアのバージョンを検出するための検出部１０２と、上記対応テーブルを参照して、自身のファームウェアのバージョンとＰＣ３００にインストールされているプリンタードライバーのバージョンとから、当該ＰＣ３００にインストールされているプリンタードライバーをバージョンアップするための必要な差分情報を決定するための決定部１０３と、当該差分情報をネットワークコントローラー１７を介してＰＣ３００に対して送信するための出力部１０４とを含む。
【００６６】
上記情報入力部１０１は、所定のタイミングや指示されたタイミングなどにＰＣ３００に対して要求することでプリンタードライバーのバージョンを特定する情報の入力を受け付けてもよいし、所定のタイミングで自動的にＰＣ３００から送信される当該情報の入力を受け付けてもよい。
【００６７】
＜動作フロー＞
図１５は、画像形成システム１での動作の流れを表わしたフローチャートであって、図１５の左側はＰＭＦ１００での動作、右側はＰＣ３００での動作を表わしている。それぞれ、ＣＰＵ１０，３０がＲＯＭ１１，３１などに記憶されるプログラムを読み出してＲＡＭ１２，３２に展開しながら実行し、図１３，１４に示される各機能を発揮させることで実現される。
【００６８】
図１５を参照して、ステップＳ１０１でＣＰＵ１０は自身のファームウェアのバージョンアップを実行すると、ステップＳ１０３でバージョンアップ後のバージョンを検出する。
【００６９】
ステップＳ１０５でＰＣ３００にインストールされている連携アプリケーションとしてのプリンタードライバーのバージョンを特定する情報を取得する。ここでは、ＰＣ３００においてプリンタードライバーが起動され、ステップＳ２０１で所定のタイミング、または所定の指示入力に従ってＣＰＵ３０がプリンタードライバーのバージョンを特定する情報をＭＦＰ１００に送信することで、ＭＦＰ１００において該情報が取得される例が示されている。
【００７０】
ステップＳ１０７でＣＰＵ１０は、上記対応テーブルを参照して、ＰＣ３００のプリンタードライバーをバージョンアップするための適切な差分情報を決定し、ステップＳ１０９でプリンタードライバーのバージョンアップの実行を決定する。そして、ステップＳ１１１で決定された差分情報をＰＣ３００に対して送信する。
【００７１】
ここでは、上記ステップＳ１０９でバージョンアップの実行を予めＰＣ３００に対して通知する例が示されている。当該通知を受けると（ステップＳ２０３でＹＥＳ）、ステップＳ２０５でＣＰＵ３０はＭＦＰ１００から送信された差分情報を受信することで、該差分情報を取得し、ステップＳ２０７で展開する。そして、ステップＳ２０９でバージョンアップ前のプリンタードライバーの表示画面上に差分情報のＵＩ更新部に基づいて新規に追加された機能に関する表示を行なって該機能の追加をユーザーに通知する。ステップＳ２１１でＣＰＵ３０は、ユーザーの選択に基づいて、当該新規に追加された機能を表示画面に追加する処理を実行する。
【００７２】
もちろん、図１５の流れは一例であって、この流れに限定されるものではない。たとえば、上記ステップＳ１０９でバージョンアップを予め通知することは行なわず、差分情報を送信することでバージョンアップを実行するようにしてもよい。
【００７３】
図１６は、上記ステップＳ２１１での新規に追加された機能を表示画面に追加する処理の具体的な流れを表わすフローチャートである。ここでは、先に用いられた例に沿って具体的な流れを説明する。
【００７４】
図１６を参照して、上記ステップＳ２０９で図６に示されたように新規に追加された機能を表わすボタンが、バージョンアップ前のプリンタードライバーの表示画面上に淡色で表示されている状態において、当該ボタン上のマウスオーバー操作を受け付けると（ステップＳ３０１でＹＥＳ）、ステップＳ３０３でＣＰＵ３０は、図６に示されたように、ポップアップで、当該機能を追加する更新情報を有効化するか否かを選択させるための画面を表示し、選択操作を受け付ける。
【００７５】
ユーザー操作が、当該機能を有効化して表示画面に追加させるものである場合には（ステップＳ３０５でＹＥＳ）、ステップＳ３０７でＣＰＵ３０は、その操作に従って、上記Ｓ２０９で淡色で表示したボタンを、図１２に示されたように通常の表示態様で表示させる。
【００７６】
なお、ここで当該機能を追加しないとの選択の場合、ＣＰＵ３０は、差分情報から当該機能に関する情報を削除した上で、当該差分情報を既存のプリンタードライバーに適用うるようにしてもよい。
【００７７】
ところで、バージョンアップによって機能が追加される外、既存の機能が削除される場合もある。なお、この場合、ＣＰＵ３０は、上記ステップＳ２０９で、既存のプリンタードライバーの表示画面上に、バージョンアップによって削除される機能を表わすオブジェクトを他の機能のオブジェクトとは異なる表示態様で表示する。そして、上記ステップＳ３０１でたとえばマウスオーバー等の規定の操作入力を受け付けると、ステップＳ３０３でＣＰＵ３０は、当該機能の削除の可否を選択可能な画面を表示し、選択操作を受け付ける。
【００７８】
上記ステップＳ３０３のユーザー操作がこのような当該機能の削除を許可するものである場合には（ステップＳ３０５でＮＯ、かつＳ３０９でＹＥＳ）、ステップＳ３０７でＣＰＵ３０は、その操作に従って、削除される機能を表わしたオブジェクト（たとえばボタン）を表示画面上に表示させないようにする。
【００７９】
＜実施の形態の効果＞
上述のように、本実施の形態では連携アプリケーションがＵＩ部分と当該アプリケーションでの処理を行なう部分と、たとえばそれぞれ独立したプログラムのように、区分して構成されている。そのため、バージョンアップ前の既存の処理部分に影響を与えることなく新規の機能を追加することができる。また、ＵＩ部分は更新部分を従来のＵＩ（表示画面等）に一部追加して表示させるものであるため、バージョンアップ前の表示画面を大きく変えることなく新規の機能に応じた表示を行なうことができる。つまり、バージョンアップ前の機能や表示を維持したまま、追加機能や機能の削除や変更された仕様などの機能の変化を、必要に応じて選択して表示したり有効化したりすることができる。
【００８０】
そのため、該プログラムの全面的なバージョンアップを行なう従来の方法と比較して、操作性の大きな変化を抑えることができ、ユーザーの使い勝手を損なうことがない。また、既存のドライバー言語の出力方法などの処理部分を大きく変化させることがないため、従来と出力のイメージが異なるなどの機能上の差異も押さえることができ、ユーザーの使い勝手を損なうことがない。すなわち、ユーザーの使い勝手を損なうことなく必要に応じて連携アプリケーションをバージョンアップすることができる。
【００８１】
なお、このような連携アプリケーションまたは差分情報は、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ、ＲＡＭおよびメモリカードなどのコンピュータ読み取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００８２】
なお、本発明にかかるプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼び出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【００８３】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【００８４】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００８５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８６】
１  画像形成システム、１０，３０  ＣＰＵ、１１，３１  ＲＯＭ、１２，３２  ＲＡＭ、１３  スキャナー、１４  プリンター、１５  操作パネル、１６，３３  メモリー、１７，３６  ネットワークコントローラー、３４  表示装置、３５  入力装置、１０１，３０２  情報入力部、１０２  検出部、１０３  決定部、１０４，３０９  出力部、１６１  バージョン情報記憶部、１６２  対応テーブル記憶部、３０１  操作入力部、３０３  格納部、３０４  通知部、３０５  有効化処理部、３０６  読出部、３０７  表示処理部、３０８  言語処理部、３３１  プリンタードライバー記憶部、３３２  設定記憶部、５００  サーバー。
【図１】
0005970753.tif 000002
【図２】
0005970753.tif 000003
【図３】
0005970753.tif 000004
【図４】
0005970753.tif 000005
【図５】
0005970753.tif 000006
【図６】
0005970753.tif 000007
【図７】
0005970753.tif 000008
【図８】
0005970753.tif 000009
【図９】
0005970753.tif 000010
【図１０】
0005970753.tif 000011
【図１１】
0005970753.tif 000012
【図１２】
0005970753.tif 000013
【図１３】
0005970753.tif 000014
【図１４】
0005970753.tif 000015
【図１５】
0005970753.tif 000016
【図１６】
0005970753.tif 000017