(57)【特許請求の範囲】
【請求項１】
機能を実現するプログラムの起動が、プログラムの正当利用者であることを示すライセンス情報により認められる画像形成装置であって、
ユーザのログインを受け付けるログイン受け付け手段と、
プログラムを記憶するプログラム記憶手段と、
ユーザ個人にライセンスされたプログラムとライセンス情報を外部から取得し、該プログラムと同じ機能のプログラムが前記プログラム記憶手段に記憶されていても、両者のバージョンが異なる場合、前記プログラム記憶手段のプログラムを削除することなく、外部から取得したプログラムとライセンス情報を前記プログラム記憶手段に記憶する機能導入手段と、
ユーザＩＤに対応づけて、前記機能導入手段が記憶したプログラムのライセンス情報及びプログラムのバージョン情報が登録されたユーザ情報を記憶するユーザ情報記憶手段と、
前記ユーザ情報から、ログインしたユーザのユーザＩＤに対応づけられたライセンス情報とバージョン情報を特定し、該バージョン情報のプログラムが実現する機能をユーザに提供する機能提供手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記機能提供手段は、ログインしたユーザのユーザＩＤに対応づけられたバージョン情報のプログラムを自動起動する起動手段である、ことを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記機能提供手段は、ログインしたユーザのユーザＩＤに対応づけられたバージョン情報のプログラムの起動を受け付ける操作画面を生成する画面生成手段である、ことを特徴とする請求項１記載の画像形成装置。
【請求項４】
バージョンの違う同じプログラムの中からユーザが提供を望むバージョン情報の指定を受け付けるバージョン指定受け付け手段を、有することを特徴とする請求項１〜３いずれか１項記載の画像形成装置。
【請求項５】
前記バージョン指定受け付け手段は、バージョン情報として、ユーザが指定するバージョンの数値情報、リリースされている最新のバージョン、最も利用ユーザが多いバージョン、最後に起動したバージョン、又は、機器に導入されている最新のバージョン、のいずれかの指定を受け付ける、
ことを特徴とする請求項４記載の画像形成装置。
【請求項６】
前記バージョン指定受け付け手段が、ユーザからバージョン情報の指定を受け付けていない場合、  
前記機能提供手段は、初期設定されている、ユーザが指定するバージョンの数値情報、リリースされている最新のバージョン、最も利用ユーザが多いバージョン、最後に起動したバージョン、又は、機器に導入されている最新のバージョン、のいずれかをバージョン情報とする、
ことを特徴とする請求項５記載の画像形成装置。
【請求項７】
初期設定されているバージョン情報の設定の変更を受け付ける初期設定受け付け手段を有する、
ことを特徴とする請求項６記載の画像形成装置。
【請求項８】
前記起動手段は、前記起動手段が自動起動したバージョンのプログラムを、同じ機能の別のバージョンのプログラムに切り替えて起動させる指示を受け付ける、
ことを特徴とする請求項２〜７いずれか１項記載の画像形成装置。
【請求項９】
ユーザがログアウトした際、前記起動手段が自動起動させたプログラムを停止させる機能停止手段を有する、
ことを特徴とする請求項２〜８いずれか１項記載の画像形成装置。
【請求項１０】
前記起動手段が自動起動させたプログラムを、同等の機能の別のバージョンのプログラムに切り替えて起動させる指示を受け付けた場合、前記ユーザ情報のユーザＩＤに対応づけられたバージョン情報を、切り替えて起動させる指示を受け付けたプログラムのバージョンで更新する指定バージョン変更手段を有する、
ことを特徴とする請求項８記載の画像形成装置。
【請求項１１】
前記画面生成手段は、ログインしたユーザのユーザＩＤに対応づけられたバージョン情報のプログラムにリンクしたアイコンと、ログインしたユーザのユーザＩＤに対応づけられたバージョン情報のプログラムと同等の機能の別のバージョンのプログラムにリンクしたアイコン、の切り替えを受け付ける、
ことを特徴とする請求項３〜７いずれか１項記載の画像形成装置。
【請求項１２】
前記操作画面からアイコンの切り替えを受け付けた場合、前記ユーザ情報のユーザＩＤに対応づけられたバージョン情報を、切り替え後のアイコンがリンクされたプログラムのバージョンで更新する指定バージョン変更手段を有する、
ことを特徴とする請求項１１記載の画像形成装置。
【請求項１３】
前記機能導入手段が前記記憶手段に記憶可能なプログラムの上限数の設定を受け付ける上限数設定受け付け手段を有する、
ことを特徴とする請求項１〜１２いずれか１項記載の画像形成装置。
【請求項１４】
前記機能導入手段がプログラムを前記記憶手段に記憶する際に、前記記憶手段に記憶されているプログラムの数が前記上限数に達している場合、前記記憶手段に記憶されているプログラムのうち、記憶対象のプログラムと同等の機能のバージョンが異なるプログラムを削除する機能削除手段を有する、
ことを特徴とする請求項１３記載の画像形成装置。
【請求項１５】
削除するプログラムを決定する方法として、
同じプログラムの複数のバージョンのうち、最も古く導入されたバージョン、
同じプログラムの複数のバージョンのうち、利用頻度が最も低いバージョン、
同じプログラムの複数のバージョンのうち、最後に起動された日が最も古いバージョン、
のいずれかの選択を受け付ける削除方法選択受付手段、
を有することを特徴とする請求項１４記載の画像形成装置。
【請求項１６】
前記機能削除手段が削除したプログラムを、ネットワークを介して接続された他の機器に移転する機能移転手段を有する、ことを特徴とする請求項１３〜１５いずれか１項記載の画像形成装置。
【請求項１７】
前記機能削除手段は、前記ユーザ情報から、前記機能削除手段が削除したプログラムに対応づけられたユーザＩＤを特定し、該ユーザＩＤのユーザが最も多くログインする機器を特定し、特定した機器に前記機能削除手段が削除したプログラムを移転する、
ことを特徴とする請求項１６記載の画像形成装置。
【請求項１８】
前記機能削除手段が削除したプログラムを、前記機能移転手段に移転させるか否かを受け付ける移転可否受け付け手段を有する、
ことを特徴とする請求項１６又は１７記載の画像形成装置。
【請求項１９】
機能を実現するプログラムの起動が、プログラムの正当利用者であることを示すライセンス情報により認められる画像形成装置と、プログラムとライセンス情報を画像形成装置に配信するサーバと、を有する機器システムであって、
前記サーバは、
ライセンス情報にユーザＩＤが対応づけられたライセンス管理情報、を有し、
前記画像形成装置は、
ユーザのログインを受け付けるログイン受け付け手段と、
プログラムを記憶するプログラム記憶手段と、
ユーザ個人にライセンスされたプログラムとライセンス情報をサーバから取得し、該プログラムと同じ機能のプログラムが前記プログラム記憶手段に記憶されていても、両者のバージョンが異なる場合、前記プログラム記憶手段のプログラムを削除することなく、サーバから取得したプログラムとライセンス情報を前記プログラム記憶手段に記憶する機能導入手段と、
ユーザＩＤに対応づけて、前記機能導入手段が記憶したプログラムのライセンス情報及びプログラムのバージョン情報が登録されたユーザ情報を記憶するユーザ情報記憶手段と、
前記ユーザ情報から、ログインしたユーザのユーザＩＤに対応づけられたライセンス情報とバージョン情報を特定し、該バージョン情報のプログラムが実現する機能をユーザに提供する機能提供手段と、有することを特徴とする機器システム。
【請求項２０】
機能を実現するプログラムの起動が、プログラムの正当利用者であることを示すライセンス情報により認められる画像形成装置のプログラム管理方法であって、
ログイン受け付け手段が、ユーザのログインを受け付けるステップと、
機能導入手段が、ユーザ個人にライセンスされたプログラムとライセンス情報を外部から取得し、該プログラムと同じ機能のプログラムがプログラム記憶手段に記憶されていても、両者のバージョンが異なる場合、前記プログラム記憶手段のプログラムを削除することなく、外部から取得したプログラムとライセンス情報を前記プログラム記憶手段に記憶するステップ、
ユーザ情報更新手段が、前記機能導入手段が記憶したプログラムのライセンス情報とプログラムのバージョン情報を、ユーザＩＤに対応づけてユーザ情報記憶手段のユーザ情報に記憶するステップと、
機能提供手段が、前記ユーザ情報から、ログインしたユーザのユーザＩＤに対応づけられたライセンス情報とバージョン情報を特定し、該バージョン情報のプログラムが実現する機能をユーザに提供するステップと、
を有することを特徴とするプログラム管理方法。
【請求項２１】
機能を実現するプログラムの起動が、該プログラムの正当利用者であることを示すライセンス情報により認められる画像形成装置が実行するプログラムであって、
コンピュータに、
ユーザのログインを受け付けるログイン受け付けステップと、
ユーザ個人にライセンスされたプログラムとライセンス情報を外部から取得し、該プログラムと同じ機能のプログラムがプログラム記憶手段に記憶されていても、両者のバージョンが異なる場合、前記プログラム記憶手段のプログラムを削除することなく、外部から取得したプログラムとライセンス情報を前記プログラム記憶手段に記憶する機能導入ステップ、
前記機能導入手段が記憶したプログラムのライセンス情報とプログラムのバージョン情報を、ユーザＩＤに対応づけてユーザ情報記憶手段のユーザ情報に記憶するユーザ情報更新ステップと、
前記ユーザ情報から、ログインしたユーザのユーザＩＤに対応づけられたライセンス情報とバージョン情報を特定し、該バージョン情報のプログラムが実現する機能をユーザに提供する機能提供ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザにライセンスされたプログラムを導入する画像形成装置に関し、特に、同じ機能の異なるバージョンのプログラムの導入を管理する画像形成装置、機器システム、プログラム管理方法及びプログラムに関する。
【背景技術】
【０００２】
コピー、スキャナ、プリンタ若しくはＦＡＸ、又は、これらの機能の複数が備わった複合機(ＭＦＰともいう)等の機器は、内部に情報処理装置を備えている。この情報処理装置に搭載可能なＣＰＵの性能が向上しており、また、大容量メモリが低価格で提供されるようになっている。
【０００３】
また、機器の利用形態もネットワーク化が進んでおり、予め機器にアプリケーションを記憶させておいて出荷する（箱売り）のではなく、ユーザが必要に応じてアプリケーションを購入しネットワーク経由でアプリケーションをダウンロードし、機器へインストールする販売形態も可能になってきた。
【０００４】
機器へのアプリケーションのインストールは、不正利用の防止を目的としてライセンス（使用権限）の有無により管理される。ライセンスの実体は、例えば、ユーザがアプリケーションの正式購入時に知らされるライセンスキーである。ユーザは、インストール時にライセンスキーを入力することで、機器へアプリケーションをインストールすることができる。
【０００５】
また、ライセンスサーバに使用権限のある機器の情報等を登録しておくことで、ライセンスが管理される場合もある。この場合、ユーザは、アプリケーションをインストール後、利用する際にライセンスサーバへアクセスし、機器のライセンス認証をライセンスサーバに要求する。認証が成立すれば、ユーザは機器のアプリケーションを利用できる。
【０００６】
しかし、これらのライセンスの管理では、認証対象があくまでアプリケーションを導入する"機器(ex 機器ユニークのシリアルコード)"である。
【０００７】
これに対し、ライセンスの有無をインストールしたアプリケーションの数により管理するフローティングライセンスというライセンス形態もある。フローティングライセンスは、ライセンスの契約時に予めライセンス上限数を決めておき、ライセンス上限数を超えなければ、アプリケーションの導入を特定の機器に限定することなく、複数の機器へ認めるライセンス形態である。
【０００８】
また、機器でもライセンス上限数でもなく、"個人"単位でライセンスを管理することが適切な状況もある。画像形成装置を例にすると、個人がサードベンダ作成のアプリケーション（ユーティリティ）などを購入して、職場にて自身が利用する機器に導入する場合が挙げられる。組織/部署がアプリケーションを購入するのではなく、あくまで個人が購入/導入するアプリケーションであるため、個人のみが利用可能である必要がある。以下、ユーザ単位のアプリケーションのライセンスを、ユーザと紐つくライセンスという。
【０００９】
なお、個人が購入するアプリケーションとしては、単純な電卓、各種ガジェットのような機能を提供するものから、画面や操作フロー等を個人が登録したユニークな内容にする見た目や使いやすさを変更させるものなどが想定される。
【００１０】
個人単位のライセンスが必要なアプリケーションの場合、ユーザがアプリケーションを導入した機器だけでなく、違う機器を利用時にもそのアプリケーションを使うことができる。例えば、ユーザが、出張時やいつもと違うフロアで臨時的に業務を行う場合でも、ユーザはアプリケーションを使用することができる。この場合、ライセンスの管理が、機器単位であるならば、ユーザが事前に導入済みの機器から該当機能を削除（ライセンス返却）したうえで、臨時で使う機器に新たに導入しなおす必要がある。しかし、個人単位でライセンスを管理するライセンス形態では、例えば、ライセンスサーバが、各ユーザのログイン（個人特定）に連動してログインユーザにライセンスが付与されているアプリケーションを特定することにより、ログイン機に該当アプリケーションを即時導入するといったことが可能である（例えば、特許文献１参照。）。
【００１１】
特許文献１には、ユーザログイン時にユーザと紐づくライセンスの有無を判定し、ユーザがライセンスを有するアプリケーションがある場合、該当アプリケーションをユーザがログインした機器にダウンロード及びインストールさせるアプリケーションの管理方法が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１に記載の管理方法は、同じ機能のバージョン違いについて考慮されていないという問題がある。例えば、ユーザに紐つくライセンスによりライセンスを管理する形態であり、かつ、同じ機器を複数のユーザが共用する場合、ユーザ毎に好みのバージョンが異なる場合があるが、バージョン違いを考慮しないと、ユーザが好むバージョンの機能を導入できない。
【００１３】
図１は、バージョンが異なる同じ機能がもたらす、機器に特有の問題を説明する図の一例である。図１（ａ）は３つのＰＣ（Ｐｅｒｓｏｎａｌ Ｃｏｍｐｕｔｅｒ）に同じ機能であるα機能が導入されている例を示す。各ユーザが機器を占有して使用することができる環境の場合、各機器に導入されるα機能のバージョン違いが問題になることは少ない。例えばユーザＡがＵＩ（ユーザインタフェース）を理由にＶｅｒ１を使用し、ユーザＢが最新の機能が使用できるということを理由にＶｅｒ３を使用し、ユーザＣが使いやすさを理由にＶｅｒ２を使用しても、不都合が生じることは少ない。
【００１４】
一方、図１（ｂ）は、１つの機器に導入されたα機能を各ユーザが共同で利用する形態の例を示す図である。機器にはα機能の最新のバージョンであるＶｅｒ３が導入されている。一般的なユーザはこの最新のバージョンＶｅｒ３を利用することを好むが、ユーザＡとユーザＢは好みのバージョンのα機能を使用することができない。
【００１５】
この不都合は、各ユーザが個々に好みのバージョンの機能をインストールするだけでは解決しない。
図２は、各ユーザが各バージョンのα機能を機器に導入した場合の不都合を説明する図の一例である。
【００１６】
図２（ａ）において、ユーザＡが９Ｆの機器にα機能を導入した。購入方法はどのような方法でもよいが、販売サイトでα機能を購入後、ライセンスキーを用いて機器に機能を導入する方法、販売サイトでα機能を購入後、ログインに合わせて自動的に導入する方法、等がある。
【００１７】
図２（ｂ）において、ユーザＡが２Ｆの機器にα機能を導入した一ヶ月後、ユーザＢがα機能を機器に導入した。図２（ａ）から図２（ｂ）に至るまでに、α機能がバージョンアップされたため、サーバ上には最新バージョンであるＶｅｒ２のα機能が登録されている。このため、図２（ｂ）においてユーザが機器へ導入したα機能のバージョンはＶｅｒ２となっている。
【００１８】
なお、ここでは、各ユーザとライセンスが紐づけられていることにより、ユーザがログインすることで、紐づけられている機能が利用可能になるとする。
【００１９】
図２（ｃ）はユーザＢが９Ｆの機器を使用する場合の不都合を説明する図の一例である。ユーザＢが機器にログインすることにより、ユーザＢはα機能を利用可能になる。しかし、ユーザＢは、Ｖｅｒ２のα機能に慣れているため、α機能のバージョンが下がっていることや、所望の設定が見つからないことから、違和感を感じてしまう。
【００２０】
図２（ｄ）はユーザＡが２Ｆの機器を使用する場合の不都合を説明する図の一例である。ユーザＡが機器にログインすることにより、ユーザＡはα機能を利用可能になる。しかし、ユーザＡは、Ｖｅｒ１のα機能に慣れているため、α機能のバージョンが上がっていることや、使い方の違いに違和感を感じてしまう。
【００２１】
ブラウザや音楽管理ソフトなどバージョンによって使い勝手、見た目等大きくかわる機能もあるが、従来、ユーザに紐つくライセンスによりライセンスを管理するライセンス形態の場合、機能のバージョンまでを管理して提供することは行われていなかった。
【００２２】
また、従来、ユーザがアプリケーションの古いバージョンがインストールされたＰＣに最新のバージョンのアプリケーションをインストールする場合、インストールプログラムは古いバージョンのアプリケーションの削除をユーザに要求したり、古いバージョンのアプリケーションに新しいバージョンのアプリーションを上書きすることが多い。このように、従来、同じアプリケーションの古いバージョンと新しいバージョンを同じ装置にインストールした状態を保つことは行われていない。
【００２３】
また、同じアプリケーションの古いバージョンと新しいバージョンが同じ装置にインストールされていても、ユーザの指定するバージョンを選択的に提供する装置はこれまで考案されていない。
【００２４】
本発明は、上記課題に鑑み、バージョンが異なる、ユーザに紐つくライセンス形態の機能を管理可能な画像形成装置、機器システム、プログラム管理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２５】
上記課題に鑑み、本発明は、機能を実現するプログラムの起動が、該プログラムの正当利用者であることを示すライセンス情報により認められる画像形成装置であって、ユーザのログインを受け付けるログイン受け付け手段と、プログラムを記憶するプログラム記憶手段と、ユーザ個人にライセンスされたプログラムとライセンス情報を外部から取得し、該プログラムと同じ機能のプログラムが前記プログラム記憶手段に記憶されていても、両者のバージョンが異なる場合、前記プログラム記憶手段のプログラムを削除することなく、外部から取得したプログラムとライセンス情報を前記プログラム記憶手段に記憶する機能導入手段と、前記機能導入手段が記憶したプログラムのライセンス情報とプログラムのバージョン情報を、ユーザＩＤに対応づけて登録したユーザ情報を記憶するユーザ情報記憶手段と、前記ユーザ情報から、ログインしたユーザのユーザＩＤに対応づけられたライセンス情報とバージョン情報を特定し、該バージョン情報のプログラムが実現する機能をユーザに提供する機能提供手段と、を有することを特徴とする。
【発明の効果】
【００２６】
バージョンが異なる、ユーザに紐つくライセンス形態の機能を管理可能な画像形成装置、機器システム、プログラム管理方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】バージョンが異なる同じ機能がもたらす機器に特有の問題を説明する図の一例である。
【図２】各ユーザが各バージョンのα機能を機器に導入した場合の不都合を説明する図の一例である。
【図３】画像形成装置の概略的な特徴を説明する図の一例である。
【図４】機器システム構成図の一例である。
【図５】画像形成装置のハードウェア構成図の一例である。
【図６】画像形成装置の機能ブロック図の一例である。
【図７】ユーザ情報を模式的に示す図の一例である。
【図８】機器構成情報を模式的に示す図の一例である。
【図９】ライセンスの取得を説明する図の一例である。
【図１０】画像形成装置がユーザ情報の紐つきライセンス情報及び指定バージョンを更新するタイミングを説明する図の一例である。
【図１１】画像形成装置がユーザ情報を更新する手順を説明する図の一例である。
【図１２】ユーザ情報更新部がユーザ情報を更新する手順を示すフローチャート図の一例である。
【図１３】ユーザがユーザ情報の指定バージョンを変更する際にオペレーションパネルに表示されるバージョン指定画面の一例である。
【図１４】機能の自動導入を模式的に説明する図の一例である。
【図１５】自動導入の手順を説明するフローチャート図の一例である。
【図１６】ユーザ毎に変わりうる操作画面の一例を示す図である。
【図１７】画面生成部が操作画面を生成する手順を示すフローチャート図の一例である。
【図１８】機能の実行と自動停止を説明する図の一例である。
【図１９】起動部が機能を自動的に実行し、機能停止部が自動的に機能を停止させる手順を説明するフローチャート図の一例である。
【図２０】ユーザがユーザ情報の指定バージョンを変更する際にオペレーションパネルに表示されるバージョン指定画面の一例である。
【図２１】機器構成情報の一例である。
【図２２】画面生成部が操作画面を生成する手順を示すフローチャート図の一例である。
【図２３】起動部が機能を自動起動する手順を示すフローチャート図の一例である。
【図２４】ユーザ毎に変わりうる操作画面の一例である。
【図２５】画面生成部が操作画面を生成する手順を示すフローチャート図の一例である。
【図２６】起動部が自動起動した後にオペレーションパネルに表示される起動バージョン変更画面の一例である。
【図２７】起動部が機能を自動的に実行し、機能停止部が自動的に機能を停止させる手順を説明するフローチャート図の一例である。
【図２８】機器構成情報の一例である。
【図２９】削除のロジックの選択画面の一例である。
【図３０】機能の削除の手順を説明するフローチャート図の一例である。
【図３１】移転の有無の設定画面の一例を示す図である。
【図３２】機能移転部が移転先の画像形成装置を決定する手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【実施例１】
【００２９】
〔画像形成装置の特徴〕
図３は、本実施形態の画像形成装置１００の概略的な特徴を説明する図の一例である。画像形成装置１００は、図示するようなユーザ情報を記憶している。ユーザ情報には、「ユーザＩＤ」「紐つきライセンス情報」「指定バージョン」が登録されている。すなわち、「紐つきライセンス情報」「指定バージョン」が登録されていることが特徴の１つとなる。
【００３０】
画像形成装置１００は、ログインしたユーザのユーザＩＤに基づき「紐つきライセンス情報」を参照し、ユーザに紐ついた機能があることを検出する。ユーザに紐ついた機能がある場合、画像形成装置１００はその機能の「指定バージョン」を読み出し、そのバージョンの機能をログインしたユーザに提供する。
【００３１】
例えば、ユーザaaaaがログインした場合、画像形成装置１００はユーザaaaaに対しＶｅｒ１のβ機能を提供し、ユーザbbbbがログインした場合、画像形成装置１００はユーザbbbbに対しＶｅｒ２のβ機能を提供する。
【００３２】
提供するとは、例えば操作パネルにそのバージョンの機能にリンクしたアイコンを表示することをいい、画像形成装置１００はユーザの指定バージョンの機能を呼び出すアイコンを表示する。また、提供するとは、例えばそのバージョンの機能をユーザが操作しなくても起動すること（以下、自動起動という場合がある）をいい、画像形成装置１００はユーザの指定バージョンの機能をアイコンを表示することも機能の起動の指示を受けることなく、ユーザの指定バージョンの機能を起動させる。
【００３３】
したがって、本実施形態の画像形成装置１００は、同じ機能の複数のバージョンからユーザにとって使いやすいバージョンの機能をユーザに提供することができる。
【００３４】
なお、説明のため本実施形態で使用する用語を簡単に定義しておく。
「機能」とはアプリケーション（以下、単にアプリという）が提供する機能である。以下では、「機能」と「アプリ」を同じ意味で用いる場合がある。また、ユーザが機器でその機能を使用できるようにすることを機能の導入というが、これはインストール及びアクティベーションとほぼ同じ意味である（すでにインストールされている場合は、アクティベーションのみとなる）。なお、アクティベーションとは、正規のライセンスを持っていることが証明されアプリを使用可能となることである。
【００３５】
「アプリ」には、種々のプログラムが含まれる。例えば、電卓、電子カレンダ、スケジュール表などのユーティリティ、画面の色やアイコンの配置を規定したように並び替える画面変更ソフト、予め登録してある印刷条件・読み取り条件・ＦＡＸ送信先等を機器に設定する制御用ソフト、コピー機能・スキャナ機能・ＦＡＸ機能等の基本的な機能そのもののソフトがある。
「紐つきライセンス」とは機器ではなくユーザに機能の使用を認めるライセンス形態のライセンスをいい、「紐つきライセンス情報」とは、紐つきライセンスの実体（例えばライセンスキー）である。本実施形態では、紐つきライセンス情報が機能の機能名を兼ねる。これに対し、機器に使用を認めるライセンス形態を「通常ライセンス」という。また、ユーザが機器とは別に購入する必要のない機能もあり、このような機能を「デフォルト」の機能という（ライセンス情報がない）。
【００３６】
したがって、アプリの本体だけではユーザがアプリを起動することができず、アプリと一対の紐つきライセンス情報が機器に登録されることでユーザがそのアプリを起動できるようになる。または、紐つきライセンス情報にアクセス可能であることでアプリのインストールが可能になる。
【００３７】
〔全体的な構成〕
図４は、機器システム６００の構成図の一例を示す。画像形成装置１００が、ネットワーク５００を介して画像形成装置２００、販売サーバ３００、及び、ライセンスサーバ４００と接続されている。画像形成装置１００は、プリンタ機能、スキャナ機能、ＦＡＸ機能等の１つ以上の機能を備えた装置である。ＭＦＰ（Multifunction Peripheral）と呼ばれることもある。
【００３８】
販売サーバ３００は、機能をユーザや機器に販売するサーバである。ライセンスサーバ４００は、ユーザにライセンスされた機能を管理するサーバである。また、説明を容易にするため、ライセンスサーバ４００は、ユーザがログインした機器に機能を導入するサーバとしての役割を果たすサーバとするが、機能を蓄積したサーバはライセンスサーバ４００と別であってもよい。画像形成装置２００は、ユーザが機能を使用する画像形成装置１００と同等の画像形成装置である。機能は自動的に画像形成装置２００に導入されるので、ユーザは画像形成装置１００だけでなく、画像形成装置２００でも購入した機能を使用することができる。このような点において、紐つきライセンスは通常ライセンスより有効となる。また、画像形成装置２００はコンピュータを備えるので、販売サーバ３００又はライセンスサーバ４００のいずれか１つ以上を兼ねることもできる。なお、ネットワーク５００は、ＬＡＮ，ＷＡＮ（ＶＬＡＮ、ＶＰＮ等）、又は、インターネットなどである。また、ネットワーク５００は有線でも無線でもよい。
【００３９】
図５は、画像形成装置１００のハードウェア構成図の一例を示す。画像形成装置１００は、コントローラ１３０と、オペレーションパネル１２５と、ファクシミリコントロールユニット（ＦＣＵ）１２６と、撮像部１２７及び印刷部１２８を有する。
【００４０】
コントローラ１３０は、ＣＰＵ１１４と、ＡＳＩＣ１１６と、ＮＢ（ノースブリッジ）１１５と、ＳＢ（サウスブリッジ）１１７と、ＭＥＭ−Ｐ（システムメモリ）１１１と、ＭＥＭ−Ｃ（ローカルメモリ）１１２と、ＨＤＤ（ハードディスクドライブ）１１３と、メモリカードスロット１２３と、ＮＩＣ（ネットワークインタフェースコントローラ）１１８と、ＵＳＢデバイス１１９と、ＩＥＥＥ１３９４デバイス１２１と、セントロニクスデバイス１２２とを有する。
【００４１】
ＣＰＵ１１４は、種々の情報処理を実行するためのＩＣであり、アプリやプラットフォーム、オプションパッケージをＵＮＩＸ（登録商標）等のＯＳによりプロセス単位で並列的に実行する。ＡＳＩＣ１１６は、画像処理用のＩＣである。ＮＢ１１５は、ＣＰＵ１１４とＡＳＩＣ１１６を接続するためのブリッジである。ＳＢ１１７は、ＮＢ１１５と周辺機器等を接続するためのブリッジである。ＡＳＩＣ１１６とＮＢ１１５は、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ Ｇｒａｐｈｉｃｓ Ｐｏｒｔ）を介して接続されている。
【００４２】
ＭＥＭ−Ｐ１１１は、ＮＢ１１５に接続されたメモリである。ＭＥＭ−Ｃ１１２は、ＡＳＩＣ１１６に接続されたメモリである。ＨＤＤ１１３は、ＡＳＩＣ１１６に接続されたストレージであり、画像データ蓄積・文書データ蓄積・プログラム蓄積・フォントデータ蓄積・フォームデータ蓄積等を行うために使用される。ＨＤＤ１１３には上記の種々のアプリ、及び、プログラム１３１が記憶されている。
【００４３】
メモリカードスロット１２３は、ＳＢ１１７に接続され、メモリカード１２４をセット（挿入）するために使用される。メモリカード１２４は、ＵＳＢメモリ等のフラッシュメモリであり、プログラム１３１を配布するために使用される。また、プログラム１３１は所定のサーバから画像形成装置１００にダウンロードして配布することもできる。
【００４４】
ＮＩＣ１１８は、ネットワーク５００等を介してＭＡＣアドレス等を使用したデータ通信を行うためのコントローラである。ＵＳＢデバイス１１９は、ＵＳＢ規格に準拠したシリアルポートを提供するためのデバイスである。ＩＥＥＥ１３９４デバイス１２１は、ＩＥＥＥ１３９４規格に準拠したシリアルポートを提供するためのデバイスである。セントロニクスデバイス１２２は、セントロニクス仕様に準拠したパラレルポートを提供するためのデバイスである。ＮＩＣ１１８と、ＵＳＢデバイス１１９と、ＩＥＥＥ１３９４デバイス１２１と、セントロニクスデバイス１２２と、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ Ｃｏｍｐｏｎｅｎｔ Ｉｎｔｅｒｃｏｎｅｃｔ）バスを介してＮＢ１１５とＳＢ１１７に接続されている。
【００４５】
オペレーションパネル１２５は、ユーザが画像形成装置１００に入力を行うためのハードウェア（操作部）であると共に、画像形成装置１００がオペレータに可視情報を提供するためのハードウェア（表示部）である。オペレーションパネル１２５は、ＡＳＩＣ１１６に接続されている。ＦＣＵ１２６と、撮像部１２７と、印刷部１２８は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ Ｃｏｍｐｏｎｅｎｔ Ｉｎｔｅｒｃｏｎｅｃｔ）バスを介してＡＳＩＣ１１６に接続されている。
【００４６】
図６は、画像形成装置１００の機能ブロック図の一例を示す。画像形成装置１００は、ＣＰＵがプロラムを実行して実現される、ユーザ認証部１１、機能導入部１２、機能停止部１７、ユーザ情報更新部１３、画面生成部１５、起動部１６、指定バージョン変更部１４、機能削除部１８及び機能移転部１９を有する。また、画像形成装置１００は、ＨＤＤ１３等に記憶されたユーザ情報２１及び機器構成情報２２、並びに、ＨＤＤ１３等を実体とする機能記憶部２３及び部品記憶部２４を有する。
【００４７】
各機能ブロックについて間単に説明する。ユーザ認証部１１は、ユーザが入力したユーザＩＤとパスワードの組がユーザ情報２１に登録されているか否かに基づき、ユーザを認証する。機能導入部１２はログインしたユーザにライセンスされた機能であって指定バージョンの機能が画像形成装置１００に登録されていない場合、ライセンスサーバ４００から指定バージョンの機能を導入する。
【００４８】
ユーザ情報更新部１３は、ライセンスサーバ４００と通信してユーザ情報２１の紐つきライセンス情報や指定バージョンを更新する。指定バージョン変更部１４は、ユーザ情報２１に登録された指定バージョンを変更する。
【００４９】
画面生成部１５は、指定バージョンの機能にリンクしたアイコンを選別して、ペレーションパネル１２５に表示される操作画面に表示する。起動部１６は、指定バージョンの機能を自動起動させる。機能削除部１８は、画像形成装置１００に導入されている機能を削除する。機能停止部１７は、自動起動した機能を停止させる。機能移転部１９は、削除された機能を他の画像形成装置２００に移転する。
【００５０】
機能記憶部２３は機能（すなわちアプリ）を記憶する記憶手段であり、部品記憶部２４は操作画面を構成する各種のアイコンや文字などの部品を記憶する記憶手段である。
【００５１】
〔ユーザ情報２１〕
図７は、ユーザ情報２１を模式的に示す図の一例である。ユーザ情報２１には、ユーザＩＤに対応づけられて、パスワード、紐つきライセンス情報及び指定バージョンが登録されている。
・ユーザＩＤは、機器にログインする上で、ユーザを特定するためのユニークな識別情報である。ユーザＩＤは、例えばライセンスサーバ４００でも一意性が保証されるように、１つの機器内でユニークであるだけでなく、同じユーザが使用しうる複数の機器の全てにおいて一意性が保証されるユニークな識別情報である。例えば、社員番号をユーザＩＤとすることができる。
・パスワードは、ユーザを認証するための情報である。ユーザ認証部１１は、ユーザが機器にログインする際に入力したユーザＩＤとパスワードの組が、ユーザＩＤに対応付けて登録されているパスワードの組と一致するか否かに基づき、ユーザを認証する。なお、以下の図のユーザ情報２１ではパスワードを省略する。
・紐つきライセンス情報は、上述したように、ユーザ毎に機能のライセンスが与えられるライセンス形態にてライセンスされた機能の機能名（ライセンス情報）である。
・指定バージョンは、ユーザが利用したいバージョンである。図示するように、ユーザは、バージョンを指定する数値だけでなく「常に最新」といった設定をすることも可能である。
【００５２】
ユーザＩＤとパスワードが登録されていれば、指定バージョンはユーザが個人毎に登録することができる。これらの設定方法は後述する。
【００５３】
〔機器構成情報２２〕
図８は、機器構成情報２２を模式的に示す図の一例である。機器構成情報２２には、画像形成装置１００に導入されている機能の情報が登録されている。
【００５４】
α機能、β機能、γ機能、Σ機能などの各機能に対応づけて、ライセンス形態とバージョンが登録されている。上述したように、ライセンス形態の「−（デフォルト）」は、その機能が、機器とは別にユーザが購入する必要のない機能であることを示す。「通常ライセンス」は、その機能が画像形成装置１００に使用が認められた機能であることを示す。
【００５５】
「バージョン」は画像形成装置１００に導入されている機能のバージョンである。一つの機能の複数のバージョンが導入されるのは、ライセンス形態が紐つきライセンスの場合なので、ライセンス形態が紐つきライセンスの機能には複数のバージョンが登録されることがある。
【００５６】
このように一つの画像形成装置１００が複数のバージョンの機能を導入しておくことで、各ユーザが望むバージョンで機能を提供することができ、同じ機能でも様々な態様でユーザに機能を提供することが可能となる。
【００５７】
〔機能の購入とライセンス管理情報の更新〕
図９は、ライセンスの取得を説明する図の一例である。ユーザaaaaとユーザbbbbは、不図示のＰＣ（Ｐｅｒｓｏａｌ Ｃｏｍｐｕｔｅｒ）を操作してブラウザを立ち上げ、販売サーバ３００にアクセスする。ユーザaaaa、ユーザbbbbは、それぞれユーザＩＤを入力し、「α機能」「β機能」等から購入したい機能を選択する。
【００５８】
ブラウザは機能の選択を受け付け、ユーザＩＤと機能名を販売サーバ３００に送信する。なお、図では、ユーザaaaaとユーザbbbbのいずれも、α機能を購入しているがあくまで一例である。ユーザaaaaとユーザbbbbは所定の支払い方法で代金を支払う（支払い方法については省略する）ことで、ユーザaaaaとユーザbbbbは、α機能の紐つきライセンス情報を取得することができる。
【００５９】
α機能の現在のバージョンはＶｅｒ２であるので、「α機能」の隣に「Ｖｅｒ２」と記述されている。本実施形態では、ある機能の紐つきライセンスを購入したユーザはバージョンの制限なくその機能を使用することができるので、特にバージョンを表示しなくてもよい。購入するバージョンを選択可能としてもよい。このようにバージョンを表示することでユーザは購入した時のバージョンを知ることができる。
【００６０】
なお、購入した時よりも高いバージョンの機能がリリースされても、ユーザはバージョンアップされた機能を使用する際に、特に追加の料金は要求されないものとする。
【００６１】
販売サーバ３００はユーザに機能を販売すると、販売した機能名とユーザＩＤをライセンスサーバ４００に送信する。ライセンスサーバ４００はライセンス管理情報を管理する。ライセンス管理情報は、機能毎にユーザＩＤを関連付けた情報である。図ではα機能にユーザaaaaとユーザbbbbが登録されている。
【００６２】
ライセンス管理情報を参照することで、ライセンスサーバ４００は、ユーザＩＤ（ログインと連動できる他の情報でもよい）が特定されれば、ユーザに紐つけられた機能を全て特定することができる。また、画像形成装置１００に機能をライセンスする通常ライセンスと異なり、ライセンスサーバ４００からＰＣにライセンスキーを発行する必要がない。紐つきライセンスでは、ライセンスサーバ４００が機器を特定するためにユーザがライセンスキーを入力することが不要なためである。画像形成装置１００は、所望のタイミングでライセンスサーバ４００にアクセスすれば、ライセンスされた機能を導入できる。
【００６３】
なお、比較のため、機器に機能をライセンスする通常ライセンスについて説明する。ユーザが機器を特定して機能を導入させる場合には、販売サーバ３００で機能を購入する際にライセンスサーバがライセンスキーを発行する。ユーザは、このライセンスキーを用いて機能を導入したい機器から導入処理を実行する。導入の際、機器の情報（機器を特定するシリアルＩＤ等）がライセンスサーバ４００に転送され、これによりライセンスサーバ４００は機器とライセンスキーを対応づけて管理すること（「あるライセンスに基づく機能はある機器に導入されている」）ができる。したがって、第三者がライセンスキーを入手しても、ライセンスサーバがライセンスキーを対応づけたシリアル番号の機器以外ではアプリを利用することが防止できる。
【００６４】
また、ライセンスサーバ４００は、バージョン管理情報を有する。バージョン管理情報は、各機能毎に「現在最高バージョン」「使用可能バージョン」が登録されている。現在最高バージョンは、その機能の最も新しいバージョンであり、使用可能バージョンはその機能で過去にリリースされたバージョンである。
【００６５】
〔ユーザ情報２１の更新タイミング〕
ライセンスサーバ４００のライセンス管理情報は、ユーザが機能を購入したり、紐つきライセンスを失うことで変更される。よって、画像形成装置１００は、ユーザ情報２１の紐つきライセンス情報や指定バージョンを更新する必要が生じる。
【００６６】
図１０は、画像形成装置１００がユーザ情報２１の紐つきライセンス情報及び指定バージョンを更新するタイミングを説明する図の一例である。このタイミングとして、
（１）機器の電源がＯＮになった直後
（２）電源ＯＮの間の一定間隔毎
（３）ライセンスサーバ４００からライセンス管理情報の変化通知を受けた時
の３つが挙げられる。画像形成装置１００には（１）〜（３）のいずれか１つ以上のタイミングが設定されている。画像形成装置１００はこれらのタイミングが到来したことを検知して、ライセンスサーバ４００にアクセスする。
【００６７】
図１１は、画像形成装置１００がユーザ情報２１を更新する手順を説明する図の一例である。更新前の機器のユーザ情報２１によれば、ユーザaaaaとユーザbbbbの紐つきライセンス情報は「なし」、ユーザccccの紐つきライセンス情報は「β機能」、指定バージョンは「Ｖｅｒ１」となっている。
【００６８】
これに対し、ライセンスサーバ４００のライセンス管理情報によれば、ユーザaaaaとユーザbbbbには「α機能」が紐つけられている。したがって、画像形成装置１００は、ユーザ情報２１を更新する必要がある。
【００６９】
図１２は、ユーザ情報更新部１３がユーザ情報２１を更新する手順を示すフローチャート図の一例である。
【００７０】
まず、ユーザ情報更新部１３は設定されたタイミングが到来したか否かを判定する（Ｓ１）。
【００７１】
タイミングが到来した場合（Ｓ１のＹｅｓ）、ユーザ情報更新部１３は、ユーザ情報２１のユーザＩＤを全てライセンスサーバ４００に送信する（Ｓ２）。
【００７２】
ライセンスサーバ４００は、ユーザＩＤに紐つけられた機能名を全て読み出す（Ｓ３）。例えば、ユーザaaaaについてα機能、ユーザbbbbについてα機能、ユーザccccについてβ機能、が読み出される。
【００７３】
また、ライセンスサーバ４００は、Ｓ３で読み出した機能の現在最高バージョンを、バージョン管理情報から読み出す（Ｓ４）。α機能の現在最高バージョンはＶｅｒ２，β機能の現在最高バージョンはＶｅｒ３，である。
【００７４】
ライセンスサーバ４００は、ユーザＩＤに関連付けて機能名と現在最高バージョンを画像形成装置１００に送信する（Ｓ５）。なお、一つのユーザＩＤに複数の紐つきライセンス情報が関連付けられることもある。
ユーザaaaa：α機能  Ｖｅｒ２
：β機能  Ｖｅｒ２
ユーザbbbb：α機能  Ｖｅｒ２
ユーザcccc：β機能  Ｖｅｒ３
：γ機能  Ｖｅｒ１
ユーザ情報更新部１３は、ユーザ情報２１のユーザＩＤ毎に、以下の手順を実行する。まず、ユーザ情報２１のユーザＩＤに、ライセンスサーバ４００から送信された紐つきライセンス情報の機能名が登録されているか否かを判定する（Ｓ６）。ライセンスサーバ４００から送信された紐つきライセンス情報の機能名が登録されている場合（Ｓ６のＹｅｓ）、すでにその機能はユーザ情報２１に登録されていることになるので、ユーザ情報更新部１３は何もしない（Ｓ８）。
【００７５】
ライセンスサーバ４００から送信された紐つきライセンス情報の機能名が登録されていない場合（Ｓ６のＮｏ）、ユーザＩＤにその機能を登録する必要があるので、ユーザ情報更新部１３はユーザＩＤに対応づけて、紐つきライセンス情報と現在最高バージョンを登録する（Ｓ７）。
【００７６】
例えば、ユーザaaaaとユーザbbbbには、ユーザ情報２１に紐つきライセンス情報が登録されていないので、ユーザ情報更新部１３はユーザaaaaとユーザbbbbに対応づけて、紐つきライセンス情報として「α機能」を、指定バージョンとして「Ｖｅｒ２」をそれぞれ登録する。こうすることで、機能を購入したばかりのユーザaaaaとユーザbbbbの指定バージョンを最新のバージョンに設定することができる。
【００７７】
ユーザccccには、紐つきライセンス情報としてすでにβ機能が登録されているので、ユーザ情報更新部１３はユーザccccの紐つきライセンス情報と指定バージョンを変更しない。こうすることで、ユーザccccの指定バージョンを維持することができる。
【００７８】
以上のような処理により、画像形成装置１００のユーザ情報２１のユーザＩＤに紐つきライセンス情報と指定バージョンを登録することができる。
【００７９】
〔指定バージョンの変更〕
図１３は、ユーザがユーザ情報２１の指定バージョンを変更する際にオペレーションパネル１２５に表示されるバージョン指定画面の一例を示す。ユーザがすでに設定されている指定バージョンを変更したい場合、ユーザは画像形成装置１００のオペレーションパネル１２５を操作して、例えば初期設定画面を表示する。そして、初期設定画面に表示される項目からユーザ情報２１の変更を選択することで、図１３のバージョン指定画面が表示される。なお、パスワードの変更も同様の画面からユーザ情報更新部１３が受け付けることが可能だが、説明は省略する。
【００８０】
ユーザはすでにログインしているため、図１３のバージョン指定画面にはユーザＩＤにユーザ名[aaaa]が表示されている。また、バージョン指定画面には、「購入済み機能」、その機能にてユーザが指定可能な「指定可能バージョン」が表示されている。バージョン指定画面を表示するため、ユーザ情報更新部１３は、ユーザ情報２１からユーザＩＤに紐つきライセンス情報として対応づけられた機能名を全て読み出す。また、ライセンスサーバ４００に機能名を送信し、使用可能バージョンを問い合わせる。こうすることで、機能毎に使用可能バージョンが表示される。ユーザは使用可能バージョンの中から所望のバージョンを選択できる。
【００８１】
また、ユーザ情報更新部１３は、指定可能バージョンに「常に最新」という選択肢を表示している。ユーザは個別のバージョンでなく、とにかく新しいバージョンの機能を使用することを望む場合「常に最新」を選択することができる。ユーザが選択した項目は反転表示され、「ＯＫ」ボタンを押下すると、ユーザ情報更新部１３が指定バージョンとして受け付ける。
【００８２】
ユーザ情報更新部１３は、使用可能バージョンから選択されたバージョン情報をユーザ情報２１の「指定バージョン」に登録する。
【００８３】
〔機能の自動導入〕
ユーザ情報２１にユーザが望む指定バージョンが登録されていても、ユーザがログインした画像形成装置１００に指定バージョンの機能が導入されていないことが生じうる。このため、画像形成装置１００は、ログインしたユーザに応じて機能を自動的に導入する。
【００８４】
図１４は、機能の自動導入を模式的に説明する図の一例を、図１５は自動導入の手順を説明するフローチャート図の一例である。
【００８５】
まず、ユーザは画像形成装置１００にログインする（Ｓ１０）。機能導入部１２はユーザ情報２１を参照し、ログインしたユーザのユーザＩＤに紐つきライセンス情報が登録されている否かを判定する（Ｓ２０）。紐つきライセンス情報が登録されていない場合（Ｓ２０のＮｏ）、機能を自動的に導入する必要はないので図１５の手順は終了する。
【００８６】
紐つきライセンス情報が登録されている場合（Ｓ２０のＹｅｓ）、機能導入部１２は、ユーザが指定する指定バージョンをユーザ情報２１から読み出す（Ｓ３０）。
【００８７】
ここで、指定バージョンが「常に最新」である場合、機能導入部１２はすでに導入されている機能が現在最高のバージョンか否かを確認する必要が生じる。このため、機能導入部１２は、指定バージョンが「常に最新」か否かを判定する（Ｓ４０）。
【００８８】
指定バージョンが「常に最新」でない場合（Ｓ４０のＮｏ）、機能導入部１２は、機器構成情報２２を参照して、指定バージョンの機能が画像形成装置１００に導入されているか否かを判定する（Ｓ５０）。
【００８９】
指定バージョンの機能が画像形成装置１００に導入されている場合（Ｓ５０のＹｅｓ）、機能を導入する必要がないので、図１５の手順は終了する。
【００９０】
指定バージョンの機能が画像形成装置１００に導入されていない場合（Ｓ５０のＮｏ）、機能を導入するため、機能導入部１２はライセンスサーバ４００に機能とバージョンを指定して、その機能を要求する（Ｓ６０）。これにより、ライセンスサーバ４００から指定したバージョンの機能が送信されるので、機能導入部１２は、機能を画像形成装置１００に導入する（Ｓ７０）。これによりユーザがその機能を実行可能な状態となる。
【００９１】
次に、機能導入部１２は、機器構成情報２２を更新する（Ｓ８０）。更新により、画像形成装置１００に実際に導入されている機能と、機器構成情報２２とを一致させることができる。
【００９２】
ステップＳ４０に戻り、指定バージョンが「常に最新」の場合（Ｓ４０のＹｅｓ）、機能導入部１２は、機器構成情報２２を参照して、ユーザが紐つきライセンス情報を有する全ての機能のバージョンを読み出す（Ｓ９０）。
【００９３】
そして、機能導入部１２は、全ての機能のバージョンをラインセンスサーバに送信し、そのバージョンが現在最高のバージョンと一致するか否かを問い合わせる（Ｓ１００）。
【００９４】
ライセンスサーバ４００は、画像形成装置１００に導入されている機能のバージョンが現在最高のバージョンと一致する場合、一致する旨を画像形成装置１００に送信し、一致しない場合、その機能の最新のバージョンを画像形成装置１００に送信する。
【００９５】
機能導入部１２は、ライセンスサーバ４００の応答が一致する旨であるか否かを判定する（Ｓ１１０）。
【００９６】
画像形成装置１００に導入されている機能のバージョンが現在最高のバージョンと一致する場合（Ｓ１１０のＹｅｓ）、機能を導入する必要がないので、図１５の手順は終了する。
【００９７】
画像形成装置１００に導入されている機能のバージョンが現在最高のバージョンと一致しない場合（Ｓ１１０のＮｏ）、機能導入部１２はライセンスサーバ４００から受信した最新のバージョンの機能を画像形成装置１００に導入する。よって、以降の処理はステップＳ７０、Ｓ８０と同じである。
【００９８】
以上のように、画像形成装置１００はユーザが指定するバージョンの機能を自動的に導入することができる。
【００９９】
〔操作画面の表示（機能の提供）〕
ユーザに、ユーザが指定するバージョンの機能を提供するため、画像形成装置１００はユーザが指定するバージョンの機能とリンクしたアイコンを、操作画面を表示する。したがって、操作画面はユーザによって変わりうる。
【０１００】
図１６は、ユーザ毎に変わりうる操作画面の一例を、図１７は画面生成部１５が操作画面を生成する手順を示すフローチャート図の一例をそれぞれ示す。
【０１０１】
図１６の画像形成装置１００のユーザ情報２１によれば、ユーザaaaaとユーザddddは紐つきライセンスのライセンス形態の機能を有していない。ユーザbbbbはβ機能の紐つきライセンスを有し、その指定バージョンはＶer１である。ユーザccccはβ機能とγ機能の紐つきライセンスを有し、その指定バージョンはそれぞれＶer２と「常に最新」である。
【０１０２】
なお、機器構成情報２２によれば、画像形成装置１００にはＶｅｒ２とＶｅｒ１のβ機能、及び、Ｖｅｒ３とＶｅｒ２のγ機能が導入されている。ここでは、機能γの現在最高のバージョンはＶｅｒ３であるとする。すなわち、画像形成装置１００にはユーザが指定する全てのバージョンが導入されている。仮に導入されていない場合は図１５の手順を実行すればよい。
【０１０３】
このような状況で、まずユーザがログインする（Ｓ２１０）。画面生成部１５はユーザ情報２１を参照し、ログインしたユーザのユーザＩＤに紐つきライセンス情報が登録されている否かを判定する（Ｓ２２０）。
【０１０４】
紐つきライセンス情報が登録されている場合（Ｓ２２０のＹｅｓ）、画面生成部１５は、ユーザが指定する指定バージョンをユーザ情報２１から読み出す（Ｓ２３０）。
【０１０５】
そして、画面生成部１５は、紐つきライセンス情報の機能名に対応したアイコン画像を画面の部品が記憶された部品記憶部２４から読み出す（Ｓ２４０）。
【０１０６】
次に、画面生成部１５は、ユーザが指定する指定バージョンに対応したアイコン画像を画面の部品が記憶された部品記憶部２４から読み出す（２５０）。このアイコン画像により、例えば、「Ｖｅｒ１」「Ｖｅｒ２」「Ｖｅｒ３」等が可視化される。
【０１０７】
次にＳ２２０に戻り、紐つきライセンス情報が登録されていない場合（Ｓ２２０のＮｏ）、ユーザが指定するバージョンの機能を提供する必要がないので、画面生成部１５は、機器構成情報２２からライセンス形態がデフォルトと通常ライセンスの機能を特定する（Ｓ２６０）。これらの機能は、ユーザに関係なく操作画面からユーザが選択可能な機能である。
【０１０８】
また、画面生成部１５は、デフォルトと通常ライセンスの機能に対応したアイコン画像を画面の部品が記憶された部品記憶部２４から読み出す（Ｓ２７０）。
【０１０９】
そして、画面生成部１５は、所定の位置に各アイコン画像を配置して、操作画面を生成する（Ｓ２８０）。
【０１１０】
図１６に示すように、ユーザaaaaがログインした場合、ユーザaaaaは紐つきライセンスのライセンス形態の機能を有していないので、デフォルトの機能の「α機能アイコン」と通常ライセンスの機能の「Σ機能アイコン」だけが表示される。
【０１１１】
ユーザbbbbがログインした場合、ユーザbbbbはＶｅｒ１を指定バージョンとするβ機能の紐つきライセンスを有しているので、「β機能アイコン」と「Ｖｅｒ1アイコン」が表示される。なお、デフォルトの機能の「α機能アイコン」と通常ライセンスの機能の「Σ機能アイコン」も表示される。
【０１１２】
ユーザccccがログインした場合、ユーザccccbはＶｅｒ２を指定バージョンとするβ機能の紐つきライセンスと「常に最新」を指定バージョンとするγ機能の紐つきライセンスを有しているので、「β機能アイコン」と「Ｖｅｒ２アイコン」及び、「γ機能アイコン」と「Ｖｅｒ３アイコン」が表示される。なお、デフォルトの機能の「α機能アイコン」と通常ライセンスの機能の「Σ機能アイコン」も表示される。
【０１１３】
これらのアイコンは、機能記憶部２３に記憶されたアプリとリンクされている。起動部１６は、オペレーションパネル１２５の操作位置に基づきユーザが指定したアイコンを特定し、アイコンにリンクされたアプリを機能記憶部２３から読み出して起動する。
【０１１４】
したがって、本実施形態の画像形成装置１００は、ユーザが指定するバージョンの機能のアイコンを表示するので、ユーザは同じ機能でも好みのバージョンの機能を起動させることができる。
【０１１５】
なお、画像形成装置１００に導入されている全ての機能のアイコンを表示しておき、ユーザが紐つきライセンスを有さない機能のアイコンを押下した場合に、例えば「ライセンスがないためこの機能は利用できません」というメッセージを表示してもよい。
【０１１６】
〔機能の自動起動（機能の提供）と自動停止〕
以上のように、ユーザはログインして紐つきライセンスの機能を選択して起動させることができる。しかし、ガジェットやユーティリティのようなアプリなら、ユーザがアイコンを選択するまでもなく自動的に実行した方が、操作性が向上する場合がある。一方、ログインしたユーザでない他のユーザに機能を使用させることは好ましくない。
【０１１７】
以上を考慮すると、画像形成装置１００はユーザのログインに応じて機能を自動で起動し、かつ、ユーザがログアウトした場合、ログアウトに合わせて紐つきライセンスの機能を停止させることが好ましい。停止させることで、次に別のユーザがログインしても紐つきライセンスの機能を無断では利用できないようにすることができる。
【０１１８】
なお、機能の起動が指示されると、ＯＳは機能を１つのプロセスとして、メモリ空間やファイル入出力用の識別子を割り当てる。ＯＳは、複数のプロセスが要求する資源を調停するなどして、各プロセスを並行的に実行する。したがって、機能の停止とは、プロセスが占有していたメモリ空間やファイル識別子が開放され、再度起動するために、ユーザが操作画面からアイコンの選択が必要になることをいう。
【０１１９】
図１８は、機能の実行と自動停止を説明する図の一例である。なお、画像形成装置１００が有するユーザ情報２１と機器構成情報２２は、図１６と同じなので説明は省略する。画像形成装置１００の右側の図は、導入されている機能を示す。無地の機能は停止状態を、無地で太枠の機能は電源オンにより起動した機能を、斜線の機能はログインにより起動した機能を、網掛けの機能はログアウトにより停止した機能を、それぞれ示す。
【０１２０】
（１）画像形成装置１００の電源がオフの状態である
画像形成装置１００に導入されている機能、α機能、Σ機能、Ｖｅｒ３のγ機能、Ｖｅｒ２のβ機能、Ｖｅｒ１のβ機能、Ｖｅｒ２のγ機能、は全て停止状態である。
（２）画像形成装置１００の電源がオンされた状態である
ライセンス形態がデフォルトと通常ライセンスのα機能と機能Σが起動される。
（３）画像形成装置１００にユーザccccがログインした状態である
α機能と機能Σに加え、ユーザccccの紐つきライセンスの機能であるＶｅｒ3のγ機能とＶｅｒ２のβ機能が起動される。
（４）画像形成装置１００からユーザccccがログアウトした状態である
ユーザccccの紐つきライセンスの機能であるＶｅｒ3のγ機能とＶｅｒ２のβ機能が停止され、α機能と機能Σのみが起動された状態となる。
（５）画像形成装置１００にユーザbbbbがログインした状態である
α機能と機能Σに加え、ユーザbbbbの紐つきライセンスの機能であるＶｅｒ１のβ機能が起動される。
【０１２１】
図１９は、起動部１６が機能を自動的に実行し、機能停止部１７が自動的に機能を停止させる手順を説明するフローチャート図の一例である。
【０１２２】
まず、画像形成装置１００の電源がオンになり、画像形成装置１００が起動する（Ｓ３１０）。例えばＯＳが画像形成装置１００の起動の直後に起動部１６を起動させることで、画像形成装置１００の起動の直後から起動部１６が実行される。
【０１２３】
起動部１６は、ライセンス形態がデフォルトと通常ライセンスの機能を起動させる（Ｓ３２０）。具体的には、起動部１６は、機器構成情報２２を読み出し、ライセンス形態がデフォルトと通常ライセンスの機能を特定し、機能記憶部２３から読み出してＲＡＭを作業メモリに実行する。これにより、これらの機能はプロセスとしてＯＳに登録される。
【０１２４】
起動部１６はユーザがログインしたか否かを監視する（Ｓ３３０）。ユーザがログインした場合、ユーザ情報２１を参照しユーザＩＤに紐つきライセンス情報が登録されているか否かを判定する（Ｓ３４０）。
【０１２５】
ユーザＩＤに紐つきライセンス情報が登録されていない場合（Ｓ３４０のＮｏ）、起動部１６は機能を自動起動しない。
【０１２６】
ユーザＩＤに紐つきライセンス情報が登録されている場合（Ｓ３４０のＹｅｓ）、起動部１６は、機能名とユーザが指定する指定バージョンをユーザ情報２１から読み出す（Ｓ３５０）。
【０１２７】
そして、起動部１６は指定バージョンに対応した機能を起動させる（Ｓ３６０）。具体的には、起動部１６は、指定バージョンに対応した機能を機能記憶部２３から読み出してＲＡＭを作業メモリに実行する。これにより、これらの機能はプロセスとしてＯＳに登録される。
【０１２８】
次に、機能停止部１７は、ユーザがログアウトしたか否かを判定する（Ｓ３７０）。ログアウトしたことは、例えばユーザがログアウトボタンを押下することで検出される。
【０１２９】
ユーザがログアウトした場合（Ｓ３７０のＹｅｓ）、機能停止部１７はＯＳに、紐つきライセンスの機能として自動起動された機能の停止を要求する（Ｓ３８０）。ＯＳは、管理対象のプロセスから機能を削除し、メモリを解放する。これにより、機能は停止され、ユーザが再度起動するには、アイコンを選択するか又はログインし直すことが必要になる。
【０１３０】
〔指定バージョンの変更の変形例〕
図１３にバージョン指定画面の一例を示したが、ユーザが選択しうる指定バージョンは様々であることが好ましいので、より多様な指定バージョンの選択が可能なバージョン指定画面について説明する。
【０１３１】
図２０（ａ）は、ユーザがユーザ情報２１の指定バージョンを変更する際にオペレーションパネル１２５に表示されるバージョン指定画面の一例を示す。図２０（ａ）において図１３と同一部には同一の符号を付しその説明は省略する。
【０１３２】
図２０（ａ）では、その機能にてユーザが指定可能な数値としてのバージョンと「常に最新」に加え「機器内で最新」「最後の起動バージョン」「ユーザの多いバージョン」のボタンが追加されている。
【０１３３】
「機器内で最新」は、画像形成装置１００に、異なるバージョンの同じ機能が導入されている場合、機器内で最新のバージョンの機能を実行対象とするためのボタンである。例えば、画像形成装置１００にＶｅｒ１とＶｅｒ２のα機能が導入された状態で、ユーザがα機能の紐つきライセンスを有している場合、画像形成装置１００はＶｅｒ２の機能をユーザに提供する。すなわち、ユーザは、画像形成装置１００に導入された機能のうち最も新しいバージョンの機能を実行できる。したがって、「常に最新」と異なり、画像形成装置１００はサーバから最新のバージョンの機能を受信する必要がないので、ユーザの待ち時間を少なくできる。
【０１３４】
「最後の起動バージョン」は、画像形成装置１００が最後に起動したバージョンの機能を実行対象とするためのボタンである。このボタンを有効にするため、例えば、起動部１６が機器構成情報２２に最後の起動日時を登録するようにする。
【０１３５】
図２１は、機器構成情報２２の一例を示す。例えば、画像形成装置１００にＶｅｒ１とＶｅｒ２のβ機能が導入された状態で、ユーザがβ機能の紐つきライセンスを有しているとする。Ｖｅｒ１のα機能の最後の起動時刻が２０１０年１月1日でＶｅｒ２のα機能の最後の起動時刻が２０１０年５月1日であるので、画像形成装置１００はＶｅｒ２の機能をユーザに提供する。
【０１３６】
このような設定は、最後に起動したバージョンなら高い信頼性がおけるという考えかたのユーザに適したものとなる。
【０１３７】
「ユーザの多いバージョン」は、ユーザ情報２１において、指定バージョンに最も多く指定されるバージョンを実行対象とするためのボタンである。指定バージョンに最も多く指定されるバージョンは、ユーザ情報２１から明らかとなる。画像形成装置１００は、ユーザ情報２１を参照して、機能毎かつ指定バージョン毎にユーザの数をカウントする。なお、「常に最新」「機器内で最新」「最後の起動バージョン」「ユーザの多いバージョン」はノーカウントとする。
【０１３８】
例えば、β機能のＶｅｒ1を指定バージョンとするユーザの数が１０人、Ｖｅｒ２を指定バージョンとするユーザの数が２０人の場合、画像形成装置１００は、「ユーザの多いバージョン」を選択したユーザにＶｅｒ２の機能を提供する。
【０１３９】
このような設定は、多くのユーザが指定しているバージョンなら高い信頼性がおけるという考えかたのユーザに適したものとなる。
【０１４０】
また、ユーザが図２０（ａ）のバージョン指定画面から指定バージョンを設定しないことも考えられる。このため、ユーザが指定バージョンを指定しない場合のデフォルトの指定態様が設定されている。このデフォルトの設定も例えば管理者により変更可能である。
【０１４１】
図２０（ｂ）は、管理者が指定バージョンのデフォルトの設定を変更する際にオペレーションパネル１２５に表示される画面の一例を示す。図２０（ｂ）の画面は図２０（ａ）とほぼ同じであるが、「購入済み機能」でなく「機能に共通のデフォルト設定」と表示されている。こうすることで、管理者は１回の設定で、各機能のデフォルトの指定バージョンの設定を行うことができる。なお、機能毎に設定可能にしてもよい。
【０１４２】
＜操作画面の生成＞
図２２は、図２０のような多様なバージョン指定が可能な場合に、画面生成部１５が操作画面を生成する手順を示すフローチャート図の一例を示す。図２２において図１７と異なるのは、ステップＳ２３０において、画面生成部１５が、ユーザが指定する指定バージョンをユーザ情報２１から読み出した後のステップである（Ｓ２３０）。
【０１４３】
図２２のバージョン指定画面では、指定バージョンとして、バージョンを指定する数値、「常に最新」「機器内で最新」「最後の起動バージョン」又は「ユーザの多いバージョン」のいずれかが選択される。なお、「常に最新」の場合は、図１５の処理が実行されることで画像形成装置１００に最新のバージョンの機能が導入されているので、「機器内で最新」と同一視できる。
【０１４４】
よって、画面生成部１５は、「機器内で最新」「最後の起動バージョン」又は「ユーザの多いバージョン」の指定バージョンに応じて、ユーザに提供するバージョンを決定する（Ｓ２３５）。決定方法は上述したとおりである。
【０１４５】
以降の処理は図１７と同じなので説明は省略する。このように、ユーザがより多様な方法でバージョンを指定することができ、画像形成装置１００は指定バージョンの指定方法に基づき決定したバージョンの機能のアイコンを表示することができる。
【０１４６】
＜自動起動＞
また、自動起動により機能を提供する際も同様である。図２３は、図２０のような多様なバージョン指定が可能な場合に、起動部１６が機能を自動起動する手順を示すフローチャート図の一例を示す。
【０１４７】
図２３において図１９と異なるのは、ステップＳ３５０において、起動部１６が、ユーザが指定する指定バージョンをユーザ情報２１から読み出した後のステップである（Ｓ３５０）。
【０１４８】
操作画面の生成のフローチャート図と同様に、起動部１６は、「機器内で最新」「最後の起動バージョン」又は「ユーザの多いバージョン」の指定バージョンに応じて、ユーザに提供するバージョンを決定する（Ｓ３５５）。決定方法は上述したとおりである。
【０１４９】
以降の処理は図１９と同じなので説明は省略する。このように、ユーザがより多様な方法でバージョンを指定することができ、画像形成装置１００は指定バージョンの指定方法に基づき決定したバージョンの機能を自動起動させることができる。
【０１５０】
〔指定バージョンと異なるバージョンへの変更〕
ユーザがログインすることによる操作画面の表示により、ユーザは指定バージョンにて指定するバージョンの機能にリンクしたアイコンを選択でき、自動起動においては、ユーザは指定バージョンにて指定するバージョンの機能を自動起動させることができる。
【０１５１】
しかしながら、アイコンで表示された機能のバージョンや自動起動した機能のバージョンが、必ずしもユーザが望むバージョンでなく、ユーザが変更したい場合がある。よって、ユーザが起動対象のバージョンを変更できることが好ましい。
【０１５２】
＜操作画面の生成＞
図２４は、ユーザ毎に変わりうる操作画面の一例を示す。図２４において図１６と同一部の説明は省略する。図２４の操作画面では、ユーザbbbbがログインした際の操作画面とユーザccccがログインした際の操作画面が図１６と異なっている。
【０１５３】
ユーザbbbbがログインした場合、「β機能アイコン」と「Ｖｅｒ1アイコン」に加え、「Ｖｅｒ切替アイコン」が「β機能アイコン」に関連付けて（重畳して）表示される。ユーザbbbbは「Ｖｅｒ１アイコン」を目視して、β機能のバージョンとしてＶｅｒ１では好ましくないと思った場合や他のバージョンを確認したいと思った場合、「Ｖｅｒ切換アイコン」を押下する。
【０１５４】
画面生成部１５はこの操作を受け付けると、機器構成情報２２を参照し、β機能の他のバージョンを１つ特定する。特定する順番は、例えばバージョンの昇順である。β機能の場合、Ｖｅｒ２のバージョンがあるので、画面生成部１５はＶｅｒ２を特定して、「Ｖｅｒ２アイコン」を生成し、「β機能アイコン」に関連付けて操作画面に配置する。図示するように、「β機能アイコン」「Ｖｅｒ２アイコン」「Ｖｅｒ切替アイコン」が表示される。画面生成部１５は、「Ｖｅｒ切換アイコン」の押下が検出される毎に、「Ｖｅｒ２アイコン」の数値を切り替えて表示する。
【０１５５】
ユーザccccがログインした際の操作画面についても同様である。ユーザccccは紐つきライセンスの機能を２つ（β機能とγ機能）を有するので、「β機能アイコン」と「γ機能アイコン」のそれぞれに関連付けて「Ｖｅｒ切替アイコン」が表示される。画面生成部１５は、「β機能アイコン」の「Ｖｅｒ切換アイコン」が押下される毎に、「Ｖｅｒ２アイコン」→「Ｖｅｒ１アイコン」→「Ｖｅｒ２アイコン」と変化させる。画面生成部１５は、「γ機能アイコン」の「Ｖｅｒ切換アイコン」が押下される毎に、「Ｖｅｒ３アイコン」→「Ｖｅｒ２アイコン」→「Ｖｅｒ３アイコン」と変化させる。
【０１５６】
ところで、「Ｖｅｒ切換アイコン」を押下した後、ユーザは機能を起動させる際「β機能アイコン」や「γ機能アイコン」を押下するが、その時のバージョンはユーザが意識的選択したバージョンなので、指定バージョンに反映させることが好ましい。そこで、指定バージョン変更部１４は、ユーザが機能を起動させた時のバージョンを、ユーザ情報２１の指定バージョンに設定する。こうすることで、次回、ユーザがログインした時、ユーザは「Ｖｅｒ切替アイコン」を操作する必要がなくなり操作性が向上する。
【０１５７】
図２５は、画面生成部１５が操作画面を生成する手順を示すフローチャート図の一例をそれぞれ示す。図２５において、図１７と異なるのは、ステップＳ２５０にて、画面生成部１５が、ユーザが指定する指定バージョンに対応したアイコン画像を画面の部品が記憶された部品記憶部２４から読み出した後の処理である。
【０１５８】
次に、画面生成部１５は、Ｖｅｒ切替アイコンのアイコン画像を画面の部品が記憶された部品記憶部２４から読み出す（Ｓ２５５）。
【０１５９】
この後、Ｓ２８０にて図２４のような操作画面が生成される。そして、指定バージョン変更部１４は、操作画面から、紐つきライセンスの機能が起動されたか否かを判定する（Ｓ３０２）。紐つきライセンスの機能が起動された場合（Ｓ３０２のＹｅｓ）、ユーザ情報２１の指定バージョンを変更する必要がある可能性があるので、指定バージョン変更部１４は、ユーザ情報２１の指定バージョンを起動された機能のバージョンで上書きする（Ｓ３０４）。具体的には、指定バージョン変更部１４は、画面生成部１５から「Ｖｅｒ"ｎ"アイコン（ｎは自然数）」を生成した際のバージョン"ｎ"を受け取り、起動部１６が起動した機能とそのバージョンを特定し、ユーザ情報２１の指定バージョンに該バージョンを上書きする。
【０１６０】
なお、同じバージョンで上書きされれば、指定バージョンは結果的に変更されない。また、ユーザ情報２１の指定バージョンが、「常に最新」「機器内で最新」「最後の起動バージョン」又は「ユーザの多いバージョン」のいずれかの場合、数値としてのバージョンで置き換えられる。ユーザ情報２１の指定バージョンが、「常に最新」「機器内で最新」「最後の起動バージョン」又は「ユーザの多いバージョン」のいずれかの場合は、紐つきライセンス情報の機能が起動されても指定バージョン変更部２４がユーザ情報２１の指定バージョンを置き換えないようにしてもよい。
【０１６１】
＜自動起動による指定バージョンに変更＞
図２６は、起動部１６が自動起動した後にオペレーションパネル１２５に表示される起動バージョン変更画面の一例を示す。
【０１６２】
ユーザbbbbがログインした場合、起動部１６はユーザbbbbが紐つきライセンスを有するβ機能を自動起動する。このため図２６の画面には、「起動済み機能とそのバージョン」として「β機能  Ｖｅｒ1」と表示されている。そして、画面にはユーザが自動起動したβ機能のバージョンを切り替えることができるように、「起動するバージョンを変更しますか？  変更可能バージョンは以下のとおりです。」と表示され、「β機能  Ｖｅｒ２」ボタンが表示される。したがって、ユーザは、β機能のバージョンとしてＶｅｒ1よりもＶｅｒ２が好ましいと思った場合、「β機能  Ｖｅｒ２」ボタンを押下する。
【０１６３】
機能停止部１７は、「β機能  Ｖｅｒ２」ボタンの押下を検出すると、Ｖｅｒ１のβ機能を停止させ、起動部１６がＶｅｒ２のβ機能を自動起動させる。また、指定バージョン変更部１４は、ユーザが選択したバージョンを、ユーザ情報２１の指定バージョンに設定する。こうすることで、次回、ユーザがログインした時、ユーザは別のバージョンを選択する必要がなくなり、待ち時間が短縮したり操作性を向上させることができる。
【０１６４】
図２７は、起動部１６が機能を自動的に実行し、機能停止部１７が自動的に機能を停止させる手順を説明するフローチャート図の一例である。図２７において図１９と異なるのは、ステップＳ３６０において、起動部１６は指定バージョンに対応した機能を起動させた後である。
【０１６５】
画面生成部１５は、紐つきライセンスの機能の他のバージョンへの切換ボタンを表示する（Ｓ３６２）。具体的には、画面生成部１５は、指定バージョンの設定に応じて決定したバージョン以外のバージョンを、機器構成情報２２から特定し、そのバージョンをユーザが選択可能な切換ボタンを表示する。ユーザが切換ボタンを押下しない場合（Ｓ３６４のＮｏ）、ユーザがログアウトしたか否が判定される（Ｓ３７０）。
【０１６６】
ユーザが切換ボタンを押下した場合（Ｓ３６４のＹｅｓ）、機能停止部１７は機能を停止させ（Ｓ３６６）、ついで、起動部１６がユーザが切換ボタンで選択したバージョンの機能を起動させる（Ｓ３６８）。具体的には起動部１６は、押下された切換ボタンに基づき機能とバージョンを特定し、その機能を起動させる。起動方法と起動停止は、上述したとおりである。  
ユーザが起動するバージョンを変更した場合、ユーザ情報２１の指定バージョンを変更する必要があるので、指定バージョン変更部１４は、ユーザ情報２１の指定バージョンを起動された機能のバージョンで上書きする（Ｓ３６９）。以降の処理は、図１９と同様なので説明を省略する。
【０１６７】
以上のような構成によれば、ユーザが指定バージョンで所望のバージョンを設定できるだけでなく、ユーザは起動対象のバージョンを柔軟に変更できる。また、変更した後は、ユーザ情報２１の指定バージョンを変更できる。
【０１６８】
〔機能の削除〕
機能の導入において、機能の導入に制限があることは説明していないが、同じ機能の複数のバージョンを導入するということは、インストールデータが増えリソース不足を招く可能性がある。ＨＤＤ１３の高容量化と価格低下が進んでも、容量が有限であることには変わりがない。そこで、画像形成装置１００に導入可能な機能に設けられる制限について説明する。なお、デフォルトと通常ライセンスの機能は削除の対象外である。
【０１６９】
画像形成装置１００は導入可能な上限数が設定されている。図２８（ａ）は、機器構成情報２２の一例を示す。上限数は各機能の合計として１０個と登録されている。この数は、例えば管理者が所定の画面から設定することができる。なお、「導入日時」「過去一年の利用頻度」については後述する。
【０１７０】
画像形成装置１００はこの上限数よりも多くの数の機能を導入することはできないが、ユーザが導入したい機能を導入できないという不都合が生じるので、すでに導入されている機能を削除する。削除する機能としては、導入対象の機能と同じ機能の複数のバージョンのいずれかを選択することが好適である。こうすることで、少なくとも各機能のバージョンは１つ以上導入された状態を維持できる。すでに導入された機能を削除するのが機能削除部１８である。
【０１７１】
機能削除部１８は以下のいずれかのロジックに従い削除する機能を決定する。
（ａ）同じ機能の複数のバージョンのうち、最も古く導入されたバージョン
（ｂ）同じ機能の複数のバージョンのうち、利用頻度が最も低いバージョン
（ｃ）同じ機能の複数のバージョンのうち、最後に起動された日が最も古いバージョン
管理者は、（ａ）〜（ｃ）の３つのロジックから、所望のロジックを選択することができる。図２９は、削除のロジックの選択画面の一例を示す。管理者は所定の認証操作を入力してオペレーションパネル１２５に選択画面を表示する。選択画面には上記（ａ）〜（ｃ）のそれぞれに対応づけて「はい」ボタンと「いいえ」ボタンが表示されている。機能削除部１８は、管理者の選択を受け付けて記憶する。
【０１７２】
図３０は、機能の削除の手順を説明するフローチャート図の一例である。この手順は、図１５の「機能の自動導入」の手順のステップＳ７０の直前に実行される。なお、機能を導入する際に実行されればよいので、機能導入時であれば自動導入か手動導入かに関係なく実行されることができる。
【０１７３】
まず、機能を導入する前、機能削除部１８は、導入されている機能の数が上限数に達しているか否かを判定する（Ｓ４１０）。機能削除部１８は、機器構成情報２２を参照して導入されている紐つきライセンスの機能の数をカウントする。
【０１７４】
上限数に達していない場合（Ｓ４１０のＮｏ）、機能を削除する必要がないので、図３０の手順は省略する。
【０１７５】
上限数に達している場合（Ｓ４１０のＹｅｓ）、機能を削除するため、機能削除部１８は設定されている削除のロジックを読み出す（Ｓ４２０）。
【０１７６】
削除のロジックに応じて、機能削除部１８は削除する機能とバージョンを決定する（Ｓ４３０）。削除のロジックとして（ａ）が選択された場合、機能削除部１８は機器構成情報２２の「導入日時」を参照し、導入日時が最も古い機能とそのバージョンを特定する。図２８の例ではβ機能とγ機能のいずれも複数のバージョンを有するので、β機能とγ機能の中から導入日時が最も古い機能とそのバージョンを特定する。図２８ではβ機能のＶｅｒ１が最も導入日時が古いので、機能削除部１８はβ機能のＶｅｒ１を削除対象に決定する。
【０１７７】
削除のロジックとして（ｂ）が選択された場合、機能削除部１８は機器構成情報２２の「過去1年の利用頻度」を参照し、利用頻度が最も低い機能とそのバージョンを特定する。図２８の例ではβ機能とγ機能のいずれも複数のバージョンを有するので、β機能とγ機能の中から利用頻度が最も古い機能とそのバージョンを特定する。図２８ではγ機能のＶｅｒ２が最も利用頻度が低いので、機能削除部１８はγ機能のＶｅｒ２を削除対象に決定する。
【０１７８】
削除のロジックとして（ｃ）が選択された場合、機能削除部１８は機器構成情報２２の「最後の起動時」を参照し、最後の起動時が最も古い機能とそのバージョンを特定する。図２８の例ではβ機能とγ機能のいずれも複数のバージョンを有するので、β機能とγ機能の中から最後の起動時が最も古い機能とそのバージョンを特定する。図２８ではβ機能のＶｅｒ１が最も導入日時が古いので、機能削除部１８はβ機能のＶｅｒ１を削除対象に決定する。
【０１７９】
そして、機能削除部１８は削除対象に決定した機能を削除する（Ｓ４４０）。これにより、画像形成装置１００のHDD１３に機能を導入する余裕を作成することができる。
【０１８０】
なお、図２８（ｂ）に示すように、機器構成情報２２の上限数は、機能毎に登録可能でもよい。この場合、機能削除部１８は、導入対象の機能と同じ、すでに導入された機能の複数のバージョンに対し、（ａ）から（ｃ）のロジックで削除するバージョンを決定する。
【０１８１】
〔機能の移転〕
図３０では機能削除について説明したが、削除した機能をネットワーク５００で接続された他の機器に移転してもよい。移転しておけば、移転先の画像形成装置１００ではユーザが導入することなくその機能を利用することができる。
【０１８２】
一方、ユーザとしては移転を望まない場合もある。このため、ユーザは削除した機能を移転するか否かを画像形成装置１００に設定することができる。
【０１８３】
図３１は、移転の有無の設定画面の一例を示す。この画面も例えば、例えば初期設定画面に表示される項目からユーザ情報２１の変更を選択することで表示される。図３１では「削除された機能について  移転しますか？」と表示され、「はい」ボタンと「いいえ」ボタンが表示されている。ユーザが「はい」ボタンを押下した場合、そのユーザの機能が削除されることで、機能削除部１８は機能の移転を開始する。
【０１８４】
図３２は、機能移転部１９が移転先の画像形成装置１００を決定する手順を示すフローチャート図の一例である。この手順は図３０のステップＳ４４０の直前に実行され、削除される機能は機能記憶部２３に残っているものとする。
【０１８５】
まず、機能移転部１９は、機能を移転する設定になっているか否かを判定する（Ｓ５１０）。機能を移転する設定になっていない場合（Ｓ５２０のＮｏ）、移転先を決定する必要がないので図３２の処理は終了する。
【０１８６】
ここで、機能の移転先の画像形成装置１００はユーザがよく利用する画像形成装置１００であることが好ましい。このため、機能削除部１８は、ネットワーク５００に複数の画像形成装置１００が接続されている場合、ユーザがよくログインする画像形成装置１００を特定する。画像形成装置１００はログインするユーザの履歴をログに記録するので、過去のある程度の期間のログ情報からユーザの利用頻度を把握できる。
【０１８７】
機能削除部１８は、ユーザ情報２１から、削除したバージョンの機能を指定バージョンとするユーザＩＤを全て読み出し、同報的に画像形成装置２００に送信する（５３０）。
【０１８８】
ユーザＩＤを受信した画像形成装置２００は、受信したユーザＩＤのユーザの過去の所定期間のログイン数を合計し（又は、ユーザＩＤ毎でもよい）、画像形成装置１００に送信する。
【０１８９】
機能移転部１９は各画像形成装置２００から、ユーザの過去の所定期間のログイン数の合計を取得する（Ｓ５４０）。
【０１９０】
画像形成装置１００の機能移転部１９は、合計数の最も大きい画像形成装置２００を移転先に決定する（Ｓ５５０）。
【０１９１】
そして、機能移転部１９は、削除対象の機能を移転先に決定した画像形成装置２００に送信する（Ｓ５６０）。こうすることで、ユーザがよく利用する画像形成装置２００に、機能を移転することができる。
【０１９２】
このように、画像形成装置１００は削除するだけでなく、ユーザの設定に応じて、機能を移転することもできる。
【０１９３】
以上説明したように、本実施形態の画像形成装置は、一台にバージョンが異なる機能を導入して、ユーザが好むバージョンの機能を提供することができる。特に、複数のユーザが同じ画像形成装置を共用する際に、ユーザはそれぞれ好むバージョンの機能を使用できる。
【符号の説明】
【０１９４】
１１            ユーザ認証部
１２            機能導入部
１３            ユーザ情報更新部
１４            指定バージョン変更部
１５            画面生成部
１６            起動部
１７            機能停止部
１８            機能削除部
１９            機能移転部
２１            ユーザ情報
２２            機器構成情報
１００、２００  画像形成装置
３００          販売サーバ
４００          ライセンスサーバ
５００          ネットワーク
６００          機器システム
【先行技術文献】
【特許文献】
【０１９５】
【特許文献１】特開２００８−０４７０５６号公報
【図１】
0005488287.tif 000002
【図２】
0005488287.tif 000003
【図３】
0005488287.tif 000004
【図４】
0005488287.tif 000005
【図５】
0005488287.tif 000006
【図６】
0005488287.tif 000007
【図７】
0005488287.tif 000008
【図８】
0005488287.tif 000009
【図９】
0005488287.tif 000010
【図１０】
0005488287.tif 000011
【図１１】
0005488287.tif 000012
【図１２】
0005488287.tif 000013
【図１３】
0005488287.tif 000014
【図１４】
0005488287.tif 000015
【図１５】
0005488287.tif 000016
【図１６】
0005488287.tif 000017
【図１７】
0005488287.tif 000018
【図１８】
0005488287.tif 000019
【図１９】
0005488287.tif 000020
【図２０】
0005488287.tif 000021
【図２１】
0005488287.tif 000022
【図２２】
0005488287.tif 000023
【図２３】
0005488287.tif 000024
【図２４】
0005488287.tif 000025
【図２５】
0005488287.tif 000026
【図２６】
0005488287.tif 000027
【図２７】
0005488287.tif 000028
【図２８】
0005488287.tif 000029
【図２９】
0005488287.tif 000030
【図３０】
0005488287.tif 000031
【図３１】
0005488287.tif 000032
【図３２】
0005488287.tif 000033