(57)【要約】【課題】効率的にジョブまたはワークフローの実行を実現可能なライセンス管理装置、ライセンス管理システム、ライセンス管理方法、ライセンス管理プログラムおよび記録媒体を提供する。【解決手段】ジョブまたはワークフローを実行するために必要な機能のライセンスの貸与要求に応じて、ライセンスの貸与順序の制御を行なう。【選択図】図１０
2007200236.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の装置で共有する動作機能ごとのライセンスのうち、使用しようとする動作機能のライセンスの貸与要求を受付けるための受付手段と、
前記貸与要求を受付けたライセンスの使用が可能であるか否かを判定する判定手段と、
前記判定手段による判定結果および前記貸与要求に含まれる貸与要求情報に基づいて、前記ライセンスの貸与順序の制御を行なう制御手段とを備えることを特徴とする、ライセンス管理装置。
【請求項２】
前記判定手段は、前記共有する動作機能ごとのライセンスの数と、前記共有する動作機能ごとのライセンスの予約状態とに基づいて、前記貸与要求を受付けたライセンスの使用が可能であるか否かを判定することを特徴とする、請求項１に記載のライセンス管理装置。
【請求項３】
前記制御手段は、前記判定手段により使用不可であると判定されたライセンスについて、所定の規則に従って、前記貸与要求を受付けたライセンスの使用許可期間を変更することによって、前記貸与要求を受付けたライセンスの貸与順序の制御を行なうことを特徴とする、請求項１に記載のライセンス管理装置。
【請求項４】
前記貸与要求情報は、前記使用しようとする動作機能の種類と、前記使用しようとする動作機能を使用する期間とを含むことを特徴とする、請求項１に記載のライセンス管理装置。
【請求項５】
前記判定手段により使用不可であると判定されたライセンスについて、使用予約を行なう予約手段をさらに備えることを特徴とする、請求項１に記載のライセンス管理装置。
【請求項６】
前記予約手段は、前記受付手段が１以上のジョブを含むワークフローを実行するために必要な動作機能のライセンスの貸与要求を受付けた際に、前記ワークフローの実行指令で指定された時刻に使用するライセンスに競合が発生して予約が行なえなかった場合、前記予約が行なえなかったライセンスの予約の時刻を、前記競合を発生させたライセンスの使用が終了した時刻の後の時刻に変更し、かつ、前記ワークフローに含まれるジョブに対応する競合が発生していないライセンスの予約の時刻を、前記ワークフローの実行指令で指定された前記ジョブの実行タイミングの相互関係に合致し、かつ、使用するライセンスの競合が発生しない時刻に変更することを特徴とする、請求項５に記載のライセンス管理装置。
【請求項７】
前記予約手段は、予約されているライセンスを使用するジョブが削除された場合において、前記予約されているライセンスの予約時刻を、使用するライセンスの競合が発生しない時刻で、かつ、前記予約されているライセンスの予約時刻よりも早い時刻に変更することを特徴とする、請求項５に記載のライセンス管理装置。
【請求項８】
前記ライセンスの貸与要求を行なった装置に対し、前記貸与要求を受付けたライセンスの使用許可期間を通知する通知手段をさらに備えることを特徴とする、請求項１に記載のライセンス管理装置。
【請求項９】
前記受付手段が複数のジョブを含むワークフローで使用される各動作機能の複数のライセンスについての貸与要求を受付けたとき、前記制御手段は、前記判定手段により前記複数のライセンスのうち少なくとも１つのライセンスについて使用不可であると判定されると、前記複数のライセンスのうち、使用不可と判定された前記少なくとも１つのライセンス以外のライセンスの貸与順序を変更することを特徴とする、請求項１に記載のライセンス管理装置。
【請求項１０】
ネットワークに接続された複数の装置で共有する動作機能ごとのライセンスを共有する環境下において、前記ライセンスを管理するライセンス管理装置と、クライアント装置とから構成されるライセンス管理システムであって、
前記クライアント装置は、
１以上のジョブを含むワークフローを登録するための登録手段と、
登録された前記ワークフローで使用される動作機能を解析するための解析手段と、
前記解析手段により解析された前記ワークフローを実行するために必要な動作機能のライセンスの貸与要求を送信する送信手段とを備え、
前記ライセンス管理装置は、
前記ライセンスの貸与要求を受付けるための受付手段と、
前記貸与要求を受付けたライセンスの使用が可能であるか否かを判定する判定手段と、
前記判定手段による判定結果および前記貸与要求に含まれる貸与要求情報に基づいて、前記ライセンスの貸与順序の制御を行なう制御手段とを備えることを特徴とする、ライセンス管理システム。
【請求項１１】
ネットワークに接続された複数の装置で共有する動作機能ごとのライセンスのうち、使用しようとする動作機能のライセンスの貸与要求を受付ける工程と、
前記貸与要求を受付けたライセンスの使用が可能であるか否かを判定する工程と、
前記判定する工程による判定結果および前記貸与要求に含まれる貸与要求情報に基づいて、前記ライセンスの貸与順序の制御を行なう工程とを含むことを特徴とする、ライセンス管理方法。
【請求項１２】
前記判定する工程は、前記共有する動作機能ごとのライセンスの数と、前記共有する動作機能ごとのライセンスの予約状態とに基づいて、前記貸与要求を受付けたライセンスの使用が可能であるか否かを判定することを特徴とする、請求項１１に記載のライセンス管理方法。
【請求項１３】
前記制御を行なう工程は、前記判定する工程により使用不可であると判定されたライセンスについて、所定の規則に従って、前記貸与要求を受付けたライセンスの使用許可期間を変更することによって、前記貸与要求を受付けたライセンスの貸与順序の制御を行なうことを特徴とする、請求項１１に記載のライセンス管理方法。
【請求項１４】
前記貸与要求情報は、前記使用しようとする動作機能の種類と、前記使用しようとする動作機能を使用する期間とを含むことを特徴とする、請求項１１に記載のライセンス管理方法。
【請求項１５】
前記判定する工程により使用不可であると判定されたライセンスについて、使用予約を行なう工程をさらに含むことを特徴とする、請求項１１に記載のライセンス管理方法。
【請求項１６】
前記使用予約を行なう工程は、前記受付ける工程が１以上のジョブを含むワークフローを実行するために必要な動作機能のライセンスの貸与要求を受付けた際に、前記ワークフローの実行指令で指定された時刻に使用するライセンスに競合が発生して予約が行なえなかった場合、前記予約が行なえなかったライセンスの予約の時刻を、前記競合を発生させたライセンスの使用が終了した時刻の後の時刻に変更し、かつ、前記ワークフローに含まれるジョブに対応する競合が発生していないライセンスの予約の時刻を、前記ワークフローの実行指令で指定された前記ジョブの実行タイミングの相互関係に合致し、かつ、使用するライセンスの競合が発生しない時刻に変更する工程を含むことを特徴とする、請求項１５に記載のライセンス管理方法。
【請求項１７】
前記使用予約を行なう工程は、予約されているライセンスを使用するジョブが削除された場合において、前記予約されているライセンスの予約時刻を、使用するライセンスの競合が発生しない時刻で、かつ、前記予約されているライセンスの予約時刻よりも早い時刻に変更する工程を含むことを特徴とする、請求項１５に記載のライセンス管理方法。
【請求項１８】
前記ライセンスの貸与要求を行なった装置に対し、前記貸与要求を受付けたライセンスの使用許可期間を通知する工程をさらに含むことを特徴とする、請求項１１に記載のライセンス管理方法。
【請求項１９】
前記貸与要求を受付ける工程が複数のジョブを含むワークフローで使用される各動作機能の複数のライセンスについての貸与要求を受付けたとき、前記制御を行なう工程は、前記判定する工程により前記複数のライセンスのうち少なくとも１つのライセンスについて使用不可であると判定されると、前記複数のライセンスのうち、使用不可と判定された前記少なくとも１つのライセンス以外のライセンスの貸与順序を変更することを特徴とする、請求項１１に記載のライセンス管理方法。
【請求項２０】
請求項１１〜請求項１９のいずれかに記載のライセンス管理方法を、ネットワークに接続された複数の装置で共有する動作機能ごとのライセンスを管理するライセンス管理装置に実行させることを特徴とする、ライセンス管理プログラム。
【請求項２１】
請求項２０に記載のライセンス管理プログラムを記録したことを特徴とする、記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス管理装置、ライセンス管理システム、ライセンス管理方法、ライセンス管理プログラムおよび記録媒体に関し、特に、複数の装置の動作機能ごとのライセンス情報を管理するライセンス管理装置、ライセンス管理システム、ライセンス管理方法、ライセンス管理プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
複数のＭＦＰ（Multi Function Peripherals）、複数の端末（たとえば、ＰＣ（Personal Computer）等）およびそれらを管理するサーバが、ネットワークで接続されるシステムにおいて、サーバはワークフローを管理する機能を有する。ワークフローは、複数のジョブから構成される。ジョブとは、たとえば、ＭＦＰおよびＰＣの機能を使用して実行されるものである。ワークフローが発行されると、そのワークフローを構成するジョブが、実行される。ジョブは、ＭＦＰおよびＰＣの各々の有する動作機能を使用する。
【０００３】
たとえば、特開２００３−１２２５３７号公報（特許文献１）（以下、従来技術Ａともいう）には、ＭＦＰおよびＰＣの各々の有する動作機能をライセンスとして供与できるようにし、各動作機能が円滑に使用できるように、ユーザの動作機能使用要求に対して、ライセンス許可／不許可の決定を行なうといった、ライセンス数を管理する技術が開示されている。
【０００４】
また、特開２００３−３２３２２４号公報（特許文献２）に開示されているように、ライセンス管理の技術には、ＰＣ上で動作するソフトウエアのライセンスをネットワークに接続されているＰＣの間で共有しつつ、流動的に管理するフローティングライセンスの技術がある。
【特許文献１】特開２００３−１２２５３７号公報
【特許文献２】特開２００３−３２３２２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術Ａ等のライセンス管理技術では、ユーザがある動作機能（以下、機能Ａともいう）の使用を望む時に、対応するライセンスの使用順序をジョブまたはワークフローの発行順序に従っていたのでは、必要なライセンスが必要なときに空いているとは限らず、ジョブやワークフローの実行が止まってしまう、あるいは長時間待たされる場合も考えられ、ライセンスを有効に活用した効率的な動作が行なえないという問題があった。
【０００６】
また、ライセンスの予約を行なうにしても、予約時間が固定されてしまうと、ジョブの削除などでライセンスに空きができたとしても、ジョブやワークフローの実行時間が固定のままとなり、ライセンスに空きがあるのにジョブやワークフローが実行されないという状況も発生する。
【０００７】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、効率的にジョブまたはワークフローを実行するために、ライセンス貸与順序を制御するライセンス管理装置を提供することである。
【０００８】
本発明の他の目的は、効率的にジョブまたはワークフローを実行するために、ライセンス貸与順序を制御するライセンス管理システムを提供することである。
【０００９】
本発明のさらに他の目的は、効率的にジョブまたはワークフローを実行するために、ライセンス貸与順序を制御するライセンス管理方法を提供することである。
【００１０】
本発明のさらに他の目的は、効率的にジョブまたはワークフローを実行するために、ライセンス貸与順序を制御するライセンス管理プログラムを提供することである。
【００１１】
本発明のさらに他の目的は、効率的にジョブまたはワークフローを実行するために、ライセンス貸与順序を制御するライセンス管理プログラムを記録した記録媒体を提供することである。
【課題を解決するための手段】
【００１２】
上述の課題を解決するために、この発明のある局面に従うライセンス管理装置は、ネットワークに接続された複数の装置で共有する動作機能ごとのライセンスのうち、使用しようとする動作機能のライセンスの貸与要求を受付けるための受付手段と、貸与要求を受付けたライセンスの使用が可能であるか否かを判定する判定手段と、判定手段による判定結果および貸与要求に含まれる貸与要求情報に基づいて、ライセンスの貸与順序の制御を行なう制御手段とを備えることを特徴とする。
【００１３】
好ましくは、判定手段は、共有する動作機能ごとのライセンスの数と、共有する動作機能ごとのライセンスの予約状態とに基づいて、貸与要求を受付けたライセンスの使用が可能であるか否かを判定することを特徴とする。
【００１４】
好ましくは、制御手段は、判定手段により使用不可であると判定されたライセンスについて、所定の規則に従って、貸与要求を受付けたライセンスの使用許可期間を変更することによって、貸与要求を受付けたライセンスの貸与順序の制御を行なうことを特徴とする。
【００１５】
好ましくは、貸与要求情報は、使用しようとする動作機能の種類と、使用しようとする動作機能を使用する期間とを含むことを特徴とする。
【００１６】
好ましくは、判定手段により使用不可であると判定されたライセンスについて、使用予約を行なう予約手段をさらに備えることを特徴とする。
【００１７】
好ましくは、予約手段は、受付手段が１以上のジョブを含むワークフローを実行するために必要な動作機能のライセンスの貸与要求を受付けた際に、ワークフローの実行指令で指定された時刻に使用するライセンスに競合が発生して予約が行なえなかった場合、予約が行なえなかったライセンスの予約の時刻を、競合を発生させたライセンスの使用が終了した時刻の後の時刻に変更し、かつ、ワークフローに含まれるジョブに対応する競合が発生していないライセンスの予約の時刻を、ワークフローの実行指令で指定されたジョブの実行タイミングの相互関係に合致し、かつ、使用するライセンスの競合が発生しない時刻に変更することを特徴とする。
【００１８】
好ましくは、予約手段は、予約されているライセンスを使用するジョブが削除された場合において、予約されているライセンスの予約時刻を、使用するライセンスの競合が発生しない時刻で、かつ、予約されているライセンスの予約時刻よりも早い時刻に変更することを特徴とする。
【００１９】
好ましくは、ライセンスの貸与要求を行なった装置に対し、貸与要求を受付けたライセンスの使用許可期間を通知する通知手段をさらに備えることを特徴とする。
【００２０】
好ましくは、受付手段が複数のジョブを含むワークフローで使用される各動作機能の複数のライセンスについての貸与要求を受付けたとき、制御手段は、判定手段により複数のライセンスのうち少なくとも１つのライセンスについて使用不可であると判定されると、複数のライセンスのうち、使用不可と判定された少なくとも１つのライセンス以外のライセンスの貸与順序を変更することを特徴とする。
【００２１】
この発明の他の局面に従うと、ネットワークに接続された複数の装置で共有する動作機能ごとのライセンスを共有する環境下において、ライセンスを管理するライセンス管理装置と、クライアント装置とから構成されるライセンス管理システムであって、クライアント装置は、１以上のジョブを含むワークフローを登録するための登録手段と、登録されたワークフローで使用される動作機能を解析するための解析手段と、解析手段により解析されたワークフローを実行するために必要な動作機能のライセンスの貸与要求を送信する送信手段とを備え、ライセンス管理装置は、ライセンスの貸与要求を受付けるための受付手段と、貸与要求に基づいたライセンス使用管理情報を記憶するライセンス使用管理情報記憶手段と、共有する動作機能ごとのライセンス数に基づいたライセンス数管理情報を記憶するライセンス数記憶手段と、ライセンス使用管理情報およびライセンス数管理情報に基づいて、貸与要求を受付けたライセンスの使用が可能であるか否かを判定する判定手段と、判定手段による判定結果および貸与要求に含まれる貸与要求情報に基づいて、ライセンスの貸与順序の制御を行なう制御手段とを備えることを特徴とする。
【００２２】
この発明のさらに他の局面に従うライセンス管理方法は、ネットワークに接続された複数の装置で共有する動作機能ごとのライセンスのうち、使用しようとする動作機能のライセンスの貸与要求を受付ける工程と、貸与要求を受付けたライセンスの使用が可能であるか否かを判定する工程と、判定する工程による判定結果および貸与要求に含まれる貸与要求情報に基づいて、ライセンスの貸与順序の制御を行なう工程とを含むことを特徴とする。
【００２３】
好ましくは、判定する工程は、共有する動作機能ごとのライセンスの数と、共有する動作機能ごとのライセンスの使用状態とに基づいて、貸与要求を受付けたライセンスの使用が可能であるか否かを判定することを特徴とする。
【００２４】
好ましくは、制御を行なう工程は、判定する工程により使用不可であると判定されたライセンスについて、所定の規則に従って、貸与要求を受付けたライセンスの使用許可期間を変更することによって、貸与要求を受付けたライセンスの貸与順序の制御を行なうことを特徴とする。
【００２５】
好ましくは、貸与要求情報は、使用しようとする動作機能の種類と、使用しようとする動作機能を使用する期間とを含むことを特徴とする。
【００２６】
好ましくは、判定する工程により使用不可であると判定されたライセンスについて、使用予約を行なう工程をさらに含むことを特徴とする。
【００２７】
好ましくは、使用予約を行なう工程は、受付ける工程が１以上のジョブを含むワークフローを実行するために必要な動作機能のライセンスの貸与要求を受付けた際に、ワークフローの実行指令で指定された時刻に使用するライセンスに競合が発生して予約が行なえなかった場合、予約が行なえなかったライセンスの予約の時刻を、競合を発生させたライセンスの使用が終了した時刻の後の時刻に変更し、かつ、ワークフローに含まれるジョブに対応する競合が発生していないライセンスの予約の時刻を、ワークフローの実行指令で指定されたジョブの実行タイミングの相互関係に合致し、かつ、使用するライセンスの競合が発生しない時刻に変更する工程を含むことを特徴とする。
【００２８】
好ましくは、使用予約を行なう工程は、予約されているライセンスを使用するジョブが削除された場合において、予約されているライセンスの予約時刻を、使用するライセンスの競合が発生しない時刻で、かつ、予約されているライセンスの予約時刻よりも早い時刻に変更する工程を含むことを特徴とする。
【００２９】
好ましくは、ライセンスの貸与要求を行なった装置に対し、貸与要求を受付けたライセンスの使用許可期間を通知する工程をさらに含むことを特徴とする。
【００３０】
好ましくは、貸与要求を受付ける工程が複数のジョブを含むワークフローで使用される各動作機能の複数のライセンスについての貸与要求を受付けたとき、制御を行なう工程は、判定する工程により複数のライセンスのうち少なくとも１つのライセンスについて使用不可であると判定されると、複数のライセンスのうち、使用不可と判定された少なくとも１つのライセンス以外のライセンスの貸与順序を変更することを特徴とする。
【００３１】
この発明のさらに他の局面に従うライセンス管理プログラムは、ライセンス管理方法を、ネットワークに接続された複数の装置で共有する動作機能ごとのライセンスを管理するライセンス管理装置に実行させることを特徴とする。
【００３２】
この発明のさらに他の局面に従うと、記録媒体は、ライセンス管理プログラムを記録した媒体である。
【発明の効果】
【００３３】
本発明に係るライセンス管理装置は、ジョブまたはワークフローを実行するために必要な機能のライセンスの貸与要求に応じて、ライセンスの貸与順序の制御を行なう。
【００３４】
したがって、効率的にジョブまたはワークフローの実行を実現することができるという効果を奏する。
【００３５】
本発明に係るライセンス管理システムは、ライセンス管理装置と、クライアント装置とから構成される。クライアント装置は、１以上のジョブを含むワークフローを登録し、解析されたワークフローを実行するために必要な機能のライセンスの貸与要求を送信する。ライセンス管理装置は、貸与要求を受付け、貸与要求に対応するライセンスの貸与順序の制御を行なう。
【００３６】
したがって、効率的にジョブまたはワークフローの実行を実現することができるという効果を奏する。
【００３７】
本発明に係るライセンス管理方法は、ジョブまたはワークフローを実行するために必要な機能のライセンスの貸与要求に応じて、ライセンスの貸与順序の制御を行なう。
【００３８】
したがって、効率的にジョブまたはワークフローの実行を実現することができるという効果を奏する。
【００３９】
本発明に係るライセンス管理プログラムは、ジョブまたはワークフローを実行するために必要な機能のライセンスの貸与要求に応じて、ライセンスの貸与順序の制御を行なう処理を、ライセンス管理装置に実行させる。
【００４０】
したがって、効率的にジョブまたはワークフローの実行を実現することができるという効果を奏する。
【００４１】
本発明に係る記録媒体は、ライセンス管理プログラムを記録する。ライセンス管理プログラムは、ジョブまたはワークフローを実行するために必要な機能のライセンスの貸与要求に応じて、ライセンスの貸与順序の制御を行なう処理を、ライセンス管理装置に実行させる。
【００４２】
したがって、効率的にジョブまたはワークフローの実行を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００４３】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００４４】
図１は、本実施の形態におけるライセンス管理システム１０００の構成を示すブロック図である。図１を参照して、ライセンス管理システム１０００は、ＭＦＰ１００Ａ，１００Ｂ，１００Ｃと、ＰＣ２００と、ネットワーク２１０とを備える。
【００４５】
ネットワーク２１０は、たとえば、ＬＡＮである。
ＭＦＰ１００Ａ，１００Ｂ，１００Ｃの各々は、ネットワーク２１０に接続されている。以下においては、ＭＦＰ１００Ａ，１００Ｂ，１００Ｃを総括的に、ＭＦＰ１００とも称する。ＭＦＰ１００は、ＦＡＸ、コピー、プリンタ、スキャナ等の複数の機能を有する。すなわち、ＭＦＰ１００は、画像形成装置として動作するものである。ＰＣ２００は、ネットワーク２１０に接続されている。
【００４６】
図２は、ＭＦＰ１００の内部構成を示すブロック図である。なお、図２には、説明のために、記録媒体１５５も示している。記録媒体１５５には、後述するライセンス管理プログラム１５５Ａが記録されている。ライセンス管理プログラム１５５Ａは、媒体等に記録されてプログラム製品として流通されるものである。
【００４７】
図２を参照して、ＭＦＰ１００は、データバス１０５と、制御部１１０と、データ一時記憶部１２０と、ＲＯＭ（Read Only Memory）１３０と、記憶部１４０と、記録媒体アクセス部１５０とを含む。
【００４８】
制御部１１０、データ一時記憶部１２０、ＲＯＭ１３０、記憶部１４０、記録媒体およびアクセス部１５０は、データバス１０５に接続されている。
【００４９】
ＲＯＭ１３０には、制御部１１０に後述する処理を行なわせるためのライセンス管理プログラム１５５Ａ、その他各種プログラムおよびデータ等が記憶されている。
【００５０】
データ一時記憶部１２０は、制御部１１０によってデータアクセスされ、一時的にデータを記憶するワークメモリとして使用される。データ一時記憶部１２０は、データを一時的に記憶可能なＲＡＭ（Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＤＲＡＭ（Synchronous DRAM）、ダブルデータレートモードという高速なデータ転送機能を持ったＳＤＲＡＭであるＤＤＲ−ＳＤＲＡＭ（Double Data Rate SDRAM）、Rambus社が開発した高速インターフェース技術を採用したＤＲＡＭであるＲＤＲＡＭ（Rambus Dynamic Random Access Memory）、Ｄｉｒｅｃｔ−ＲＤＲＡＭ（Direct Rambus Dynamic Random Access Memory）、その他、データを揮発的に記憶保持可能な構成を有する回路のいずれであってもよい。
【００５１】
記憶部１４０は、大容量のデータを記憶可能なハードディスクである。なお、記憶部１４０は、ハードディスクに限定されることなく、たとえば、電源を供給されなくても不揮発的にデータを記憶保持可能な構成を有する回路（たとえば、フラッシュメモリ）であればよい。
【００５２】
制御部１１０は、ＲＯＭ１３０または記憶部１４０に記憶されたライセンス管理プログラム１５５Ａに従って、ＭＦＰ１００の内部の各機器に対する各種処理や、演算処理等を行なう機能を有する。制御部１１０は、マイクロプロセッサ（Microprocessor）、プログラミングすることができるＬＳＩ（Large Scale Integration）であるＦＰＧＡ（Field Programmable Gate Array）、特定の用途のために設計、製造される集積回路であるＡＳＩＣ（Application Specific Integrated Circuit）、その他の演算機能を有する回路のいずれであってもよい。
【００５３】
記録媒体アクセス部１５０は、ライセンス管理プログラム１５５Ａが記録された記録媒体１５５から、ライセンス管理プログラム１５５Ａを読出す機能を有する。記録媒体１５５に記憶されているライセンス管理プログラム１５５Ａは、制御部１１０の動作（インストール処理）により、記録媒体アクセス部１５０から読み出され、記憶部１４０に記憶される。
【００５４】
このインストール処理用プログラムは、予め、記憶部１４０に格納されており、インストール処理は、制御部１１０が、インストール処理用プログラムに基づいて行なう。
【００５５】
なお、ＲＯＭ１３０にライセンス管理プログラム１５５Ａが記憶されてなく、記憶部１４０に、ライセンス管理プログラム１５５Ａがインストールされていなくてもよい。この場合、制御部１１０は、記録媒体アクセス部１５０を介して、記録媒体１５５に記憶されたライセンス管理プログラム１５５Ａを読み出し、ライセンス管理プログラム１５５Ａに基づいた所定の処理を行なう。
【００５６】
記録媒体１５５は、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＭＯ（Magneto Optical Disk）、フロッピー（登録商標）ディスク、ＣＦ(Compact Flash) カード、ＳＭ（Smart Media（登録商標））、ＭＭＣ（Multi Media Card）、ＳＤ（Secure Digital）メモリーカード、メモリースティック（登録商標）、ｘＤピクチャーカードおよびＵＳＢメモリ、磁気テープ、その他不揮発性メモリのいずれであってもよい。
【００５７】
ＭＦＰ１００は、さらに、操作パネル部１６０を含む。操作パネル部１６０は、データバス１０５に接続されている。
【００５８】
操作パネル部１６０は、表示部１６２と、入力部１６４とを有する。
表示部１６２は、ユーザに各種情報を、文字や画像等で表示する機能を有する。表示部１６２は、ユーザが、画面に直接触れることで、情報入力可能なタッチパネル機能を有するものである。表示部１６２は、液晶ディスプレイ（ＬＣＤ（Liquid Crystal Display））、ＦＥＤ（Field Emission Display）、有機ＥＬディスプレイ（Organic Electro luminescence Display）、ドットマトリクス等その他の画像表示方式の表示機器のいずれであってもよい。
【００５９】
表示部１６２に、表示される画像には、ボタン画像が配置される場合もある。ボタン画像を、ユーザが押下操作することにより、押下操作されたボタン画像の情報（以下、押下操作ボタン情報ともいう）は、制御部１１０へ送信される。
【００６０】
入力部１６４は、ユーザがＭＦＰ１００を操作するためのインターフェースである。入力部１６４には、たとえば、複数のボタンが設けられている。複数のボタンの中には、ＭＦＰ１００の電源をオンまたはオフするための電源ボタンが含まれる。ＭＦＰ１００の電源がオンのときに、ユーザが電源ボタンを押下すると、操作パネル部１６０は、電源をオフするための電源オフ指示を、制御部１１０へ送信する。
【００６１】
ＭＦＰ１００は、さらに、スキャナ部１７０と、印刷部１８０と、通信部１９０と、ＮＣＵ部１９２とを含む。スキャナ部１７０、印刷部１８０、通信部１９０およびＮＣＵ部１９２は、データバス１０５に接続されている。
【００６２】
スキャナ部１７０は、紙等の媒体から、画像を読取る機能を有する。
印刷部１８０は、紙等の媒体に、指示された画像または文字を印字してプリントアウトする機能を有する。
【００６３】
通信部１９０は、ネットワーク２１０とデータの授受を行なう。通信部１９０は、イーサネット（登録商標）を利用した通信用インターフェースである。また、通信部１９０は、ＵＳＢ（Universal Serial Bus）１．１、ＵＳＢ２．０、その他シリアル転送を行なう通信用インターフェースのいずれであってもよい。また、通信部１９０は、無線ＬＡＮの規格であるＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、その他無線技術を利用してデータ通信を行なう通信用インターフェースのいずれであってもよい。
【００６４】
ＮＣＵ部１９２は、公衆電話交換網（ＰＳＴＮ）を利用して、ＦＡＸの送受信を行なう機能を有する。
【００６５】
再び、図１を参照して、本実施の形態におけるライセンス管理システム１０００では、１台のサーバ機能を有する装置と、複数のクライアント装置とから構成されるものとする。
【００６６】
サーバ機能を有する装置は、ネットワーク２１０に接続されている複数の機器の情報を管理する。サーバ機能を有する装置が、たとえば、ライセンス情報を管理する場合には、サーバ機能を有する装置がライセンス管理装置となる。サーバ機能を有する装置は、たとえば、ＭＦＰ１００Ａであるとする。クライアント装置は、たとえば、ＭＦＰ１００Ｂ，１００ＣおよびＰＣ２００であるとする。
【００６７】
サーバ機能を有する装置の記憶部１４０には、サーバ機能を有する装置およびクライアント装置が有する、ＦＡＸ、コピー、プリンタおよびスキャナの機能毎、ファイル送信機能、画像処理機能、ファイルフォーマット変換機能およびＯＣＲ機能毎にライセンス数を管理するライセンス数管理テーブルが記憶されている。ファイル送信機能は、データを送信する機能である。画像処理機能は、画像の編集処理、加工処理および変換処理等を行なう機能である。ファイルフォーマット変換機能は、ファイルのフォーマットを変換する機能である。ＯＣＲ機能は、文字等を認識する機能である。
【００６８】
なお、以下において、ライセンスは、ネットワークに接続されたＰＣまたはＭＦＰにインストールされたソフトを使用する権利、および、ＦＡＸ、コピー、プリンタ、スキャナ等の機能、ファイル送信機能、画像処理機能、ファイルフォーマット変換機能およびＯＣＲ機能を使用するための権利であるとする。
【００６９】
図３は、一例としての、ライセンス数管理テーブルＴ２００を示す図である。図３において、ライセンス数管理テーブルＴ２００の「機能名」は、機能の名称である。ライセンス数管理テーブルＴ２００の「ライセンス数」とは、対応する行の機能のライセンスの合計数を示す。ここで、ライセンスの合計数は、ネットワーク２１０に接続されている複数の機器で共有して使用可能なライセンスの数である。なお、スキャン機能、プリント機能は、ＭＦＰの基本機能である。
【００７０】
次に、本実施の形態におけるクライアント装置およびライセンス管理装置の処理について説明する。以下においては、本実施の形態におけるクライアント装置の処理をクライアント装置処理Ａともいう。また、以下においては、本実施の形態におけるライセンス管理装置の処理を管理装置処理Ａともいう。
【００７１】
図４は、クライアント装置処理Ａのフローチャートである。ここでは、複数のジョブから構成されるワークフローについて説明を行なう。しかしながら、本実施の形態は、ワークフローに限定されることなく、１つのジョブについても以下に説明するのと同様に処理が行なわれる。図４において、ステップＳ１１０では、ワークフロー登録処理が行なわれる。ワークフロー登録処理では、制御部１１０が、ユーザによる入力部１６４または表示部１６２の押下操作に基づくワークフローを、データ一時記憶部１２０に記憶（登録）させる。その後、ステップＳ１２０に進む。
【００７２】
ステップＳ１２０では、ワークフロー解析処理が行なわれる。ワークフロー解析処理は、ステップＳ１１０で登録されたワークフロー（以下、ワークフローＡともいう）に基づいて、ライセンス管理装置に必要なライセンスの貸与を要求するためのライセンス貸与要求情報を作成する処理である。
【００７３】
図５は、ライセンス貸与要求情報Ｄ１００の一例を示す図である。図５において、ライセンス貸与要求情報Ｄ１００の「使用開始時刻」とは、対応するワークフローを開始する時刻を示す。「使用期間」とは、対応する機能が使用される期間を示す。数字の単位は、分である。
【００７４】
図６は、図４のステップＳ１２０に対応するワークフロー解析処理のフローチャートである。図６において、ステップＳ１２１では、定型部設定処理が行なわれる。定型部設定処理では、制御部１１０が、データ一時記憶部１２０に記憶させたデータに基づいて、前述の図５のライセンス貸与要求情報Ｄ１００における、「データ種類」「ユーザ名」、「ワークフロー番号」、「使用開始時刻」を設定する。定型部設定処理では、予め定められた項目について内容を設定する。その後、ステップＳ１２３に進む。
【００７５】
ステップＳ１２３では、ワークフロー機能登録処理が行なわれる。ワークフロー機能登録処理では、制御部１１０が、データ一時記憶部１２０に記憶させたユーザ入力によるワークフローのデータに基づいて、ワークフローの実行順に機能を登録していく。具体的には、制御部１１０が、ライセンス貸与要求情報に、使用する機能と、その機能の使用期間を登録する。すなわち、ワークフロー機能登録処理では、制御部１１０が、ワークフローに含まれる全ての処理で用いられる機能を順に登録してゆく。なお、ワークフロー毎に登録される機能の数は異なる。その後、ステップＳ１２５に進む。
【００７６】
ステップＳ１２５では、制御部１１０が、ワークフローで実行する全ての機能の登録が終了したか否かを判断する。ステップＳ１２５において、ＹＥＳならば、このワークフロー解析処理は終了して、図４のクライアント装置処理Ａに戻り、ステップＳ１２０の次のステップＳ１３０に進む。すなわち、ワークフローで実行される全ての機能がライセンス貸与要求情報に登録されると、ワークフロー解析処理によるライセンス貸与要求情報の生成が終了する。以下においては、ライセンス貸与要求情報を、貸与要求の属性が含まれる貸与要求情報ともいう。
【００７７】
一方、ステップＳ１２５において、ＮＯならば、再度、ステップＳ１２３の処理が行なわれる。ステップＳ１２５において、ＮＯと判定される場合は、ライセンス貸与要求情報に未登録の機能がある場合である。
【００７８】
再び、図４を参照して、ステップＳ１２０の処理が終了すると、ステップＳ１３０に進む。
【００７９】
ステップＳ１３０では、ライセンス取得処理が行なわれる。
図７は、ライセンス取得処理のフローチャートである。図７において、ステップＳ１３１では、制御部１１０が、ステップＳ１２０で生成したライセンス貸与要求情報を、ライセンス管理装置へ送信する。
【００８０】
ライセンス管理装置では、以下の処理（以下，管理装置処理Ａともいう）が行なわれる。
【００８１】
図８は、管理装置処理Ａのフローチャートである。図８において、ステップＳ２１０では、制御部１１０が、ライセンス貸与要求情報を受信したか否かを判定する。ステップＳ２１０において、ＹＥＳならば、ステップＳ２２０に進む。一方、ステップＳ２１０において、ＮＯならば、後述するステップＳ２１２に進む。ライセンス管理装置は、ライセンス貸与要求情報を受信したとして、ステップＳ２２０に進む。
【００８２】
ステップＳ２２０では、ライセンス使用管理テーブル更新処理Ａが行なわれる。
図９は、一例としてのライセンス使用管理テーブルＴ３００を示す図である。ライセンス使用管理テーブルは、複数のライセンス貸与要求情報に基づいた複数のライセンスの予約データから構成されるテーブルである。ライセンス使用管理テーブルＴ３００は、ライセンス管理装置のデータ一時記憶部１２０に記憶される。
【００８３】
図９において、「番号」とは、ライセンス予約データの管理番号である。「状態」の列において、「予約」となっているライセンス予約データは、対応するライセンスを使用するための予約が行なわれている状態を示す。「状態」の列において、「貸与」となっているライセンス予約データは、現在の時刻が、「予約」となっていたライセンス予約データに対応するライセンスの使用開始時刻になり、対応するライセンスが貸与中であることを示す。
【００８４】
「優先順位」とは、「予約」となっている複数のライセンス予約データのうち、ライセンスの貸与を行なう優先順位を示す。優先順位の値が小さいライセンス予約データ程、対応するライセンスが、早く使用可能となる。
【００８５】
登録情報のうちの「登録元」の列の数字は、ライセンス予約データを登録した機器のＩＰアドレスを示す。「ユーザ」、「ワークフロー番号」は、ライセンス貸与要求情報に含まれていたデータである。「登録日時」とは、ライセンス予約データが登録された日時を示す。「開始」とは、対応するライセンスが使用開始される時刻を示す。「期間」とは、対応するライセンスが使用される期間を示す。数字の単位は、分である。ライセンス使用管理テーブルＴ３００内の「開始」に対応する列の情報および「期間」の列に対応する情報は、ライセンス貸与要求情報Ｄ１００に基づいて、更新される。
【００８６】
たとえば、管理番号“１０６”のライセンス予約データは、スキャン機能のライセンスを、１４時３０分から５分間使用することを示すデータである。また、スキャン機能のライセンスは、現在、予約中であることが示される。
【００８７】
図１０は、ライセンス使用管理テーブル更新処理Ａのフローチャートである。図１０において、ステップＳ２２１では、制御部１１０が、受信したデータの種類が、貸与要求であるか否かを判定する。ステップＳ２２１において、ＹＥＳならば、ステップＳ２２２に進む。一方、ステップＳ２２１において、ＮＯならば、後述するステップＳ２２１Ａに進む。
【００８８】
ステップＳ２２２では、制御部１１０が、現在の時刻が、受信したデータの「使用開始時刻」以降であるか否かを判定する。ステップＳ２２２において、ＹＥＳならば、ステップＳ２２３に進む。一方、ステップＳ２２２において、ＮＯならば、ステップＳ２２５に進む。たとえば、現在の時刻が１４時２５分で、「使用開始時刻」が、１４時２４分または１４時２５分であるとする。この場合、ステップＳ２２３に進む。
【００８９】
ステップＳ２２３では、ライセンス使用管理テーブルおよびライセンス数管理テーブルの参照が行なわれる。ライセンス使用管理テーブルは、記憶部１４０に記憶されている。具体的には、制御部１１０が、ライセンス使用管理テーブルと、ライセンス数管理テーブルとを参照する。
【００９０】
ステップＳ２２３の処理の後、ステップＳ２２４に進む。
ステップＳ２２４では、制御部１１０が、ライセンス貸与要求情報で貸与要求する全てのライセンスが使用可能であるか否かを判定する。当該判定は、以下のように行なわれる。
【００９１】
たとえば、ステップＳ２２４の処理が行われる時刻が、１４時２５分であるとする。また、貸与要求する機能のライセンスは、「スキャン」機能のライセンスであるとする。以下においては、貸与要求する機能のライセンスを貸与要求ライセンスともいう。また、貸与要求ライセンスの使用開始時刻は１４時２５分で、使用期間は７分であるとする。すなわち、１４時２５分から１４時３２分まで「スキャン」機能のライセンスの貸与要求を行なうとする。
【００９２】
この場合、ライセンス使用管理テーブルＴ３００の管理番号“１０３”、“１０６”および“１０８”のライセンス予約データに示される情報により、「スキャン」機能のライセンスは、現在、１個が貸与中であり、２個が予約中であり、かつ、ライセンスの使用開始時刻が１４時３０分である。そのため、上記の貸与要求ライセンスは、使用時間が重複して使用できないと、制御部１１０により判定される。
【００９３】
使用時間が重複すると判定された場合、制御部１１０は、ステップＳ２２３において参照したライセンス数管理テーブルにより、使用可能な貸与要求ライセンスがあるか否かを判定する。ｎ個の貸与要求ライセンスの使用時間が重複して使用できないと判定されていても、当該重複する使用期間において、貸与要求ライセンスがｎ個以上あれば、制御部１１０は、貸与要求ライセンスを使用可能と判定する。なお、制御部１１０が、貸与要求ライセンスを使用可能でないと判定する場合は、ｎ個の貸与要求ライセンスの使用時間が重複し、当該重複する使用期間において、重複する貸与要求ライセンスの数がｎ個未満の場合である。
【００９４】
なお、前述の判定において、貸与要求ライセンスの使用時間が重複していない場合、制御部１１０は、ステップＳ２２３において参照したライセンス数管理テーブルにより、貸与要求ライセンスがあるか否かで、貸与要求ライセンスが使用可能か否かを判定する。
【００９５】
以上の処理を、制御部１１０は、ライセンス貸与要求情報で貸与要求する全てのライセンスに対して行なうことで、全ての貸与要求ライセンスが使用可能であるか否かを判定する。
【００９６】
ステップＳ２２４において、ＹＥＳならば、ステップＳ２２４Ａに進む。一方、ステップＳ２２４において、ＮＯならば、ステップＳ２２７に進む。制御部１１０は、全てのライセンスが使用可能であると判定したとする。この場合、ステップＳ２２４Ａに進む。
【００９７】
ステップＳ２２４Ａでは、ライセンス使用管理テーブル更新処理が行なわれる。ライセンス使用管理テーブル更新処理では、制御部１１０が、ライセンス使用管理テーブルＴ３００に、全ての貸与要求ライセンスの各々に対応するライセンス予約データを追加することで、ライセンス使用管理テーブルＴ３００の更新処理を行なう。なお、この場合、追加されるライセンス予約データの「状態」は、「貸与」となる。その後、このライセンス使用管理テーブル更新処理Ａは終了し、図８の管理装置処理Ａに戻り、ステップＳ２２０の次の、ステップＳ２３０に進む。
【００９８】
ステップＳ２３０では、ライセンス数管理テーブル更新処理が行なわれる。ライセンス数管理テーブル更新処理では、記憶部１４０に記憶されているライセンス数管理テーブルのライセンス数を、ライセンス貸与要求情報で貸与要求する全てのライセンスに基づいて変更する。たとえば、ライセンス数管理テーブルが、ライセンス数管理テーブルＴ２００であり、ライセンス貸与要求情報が、ライセンス貸与要求情報Ｄ１００であるとする。
【００９９】
この場合、ライセンス貸与要求情報Ｄ１００では、スキャン機能、送信機能、画像処理機能のライセンスを１つづつ使用するように設定されている。そのため、制御部１１０は、ライセンス数管理テーブルＴ２００の対応するライセンス数を減算することにより、ライセンス数管理テーブルＴ２００を、ライセンス数管理テーブルＴ２００Ａに更新する。
【０１００】
再び、図３を参照して、図３（Ｂ）は、ライセンス数管理テーブルＴ２００Ａを示す図である。
【０１０１】
再び、図８を参照して、ステップＳ２３０の処理の後、ステップＳ２３２に進む。
ステップＳ２３２では、制御部１１０が、ステータスが「成功」を示す貸与通知を、ライセンス貸与要求情報を送信したクライアント装置へ送信する。ここで、貸与通知とは、要求した機能に対応するライセンスを貸与可能であるか否かを示す通知である。その後、再度、ステップＳ２１０の処理が行なわれる。
【０１０２】
図１１は、クライアント装置と、ライセンス管理装置との間で送受信されるデータを示す図である。図１１において、図１１（Ａ）は、一例としての貸与通知Ｄ１２０を示す図である。貸与通知Ｄ１２０には、ライセンスが貸与される機能（たとえば、スキャン機能、送信機能、画像処理機能）を特定する情報が含まれる。貸与管理番号は、ライセンスが貸与される各機能を管理するための番号である。
【０１０３】
ステップＳ２３２で送信される貸与通知は、貸与通知Ｄ１２０であるとする。
再び、図７を参照して、クライアント装置では、ステップＳ１３１の処理の後、ステップＳ１３２に進む。
【０１０４】
ステップＳ１３２では、制御部１１０が、ステップＳ１３１で送信したライセンス貸与要求情報に対応する貸与通知を受信したか否かを判定する。ステップＳ１３２において、ＹＥＳならば、ステップＳ１３３に進む。一方、ステップＳ１３２において、ＮＯならば、後述するステップＳ１３４に進む。
【０１０５】
ステップＳ１３３では、制御部１１０が、受信した貸与通知のステータスが「成功」であるか否かを判定する。ステップＳ１３３において、ＹＥＳならば、このライセンス取得処理は終了し、図４のクライアント装置処理Ａに戻り、ステップＳ１３０の次のステップＳ１４０に進む。一方、ステップＳ１３３において、ＮＯならば、後述するステップＳ１３４に進む。
【０１０６】
再び、図４を参照して、クライアント装置では、ステップＳ１３０の処理の後、ステップＳ１４０に進む。
【０１０７】
ステップＳ１４０では、ステップＳ１１０で登録されたワークフローが実行される。ワークフローの実行が終了すると、ステップＳ１５０に進む。
【０１０８】
ステップＳ１５０では、ライセンス返却処理が行なわれる。
図１２は、ライセンス返却処理のフローチャートである。図１２を参照して、ステップＳ１５１では、ライセンス返却通知作成処理が行なわれる。ライセンス返却通知作成処理では、ライセンス返却通知の作成が行なわれる。ライセンス返却通知とは、ステップＳ１４０で実行されたワークフローにおいて使用したライセンスを返却するための通知である。制御部１１０は、ステップＳ１４０で実行されたワークフローで使用されたライセンスに基づいて、ライセンス返却通知を作成する。
【０１０９】
再び、図１１を参照して、図１１（Ｂ）は、一例としてのライセンス返却通知Ｄ１４０Ａを示す図である。ライセンス返却通知Ｄ１４０Ａの「データ種類」は、返却通知である。また、ライセンス返却通知Ｄ１４０Ａには、ライセンスが返却される機能（たとえば、スキャン機能、送信機能、画像処理機能）を特定する情報が含まれる。返却管理番号は、ライセンスが返却される各機能を管理するための番号である。なお、ライセンス返却通知Ｄ１４０Ａにおける各返却管理番号は、貸与通知Ｄ１２０における各貸与管理番号と同一の番号である。以下においては、返却するライセンスを、返却ライセンスともいう。
【０１１０】
再び、図１２を参照して、ステップＳ１５１の処理が終了すると、ステップＳ１５２に進む。
【０１１１】
ステップＳ１５２では、制御部１１０が、生成したライセンス返却通知を、ライセンス管理装置へ送信する。その後、このライセンス返却処理は終了し、図４のクライアント装置処理Ａに戻り、クライアント装置処理Ａも終了する。
【０１１２】
再び、図８を参照して、ライセンス管理装置では、前述のステップＳ２１０の処理が実行される。ライセンス管理装置はライセンス返却通知を受信したとして、ステップＳ２１２に進む。
【０１１３】
ステップＳ２１２では、制御部１１０が、ライセンス返却通知を受信したか否かを判定する。ステップＳ２１２において、ＹＥＳならば、ステップＳ２６０に進む。一方、ステップＳ２１２において、ＮＯならば、再度、ステップＳ２１０の処理が行なわれる。この場合、ライセンス管理装置は、ライセンス返却通知を受信したとして、ステップＳ２６０に進む。
【０１１４】
ステップＳ２６０では、前述の図１０のライセンス使用管理テーブル更新処理Ａが行なわれる。
【０１１５】
再び、図１０を参照して、ライセンス管理装置では、前述のステップＳ２２１の処理が実行される。この場合、受信したデータの種類が、「貸与要求」でないので、ステップＳ２２１Ａに進む。ステップＳ２２１において、ライセンス管理装置が受信するデータの種類は、「貸与要求」または「返却通知」であるとする。したがって、ステップＳ２２１Ａに進む場合、受信したデータの種類は、「返却通知」となる。
【０１１６】
ステップＳ２２１Ａでは、ライセンス使用管理テーブル更新処理が行なわれる。ライセンス使用管理テーブル更新処理では、制御部１１０が、受信したライセンス返却通知が示す、前述の返却ライセンスに基づいて、ライセンス使用管理テーブルＴ３００を更新する。具体的には、制御部１１０は、返却ライセンスに対応するライセンス予約データまたは貸与データを削除することで、ライセンス使用管理テーブルＴ３００の更新処理を行なう。その後、ステップＳ２２１Ｂに進む。
【０１１７】
ステップＳ２２１Ｂでは、規則Ｂに従って行なわれるライセンス使用管理テーブル最適化処理が行なわれる。ライセンス使用管理テーブル最適化処理によって、ライセンスの貸与順序の制御が行なわれる。なお、規則Ｂに従って行なわれるライセンス使用管理テーブル最適化処理の詳細な説明は後述する。なお、ステップＳ２２１Ｂでは、後述する規則Ａに従ってライセンス使用管理テーブル最適化処理が行なわれてもよい。ライセンス使用管理テーブル最適化処理が終了すると、このライセンス使用管理テーブル更新処理Ａは終了し、図８の管理装置処理Ａに戻り、ステップＳ２６０の次の、ステップＳ２７０に進む。
【０１１８】
再び、図８を参照して、ステップＳ２７０では、ライセンス数管理テーブル更新処理が行なわれる。ライセンス数管理テーブル更新処理では、記憶部１４０に記憶されているライセンス数管理テーブルのライセンス数を、返却ライセンスに基づいて変更する。たとえば、返却ライセンスが、「スキャン機能」および「プリント機能」のライセンスであるとする。この場合、制御部１１０は、ライセンス数管理テーブルの対応するライセンス数を加算することにより、ライセンス数管理テーブルを更新する。その後、再度、ステップＳ２１０の処理が行なわれる。
【０１１９】
再び、図１０を参照して、ステップＳ２２２の処理において、たとえば、現在の時刻が１２時２５分で、「使用開始時刻」が、１２時３０分であるとする。この場合、ステップＳ２２５に進む。
【０１２０】
ステップＳ２２５では、前述のステップＳ２２３と同様な処理が行なわれるので詳細な説明は繰り返さない。その後、ステップＳ２２６に進む。
【０１２１】
ステップＳ２２６では、ステップＳ２２４と同様な処理が行なわれるので詳細な説明は繰り返さない。ステップＳ２２６において、ＹＥＳならば、ステップＳ２２６Ａに進む。一方、ステップＳ２２６において、ＮＯならば、ステップＳ２２７に進む。制御部１１０は、全てのライセンスが使用可能であると判定したとする。この場合、ステップＳ２２６Ｂに進む。
【０１２２】
ステップＳ２２６Ｂでは、前述のステップＳ２２２と同様な処理が行なわれるので詳細な説明は繰り返さない。ステップＳ２２６Ｂにおいて、ＹＥＳならば、ステップＳ２２６Ｃに進む。一方、ステップＳ２２６Ｂにおいて、ＮＯならば、再度、ステップＳ２２６Ｂの処理が繰り返される。
【０１２３】
ステップＳ２２６Ｃでは、前述のステップＳ２２４Ａと同様な処理が行なわれるので詳細な説明は繰り返さない。その後、このライセンス使用管理テーブル更新処理Ａは終了し、図８の管理装置処理Ａに戻り、ステップＳ２２０の次の、ステップＳ２３０に進む。
【０１２４】
ステップＳ２２４またはステップＳ２２６の処理において、制御部１１０が、全てまたは一部の貸与要求ライセンスが使用不可能であると判定したとする。この場合、ステップＳ２２７に進む。
【０１２５】
ステップＳ２２７では、ライセンス使用管理テーブル更新処理が行なわれる。ライセンス使用管理テーブル更新処理では、制御部１１０が、ライセンス使用管理テーブルＴ３００に、使用不可能であると判定された全ての貸与要求ライセンスの各々に対応するライセンス予約データを追加することで、ライセンス使用管理テーブルＴ３００の更新処理を行なう。なお、この場合、追加されるライセンス予約データの「状態」は、「予約」となる。その後、ステップＳ２２７Ａに進む。
【０１２６】
ステップＳ２２７Ａでは、後述する規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理が行なわれる。なお、ステップＳ２２７Ａでは、後述する規則Ｂに従ってライセンス使用管理テーブル最適化処理が行なわれてもよい。また、ステップＳ２２７Ａでは、後述する規則Ｃに従ってライセンス使用管理テーブル最適化処理が行なわれてもよい。ライセンス使用管理テーブル最適化処理では、制御部１１０が、複数のライセンス予約データに基づくジョブの予約状態に応じた処理を行なう。
【０１２７】
図１３は、複数のライセンス予約データに基づくジョブの予約状態を示す図である。図１３（Ａ）は、使用するライセンスの競合が発生していない状態のライセンス予約データに基づくジョブの予約状態を示す図である。この場合、制御部１１０は、ライセンス使用管理テーブルＴ３００の最適化処理は行なわない。
【０１２８】
図１３（Ａ）において、機能Ａ，Ｂ，Ｃ，Ｄ，Ｅは、それぞれ、たとえば、スキャン機能、プリント機能、送信機能、画像処理機能およびファイルフォーマット変換機能であるとする。図１３（Ａ）において、横軸は時刻ｔ０からの経過時間を表し、単位は、一例として分である。なお、機能Ａおよび機能Ｂのライセンスの数は、一例として、３つあるとする。また、機能Ｃ，Ｄ，Ｅの各々のライセンスの数は、一例として、１つあるとする。
【０１２９】
図１３（Ａ）を参照して、ジョブＪ１Ａ，Ｊ１Ｂ，Ｊ１Ｃは、ワークフロー１を構成するジョブを示す。ジョブＪ２Ａ，Ｊ２Ｂ，Ｊ２Ｃは、ワークフロー２を構成するジョブを示す。ジョブＪ３Ａ，Ｊ３Ｂは、ワークフロー３を構成するジョブを示す。ジョブＪ４Ａ，Ｊ４Ｂ，Ｊ４Ｃは、ワークフロー４を構成するジョブを示す。
【０１３０】
ジョブＪ１Ａ，Ｊ１Ｂ，Ｊ１Ｃは、それぞれ、機能Ａ、機能Ｂおよび機能Ｃを、時刻ｔ０から３分間使用するジョブである。ジョブＪ２Ａ，Ｊ２Ｂ，Ｊ２Ｃは、それぞれ、機能Ａ、機能Ｂおよび機能Ｄを、時刻ｔ０から２分経過した時刻から５分間使用するジョブである。ジョブＪ３Ａ，Ｊ３Ｂは、それぞれ、機能Ｂおよび機能Ｃを、時刻ｔ０から３分経過した時刻から４分間使用するジョブである。ジョブＪ４Ａ，Ｊ４Ｂ，Ｊ４Ｃは、それぞれ、機能Ａ、機能Ｂおよび機能Ｅを、時刻ｔ０から３分間使用するジョブである。使用するライセンスの競合の発生は、１つのワークフローを構成する全てのジョブの開始時刻の少なくとも１つの開始時刻に、既に予約されているジョブが存在する場合に生じる。
【０１３１】
図１３（Ｂ）は、使用するライセンスの競合が発生していない状態のライセンス予約データに基づくジョブの予約状態を示す図である。この場合、制御部１１０は、ライセンス使用管理テーブルＴ３００の最適化処理は行なわない。図１３（Ｂ）は、図１３（Ａ）と比較して、ジョブＪ５Ａ，Ｊ５Ｂ，Ｊ５Ｃからなるワークフロー５がさらに予約されている点が異なる。それ以外は、図１３（Ａ）と同様なので詳細な説明は繰り返さない。ジョブＪ５Ａ，Ｊ５Ｂ，Ｊ５Ｃは、それぞれ、機能Ａ、機能Ｂおよび機能Ｄを、時刻ｔ０から１分経過した時刻から１分間使用するジョブである。各ジョブの予約は、ライセンスに空きがある時間のうちの最も早い時刻に設定される。すなわち、各ジョブの予約時刻は、ライセンスの競合が発生しない最も早い時刻に設定される。
【０１３２】
図１３（Ｂ）において、ワークフロー５（ジョブＪ５Ａ，Ｊ５Ｂ，Ｊ５Ｃ）は、ワークフロー４（ジョブＪ４Ａ，Ｊ４Ｂ，Ｊ４Ｃ）よりも後に予約されたものである。図１３（Ｂ）の状態では、ワークフロー５は、ワークフロー４よりも後に予約されているが、使用するライセンスの競合は発生していない。
【０１３３】
図１４は、複数のライセンス予約データに基づくジョブの予約状態を示す図である。図１４（Ａ）は、使用するライセンスの競合が発生している状態のライセンス予約データに基づくジョブの予約状態を示す図である。図１４（Ａ）は、図１３（Ｂ）と比較して、ジョブＪ６Ａ，Ｊ６Ｂ，Ｊ６Ｃからなるワークフロー６がさらに予約されている点が異なる。それ以外は、図１３（Ｂ）と同様なので詳細な説明は繰り返さない。
【０１３４】
ワークフローの実行指令においては、まず、ジョブＪ６Ａ，Ｊ６Ｂ，Ｊ６Ｃは、それぞれ、機能Ａ、機能Ｂおよび機能Ｃを、時刻ｔ０から３分経過した時刻から３分間使用するジョブである。各ジョブの予約は、ライセンスに空きがある時間のうちの最も早い時間に設定されるので、ジョブＪ６Ａ，Ｊ６Ｂは、それぞれ、図１４（Ａ）の位置に予約されることになる。
【０１３５】
ジョブＪ６Ａ，Ｊ６Ｂ，Ｊ６Ｃを、ワークフローの実行指令に合致させるためには、ジョブＪ６Ａ，Ｊ６Ｂ，Ｊ６Ｃは、同時刻に開始されなければならない。しかし、図１４（Ａ）では、ジョブＪ６Ｃの開始時刻に、既に予約されているジョブＪ３Ｂが存在する。使用するライセンスの競合が発生しているため、ジョブＪ６Ｃの予約時刻は、ジョブＪ３Ｂが終了する時刻に設定される。
【０１３６】
複数のライセンス予約データに基づくジョブの予約状態が、図１４（Ａ）の場合、以下の規則Ａに従って、制御部１１０により、ライセンス使用管理テーブル最適化処理が行なわれる。規則Ａは、１つのワークフローで行なわれる１以上のジョブが予約される時刻を、ワークフローの実行指令で指定されたジョブの実行タイミングの相互関係に合致し、かつ、使用するライセンスの競合が発生しない時刻に変更するという規則である。以下においては、ジョブが予約される時刻をジョブ予約時刻ともいう。また、以下においては、ワークフローを構成する複数のジョブの各々に対応する、ライセンス使用管理テーブル最適化処理前のジョブ予約時刻が、ワークフローの実行指令に合致しないワークフローを、実行指令非合致ワークフローともいう。実行指令非合致ワークフローは、たとえば、ワークフロー６である。
【０１３７】
図１７は、規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理のフローチャートである。図１７を参照して、ステップＳ３１０では、制御部１１０が、１つのワークフロー（たとえば、ワークフロー６）を構成する複数のジョブにそれぞれ対応する複数のジョブ予約時刻のうち、ワークフローの実行指令に合致しないものがあるか否かを判定する。すなわち、制御部１１０は、実行指令非合致ワークフローがあるか否かを判定する。
【０１３８】
ステップＳ３１０において、ＹＥＳならば、ステップＳ３１２に進む。一方、ステップＳ３１０において、ＮＯならば、この処理は終了する。なお、本実施の形態では、実行指令非合致ワークフローであるワークフロー６が存在するとする。この場合、ステップＳ３１０において、ＹＥＳと判定されて、ステップＳ３１２に進む。
【０１３９】
ステップＳ３１２以降の処理において、予約されているジョブの開始時刻の変更が行なわれる。具体的には、ステップＳ３１２では、制御部１１０が、実行指令非合致ワークフローであるワークフロー６を構成する複数のジョブにそれぞれ対応する複数のジョブ予約時刻のうち、ワークフローの実行指令で定められたジョブの実行タイミングの相互関係に合致していないジョブ予約時刻をリストアップする。以下においては、リストアップされたジョブ予約時刻に対応するジョブを、実行タイミング非合致ジョブともいう。
【０１４０】
ワークフロー６を例にすると、ワークフローの実行指令におけるジョブの実行タイミングの相互関係は、ジョブＪ６Ａ，Ｊ６Ｂ，Ｊ６Ｃが同時刻に実行開始されるように定められている。したがって、ワークフロー６における実行タイミング非合致ジョブは、ジョブＪ６Ａ，Ｊ６Ｂとなる。本実施の形態では、ｋ個の実行タイミング非合致ジョブがリストアップされたとする。その後、ステップＳ３１４に進む。
【０１４１】
ステップＳ３１４では、制御部１１０が、リストアップされたｋ個の実行タイミング非合致ジョブのうち、カウンタｎに基づくｎ番目の実行タイミング非合致ジョブのジョブ予約時刻を、前述の規則Ａに基づいて、ワークフローの実行指令で定められたジョブの実行タイミングの相互関係に合致する時刻に変更する。具体的には、実行タイミング非合致ジョブであるジョブＪ６Ａ，Ｊ６Ｂについては、ジョブＪ６Ｃと同時刻に開始されるように、ジョブＪ６Ａ，Ｊ６Ｂの予約時刻を変更する。ジョブＪ６Ｃは、競合するライセンスが存在したため、競合するライセンスの使用が終了した時刻の後の時刻に予約されたものである。なお、カウンタｎの初期値は１であるとする。その後、ステップＳ３１６に進む。
【０１４２】
ステップＳ３１６では、ライセンスの競合がないか否かが判定される。具体的には、制御部１１０が、変更された、ｎ番目の実行タイミング非合致ジョブのジョブ予約時刻がライセンスの競合が発生していない時刻であるか否かの判定を行なう。ステップＳ３１６において、ＹＥＳならば、ステップＳ３１８に進む。一方、ステップＳ３１６において、ＮＯならば、再度、ステップＳ３１４の処理が行なわれる。この場合、ステップＳ３１４では、制御部１１０が、ｎ番目の実行タイミング非合致ジョブのジョブ予約時刻を、前述の規則Ａに基づいて、別の時刻に変更する。
【０１４３】
ステップＳ３１８では、全ての実行タイミング非合致ジョブのジョブ予約時刻の変更が終了したか否かが判定される。具体的には、制御部１１０が、カウンタｎの値がｋ以上であるか否かを判定する。ステップＳ３１８において、ＹＥＳならば、ステップＳ３２０に進む。一方、ステップＳ３１８において、ＮＯならば、ステップＳ３１９に進む。
【０１４４】
ステップＳ３１９では、制御部１１０が、カウンタｎを１インクリメントする。その後、再度、ステップＳ３１４の処理が行なわれる。
【０１４５】
ステップＳ３２０では、全ての実行タイミング非合致ジョブのジョブ予約時刻の変更が終了した後に、再度、制御部１１０が、ワークフローを構成する全てのジョブ予約時刻が、ワークフローの実行指令に合致しており、かつ、ライセンス競合がないか否かを判定する。
【０１４６】
ステップＳ３２０において、ＹＥＳならば、この規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理は、終了する。一方、ステップＳ３２０において、ＮＯならば、ステップＳ３２２に進む。
【０１４７】
ステップＳ３２２では、制御部１１０が、カウンタｎを１に設定する。その後、再度、ステップＳ３１４の処理が行なわれる。
【０１４８】
１つのジョブ予約時刻を変更したことによって、他のジョブとの関係で、ワークフローの実行指令に合致しなくなる場合もある。しかしながら、前述のステップＳ３２０において、最終確認を行なえば、そのような抜けをなくすことができ、確実にライセンス使用管理テーブル最適化処理を行なえる。
【０１４９】
以上の処理により、規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理が行われる前に予約されたジョブにおいて、ワークフローの実行指令に合致しない予約状態が解消される。その結果、常に、ワークフローの実行指令に合致し、かつ、ライセンスの競合が発生しない状態を保証することができる。また、ライセンス使用管理テーブル最適化処理により、ジョブ予約時刻の変更が行なわれ、ジョブが使用するライセンスに空きが生じると、他のジョブやワークフローが、空きが生じたライセンスに別の使用予約を入れることができる。したがって、ライセンスを効率的に活用でき、ＭＦＰを効率的に動作させることができる。
【０１５０】
本実施の形態の規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理では、制御部１１０が、ジョブＪ６Ａ，Ｊ６Ｂが開始される時刻を、ジョブＪ６Ｃが開始される時刻に変更する。
【０１５１】
図１４（Ｂ）は、規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理を視覚的に示す図である。図１４（Ｃ）は、規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理が行なわれた後の、複数のライセンス予約データに基づくジョブの予約状態を示す図である。これにより、使用するライセンスの競合が解消される。
【０１５２】
また、前述の規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理が行なわれることにより、たとえば、図１４（Ｃ）のジョブＪ１Ａが終了する時刻からジョブＪ６Ａが開始される時刻の期間（以下、期間Ａともいう）に、所定条件Ａを満たす他のジョブを設定することもできる。ここで、所定条件Ａとは、開始時間が期間Ａ内であり、かつ、実行時間が期間Ａの時間以下であるという条件である。
【０１５３】
ライセンス使用管理テーブル最適化処理において、制御部１１０は、上記所定条件Ａを満たすジョブがあれば、期間Ａに当該ジョブの予約を設定する。図１４（Ａ）において、仮に、Ｊ６Ｃが、機能Ｃを、時刻ｔ０から７分経過した時刻から３分間使用するジョブであるならば、上記規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理は行なわれない。この場合、複数のライセンス予約データに基づくジョブの予約状態は、図１４（Ａ）のままとなる。
【０１５４】
図１５は、複数のライセンス予約データに基づくジョブの予約状態を示す図である。図１５（Ａ）は、使用するライセンスの競合が発生している状態のライセンス予約データに基づくジョブの予約状態を示す図である。図１５（Ａ）は、図１４（Ｃ）と比較して、ジョブＪ７Ａ，Ｊ７Ｂ，Ｊ７Ｃからなるワークフロー７がさらに予約されている点が異なる。それ以外は、図１４（Ｃ）と同様なので詳細な説明は繰り返さない。
【０１５５】
ジョブＪ７Ａ，Ｊ７Ｂ，Ｊ７Ｃは、それぞれ、機能Ａ、機能Ｃおよび機能Ｄを、時刻ｔ０から３分経過した時刻から３分間使用するジョブである。すなわち、ジョブＪ７Ａ，Ｊ７Ｂ，Ｊ７Ｃは、同時刻に開始される。なお、図１５（Ａ）では、ジョブＪ７Ｂ，Ｊ７Ｃの開始時刻に、既に予約されているジョブＪ３Ｂ，Ｊ２Ｃが存在する。すなわち、使用するライセンスの競合が発生している。そのため、ジョブＪ７Ｂ，Ｊ７Ｃの予約時刻は、それぞれ、ジョブＪ６ＣおよびジョブＪ２Ｃが終了する時刻に設定される。
【０１５６】
複数のライセンス予約データに基づくジョブの予約状態が、図１５（Ａ）の場合、前述の規則Ａに従って、制御部１１０により、ライセンス使用管理テーブル最適化処理が行なわれる。この場合、規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理では、制御部１１０が、ジョブＪ７Ａ，Ｊ７Ｃが開始される時刻を、ジョブＪ７Ｂが開始される時刻に変更する。
【０１５７】
図１５（Ｂ）は、規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理を視覚的に示す図である。図１５（Ｃ）は、規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理が行なわれた後の、複数のライセンス予約データに基づくジョブの予約状態を示す図である。これにより、使用するライセンスの競合が解消される。
【０１５８】
なお、前述の規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理が行なわれることにより、前述したように、前述した期間Ａに、所定条件Ａを満たす他のジョブを設定することもできる。
【０１５９】
図１６は、複数のライセンス予約データに基づくジョブの予約状態を示す図である。図１６（Ａ）は、予約されていたジョブが削除された状態のライセンス予約データに基づくジョブの予約状態を示す図である。削除されたジョブは、ジョブＪ３Ａ，Ｊ３Ｂであるとする。この場合、図１６（Ａ）は、使用するライセンスの競合が発生していない状態のライセンス予約データに基づくジョブの予約状態を示す図である。図１６（Ａ）は、図１５（Ｃ）と比較して、ジョブＪ３Ａ，Ｊ３Ｂが削除された点が異なる。それ以外は、図１５（Ｃ）と同様なので詳細な説明は繰り返さない。
【０１６０】
複数のライセンス予約データに基づくジョブの予約状態が、図１６（Ａ）の場合、以下の規則Ｂに従って、制御部１１０により、ライセンス使用管理テーブル最適化処理が行なわれる。規則Ｂは、予約されていたジョブが削除された場合、削除されなかったジョブの開始される時刻を、使用するライセンスの競合が発生しない時刻で、元の予約時刻よりも早い時刻に予約変更するという規則である。以下においては、予約されていたジョブが削除された場合、開始時刻を変更可能なジョブを含むワークフローを、時刻変更可能ジョブ構成ワークフローともいう。時刻変更可能ジョブ構成ワークフローは、たとえば、ワークフロー６、ワークフロー７である。
【０１６１】
ここでは、ワークフローに含まれるジョブについて、予約変更を行なう例を示すが、ワークフローに含まれていない単独のジョブについても、同様に規則Ｂの適用が行なわれることはいうまでもない。
【０１６２】
図１８は、規則Ｂに従って行なわれるライセンス使用管理テーブル最適化処理のフローチャートである。図１８を参照して、ステップＳ４１０では、制御部１１０が、削除されたジョブの開始時刻に変更可能なジョブが存在するか否かを判定する。すなわち、制御部１１０は、時刻変更可能ジョブ構成ワークフローがあるか否かを判定する。
【０１６３】
具体的には、制御部１１０が、削除されたジョブの予約時刻より後の時刻にジョブの予約が存在するか調べる。ジョブの予約が存在するならば、そのジョブの予約に対応するライセンス使用時間が、ジョブが削除されたことで、予約を入れることが可能となった時間以下であれば、削除されたジョブの開始時刻に変更可能なジョブが存在することになる。
【０１６４】
ステップＳ４１０において、ＹＥＳならば、ステップＳ４１２に進む。一方、ステップＳ４１０において、ＮＯならば、この処理は終了する。なお、本実施の形態では、時刻変更可能ジョブ構成ワークフローである、ワークフロー６およびワークフロー７が存在するとする。この場合、ステップＳ４１０において、ＹＥＳと判定されて、ステップＳ４１２に進む。
【０１６５】
ステップＳ４１２以降の処理において、予約されているジョブの開始時刻の変更が行なわれる。具体的には、ステップＳ４１２では、制御部１１０が、時刻変更可能ジョブ構成ワークフローである、ワークフロー６およびワークフロー７の各々に対し、対応するワークフローを構成する複数のジョブのうち、予約されていたジョブが削除されたことによって、開始時刻を変更可能となったジョブをリストアップする。以下においては、開始時刻が変更可能となったジョブを、時刻変更可能ジョブともいう。本実施の形態では、ワークフロー６およびワークフロー７の両方で、ｒ個の時刻変更可能ジョブがリストアップされたとする。その後、ステップＳ４１４に進む。
【０１６６】
ステップＳ４１４では、制御部１１０が、リストアップされたｒ個の時刻変更可能ジョブのうち、カウンタｓに基づくｓ番目の時刻変更可能ジョブのジョブ予約時刻を、前述の規則Ｂに基づいて、使用するライセンスの競合が発生しない最も早い時刻に変更する。なお、カウンタｓの初期値は１であるとする。その後、ステップＳ４１６に進む。
【０１６７】
ステップＳ４１６では、全ての時刻変更可能ジョブのジョブ予約時刻の変更が終了したか否かが判定される。具体的には、制御部１１０が、カウンタｓの値がｒ以上であるか否かを判定する。ステップＳ４１６において、ＹＥＳならば、ステップＳ４２０に進む。一方、ステップＳ４１６において、ＮＯならば、ステップＳ４１９に進む。
【０１６８】
ステップＳ４１９では、制御部１１０が、カウンタｓを１インクリメントする。その後、再度、ステップＳ４１４の処理が行なわれる。
【０１６９】
次に、ステップＳ４１４からステップＳ４１９までの処理を具体的に説明する。時刻変更可能ジョブであるジョブＪ６Ａ，Ｊ６Ｂ，Ｊ６Ｃが開始される時刻が、ジョブＪ１Ａが終了される時刻に変更される。また、ジョブＪ７Ａ，Ｊ７Ｂ，Ｊ７Ｃが開始される時刻が、ジョブＪ２Ａが終了される時刻に変更される。すなわち、使用するライセンスの競合が解消される時刻で、元の予約時刻よりも早い時刻に変更することにより、ジョブの開始時刻を繰り上げる。
【０１７０】
規則Ｂに従って行なわれるライセンス使用管理テーブル最適化処理は、実質的には、ステップＳ４２０の処理に進むまでの処理を含む。このように、規則Ｂでは、ジョブが削除されたことによって生じたライセンスの空きを無駄にすることなく、ユーザにとって、最先の時間にワークフローの実行を終了させることができる。その結果、効率的にＭＦＰを動作させることができる。
【０１７１】
次のステップＳ４２０では、制御部１１０が、再度、規則Ａに従って、ライセンス使用管理テーブル最適化処理を行なう。その後、規則Ｂおよび規則Ａに従ったライセンス使用管理テーブル最適化処理は終了する。
【０１７２】
このように、規則Ｂに従ったライセンス使用管理テーブル最適化処理の後に、規則Ａに従ったライセンス使用管理テーブル最適化処理を行なうことにより、ワークフローを構成する全てのジョブ予約時刻が、ワークフローの実行指令に合致しており、かつ、ライセンス競合が発生していないことが保証される。つまり、規則Ｂに従ったライセンス使用管理テーブル最適化処理により、１つ以上のジョブ予約時刻を変更したことによって、他のジョブとの関係で、ワークフローの実行指令に合致しなくなる状態が発生した場合においても、そのような不整合をなくすることができる。その結果、矛盾がなく、確実に動作させることが可能な、ライセンス使用管理テーブル最適化処理が行なえる。
【０１７３】
図１６（Ｂ）は、規則Ｂに従って行なわれるライセンス使用管理テーブル最適化処理を視覚的に示す図である。図１６（Ｃ）は、規則Ｂに従って行なわれるライセンス使用管理テーブル最適化処理が行なわれた後の、複数のライセンス予約データに基づくジョブの予約状態を示す図である。これにより、使用するライセンスの競合が解消され、かつ、ジョブＪ６Ａ，Ｊ６Ｂ，Ｊ６Ｃ，Ｊ７Ａ，Ｊ７Ｂ，Ｊ７Ｃの開始時刻が繰り上げられる。
【０１７４】
以上の処理により、ジョブの開始時刻が変更される。すなわち、必要に応じて、ライセンス予約データの使用開始時刻が変更される。その結果、ライセンス使用管理テーブルＴ３００が最適化される。
【０１７５】
なお、ライセンス使用管理テーブル最適化処理では、使用するライセンスの競合が発生している場合、制御部１１０が、以下の所定の規則Ｃに従って、ライセンス使用管理テーブルＴ３００の最適化処理が行なわれてもよい。最適化処理は、「予約」となっている複数のライセンス予約データのうち、使用する機能のライセンスおよび使用時間が重複するライセンスに対応するライセンス予約データ（以下、重複ライセンス予約データともいう）に対して行なわれる。
【０１７６】
なお、最適化処理は、「予約」となっている複数のライセンス予約データのうち、使用する機能のライセンスのみが重複するライセンスに対応するライセンス予約データに対して行なわれてもよい。
【０１７７】
所定の規則Ｃは、第１〜第３規則からなる。第１規則は、複数の重複ライセンス予約データのうち、登録元のＩＰアドレスが同じものがある場合、ワークフロー番号が小さいものの優先順位をあげるという規則である。１つのＭＦＰにおいては、ワークフローの実行予約によって発行されるワークフロー番号は、予約が行なわれた時刻順になっている場合が多い。ライセンス予約データの中には、登録元のＩＰアドレスが同じであれば、同じＭＦＰから行なわれた予約であると判断できる。
【０１７８】
たとえば、管理番号１０６に対応する重複ライセンス予約データと、管理番号１０８に対応する重複ライセンス予約データとは、登録元のＩＰアドレスが同じである。この場合、管理番号１０８に対応する重複ライセンス予約データの方が、管理番号１０６に対応する重複ライセンス予約データよりワークフロー番号が小さい。重複ライセンス予約データで登録元のＩＰアドレスが同じで、ワークフロー番号が小さければ、より早い時刻に予約されたと判断することができる。そのため、その優先順位をあげることは妥当であると思われる。
【０１７９】
したがって、管理番号１０８に対応する重複ライセンス予約データの優先順位が、管理番号１０６に対応する重複ライセンス予約データの優先順位より高くされる。その結果、管理番号１０８に対応する重複ライセンス予約データの優先順位は、“２”から“１”になる。管理番号１０６に対応する重複ライセンス予約データの優先順位は、“１”から“２”になる。
【０１８０】
職場にＭＦＰが複数台ある場合などに、同一ユーザが複数のＭＦＰに対して同時刻に開始するワークフローの実行予約を行なうことが可能である。その場合、それらのワークフロー間で、ライセンスの競合が発生する場合があった。
【０１８１】
第２規則は、複数の重複ライセンス予約データのうち、登録したユーザが同じものがある場合、登録日時の早いものの優先順位をあげるという規則である。たとえば、管理番号１０６に対応する重複ライセンス予約データと、管理番号１１０に対応する重複ライセンス予約データとは、登録したユーザが同じである。この場合、管理番号１１０に対応する重複ライセンス予約データの方が、管理番号１０６に対応する重複ライセンス予約データより登録日時が早い。したがって、管理番号１１０に対応する重複ライセンス予約データの優先順位が、管理番号１０６に対応する重複ライセンス予約データの優先順位より高くされる。
【０１８２】
あるユーザが、同一ライセンスを長時間占有すると、そのライセンスを短時間だけしようしたい別のユーザにとっては、ライセンスが空くまで、長時間またされることになり、後者のユーザにとっては非常に迷惑となる場合があった。
【０１８３】
第３規則は、複数の重複ライセンス予約データのうち、使用時間が第１所定時間（たとえば、３０分）以上のデータがある場合、使用時間が第２所定時間（たとえば、２分）以下のデータのデータと優先順位を入れ替えるという規則である。たとえば、管理番号１１２に対応する重複ライセンス予約データは、使用期間が第１所定時間（たとえば、３０分）以上のデータである。この場合、管理番号１１２に対応する重複ライセンス予約データは、使用期間が第２所定時間（たとえば、２分）以下の管理番号１１４に対応する重複ライセンス予約データと優先順位が入れ替えられる。
【０１８４】
以下に、規則Ｃの第３規則に従って行なわれるライセンス使用管理テーブル最適化処理について図面を用いて説明する。
【０１８５】
図１９は、複数のライセンス予約データに基づくジョブの予約状態を示す図である。図１９（Ａ）は、使用するライセンスの競合が発生している状態のライセンス予約データに基づくジョブの予約状態を示す図である。
【０１８６】
図１９（Ａ）を参照して、機能Ａは、たとえば、スキャン機能である。図１９（Ａ）において、横軸は時刻ｔ０からの経過時間を表し、単位は、一例として分である。なお、機能Ａのライセンスの数は、一例として、２つであるとする。ジョブＪ１０，Ｊ１１，Ｊ１２は、１つのワークフローを構成するジョブではなく、単体のジョブである。ジョブＪ１０は、機能Ａを、時刻ｔ０から３０分間使用するジョブである。ジョブＪ１１は、機能Ａを、時刻ｔ０から１５分間使用するジョブである。ジョブＪ１２は、機能Ａを、時刻ｔ０から２分間使用するジョブである。
【０１８７】
ジョブＪ１０は、使用時間が第１所定時間（たとえば、３０分）以上のジョブである。ジョブＪ１２は、使用時間が第２所定時間（たとえば、２分）以下のジョブである。
【０１８８】
図１９（Ａ）に示すように、ライセンスが競合しており、ジョブＪ１０，Ｊ１１，Ｊ１２を時刻ｔ０に使用するようなライセンス予約は行なうことができない。そこで、前述の規則Ｃの第３規則に従って、制御部１１０により、ライセンス使用管理テーブル最適化処理が行なわれる。規則Ｃの第３規則に従って行なわれるライセンス使用管理テーブル最適化処理では、ジョブＪ１０は、使用期間が第２所定時間（たとえば、２分）以下のジョブＪ１２と優先順位が入れ替えられる。
【０１８９】
図１９（Ｂ）は、規則Ｃの第３規則に従って行なわれるライセンス使用管理テーブル最適化処理が行なわれた後の、複数のライセンス予約データに基づくジョブの予約状態を示す図である。
【０１９０】
以上の処理により、複数のユーザ間の利便性に配慮しつつ、ライセンスを効率的に使用できるようになる。
【０１９１】
なお、第１〜第３規則には、適用される優先度を決めてもよい。たとえば、第１規則の優先度が最も高く、第３規則の優先度が最も低いとする。この場合、最適化処理では、第１〜第３規則の順で、対応する規則に従って処理が行われる。また、第１〜第３規則のうち、２つ以上の規則が重複した場合は、優先度が高い規則の処理のみが行なわれる。たとえば、登録元のＩＰアドレスおよび登録したユーザが同じである場合は、第１規則による処理のみが行われる。
【０１９２】
このように、規則の優先度も決めておくと、規則が重複した場合に、ユーザに問い合わせる必要などがなくなり、自動で処理順序を決定することができる。
【０１９３】
最適化処理により、優先度が変化された複数の重複ライセンス予約データのうち、使用時間が重複するものがあり、重複する使用時間において、対応するライセンスの数が足りない場合、制御部１１０は、優先度の低い方の重複ライセンス予約データの使用開始時刻を、優先度の高い方の重複ライセンス予約データの使用時間以降の重ならない時刻に変更する。
【０１９４】
以上の処理により、ライセンス使用管理テーブルＴ３００が最適化される。なお、所定の規則は、第１〜第３規則の３つの規則に限定されることなく、４つ以上の規則から構成されてもよい。また、前述の第１〜第３規則は、一例であり、他の内容の規則であってもよい。ステップＳ２２７Ａの処理が終了すると、ステップＳ２２７Ｂに進む。
【０１９５】
ステップＳ２２７Ｂでは、制御部１１０が、現在の時刻が、受信したデータの「使用開始時刻」または変更後の「使用開始時刻」以降であるか否かを判定する。変更後の「使用開始時刻」とは、ステップＳ２２７Ａの処理により「使用開始時刻」が変更された場合の時刻である。ステップＳ２２７Ｂにおいて、ＹＥＳならば、ステップＳ２２７Ｃに進む。一方、ステップＳ２２７Ｂにおいて、ＮＯならば、再度、ステップＳ２２７Ｂの処理が繰り返される。
【０１９６】
ステップＳ２２７Ｃでは、制御部１１０が、ライセンス使用管理テーブル更新処理が行なわれる。ライセンス使用管理テーブル更新処理では、ライセンス使用管理テーブル最適化処理により使用開始時刻が変更されたライセンス予約データの設定内容を、当該変更されたライセンス予約データを登録したクライアント装置へ通知する。なお、ライセンス使用管理テーブル最適化処理により使用開始時刻が変更されたライセンス予約データがない場合、制御部１１０は、通知は行なわない。その後、このライセンス使用管理テーブル更新処理Ａは終了し、図８の管理装置処理Ａに戻り、ステップＳ２２０の次の、ステップＳ２３０に進む。
【０１９７】
前述のステップＳ２３０の処理が行なわれると、ステップＳ２３２の処理が行われ、制御部１１０が、ステータスが「成功」を示す貸与通知を、ライセンス貸与要求情報を送信したクライアント装置へ送信する。
【０１９８】
再び、図７を参照して、クライアント装置では、前述のステップＳ１３２，Ｓ１３３の処理により、このライセンス取得処理は終了し、図４のクライアント装置処理Ａに戻り、ステップＳ１３０の次のステップＳ１４０に進む。
【０１９９】
再び、図４を参照して、クライアント装置では、ステップＳ１４０の処理が行なわれる。ステップＳ１４０では、ステップＳ１１０で登録されたワークフローが実行される。ワークフローの実行が終了すると、前述のステップＳ１５０の処理が行われ、クライアント装置処理Ａが終了する。
【０２００】
以上の処理により、本実施の形態では、所定の規則に従って、ライセンス使用管理テーブルＴ３００の最適化処理を行なうため、効率的にライセンスの予約管理を行なうことができる。したがって、登録したワークフローを実行するために必要なライセンスが、使用中でも、使用可能となるまでの時間を効率よく短縮できる。その結果、効率的にジョブおよびワークフローの実行を実現することができるという効果を奏する。
【０２０１】
再び、図７を参照して、クライアント装置では、前述のステップＳ１３２またはステップＳ１３３において、ＮＯならば、ステップＳ１３４に進む。
【０２０２】
ステップＳ１３４では、ワークフローのキャンセル操作があったか否かが判定される。キャンセル操作とは、ステップＳ１１０において登録したワークフローの実行をキャンセルするためのユーザによる入力部１６４または表示部１６２の押下操作である。具体的には、制御部１１０が、キャンセル操作があったか否かを判定する。ステップＳ１３４において、ＹＥＳならば、ステップＳ１３７に進む。一方、ステップＳ１３４において、ＮＯならば、ステップＳ１３５に進む。
【０２０３】
ステップＳ１３５では、制御部１１０が、ステップＳ１３１の処理が実行されてから、所定時間（たとえば、３０分）経過したか否かを判定する。ステップＳ１３５において、ＹＥＳならば、ステップＳ１３７に進む。一方、ステップＳ１３５において、ＮＯならば、再度、ステップＳ１３２の処理が行なわれる。
【０２０４】
ステップＳ１３７では、制御部１１０が、ライセンス貸与要求取消通知を、ライセンス管理装置へ送信する。ライセンス貸与要求取消通知は、前述のステップＳ１１０で登録したワークフローの実行を取消すための通知である。その後、このライセンス取得処理は終了し、図４のクライアント装置処理Ａに戻り、クライアント装置処理Ａも終了する。
【０２０５】
ライセンス管理装置は、制御部１１０が、ライセンス貸与要求取消通知を受信すると、以下の取消通知受信処理を行なう。取消通知受信処理では、図１０のライセンス使用管理テーブル更新処理を行なっている最中であっても、ライセンス使用管理テーブル更新処理を即座に中止する。なお、既に、ライセンス使用管理テーブルＴ３００に、前述のライセンス貸与要求情報に対応するライセンス予約データが登録されている場合は、制御部１１０が、ライセンス使用管理テーブルＴ３００から、対応するライセンス予約データを削除する。その後、図８のステップＳ２２０の処理を終了して、ステップＳ２１０の処理に進む。なお、ライセンス貸与要求取消通知を受信するか否かの判定の処理は、制御部１１０が、図８の処理とは独立して行なう。
【０２０６】
また、ライセンス管理装置の制御部１１０は、図８の処理とは独立して、ネットワーク２１０を常に監視する処理（以下、ネットワーク監視処理ともいう）を行なっている。ネットワーク監視処理では、制御部１１０が、ライセンス貸与要求情報を作成したクライアント装置が、電源切断等により、ネットワーク２１０とデータ通信不能な状態を検知すると、前述の取消通知受信処理と同様な処理を行なった後、ステップＳ２１０の処理に進む。
【０２０７】
なお、一例としてあげた図９のライセンス使用管理テーブルＴ３００は、ＭＦＰにおける基本機能ともいえるスキャン機能、プリント機能等を主に管理するテーブルであった。しかしながら、本発明は、ＭＦＰの機能を、基本機能と、応用機能とに分類し、基本機能については、ライセンス共有させず、応用機能のみでライセンスの使用管理を行なうこともできる。
【０２０８】
基本機能は、前述したように、スキャン機能、プリント機能等である。応用機能は、たとえば、ＦＡＸ機能、ファイル送信機能、画像処理機能、ファイルフォーマット変換機能およびＯＣＲ機能である。前述したように、ファイル送信機能は、データを送信する機能である。画像処理機能は、画像の編集処理、加工処理および変換処理等を行なう機能である。ファイルフォーマット変換機能は、ファイルのフォーマットを変換する機能である。ＯＣＲ機能は、文字等を認識する機能である。
【０２０９】
前述したように本発明は、基本機能を共有させず、応用機能のライセンスを共有させることでも実現可能である。なお、応用機能のライセンス共有の処理は、前述の処理において、基本機能である機能を、前述の応用機能である機能に置き換えた処理と同様なので詳細な説明は繰り返さない。
【０２１０】
これにより、応用機能のみでライセンスの使用管理を行なう場合においても、効率的にジョブおよびワークフローの実行を実現することができる。一例として、図２０に応用機能を使用したライセンス使用管理テーブルＴ３００Ａを示す。
【０２１１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２１２】
【図１】本実施の形態におけるライセンス管理システムの構成を示すブロック図である。
【図２】ＭＦＰの内部構成を示すブロック図である。
【図３】一例としての、ライセンス数管理テーブルを示す図である。
【図４】クライアント装置処理Ａのフローチャートである。
【図５】ライセンス貸与要求情報の一例を示す図である。
【図６】ワークフロー解析処理のフローチャートである。
【図７】ライセンス取得処理のフローチャートである。
【図８】管理装置処理Ａのフローチャートである。
【図９】一例としてのライセンス使用管理テーブルを示す図である。
【図１０】ライセンス使用管理テーブル更新処理Ａのフローチャートである。
【図１１】クライアント装置と、ライセンス管理装置との間で送受信されるデータを示す図である。
【図１２】ライセンス返却処理のフローチャートである。
【図１３】複数のライセンス予約データに基づくジョブの予約状態を示す図である。
【図１４】複数のライセンス予約データに基づくジョブの予約状態を示す図である。
【図１５】複数のライセンス予約データに基づくジョブの予約状態を示す図である。
【図１６】複数のライセンス予約データに基づくジョブの予約状態を示す図である。
【図１７】規則Ａに従って行なわれるライセンス使用管理テーブル最適化処理のフローチャートである。
【図１８】規則Ｂに従って行なわれるライセンス使用管理テーブル最適化処理のフローチャートである。
【図１９】複数のライセンス予約データに基づくジョブの予約状態を示す図である。
【図２０】一例としてのライセンス使用管理テーブルを示す図である。
【符号の説明】
【０２１３】
１００，１００Ａ，１００Ｂ，１００Ｃ  ＭＦＰ、１１０  制御部、１４０  記憶部、１０００  ライセンス管理システム。
【図１】
2007200236.tif 000003
【図２】
2007200236.tif 000004
【図３】
2007200236.tif 000005
【図４】
2007200236.tif 000006
【図５】
2007200236.tif 000007
【図６】
2007200236.tif 000008
【図７】
2007200236.tif 000009
【図８】
2007200236.tif 000010
【図９】
2007200236.tif 000011
【図１０】
2007200236.tif 000012
【図１１】
2007200236.tif 000013
【図１２】
2007200236.tif 000014
【図１３】
2007200236.tif 000015
【図１４】
2007200236.tif 000016
【図１５】
2007200236.tif 000017
【図１６】
2007200236.tif 000018
【図１７】
2007200236.tif 000019
【図１８】
2007200236.tif 000020
【図１９】
2007200236.tif 000021
【図２０】
2007200236.tif 000022