(57)【要約】【課題】複数のアプリケーションの起動処理、停止処理をより適切に行うことで、様々な使用環境の職場においてユーザが快適に複合機を利用できるようにする。【解決手段】ログアウト時に停止状態のアプリケーションのうち、次のログイン時に使用される可能性の高いアプリケーションを判断して起動処理するように制御する。さらに、起動処理を実行中のアプリケーションの数が所定数以下となるように制限する。【選択図】図１４
2010039761.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションが動作するアプリケーションプラットフォームであって、
ユーザの指示を受け付けるユーザインターフェースと、
前記ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、
前記アプリケーション選択手段で選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定手段と、
アプリケーションを起動処理する起動処理手段と、
前記ログアウト時に、前記起動候補設定手段で起動候補に設定されたアプリケーションを前記起動処理手段によって起動処理させる制御手段と
を備えることを特徴とするアプリケーションプラットフォーム。
【請求項２】
複数のアプリケーションが動作するアプリケーションプラットフォームであって、
ユーザの指示を受け付けるユーザインターフェースと、
前記ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、
前記アプリケーション選択手段で選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定手段と、
前記アプリケーション選択手段で選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定手段と、
アプリケーションを起動処理する起動処理手段と、
アプリケーションを停止処理する停止処理手段と、
前記ログアウト時に、前記起動候補設定手段で起動候補に設定されたアプリケーションを前記起動処理手段によって起動処理させ、前記停止候補設定手段で停止候補に設定されたアプリケーションを前記停止処理手段によって停止処理させる制御手段と
を備えることを特徴とするアプリケーションプラットフォーム。
【請求項３】
ユーザを登録するユーザ登録手段と、
アプリケーション毎に前記ユーザ登録手段で登録されたすべてのユーザによる使用頻度を累計する手段と
をさらに備え、
前記アプリケーション選択手段は、ユーザのログアウト時に、前記使用頻度が高い順に起動状態にするアプリケーションを選択する
ことを特徴とする請求項１または２に記載のアプリケーションプラットフォーム。
【請求項４】
前記アプリケーション選択手段は、ユーザがログアウトを行った後、所定時間の経過を待って起動状態にするアプリケーションを選択することを特徴とする請求項１乃至３のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項５】
前記制御手段は、前記起動候補に設定されたアプリケーションについて起動することができるか否かを判定し、起動することができると判定された場合に前記起動候補に設定されたアプリケーションを前記起動処理手段によって起動処理するように制御することを特徴とする請求項１乃至４のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項６】
前記制御手段は、前記起動候補に設定されたアプリケーションについて起動することができるか否かを、アプリケーションの起動に必要なリソースの空きがあるか否かにより判定することを特徴とする請求項５に記載のアプリケーションプラットフォーム。
【請求項７】
前記制御手段は、前記アプリケーションの起動に必要なリソースの空きがあるか否かを、インストールされているアプリケーションの中で最も多くのリソースを必要とするアプリケーションのリソースサイズ分の空きがあるかどうかにより判定することを特徴とする請求項６に記載のアプリケーションプラットフォーム。
【請求項８】
前記制御手段は、前記停止候補に設定されたアプリケーションについて停止することができるか否かを判定し、停止することができると判定された場合に前記停止候補に設定されたアプリケーションを前記停止処理手段によって停止処理するように制御することを特徴とする請求項２乃至４のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項９】
前記制御手段は、前記起動処理手段によって起動処理されるアプリケーションを、所定数以下に制限することを特徴とする請求項１乃至４のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項１０】
前記制御手段は、ユーザが前記ユーザインターフェースを介して特定のアプリケーションについて指示した処理を、前記ログアウトに時に行う前記起動処理および／または前記停止処理に優先させることを特徴とする請求項１乃至４のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項１１】
前記アプリケーション選択手段で起動状態にするアプリケーションを選択した後に、ユーザが新たにログインを行っていないかどうかを判断する手段をさらに備え、
前記ログインを行っていないかどうかを判断する手段でユーザが新たにログインを行っていると判断された場合には、前記制御手段による処理を行わないことを特徴とする請求項１乃至４のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項１２】
複数のアプリケーションが動作するアプリケーションプラットフォームであって、
ユーザの指示を受け付けるユーザインターフェースと、
前記ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、
前記アプリケーション選択手段で選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定手段と、
アプリケーションを停止処理する停止処理手段と、
前記ログイン時に、前記停止候補設定手段で停止候補に設定されたアプリケーションを前記停止処理手段によって停止処理させる制御手段と
を備えることを特徴とするアプリケーションプラットフォーム。
【請求項１３】
複数のアプリケーションが動作するアプリケーションプラットフォームであって、
ユーザの指示を受け付けるユーザインターフェースと、
前記ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、
前記アプリケーション選択手段で選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定手段と、
前記アプリケーション選択手段で選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定手段と、
アプリケーションを起動処理する起動処理手段と、
アプリケーションを停止処理する停止処理手段と、
前記ログイン時に、前記起動候補設定手段で起動候補に設定されたアプリケーションを前記起動処理手段によって起動処理させ、前記停止候補設定手段で停止候補に設定されたアプリケーションを前記停止処理手段によって停止処理させる制御手段と
を備えることを特徴とするアプリケーションプラットフォーム。
【請求項１４】
ユーザを登録するユーザ登録手段と、
前記ユーザ登録手段で登録されたユーザ毎にアプリケーションの使用頻度を累計する手段と
をさらに備え、
前記アプリケーション選択手段は、ユーザのログイン時に、ログインユーザによる前記使用頻度が高い順に起動状態にするアプリケーションを選択することを特徴とする請求項１２または１３に記載のアプリケーションプラットフォーム。
【請求項１５】
前記制御手段は、前記起動候補に設定されたアプリケーションについて起動することができるか否かを判定し、起動することができると判定された場合に前記起動候補に設定されたアプリケーションを前記起動処理手段によって起動処理するように制御することを特徴とする請求項１３または１４に記載のアプリケーションプラットフォーム。
【請求項１６】
前記制御手段は、前記起動候補に設定されたアプリケーションについて起動することができるか否かを、アプリケーションの起動に必要なリソースの空きがあるか否かにより判定することを特徴とする請求項１５に記載のアプリケーションプラットフォーム。
【請求項１７】
前記制御手段は、前記アプリケーションの起動に必要なリソースの空きがあるか否かを、インストールされているアプリケーションの中で最も多くのリソースを必要とするアプリケーションのリソースサイズ分の空きがあるかどうかにより判定することを特徴とする請求項１６に記載のアプリケーションプラットフォーム。
【請求項１８】
前記制御手段は、前記停止処理手段によって停止処理されるアプリケーションを、所定数以下に制限することを特徴とする請求項１２乃至１４のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項１９】
前記制御手段は、ユーザが前記ユーザインターフェースを介して特定のアプリケーションについて指示した処理を、前記ログインに時に行う前記起動処理および／または前記停止処理に優先させることを特徴とする請求項１２乃至１４のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項２０】
前記アプリケーション選択手段で起動状態にするアプリケーションを選択した後に、ユーザが新たにログアウトを行っていないかどうかを判断する手段をさらに備え、
前記ログアウトを行っていないかどうかを判断する手段でユーザが新たにログアウトを行っていると判断された場合には、前記制御手段による処理を行わないことを特徴とする請求項１２乃至１４のいずれか１項に記載のアプリケーションプラットフォーム。
【請求項２１】
複数のアプリケーションが動作するアプリケーションプラットフォームを管理する方法であって、
ユーザインターフェースを介してユーザの指示を受け付けるステップと、
前記ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択ステップと、
前記アプリケーション選択ステップで選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定ステップと、
アプリケーションを起動処理する起動処理ステップと、
前記ログアウト時に、前記起動候補設定ステップで起動候補に設定されたアプリケーションを前記起動処理ステップによって起動処理させる制御ステップと
を含むことを特徴とする方法。
【請求項２２】
複数のアプリケーションが動作するアプリケーションプラットフォームを管理する方法であって、
ユーザインターフェースを介してユーザの指示を受け付けるステップと、
前記ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択ステップと、
前記アプリケーション選択ステップで選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定ステップと、
前記アプリケーション選択ステップで選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定ステップと、
アプリケーションを起動処理する起動処理ステップと、
アプリケーションを停止処理する停止処理ステップと、
前記ログアウト時に、前記起動候補設定ステップで起動候補に設定されたアプリケーションを前記起動処理ステップによって起動処理させ、前記停止候補設定ステップで停止候補に設定されたアプリケーションを前記停止処理ステップによって停止処理させる制御ステップと
を含むことを特徴とする方法。
【請求項２３】
ユーザを登録するステップと、
アプリケーション毎に登録されたすべてのユーザによる使用頻度を累計するステップと
をさらに含み、
前記アプリケーション選択ステップは、ユーザのログアウト時に、前記使用頻度が高い順に起動状態にするアプリケーションを選択することを特徴とする請求項２１または２２に記載の方法。
【請求項２４】
前記アプリケーション選択ステップは、ユーザがログアウトを行った後、所定時間の経過を待って起動状態にするアプリケーションを選択することを特徴とする請求項２１乃至２３のいずれか１項に記載の方法。
【請求項２５】
前記制御ステップは、前記起動候補に設定されたアプリケーションについて起動することができるか否かを判定し、起動することができると判定された場合に前記起動候補に設定されたアプリケーションを前記起動処理ステップによって起動処理するように制御することを特徴とする請求項２１乃至２４のいずれか１項に記載の方法。
【請求項２６】
前記制御ステップは、前記起動候補に設定されたアプリケーションについて起動することができるか否かを、アプリケーションの起動に必要なリソースの空きがあるか否かにより判定することを特徴とする請求項２５に記載の方法。
【請求項２７】
前記制御ステップは、前記アプリケーションの起動に必要なリソースの空きがあるか否かを、インストールされているアプリケーションの中で最も多くのリソースを必要とするアプリケーションのリソースサイズ分の空きがあるかどうかにより判定することを特徴とする請求項２６に記載の方法。
【請求項２８】
前記制御ステップは、前記停止候補に設定されたアプリケーションについて停止することができるか否かを判定し、停止することができると判定された場合に前記停止候補に設定されたアプリケーションを前記停止処理ステップによって停止処理するように制御することを特徴とする請求項２２乃至２４のいずれか１項に記載の方法。
【請求項２９】
前記制御ステップは、前記起動処理ステップによって起動処理されるアプリケーションを、所定数以下に制限することを特徴とする請求項２１乃至２４のいずれか１項に記載の方法。
【請求項３０】
前記制御ステップは、ユーザが前記ユーザインターフェースを介して特定のアプリケーションについて指示した処理を、前記ログアウトに時に行う前記起動処理および／または前記停止処理に優先させることを特徴とする請求項２１乃至２４のいずれか１項に記載の方法。
【請求項３１】
前記アプリケーション選択ステップで起動状態にするアプリケーションを選択した後に、ユーザが新たにログインを行っていないかどうかを判断するステップをさらに備え、
前記ログインを行っていないかどうかを判断するステップでユーザが新たにログインを行っていると判断された場合には、前記制御ステップによる処理を行わないことを特徴とする請求項２１乃至２４のいずれか１項に記載の方法。
【請求項３２】
複数のアプリケーションが動作するアプリケーションプラットフォームを管理する方法であって、
ユーザインターフェースを介してユーザの指示を受け付けるステップと、
前記ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択ステップと、
前記アプリケーション選択ステップで選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定ステップと、
アプリケーションを停止処理する停止処理ステップと、
前記ログイン時に、前記停止候補設定ステップで停止候補に設定されたアプリケーションを前記停止処理ステップによって停止処理させる制御ステップと
を含むことを特徴とする方法。
【請求項３３】
複数のアプリケーションが動作するアプリケーションプラットフォームを管理する方法であって、
ユーザインターフェースを介してユーザの指示を受け付けるステップと、
前記ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択ステップと、
前記アプリケーション選択ステップで選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定ステップと、
前記アプリケーション選択ステップで選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定ステップと、
アプリケーションを起動処理する起動処理ステップと、
アプリケーションを停止処理する停止処理ステップと、
前記ログイン時に、前記起動候補設定ステップで起動候補に設定されたアプリケーションを前記起動処理ステップによって起動処理させ、前記停止候補設定ステップで停止候補に設定されたアプリケーションを前記停止処理ステップによって停止処理させる制御ステップと
を含むことを特徴とする方法。
【請求項３４】
ユーザを登録するステップと、
登録されたユーザ毎にアプリケーションの使用頻度を累計するステップと
をさらに含み、
前記アプリケーション選択ステップは、ユーザのログイン時に、ログインユーザによる前記使用頻度が高い順に起動状態にするアプリケーションを選択することを特徴とする請求項３２または３３に記載の方法。
【請求項３５】
前記制御ステップは、前記起動候補に設定されたアプリケーションについて起動することができるか否かを判定し、起動することができると判定された場合に前記起動候補に設定されたアプリケーションを前記起動処理ステップによって起動処理するように制御することを特徴とする請求項３３または３４に記載の方法。
【請求項３６】
前記制御ステップは、前記起動候補に設定されたアプリケーションについて起動することができるか否かを、アプリケーションの起動に必要なリソースの空きがあるか否かにより判定することを特徴とする請求項３５に記載の方法。
【請求項３７】
前記制御ステップは、前記アプリケーションの起動に必要なリソースの空きがあるか否かを、インストールされているアプリケーションの中で最も多くのリソースを必要とするアプリケーションのリソースサイズ分の空きがあるかどうかにより判定することを特徴とする請求項３６に記載の方法。
【請求項３８】
前記制御ステップは、前記停止処理ステップによって停止処理されるアプリケーションを、所定数以下に制限することを特徴とする請求項３２乃至３４のいずれか１項に記載の方法。
【請求項３９】
前記制御ステップは、ユーザが前記ユーザインターフェースを介して特定のアプリケーションについて指示した処理を、前記ログインに時に行う前記起動処理および／または前記停止処理に優先させることを特徴とする請求項３２乃至３４のいずれか１項に記載の方法。
【請求項４０】
前記アプリケーション選択ステップで起動状態にするアプリケーションを選択した後に、ユーザが新たにログアウトを行っていないかどうかを判断するステップをさらに備え、
前記ログアウトを行っていないかどうかを判断するステップでユーザが新たにログアウトを行っていると判断された場合には、前記制御ステップによる処理を行わないことを特徴とする請求項３２乃至３４のいずれか１項に記載の方法。
【請求項４１】
コンピュータに、請求項２１至４０のいずれか１項に記載の方法を実行させるためのプログラム。
【請求項４２】
コンピュータに、請求項２１乃至４０のいずれか１項に記載の方法を実行させるためのプログラムを格納した、コンピュータが読み取り可能な記録媒体。
【請求項４３】
複数のアプリケーションが動作するアプリケーションプラットフォームであって、
ユーザの指示を受け付けるユーザインターフェースと、
前記ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、
アプリケーションを起動処理する起動処理手段と、
前記ログアウト時に、前記アプリケーション選択手段で選択されたアプリケーションのうち停止状態のアプリケーションを前記起動処理手段によって起動処理させる制御手段と
を備えることを特徴とするアプリケーションプラットフォーム。
【請求項４４】
複数のアプリケーションが動作するアプリケーションプラットフォームであって、
ユーザの指示を受け付けるユーザインターフェースと、
前記ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、
アプリケーションを停止処理する停止処理手段と、
前記ログイン時に、前記アプリケーション選択手段で選択されなかったアプリケーションのうち起動状態のアプリケーションを前記停止処理手段によって停止処理させる制御手段と
を備えることを特徴とするアプリケーションプラットフォーム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの起動状態を管理するためのアプリケーションプラットフォームに関する。
【背景技術】
【０００２】
従来から、複数のアプリケーションをインストール可能な複合機が提案されている。インストールされるアプリケーションには、例えば、特定の機能をユーザインターフェースを介してユーザに設定させるというようなアプリケーションも存在する。こうしたアプリケーションを数多く複合機にインストールしても、システムのリソース制限により、すべてのアプリケーションを同時に起動させること（起動処理中ではなく、起動している状態）はできず、ユーザがそのすべてを利用することはできない。特に複合機では、いわゆるＰＣなどと比べ情報を記憶する手段の記憶容量が小さいことが多く、システムのリソース制限がより厳しいという現実がある。
【０００３】
特許文献１には、こうした課題を解決するための１つの解決方法が記載されている。具体的には、過去の時間帯別のアプリケーションの使用履歴情報に従って、複合機の起動アプリケーションを切り替える方法が記載されている。この方法は、特定の時間帯（例えば、１０：００〜１２：００）に、以前に使用された特定のアプリケーションが再度、使用される可能性が高い場合には有用であるといえる。例えば、連日、１０：００〜１２：００の午前の時間帯にはコピーアプリケーションが使用され、１２：００〜１７：００の午後の時間帯にはＦＡＸアプリケーションが使用される、といった職場にとっては有用であるといえよう。
【０００４】
【特許文献１】特開２００７−２７９７９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、現実的には、連日、同じ時間帯に同じアプリケーションを使用するというケイスはそれ程多くない。特許文献１の技術は、別の見方をすれば無駄な起動処理あるいは停止処理が行われるともいえる。
【０００６】
本発明は、リソース制限がより厳しい複合機にインストールされた複数のアプリケーションの起動処理、停止処理をより適切に行うことで、様々な使用環境の職場においてユーザが快適に複合機を利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を備える。
【０００８】
本発明のアプリケーションプラットフォームは、ユーザの指示を受け付けるユーザインターフェースと、ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、アプリケーション選択手段で選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定手段と、アプリケーションを起動処理する起動処理手段と、ログアウト時に、起動候補設定手段で起動候補に設定されたアプリケーションを起動処理手段によって起動処理させる制御手段とを備える。
【０００９】
また、好ましくは、ユーザの指示を受け付けるユーザインターフェースと、ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、アプリケーション選択手段で選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定手段と、アプリケーション選択手段で選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定手段と、アプリケーションを起動処理する起動処理手段と、アプリケーションを停止処理する停止処理手段と、ログアウト時に、起動候補設定手段で起動候補に設定されたアプリケーションを起動処理手段によって起動処理させ、停止候補設定手段で停止候補に設定されたアプリケーションを停止処理手段によって停止処理させる制御手段とを備える。
【００１０】
あるいは、上記の課題を解決する手段として、以下の構成を備える。即ち、複数のアプリケーションが動作するアプリケーションプラットフォームであって、ユーザの指示を受け付けるユーザインターフェースと、ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、アプリケーション選択手段で選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定手段と、アプリケーションを停止処理する停止処理手段と、ログイン時に、停止候補設定手段で停止候補に設定されたアプリケーションを停止処理手段によって停止処理させる制御手段とを備える。
【００１１】
また、好ましくは、複数のアプリケーションが動作するアプリケーションプラットフォームであって、ユーザの指示を受け付けるユーザインターフェースと、ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、アプリケーション選択手段で選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定手段と、アプリケーション選択手段で選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定手段と、アプリケーションを起動処理する起動処理手段と、アプリケーションを停止処理する停止処理手段と、ログイン時に、起動候補設定手段で起動候補に設定されたアプリケーションを起動処理手段によって起動処理させ、停止候補設定手段で停止候補に設定されたアプリケーションを停止処理手段によって停止処理させる制御手段とを備える。
【００１２】
あるいは、上記の課題を解決する手段として、以下の構成を備える。即ち、複数のアプリケーションが動作するアプリケーションプラットフォームを管理する方法であって、
ユーザインターフェースを介してユーザの指示を受け付けるステップと、ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択ステップと、アプリケーション選択ステップで選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定ステップと、アプリケーションを起動処理する起動処理ステップと、ログアウト時に、起動候補設定ステップで起動候補に設定されたアプリケーションを起動処理ステップによって起動処理させる制御ステップとを備える。
【００１３】
また、好ましくは、複数のアプリケーションが動作するアプリケーションプラットフォームを管理する方法であって、ユーザインターフェースを介してユーザの指示を受け付けるステップと、ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択ステップと、アプリケーション選択ステップで選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定ステップと、アプリケーション選択ステップで選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定ステップと、アプリケーションを起動処理する起動処理ステップと、アプリケーションを停止処理する停止処理ステップと、ログアウト時に、起動候補設定ステップで起動候補に設定されたアプリケーションを起動処理ステップによって起動処理させ、停止候補設定ステップで停止候補に設定されたアプリケーションを停止処理ステップによって停止処理させる制御ステップとを含む。
【００１４】
あるいは、上記の課題を解決する手段として、以下の構成を備える。即ち、複数のアプリケーションが動作するアプリケーションプラットフォームを管理する方法であって、ユーザインターフェースを介してユーザの指示を受け付けるステップと、ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択ステップと、アプリケーション選択ステップで選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定ステップと、アプリケーションを停止処理する停止処理ステップと、ログイン時に、停止候補設定ステップで停止候補に設定されたアプリケーションを停止処理ステップによって停止処理させる制御ステップとを含む。
【００１５】
また、好ましくは、複数のアプリケーションが動作するアプリケーションプラットフォームを管理する方法であって、ユーザインターフェースを介してユーザの指示を受け付けるステップと、ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択ステップと、アプリケーション選択ステップで選択されたアプリケーションのうち停止状態のアプリケーションを起動候補に設定する起動候補設定ステップと、アプリケーション選択ステップで選択されなかったアプリケーションのうち起動状態のアプリケーションを停止候補に設定する停止候補設定ステップと、アプリケーションを起動処理する起動処理ステップと、アプリケーションを停止処理する停止処理ステップと、ログイン時に、起動候補設定ステップで起動候補に設定されたアプリケーションを前記起動処理ステップによって起動処理させ、停止候補設定ステップで停止候補に設定されたアプリケーションを停止処理ステップによって停止処理させる制御ステップとを含む。
【００１６】
さらに、本発明のコンピュータプログラムは、コンピュータに、上記の方法を実行させる。
【００１７】
そして、本発明のコンピュータ読み取り可能な記録媒体は、コンピュータに、上記の方法を実行させるためのプログラムを記録する。
【００１８】
また、上記の課題を解決する手段として、以下の構成を備える。即ち、複数のアプリケーションが動作するアプリケーションプラットフォームであって、ユーザの指示を受け付けるユーザインターフェースと、ユーザインターフェースを介したユーザのログアウト時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、アプリケーションを起動処理する起動処理手段と、ログアウト時に、アプリケーション選択手段で選択されたアプリケーションのうち停止状態のアプリケーションを起動処理手段によって起動処理させる制御手段とを備える。
【００１９】
さらに、好ましくは、複数のアプリケーションが動作するアプリケーションプラットフォームであって、ユーザの指示を受け付けるユーザインターフェースと、ユーザインターフェースを介したユーザのログイン時に、起動状態にするアプリケーションを選択するアプリケーション選択手段と、アプリケーションを停止処理する停止処理手段と、ログイン時に、アプリケーション選択手段で選択されなかったアプリケーションのうち起動状態のアプリケーションを停止処理手段によって停止処理させる制御手段とを備える。
【発明の効果】
【００２０】
本発明によって、複合機を利用するユーザにストレスを与えることなく、インストールされた複数のアプリケーションの起動処理、停止処理を適切に行うことが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００２２】
[実施形態１]
図１は、本発明のアプリケーションプラットフォームを適用した画像形成装置の構成を示すブロック図である。
【００２３】
（画像形成装置１の説明）
画像形成装置１は、印刷装置１１及び画像処理装置１２から成る。
【００２４】
画像処理装置１２は、ＣＰＵ１２１と直接記憶部１２２（例、ＲＡＭ）と間接記憶部１２３（例、ＲＯＭやＨＤＤ）とユーザインターフェース１２４と外部インターフェース１２５とから成る。
【００２５】
直接記憶部１２２は、ＣＰＵ１２１と直接データをやり取りする記憶部であり、間接記憶部１２３は直接記憶部１２２を介してＣＰＵ１２１とデータをやり取りする記憶部である。直接記憶部１２２には、種々のアプリケーションプログラム及びプラットフォームプログラムが記憶されている。
【００２６】
ユーザインターフェース１２４は、キーボード、マウス、ディスプレイ等から成り、ユーザからの指示の受付け、データ（画面データ）の表示をすることが可能となっている。
【００２７】
外部インターフェース１２５は、外部装置からのデータの受信や外部装置へのデータの送信が可能となっている。例えば、外部装置としては、外付けＨＤＤ、外付けＵＳＢメモリ等の外付け記憶装置、ネットワークを介して接続された別体のホストコンピュータおよび画像形成装置等の別体装置が含まれる。
【００２８】
（プラットフォーム部２０の説明）
ＣＰＵ１２１は、間接記憶部１２３に記憶されたプラットフォームプログラムを直接記憶部１２２に移動する（記憶させる）ことができる。移動が完了すると、ＣＰＵ１２１がプラットフォームプログラムを実行することができる状態になる。本実施形態では、このようにＣＰＵ１２１がプラットフォームプログラムを実行することができる状態になることを、プラットフォーム部２０が「起動する」と呼ぶこととする。
【００２９】
なお、本実施形態における、図1において破線で示されたプラットフォーム部２０は、以下の要素で構成されている。ＣＰＵ１２１、直接記憶部１２２のうちプラットフォームプログラムを記憶している領域、直接記憶部１２２及び間接記憶部１２３のうちＣＰＵ１２１がプラットフォームプログラムを処理した際に得られる情報（例えば、演算結果）を記憶する領域の３つである。
【００３０】
（アプリケーションプログラムの説明）
プラットフォーム部２０は、間接記憶部１２３に記憶された第一のアプリケーションプログラムを直接記憶部１２２に移動する（記憶させる）ことができる。移動が完了すると、プラットフォーム部２０が第一のアプリケーションプログラムを実行することができる状態になる。本実施形態ではこの状態のことを、「（アプリケーションが）起動状態」と呼ぶこととする。
【００３１】
逆に、プラットフォーム部２０は、直接記憶部１２２に記憶された第一のアプリケーションプログラムを直接記憶部１２２から削除することができる。削除されると、プラットフォーム部２０は、第一のアプリケーションプログラムを実行できない状態になる。本実施形態では、この状態のことを「（アプリケーションが）停止状態」と呼ぶこととする。
【００３２】
プラットフォーム部２０は、外部インターフェース部１２５を介して第一のアプリケーションプログラムであるデータを受信し、間接記憶部１２３に記憶することができる。本実施形態ではこのことを、プラットフォーム部２０に第一のアプリケーションプログラムを「インストールする」と呼ぶこととする。
【００３３】
逆に、プラットフォーム部２０は、（プラットフォーム部２０の内部にある）間接記憶部１２３に記憶された第一のアプリケーションを間接記憶部１２３から削除することができる。本実施形態ではこのことを、プラットフォーム部２０が第一のアプリケーションを「アンインストールする」と呼ぶこととする。
【００３４】
なお、プラットフォーム部２０が第一のアプリケーションをアンインストールする際に、第一のアプリケーションが起動している場合には、当該アプリケーションの停止処理を行った後にアンインストールを行う。
【００３５】
また、以上の説明は、第一のアプリケーションプログラムを例にして説明を行ったが、他のアプリケーションプログラム（例えば、第二、第三のアプリケーションプログラム）であっても同様であることは当業者には明白であろう。
【００３６】
（初期画面２００の説明）
図２は、ユーザが画像形成装置１にログインしたときの初期画面の一例である。
【００３７】
ログインとは、ユーザが画像形成装置１のユーザインターフェース１２４を介してユーザIDやパスワードの入力といった所定の操作を経て画像形成装置１を使用できる状態にするための手続である。これに対し、ユーザが画像形成装置１にもはやアクセスできず、アプリケーションを使用できない状態にするための手続がログアウトである。
【００３８】
プラットフォーム部２０は、例えば図１８のようなユーザ情報管理テーブルを用いて、画像形成装置を使用するユーザについてユーザ毎に情報を登録し管理している。ユーザ情報には、ユーザＩＤ、パスワード、ログイン時にユーザインターフェース部１２４のディスプレイ上に表示する初期画面の設定情報、後述するユーザ専用初期画面６００（図６）で使用するアプリケーション管理テーブルのＩＤが含まれる。ログインの手続では、プラットフォーム部２０は、まず、ユーザ情報管理テーブルを読み出す。そして、ユーザインターフェース部１２４を介してユーザから入力されるユーザＩＤとパスワードに従って、対応するユーザのユーザ情報を特定し、そのユーザ情報に従った初期画面をユーザインターフェース部１２４のディスプレイ上に表示する。ユーザがログイン中の間（そのユーザがログインしてからログアウトするまでの期間）、画像形成装置１はユーザインターフェース１２４からの入力はすべてそのユーザによってなされているという前提で動作する。
【００３９】
ユーザによってログインが行われると、プラットフォーム部２０は、ユーザインターフェース１２４のディスプレイ上にログイン時の初期画面として２００を表示する。初期画面２００は、画像形成装置１にインストールされているアプリケーション（例えば、コピーアプリケーションＡ００１）を操作するための操作画面への入り口として、Ｂ２０１〜Ｂ２０８の各ボタンを含んでいる。ユーザインターフェース１２４のディスプレイ上に表示されたＢ２０１〜Ｂ２０８のボタンを介したユーザからの指示に応答して、プラットフォーム部２０は、ユーザインターフェース１２４のディスプレイ上に、対応するアプリケーションの操作画面を表示する。このとき、プラットフォーム部２０は、後述するそれぞれのアプリケーションの状態に従って、ユーザインターフェース１２４のディスプレイ上に表示する画面を制御する。例えば、起動状態にあるアプリケーションがユーザによって選択された場合には、プラットフォーム部２０は選択された当該アプリケーションの操作画面（例えば、図３のコピー画面３００。これについては後述する。）をすぐにユーザインターフェース１２４のディスプレイ上に表示する。一方、起動状態にないアプリケーションがユーザによって選択された場合には、プラットフォーム部２０は当該アプリケーションを起動状態にすると同時に、起動処理中であることをユーザに知らせるための画面（図示しない）を表示する。
【００４０】
なお、「ログアウト」ボタンＢ２２０は、ユーザからログアウト要求を受け付けるためのボタンである。
【００４１】
（コピー画面３００の説明）
図３は、プラットフォーム部２０が、コピーアプリケーションにおいて、ユーザからの指示を受け付ける際に、ユーザインターフェース１２４のディスプレイ上に表示する画面の一例である。
【００４２】
プラットフォーム部２０は、図２に示したような初期画面２００上でユーザが「コピー」ボタンＢ２０１を押下したときに、このコピー画面３００をユーザインターフェース１２４のディスプレイ上に表示する。
【００４３】
（アプリケーションの状態管理の説明）
図４は、アプリケーションの状態遷移を示すステートチャートである。図中の各矢印Ｓ４１１乃至Ｓ４１８は、アプリケーションがどの状態からどの状態へと移行するのかを表しており、例えば、Ｓ４１１は、停止維持４０６の状態から起動候補４０５の状態へと移行することを表している。
【００４４】
プラットフォーム部２０は、アプリケーションの状態として大きく４つの状態で各アプリケーションを管理している。停止状態４０１は、アプリケーションが停止している状態、すなわち、ユーザがアプリケーションを使用できない状態である。起動状態４０２は、アプリケーションが起動している状態、すなわち、ユーザがアプリケーションを使用できる状態である。起動処理中４０３は、アプリケーションが停止状態４０１から起動状態４０２へと移行している状態である。起動処理中４０３においては、プラットフォーム部２０は、アプリケーションの起動のために必要な情報を参照する等の初期設定処理を行っている。停止処理中４０４は、アプリケーションが起動状態４０２から停止状態４０１へと移行している状態である。停止処理中４０４においては、プラットフォーム部２０は、アプリケーションの使用に関する履歴情報を所定のファイルに書き込む等の後処理を行っている。なお、起動処理中と停止処理中のいずれの状態においても、ユーザはアプリケーションを使用することはできない。
【００４５】
停止状態と４０１と起動状態４０２は、それぞれ２つの状態にさらに分けられる。
【００４６】
まず、停止状態４０１は、起動候補４０５と停止維持４０６の２つの状態に分けられる。起動候補４０５は、プラットフォーム部２０が、アプリケーションの起動指示を受けて、アプリケーションを起動することが可能になる条件（図１６におけるＳ１６０１とＳ１６０２）を満足するまで待機している状態である。停止維持４０６は、アプリケーションが停止している状態をプラットフォーム部２０が維持している状態である。
【００４７】
次に、起動状態４０２は、起動維持４０８と停止候補４０７の２つの状態に分けられる。起動維持４０８は、アプリケーションが起動している状態をプラットフォーム部２０が維持している状態である。停止候補４０５は、プラットフォーム部２０が、アプリケーションの停止指示を受けて、アプリケーションを停止することが可能になる条件（図１７におけるＳ１７０１）を満足するまで待機している状態である。
【００４８】
ここで、アプリケーションが起動状態４０２、起動処理中４０３、および停止処理中４０４の時は、プラットフォーム部２０が、そのアプリケーションのためにシステムのリソースを使用している状況である。リソースは、プラットフォーム部２０が使用する直接記憶部１２２の一部の領域であり、インストールされるアプリケーションの数によって変化することのない一定の固定された領域である。このリソースの容量は有限であるため、プラットフォーム部２０は、アプリケーションを停止状態４０１から起動処理中４０３に移行させるときには、リソースの空き状況を確認（図１６におけるＳ１６０１）して移行を判断する。プラットフォーム部２０は、停止中のアプリケーションに対して起動処理を行う前に起動候補４０５として待機させる。言い換えれば、停止維持４０６状態のアプリケーションからいきなり起動処理中４０３の状態にしないことによって、リソースの限界を超えてリソース不足とならないように制御している。
【００４９】
また、起動処理中４０３、および停止処理中４０４の状態のアプリケーションは、他の状態のアプリケーションに比べてＣＰＵ１２１をより多く使用する。ＣＰＵ１２１の処理速度には限界があるため、状態を移行する際には、ＣＰＵ１２１の使用状況を考慮する必要がある。プラットフォーム部２０は、アプリケーションを停止状態４０１から起動処理中４０３に、あるいは、起動状態４０２から停止処理中４０４に移行するときにＣＰＵ１２１の使用状況を確認する（図１６におけるＳ１６０２、および図１７におけるＳ１７０１）。そして、プラットフォーム部２０は、停止状態４０１のアプリケーションを起動処理中４０３の状態に移行する前に起動候補４０５として待機させることによって、ユーザが使用中のアプリケーションの処理速度を下げないようにしている。また、同様に、起動状態４０２のアプリケーションを停止処理中４０４の状態に移行させる前にも、停止候補４０７として待機させることによって、ユーザが使用中の起動状態４０２であるアプリケーションの処理速度を下げないようにしている。
【００５０】
図５は、プラットフォーム部２０がアプリケーションの状態を管理するためのアプリケーション管理テーブルの一例である。これは、後述するログアウト時のアプリケーションの制御において参照される。
【００５１】
アプリケーション管理テーブルは、インストールされているすべてのアプリケーション毎に、「アプリケーションＩＤ」、「アプリケーション名」、「リソースサイズ」、「状態」、「全ユーザによる使用頻度」などの情報で構成される。「アプリケーションＩＤ」は、インストールされているアプリケーションをプラットフォーム部２０で識別するためのものである。「アプリケーション名」は、例えば、図２の初期画面２００上のボタンＢ２０１〜Ｂ２０８に対応する各アプリケーションの名称である。「リソースサイズ」は、当該アプリケーションを起動するのに要するリソースの大きさである。「状態」は、既に説明したとおりの図４に示すアプリケーションの状態である。「全ユーザによる使用頻度」は、それぞれのアプリケーションが過去の一定期間（例えば、一週間）のうちに登録されたすべてのユーザによって使用された回数の累計である。この使用頻度は定期的に更新され、例えば、1日経過するたびにその日から過去一週間の回数が新たに累計される。
【００５２】
図１９は、プラットフォーム部２０がアプリケーションの状態を管理するためのユーザアプリケーション管理テーブルの一例である。このユーザアプリケーション管理テーブルは、前述した図１８のユーザＩＤ「Ｕ０１２３４」に対応するアプリケーション管理テーブルＡＴ０１２３４の実体という位置付けであり、ユーザ単位のアプリケーション管理テーブルである。そして、後述するログイン時のアプリケーションの制御において参照される。
【００５３】
プラットフォーム部２０は、後述のようにカスタマイズ可能なユーザ毎に登録されているそれぞれのアプリケーションとその状態を、このユーザアプリケーション管理テーブルによって管理する。ユーザアプリケーション管理テーブルは、「登録ＩＤ」、「アプリケーションＩＤ」、「アプリケーション名」、「リソースサイズ」「状態」、「個別のユーザによる使用頻度」などの情報で構成されている。「登録ID」は、登録時などを識別するためのものである。「個別のユーザによる使用頻度」は、それぞれのユーザ毎にアプリケーションの使用履歴がカウントされた使用頻度であり、過去一定の期間中にユーザＩＤ「Ｕ０１２３４」によって個々のアプリケーションが使用された回数を示している。したがって、通常、ログインユーザ毎にその内容は異なるものである。その他の「アプリケーションＩＤ」、「アプリケーション名」、「リソースサイズ」、「状態」は、図５のアプリケーション管理テーブルと同じである。
【００５４】
（ユーザ専用初期画面６００の説明）
図６は、ユーザが画像形成装置１にログインしたときにユーザインタフェースのディスプレイ上に表示されるユーザ毎の専用の初期画面の一例である。
【００５５】
プラットフォーム部２０は、ユーザからのログイン要求をユーザインターフェースを介して受け付けたときに、ユーザ単位でカスタマイズ可能なユーザ専用の画面６００（図２の初期画面２００とは別の画面）を初期画面として表示することができる。プラットフォーム部２０は、ログイン時に入力されるユーザ情報に基づいて、ログインを行っているユーザ（以下、「ログインユーザ」と呼ぶ。）に専用の初期画面が登録されているかどうかを判断し、登録されていれば、当該ログインユーザに対応した専用の初期画面６００を表示する。ログインユーザ専用の初期画面が登録されていなければ、デフォルトの初期画面２００を表示する。
【００５６】
「マイジョブ状況」ボタンＢ６１１は、ログインユーザのジョブの処理状況を表示するためのボタンで、図の例では選択されていないことを示す網掛け表示となっている。
【００５７】
「マイジョブ履歴」ボタンＢ６１２は、ログインユーザのジョブの処理履歴を表示するためのボタンで、図の例では選択されている状態であり、その具体的な履歴情報がリストＢ６０１として表示されている。
【００５８】
「マイボタン」ボタンＢ６１３は、ログインユーザが定型業務に関連付けてカスタマイズ登録したボタンを表示するためのボタンである。図の例では、選択されている状態であり、カスタマイズ登録したボタンＢ６１５〜Ｂ６１８が表示されている。例えば、「書類を支店にＦＡＸ／全支店一括」ボタンＢ６１７は、「ＦＡＸ」アプリケーションＡ００５の表示画面が「全支店」の宛先が最初から設定された状態となるようにログインユーザが登録したボタンである。ボタンＢ６１５〜Ｂ６１８とアプリケーションとの関係は、後述する。
【００５９】
プラットフォーム部２０は、ユーザ専用初期画面６００においても、前述した４つのアプリケーションの状態に従って、ユーザインターフェース１２４のディスプレイ上に表示する画面を制御する。ユーザインターフェース１２４を介して、ユーザが既に起動状態にあるアプリケーションを選択した場合には、プラットフォーム部２０は選択されたアプリケーションの操作画面をすぐにユーザインターフェース１２４のディスプレイ上に表示する。選択されたアプリケーションが起動状態にない場合には、プラットフォーム部２０は、当該アプリケーションが起動処理中であることをユーザに知らせるためのメッセージ画面を起動状態になるまでユーザインターフェース１２４のディスプレイ上に表示する。図９の９００は、このメッセージ画面の一例である。
【００６０】
「共有ボタン」ボタンＢ６１４は、どのユーザも共通して利用可能なカスタマイズされていないメニューボタンを表示するためのボタンで、図の例では選択されていないことを示す網掛け表示となっている。この共有ボタンの内容としては、図２のＢ２０１〜Ｂ２０８が考えられる。共有ボタンの内容が図２のＢ２０１〜Ｂ２０８の場合であれば、「共有ボタン」ボタンＢ６１４が押下されると、プラットフォーム部２０は、ボタンＢ６１５〜Ｂ６１８の代わりにボタンＢ２０１〜Ｂ２０８をユーザ専用初期画面６００の中に表示する。
【００６１】
「設定」ボタンＢ６１０は、ユーザ専用初期画面６００をカスタマイズする画面を表示するためのボタンである。カスタマイズ画面（図示せず。）では、「マインボタン」によって表示されるアプリケーションの追加や削除といった編集を主に行う。この他にも、「マインボタン」として表示されているアプリケーション以外のアプリケーションを一時的に使用するために起動したり、あるいは逆に現在使用中のアプリケーションを停止したりすることができる。
【００６２】
例えば、ユーザがこのカスタマイズ画面において特定のアプリケーションを一時的に使用するために選択すると、プラットフォーム部２０は、選択されたアプリケーションに対してユーザから（明示的に）起動処理の指示を受けたものと判断し、以降の処理を行う。
【００６３】
まず、プラットフォーム部２０は、ユーザから起動処理の指示を受けた際に後述するログアウトあるいはログインに応答して行う制御処理を行っていれば、即座にその制御処理を終了する。そして、選択されたアプリケーションを使用頻度とは関係なく、最優先の起動候補４０５に設定する。そして、後述の起動することができる条件が満足するまで待機させる。リソースが足りなくなる場合には、プラットフォーム部２０は、起動候補４０５のうち使用頻度の低いアプリケーションを停止維持４０６に戻す。起動候補４０５のアプリケーションが存在しなければ、起動維持のアプリケーションのうち使用頻度の低いアプリケーションを停止候補４０７に移行する。そして、アプリケーションを起動することができる条件が満足され次第、最優先の起動候補に設定されていたアプリケーションの起動処理を行う。アプリケーションが起動すれば、ユーザは当該アプリケーションを使用して所望の操作（例えば、ＦＡＸアプリケーションであればＦＡＸの送信）を行うことが可能となる。そして、用が済めば当該アプリケーションについて、またすぐに停止する指示を行ってもよい。この場合にも、上記と同様の処理が行われる。すなわち、当該アプリケーションが最優先の停止候補４０７に設定される等の必要な処理が行われ、停止することができる条件が満足され次第、停止処理が行われる。
【００６４】
このように、本発明においては、ユーザがユーザインターフェース１２４を介して明示的に指示を与えた処理は、ユーザのログアウト／ログイン時に自動的に行われる各処理（以下で詳述する使用頻度等を勘案して行われる起動／停止処理）よりも優先的に行われる。
【００６５】
なお、「ログアウト」ボタンＢ６２０は、ユーザからログアウト要求を受け付けるためのボタンである。
【００６６】
図７は、ユーザによってカスタマイズ登録された、各ボタンとアプリケーションとの対応関係の一例を示す図である。
【００６７】
「スピードコピー」を表すボタンＢ６１５はコピー  Ａ００１を参照するように関連付けられている。「中綴じ／製本／右開きで」を表すボタンＢ６１６はコピー  Ａ００１を参照するように関連付けられている。「書籍を支店にＦＡＸ／全支店一括」を表すボタンＢ６１７はＦＡＸ  Ａ００５を参照するように関連付けられている。「取引先へ混載で送信」を表すボタンＢ６１８はスキャンして送信  Ａ００２を参照するように関連付けられている。例えば、ユーザがボタンＢ６１７「書類を支店にＦＡＸ／全支店一括」を選択すると、プラットフォーム部２０は、ボタンＢ６１７に関連付けられている「ＦＡＸ」アプリケーションＡ００５の初期画面をユーザインターフェース１２４のディスプレイ上に表示する。そして、プラットフォーム部２０は、Ａ００５の初期画面に、登録されているＢ６１７のアプリケーションパラメータ（図８参照）に従った設定を加える。
【００６８】
図８は、カスタマイズ登録された各ボタンとアプリケーションとの対応関係をユーザ毎に管理するためのカスタマイズボタン管理テーブルである。
【００６９】
カスタマイズボタン管理テーブルは、ユーザ毎に作成され保存される。プラットフォーム部２０は、ユーザがログインした時に所定の記憶領域（例えば、ＨＤＤ）から当該ログインユーザのカスタマイズボタン管理テーブルを探し出し、テーブル内の情報を読み出す。プラットフォーム部２０は、カスタマイズ登録されたボタンを、例えば、「ボタンＩＤ」、「ボタン名」、「使用アプリケーションＩＤ」、「アプリケーションパラメータ」といった項目名と関連付けて管理する。
【００７０】
（アプリケーションの状態表示についての説明）
図１０は、ユーザが表示設定の切り替えを指示するための画面の一例である。
【００７１】
この例では、「アプリケーションの状態を表示する」かどうかが表示設定画面１０００上で選択可能になっている。ユーザが「はい」を選択すると、プラットフォーム部２０は、初期画面２００やユーザ専用初期画面６００上のアプリケーションを示すボタンに当該アプリケーションの状態を表示する。図１１および図１２は、この状態表示がされた場合の一例を示しており、初期画面２００は図１１のように、ユーザ専用初期画面６００は図１２のように切り替わる。「アプリケーションの状態を表示する」かどうかに関して、ユーザが「いいえ」を選択すると、プラットフォーム部２０は、初期画面２００やユーザ専用初期画面６００をそのまま表示する。
【００７２】
図１１および図１２では、起動状態４０２にあるアプリケーションには、ユーザがすぐに使用可能であることを示す「使用可」という表示が付加されている（図１１ではボタンＢ１１０１〜Ｂ１１０５で、図１２ではボタン１２０１〜１２０２）。停止状態４０１にあるアプリケーションには、すぐには使用できないことを示す「停止中」という表示が付加されている（図１１ではボタンＢ１１０６〜Ｂ１１０８、図１２ではボタン１２０４）。起動処理中４０３にあるアプリケーションには、現在、起動処理を行っていることを示す「起動処理中」という表示が付加されている（図１２ではボタン１２０３）。停止処理中４０４にあるアプリケーションに対応するボタンには、現在、停止処理を行っていることを示す「停止処理中」という表示が付加される（例示なし）。さらに、起動状態以外のアプリケーションに対応するボタンは、無効を意味する網掛けで表示されている（図１１ではボタンＢ１１０６〜Ｂ１１０８で、図１２ではボタンＢ１２０３〜Ｂ１２０４）。なお、無効であることを表すための表示は網掛けでなくてもよく、有効であるボタンに比べて認識しづらいように文字や枠を薄く表示するなど、種々の方法が考えられる。
【００７３】
図１３は、図１２において起動処理中４０３の状態であり網掛けで表示されていた「書類を支店にFAX／全支店一括」アプリケーションの起動処理が終了し、起動状態４０２になったときのユーザ専用初期画面の例である。図１２では、「起動処理中」と表示されていた部分が、図１３では、「使用可」という表示に変わっている。
【００７４】
（ログアウト時のアプリケーション制御）
図１４は、ユーザがログアウトを行ったときに、プラットフォーム部２０でなされるアプリケーション制御の処理手順を説明するフローチャートである。
【００７５】
最初に、プラットフォーム部２０は、図5のアプリケーション管理テーブルを参照して、使用頻度情報とリソースサイズ情報に基づいて、起動状態４０２にするアプリケーションを選択する（Ｓ１４０１）。図５の「使用頻度」は、ログインしたユーザを含めた登録されているすべてのユーザによるアプリケーション毎の使用回数を累計したものであるので、ここで使用頻度の高いアプリケーションは、次のログイン時に使用される可能性の高いアプリケーションである。こうして使用頻度の高い順にアプリケーションを選んでいき、そのリソースサイズの累計値がシステムのリソース制限値（ＲＳＭ）を超えない範囲で最大となるようにアプリケーションを選択する。
【００７６】
すなわち、使用頻度を基準としてアプリケーションを選んでそのリソースサイズを足していき、残ったリソース（ＲＳＭ−累計値）が、次に選ばれたリソースサイズに足りないときは、順次、次に使用頻度の高いアプリケーションを選んでゆく。そして、
リソースサイズの累計値  ＜  ＲＳＭ  
の関係を満たす範囲でリソースサイズの累計値が最大となるようにアプリケーションが決定される。
【００７７】
以下、具体例を用いて説明する。インストールされている各アプリケーションのリソースサイズが図５のとおりであって、システムのリソース制限値ＲＳＭが２０ＭＢであると仮定する。
【００７８】
まず、使用頻度が一番高いアプリケーションＡ００１が選ばれる。そして、２番目に使用頻度が高いアプリケーションＡ００２が選ばれる。ここまでで、Ａ００１のリソースサイズ８ＭＢにＡ００２のリソースサイズ５ＭＢが足され、リソースサイズの累計値は１３ＭＢとなる。さらに、使用頻度が３番目に高いアプリケーションＡ００５が選ばれ、そのリソースサイズ４ＭＢが足される。この段階で、リソースサイズの累計値は１７ＭＢである。次に使用頻度が高いのはＡ００８のアプリケーションであるが、そのリソースサイズは４ＭＢであり、累計値が２０ＭＢを超えてしまうのでこれを選ぶことはできない。そして、Ａ００８の次に使用頻度が高いＡ００６のリソースサイズも６ＭＢであるためやはり選ぶことができない。結局、残りのアプリケーションはすべて４ＭＢ以上なので、これ以上のアプリケーションは選ぶことはできない。よって、プラットフォーム部２０は、Ａ００１、Ａ００２、およびＡ００５のアプリケーションを起動状態４０２にするアプリケーションとして決定することになる。これは裏を返せば、ユーザ全体を通じて使用頻度が低いアプリケーションを、停止状態４０１にするアプリケーションとして決定する作業でもある。
【００７９】
次に、プラットフォーム部２０は、Ｓ１４０１において起動状態にするアプリケーションとして決定されたアプリケーションのうち、現在、停止維持４０６の状態にあるアプリケーションを起動候補４０５に設定する（Ｓ１４０２）。この起動候補設定処理を行うことで、次にログインするユーザが使用する可能性の高いアプリケーションを、リソースの使用状況をみながら起動処理することが可能となる。この起動候補設定処理の際、インストールされているアプリケーションの数が少なく、リソースに余裕がある場合には、使用頻度が低くても起動状態以外のアプリケーションはすべて起動候補に設定される。
【００８０】
さらに、プラットフォーム部２０は、Ｓ１４０１において起動状態にするアプリケーションとして選ばれなかったアプリケーションのうち、現在、起動維持４０８の状態にあるアプリケーションを停止候補４０７に設定する（Ｓ１４０３）。
【００８１】
そして、プラットフォーム部２０は、現在、起動候補４０５の状態にあるアプリケーションが存在するかどうかを判断する（Ｓ１４０４）。起動候補４０５の状態にあるアプリケーションが存在すると判断されれば、次に、プラットフォーム部２０は、ユーザが新たにログインを行っていないかどうかを判断する（Ｓ１４０５）。そして、新たにログインが行われていると判断した場合には、プラットフォーム部２０は、ログアウト時の処理Ｓ１４００を終了する。そして、ログイン時の処理Ｓ１５００に移る。この段階で新たなログインの有無（Ｓ１４０５）の判断を行うことにより、ユーザＸのログアウト直後にユーザＹのログインが行われた場合に、ユーザＸのログアウト処理がすべて完了するまでユーザＹが使用できないという事態を防ぐことができる。なお、「ユーザＸ」と「ユーザＹ」が同一であり、同じユーザによる再ログインの場合も含まれる。
【００８２】
このように、本実施形態によれば、あるユーザがログアウトした後すぐに同じユーザ、あるいは別のユーザがログインした時に、不必要な起動処理、停止処理が行われないので、ユーザを無駄に待たせることがない。
【００８３】
Ｓ１４０５においてログインがされていないと判断されれば、プラットフォーム部２０は、後述するアプリケーションの起動判定処理および停止判定処理を実行する（Ｓ１６００、Ｓ１７００）。停止判定処理が終わると、プラットフォーム部２０は、Ｓ１４０４に戻り、起動候補４０５の状態にあるアプリケーションが存在しなくなるまでＳ１４０４からＳ１７００までの処理を繰り返す。
【００８４】
なお、上述のとおり、ログアウトを行ったユーザが間を置かずに、再度ログインすることがあり得る。したがって、ログアウトの直後にＳ１４０１の処理を開始するのではなく、所定時間（例えば、１０秒）の経過を待ってＳ１４０１の処理を開始してもよい。これにより、ユーザは必要とするアプリケーションを再度すぐに使用することができる。
【００８５】
（ログイン時のアプリケーション制御）
図１５は、ログインが行われたときにプラットフォーム部２０が行うアプリケーション制御の処理手順を説明するフローチャートである。
【００８６】
最初に、プラットフォーム部２０は、図１９のユーザアプリケーション管理テーブルを参照して、ユーザログイン情報とリソースサイズの情報に従って、起動状態４０２にする特定のアプリケーションを選択する（Ｓ１５０１）。ユーザログイン情報は、「マイボタン」として登録されているボタンＢ６１５〜Ｂ６１８に関する情報（図６参照）の他に、それらの各ボタンに関連付けられているアプリケーションに関する情報（図７および図８参照）も含む。ユーザログイン情報の中に登録されているアプリケーションは、現にログインを行っているログインユーザが自ら使用するものとして登録しているアプリケーションである。そして、起動状態４０２にするアプリケーションは、使用頻度の高い順にアプリケーションを選び、そのリソースサイズの累計値がシステムのリソース制限値（ＲＳＭ）を超えない範囲で最大となるように決定されたアプリケーションである。なお、図１９の説明で述べたように、ここでの「使用頻度」は、個別のユーザ毎にアプリケーションの使用履歴がカウントされた使用頻度である。したがって、この場合に使用頻度が低いアプリケーションは、当該ログインユーザがログイン中に使用しない可能性の高いアプリケーションである。
【００８７】
次に、プラットフォーム部２０は、Ｓ１５０１において起動状態にするアプリケーションとして選ばれたアプリケーションのうち、現在、停止維持４０６の状態にあるアプリケーションを起動候補４０５に設定する（Ｓ１５０２）。
【００８８】
さらに、プラットフォーム部２０は、現在、起動維持４０８の状態にあるアプリケーションのうち、Ｓ１５０１において起動状態にするアプリケーションに選ばれなかったアプリケーションを停止候補４０７に設定する（ｖ１５０３）。この停止候補設定処理を行うことで、当該ログインユーザがログイン中に使用しない可能性の高いアプリケーションを、リソースの使用状況をみながら停止処理することが可能となる。
【００８９】
そして、プラットフォーム部２０は、現在、起動候補４０５の状態にあるアプリケーションが存在するかどうかを判断する（Ｓ１５０４）。起動候補４０５の状態にあるアプリケーションが存在すると判断されれば、次に、プラットフォーム部２０は、ユーザが新たにログアウトを行っていないかどうかを判断する（Ｓ１５０５）。そして、新たにログアウトが行われていると判断した場合には、プラットフォーム部２０は、ログイン時の処理Ｓ１５００を終了する。そして、ログアウト時の処理Ｓ１４００に移る。この段階でログアウトの有無（Ｓ１５０５）の判断を行うことにより、あるユーザがログインした直後にログアウトしたような場合に、不要な起動処理や停止処理をすぐに中止することができる。また、これによって、別のユーザに画像形成装置１の使用を譲る目的でログアウトしたようなときに、譲ってもらったユーザが直ちに画像形成装置１を使用することができる。
【００９０】
Ｓ１５０５においてログアウトがされていないと判断されれば、プラットフォーム部２０は、後述するアプリケーションの起動判定処理および停止判定処理を実行する（Ｓ１６００、Ｓ１７００）。停止判定処理が終わると、プラットフォーム部２０は、Ｓ１５０４に戻り、起動候補４０５の状態にあるアプリケーションが存在しなくなるまでＳ１５０４からＳ１７００までの処理を繰り返す。
【００９１】
（アプリケーションの起動判定処理）
図１６は、プラットフォーム部２０が行うアプリケーションの起動判定の処理手順を説明するフローチャートである。
【００９２】
最初に、プラットフォーム部２０は、アプリケーションを起動することができる第１の条件として、アプリケーションを起動するために必要なリソースの空きがあるかどうかを判断する（Ｓ１６０１）。リソースの空きがあるかどうかは、例えば、インストールされているアプリケーションの中で最も多くのリソースを必要とするアプリケーションのリソースサイズ分の空きがあるかどうかで判断される。これによって、万一にもリソース不足に陥らないよう確実性を担保することができる。判定対象のアプリケーションを起動するために必要なリソースの空きがあると判断されれば、Ｓ１６０２へと進む。
【００９３】
Ｓ１６０２では、アプリケーションを起動することができる第２の条件として、現在、起動処理中４０３、もしくは停止処理中４０４の状態にあるアプリケーションが存在しないかどうかを判断する。この判断を行うことにより、複数のアプリケーションが同時に起動処理中あるいは停止処理中となってＣＰＵ１２１の負荷が上がり過ぎることを避けることができ、ユーザが使用中のアプリケーションの処理速度を下げないようにすることができる。なお、Ｓ１６０２の判断は、ＣＰＵ１２１の負荷（使用量）が任意に設定可能な所定の値を超えていないかどうかという判断に置き換えてもよい。
【００９４】
Ｓ１６０２において、起動処理中もしくは停止処理中の状態にあるアプリケーションが存在しないと判断されれば、起動候補４０５のアプリケーションのうち、最も使用頻度の高いアプリケーションを一つだけ起動処理中４０３の状態に設定する（Ｓ１６０３）。すなわち、起動候補の状態のアプリケーションが複数存在している場合であっても、１つのアプリケーションだけが起動され、他の起動候補となっているアプリケーションについて同時に起動処理が実行中となることはない。
【００９５】
そして、Ｓ１６０３では、起動処理中４０３に設定したアプリケーションの起動処理を実行し（Ｓ１６０４）、アプリケーションの起動判定処理を終了する。
【００９６】
アプリケーションを起動することができる第１および第２の条件を満たさない場合には、プラットフォーム部２０は、アプリケーションの起動判定処理を終了する。すなわち、判定対象のアプリケーションを起動するために必要なリソースの空きがない場合（Ｓ１６０１）、起動処理中／停止処理中の状態にあるアプリケーションが存在する場合（Ｓ１６０２）には、Ｓ１６０３やＳ１６０４に進むことなく起動判定処理を終了する。
【００９７】
なお、上記Ｓ１６０２では、最も使用頻度の高いアプリケーションを一つだけ起動処理中４０３に設定している。しかし、判断基準は使用頻度に限られるわけではない。使用頻度の代わりに、例えば起動時間の総量に基づき判断することも可能であり、最も起動時間が長いアプリケーションを一つ起動処理中４０３に設定してもよい。さらに、起動処理中４０３に設定するアプリケーションの数はＣＰＵ１２１の負荷率を考慮して制限した所定数以下であれば、複数とすることも可能である。起動処理中４０３に設定するアプリケーションの数を増やす場合には、Ｓ１６０１で判断するリソースの空きとみなすサイズも、起動処理中に設定するアプリケーションの数に応じて変える必要がある。例えば、起動処理中４０３に設定するアプリケーションの数を２つとする場合には、必要なリソースサイズの空きも、最も多くのリソースを必要とするアプリケーションのリソースサイズ分の２倍とすることが望ましい。そして、この場合、Ｓ１６０２では、起動処理中４０３、もしくは停止処理中４０４の状態にあるアプリケーションが所定数以上存在するかどうかという判断になる。
【００９８】
さらに、起動処理中４０３に設定するアプリケーションの数は、最も使用頻度の高いアプリケーションから順に一定のリソースサイズに収まるすべてのアプリケーションでもよい。例えば、起動候補４０５のうち最も使用頻度の高いアプリケーションのリソースサイズが非常に小さく、二番目に使用頻度の高いアプリケーションのリソースサイズを足しても一定のリソースサイズに収まれば、これら２つを起動処理中４０３に設定してもよい。この場合、Ｓ１６０１のリソースの空きとみなすサイズは、任意に設定した一定のリソースサイズとなり、一定のリソースサイズ内である限り、他に起動（停止）処理中のアプリケーションが存在しても構わないので、Ｓ１６０２の判断は不要になる。
【００９９】
（アプリケーションの停止判定処理）
図１７は、プラットフォーム部２０が行うアプリケーションの停止判定の処理手順を説明するフローチャートである。
【０１００】
最初に、プラットフォーム部２０は、アプリケーションを停止することができる条件として、現在、起動処理中４０３、もしくは停止処理中４０４の状態にあるアプリケーションが存在しないかどうかを判断する（Ｓ１７０１）。この判断を行うことにより、複数のアプリケーションが同時に起動処理中あるいは停止処理中となってＣＰＵ１２１の負荷が上がり過ぎることを避けることができ、ユーザが使用中のアプリケーションの処理速度を下げないようにすることができる。なお、このＳ１７０１の判断は、ＣＰＵ１２１の負荷（使用量）が所定の値を超えていないかどうかという判断に置き換えてもよい。
【０１０１】
Ｓ１７０１において、起動処理中、もしくは停止処理中の状態にあるアプリケーションが存在しないと判断されれば、停止候補４０７のアプリケーションのうち、最も使用頻度の低いアプリケーションを一つだけ停止処理中４０４の状態に設定する（Ｓ１７０２）。
【０１０２】
そして、Ｓ１７０２で停止処理中４０４に設定したアプリケーションの停止処理を実行し（Ｓ１７０３）、アプリケーションの停止判定処理を終了する。
【０１０３】
アプリケーションを停止することができる上記条件を満たさない場合、すなわち、起動処理中もしくは停止処理中の状態にあるアプリケーションが存在する場合（Ｓ１７０１）には、プラットフォーム部２０は、アプリケーションの停止判定処理を終了する。
【０１０４】
なお、Ｓ１７０２では、最も使用頻度の低いアプリケーションを一つだけ停止処理中４０４に設定している。しかし、判断基準は使用頻度に限られるわけではない。使用頻度の代わりに、例えば起動時間の総量に基づき判断することも可能であり、最も起動時間が短いアプリケーションを一つ停止処理中４０４に設定してもよい。また、停止処理中４０４に設定するアプリケーションの数はＣＰＵ１２１の負荷率を考慮して制限した所定数以下であれば、複数とすることも可能である。この場合、Ｓ１７０１では、起動処理中４０３、もしくは停止処理中４０４の状態にあるアプリケーションが所定数以上存在するかどうかという判断になる。
【０１０５】
さらに、停止処理中４０４に設定するアプリケーションの数は、最も使用頻度の低いアプリケーションから順に一定のリソースサイズに収まるすべてのアプリケーションでもよい。例えば、停止候補４０７のうち最も使用頻度の低いアプリケーションのリソースサイズが非常に小さく、２番目に使用頻度の低いアプリケーションのリソースサイズを足しても一定のリソースサイズに収まれば、これら２つを停止処理中４０４に設定してもよい。この場合、Ｓ１７０１で判断の対象となる内容は、現在、起動（停止）処理中のアプリケーションのリソースサイズにこれから停止処理をしようとするアプリケーションのリソースサイズを加えた値が、任意に設定した一定のリソースサイズ内か否かとなる。
【０１０６】
（その他の実施形態）
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１０７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１０８】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１０９】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１１０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１１１】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１１２】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１１３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１１４】
【図１】本発明のアプリケーションプラットフォームを適用した画像形成装置の構成を示すブロック図である。
【図２】ユーザが画像形成装置１にログインしたときの初期画面の一例である。
【図３】コピーアプリケーションにおいて、ユーザからの指示を受け付ける際に、ユーザインターフェース１２４のディスプレイ上に表示する画面の一例である。
【図４】アプリケーションの状態遷移を示すステートチャートである。
【図５】アプリケーション管理テーブルの一例である。
【図６】ユーザ毎の専用の初期画面の一例である。
【図７】カスタマイズ登録されたボタンとアプリケーションとの対応関係を示す図である。
【図８】カスタマイズボタン管理テーブルの一例である。
【図９】メッセージ画面の一例である。
【図１０】ユーザが表示設定の切り替えを指示するための画面の一例である。
【図１１】初期画面上のアプリケーションを示すボタンにアプリケーションの状態を表示した画面の一例である。
【図１２】ユーザ専用初期画面上のアプリケーションを示すボタンにアプリケーションの状態を表示した画面の一例である。
【図１３】ユーザ専用初期画面上のアプリケーションを示すボタンにアプリケーションの状態を表示した画面の一例である。
【図１４】ユーザがログアウトを行ったときのアプリケーション制御の処理手順を説明するフローチャートである。
【図１５】ユーザがログインを行ったときのアプリケーション制御の処理手順を説明するフローチャートである。
【図１６】アプリケーションの起動判定の処理手順を説明するフローチャートである。
【図１７】アプリケーションの停止判定の処理手順を説明するフローチャートである。
【図１８】ユーザ情報管理テーブルの一例である。
【図１９】ユーザアプリケーション管理テーブルの一例である。
【符号の説明】
【０１１５】
１：画像形成装置
１２：画像処理装置
２００：初期画面
３００：コピー画面
６００：初期画面
９００：メッセージ画面
１０００：表示設定画面
１１００：表示画面
１２００：表示画面
１３００：初期画面
【図１】
2010039761.tif 000003
【図２】
2010039761.tif 000004
【図３】
2010039761.tif 000005
【図４】
2010039761.tif 000006
【図５】
2010039761.tif 000007
【図７】
2010039761.tif 000008
【図８】
2010039761.tif 000009
【図１０】
2010039761.tif 000010
【図１１】
2010039761.tif 000011
【図１４】
2010039761.tif 000012
【図１５】
2010039761.tif 000013
【図１６】
2010039761.tif 000014
【図１７】
2010039761.tif 000015
【図１８】
2010039761.tif 000016
【図１９】
2010039761.tif 000017
【図６】
2010039761.tif 000018
【図９】
2010039761.tif 000019
【図１２】
2010039761.tif 000020
【図１３】
2010039761.tif 000021