(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されている少なくとも１つの画像形成装置と連携した処理を実行するための情報処理装置であって、
前記情報処理装置にインストールされており、前記情報処理装置に前記連携した処理を実行させるための第１のアプリケーションのバージョン情報に基づいて、前記第１のアプリケーションの機能がユーザーに対応するようにカスタマイズされたものであるか否かを判断するための種別判断手段と、
前記第１のアプリケーションおよび前記情報処理装置にインストールしようとする第２のアプリケーションのそれぞれが前記情報処理装置に、前記少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断するための連携処理判断手段と、
前記第２のアプリケーションによって連携した処理を実行させることが可能である前記画像形成装置が存在すると前記連携処理判断手段が判断した場合、前記第１のアプリケーションの機能にカスタマイズされた部分があるとの前記種別判断手段の判断に基づいて、前記第１のアプリケーションにおける前記カスタマイズされた部分の機能を残存し、前記第２のアプリケーションの前記連携した処理を実行させる機能を追加する態様で前記第１のアプリケーションを更新するための更新手段と、
前記第１のアプリケーションの前記カスタマイズされた部分の機能を発揮させるように起動するための起動手段とを備える、情報処理装置。
【請求項２】
前記第１のアプリケーションおよび前記第２のアプリケーションは、それぞれ独立に構成された、前記情報処理装置にユーザーインターフェースを実現させるためのＵＩ部と、前記連携した処理を前記情報処理装置に実行させるための処理部とを含み、
前記カスタマイズされた部分は前記ＵＩ部と対応し、前記種別判断手段は、前記ＵＩ部がユーザーに対応したユーザーインターフェースを実現させるものであるか否かを判断する、請求項１に記載の情報処理装置。
【請求項３】
前記種別判断手段が、前記第１のアプリケーションのＵＩ部がユーザーに対応したユーザーインターフェースを実現させるものであると判断した場合、前記起動手段は、前記更新手段により更新されたアプリケーションを起動する際に、ユーザーに対応したユーザーインターフェースを実現するために、前記ＵＩ部に対応する機能については前記第１のアプリケーションを起動する、請求項２に記載の情報処理装置。
【請求項４】
前記更新手段は、前記第１のアプリケーションまたは前記第２のアプリケーションのそれぞれが前記情報処理装置に実行させることが可能な機能と関連付けられたデータを追加、削除または上書きすることで前記第１のアプリケーションを更新する、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１のアプリケーションおよび前記第２のアプリケーションにより使用されるデータベースを格納するための記憶手段をさらに備え、
前記種別判断手段は、前記第１のアプリケーションの前記バージョン情報を前記記憶手段に格納された、前記第１のアプリケーションと関連付けられたデータベース、またはネットワークを介して接続可能なサーバ装置から取得する、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１のアプリケーションおよび前記第２のアプリケーションにより使用されるデータベースを格納するための記憶手段をさらに備え、
前記連携処理判断手段は、前記データベースに基づいて、前記第１のアプリケーションおよび前記第２のアプリケーションのそれぞれが前記情報処理装置に、前記少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断する、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記種別判断手段が、前記第１のアプリケーションのＵＩ部がユーザーに対応したユーザーインターフェースを実現させるものであると判断した場合、ネットワークに接続された少なくとも１つの画像形成装置において、前記第２のアプリケーションが前記情報処理装置に連携した処理を実行させることが可能な第１の画像形成装置が存在するときに、
前記第２のアプリケーションは、前記第１のアプリケーションと関連付けられたデータベースを参照することにより、前記第１のアプリケーションが前記情報処理装置に連携した処理を実行させることが可能な第２の画像形成装置に対する処理内容を、前記情報処理装置に前記第１の画像形成装置に対して実行させる、請求項６に記載の情報処理装置。
【請求項８】
ネットワークに接続されている少なくとも１つの画像形成装置と連携した処理を実行するための情報処理装置のコンピュータに実行させる制御プログラムであって、
前記情報処理装置にインストールされており、前記情報処理装置に前記連携した処理を実行させるための第１のアプリケーションのバージョン情報に基づいて、前記第１のアプリケーションの機能がユーザーに対応するようにカスタマイズされたものであるか否かを判断するステップと、
前記第１のアプリケーションおよび前記情報処理装置にインストールしようとする第２のアプリケーションのそれぞれが前記情報処理装置に、前記少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断するステップと、
前記第２のアプリケーションによって連携した処理を実行させることが可能である前記画像形成装置が存在する場合、前記第１のアプリケーションの機能にカスタマイズされた部分があるとの判断に基づいて、前記第１のアプリケーションにおける前記カスタマイズされた部分の機能を残存し、前記第２のアプリケーションの前記連携した処理を実行させる機能を追加する態様で前記第１のアプリケーションを更新するステップと、
前記第１のアプリケーションの前記カスタマイズされた部分の機能を発揮させるように起動する起動ステップとを実行させる、情報処理装置の制御プログラム。
【請求項９】
ネットワークに接続されている少なくとも１つの画像形成装置と連携した処理を実行するための情報処理装置の制御方法であって、
前記情報処理装置にインストールされており、前記情報処理装置に前記連携した処理を実行させるための第１のアプリケーションのバージョン情報に基づいて、前記第１のアプリケーションの機能がユーザーに対応するようにカスタマイズされたものであるか否かを判断するステップと、
前記第１のアプリケーションおよび前記情報処理装置にインストールしようとする第２のアプリケーションのそれぞれが前記情報処理装置に、前記少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断するステップと、
前記第２のアプリケーションによって連携した処理を実行させることが可能である前記画像形成装置が存在する場合、前記第１のアプリケーションの機能にカスタマイズされた部分があるとの判断に基づいて、前記第１のアプリケーションにおける前記カスタマイズされた部分の機能を残存し、前記第２のアプリケーションの前記連携した処理を実行させる機能を追加する態様で前記第１のアプリケーションを更新するステップと、
前記第１のアプリケーションの前記カスタマイズされた部分の機能を発揮させるように起動する起動ステップとを備える、情報処理装置の制御方法。
【請求項１０】
ネットワークに接続されている少なくとも１つの画像形成装置、およびサーバー装置と、
前記画像形成装置と連携した処理を実行するための情報処理装置とを備える、情報処理システムであって、
前記情報処理装置にインストールされており、前記情報処理装置に前記連携した処理を実行させるための第１のアプリケーションのバージョン情報に基づいて、前記第１のアプリケーションの機能がユーザーに対応するようにカスタマイズされたものであるか否かを判断する種別判断手段と、
前記第１のアプリケーションおよび前記情報処理装置にインストールしようとする第２のアプリケーションのそれぞれが前記情報処理装置に、前記少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断する連携処理判断手段と、
前記第２のアプリケーションによって連携した処理を実行させることが可能である前記画像形成装置が存在するとの前記連携処理判断手段が判断した場合、前記第１のアプリケーションの機能にカスタマイズされた部分があるとの前記種別判断手段の判断に基づいて、前記第１のアプリケーションにおける当該カスタマイズされた部分の機能を残存し、前記第２のアプリケーションの前記連携した処理を実行させる機能を追加する態様で前記第１のアプリケーションを更新する更新手段と、
前記第１のアプリケーションの前記カスタマイズされた部分の機能を発揮させるように起動する起動手段とを含む、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置と連携した処理を実行可能な情報処理装置、その制御方法、その制御プログラム、および情報処理システムに関する。
【背景技術】
【０００２】
従来から、複写（コピー）機能、読み取り（スキャナー）機能、プリンター機能等を有する複合型画像形成装置が広く普及している。この画像形成装置は、複合機としてＭＦＰ（Multi -Functional Peripherals）とも呼ばれる。また、ネットワーク上に複数の画像形成装置が存在する場合には、ＰＣ（Personal Computer）などの情報処理装置に含まれるアプリケーションで当該複数の画像形成装置を一元的に管理する方式が知られている。
【０００３】
このようなアプリケーションをアップデートする際には、画像形成装置との連携処理が可能なようにアップデートする必要があり、アップデート方式には様々な技術が提案されている。
【０００４】
たとえば、特開２００４−４２３０４号公報（特許文献１）には、複数の画像形成装置のプログラムのバージョンアップ時に、画像形成装置ごとに適切なプログラムにバージョンアップすることができる技術が開示されている。
【０００５】
また、特開２００９−２３０４００号公報（特許文献２）には、導入するプリンタードライバのバージョンと、情報処理装置に接続して利用される装置のファームウェアのバージョンとの組み合わせが動作保証されるように、ソフトウェア、ファームウェアを更新することができる技術が開示されている。
【０００６】
一方で、情報処理装置に含まれている、画像形成装置を管理するためのアプリケーション（以下、管理アプリケーションとも称す）は、一般的には画像形成装置との通信機能、アプリケーションの内部処理機能、ＵＩ（User Interface）機能とが互いに連携しているため、当該アプリケーションをアップデートする際には、全ての機能を同時にアップデートされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−４２３０４号公報
【特許文献２】特開２００９−２３０４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
新しく管理することが必要となった画像形成装置において、従来の管理アプリケーションの通信機能や内部処理機能では当該画像形成装置と連携処理できない場合には、当該機能をアップデートする必要がある。
【０００９】
しかしながら、上記のように全ての機能を同時にアップデートしてしまうと、情報処理装置にインストールされている管理アプリケーションがユーザー専用に内部処理機能やＵＩ機能をカスタマイズしたものである場合には、当該カスタマイズ部分が消滅してしまうという問題が生じる。
【００１０】
したがって、ユーザーは新しい画像形成装置と連携処理可能な管理アプリケーションにバージョンアップした後、改めて当該管理アプリケーションの機能をユーザー専用にカスタマイズする必要があった。
【００１１】
本発明は、上記の問題点を解決するためになされたものであって、ユーザーの利便性を損なうことなく必要な機能についてアプリケーションをバージョンアップすることができる情報処理装置、その制御方法、その制御プログラム、および情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のある局面に従うと、ネットワークに接続されている少なくとも１つの画像形成装置と連携した処理を実行するための情報処理装置が提供される。情報処理装置は、情報処理装置にインストールされており、情報処理装置に連携した処理を実行させるための第１のアプリケーションのバージョン情報に基づいて、第１のアプリケーションの機能がユーザーに対応するようにカスタマイズされたものであるか否かを判断するための種別判断手段と、第１のアプリケーションおよび情報処理装置にインストールしようとする第２のアプリケーションのそれぞれが情報処理装置に、少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断するための連携処理判断手段と、第２のアプリケーションによって連携した処理を実行させることが可能である画像形成装置が存在すると連携処理判断手段が判断した場合、第１のアプリケーションの機能にカスタマイズされた部分があるとの種別判断手段の判断に基づいて、第１のアプリケーションにおけるカスタマイズされた部分の機能を残存し、第２のアプリケーションの連携した処理を実行させる機能を追加する態様で第１のアプリケーションを更新するための更新手段と、第１のアプリケーションのカスタマイズされた部分の機能を発揮させるように起動するための起動手段とを備える。
【００１３】
好ましくは、第１のアプリケーションおよび第２のアプリケーションは、それぞれ独立に構成された、情報処理装置にユーザーインターフェースを実現させるためのＵＩ部と、連携した処理を情報処理装置に実行させるための処理部とを含む。カスタマイズされた部分はＵＩ部と対応し、種別判断手段は、ＵＩ部がユーザーに対応したユーザーインターフェースを実現させるものであるか否かを判断する。
【００１４】
好ましくは、種別判断手段が、第１のアプリケーションのＵＩ部がユーザーに対応したユーザーインターフェースを実現させるものであると判断した場合、起動手段は、更新手段により更新されたアプリケーションを起動する際に、ユーザーに対応したユーザーインターフェースを実現するために、ＵＩ部に対応する機能については第１のアプリケーションを起動する。
【００１５】
好ましくは、更新手段は、第１のアプリケーションまたは第２のアプリケーションのそれぞれが情報処理装置に実行させることが可能な機能と関連付けられたデータを追加、削除または上書きすることで第１のアプリケーションを更新する。
【００１６】
好ましくは、第１のアプリケーションおよび第２のアプリケーションにより使用されるデータベースを格納するための記憶手段をさらに備える。種別判断手段は、第１のアプリケーションのバージョン情報を記憶手段に格納された、第１のアプリケーションと関連付けられたデータベース、またはネットワークを介して接続可能なサーバ装置から取得する。
【００１７】
好ましくは、第１のアプリケーションおよび第２のアプリケーションにより使用されるデータベースを格納するための記憶手段をさらに備える。連携処理判断手段は、データベースに基づいて、第１のアプリケーションおよび第２のアプリケーションのそれぞれが情報処理装置に、少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断する。
【００１８】
好ましくは、種別判断手段が、第１のアプリケーションのＵＩ部がユーザーに対応したユーザーインターフェースを実現させるものであると判断した場合、ネットワークに接続された少なくとも１つの画像形成装置において、第２のアプリケーションが情報処理装置に連携した処理を実行させることが可能な第１の画像形成装置が存在するときに、第２のアプリケーションは、第１のアプリケーションと関連付けられたデータベースを参照することにより、第１のアプリケーションが情報処理装置に連携した処理を実行させることが可能な第２の画像形成装置に対する処理内容を、情報処理装置に第１の画像形成装置に対して実行させる。
【００１９】
本発明の別の局面に従うと、ネットワークに接続されている少なくとも１つの画像形成装置と連携した処理を実行するための情報処理装置のコンピュータに実行させる制御プログラムが提供される。情報処理装置の制御プログラムは、情報処理装置にインストールされており、情報処理装置に連携した処理を実行させるための第１のアプリケーションのバージョン情報に基づいて、第１のアプリケーションの機能がユーザーに対応するようにカスタマイズされたものであるか否かを判断するステップと、第１のアプリケーションおよび情報処理装置にインストールしようとする第２のアプリケーションのそれぞれが情報処理装置に、少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断するステップと、第２のアプリケーションによって連携した処理を実行させることが可能である画像形成装置が存在する場合、第１のアプリケーションの機能にカスタマイズされた部分があるとの判断に基づいて、第１のアプリケーションにおけるカスタマイズされた部分の機能を残存し、第２のアプリケーションの連携した処理を実行させる機能を追加する態様で第１のアプリケーションを更新するステップと、第１のアプリケーションのカスタマイズされた部分の機能を発揮させるように起動する起動ステップとを実行させる。
【００２０】
本発明のさらに別の局面に従うと、ネットワークに接続されている少なくとも１つの画像形成装置と連携した処理を実行するための情報処理装置の制御方法が提供される。情報処理装置の制御方法は、情報処理装置にインストールされており、情報処理装置に連携した処理を実行させるための第１のアプリケーションのバージョン情報に基づいて、第１のアプリケーションの機能がユーザーに対応するようにカスタマイズされたものであるか否かを判断するステップと、第１のアプリケーションおよび情報処理装置にインストールしようとする第２のアプリケーションのそれぞれが情報処理装置に、少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断するステップと、第２のアプリケーションによって連携した処理を実行させることが可能である画像形成装置が存在する場合、第１のアプリケーションの機能にカスタマイズされた部分があるとの判断に基づいて、第１のアプリケーションにおけるカスタマイズされた部分の機能を残存し、第２のアプリケーションの連携した処理を実行させる機能を追加する態様で第１のアプリケーションを更新するステップと、第１のアプリケーションのカスタマイズされた部分の機能を発揮させるように起動する起動ステップとを備える。
【００２１】
本発明のさらに別の局面に従うと、ネットワークに接続されている少なくとも１つの画像形成装置、およびサーバー装置と、画像形成装置と連携した処理を実行するための情報処理装置とを備える、情報処理システムが提供される。情報処理システムは、情報処理装置にインストールされており、情報処理装置に連携した処理を実行させるための第１のアプリケーションのバージョン情報に基づいて、第１のアプリケーションの機能がユーザーに対応するようにカスタマイズされたものであるか否かを判断する種別判断手段と、第１のアプリケーションおよび情報処理装置にインストールしようとする第２のアプリケーションのそれぞれが情報処理装置に、少なくとも１つの画像形成装置の各々と連携した処理を実行させることが可能か否かを判断する連携処理判断手段と、第２のアプリケーションによって連携した処理を実行させることが可能である画像形成装置が存在するとの連携処理判断手段が判断した場合、第１のアプリケーションの機能にカスタマイズされた部分があるとの種別判断手段の判断に基づいて、第１のアプリケーションにおける当該カスタマイズされた部分の機能を残存し、第２のアプリケーションの連携した処理を実行させる機能を追加する態様で第１のアプリケーションを更新する更新手段と、第１のアプリケーションのカスタマイズされた部分の機能を発揮させるように起動する起動手段とを含む。
【発明の効果】
【００２２】
以上のように、本発明によれば、ユーザーの利便性を損なうことなく必要な機能についてアプリケーションをバージョンアップすることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施の形態に従う情報処理システムの構成を模式的に示す図である。
【図２】本発明の実施の形態に従う情報処理装置のハードウェア構成を示すブロック図である。
【図３】本発明の実施の形態に従う画像形成装置のハードウェア構成を示すブロック図である。
【図４】本発明の実施の形態に従う管理アプリケーションの各バージョンと画像形成装置との連携処理対応関係の一例を示す図である。
【図５】本発明の実施の形態に従う管理アプリケーションの内部構成の一例を示す図である。
【図６】本発明の実施の形態に従う管理アプリケーションの構成の別の一例を示す図である。
【図７】従来例の管理アプリケーションのアップデート方式について説明するための図である。
【図８】本発明の実施の形態に従う管理アプリケーションがアップデートされた構成を示す図である。
【図９】本発明の実施の形態に従う情報処理装置の主な機能構成を示すブロック図である。
【図１０】本発明の実施の形態に従う情報処理装置が実行する全体の処理手順を示すフローチャートである。
【図１１】本発明の実施の形態に従う管理アプリケーションのアップデート方式を特定するための処理手順を示すフローチャートである。
【図１２】本発明の実施の形態に従う管理アプリケーションの起動処理手順を示すフローチャートである。
【図１３】本発明の実施の形態に従う管理アプリケーションの別の起動処理手順を示すフローチャートである。
【図１４】本発明の実施の形態の効果を説明するための一例を示す図である。
【図１５】本発明の実施の形態の効果を説明するための一例を示す図である。
【図１６】本発明の実施の形態の効果を説明するための一例を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての同一部分については、その詳細な説明は繰り返さない。
【００２５】
＜用語＞
本明細書においては、既に情報処理装置にインストールされている管理アプリケーションを「第１のアプリケーション」とも記載する。また、上記の第１のアプリケーションよりもバージョンアップされており、一部又は全部の機能を情報処理装置にインストールしようとする管理アプリケーションを「第２のアプリケーション」とも記載する。
【００２６】
また、アプリケーションを「更新する」ことを、アプリケーションを「アップデートする」とも記載する。なお、アップデート（更新）とは、アプリケーションの内容を改善、修正、機能追加することを含む概念であるとする。すなわち、第２のアプリケーションを第１のアプリケーションに上書きしてインストールすること、第２のアプリケーションの一部の機能を追加してインストールすること、第２のアプリケーションをインストールして第１のアプリケーションの一部の機能をアンインストールすることを含むものとする。
【００２７】
＜１．システム全体構成＞
まず、本発明の実施の形態に従う情報処理システム１の全体構成について説明する。
【００２８】
図１は、本発明の実施の形態に従う情報処理システム１の構成を模式的に示す図である。
【００２９】
図１を参照して、情報処理システム１は、情報処理装置１０と、情報処理装置１０とネットワーク５０を介して接続された複数の画像形成装置２０Ａ〜２０Ｃ（２０Ｄ〜２０Ｆは図示しない）とサーバー装置３０とを含む。なお、以下の説明においては画像形成装置２０Ａ〜２０Ｆを代表させて画像形成装置２０とも称する。
【００３０】
情報処理装置１０と画像形成装置２０とサーバー装置３０とは、ネットワーク５０を介して相互にデータ通信可能に構成される。なお、ネットワーク５０は、ＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）などの専用回線や、インターネットや仮想プライベートネットワーク（Virtual Private Network）などの公衆回線からなり、さらにその一部または全部が無線ＬＡＮなどの無線通信回線であってもよい。
【００３１】
情報処理装置１０は、情報処理装置１０に複数の画像形成装置２０と連携処理させることができる管理アプリケーションがインストールされている。したがって、当該管理アプリケーションによって、複数の画像形成装置２０の情報を一元的に管理することができる。
【００３２】
情報処理装置１０は、たとえば、ＰＣ（Personal Computer）であり、電子データを送受信するための通信機能、各種情報を記憶する記憶機能、各種情報の処理内容を表示する表示機能などを有する。
【００３３】
画像形成装置２０は、電子データを送受信するための通信機能、複数の原稿を順次搬送するための原稿搬送機能、自動で両面コピーを行なうための再搬送機能、搬送された原稿の画像を読取る画像読取機能などの複数の機能を有する公知のディジタル複合機（ＭＦＰ）である。
【００３４】
また、サーバー装置３０は、たとえばＷｅｂサーバーからなり、Ｗｅｂコンテンツや情報処理装置１０からの要求に応じて画像形成装置２０のバージョン情報を配信したりするプログラムなどを配信するプログラム等を記憶する記憶部や、当該記憶部に記憶されたプログラム等に基づいて適宜処理を実行する処理部など、一般のサーバー装置に含まれる構成を含む。
【００３５】
＜２．ハードウェアの構成＞
次に、情報処理システム１を構成する情報処理装置１０と、画像形成装置２０と、サーバー装置３０のハードウェア構成について説明する。
【００３６】
図２は、本発明の実施の形態に従う情報処理装置１０のハードウェア構成を示すブロック図である。図３は、本発明の実施の形態に従う画像形成装置２０のハードウェア構成を示すブロック図である。
【００３７】
図２を参照して、情報処理装置１０は、ＣＰＵ（Central Processing Unit）１０２と、ＲＯＭ（Read Only Memory）１０４と、ＲＡＭ（Random Access Memory）１０６と、ＨＤＤ（Hard Disk Drive）１０８と、通信Ｉ／Ｆ１１０と、入力装置１１２と、ディスプレイ１１４と、これらの各部を接続するバス１１６とを含む。
【００３８】
ＣＰＵ１０２は、ＲＯＭ１０４、ＲＡＭ１０６、ＨＤＤ１０８などの記憶領域に記憶されているプログラムを読み出し、プログラムを順次実行することによって、情報処理装置１０の各部を制御する。より詳細には、ＣＰＵ１０２は、当該プログラムを実行することによって、後述する情報処理装置１０の処理（ステップ）の各々を実現する。
【００３９】
ＣＰＵ１０２は、マイクロプロセッサー（Microprocessor）、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＤＳＰ（Digital Signal Processor）およびその他の演算機能を有する回路のいずれであってもよい。
【００４０】
ＲＯＭ１０４は、ＣＰＵ１０２で実行されるプログラムを予め格納し、ＲＡＭ１０６は、ＣＰＵ１０２のプログラム部分の実行に必要なデータを一時的に記憶する。ＨＤＤ１０８は、比較的大容量のデータを不揮発的に格納することができ、本例においては管理アプリケーションのデータはＨＤＤ１０８に格納されるものとする。
【００４１】
通信Ｉ／Ｆ１１０は、ネットワーク５０に接続され、画像形成装置２０とサーバー装置３０と電子的にデータなどを遣り取りする。例えば、情報処理装置１０にインストールされている管理アプリケーションの処理情報を画像形成装置２０に送信したり、サーバー装置３０から画像形成装置２０の機種情報を受信したりする。
【００４２】
入力装置１１２は、ユーザーからの指示を受け付けるものであり、例えば、キーボードやボタン等から構成され、ディスプレイ１１４は、管理アプリケーションの処理内容を表示したり、ユーザーからの指示に応じて処理を行なう。
【００４３】
図３を参照して、画像形成装置２０は、たとえば、ＭＦＰであり、各種処理を実行するためのＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ２０４と、ネットワーク５０に接続された各種装置と電子的にデータなどを遣り取りするための通信Ｉ／Ｆ２０５と、スキャナー２０６と、プリンター２０７と、ＦＡＸ２０８と、オペレーションパネル２０９とを含む。オペレーションパネル２０９は、タッチパネルおよび各種キー等の入力部２０９Ａと、各種情報の表示を実行する表示部２０９Ｂとを含む。各部は、バス２２０を介して、互いにデータ通信可能に構成される。各部の構造や機能については、周知であるので、ここでは詳細な説明は行なわない。
【００４４】
サーバー装置３０は、全体として後述するような情報処理を提供できればよく、そのハードウェア構成については公知のものを採用することができる。従って、ここでは詳細な説明は行なわない。例えば、図２のような構成であっても良い。
【００４５】
＜３．動作概要＞
次に、本実施の形態に従う情報処理装置１０の動作概要について従来例と比較しながら説明する。なお、以下では主に管理アプリケーションによって実現される情報処理装置１０の動作について説明する。
【００４６】
（３−１．管理アプリケーションの構成）
まず、本発明の実施の形態に従う管理アプリケーションの構成について説明する。
【００４７】
管理アプリケーションには、図４に示すように複数のバージョンがあり、各バージョンによって、情報処理装置１０に連携処理させる（以下、単に「連携処理させる」とも称す）ことが可能な画像形成装置２０の機種が予め定まっている。
【００４８】
図４は、本発明の実施の形態に従う管理アプリケーションの各バージョンと画像形成装置２０との連携処理対応関係の一例を示す図である。
【００４９】
図４を参照すると、例えば、管理アプリケーションのＶｅｒ．１．０．０（以下、アプリＶｅｒ．１．０．０とも称す）では画像形成装置２０Ａ、２０Ｂと、アプリＶｅｒ．１．１．０では画像形成装置２０Ａ〜２０Ｃと、アプリＶｅｒ．１．２．０では画像形成装置２０Ａ〜２０Ｄと、アプリＶｅｒ．１．３では画像形成装置２０Ａ〜２０Ｅと、アプリＶｅｒ．２．０．０では画像形成装置２０Ｂ〜２０Ｆと連携処理させることが可能であることを示してる。また、アプリＶｅｒ．１．２．１が連携処理させることが可能な機種はアプリＶｅｒ．１．２．０と同様であるが、ユーザーの要望によりユーザー専用に管理アプリケーションの一部の機能がカスタマイズされている点が異なる。具体的には、管理アプリケーションのユーザーインターフェース（ＵＩ）を実現する機能を有する部分や管理アプリケーションの全体的な内部処理を行なう機能を有する部分がカスタマイズされている（画面に標準値を設定する、設定を隠す、アプリ内部の設定値を増やす、表示順番を入れ替えるなど）。
【００５０】
次に、本発明の実施の形態に従う管理アプリケーションの内部構成の一例について説明する。
【００５１】
図５は、本発明の実施の形態に従う管理アプリケーションの内部構成の一例を示す図である。
【００５２】
管理アプリケーションの主な内部構成は、ユーザーが画像形成装置２０の情報（カウンター情報、電力消費量など）を取得するために当該画像形成装置２０と通信処理を行なう機能を有する部分（以下、通信ロジック部とも称す）および管理アプリケーションの全体的な内部処理を行なう機能を有する部分（以下、内部処理部とも称す）と、ユーザーが管理アプリケーションの設定や画像形成装置２０の情報を確認するためのＵＩ（User Interface）を実現するための機能を有する部分（以下、ＵＩ部とも称す）とから構成されている。例えば、内部処理部は、各種処理を実行するためのプログラムを含み、データベースとＵＩ間の情報のやりとりを制御したり、設定したプログラムを予め定められた日時に定期的に実行したりもする。また、ＵＩ部は、ＨＴＭＬ（HyperText Markup Language）などマークアップ言語でＷｅｂページを記述したり、それを閲覧するためのＷｅｂブラウザや、Ｗｅｂサーバーソフトなどを含む。
【００５３】
管理アプリケーションにおける、上記の通信ロジック部および内部処理部によって画像形成装置２０との連携処理が実行され、ＵＩ部が内部処理部が行なう様々な処理内容をディスプレイ１１４に表示させる。
【００５４】
ところで、管理アプリケーションが情報処理装置１０に連携処理させる画像形成装置２０は、装置の種類、製造メーカー、発売時期、保有機能などによって大きく通信処理ロジック（通信プロトコル、暗号化処理、データフォーマット）が異なる。例えば、通信プロトコルは、ＦＴＰ（File Transfer Protocol）、ＨＴＴＰ（HyperText Transfer Protocol）、ＨＴＴＰＳ（HTTP over Secure Socket Layer）、ＳＮＭＰｖ１（Simple Network Management Protocol Version 1）、ＳＮＭＰｖ３、ＳＭＢ（Server Message Block）、ＳＭＴＰ（Simple Mail Transfer Protocol）、ＳＭＴＰＳ（SMTP over Secure Socket Layer）、およびＰＯＰ（Post Office Protocol）などのように異なる。また、暗号化処理は、ＳＳＬ（Secure Socket Layer）、ＡＥＳ（Advanced Encryption Standard）１２８／１９６／２５６、ＤＥＳ（Data Encryption Standard）、３ＤＥＳ、および独自の暗号化処理などのように異なる。また、データフォーマット形式は、ＸＭＬ（Extensible Markup Language）、Ｂｉｎａｒｙ（バイナリ）、ＡＳＣＩＩ（American Standard Code for Information Interchange）、および独自の形式などのように異なる。
【００５５】
したがって、管理アプリケーションが画像形成装置２０を管理する際には、情報処理装置１０にインストールされている管理アプリケーションの通信ロジック部と画像形成装置２０との間で通信処理ロジックの整合を取る必要がある。具体的には、新たに管理する画像形成装置２０の通信処理ロジックや機能が新規なものである場合には、管理アプリケーションは、少なくとも当該画像形成装置２０との間で情報をやりとりするための通信ロジック部と、当該情報を処理するための内部処理部とをアップデートする必要がある。
【００５６】
一方で、管理アプリケーションの通信ロジック部を、内部処理部やＵＩ部とは別に切り離して設けるように管理アプリケーションを構成する方式がある。
【００５７】
図６は、本発明の実施の形態に従う管理アプリケーションの構成の別の一例を示す図である。
【００５８】
図６を参照して、管理アプリケーションの主な構成は、通信ロジック部とは別に切り離された内部処理部と、ＵＩ部とから構成されている。すなわち、図６に示された管理アプリケーションとは、通信ロジック部と内部処理部とが別に構成されている点が異なる。
【００５９】
このような構成とするのは、ユーザーが通信ロジック部以外のＵＩ部および内部処理部をユーザー用にカスタマイズしてアップデートを要望する場合が多いことによる。なぜなら、管理アプリケーションで対応可能な通信処理ロジックを変更するために通信ロジック部をカスタマイズすると、画像形成装置２０において当該通信処理ロジックに対応する特別なファームウェアを用意し、管理アプリケーションが管理しようとする全ての機種の画像形成装置２０について当該特別なファームウェアにアップデートする必要があるためである。
【００６０】
当該構成とすると、ユーザーは、画面の設定、画面デザイン、画面機能の追加、内部処理の方式などを変更したい場合には、通信ロジック部を含めた管理アプリケーション全体をアップデートする必要はなく、通信ロジック部以外の部分を変更すればよいこととなる。
【００６１】
（３−２．管理アプリケーションのアップデート）
次に、本発明の実施の形態に従う管理アプリケーションのアップデート方式について従来例と比較しながら説明する。
【００６２】
まず、従来例の管理アプリケーションのアップデート方式について説明する。
上述したように、新たに管理する画像形成装置２０の通信処理ロジックや機能が新規なものである場合には、管理アプリケーションは、少なくとも通信ロジック部と、当該情報を処理するための内部処理部をアップデートする必要がある。
【００６３】
このとき、通信ロジック部と内部処理部とＵＩ部とは互いに連携して動作していることから、従来においては管理アプリケーションをアップデートする場合には基本的には全ての構成部分が同時にアップデートされることとなる。
【００６４】
図７は、従来例の管理アプリケーションのアップデート方式について説明するための図である。
【００６５】
図７を参照して、ユーザー専用に内部処理部およびＵＩ部がカスタマイズされているアプリＶｅｒ．１．２．１が情報処理装置１０にインストールされているときに、画像形成装置２０Ｂが故障などして、画像形成装置２０Ｅを購入し新規に当該画像形成装置２０Ｅを管理する必要が生じた場合を想定する。また、ここでは、ユーザーの要望機能は、画面デザインや画面機能の追加などのユーザー専用のユーザーインターフェース（ＵＩ）を実現するものであるとする。このとき、図４に示すようにアプリＶｅｒ．１．２．１では画像形成装置２０Ｅと連携処理させることが不可能であるため、例えばアプリＶｅｒ．２．０．０にアップデートする必要がある。アプリＶｅｒ．２．０．０にアップデートすると、画像形成装置２０Ｅと連携処理させることは可能となるが、ユーザー専用のＵＩ部や内部処理部も同時にアプリＶｅｒ．２．０．０のＵＩ部や内部処理部にアップデートされてしまうため、ユーザー専用にカスタマイズされた当該部分の機能が消滅してしまう。
【００６６】
上記の従来例では、図５に示す管理アプリケーションの構成から図６に示す管理アプリケーションの構成にアップデートする例について示したが、図６に示す管理アプリケーションの構成同士でアップデートする場合であっても、新たに管理する画像形成装置２０の通信処理ロジックや機能が新規なものである場合には、管理アプリケーションの通信ロジック部と内部処理部をアップデートする必要があるため、それに伴い内部処理部とＵＩ部との連携により実現されるユーザー専用にカスタマイズされたＵＩが消滅する。
【００６７】
次に、本発明の実施の形態に従う管理アプリケーションのアップデート方式について説明する。ここでは、図７で説明した場合と同様に、情報処理装置１０にアプリＶｅｒ．１．２．１がインストールされており、画像形成装置２０Ｅとの連携処理を可能とするためにアップデートする場合を想定する。
【００６８】
図８は、本発明の実施の形態に従う管理アプリケーションがアップデートされた構成を示す図である。
【００６９】
図８を参照すると、アプリＶｅｒ．１．２．１の構成とアプリＶｅｒ．２．０．０の構成とが併存してアップデートされていることがわかる。このように構成されている管理アプリケーションでは、アプリＶｅｒ．１．２．１における通信ロジック部と、内部処理部と、ＵＩ部とを残存させたまま、アプリＶｅｒ．２．０．０の内部処理部および画像形成装置２０Ｅとの通信処理ロジックの整合性をとるための通信ロジック部とを含む形態でアップデートされている。したがって、ユーザー専用のＵＩを実現したまま、画像形成装置２０Ｅと連携処理させることが可能となる。
【００７０】
このとき、ＵＩとしてはアプリＶｅｒ．１．２．１と同様のものとなるが、バージョンの高いアプリＶｅｒ．２．０．０の内部処理部はアプリＶｅｒ．１．２．１の内部処理部の処理内容を把握することができるため、アプリＶｅｒ．２．０．０の内部処理部がバックグランドで動作して、アプリＶｅｒ．１．２．１に対して処理内容を指示する。すなわち、ユーザーはアプリＶｅｒ．１．２．１で起動し動作しているように見えるが、実際にはバックグラウンドでアプリＶｅｒ．２．０．０が起動しており指示命令などを行なっている。
【００７１】
（３−３．管理アプリケーションのアクセス例）
ここで、アプリＶｅｒ．１．２．１が情報処理装置１０に連携処理させることが可能な画像形成装置２０Ｂに対して行なっていた処理内容を画像形成装置２０Ｅに対して行なう場合について説明する。
【００７２】
図８を再び参照して、アプリＶｅｒ. ２．０．０は定期的に、アプリＶｅｒ．１．２．１と関連付けられたデータベースを参照して、アプリＶｅｒ．１．２．１で設定されている処理内容について確認する（図８の（１）に対応）。ここでは、定期的な時刻に画像形成装置２０からカウンター情報を取得する場合を想定する。
【００７３】
次に、アプリＶｅｒ．２．０．０の内部処理部は、現在のアプリＶｅｒ．１．２．１の動作状況に応じて所定のライブラリを読み込み、通信ロジック部に画像形成装置２０Ｅに対してアクセスするように指示する（図８の（２）に対応）。
【００７４】
次に、アプリＶｅｒ．２．０．０の通信ロジック部は、カウンター情報を送信するように画像形成装置２０Ｅに要求する（図８の（３）に対応）。
【００７５】
次に、画像形成装置２０Ｅは、当該要求に応答して要求されたカウンター情報をアプリＶｅｒ．２．０．０の通信ロジック部に送信する（図８の（４）に対応）。
【００７６】
次に、アプリＶｅｒ．２．０．０の内部処理部は、アプリＶｅｒ．１．２．１が読み込める形式に当該カウンター情報を変換する（図８の（５）に対応）。これは、ＵＩは、アプリＶｅｒ．１．２．１に対応するものであるため、当該情報をＵＩに反映できるように、アプリＶｅｒ．１．２．１が処理できる形式に変換する必要があるためである。また、バージョンの高いアプリＶｅｒ．２．０．０の内部処理部はアプリＶｅｒ．１．２．１の内部処理部の処理可能な形式を把握することができるため上記の変換が可能となる。
【００７７】
次に、当該変換したカウンター情報をアプリＶｅｒ．１．２．１と関連付けられたデータベースに保存する（図８の（６）に対応）。これにより、アプリＶｅｒ．１．２．１は、画像形成装置２０Ｅのカウンター情報をデータベースから読み出して、ＵＩに反映させる。
【００７８】
＜４．機能構成＞
次に、上述のような本発明の実施の形態に従う情報処理装置１０の機能構成について説明する。
【００７９】
図９は、本発明の実施の形態に従う情報処理装置１０の主な機能構成を示すブロック図である。図９に示す各機能ブロックは、主として、ＣＰＵ１０２が管理アプリケーションやその他のプログラムを実行して、ＲＯＭ１０４と、ＲＡＭ１０６と、ＨＤＤ１０８とを連係動作させることで実現される。すなわち、ＣＰＵ１０２は情報処理装置１０の動作全体を制御する制御部としての機能を有する。
【００８０】
図９を参照して、情報処理装置１０は、その機能構成として、アプリケーション情報取得部４００と、ＭＦＰ情報取得部４０２と、連携処理判断部４０４と、種別判断部４０６と、更新部４０８と、起動制御部４１０とを含む。そして、上述したように、情報処理装置１０は、ＨＤＤ１０８と、通信Ｉ／Ｆ１１０と、ディスプレイ１１４とを含む。なお、アプリケーション情報取得部４００と、ＭＦＰ情報取得部４０２と、連携処理判断部４０４と、種別判断部４０６と、更新部４０８と、起動制御部４１０は、ＣＰＵ１０２がＲＯＭ１０４やＲＡＭ１０６やＨＤＤ１０８に格納されている管理アプリケーションやその他のプログラムを実行して実現されるものである。
【００８１】
以下、情報処理装置１０が有する機能ブロックの各々について詳述する。
アプリケーション情報取得部４００は、通信Ｉ／Ｆ１１０を介してサーバー装置３０から、バージョンアップしようとする管理アプリケーションに関する情報を取得する。具体的には、当該管理アプリケーションのバージョンと、当該バージョンの管理アプリケーションが情報処理装置１０に連携処理させることが可能な画像形成装置２０の機種との対応関係を示す情報を取得する。
【００８２】
ＭＦＰ情報取得部４０２は、ユーザーが管理する（しようとする）画像形成装置２０の機種情報をＨＤＤ１０８から取得する。なお、ユーザーは新たな画像形成装置２０を購入等して新たに管理する場合には、当該新たな画像形成装置２０の機種情報（バージョン情報など）および通信処理ロジック情報を格納することとする。なお、上記の通信処理ロジック情報がＨＤＤ１０８に格納されていない場合には、ＭＦＰ情報取得部４０２は、通信Ｉ／Ｆ１１０を介してサーバー装置３０などから取得してもよい。すなわち、ＭＦＰ情報取得部４０２は、ユーザーが管理対象として所有する全ての画像形成装置２０の機種情報および通信処理ロジック情報を取得する。
【００８３】
連携処理判断部４０４は、既に情報処理装置１０にインストールされている管理アプリケーション（第１のアプリケーション）および一部又は全部の機能をインストールしようとするバージョンアップした管理アプリケーション（第２のアプリケーション）のそれぞれが、情報処理装置１０にどの画像形成装置２０と連携処理させることが可能なのかを判断する。具体的には、連携処理判断部４０４は、ＭＦＰ情報取得部４０２によって取得される、ユーザーが管理する全ての画像形成装置２０の機種情報および通信処理ロジック情報と、ＨＤＤ１０８に格納されている第１のアプリケーションのバージョンと当該バージョンの通信処理ロジックとの対応関係を示す情報と、アプリケーション情報取得部４００によって取得される、第２のアプリケーションのバージョンと通信処理ロジックとの対応関係を示す情報とから上記の判断を行なう。
【００８４】
種別判断部４０６は、第１のアプリケーションのバージョン情報に基づいて、第１のアプリケーションがユーザーによって特定の機能がカスタマイズされた管理アプリケーションであるか否かを判断する。例えば、アプリケーションのバージョン番号のフォーマットをＶｅｒ．Ａ．Ｂ．Ｃとし、カスタマイズされた管理アプリケーションではＣが０以外であるといった、予め定められた規則によって判断する。
【００８５】
更新部４０８は、第１のアプリケーションのアップデートを行なう。具体的には、連携処理判断部の判断結果と、種別判断部の判断結果とに基づいて、第２のアプリケーションを第１のアプリケーションに上書きしてインストールしたり、第２のアプリケーションの一部の機能を追加してインストールしたり、第１のアプリケーションの一部の機能をアンインストールして、第２のアプリケーションをインストールしたりする。また、更新部４０８は、管理アプリケーションをアップデートした場合には当該管理アプリケーションを構成するデータをＨＤＤ１０８に格納したりする。
【００８６】
起動制御部４１０は、更新部４０８によってアップデートされた管理アプリケーションの構成に基づいて管理アプリケーションの起動を制御する。たとえば、第１のアプリケーションの内部処理部およびＵＩ部がカスタマイズされることによりユーザー専用のＵＩが実現されている場合には、当該ＵＩの機能を発揮させる（ディスプレイ１１４に反映させる）ように起動し、バックグラウンドで第２のアプリケーションを起動する。
【００８７】
＜５．動作フロー＞
次に、図８に示すような情報処理装置１０の動作を実現するための処理手順についてフローチャートを用いながら説明する。以下のフローチャートは、ＣＰＵ１０２が管理アプリケーションやその他のプログラムを実行して実現されるものである。
【００８８】
（５−１．概略）
図１０は、本発明の実施の形態に従う情報処理装置１０が実行する全体の処理手順を示すフローチャートである。ここで、情報処理装置１０には第１のアプリケーションがインストールされている状態であるとする。
【００８９】
図１０を参照して、ＣＰＵ１０２の制御部は、第１のアプリケーションをアップデートするか否かを判断する（ステップＳ２）。具体的には、アプリケーション情報取得部４００が、通信Ｉ／Ｆ１１０を介してサーバー装置３０からバージョンアップされた管理アプリケーションの情報を検知すると、アップデートすると判断する。また、ＣＰＵ１０２の制御部は、入力装置１１２を介してユーザーから指示があった場合にアップデートすると判断しても良い。ＣＰＵ１０２の制御部は、第１のアプリケーションをアップデートしないと判断した場合（ステップＳ２においてＮＯ）、ステップＳ２の状態を維持する。
【００９０】
一方、ＣＰＵ１０２の制御部は、第１のアプリケーションをアップデートすると判断した場合（ステップＳ２においてＹＥＳ）、ＭＦＰ情報取得部４０２は、ユーザーが管理対象として所有する全ての画像形成装置２０の機種情報および通信処理ロジック情報を取得する（ステップＳ４）。具体的には、ＭＦＰ情報取得部４０２は、ＨＤＤ１０８に格納されている第１のアプリケーションと関連付けられたデータベースおよび設定ファイルから当該情報を取得する。
【００９１】
次に、連携処理判断部４０４は、ＨＤＤ１０８にアクセスして第１のアプリケーションが情報処理装置１０に連携処理させることが可能な画像形成装置２０の情報を取得する（ステップＳ６）。具体的には、連携処理判断部４０４は、ＨＤＤ１０８に格納されている第１のアプリケーションのバージョンと画像形成装置２０の機種との対応関係を示す情報を取得する。
【００９２】
次に、アプリケーション情報取得部４００は、通信Ｉ／Ｆ１１０を介してサーバー装置３０から、第２のアプリケーションが連携処理させることが可能な画像形成装置２０の情報を取得する（ステップＳ８）。具体的には、アプリケーション情報取得部４００は、第２のアプリケーションのバージョンと画像形成装置２０との通信ロジックの対応関係を示す情報を取得する。
【００９３】
次に、更新部４０８は、連携処理判断部４０４の判断結果と種別判断部４０６の判断結果とに基づくアップデート方式で、第１のアプリケーションをアップデートする（ステップＳ１０）。なお、アップデート方式に関する処理手順についての詳細は後述する。
【００９４】
次に、起動制御部４１０は、更新部４０８によってアップデートされた管理アプリケーションの構成に基づく起動方式で管理アプリケーションを起動する。なお、起動方式を特定する処理手順についての詳細は後述する。
【００９５】
なお、上記のステップＳ２〜Ｓ６までの処理手順は一例であって、この処理手順に限定されない。例えば、ステップＳ２とステップＳ６の処理手順を入れ替えても良い。
【００９６】
（５−２．アップデート方式）
次に、本発明の実施の形態に従う管理アプリケーションのアップデート方式を特定するための処理手順について説明する。以下のフローチャートは、ＣＰＵ１０２が管理アプリケーションやその他のプログラムを実行して実現されるものである。
【００９７】
図１１は、本発明の実施の形態に従う管理アプリケーションのアップデート方式を特定するための処理手順を示すフローチャートである。
【００９８】
図１１を参照して、種別判断部４０６は、第１のアプリケーションはユーザー専用にカスタマイズされている管理アプリケーションか否かを判断する（ステップＳ１００）。具体的には、種別判断部４０６は、ＨＤＤ１０８に格納されている第１のアプリケーションと関連付けられたデータベースからバージョン情報を取得し、当該バージョン情報から予め定められた規則に基づきカスタマイズされているか否かを判断する。なお、種別判断部４０６は、当該バージョン情報をネットワーク５０に接続されているサーバー装置３０から取得しても良い。
【００９９】
上記ステップＳ１００で、種別判断部４０６が、第１のアプリケーションはカスタマイズされていないと判断すると（ステップＳ１００においてＮＯ）、ステップＳ１１０からの処理を実行する。一方、種別判断部４０６が、第１のアプリケーションはカスタマイズされていると判断すると（ステップＳ１００においてＹＥＳ）、連携処理判断部４０４は、第１のアプリケーションがユーザーが管理対象として所有する全ての画像形成装置２０と連携処理させることが可能か否かを判断する（ステップＳ１０２）。具体的には、連携処理判断部４０４は、ＨＤＤ１０８から取得した第１のアプリケーションのバージョンによって情報処理装置１０と連携処理が可能となる画像形成装置２０の機種情報と、ＭＦＰ情報取得部４０２によって取得されたユーザーが管理対象として所有する画像形成装置２０の機種情報とを比較することにより判断する。
【０１００】
上記ステップＳ１０２で、連携処理判断部４０４が、第１のアプリケーションは全ての画像形成装置２０と連携処理させることがであると判断すると（ステップＳ１０２においてＹＥＳ）、更新部４０８は第１のアプリケーションをアップデートすることなく（ステップＳ１０４）、処理を終了する。一方、連携処理判断部４０４は、全ての画像形成装置２０とは連携処理させることはできない（できない画像形成装置が存在する）と判断すると（ステップＳ１０２においてＮＯ）、さらに当該連携処理させることができない画像形成装置２０について第２のアプリケーションでは連携処理させることができるか否かを判断する（ステップＳ１０６）。具体的には、連携処理判断部４０４は、上述した第１のアプリケーションの場合と同様に連携処理可能な機種情報の比較により判断する。
【０１０１】
上記ステップＳ１０６で、連携処理判断部４０４が、第２のアプリケーションでも連携処理させることができないと判断すると（ステップＳ１０６においてＮＯ）、更新部４０８は、第１のアプリケーションをアップデートすることなく（ステップＳ１０４）、処理を終了する。一方、連携処理判断部４０４が、第２のアプリケーションで連携処理させることができると判断すると（ステップＳ１０６においてＹＥＳ）、更新部４０８は、第１のアプリケーションの機能を残存させ、第２のアプリケーションの一部の機能をインストールして（ステップＳ１０８）、処理を終了する。具体的には、第２のアプリケーションにおいて当該画像形成装置２０と連携処理させることを可能とする機能のみをインストールする。なお、図６の構成のように通信ロジック部と内部処理部とを切り離している場合には、当該機能を実現するライブラリ単位でインストールする。
【０１０２】
次に、ステップＳ１００で、種別判断部４０６が、第１のアプリケーションはカスタマイズされていないと判断した場合（ステップＳ１００においてＮＯ）のステップＳ１１０からの処理を説明する。
【０１０３】
まず、連携処理判断部４０４は、第２のアプリケーションがユーザーが管理対象として所有する全ての画像形成装置２０と連携処理させることが可能な否かを判断する（ステップＳ１１０）。
【０１０４】
上記ステップＳ１１０で、連携処理判断部４０４が、第２のアプリケーションは全ての画像形成装置２０と連携処理させることができると判断すると（ステップＳ１１０においてＹＥＳ）、更新部４０８は第１のアプリケーションを第２のアプリケーションに上書きインストールするようにアップデートし（ステップＳ１１２）、処理を終了する。一方、連携処理判断部４０４は、第２のアプリケーションは、全ての画像形成装置２０とは連携処理させることができないと判断すると（ステップＳ１１０においてＮＯ）、さらに、当該連携処理させることができない画像形成装置２０について第１のアプリケーションでは連携処理させることが可能な否かを判断する（ステップＳ１１４）。
【０１０５】
上記ステップＳ１１４で、連携処理判断部４０４が、第１のアプリケーションは当該画像形成装置２０と連携処理させることができない判断すると（ステップＳ１１４においてＮＯ）、更新部４０８は、第１のアプリケーションを第２のアプリケーションに上書きインストールするようにアップデートし（ステップＳ１１２）、処理を終了する。一方、連携処理判断部４０４が、第１のアプリケーションは当該画像形成装置２０と連携処理させることができると判断すると（ステップＳ１１４においてＹＥＳ）、更新部４０８は、第１のアプリケーションの一部の機能をアンインストールし、第２のアプリケーションをインストールするようにアップデートして（ステップＳ１１６）、処理を終了する。具体的には、第１のアプリケーションによって当該画像形成装置２０と連携処理を可能とする機能以外の不要なファイルなどを選択してアンインストールして、第２のアプリケーションは全ての機能をインストールする。
【０１０６】
（５−３．起動方式）
次に、本発明の実施の形態に従う管理アプリケーションの起動処理手順について説明する。以下のフローチャートは、ＣＰＵ１０２が管理アプリケーションやその他のプログラムを実行して実現されるものである。
【０１０７】
まず、更新部４０８が第１のアプリケーションに、第２のアプリケーションの一部の機能をインストールするようにアップデートし、第１のアプリケーションおよび第２のアプリケーションが併存している場合（上記のステップＳ１０８の場合）の当該アップデートされた管理アプリケーションの起動処理手順について説明する。
【０１０８】
図１２は、本発明の実施の形態に従う管理アプリケーションの起動処理手順を示すフローチャートである。なお、ここでは第１のアプリケーションは連携処理させることができないが、第２のアプリケーションは連携処理させることができる画像形成装置２０に対して、アップデートされた管理アプリケーションにより情報処理装置１０が連携処理を実行しようとする場合について説明する。具体的には、例えば、第１のアプリケーションがアプリＶｅｒ．１．２．１であり、第２のアプリケーションがＶｅｒ．２．０．０であれば、画像形成装置２０Ｅに対してアップデートされた管理アプリケーションにより情報処理装置１０が連携処理を実行しようとする場合である。
【０１０９】
図１２を参照して、起動制御部４１０は、アップデートされた管理アプリケーションを起動するか否かを判断する（ステップＳ２００）。具体的には、起動制御部４１０は、入力装置１１２を介してユーザーから管理アプリケーションの起動指示があったか否かを判断する。起動制御部４１０は、管理アプリケーションを起動しないと判断すると（ステップＳ２００においてＮＯ）、ステップＳ２００の状態を維持する。一方、起動制御部４１０は、管理アプリケーションを起動すると判断すると（ステップＳ２００においてＹＥＳ）、管理アプリケーションを第１のアプリケーションのＵＩの機能を発揮するように起動する（ステップＳ２０２）。具体的には、第１のアプリケーションのＵＩをディスプレイ１１４に反映させるように起動し、バックグラウンドで第２のアプリケーションを起動する。
【０１１０】
次に、起動された第２のアプリケーションは、起動された第１のアプリケーションの状態および設定情報を取得する（ステップＳ２０４）。例えば、取得する設定情報とは、第１のアプリケーションが画像形成装置２０から定期的にカウンター情報を取得するように設定されていた場合に、第２のアプリケーションは、いつ、どの画像形成装置２０に、どのようなカウンター情報を取得するかが設定されている情報である。
【０１１１】
次に、第２のアプリケーションは、第１のアプリケーションの動作が停止しているか否かを判断する（ステップＳ２０６）。これは、第２のアプリケーションと第１のアプリケーションとが併存している場合には、連動して動作するために第２のアプリケーションは第１のアプリケーションの動作状態を定期的に確認することによる。なお、当該確認は、第２のアプリケーションが第１のアプリケーションにアクセスして応答があるか否か、また、所定のオペレーションシステム（ＯＳ）で起動状況を確認させてもよい。
【０１１２】
上記ステップＳ２０６で、第２のアプリケーションは第１のアプリケーションの動作が停止していると判断した場合（ステップＳ２０６においてＹＥＳ）、自身の動作を停止して（ステップＳ２１２）、処理を終了する。一方、第２のアプリケーションは第１のアプリケーションの動作が停止していない（動作状態である）と判断した場合（ステップＳ２０６においてＮＯ）、第２のアプリケーションは第１のアプリケーションが連携処理させることができない画像形成装置２０Ｅに対して処理が必要か否かを判断する（ステップＳ２０８）。具体的には、例えば、上記の取得した設定情報から、カウンター情報を取得する時間になったか否かを判断する。
【０１１３】
上記ステップＳ２０８で第２のアプリケーションが画像形成装置２０Ｅに対して処理は必要ないと判断すると（ステップＳ２０８においてＮＯ）、ステップＳ２０６からの処理を繰り返す。一方、第２のアプリケーションが画像形成装置２０Ｅに対して処理が必要であると判断すると（ステップＳ２０８においてＹＥＳ）、第２のアプリケーションは上記の設定情報に基づいて画像形成装置２０Ｅに対する処理を実行する。具体的には、第２のアプリケーションは、画像形成装置２０Ｅから所定の情報を取得した後、第１のアプリケーションで読み込める形式に変更後、第１のアプリケーションと関連付けられたデータベースに保存する。例えば、第２のアプリケーションは、画像形成装置２０Ｅから「カラー印刷カウンター情報」と、「モノクロ印刷カウンター情報」、「両面印刷カウンター情報」を同時に取得できるが、第１のアプリケーションでは、「トータル印刷カウンター情報」しか読み込めない場合には、、第２のアプリケーションは、「カラー印刷カウンター情報」と「モノクロ印刷カウンター情報」とを加算して、「トータル印刷カウンター」を生成し、第２のアプリケーションと関連付けられたデータベースに保存する。また、この場合「両面印刷カウンター情報」については、第１のアプリケーションでは対応していないため、データベースに保存しない。  
【０１１４】
次に、更新部４０８が第１のアプリケーションの一部の機能を残存させ、第２のアプリケーションをインストールするようにアップデートした場合（上記のステップＳ１１６の場合）の当該アップデートされた管理アプリケーションの起動処理手順について説明する。
【０１１５】
図１３は、本発明の実施の形態に従う管理アプリケーションの別の起動処理手順を示すフローチャートである。なお、ここでは第１のアプリケーションは連携処理させることができるが、第２のアプリケーションは連携処理させることができない画像形成装置２０に対して、アップデートされた管理アプリケーションにより情報処理装置１０が連携処理を実行しようとする場合について説明する。具体的には、例えば、第１のアプリケーションがアプリＶｅｒ．１．２．０であり、第２のアプリケーションがＶｅｒ．２．０．０であれば、画像形成装置２０Ａに対してアップデートされた管理アプリケーションにより情報処理装置１０が連携処理を実行しようとする場合である。
【０１１６】
図１３を参照して、起動制御部４１０は、アップデートされた管理アプリケーションを起動するか否かを判断する（ステップＳ３００）。起動制御部４１０は、管理アプリケーションを起動しないと判断すると（ステップＳ３００においてＮＯ）、ステップＳ３００の状態を維持する。一方、起動制御部４１０は、管理アプリケーションを起動すると判断すると（ステップＳ３００においてＹＥＳ）、管理アプリケーションを第２のアプリケーションのＵＩの機能を発揮するように起動する（ステップＳ３０２）。具体的には、第２のアプリケーションのＵＩをディスプレイ１１４に反映させるように起動し、バックグラウンドで第１のアプリケーションを起動する。
【０１１７】
次に、第２のアプリケーションは、自身の動作を停止するか否かを判断する（ステップＳ３０４）。第２のアプリケーションが自身の動作を停止するか否かは、入力装置１１２を介してユーザーから停止指示があった場合に停止すると判断してよいし、予め設定された所定の条件を満たした場合に停止すると判断してもよい。
【０１１８】
上記ステップＳ３０４で、第２のアプリケーションは自身の動作を停止すると判断した場合（ステップＳ３０４においてＹＥＳ）、第１のアプリケーションの動作を停止し、自身の動作を停止して（ステップＳ３１０）、処理を終了する。一方、第２のアプリケーションは自身の動作を停止しない（動作状態を続行する）と判断した場合（ステップＳ３０４においてＮＯ）、第２のアプリケーションは自身で連携処理させることができない画像形成装置２０Ａに対して処理が必要か否かを判断する（ステップＳ３０６）。例えば、定期的にネットワーク５０上の画像形成装置２０に対してカウンター情報を取得するように設定されていた場合に、第２のアプリケーションが連携処理させることができない画像形成装置２０Ａからカウンター情報を取得する時間になったか否かを判断する。
【０１１９】
上記ステップＳ３０６で第２のアプリケーションが画像形成装置２０Ａに対して処理は必要ないと判断すると（ステップＳ３０６においてＮＯ）、ステップＳ３０４からの処理を繰り返す。一方、第２のアプリケーションが画像形成装置２０Ａに対して処理が必要であると判断すると（ステップＳ３０６においてＹＥＳ）、第１のアプリケーションに画像形成装置２０Ａに対して処理を実行するように指示する（ステップＳ３０８）。具体的には、第２のアプリケーションは、第１のアプリケーションに画像形成装置２０Ａから所定の情報を取得させた後、当該情報を第２のアプリケーションと関連付けられたデータベースに保存する。なお、第２のアプリケーションは、第１のアプリケーションの内部処理を把握できるため、第１のアプリケーションが取得した情報を自身の読み込み形式に変換して当該データベースに保存することができる。
【０１２０】
＜６．実施の形態の効果＞
次に、ユーザーが管理対象として所有する画像形成装置２０の例を用いながら、上述した実施の形態の効果について説明する。
【０１２１】
図１４は、本発明の実施の形態の効果を説明するための一例を示す図である。ここでは、第２のアプリケーションの一部の機能を追加でインストールした場合（図１１のステップＳ１０８）の効果について説明する。
【０１２２】
図１４を参照すると、第１のアプリケーションであるアプリＶｅｒ．１．２．１は、ユーザー専用にカスタマイズされており（図１１のステップＳ１００においてＹＥＳ）、アプリＶｅｒ．１．２．１は、ユーザーが管理対象として所有する一部の画像形成装置２０Ｅと連携処理させることができない（ステップＳ１０２においてＮＯ）。また、第２のアプリケーションであるアプリＶｅｒ．２．０．０は、画像形成装置２０Ｅと連携処理させることが可能であるため（ステップＳ１０６においてＹＥＳ）、アプリＶｅｒ．２．０．０の一部の機能が追加でインストールされる（ステップＳ１０８）。
【０１２３】
このとき、ユーザーは、第１のアプリケーションでのユーザー専用の機能を残存させつつ、新たに画像形成装置２０Ｅを管理することができる。なお、２重管理を防止するため、第１のアプリケーションで管理可能な画像形成装置２０Ｂ〜２０Ｄは、第２のアプリケーションでは管理されない。
【０１２４】
図１５は、本発明の実施の形態の効果を説明するための一例を示す図である。ここでは、第１のアプリケーションの一部の機能以外をアンインストールし、第２のアプリケーションをインストールした場合（図１１のステップＳ１１６）の効果について説明する。
【０１２５】
図１５を参照すると、第１のアプリケーションであるアプリＶｅｒ．１．２．０は、ユーザー専用にカスタマイズされておらず（ステップＳ１００においてＮＯ）、第２のアプリケーションであるアプリＶｅｒ．２．０．０は、ユーザーが管理対象として所有する一部の画像形成装置２０Ａと連携処理させることができない（ステップＳ１０２においてＮＯ）。しかし、アプリＶｅｒ．１．２．０は画像形成装置２０Ａに対して連携処理させることができるため（ステップＳ１１４においてＹＥＳ）、Ｖｅｒ．１．２．０の一部の機能以外をアンインストールし、アプリＶｅｒ．２．０．０がインストールされる（ステップＳ１１６）。
【０１２６】
このとき、ユーザーは、第２のアプリケーションでは管理できないが第１のアプリケーションでは管理することができる画像形成装置２０Ａへの連携処理機能を残存させつつ、その他の機能については第２のアプリケーションにバージョンアップすることができる。なお、２重管理を防止するため、第２のアプリケーションで管理可能な画像形成装置２０Ｂ、２０Ｃは、第１のアプリケーションでは管理されない。
【０１２７】
図１６は、本発明の実施の形態の効果を説明するための一例を示す図である。ここでは、第２のアプリケーションを上書きインストールした場合（図１１のステップＳ１１２）の効果について説明する。
【０１２８】
図１６を参照すると、第１のアプリケーションであるアプリＶｅｒ．１．２．０は、ユーザー専用にカスタマイズされておらず（ステップＳ１００においてＮＯ）、第２のアプリケーションはユーザーが管理対象として所有する全ての画像形成装置２０と連携処理させることが可能であるため（ステップＳ１１０においてＹＥＳ）、第２のアプリケーションが上書きインストールされる（ステップＳ１１２）。
【０１２９】
このとき、図１６（ａ）に示すように、第１のアプリケーションにより、情報処理装置１０がユーザーの管理対象として所有する画像形成装置２０Ｂ〜２０Ｄと連携処理可能な場合は、ユーザーは、第２のアプリケーションにアップデートすることによってＵＩ機能や内部処理の機能などをバージョンアップすることができる。また、図１６（ｂ）に示すように、第１のアプリケーションにより、情報処理装置１０がユーザーの管理対象として所有する画像形成装置２０の一部の装置（ここでは、画像形成装置２０Ｅ）と連携処理できなかった場合には、第２のアプリケーションにアップデートすることによって、情報処理装置１０は画像形成装置２０Ｅと連携処理できるようになる。
【０１３０】
上記のように、本実施の形態によれば、第１のアプリケーションと第２のアプリケーションを併存して動作させることで、第１のアプリケーションがユーザー専用にカスタマイズされてるとき、当該第１のアプリケーションが管理できない新たな画像形成装置を管理する必要が生じた場合でも、当該カスタマイズ機能を損なうことなく、当該新たな画像形成装置を管理することが可能となる。また、サポート開発費用の削減、評価費用の削減、緊急なリリースを行なうために、管理アプリケーションの新しいバージョンにおいては、販売終了した画像形成装置は管理しないような場合でも、既存の管理アプリケーションの機能を利用して当該画像形成装置を管理することができる。
【０１３１】
そのため、全体的なバージョンアップを行なう従来の方式のように、ユーザーは新しい画像形成装置２０と連携処理可能な管理アプリケーションにバージョンアップした後、改めて当該管理アプリケーションをカスタマイズしたりする手間を省くことができる。すなわち、ユーザーが管理対象として所有する画像形成装置に対して、既に情報処理装置にインストールされている管理アプリケーションをユーザーの利便性を損なうことなくバージョンアップすることができる。
【０１３２】
＜７．その他の実施の形態＞
なお、コンピューターを機能させて、上述のフローで説明したような制御を実行させるプログラムを提供することもできる。このようなプログラムは、コンピューターに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ、ＲＡＭおよびメモリーカードなどの一時的でないコンピューター読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピューターに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１３３】
なお、プログラムは、コンピューターのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０１３４】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【０１３５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３６】
１  情報処理システム、１０  情報処理装置、２０  画像形成装置、３０  サーバー装置、５０  ネットワーク、１０２，２０１  ＣＰＵ、１０４，２０２  ＲＯＭ、１０６，２０３  ＲＡＭ、１０８，２０４  ＨＤＤ、１１０，２０５  通信Ｉ／Ｆ、１１２  入力装置、１１４  ディスプレイ、１１６，２２０  バス、２０６  スキャナー、２０７  プリンター、２０８  ＦＡＸ、２０９  オペレーションパネル、２０９Ａ  入力部、２０９Ｂ  表示部、４００  アプリケーション情報取得部、４０２  情報取得部、４０４  連携処理判断部、４０６  種別判断部、４０８  更新部、４１０  起動制御部。
【図１】
0005720534.tif 000002
【図２】
0005720534.tif 000003
【図３】
0005720534.tif 000004
【図４】
0005720534.tif 000005
【図５】
0005720534.tif 000006
【図６】
0005720534.tif 000007
【図７】
0005720534.tif 000008
【図８】
0005720534.tif 000009
【図９】
0005720534.tif 000010
【図１０】
0005720534.tif 000011
【図１１】
0005720534.tif 000012
【図１２】
0005720534.tif 000013
【図１３】
0005720534.tif 000014
【図１４】
0005720534.tif 000015
【図１５】
0005720534.tif 000016
【図１６】
0005720534.tif 000017