(57)【要約】【課題】  新たに機能プログラムをメモリに格納すべき場合において、メモリ内の複数のプログラムを適切に処理する機能実行装置を実現する。【解決手段】  第１の機能プログラムを格納するための残容量をＲＯＭ１４が有さない場合において、合計利用回数がゼロである第２の機能プログラムがＲＯＭ１４内に格納されていれば、第１の解放部４８は、ＲＯＭ１４内から第２の機能プログラムを削除する。一方、第２の機能プログラムが存在しない場合であり、かつ、利用回数がゼロでなく最も少ない第３の機能プログラムを格納している他の多機能機７０が存在する場合には、第２の解放部５２は、ＲＯＭ１４内から第３の機能プログラムを削除する。【選択図】  図１
2011076234.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される機能実行装置であって、
複数の機能プログラムを格納する第１のメモリと、
前記複数の機能プログラムを利用して、複数の機能を実行する機能実行部と、
前記複数の機能プログラムのそれぞれについて、当該機能プログラムの利用回数を格納する第２のメモリと、
第１の機能プログラムを前記第１のメモリに新たに格納すべき場合に、前記第１の機能プログラムを格納するための残容量を前記第１のメモリが有するのか否かを判断する第１の判断処理を実行する第１の判断部と、
前記第１の判断処理において肯定的に判断される場合に、前記第１の機能プログラムを外部から取得し、前記第１の機能プログラムを前記第１のメモリに格納する格納制御部と、
前記第１の判断処理において否定的に判断される場合に、前記第２のメモリの格納内容に基づいて、利用回数がゼロである第２の機能プログラムが前記第１のメモリに格納されているのか否かを判断する第２の判断処理を実行する第２の判断部と、
前記第２の判断処理において肯定的に判断される場合に、前記第１のメモリ内の前記第２の機能プログラムが格納されている第１の領域を解放する第１の解放部と、
前記第１の判断処理において否定的に判断される場合に、前記第２のメモリの格納内容に基づいて、利用回数がゼロでなく最も少ない第３の機能プログラムを特定する特定部と、
前記第２の判断処理において否定的に判断される場合に、特定された前記第３の機能プログラムを格納している他の機能実行装置であって、前記ネットワークに接続されている前記他の機能実行装置が存在するのか否かを判断する第３の判断処理を実行する第３の判断部と、
前記第３の判断処理において肯定的に判断される場合に、前記第１のメモリ内の前記第３の機能プログラムが格納されている第２の領域を解放する第２の解放部と、を備え、
前記格納制御部は、さらに、前記第１の領域又は前記第２の領域が解放される場合に、前記第１の機能プログラムを外部から取得し、前記第１の機能プログラムを前記第１のメモリに格納する、機能実行装置。
【請求項２】
前記第１の判断部は、前記第１の領域又は前記第２の領域が解放される場合に、前記第１の判断処理を再び実行する、請求項１に記載の機能実行装置。
【請求項３】
前記第３の判断処理において否定的に判断される場合に、
前記第２の解放部は、前記第２の領域を解放せず、
前記特定部は、前記第２のメモリの格納内容に基づいて、利用回数が次に少ない新たな第３の機能プログラムを特定する、請求項１又は２に記載の機能実行装置。
【請求項４】
前記第２のメモリは、さらに、前記複数の機能プログラムのうちの少なくとも１つの機能プログラムについて、当該機能プログラムを利用して実行される機能に関連する関連情報を格納し、
前記第３の判断処理において肯定的に判断される場合であり、かつ、前記第３の機能プログラムについて特定の関連情報が前記第２のメモリに格納されている場合に、前記他の機能実行装置に前記特定の関連情報を送信する関連情報送信部、をさらに備える、請求項１から３のいずれか１項に記載の機能実行装置。
【請求項５】
前記第２のメモリは、さらに、第１のアドレス情報を格納し、
前記第３の判断処理において肯定的に判断される場合に、前記第１のアドレス情報を送信先として所定の通知を送信する通知送信部、をさらに備える、請求項１から４のいずれか１項に記載の機能実行装置。
【請求項６】
前記第２のメモリは、前記複数の機能プログラムのうちの少なくとも１つの機能プログラムについて、複数のユーザに対応する複数のユーザ情報を格納し、
前記複数のユーザ情報のそれぞれは、ユーザのアドレス情報と、当該ユーザの指示に従って前記１つの機能プログラムを利用して特定の機能を実行したのか否かを示す実績情報と、を含み、
前記通知送信部は、前記第３の判断処理において肯定的に判断される場合であり、かつ、前記第３の機能プログラムについて、肯定的な実績情報を含む第１のユーザ情報が格納されている場合に、前記第１のユーザ情報に含まれる前記第１のアドレス情報を送信先として前記所定の通知を送信する、請求項５に記載の機能実行装置。
【請求項７】
前記通知送信部は、前記第３の判断処理において肯定的に判断される場合であり、かつ、前記第３の機能プログラムについて、否定的な実績情報を含む第２のユーザ情報が格納されている場合に、前記第２のユーザ情報に含まれる第２のアドレス情報を送信先として前記所定の通知を送信しない、請求項６に記載の機能実行装置。
【請求項８】
ユーザの指示に従って、前記複数の機能プログラムの中から、削除されるべきでない特定の機能プログラムを選択する第１の選択部をさらに備え、
前記第２の判断部は、前記第２の機能プログラムが、前記複数の機能プログラムのうちの前記特定の機能プログラム以外の機能プログラム群に含まれているか否かを判断することによって、前記第２の判断処理を実行し、
前記特定部は、前記第１の判断処理において否定的に判断される場合に、前記複数の機能プログラムのうちの前記特定の機能プログラム以外の機能プログラム群の中から、利用回数が最も少ない前記第３の機能プログラムを特定する、請求項１から７のいずれか１項に記載の機能実行装置。
【請求項９】
前記第２のメモリの格納内容に基づいて、前記複数の機能プログラムの中から、利用回数が所定回数以上である特定の機能プログラムを選択する第２の選択部をさらに備え、
前記第２の判断部は、前記第２の機能プログラムが、前記複数の機能プログラムのうちの前記特定の機能プログラム以外の機能プログラム群に含まれているか否かを判断することによって、前記第２の判断処理を実行し、
前記特定部は、前記第１の判断処理において否定的に判断される場合に、前記複数の機能プログラムのうちの前記特定の機能プログラム以外の機能プログラム群の中から、利用回数が最も少ない前記第３の機能プログラムを特定する、請求項１から８のいずれか１項に記載の機能実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、機能プログラムを利用して機能を実行する機能実行装置に関する。特に、ネットワークに複数の機能実行装置が接続されるシステムにおいて利用される機能実行装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、複数の機能プログラムを格納するメモリを備え、メモリに格納された複数の機能プログラムを利用して複数の機能を実行する機能実行装置が開示されている。この機能実行装置は、新たな機能プログラムをメモリに格納すべき場合であって、メモリが当該新たな機能プログラムを格納する残容量を有していない場合には、利用回数の少ない機能プログラムを削除する。その結果、上記の新たな機能プログラムを格納する残容量がメモリ内に確保された場合に、機能実行装置は、上記の新たな機能プログラムをメモリに格納する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−６６８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の機能実行装置によると、利用回数の少ない機能プログラムを自動的に削除する。例えば、削除された機能プログラムを利用して機能が実行されることをユーザが希望する場合には、ユーザは、その機能プログラムをメモリに再び格納させる作業を実行しなければならない。本明細書では、このような作業をユーザが実行しなければならない状況が発生するのを抑制することができる技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される技術は、ネットワークに接続される機能実行装置として具現化される。機能実行装置は、第１のメモリと、機能実行部と、第２のメモリと、第１の判断部と、格納制御部と、第２の判断部と、第１の解放部と、特定部と、第３の判断部と、第２の解放部と、を備える。第１のメモリは、複数の機能プログラムを格納する。機能実行部は、複数の機能プログラムを利用して、複数の機能を実行する。第２のメモリは、複数の機能プログラムのそれぞれについて、当該機能プログラムの利用回数を格納する。第１の判断部は、第１の機能プログラムを第１のメモリに新たに格納すべき場合に、第１の機能プログラムを格納するための残容量を第１のメモリが有するのか否かを判断する第１の判断処理を実行する。格納制御部は、第１の判断処理において肯定的に判断される場合に、第１の機能プログラムを外部から取得し、第１の機能プログラムを第１のメモリに格納する。第２の判断部は、第１の判断処理において否定的に判断される場合に、第２のメモリの格納内容に基づいて、利用回数がゼロである第２の機能プログラムが第１のメモリに格納されているのか否かを判断する第２の判断処理を実行する。第１の解放部は、第２の判断処理において肯定的に判断される場合に、第１のメモリ内の上記の第２の機能プログラムが格納されている第１の領域を解放する。特定部は、第１の判断処理において否定的に判断される場合に、第２のメモリの格納内容に基づいて、利用回数がゼロでなく最も少ない第３の機能プログラムを特定する。第３の判断部は、第２の判断処理において否定的に判断される場合に、特定された上記の第３の機能プログラムを格納している他の機能実行装置であって、ネットワークに接続されている他の機能実行装置が存在するのか否かを判断する第３の判断処理を実行する。第２の解放部は、第３の判断処理において肯定的に判断される場合に、第１のメモリ内の上記の第３の機能プログラムが格納されている第２の領域を解放する。格納制御部は、さらに、第１の領域又は第２の領域が解放される場合に、第１の機能プログラムを外部から取得し、第１の機能プログラムを第１のメモリに格納する。
【０００６】
この構成によると、第１の機能プログラムを格納するための残容量を第１のメモリが有さない場合において、利用回数がゼロである第２の機能プログラムが第１のメモリ内に格納されていれば、第１の解放部は、第２の機能プログラムが格納される第１の領域を解放する。この結果、第１のメモリの残容量が大きくなり、第１のメモリが第１の機能プログラムを格納し得る。第２の機能プログラムを利用して実行される機能は、ユーザが過去に一度も利用していないものであるために、第２の機能プログラムを利用して機能が実行されることをユーザが希望する可能性は低い。従って、第２の機能プログラムを第１のメモリに再び格納させる作業をユーザが実行しなければならない状況が発生するのを抑制することができる。一方、利用回数がゼロである第２の機能プログラムが存在しない場合には、第３の判断部は、利用回数がゼロでなく最も少ない第３の機能プログラムを格納している他の機能実行装置が存在するのか否かを判断する。第３の機能プログラムを格納している他の機能実行装置が存在する場合には、第２の解放部は、第３の機能プログラムが格納されている第２の領域を解放する。この結果、第１のメモリの残容量が大きくなり、第１のメモリが第１の機能プログラムを格納し得る。第３の機能プログラムを格納している他の機能実行装置が存在する場合には、上記の他の機能実行装置は、第３の機能プログラムを利用して機能を実行することができる。そのため、第３の機能プログラムを利用して機能が実行されることをユーザが希望する場合には、ユーザは、上記の他の機能実行装置に当該機能を実行させることができる。従って、第３の機能プログラムが格納されている第２の領域が解放されても、第３の機能プログラムを第１のメモリに再び格納させる作業をユーザが実行しなければならない状況が発生するのを抑制することができる。
【０００７】
第１の判断部は、第１の領域又は第２の領域が解放される場合に、第１の判断処理を再び実行してもよい。この構成によると、第１の領域又は第２の領域の解放によって、第１の機能プログラムを格納するための残容量が第１のメモリ内に確保されたか否かを判断することができる。再び実行される第１の判断処理で否定的に判断される場合に、利用回数がゼロである他の第２の機能プログラム、又は、利用回数が少ない他の第３の機能プログラムが格納されている領域が解放されてもよい。
【０００８】
第３の判断処理において否定的に判断される場合に、第２の解放部は、第２の領域を解放しなくてもよい。この場合、特定部は、第２のメモリの格納内容に基づいて、利用回数が次に少ない新たな第３の機能プログラムを特定してもよい。第３の判断処理において否定的に判断される状況は、機能実行装置自身のみが第３の機能プログラムを格納していることを意味する。そのような場合において、第３の機能プログラムが格納されている第２の領域が解放されると、その後に、第３の機能プログラムを利用して機能が実行されることをユーザが希望する場合に、ユーザは、第３の機能プログラムを第１のメモリに再び格納させる作業を実行しなければならない。上記の構成によると、第３の判断処理において否定的に判断される場合に、第３の機能プログラムが格納されている第２の領域が解放されない。従って、上記の作業をユーザが実行しなければならない状況が発生するのを抑制することができる。さらに、上記の構成によると、第１の機能プログラムを第１メモリ内に格納するための残容量を確保するために、利用回数が次に少ない新たな第３の機能プログラムを特定することができる。
【０００９】
第２のメモリは、さらに、複数の機能プログラムのうちの少なくとも１つの機能プログラムについて、当該機能プログラムを利用して実行される機能に関連する関連情報を格納してもよい。また、上記の機能実行装置は、第３の判断処理において肯定的に判断される場合であり、かつ、第３の機能プログラムについて特定の関連情報が第２のメモリに格納されている場合に、上記の他の機能実行装置に上記の特定の関連情報を送信する関連情報送信部をさらに備えてもよい。この構成によると、関連情報送信部は、第３の機能プログラムを格納している上記の他の機能実行装置に、第３の機能プログラムを利用して実行される機能に関連する上記の特定の関連情報を送信することができる。これにより、例えば、ユーザは、上記の他の機能実行装置の操作部を操作することによって、上記の特定の関連情報を上記の他の機能実行装置に入力せずに済む。
【００１０】
第２のメモリは、さらに、第１のアドレス情報を格納してもよい。また、上記の機能実行装置は、第３の判断処理において肯定的に判断される場合に、第１のアドレス情報を送信先として所定の通知を送信する通知送信部をさらに備えてもよい。この構成では、例えば、ユーザは、自身が使用する端末装置に対応する第１のアドレス情報を機能実行装置に登録することができる。この場合、ユーザは、上記の所定の通知を見ることによって、機能実行装置において第３の機能プログラムを利用した機能の実行が不可能になったことを知ることができる。
【００１１】
第２のメモリは、複数の機能プログラムのうちの少なくとも１つの機能プログラムについて、複数のユーザに対応する複数のユーザ情報を格納してもよい。複数のユーザ情報のそれぞれは、ユーザのアドレス情報と、当該ユーザの指示に従って当該１つの機能プログラムを利用して特定の機能を実行したのか否かを示す実績情報と、を含んでいてもよい。通知送信部は、第３の判断処理において肯定的に判断される場合であり、かつ、第３の機能プログラムについて、肯定的な実績情報を含む第１のユーザ情報が格納されている場合に、第１のユーザ情報に含まれる上記の第１のアドレス情報を送信先として上記の所定の通知を送信してもよい。この構成によると、第３の機能プログラムを利用して機能を実行することを実際に指示したユーザに対応する第１のアドレス情報を送信先として、上記の所定の通知が送信される。実際に指示したユーザは、機能実行装置において第３の機能プログラムを利用した機能の実行が不可能となったことを知ることができる。
【００１２】
通知送信部は、第３の判断処理において肯定的に判断される場合であり、かつ、第３の機能プログラムについて、否定的な実績情報を含む第２のユーザ情報が格納されている場合に、第２のユーザ情報に含まれる第２のアドレス情報を送信先として上記の所定の通知を送信しないようにしてもよい。この構成によると、第３の機能プログラムを利用して機能を実行することを指示していないユーザに対応するアドレス情報を送信先として、上記の所定の通知が送信されない。機能実行装置が上記の所定の通知を送信するための処理負荷を低減することができる。
【００１３】
上記の機能実行装置では、ユーザの指示に従って、複数の機能プログラムの中から、削除されるべきでない特定の機能プログラムを選択する第１の選択部をさらに備えてもよい。第２の判断部は、第２の機能プログラムが、複数の機能プログラムのうちの上記の特定の機能プログラム以外の機能プログラム群に含まれているか否かを判断することによって、前記第２の判断処理を実行してもよい。特定部は、第１の判断処理において否定的に判断される場合に、複数の機能プログラムのうちの上記の特定の機能プログラム以外の機能プログラム群の中から、利用回数が最も少ない第３の機能プログラムを特定してもよい。この構成によると、ユーザの指示によって選択された上記の特定の機能プログラムが削除されず、上記の特定の機能プログラムを第１メモリ内に維持することができる。仮に、利用回数がゼロである機能プログラム、又は、利用回数が少ない機能プログラムであっても、削除されないことをユーザが望む機能プログラムを第１メモリ内に維持することができる。
【００１４】
第２のメモリの格納内容に基づいて、複数の機能プログラムの中から、利用回数が所定回数以上である特定の機能プログラムを選択する第２の選択部をさらに備えてもよい。第２の判断部は、第２の機能プログラムが、複数の機能プログラムのうちの上記の特定の機能プログラム以外の機能プログラム群に含まれているか否かを判断することによって、第２の判断処理を実行してもよい。特定部は、第１の判断処理において否定的に判断される場合に、複数の機能プログラムのうちの上記の特定の機能プログラム以外の機能プログラム群の中から、利用回数が最も少ない前記第３の機能プログラムを特定してもよい。この構成によると、利用回数が所定回数以上である機能プログラムを第１メモリ内に維持することができる。
【００１５】
なお、上記の機能実行装置を実現するための制御方法、及び、コンピュータプログラムも新規で有用である。また、上記の機能実行装置と上記の他の機能実行装置とを含むシステムも新規で有用である。
【図面の簡単な説明】
【００１６】
【図１】機能実行システムの構成の一例を示す。
【図２】ユーザ情報テーブルの一例を示す。
【図３】関連情報テーブルの一例を示す。
【図４】多機能機処理のフローチャートを示す。
【図５】図４の続きのフローチャートを示す。
【発明を実施するための形態】
【００１７】
（第１実施例）
（システムの構成）
図面を参照して第１実施例を説明する。図１は、本実施例の機能実行システム２の概略図を示す。機能実行システム２は、ＬＡＮ４と、ＰＴＳＮ６と、インターネット８と、複数個の多機能機１０、７０と、ＰＣ８０と、Ｗｅｂサーバ９０と、を備える。多機能機１０、７０、及びＰＣ８０は、いずれもＬＡＮ４に接続され、ＬＡＮ４を介して相互に通信可能である。また、多機能機１０、７０、及びＰＣ８０は、ＬＡＮ４を介して、インターネット８にアクセスすることができる。多機能機１０、７０、及びＰＣ８０は、インターネット８に接続されているＷｅｂサーバ９０と通信可能である。
【００１８】
（多機能機の構成）
多機能機１０の構成について説明する。多機能機７０は、多機能機１０と同様の構成を有する。多機能機１０は、プリンタ機能、スキャナ機能、コピー機能、電子メール通信機能、ＦＡＸ機能、インターネットＦＡＸ機能、Ｗｅｂサーバ機能、無線通信機能、ＳｃａｎＴｏＦＴＰ（Scan To File Transfer Protocol）機能等の多機能を備える。多機能機１０は、制御部１２と、ＲＯＭ１４（ここでは、書き換え可能なＲＯＭ（例えばＥＥＰＲＯＭ））と、ＮＶ−ＲＡＭ１６と、Ｄ−ＲＡＭ１８と、印刷実行部２０と、表示部２２と、スキャン実行部２４と、操作部２６と、ネットワークインターフェイス２８と、ＰＳＴＮ（Public Switched Telephone Networks）インターフェイス３０と、無線通信インターフェイス３２と、を備える。
【００１９】
制御部１２は、ＲＯＭ１４に格納された機能プログラム６４を含む各種プログラムに従って処理を実行する。制御部１２が上記の各種プログラムに従って処理を実行することによって、各部４０〜６２の機能が実現される。各部４０〜６２が実行する処理については後で説明する。ＲＯＭ１４は、多機能機１０にプリンタ機能等の上記各機能を実行させるための複数の機能プログラム６４を格納する。ＮＶ−ＲＡＭ１６は、不揮発性のメモリである。ＮＶ−ＲＡＭ１６は、機能情報テーブル６６（図２参照）及び関連情報テーブル６８（図３参照）を格納する。Ｄ−ＲＡＭ１８は、揮発性のメモリである。Ｄ−ＲＡＭ１８は、ＲＯＭ１４から読み出された各種プログラムを展開するためのワーク領域（図示省略）を有する。
【００２０】
印刷実行部２０は、インクジェットヘッド方式、レーザ方式等の印刷機構を備え、制御部１２からの指示に従って印刷を行う。表示部２２は、様々な情報を表示するためのディスプレイである。スキャン実行部２４は、ＣＩＳ、ＣＣＤ等のスキャン機構を備え、スキャン対象物をスキャンすることによって画像データを生成する。操作部２６は、複数のキーによって構成される。ユーザは、操作部２６を操作することによって、様々な指示を多機能機１０に入力することができる。ネットワークインターフェイス２８は、ＬＡＮ４に接続されている。ＰＳＴＮインターフェイス３０は、ＰＳＴＮ６に接続されている。無線通信インターフェイス３２は、無線通信を実行するためのインターフェイスである。
【００２１】
（他のデバイスの構成）
ＰＣ８０は、図示省略の表示部、操作部（キーボード、マウス等）を備える。ユーザは、ＰＣ８０を利用して、他のデバイス（多機能機１０、７０、Ｗｅｂサーバ９０等）にアクセスすることができる。Ｗｅｂサーバ９０は、各種機能プログラムを格納しており、外部からの要求に応じて、機能プログラムを供給する。
【００２２】
（機能情報テーブル６６の構成）
機能情報テーブル６６について、図２を参照して説明する。機能情報テーブル６６は、複数の機能プログラム６４のそれぞれについて、当該機能プログラムに対応する機能情報１００、１０２を含む。１つの機能情報（例えば１００）が１つの機能プログラムに対応する。各機能情報１００、１０２は、機能プログラム識別情報１０４（例えば「Ｆ１」等）、及び、保護フラグ１０６（「ＯＮ」又は「ＯＦＦ」）を含む。機能プログラム識別情報１０４は、ＲＯＭ１４に格納された複数の機能プログラム６４を識別するための識別情報である。保護フラグ１０６は、機能プログラム識別情報１０４に対応する機能プログラムが、ＲＯＭ１４内から削除されないように保護するためのフラグである。例えば、図２の機能情報１００のように、保護フラグ１０６「ＯＮ」に対応付けられた機能プログラム識別情報１０４（「Ｆ１」）に対応する機能プログラムは、ＲＯＭ１４から削除される対象とはならない。一方、機能情報１０２のように、保護フラグ１０６「ＯＦＦ」に対応付けられた機能プログラム識別情報１０４（「Ｆ２」）に対応する機能プログラムは、ＲＯＭ１４から削除される対象になり得る。保護フラグ１０６の機能の詳細については後述する。
【００２３】
各機能情報１００、１０２は、複数のユーザ情報１２０〜１２４、１２６〜１３０を含む。各ユーザ情報１２０等は、ユーザＩＤ１０８と、パスワード１１０と、メールアドレス１１２と、利用回数１１４と、が関連付けられた情報である。ユーザＩＤ１０８は、ユーザを識別するための識別情報である（例えば、「Ｕ１」等）。パスワード１１０は、ユーザの認証を行うためのパスワードである（例えば「Ｐ１」等）。メールアドレス１１２は、電子メールアドレスである（例えば「Ｅ１」等）。利用回数１１４は、機能プログラム識別情報１０４に対応する機能プログラムの利用回数を示す情報である（例えば「０」、「１０」等）。本実施例では、利用回数１１４が示す数字は、所定期間（例えば１年間）内の利用回数を意味する。例えば、ユーザＩＤ「Ｕ１」に対応するユーザは、操作部２６を操作することによって、自身のユーザＩＤ「Ｕ１」と、所望のパスワード「Ｐ１」と、自身の電子メールアドレスと、を多機能機１０に入力する。これにより、「Ｆ１」に対応するユーザ情報１２０と、「Ｆ２」に対応するユーザ情報１２６と、が機能情報テーブル６６内に生成される。この段階では、利用回数１１４は、「０」に設定される。
【００２４】
（関連情報テーブル６８の構成）
続いて、関連情報テーブル６８について、図３を参照して説明する。関連情報テーブル６８は、複数の機能プログラム６４のそれぞれについて、当該機能プログラム６４に対応する組合せ情報１４０〜１４８を含む。各組合せ情報１４０〜１４８は、機能プログラム識別情報１５０と、関連情報１５２と、が関連付けられた情報である。機能プログラム識別情報１５０は、図２における機能プログラム識別情報１０４と同様の識別情報である（例えば「Ｆ１」等）。なお、図２及び図３の例では、「Ｆ１」は、ＦＡＸ機能を多機能機１０に実行させるための機能プログラムに対応する識別情報である。同様に、「Ｆ２」、「Ｆ３」、「Ｆ４」、「Ｆ５」は、それぞれ、インターネットＦＡＸ機能、ＳｃａｎＴｏＦＴＰ機能、無線ＬＡＮ機能、Ｗｅｂサーバ機能、を多機能機１０に実行させるための機能プログラムに対応する識別情報である。関連情報１５２は、各機能プログラムを利用して実行される機能の実行に関連する各種情報を示す。図３の例では、組合せ情報１４０は、プログラム識別情報「Ｆ１（ＦＡＸ機能）」に対応する関連情報１５２として、ＦＡＸ番号テーブル１５４を含む。ＦＡＸ番号テーブル１５４は、複数のＦＡＸ番号を含む。組合せ情報１４２は、「Ｆ２（インターネットＦＡＸ機能）」に対応する関連情報１５２として、メールアドレステーブル１５６を含む。メールアドレステーブル１５６は、複数のメールアドレスを含む。また、組合せ情報１４４は、「Ｆ３（ＳｃａｎＴｏＦＴＰ機能）」に対応する関連情報１５２として、ファイルサーバＵＲＬテーブル１５８を含む。ファイルサーバＵＲＬテーブル１５８は、スキャンデータの送信先である複数のサーバに対応する複数のＵＲＬを含む。なお、「Ｆ４（無線ＬＡＮ機能）」、「Ｆ５（Ｗｅｂサーバ）」は、機能の実行に関連する情報を有さないため、組合せ情報１４６、１４８は、関連情報１５２を含まない。ユーザは、操作部２６を操作することによって、上記の各テーブル１５４、１５６、１５８に含まれるべき情報（例えばＦＡＸ番号）を多機能機１０に入力することができる。これにより、上記の各テーブル１５４、１５６、１５８が、関連情報テーブル６８内に生成される。
【００２５】
（多機能機が実行する処理）
続いて、多機能機１０の制御部１２が実行する各処理について詳しく説明する。なお、他の多機能機７０の制御部（図示省略）も、多機能機１０の制御部１２と同様に処理を実行する。
【００２６】
（多機能機処理）
図４、図５は、多機能機１０の制御部１２が実行する処理のフローチャートを示す。多機能機１０の電源がＯＮされると、多機能機１０の制御部１２は、新たな機能プログラム（以下「第１の機能プログラム」と呼ぶ）をＲＯＭ１４に格納する旨の指示（格納指示）が受信されることを監視する（Ｓ２０）。ユーザは、例えば、ＰＣ８０を操作することによって、Ｗｅｂサーバ９０に格納されている第１の機能プログラムを多機能機１０にインストールする旨の指示をＰＣ８０に入力することができる。この場合、ＰＣ８０は、ＬＡＮ４を介して、Ｗｅｂサーバ９０のＵＲＬと、上記の第１の機能プログラムに対応する機能プログラム識別情報と、を含む格納指示を多機能機１０に送信する。多機能機１０のネットワークインターフェイス２８（図１参照）によって上記の格納指示が受信されると、制御部１２はＳ２０でＹＥＳと判断する。Ｓ２０でＹＥＳの場合、制御部１２は、第１の機能プログラムの容量を示す容量情報を要求する信号をＷｅｂサーバ９０に送信する。Ｗｅｂサーバ９０は、第１の機能プログラムの容量情報を多機能機１０送信する。これにより、制御部１２は、Ｗｅｂサーバ９０から第１の機能プログラムの容量情報を取得する（Ｓ２２）。
【００２７】
次いで、第１の判断部４２（図１参照）は、ＲＯＭ１４が第１の機能プログラムを格納するための残容量を有するのか否か判断する（Ｓ２４）。具体的には、ＲＯＭ１４の現在の残容量と、Ｓ２２で取得された容量情報と、を比較し、ＲＯＭ１４の現在の残容量が第１の機能プログラムの容量情報より大きいか否かを判断する。ＲＯＭ１４の現在の残容量が第１の機能プログラムの容量情報より大きい場合、第１の判断部４２は、Ｓ２４でＹＥＳと判断し、Ｓ４０に進む。一方、ＲＯＭ１４の現在の残容量が第１の機能プログラムの容量情報より小さい場合、第１の判断部４２は、Ｓ２４でＮＯと判断し、Ｓ２６に進む。
【００２８】
Ｓ２６では、制御部１２は、ＲＯＭ１４に現在格納されている各機能プログラムの合計利用回数を算出する。具体的には、制御部１２は、機能情報テーブル６６（図２）から、機能プログラム識別情報「Ｆ１」に関連づけられている複数個の利用回数１１４を読み込みそれらの合計利用回数を算出する。図２の例では、機能プログラム識別情報「Ｆ１」に対応する機能プログラムは、ユーザ「Ｕ１」、「Ｕ３」がそれぞれ「０」回、ユーザ「Ｕ２」が「１０」回利用している（機能情報１００参照）。即ち、機能プログラム識別情報「Ｆ１」の機能プログラムの合計利用回数は「１０」となる。同様に、制御部１２は、他の機能プログラム識別情報「Ｆ２」等の機能プログラムの合計利用回数を算出する。例えば、機能プログラム識別情報「Ｆ２」の機能プログラムの合計利用回数は「２」である。
【００２９】
次いで、制御部１２は、ＲＯＭ１４に現在格納されている各機能プログラムの保護フラグを読み込む（Ｓ２８）。具体的には、制御部１２は、機能情報テーブル６６から、各機能プログラム識別情報１０４に関連付けられている保護フラグ１０６の「ＯＮ」又は「ＯＦＦ」を読み込む。
【００３０】
次いで、第２の判断部（図１参照）は、合計利用回数がゼロの機能プログラムがＲＯＭ１４内に存在するか否かを判断する（Ｓ３０）。具体的には、第２の判断部４６（図１参照）は、Ｓ２８で読み込んだ保護フラグが「ＯＦＦ」である複数の機能プログラムの中に、Ｓ２６で算出した合計利用回数がゼロである機能プログラム（以下「第２の機能プログラム」と呼ぶ）が存在するか否かを判断する。即ち、第２の判断部４６は、Ｓ２８で読み込んだ保護フラグが「ＯＮ」である機能プログラム以外の複数の機能プログラムの中に第２の機能プログラムが存在するか否かの判断を行う。
【００３１】
Ｓ３０でＹＥＳの場合、第２の判断部４２は、複数の第２の機能プログラムが存在するか否か判断する（Ｓ３２）。ここでＹＥＳの場合、第２の判断部４２は、複数の第２の機能プログラムの中から、容量（プログラム量）が最大の第２の機能プログラムを特定する（Ｓ３４）。Ｓ３２でＮＯの場合（１つの第２の機能プログラムしか存在しない場合）、又は、Ｓ３４を終えた場合、Ｓ３６に進む。
【００３２】
Ｓ３６では、第１の解放部４８は、第２の機能プログラムをＲＯＭ１４から削除する。
ＲＯＭ１４から削除される第２の機能プログラムは、Ｓ３４で特定された１つの第２の機能プログラム、又は、Ｓ３２でＮＯの場合における１つの第２の機能プログラムである。また、第１の解放部４８は、図２の機能情報テーブル６６から、第２の機能プログラムを示す機能プログラム識別情報１０４を含む機能情報（例えば１００等）を削除する。さらに、第１の解放部４８は、図３の関連情報テーブル６８から、第２の機能プログラムを示す機能プログラム識別情報１５０を含む組合せ情報（例えば１４０等）を削除する。Ｓ３６を終えると、Ｓ３８に進む。
【００３３】
Ｓ３０でＮＯの場合、図５のＳ５０に進む。Ｓ５０では、特定部５０（図１参照）は、Ｓ２６で算出した合計利用回数が最少の機能プログラムを特定する。具体的には、第２の判断部（図１参照）は、Ｓ２８で読み込んだ保護フラグが「ＯＦＦ」である複数の機能プログラムの中から、Ｓ２６で算出した合計利用回数がゼロでなく最少である機能プログラム（以下「第３の機能プログラム」と呼ぶ）を特定する。即ち、特定部５０は、Ｓ２８で読み込んだ保護フラグが「ＯＮ」である機能プログラム以外の複数の機能プログラムの中から、第３の機能プログラムを特定する。次いで、特定部５０は、合計利用回数が同じである複数の第３の機能プログラムが存在するか否か判断する（Ｓ５２）。ここでＹＥＳの場合、特定部５０は、複数の第３の機能プログラムの中から、容量（プログラム量）が最大の第３の機能プログラムを特定する（Ｓ５４）。Ｓ５２でＮＯの場合（１つの第３の機能プログラムしか存在しない場合）、又は、Ｓ５４を終えた場合、Ｓ５６に進む。
【００３４】
Ｓ５６では、第３の判断部５４（図１参照）は、Ｓ５０又はＳ５４で特定された１つの第３の機能プログラム（以下では「特定の第３の機能プログラム」と呼ぶ）を格納する他の多機能機が存在するのか否かの判断を行う。具体的には、まず、第３の判断部５４は、ＬＡＮ４を介して、特定のコマンドをブロードキャストする。この結果、ＬＡＮ４に接続された他の多機能機７０は、自身のノード名と、自身が格納している複数の機能プログラムの全ての機能プログラム識別情報と、を含む応答を多機能機１０に返信する。第３の判断部５４は、他の多機能機７０からの応答に含まれる複数の機能プログラム識別情報の中に、上記の特定の第３の機能プログラムに対応する機能プログラム識別情報があるのか否かを判断する。
【００３５】
Ｓ５６でＹＥＳの場合、関連情報送信部５６（図１参照）は、上記の特定の第３の機能プログラムに対応する機能プログラム識別情報を含む機能情報（例えば、図２の１０２）を機能情報テーブル６６から特定すると共に、上記の特定の第３の機能プログラムに対応する組合せ情報（例えば、図３の１４２）を関連情報テーブル６８から特定する。関連情報送信部５６（図１参照）は、特定した機能情報及び組合せ情報を上記の他の多機能機７０に送信する（Ｓ６０）。従って、例えば、図２、図３の例において、上記の特定の第３の機能プログラムの機能プログラム識別情報が「Ｆ２」である場合、関連情報送信部５６は、図２の機能情報１０２、及び図３の組合せ情報１４２を他の多機能機７０に送信する。これによって、多機能機７０は、ユーザ情報１２６〜１３０、及び、関連情報であるメールアドレステーブル１５６を受信する。多機能機７０は、多機能機７０内の機能情報テーブル（図示省略）内に上記のユーザ情報１２６〜１３０を上記の機能プログラム識別情報「Ｆ２」と関連付けて格納するとともに、他の多機能機７０の関連情報テーブル（図示省略）内に上記のメールアドレステーブル１５６を上記の機能プログラム識別情報「Ｆ２」と関連付けて格納する。
【００３６】
Ｓ６０を終えると、次いで、通知送信部５８（図１参照）は、ユーザに所定の通知を送信する（Ｓ６２）。具体的には、通知送信部５８は、まず、図２の機能情報テーブル６６内から、上記の特定の第３の機能プログラムに対応する機能プログラム識別情報に関連付けられたユーザ情報（例えば１２６〜１３０）を特定する。次いで、通知送信部５８は、特定したユーザ情報の中から、利用回数１１４が「１」以上である（ゼロでない）ユーザ（例えば、ユーザ情報１２８、１３０のユーザ「Ｕ２」、「Ｕ３」）のメールアドレス１１２（「Ｅ２」、「Ｅ３」）を特定する。利用回数１１４が「１」以上である（ゼロでない）ユーザは、上記の特定の第３の機能プログラムを利用して機能を実行させることを指示した実績のあるユーザを意味する。さらに、通知送信部５８は、特定したメールアドレス（「Ｅ２」、「Ｅ３」）を送信先として所定の通知を送信する。従って、上記の特定の第３の機能プログラムを利用して機能を実行させることを指示した実績のあるユーザに対して、上記の所定の通知が送信されることとなる。所定の通知は、多機能機１０において上記の特定の第３の機能プログラムを利用して機能が実行させることができなくなる旨の情報を含む。この情報は、例えば、多機能機１０に関連する情報（例えば多機能機１０のノード名、ＩＰアドレス、ロケーション情報等）と、上記の特定の第３の機能プログラムに対応する機能名（例えばｉ−ＦＡＸ）と、を含む。また、上記の所定の通知は、多機能機７０が上記の特定の第３の機能プログラムを利用して機能を実行させることが可能である旨の情報を含む。この情報は、例えば、多機能機７０に関連する情報（例えば多機能機７０のノード名、ＩＰアドレス、ロケーション情報等）と、上記の特定の第３の機能プログラムに対応する機能名（例えばｉ−ＦＡＸ）と、を含む。
【００３７】
次いで、第２の解放部５２（図１参照）は、上記の特定の第３の機能プログラムをＲＯＭ１４から削除するとともに、Ｓ６０で多機能機７０に送信された機能情報（例えば１０２）、組合せ情報（例えば１４２）を、それぞれ、図２の機能情報テーブル６６、図３の関連情報テーブル６８から削除する（Ｓ６４）。Ｓ６４を終えると、図４のＳ３８に進む。
【００３８】
Ｓ５６でＮＯの場合、制御部１２は、Ｓ２８で読み込んだ保護フラグが「ＯＦＦ」である複数の機能プログラムのうち、すべての機能プログラムを上記の第３の機能プログラムとして特定したか否かを判断する（Ｓ６６）。Ｓ６６でＹＥＳの場合は、削除可能な第３の機能プログラムがＲＯＭ１４内に存在せず、ＲＯＭ１４内からいずれの機能プログラムを削除することもできないことを意味する。この場合、制御部１２は、エラー処理を行う（Ｓ６８）。具体的には、制御部１２は、ＰＣ８０にエラー通知を送信する。これにより、ＰＣ８０の表示部（図示省略）にエラーを示す情報が表示される。Ｓ６８を終えると、処理が終了する。一方、Ｓ６６でＮＯの場合、Ｓ５０に戻る。Ｓ５０では、特定部５０は、上記の特定の第３の機能プログラム以外の機能プログラム群の中から、新たな第３の機能プログラムを特定する。制御部１２は、特定した新たな第３の機能プログラムについて、上記のＳ５２〜Ｓ５６の処理を再び実行する。
【００３９】
図４のＳ３８では、第１の判断部４２は、Ｓ２４と同様に、ＲＯＭ１４が第１の機能プログラムを格納するための残容量を有するのか否か判断する。即ち、第１の判断部４２は、Ｓ３６における第２の機能プログラムの削除、又は、図５のＳ６４における上記の特定の第３の機能プログラムの削除によって、ＲＯＭ１４内に第１の機能プログラムを格納するための残容量が確保されたのか否かを判断する。Ｓ３８でＮＯの場合、Ｓ２６に戻る。この結果、上記のＳ２６以降の処理が再び実行される。例えば、Ｓ３６で第２の機能プログラムが削除された後に、Ｓ２６以降の処理が再び実行される場合には、利用回数がゼロである他の第２の機能プログラムが存在することを条件として、制御部１２は、上記の他の第２の機能プログラムを削除する。また、例えば、Ｓ６４で上記の特定の第３の機能プログラムが削除された後に、Ｓ２６以降の処理が再び実行される場合には、多機能機７０に格納されている他の第３の機能プログラムが存在することを条件として、制御部１２は、上記の他の第３の機能プログラムを削除する。
【００４０】
Ｓ３８でＹＥＳの場合、Ｓ４０に進む。Ｓ４０では、格納制御部４４（図１参照）は、ＲＯＭ１４内に格納すべき第１の機能プログラムを、Ｗｅｂサーバ９０からダウンロードする。次いで、格納制御部４４は、ダウンロードした第１の機能プログラムをＲＯＭ１４に格納する（Ｓ４２）。第１の機能プログラムがＲＯＭ１４に格納されると、制御部１２は、機能情報テーブル６６内に、第１の機能プログラムに対応する機能情報（例えば図２の１０２）の欄を作成し、第１の機能プログラムを識別する機能プログラム識別情報１０４（例えば「Ｆ２」）と、保護フラグ１０６とを書き込む。なお、保護フラグ１０６は、初期状態では「ＯＦＦ」として書き込まれる。また、ユーザＩＤ１０８、パスワード１１０、メールアドレス１１２は、第１の機能プログラムのＲＯＭ１４への格納後に、ユーザが所定の登録操作を行うことによって、機能情報（例えば１０２）内に書き込まれる。ユーザＩＤ１０８、パスワード１１０、メールアドレス１１２が書き込まれると、初期値「０」の利用回数１１４が関連付けられる。さらに、制御部１２は、関連情報テーブル６８内に、新たな組合せ情報（例えば図３の１４０）の欄を作成し、上記の第１の機能プログラムを識別する機能プログラム識別情報１５０（例えば「Ｆ２」）を格納する。ここで格納される機能プログラム識別情報１５０に対応づけられる関連情報１５２は、ユーザが所定の登録操作を行うことによって書き込まれる。Ｓ４２を終えると、制御部１２は、第１の機能プログラムの格納（インストール）が完了した旨の完了通知をＰＣ８０に送信する（Ｓ４４）。Ｓ４４を終えると、制御部１２は、多機能機処理を終了する。
【００４１】
（機能実行処理）
続いて、機能実行処理について説明する。この機能実行処理は、機能実行部４０（図１参照）が、ユーザの指示に従って、ＲＯＭ１４に格納される機能プログラムを利用して実行する処理である。ここでは、まず、ＦＡＸ送信処理を説明する。ユーザは、操作部２６を操作することによって、所定の開始操作を行うことができる。上記の所定の開始操作が行われると、制御部１２は、表示部２２にＦＡＸ番号テーブル１５４（図３参照）を表示させる。ユーザは、表示されたＦＡＸ番号テーブル１５４から、ユーザが希望するＦＡＸ送信先のＦＡＸ番号を選択することができる。なお、ユーザは、多機能機１０の操作部２６を操作することによって、ＦＡＸ番号を直接入力してもよい。次いで、ユーザは、操作部２６を操作することによって、自己のユーザＩＤ及びパスワードを多機能機１０に入力する。機能実行部４０は、まず、ユーザの認証を行う。具体的には、機能実行部４０は、入力されたユーザＩＤ及びパスワードの組合せが、機能情報テーブル６６内に格納されているか否かを判断する。入力されたユーザＩＤ及びパスワードの組合せが格納されている場合（ユーザ認証が成功した場合）には、機能実行部４０は、ＦＡＸ機能に対応する機能プログラム（機能プログラム識別情報「Ｆ１」に対応する機能プログラム）をＲＯＭ１４内から読み出し、Ｄ−ＲＡＭ１８内に展開する。機能実行部４０は、Ｄ−ＲＡＭ１８内の「Ｆ１」に対応する機能プログラムを利用して、スキャンの実行をスキャン実行部２４に指示し、入力された上記のＦＡＸ番号にスキャンデータを送信する。次いで、機能実行部４０は、図２の機能情報テーブル６６内の「Ｆ１」に対応する利用回数１１４であって、選択されたユーザＩＤ１０８（例えば「Ｕ２」）に関連付けられた利用回数１１４に「１」を加算する。これにより、機能実行処理（ＦＡＸ送信処理）が終了する。
【００４２】
続いて、ＳｃａｎＴｏＦＴＰ処理を説明する。ユーザは、多機能機１０の操作部２６を操作することによって、所定の開始操作を行うことができる。上記の所定の開始操作が行われると、制御部１２は、表示部２２にファイルサーバＵＲＬテーブル１５８（図３参照）を表示させる。ユーザは、表示されたファイルサーバＵＲＬテーブル１５８から、ユーザが希望するスキャンデータ送信先のサーバＵＲＬを選択することができる。次いで、ユーザは、操作部２６を操作することによって、自己のユーザＩＤ及びパスワードを多機能機１０に入力する。機能実行部４０は、まず、ＦＡＸ送信処理の場合と同様に、ユーザの認証を行う。ユーザ認証が成功した場合には、機能実行部４０は、ＳｃａｎＴｏＦＴＰ機能に対応する機能プログラム（機能プログラム識別情報「Ｆ３」に対応する機能プログラム）をＲＯＭ１４内から読み出し、Ｄ−ＲＡＭ１８内に展開する。機能実行部４０は、Ｄ−ＲＡＭ１８内の「Ｆ３」に対応する機能プログラムを利用して、スキャンの実行をスキャン実行部２４に指示し、入力された上記のサーバＵＲＬにスキャンデータを送信する。次いで、機能実行部４０は、図２の機能情報テーブル６６内の「Ｆ３」に対応する利用回数１１４であって、入力されたユーザＩＤ１０８に関連付けられた利用回数１１４に「１」を加算する。これにより、機能実行処理（ＳｃａｎＴｏＦＴＰ処理）が終了する。なお、機能実行部４０は、他の機能（ｉＦＡＸ等）についても、同様に、ユーザの認証を実行し、当該機能に対応する機能プログラムを利用して当該機能を実行し、利用回数のインクリメントを実行する。
【００４３】
（保護フラグ設定処理）
続いて、保護フラグ設定処理について説明する。この保護フラグ設定処理は、第１の選択部６０（図１参照）が、ユーザの指示に従って、図２の機能情報テーブル６６内の各機能プログラム識別情報１０４に対応する保護フラグ１０６の「ＯＮ」と「ＯＦＦ」とを切り替える処理である。ユーザが所定の開始操作（例えば多機能機１０の操作部２６での操作、ＰＣ８０での操作等）を行うと、制御部１２は、多機能機１０の表示部２２又はＰＣ８０の表示部（図示省略）に所定の設定画面を表示させる。設定画面内には、多機能機１０のＲＯＭ１４に格納される各機能プログラムに対応する機能プログラム識別情報と、保護フラグとが関連付けられて表示される。設定画面において、ユーザが、保護フラグの「ＯＮ」又は「ＯＦＦ」の変更を指示すると、第１の選択部６０は、ユーザの指示の内容に従って、図２の機能情報テーブル６６内の各機能プログラム識別情報１０４に対応する保護フラグ１０６の「ＯＮ」と「ＯＦＦ」とを切り替える。その後、ユーザが所定の終了操作を行うと、制御部１２は、保護フラグ設定処理を終了する。
【００４４】
（保護フラグ自動切り替え処理）
続いて、保護フラグ自動切り替え処理について説明する。この保護フラグ自動切り替え処理は、第２の選択部６２（図１参照）が、ＲＯＭ１４に格納される複数の機能プログラムの中から、利用回数が所定回数以上である特定の機能プログラムの保護フラグ１０６を自動的に「ＯＮ」に切り替える処理である。ユーザは、予め所定の登録操作を行うことにより、機能プログラムの保護フラグ１０６を自動的に「ＯＮ」に切り替える閾値となる所定の利用回数を登録しておくことができる。なお、本実施例では、保護フラグ１０６を自動的に「ＯＮ」に切り替える閾値となる所定の利用回数（例えば、１０回）は、機能プログラム毎の全ユーザの合計利用回数である。多機能機１０の電源がＯＮされると、第２の選択部６２は、機能プログラム識別情報１０４毎の全ユーザの利用回数１１４の合計（合計利用回数）が、ユーザが予め登録した所定の利用回数以上となったか否かを監視する。特定の機能プログラム識別情報１０４（例えば、図２の「Ｆ１」）の全ユーザの利用回数１１４の合計が、上記の所定の利用回数以上（例えば１０回以上）となった場合、第２の選択部６２は、上記の特定の機能プログラム識別情報１０４に対応する保護フラグ１０６を「ＯＦＦ」から「ＯＮ」に切り替える。なお、上記の特定の機能プログラム識別情報１０４に対応する保護フラグ１０６が既に「ＯＮ」に設定されていた場合、第２の選択部６２は保護フラグ１０６の切り替えは行わない。
【００４５】
上記の説明から明らかなように、第１実施例の多機能機１０、多機能機７０が、本発明の機能実行装置、他の機能実行装置の一例である。また、第１実施例のＲＯＭ１４、ＮＶ−ＲＡＭ１６が、それぞれ本発明の第１のメモリ、第２のメモリの一例である。図２のメールアドレス１１２が、本発明のアドレス情報の一例である。また、図２のユーザ情報１２０〜１２４、１２６〜１３０が、本発明の複数のユーザに対応する複数のユーザ情報の一例である。図２の利用回数１１４が、本発明の実績情報の一例である。図４のＳ２４、Ｓ３８の処理が、本発明の第１の判断処理の一例である。図４のＳ３０〜Ｓ３４が、本発明の第２の判断処理の一例である。図５のＳ５６が、本発明の第３の判断処理の一例である。
【００４６】
第１実施例について詳しく説明した。図４のＳ３６に示されるように、多機能機１０は、合計利用回数がゼロである第２の機能プログラムがＲＯＭ１４内に格納されている場合、ＲＯＭ１４内から第２の機能プログラムを削除する。従って、第２の機能プログラムを第１のメモリに再び格納させる作業をユーザが実行しなければならない状況が発生するのを抑制することができる。一方、図５のＳ６４に示されるように、利用回数がゼロでなく最も少ない第３の機能プログラムを格納している他の多機能機７０が存在する場合、多機能機１０は、ＲＯＭ１４内から第３の機能プログラムを削除する。この結果、ＲＯＭ１４の残容量が大きくなり、ＲＯＭ１４が第１の機能プログラムを格納し得る。また、第３の機能プログラムを利用して機能が実行されることをユーザが希望する場合には、ユーザは、上記の他の多機能機７０に当該機能を実行させることができる。従って、第３の機能プログラムが削除されても、第３の機能プログラムをＲＯＭ１４に再び格納させる作業をユーザが実行しなければならない状況が発生するのを抑制することができる。
【００４７】
図４のＳ３８に示されるように、多機能機１０は、第２の機能プログラム又は第３の機能プログラムが削除される場合に、第１の機能プログラムを格納するための十分な残容量がＲＯＭ１４内にあるか否かを再び判断することができる。そのため、十分な残容量がＲＯＭ１４内に確保されなかった場合、利用回数がゼロである他の第２の機能プログラム、又は、利用回数が少ない他の第３の機能プログラムを削除する処理を行うことができる。
【００４８】
図５のＳ６６でＮＯの場合のように、多機能機１０は、第３の機能プログラムを格納している他の多機能機７０が存在しない場合に、合計利用回数が次に少ない新たな第３の機能プログラムを特定する。そのため、第３の機能プログラムを格納している他の多機能機７０が存在しない場合であっても、第３の機能プログラムを削除することなくＲＯＭ１４内に維持することができる。その一方で、第１の機能プログラムをＲＯＭ１４内に格納するための残容量を確保するべく、利用回数が次に少ない新たな第３の機能プログラムを特定することもできる。
【００４９】
図５のＳ６０に示されるように、多機能機１０は、第３の機能プログラムを格納している他の多機能機７０が存在する場合に、他の多機能機７０に関連情報１５２（図２参照）を含む組合せ情報１４０等を送信する。ユーザが他の多機能機７０において関連情報１５２を格納させる操作を行う必要がない。
【００５０】
図５のＳ６２に示されるように、通知送信部５８は、第３の機能プログラムを格納している他の多機能機７０が存在する場合に、利用回数１１４が「１」以上のユーザのメールアドレスを送信先として所定の通知を送信する。多機能機１０によって第３の機能プログラムを利用した機能の実行が不可能となる旨を、多機能機１０によって第３の機能プログラムを利用して機能を実行した実績のあるユーザに知らせることができる。一方、利用回数１１４がゼロであるユーザには上記の所定の通知は送信しない。多機能機１０が上記の所定の通知を送信するための処理負荷を低減することができる。
【００５１】
また、多機能機１０は、ユーザの指示に従って、複数の機能プログラムの中から、削除されるべきでない特定の機能プログラムを選択して、保護フラグ１０６を「ＯＮ」に設定することができる。保護フラグ１０６が「ＯＮ」に設定された機能プログラムは、図４及び図５の処理において削除の対象から外される。利用回数がゼロの機能プログラム又は最も少ない機能プログラムであっても、当該機能プログラムの保護フラグ１０６が「ＯＮ」に設定されていれば、当該機能プログラムをＲＯＭ１４内に維持することができる。また、第２の選択部６２は、合計利用回数が所定回数以上である機能プログラムの保護フラグ１０６を自動的に「ＯＮ」に切り替える。合計利用回数が所定回数以上である機能プログラムをＲＯＭ１４内に維持することができる。
【００５２】
（第２実施例）
第２実施例について説明する。第１実施例では、合計利用回数がゼロの第２の機能プログラムが存在しない場合に（Ｓ３０：ＮＯ）、特定部５０が、合計利用回数が最も少ない第３の機能プログラムを特定する処理を行っている（Ｓ５０）。しかしながら、本実施例では、以下のように処理を実行してもよい。即ち、制御部１２は、まず、Ｓ２６において、ＲＯＭ１４に格納される複数の機能プログラムの中から、合計利用回数が最少（ゼロも含む）の機能プログラムを特定する。次いで、制御部１２は、特定された機能プログラムの利用回数が何回であるのかを判定する。回数がゼロであった場合には、第２の判断部４６が当該機能プログラムを第２の機能プログラムと判断する。その場合、第１の解放部４８は図４のＳ３６と同様に第２の機能プログラムをＲＯＭ１４から削除する。一方、回数がゼロでなかった場合には、特定部５０が当該機能プログラムを第３の機能プログラムとして特定する。第３の判断部５４は図５のＳ５６と同様に、第３のプログラムを格納する他の多機能機が存在するか否かの判断を行う。本実施例も、本発明の「第２の判断部」の構成、及び、「特定部」の構成に含まれる。
【００５３】
上記の各実施例の変形例を以下に列挙する。
（１）上記の各実施例では、第２の機能プログラム又は第３の機能プログラムをＲＯＭ１４内から削除することによって、ＲＯＭ１４を解放する（図４のＳ３６、図５のＳ６４参照）が、第２の機能プログラムを格納するＲＯＭ１４内の領域、又は、第３の機能プログラムを格納するＲＯＭ１４内の領域を、上書き可能な状態にすることによって、ＲＯＭ１４を解放してもよい。
【００５４】
（２）図２における利用回数１１４に格納される回数は、上記の各実施例のように所定期間（例えば１年間）の利用回数には限られず、例えば、過去の全期間の積算利用回数であってもよい。
【００５５】
（３）図１のＲＯＭ１４は、複数のメモリから構成されていてもよい。従って、例えば、多機能機１０は、「Ｆ１」に対応する機能プログラムを格納するためのＲＯＭと、「Ｆ２」に対応する機能プログラムを格納するための他のＲＯＭと、備えていてもよい。この構成の場合、上記の２つのＲＯＭが、本発明の「第１のメモリ」を構成する。また、ＮＶ−ＲＡＭ１６は、複数のメモリから構成されていてもよい。従って、例えば、多機能機１０は、図２の機能情報テーブル６６を格納する不揮発性メモリと、図３の関連情報テーブル６８を格納する他の不揮発性メモリと、を備えていてもよい。この場合、上記の２つの不揮発性メモリが、本発明の「第２のメモリ」を構成する。
【００５６】
（４）図５のＳ６２において、通知送信部５８は、上記の特定の第３の機能プログラムの利用実績のあるユーザに限らず、すべてのユーザに対して上記の所定の通知を送信するようにしてもよい。
【００５７】
（５）保護フラグ自動切り替え処理における、保護フラグ１０６を自動的に「ＯＮ」に切り替える閾値となる所定の利用回数は、機能プログラム毎の全ユーザの合計利用回数に代えて、いずれかのユーザの利用回数、としてもよい。
【００５８】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００５９】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００６０】
２：機能実行システム、４：ＬＡＮ、６：ＰＳＴＮ、８：インターネット、１０、７０：多機能機、１２：制御部、１４：ＲＯＭ、１６：ＮＶ−ＲＡＭ、１８：Ｄ−ＲＡＭ、２０：印刷実行部、２２：表示部、２４：スキャン実行部、２６：操作部、２８：ネットワークインターフェイス、３０：ＰＳＴＮインターフェイス、３２：無線通信インターフェイス、４０：機能実行部、４２：第１の判断部、４４：格納制御部、４６：第２の判断部、４８：第１の解放部、５０：特定部、５２：第２の解放部、５４：第３の判断部、５６：関連情報送信部、５８：通知送信部、６０：第１の選択部、６２：第２の選択部、８０：ＰＣ、９０：Ｗｅｂサーバ
【図１】
2011076234.tif 000003
【図２】
2011076234.tif 000004
【図３】
2011076234.tif 000005
【図４】
2011076234.tif 000006
【図５】
2011076234.tif 000007