以下、図面を参照して本発明の実施の形態を詳しく説明する。
本実施形態では、画像処理装置として、プリントやスキャン、ファクス機能を有する複合機(Multi Function Peripheral、以下MFPとする)を例に説明する。
なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
<第1の実施形態>
本発明の第1の実施形態について説明する。図1は、本実施形態に係る画像処理システムを示すブロック図である。MFP101a、MFP101bは画像処理装置として機能する。レコメンドボタン管理サーバ102は情報処理装置として機能する。MFP101a、MFP101bと、レコメンドボタン管理サーバ102とは、ネットワーク100を介して通信可能に接続されている。MFP101aとMFP101bとは同機種でもよいし別機種でもよい。
以下の説明では、MFP101aをMFP101とする。
レコメンドボタン管理サーバ102は、MFP101のホーム画面に表示するボタンを示した情報であって、ユーザが使用する可能性の高い機能を簡易に呼び出すためのボタン情報(以下、レコメンドボタン情報)を生成しMFP101に送信する機能を搭載する。レコメンドボタン管理サーバ102は単一のサーバマシンから構成されるか複数のサーバ群によって構成されるかは本実施形態において限定するものではない。また、MFP101とレコメンドボタン管理サーバ102は同一ネットワーク上にあってもよい。
図2は、本実施形態におけるMFP101のハードウェア構成を表すブロック図である。MFP101はシート上の画像を読み取る読取機能、シートに画像を印刷する印刷機能を有する。また、他にもMFP101は、画像データを外部装置に送信するファイル送信機能などを有している。
なお、本実施形態では画像処理装置としてMFP101を用いて説明をするが、これに限定されるものではない。例えば、画像処理装置として、読取機能を有さないプリンタ等の印刷装置が用いられてもよい。また、印刷機能を有さないスキャナなどの画像読取装置やPC等の情報処理装置が用いられてもよい。
CPU(Central Processing Unit)201を含む制御部200は、MFP101全体の動作を制御する。CPU201は、ROM202またはストレージ204に記憶された制御プログラムを読み出して、読取制御や印刷制御などの各種制御を行う。ROM202は、CPU201で実行可能な制御プログラムを記憶する。RAM203は、CPU201の主記憶メモリであり、ワークエリア、ROM202及びストレージ204に記憶された各種制御プログラムを展開するための一時記憶領域として用いられる。ストレージ204は、印刷データ、画像データ、各種プログラム、及び各種設定情報を記憶する。なお、本実施形態のMFP101では、1つのCPU201が1つのメモリ(RAM203)を用いて後述するフローチャートに示す各処理を実行するものとするが、他の様態であっても構わない。例えば複数のCPU、RAM、ROM、及びストレージを協働させて後述するフローチャートに示す各処理を実行することもできる。また、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェア回路を用いて一部の処理を実行するようにしてもよい。
操作部I/F206は、制御部200を操作部207と接続する。操作部207はユーザに対して情報を表示するディスプレイや、ユーザからの入力を検出するタッチパネル、ハードキーを有する。
読取部I/F208は、制御部200を読取部209と接続する。読取部209はシート上の画像を読み取って、画像データを生成する。読取部209によって生成された画像データは外部装置に送信されたり、印刷部211による印刷に用いられる。また、読取部209は、原稿フィーダー(不図示)に載置されたシートを、シートを1枚ずつ搬送させながら読み取ることが可能である。
印刷部I/F210は、制御部200を印刷部211と接続する。印刷すべき画像データは印刷部I/F210を介して印刷部211に転送される。印刷部211は制御コマンド及び印刷すべき画像データを受信し、この画像データに基づいた画像をシート上に印刷する。印刷部211の印刷方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。電子写真方式の場合は、感光体上に静電潜像を形成した後トナーにより現像し、そのトナー像をシートに転写し、転写されたトナー像を定着することにより画像を形成する。一方、インクジェット方式の場合は、インクを吐出してシートに画像を印刷する。また、MFP101は、通信部I/F205を介してネットワーク100に接続される。通信部I/F205は、ネットワーク100上のレコメンドボタン管理サーバ102と、情報通信を可能に接続され、MFP101のホーム画面に表示するボタンを示す情報であるレコメンドボタン情報の受信を行う。
通信部I/F205を介して受信した印刷データは、ストレージ204又はROM202に記憶された印刷データを解析するためのソフトウェアモジュール(PDL解析部、不図示)によって解析される。PDL解析部は、様々な種類のページ記述言語(Page Description Language)で表現された印刷データに基づいて印刷部211で印刷するためのデータを生成する。
図3は本実施形態におけるMFP101のソフトウェア構成を表すブロック図である。図3に示すソフトウェアブロックはそれぞれCPU201がROM202またはストレージ204に記憶されているプログラムを実行することで実現される。
MFPコントロール部301は、他のモジュールを制御し、スキャン、送信、表示処理などのMFPの各処理の実行を統括的に制御する。また、MFPコントロール部301は、ジョブの実行に関するMFP101の操作履歴やジョブの設定情報などを後述するジョブ履歴テーブルに記憶するように記憶部310に指示を行う。
UI制御部302は、操作部I/F207を介して操作部207のディスプレイの表示制御を行う。具体的には、UI制御部302は、操作部207へのユーザ通知や各種ボタン等の表示、及び、ユーザによる操作部207の操作を受け付け、操作内容を他の機能部への通知を行う。本実施形態において、UI制御部302は、ユーザが使用する機能を選択するホーム画面を操作部207に表示する。ホーム画面には例えば、プリントやコピー、FAXといった画像形成装置の機能に対応するボタンが表示され、ユーザは表示されるボタンを選択することで所望の機能の呼び出しを行うことができるようになっている。ホーム画面は電源オン時やユーザがMFP101にログインした際、ユーザが不図示のホームボタンでホーム画面の表示を指示したときに操作部207に表示される。さらに、ユーザがMFP101を操作することなく一定時間が経過した場合に操作部207にホーム画面を表示するとしてもよい。
表示モード制御部303はホーム画面の表示モードに関する制御を行う。UI制御部302は表示モード制御部303の指示する表示モードでホーム画面を表示するように動作する。本実施形態では以下の2つの表示モードが存在し、いずれかの表示モードでホーム画面は表示される。
1つ目の表示モードは、ホーム画面に表示する各ボタンがあらかじめユーザにより設定された配置で表示される固定ボタンモードである。
図6は、固定ボタンモードが設定されたときに表示されるホーム画面の一例である。704で示されるボタン表示領域には、MFP101の各機能の実行を指示するための「コピー」701、「スキャン」702、「FAX」703などのボタンが表示される。ボタン表示領域704は複数ページ存在する。ボタン表示領域704に示される矢印ボタン705を選択したり、ボタン表示領域704上でフリック操作することで表示されるページを切り替えることができる。操作部に配置された不図示のホームボタンを選択するユーザ操作に従ってホーム画面が表示される。なお、本実施形態において、ホームボタンはハードキーであっても、ディスプレイに表示されるソフトウェアキーであってもよい。
「コピー」701は、読取部209に設置した原稿を画像データとして読み取り、印刷部211にて読み取った画像データに基づいた画像をシート上に印刷するためのボタンである。ユーザがホーム画面において「コピー」701をタッチして選択すると、図7に示すコピー設定画面801が表示される。
「スキャン」702は、読取部209で読み取った画像データの電子メール送信、画像データのファイル送信、または、画像データのUSBメモリへの保存を実行するためのボタンである。ユーザが「スキャン」702を選択すると、画像データの送信先や、スキャン時の解像度、原稿の読み取り面の設定等を行う画面が表示される。
「アドレス帳」703は、MFP101のアドレス帳画面を表示するボタンである。ユーザが「アドレス帳」703を選択すると、MFP101に登録されているアドレスがリスト表示される。この画面では画像データの送信先となるアドレスを選択したり、アドレス帳に登録されているアドレスの編集、新規アドレスの追加を行うことができる。ユーザがアドレス帳から、Eメール・ファイル送信等の送信宛先を指定すると、画像データの送信に関する設定画面に遷移する。アドレス帳の宛先データは、ストレージ204に保存され、送信する宛先情報に関する設定を宛先毎に保存する。
図7は、図6のコピー701ボタンを選択することで表示されるコピー設定画面801を示した図である。コピー設定画面801はコピーで使用されるジョブ設定値である倍率802、用紙サイズ803、濃度804、部数805などの設定を行うことができる。ユーザはコピー設定画面801から設定する項目を選択し、設定値の入力、選択を行う。
また、コピー設定画面801にはコピージョブの開始を行うための白黒スタートボタン806とカラースタートボタン807が表示されている。ユーザは任意のジョブ設定を行った後、白黒スタートボタン806またはカラースタートボタン807のいずれかのボタンを選択することでジョブを開始することができる。ユーザが白黒スタートボタン806を選択した場合、MFP101はモノクロコピーを実行する。ユーザがカラースタートボタン807を選択した場合、MFP101はカラーコピーを実行する。ボタン808は、コピーの設定を中止し、図6に示すホーム画面に戻るためのボタンである。
固定ボタンモードのホーム画面では、ユーザが不図示の方法であらかじめ設定した順番でボタンが表示される。さらに、ホーム画面に表示されたボタンを選択すると、選択した機能の詳細を設定するためのジョブ設定画面が表示される。
2つ目の表示モードは、ユーザの使用履歴に基づいておすすめのボタンが表示されるレコメンドモードである。レコメンドモードは、MFP101の起動時やユーザログイン時、ユーザが特定の操作をしたときに、レコメンドボタン管理サーバ102から取得されたボタン情報に基づくホーム画面が表示される。例えば、ログインを行うことでログインしたユーザに対するレコメンドボタンが表示されたり、読取部209へ原稿を設置することで、原稿の読み取り機能に関するレコメンドボタンが優先的に表示されたりする。レコメンドモードでは、ユーザの操作や、過去に実行したジョブの設定に基づき、ホーム画面に表示されるボタンが動的に変化する。
図8は、レコメンドモードが設定されているときに表示されるホーム画面である。ホーム画面には、レコメンドボタン管理サーバ102から取得されたボタン情報に基づき所定の個数のボタンが表示される。レコメンドモードにおけるホーム画面には、あらかじめジョブの設定値が設定されたジョブ実行ボタンが表示される。設定値が設定された状態のレコメンドボタンをユーザが選択すると、ユーザは図7に示す画面で設定する各設定項目の設定を行うことなくジョブを開始することができる。レコメンドモードでホーム画面に一度に表示することのできるボタンの数は、固定ボタンモードで一度に表示することのできるボタンの数よりも少ない。
図8では、レコメンドボタンとして「1部白黒両面コピー」902、「固定宛先スキャン」903、「クラウドストレージに保存」904が表示されている。「1部白黒両面コピー」902は、原稿を読取部209で読み取り、生成した画像を印刷部211で1部、白黒両面印刷するコピージョブを実行するためのボタンである。「固定宛先スキャン」903は、原稿を読取部209で読み取り、生成した画像をあらかじめ設定された宛先に送信する送信ジョブを実行するためのボタンである。「クラウドストレージに保存」904は、原稿を読取部209で読み取り、生成した画像をクラウドストレージ上のフォルダに送信する機能を実行するためのボタンである。「メニュー」906は、図6に示すホーム画面の「メニュー」706と同様のボタンでありMFP101全体の設定を行うためのボタンである。ユーザがホーム画面の表示モードの設定を行う場合は「メニュー」906を選択し、表示される設定項目からホーム画面のモード設定を選択する。すると、固定ボタンモードとレコメンドモードを含む複数のモードからホーム画面の表示モードを選択するモード設定画面が表示される。ユーザは当該画面からホーム画面の表示モードを選択する。なお、図8ではいずれも設定値が設定されたレコメンドボタンが表示されているが、図6の固定ボタンモードで表示される701~704のように機能を選択するためのボタンが表示されてもよい。なお、それらのジョブの設定値が設定されていない機能を選択するためのボタンが選択された場合には、図7に示すような選択された機能の設定値を表示するための画面が表示される。
各ボタンは、ホーム画面のレコメンドボタン表示領域901の領域内に配置される。各レコメンドボタンにはレコメンドボタン管理サーバ102により優先順位が付与されており、MFP101は各ボタンに付与された優先順位に従ってボタンを配置する。レコメンドボタン表示領域901は複数ページ存在し、それぞれのページ内に異なるボタンを配置することで1つのページに表示可能なボタンの上限数を上回るボタンをページに配置することができる。表示するページはレコメンドボタン表示領域901に示される矢印ボタン905の選択や、レコメンドボタン表示領域901上でフリック操作を行うことで切り替える。レコメンドモードのホーム画面に表示されるレコメンドボタンの数は、固定ボタンモードのホーム画面に表示されるボタンの数よりも少ない。このようにすることで、レコメンドされたボタンのなかからユーザがボタンを選択しやすくすることができる。
図9は図8の「1部白黒両面コピー」902を選択したときに表示されるコピー確認画面1001を示した図である。ジョブ設定表示領域1002には当該レコメンドボタンに紐づくジョブの設定値が表示される。部数表示欄1003には当該ボタンを用いてコピーを実行したときの部数が表示される。読み取りサイズ表示欄1004には原稿の読み取りサイズが表示される。カラーモード表示画面1005には読み取り時のカラーモードが表示される。図9の例では「A4」サイズ、「モノクロモード」で読み取ることで得られた画像データを「1部」印刷することを示している。なお、ジョブ設定表示領域1002内に表示されない情報は、ジョブ設定表示領域1002上でフリック操作にてスクロールすることで表示することができる。たとえば、図9においてユーザがフリック操作をすると、原稿読み取り時の片面両面の設定や、印刷時の片面両面の設定、原稿の読み取り解像度、2in1などの集約設定の設定値を確認することができる。ユーザが「はい」1007を選択すると、ジョブ設定表示領域1002に表示されている設定でコピーが開始される。ユーザが「いいえ」1008を選択した場合、コピーは実行されず図9に示すホーム画面が表示される。なお、図9には不図示ではあるが、コピー確認画面1001にコピージョブの設定値の設定を行う画面を表示するための再設定ボタンを表示するとしてもよい。ユーザが再設定ボタンを選択した場合、ユーザが選択したレコメンドボタンに対応する設定値が適用された状態の図7に示すコピー画面が表示される。ユーザは図7のコピー画面を介してジョブの設定を行うことで、レコメンドボタンに紐づく設定とは異なる設定値でジョブを実行することができる。ボタン1010は、コピーを行わずに図8に示すホーム画面を表示するためのボタンである。
説明を図3に戻す。デバイス登録処理部307は、レコメンドボタン管理サーバ102に対してMFP101に関する情報の登録処理(以後、デバイス登録)を行う。
デバイス登録は不図示の画面からユーザがホーム画面の表示モードをレコメンドモードに設定したとき、または、デバイス登録処理を指示したときに実行される。ホーム画面の表示モードの変更とデバイス登録実行の指示は様々な方法で行うことができる。例えば、図6に示すホーム画面においてユーザがメニュー706を選択することで表示される設定項目画面から、ホーム画面の表示モード設定を選択する。そして、ユーザは表示された画面を操作し、固定ボタンモードとレコメンドモードを含む複数のモードからレコメンドモードを選択することで表示モードを設定する。
ホーム画面の表示モードがレコメンドモードに設定されたことにしたがって、デバイス登録処理部307はレコメンドボタン管理サーバ102へデバイスシリアル番号などMFP101を一意に識別する識別子を送信する。デバイス登録ではデバイスを一意に識別するための識別子の他に、製品名や出荷仕向け、スキャナやFAXの有無などMFP101が有している機能情報を含めて送信しても良い。後述するレコメンドボタン管理サーバ102のデバイス登録処理部502は、MFP101から受信したデータに基づき、デバイス登録処理を実行する。そしてデバイス登録処理が成功すると、レコメンドボタン管理サーバ102はMFP101にデバイス登録に成功したことを通知する。
レコメンドボタン管理サーバ102はデバイス登録の完了によってMFP101に対するレコメンドボタン情報の生成と送信を開始する。
MFP101の記憶部310は、レコメンドボタン管理サーバ102からデバイス登録に成功したことを示す通知を受け、デバイス登録情報314にデバイス登録済みであることを記憶する。デバイス登録情報314はレコメンドボタン管理サーバ102にデバイス登録をしているか否かを示す情報を記憶する。デバイス登録を一度も行っていない状態で、デバイス登録情報314は未登録となっており、記憶部310はデバイス登録に失敗した場合もデバイス登録情報314をデバイス未登録のままにする。デバイス登録に失敗した場合とは、例えば、デバイス登録処理中にレコメンドボタン管理サーバ102からデバイス登録に失敗したことを示す通知を受けた場合や、所定の時間、レコメンドボタン管理サーバ102から応答がない場合などである。デバイス登録に失敗した場合、デバイス登録処理部307が自動で登録処理のリトライをするとしてもよい。
デバイス登録判定部306は、デバイス登録情報314に記憶されているデバイス登録状態を確認することでレコメンドボタン管理サーバ102に対するデバイス登録処理が完了しているか否かを判定する。
ジョブ履歴送信部308は、ジョブ履歴テーブル313に記憶されているジョブ履歴情報をレコメンドボタン管理サーバ102へ送信する。ジョブ履歴テーブル313には例えば、MFP101にて実行したジョブの種類、そのジョブを実行したときの設定値、ジョブ実行ユーザが日時と対応付けられて記憶される。MFP101のユーザ認証機能が有効に設定されている場合、ログインユーザを識別するための情報がジョブ実行ユーザとして記憶される。一方で、MFP101のユーザ認証機能がオフに設定されている場合、MFP101を識別するための情報がジョブ実行ユーザとして記憶される。ジョブ履歴送信部308がレコメンドボタン管理サーバ102に送信するジョブ履歴は、レコメンドボタン情報の生成に用いられる。
レコメンドボタン情報取得部309は、レコメンドボタン管理サーバ102と通信を行い、レコメンドボタン情報の取得を行う。レコメンドボタン情報取得部309はレコメンドボタン管理サーバから送信されたレコメンドボタン情報を受信すると、受信したレコメンドボタン情報を後述するレコメンドボタン情報テーブル312に記憶するように記憶部310に指示を行う。
ボタン有効判定部305は、レコメンドボタン管理サーバ102から受信したレコメンドボタン情報で指示される処理や機能がMFP101にて使用可能か否かを判定する。
ホームボタン生成部304は、固定ボタン情報テーブル311またはレコメンドボタン情報テーブル312に記憶されているボタン情報に基づいて、ホーム画面に表示するボタン名称やボタン画像を決定する。UI制御部302はホームボタン生成部304によって生成されたボタンをボタン情報の表示順序通りにボタンを配置したホーム画面を操作部207に表示する。
記憶部310は、ROM202、RAM203、ストレージ204等へのデータの書き込み、データの読み出し等の処理を行う記憶制御手段として機能する。記憶部310は、他の機能部からの指示により、指定されたデータをROM202、RAM203、ストレージ204に記憶する、あるいは記憶しているデータを読み出す。本実施形態では、記憶部310は、MFP101のストレージ204に記憶される固定ボタン情報テーブル311、レコメンドボタン情報テーブル312、ジョブ履歴テーブル313、デバイス登録情報314を管理している。
ここで、図10、図11をもちいてMFP101に記憶されるレコメンドボタン情報テーブル312と、固定ボタン情報テーブル311の詳細を説明する。
図10はMFP101に記憶されるレコメンドボタン情報テーブル312の一例を示す図である。レコメンドボタン情報テーブル312には、レコメンドボタン管理サーバ102から受信されたレコメンドボタン情報が記憶されている。レコメンドボタン情報テーブルには、それぞれのレコメンド対象者とジョブ種、ジョブの設定を示すジョブ情報が記憶されている。さらに、レコメンドボタン情報テーブル312にはジョブ情報に表示優先度、ボタン名称、ボタン画像のファイル名が関連付けられてレコメンドボタン情報として記憶されている。
レコメンド対象者は、それぞれのレコメンドボタン情報がいずれのユーザのログイン時、またはいずれの装置に対して行われるレコメンドかを示す情報である。本実施形態においてMFP101はユーザ認証機能がオフになっている場合、レコメンド対象者が“MFP101”となっているレコメンドボタン情報をもちいてレコメンドボタンを表示する。
ユーザ認証機能がオンになっている場合、レコメンド対象者がログインユーザとなっているレコメンドボタン情報を用いてレコメンドボタンを表示する。たとえば、ログインユーザが“user001”であれば、レコメンド対象者が“user001”となっているレコメンドボタン情報を用いてボタンを表示する。
ジョブ種はレコメンドボタンがいずれの種類のジョブのボタンかを示す情報である。ジョブ設定はユーザがレコメンドボタン選択したときに実行されるジョブの設定を示している。表示優先度はレコメンドボタンをホーム画面に表示する際の並び順を決めるための情報である。“scan”は、ADFに原稿が置かれているなどMFP101がスキャン優先状態のときに用いられる優先度である。“print”は、未印刷のデータを保持しているなどMFP101がプリント優先状態のときに用いられる優先度である。
ジョブ設定は当該レコメンドボタンが選択されたときに実行されるジョブの設定値である。設定されている設定値は過去にユーザが実行したジョブの設定値に基づいてレコメンド管理サーバ102が決めた設定値である。
ボタン名称、ボタン画像はレコメンドボタン管理サーバ102がジョブ種、ジョブの設定に基づき設定した名称とボタン画像を示すファイル名である。MFP101はこのボタン名称、ボタン画像に基づき、ホーム画面に表示されるボタンの画像を生成し、当該画像に重ねて名称を表示する。
図10のレコメンドボタン情報テーブルに記憶されるボタン情報は、それぞれのレコメンド対象者のジョブの実行履歴に基づいて設定される。当該テーブルを用いてホーム画面の表示を行うことで、レコメンド対象者による使用頻度の高い機能や、使用頻度の高い設定が優先的に表示される。
図11は、固定ボタン情報テーブル311の一例を示す図である。固定ボタン情報テーブル311は、固定ボタンモードで使用されるボタンの情報を記憶するテーブルである。
固定ボタン情報テーブル311は、ホーム画面へのボタン表示時に使用するボタン名称とボタンの画像を示すファイル名と、ボタンの表示順序、そして、ボタンを選択したときの画面を示す遷移先画面を対応付けて1つのボタン情報として記憶する。ユーザは不図示の方法で、固定ボタンモードにおけるボタンの配列を変更することができる。ユーザがボタンの配列を変更すると、固定ボタン情報テーブル311の表示順序の情報が更新される。また、ユーザがあらかじめジョブの設定値を登録したショートカットキーを生成すると、固定ボタン情報テーブル311にショートカットキーの情報が登録される。
図11の例では、表示順序が1位である「コピー」ボタンが図6の701に示される位置に「home_bt_copy.png」画像で表示される。また、コピーボタンを選択することで、図7に示すような「コピー設定画面」に遷移する。
図11に示すように、固定ボタンモードでは、ユーザがあらかじめ設定した配置でボタンが配置されたホーム画面が表示される。固定ボタンモードでは、MFP101の電源がオンになったタイミング、ユーザがログインしたタイミング、不図示のホームボタンでホーム画面が表示されるタイミング、いずれのタイミングであっても同じボタンの配置でホーム画面を表示することができる。
図4は本実施形態におけるレコメンドボタン管理サーバ102のハードウェア構成を表すブロック図である。CPU401を含む制御部400は、レコメンドボタン管理サーバ全体の動作を制御する。CPU401は演算回路からなり、ROM402またはHDD404に記憶されたプログラムをRAM403に読み出し、種々の処理を実行する。ROM402は、レコメンドボタン管理サーバ102の制御に用いられるシステムプログラムなどを記憶する。グラフィックコントローラ405は、表示部406に表示させるための画面を生成する。HDD404は記憶領域としての機能を有し、種々の処理を実行するアプリケーションプログラムなどを記憶する。HDD404は記憶装置の一例であり、HDD以外にもSSD(Solid State Drive)などにより構成することができる。ネットワークI/F407は、レコメンドボタン管理サーバ102に種々の機器を接続するためのインターフェースである。例えば、通信部I/F407を介して、レコメンドボタン管理サーバ102にディスプレイ、キーボード、マウスなどを接続することができる。また、CPU401の制御に基づいてMFP101などとネットワーク100を介して通信を行う。
図5は本実施形態におけるレコメンドボタン管理サーバ102のソフトウェア構成図である。図5に示す各機能部は、レコメンドボタン管理サーバ102が有しているCPU401が制御プログラムを実行することにより実現される。
ジョブ履歴受信部504は、MFP101から送信されるジョブ履歴情報を受信し、MFP101の識別子またはログインユーザの識別子と対応付けて、ジョブ履歴テーブル507に記憶するように記憶部505に指示を行う。MFP101がユーザ認証を行わない設定で使用されている場合、ジョブ履歴受信部504は、MFP101の識別子、ジョブ種、ジョブ設定、ジョブの実行日時を受信し、それらを対応づけてジョブ履歴テーブル507に記憶する。MFP101がユーザ認証を行う設定で使用されている場合、ジョブ履歴受信部504は、ログインユーザの識別子、ジョブ種、ジョブの設定、ジョブの実行日時を受信し、それらを対応づけてジョブ履歴テーブル507に記憶する。
レコメンドボタン生成部503は、MFP101からジョブ履歴情報を受信したときなど所定のタイミングでジョブ履歴テーブルに記録されているジョブ履歴情報に基づいてレコメンドボタン情報の生成を行う。レコメンドボタン情報を生成するタイミングは上記のタイミングに限らず、たとえば24時間ごとなど、所定間隔ごとにレコメンドボタン情報を生成するとしてもよい。
レコメンドボタン情報は、ボタンを選択したときに実行されるジョブの種類とそのジョブの設定値の組み合わせである実行ジョブ情報と当該ボタンの表示する際の優先度、そして、レコメンドの対象者とで構成される。レコメンドボタン生成部503はレコメンドボタン情報を作成するとレコメンドボタン情報テーブル508に生成したレコメンドボタン情報を記憶するように記憶部505に指示を行う。
図12は、レコメンドボタン情報テーブル508の一例を示す図である。
レコメンドボタン情報テーブル508は、レコメンド対象者と、ジョブの種類とそのジョブの設定値の組み合わせである実行ジョブ情報を記憶する。さらにレコメンドボタン情報テーブルは、当該レコメンドボタンをホーム画面に表示する際の優先度、ボタン名称、ボタン画像を関連付けてボタン情報を実行ジョブ情報と関連付けて記憶する。
レコメンド対象者情報はレコメンドボタン情報テーブル508からMFP101に送信するレコメンドボタン情報を抽出する際に用いられる。レコメンド対象者はuser001/user002のようにユーザであってもよく、MFP001のように画像形成装置であってもよい。レコメンドボタン管理サーバ102は、MFP101から通知されたレコメンド対象者に対応付けられたレコメンドボタン情報をMFP101に送信する。図12において、レコメンド対象者として「user001」が指定された場合、ボタン情報送信部501はレコメンド対象者に「user001」と記憶されている5つのボタン情報をレコメンドボタン情報としてMFP101に送信する。
ジョブ種には、ボタンを選択したときに実行されるジョブの種類が記憶される。図12の例では、大分類として「print」、「scan」の2つのいずれかが記憶されている。さらに、追加のジョブ種情報として「コピー」や「電子メール送信」など詳細なジョブ種が指定されている。
ジョブ設定にはジョブを実行するときに使用するジョブの設定値が少なくとも一つ記憶されている。ジョブ設定値には設定項目名と設定値がペアで記憶されている。例えば、図12の一番上のレコードでは、印刷部数が1部、カラーモードが白黒、片面両面の印刷設定が両面、ページ集約設定が2in1となっている。ジョブ設定には装置のデフォルト設定から変更する設定項目のみが記憶される。
表示優先度は、MFP101がホーム画面を表示する際にボタンの配置に用いる情報である。本実施形態では、表示優先度の数字が小さいほど優先順位が高い。図8のホーム画面を用いて表示優先度とボタン配置の関係を説明する。レコメンドボタン表示領域901の1ページ目にある、1部白黒コピー902の表示位置が最も表示優先度の高いボタンが配置される位置である。続いて、固定宛先スキャン903、クラウドストレージに保存904の順に表示優先度が高いボタンから配置される。続く優先度のボタンは同様に2ページ目以降に配置される。
図12の表示優先度の例では、scanとprintの2つのジョブ種それぞれにおけるボタンの表示優先度が記憶されている。scanで示される表示優先度はスキャンジョブが投入される可能性が高い場合に使用される表示優先度であり、printで示される表示優先度はプリントジョブが投入される可能性が高い場合に使用される表示優先度である。スキャンジョブが投入される可能性が高い場合とは、例えば、スキャナに原稿が設置された場合などである。また、プリントジョブが投入される可能性が高い場合とは、例えば、MFP101のメモリにプリントジョブが溜め置かれている場合などである。どちらのジョブが投入されるか判断できない場合は、scanまたはprintのどちらかの表示優先度を使用するようにあらかじめ決定しておいてもよいし、scanとprintの表示優先度を足し合わせたものを使用するなどしてもよい。また、scan、printに限らず他の様々なジョブ種ごとに表示優先度を記憶するようにしてもよいし、ジョブ種に関わらず1つの表示優先度のみを記憶するようにしてもよい。
ボタン名称は、当該レコメンドボタンを表示するときのボタン名称を示している。レコメンドボタン生成部503は、ジョブ設定から特定の設定項目の設定値を抜き出してボタン名称を設定する。なお、ボタン名称は、あらかじめ決められた複数のボタン名称のうちジョブ設定に基づいて決められる名称を用いるとしてもよい。
ボタン画像は、ホーム画面にレコメンドボタンを表示する際に用いられるボタン画像のファイル名である。レコメンドボタン生成部503は、ジョブ種とジョブ設定に基づき、ボタン画像を設定する。なお、ボタン画像は、MFP101に記憶されており、レコメンドボタン管理サーバ102はボタン画像のファイル名のみを設定する。
図5に説明を戻す。ボタン情報送信部501はMFP101からのレコメンドボタン情報要求に応じてレコメンドボタン情報の送信を行う。
図13はレコメンドボタン管理サーバ102がMFP101に送信するレコメンドボタン情報の一例を示す図である。
図13ではレコメンドボタン情報を、JSON(JavaScript(登録商標) Object Notation)ファイルとして送信した例を示している。その他にも、XML(Extensible Markup Language)などを使用してもよい。また、レコメンドボタン情報だけではなく、ホーム画面のレイアウト情報などを含めたHTMLファイルを送信してもよい。
送信されるレコメンドボタン情報の“name”は、当該レコメンドボタン情報に基づきMFP101のホーム画面に表示されるボタンの名称である。“type”は、図11に示すレコメンドボタン情報テーブルのジョブ種に対応する情報である。“icon”は図11に示すレコメンドボタン情報テーブルのボタン画像に対応する情報である。“order”は、図11に示すレコメンドボタン情報テーブルの表示優先度に対応する情報である。“parameters”はジョブ設定値に対応する情報である。図17は、ボタン名称が「1部白黒両面コピー」と「固定宛先スキャン」である2つのレコメンドボタンの情報を含むレコメンドボタン情報である。ボタン情報送信部501は、図11に示すレコメンドボタン情報テーブルに記憶された情報のうち、MFP101から受信したレコメンドボタン情報要求で指定されたレコメンド対象者に紐づけられたレコメンドボタン情報を送信する。
図5に戻り、デバイス登録処理部502は、MFP101からのデバイス登録を受け付け、デバイス登録テーブル506にMFP101の識別子やMFP101の機能情報を対応付けて記憶するように記憶部505に指示する。デバイス登録テーブル506への記憶処理が完了すると、デバイス登録処理部502はデバイス登録成功通知をMFP101へ送信する。 記憶部505は、他の機能部からの指示により、指定されたデータをROM402、RAM403、HDD404に記憶する、あるいは記憶しているデータを読み出す。本実施形態では、記憶部505は、レコメンドボタン管理サーバ102のHDD404に記憶されるデバイス登録テーブル506、ジョブ履歴テーブル507、レコメンドボタン情報テーブル508を管理する。
図14は本実施形態におけるレコメンドボタン情報の取得とジョブ履歴情報の送信、レコメンドボタン情報の生成からなる一連の処理を示したシーケンス図である。
本実施形態ではMFPごとにホーム画面に表示されるボタンがレコメンドされるとする。また、MFP101が起動したことに従って、MFP101がレコメンドボタン情報を取得し、取得したレコメンドボタン情報に基づくホーム画面を表示するとする。
MFP101のMFPコントロール部301はユーザがMFP101の電源をオンにしたことに従ってMFP101を起動するための処理を実行する(S600)。
MFP101のレコメンドボタン情報取得部309は、MFP101の起動時(電源ON時)にレコメンドボタン情報要求をレコメンドボタン管理サーバ102へ送信する(S601)。レコメンドボタン情報要求には、レコメンド対象者を特定するための情報が含まれている。MFPごとにホーム画面に表示するボタンをレコメンドする場合、レコメンドボタン情報要求には、当該MFPを特定するための情報が含まれる。
レコメンドボタン管理サーバ102のボタン情報送信部501は、レコメンド対象者情報を受信し、レコメンド対象者におすすめするレコメンドボタン情報をレコメンドボタン情報テーブル508から抽出する(S602)。そして、ボタン情報送信部501は、特定したレコメンドボタン情報をMFP101にする(S603)。
MFP101のレコメンドボタン情報取得部309は、レコメンドボタン管理サーバ102からレコメンドボタン情報を受信する。MFP101のレコメンドボタン情報取得部309は記憶部310を制御し、受信したレコメンドボタン情報をレコメンドボタン情報テーブル312に記憶する。S601で指定したレコメンド対象者のレコメンドボタン情報がすでにレコメンドボタン情報テーブル312に記憶されていた場合、レコメンドボタン情報取得部309は以下の処理を実行する。レコメンドボタン情報取得部309は、レコメンドボタン情報テーブル312の情報をS603で受信した新しいレコメンドボタン情報に更新する。
レコメンドボタンを記憶すると、ホームボタン生成部304はレコメンドボタン情報に基づいてボタンを生成し、ホーム画面にレコメンドボタンを表示する(S604)。ホームボタン生成部304は、レコメンドボタン管理サーバ102から受信したレコメンドボタン情報に含まれるボタンの名称、ボタンの画像情報に基づきボタン画像を生成する。本実施形態では、ボタン画像があらかじめMFP101に記憶されているとする。MFP101がレコメンドボタン管理サーバ102からボタン画像を取得するとしてもよい。
UI制御部302は、ホームボタン生成部304で生成されたボタンを表示モード制御部303が指示する表示モードでホーム画面の表示を行う。本実施形態では、MFP101のUI制御部302がボタン画像の生成、ホーム画面へのボタンの配置の決定を行うとする。しかし、レコメンドボタン管理サーバ102が、ホーム画面のレイアウトやボタン画像、ボタンの配置位置などの情報を含んだHTML(HyperText Markup Language)ファイルをMFP101に送信してもよい。この場合、UI制御部302は、MFP101に搭載するブラウザを使用することでホーム画面の表示を行う。
UI制御部302はホーム画面を介してユーザから表示したボタンへの選択を受け付ける。ユーザがホーム画面に表示されたいずれかのボタンを選択しジョブの実行を指示したことに従って、MFPコントロール部301はジョブを実行する(S605)。UI制御部302は、レコメンドボタン情報に記憶されているジョブ設定値を使用したジョブの実行をMFPコントロール部301に指示する。MFPコントロール部301はジョブ実行後に、実行したジョブの種類とそのジョブの設定値、ジョブ実行ユーザと実行日時をジョブ履歴テーブル313に記憶するように記憶部310に指示する。
ジョブ履歴送信部308は、ジョブ実行後にジョブ履歴テーブル313に記憶されたジョブ履歴情報をMFP101の識別子と紐付けてレコメンドボタン管理サーバ102に送信する(S606)。
レコメンドボタン管理サーバ102のジョブ履歴受信部504は、MFP101からジョブ履歴情報を受信する。そして、ジョブ履歴受信部504は、受信したジョブ履歴をジョブ履歴テーブル507に記憶するように記憶部505に指示する。そして、レコメンドボタン生成部503はジョブ履歴に基づいてレコメンドボタン情報を生成する(S607)。本実施形態において、レコメンドボタン生成部503は、ジョブ履歴テーブル507に記憶されたジョブ履歴に基づいてレコメンドボタン情報を生成する。レコメンドボタン生成部503は、ジョブ履歴テーブル507に記憶されているジョブ履歴のうち、同じ設定値で実行されたジョブの数をカウントする。そして、レコメンドボタン生成部503はそれぞれのジョブ種がscanかprintかを分ける。レコメンドボタン生成部503は、ジョブ種がscanのジョブ情報であって、実行回数の多いジョブ設定から順にscanの表示優先度を割り当てる。そして、レコメンドボタン生成部503はその後、ジョブ種がprintのジョブ情報について、実行回数が多い順でscanの表示優先度を割り当てる。さらに、レコメンドボタン生成部503は、ジョブ種がprintのジョブについて、実行回数が多い順にprintの表示優先度を割り当てる。その後、レコメンドボタン生成部503はジョブ種がscanのジョブ情報について、実行回数が多い順にprint表示優先度を割り当てる。なお、レコメンドボタン生成部503がレコメンドボタン情報を生成する際に、ジョブ履歴テーブルのうち実行回数が所定数未満のものをレコメンドボタンとして生成しないようにしてもよい。このようにすることで、過去の実行回数が少ないジョブ設定がレコメンドされてしまうことを防ぐことができる。また、レコメンドボタン生成部503が同じ設定でジョブが実行された回数をカウントする際に、現在の日時よりも所定期間以上前のものをカウント対象としないとしてもよい。このようにすることで、以前実行していたが、現在は使っていないジョブ設定がレコメンドされてしまうことを抑制することができる。
また、レコメンドボタン生成部503によるレコメンドボタンの生成方法は上記の方法に限られない。たとえば、ジョブ履歴テーブル507に記憶されているジョブ履歴を実行日時順に並べ、現在の日時に近い順に表示優先度を割り当ててレコメンドボタン情報を生成するとしてもよい。また、レコメンドボタン生成部503は、設定項目ごとに過去の実行回数の累計を求め、その累計値に基づき、レコメンドボタン情報を生成してもよい。
レコメンドボタン生成部503はレコメンドボタン情報を作成するとレコメンドボタン情報テーブル508に生成したレコメンドボタン情報を記憶するように記憶部505に指示を行うことで、レコメンドボタン情報の更新を行う。
ここでは、ユーザ認証を使わずに、MFPごとにホーム画面に表示されるボタンをレコメンドする場合を例に説明した。これにより、MFP101のユーザ全体にとって最適なボタンを表示するレコメンドボタン情報をS602にて返送することができる。具体的には、レコメンドボタン管理サーバ102は、ユーザを限定せずMFP101で使用される頻度の高いジョブを実行するボタンが表示されるようなレコメンドボタン情報を送信する。るユーザがMFPにログインしたタイミングでログインしたユーザに対応するボタンをレコメンドするとしてもよい。その場合、MFP101は、S601においてレコメンド対象者としてログイン中のユーザ識別子(ユーザIDなど)レコメンドボタン管理サーバ102に送信する。これにより、ログインしたユーザに最適なボタンをホーム画面に表示することができるようになる。
図15はMFP101のホーム画面表示処理について示したフローチャートである。本フローチャートはROM202に格納されたファームウェアに従ってCPU201が動作することで実現される。以降のフローチャートについても同様である。図15は、MFPの電源がオンになりホーム画面が表示される場合や、ユーザがMFP101にログインした場合、ユーザが操作部207にある不図示のホームボタンを選択してホーム画面の表示を指示した場合に実行される。上記以外の場合であっても、ホーム画面を表示する指示に従って、CPU201が図15に記載の処理を実行する。
レコメンドボタン情報取得部309は、レコメンドボタン情報をレコメンドボタン管理サーバ102から取得し、レコメンドボタン情報テーブル312を更新するタイミングであるか否かを判定する(S1400)。レコメンドボタン情報の更新タイミングであれば、レコメンドボタン情報取得部309はS1702に処理を進める。レコメンドボタン情報の更新タイミングでなければ、レコメンドボタン情報取得部309はS1701に記載の処理を継続する。レコメンドボタン情報の更新タイミングは、MFP101の起動時(電源ON時)の他に、ユーザのログイン時、スリープからの復帰時、スキャナへの原稿台やADFの原稿台への原稿設置などMFP101に対して特定の操作が行われたタイミングなどである。
表示モード制御部303はホーム画面の表示モードの設定処理を行う(S1401)。S1401で実行されるモード設定処理の詳細は図16で後述する。S1401で実行される処理において、表示モード制御部303は、ホーム画面の表示モードを固定ボタンモードにするかレコメンドモードにするか設定する。
次に、表示モード制御部303は、S1401で決定した表示モードが固定ボタンモードであるか否かを判定する(S1402)。決定した表示モードが固定ボタンモードである場合、UI制御部302は固定ボタン情報テーブル311から読み出したデータに基づきホーム画面を生成し、操作部207に表示する(S1403)。S1403において、まず、記憶部310が固定ボタン情報テーブル311を読み出す。ホームボタン生成部304は、読み出された固定ボタン情報テーブル311にしたがって、図6に示すホーム画面に表示されるボタンの画像データを生成する。UI制御部302は、固定ボタン情報テーブルで指示される配置に従って、ホーム画面上にボタンを配置し、操作部207に表示させる。これにより図6に示すホーム画面が操作部207に表示される。
S1402において、表示モードが固定ボタンモードでないと判定された場合、MFPコントロール部301は、MFP101がスキャン優先状態であるか否かを判定する(S1404)。たとえば、読取部209のADFの原稿台に原稿が載置されている場合に、MFPコントロール部301はスキャン優先であると判定する。また、MFP101の原稿台カバーが開けられているときに、MFPコントロール部301はスキャン優先であると判定する。
S1404において、スキャン優先でないと判定された場合、UI制御部302はレコメンドボタン情報テーブル312に記憶されている情報に基づき生成されるボタンをプリント優先度の順番で配置したホーム画面を操作部207に表示する(S1405)。S1405において、まず、記憶部310がレコメンドボタン情報テーブル312からS1401でレコメンドボタン管理サーバ102から取得したレコメンドボタン情報を読み出す。ホームボタン生成部304が読み出したレコメンドボタン情報に基づきボタン画像を生成する。そして、UI制御部302が生成されたレコメンドボタンをプリント優先度の高い順で図8に示すホーム画面に配置し、操作部207に表示する。
S1406において、スキャン優先であると判定された場合、UI制御部302はレコメンドボタン情報テーブル312に記憶されている情報に基づき生成されるボタンをスキャン優先度の順番で配置したホーム画面を操作部207に表示する(S1406)。S1406において、まず、記憶部310がレコメンドボタン情報テーブル312からS1401でレコメンドボタン管理サーバ102から取得したレコメンドボタン情報を読み出す。ホームボタン生成部304が読み出したレコメンドボタン情報に基づきボタン画像を生成する。そして、UI制御部302が生成されたレコメンドボタンをスキャン優先度の高い順で図8に示すホーム画面に配置し、操作部207に表示する。
S1605、または、S1606の処理を行うことで、図8に示すレコメンドモードにおけるホーム画面が表示される。なお、図15のS1404では、MFP101の状態がスキャン優先であるか否かを判定した。S1404において、MFP101の状態がプリント優先であるか否かを判定し、プリント優先と判定された場合にS1406の処理を実行し、プリント優先でないと判定された場合にS1405に記載の処理を実行するとしてもよい。さらに、S1404の処理を設けずに、MFP101の状態にかかわらず、レコメンドボタン情報テーブル312に記憶された情報から表示順を設定するとしてもよい。
図16は図15の表示モード設定処理(S1401)の詳細を示したフローチャートである。図16に記載の処理は、MFP101のCPU201がプログラムに従って動作し、図3に示す各機能部の機能を実行することで実現される。
表示モード制御部303は表示モード設定がレコメンドモードに設定されているか否かを判定する(S1501)。S1501において、表示モード制御部303は、ユーザによる表示モードの設定がレコメンドモードになっているか否かを判定する。レコメンドモードに設定されていた場合、S1502に記載の処理が実行される。レコメンドモードでない、つまり固定ボタンモードに設定されていた場合は、S1507に記載の処理が実行される。
次に、デバイス登録判定部306は、MFP101がレコメンドボタン管理サーバ102にデバイス登録済みであるか否かを判定する(S1502)。デバイス登録判定部306は、記憶部310を介してデバイス登録情報314を読み出し、MFP101がレコメンドボタン管理サーバ102に登録済みであるか否かを判定する。MFP101がレコメンドボタン管理サーバ102に登録済みでない場合、S1506の処理が実行される。S1502において、MFP101がレコメンドボタン管理サーバ102に登録されていないと判定された場合、MFP101がレコメンドボタン管理サーバ102に登録されていないことを示す通知をUI制御部302が操作部207に表示してもよい。
レコメンドボタン情報取得部309は、レコメンドボタン管理サーバ102にレコメンドボタン情報要求を送信する(S1503)。レコメンドボタン情報取得部309は、レコメンド対象者を示す情報を含むレコメンドボタン情報の取得要求をレコメンドボタン管理サーバ102に送信する。MFP101がユーザ認証機能を使わない設定の場合、レコメンドボタン情報取得部309はMFP101のデバイス名やシリアル番号等MFP101を特定するための情報をレコメンド対象者としてレコメンドボタン管理サーバ102に送信する。一方で、MFP101がユーザ認証機能使用する設定の場合、当該ユーザのユーザIDなどユーザを識別するための情報をレコメンド対象者としてレコメンドボタン管理サーバ102に送信する。
レコメンドボタン情報取得部309は、レコメンドボタン管理サーバ102との通信がタイムアウトしたか否かを判定する(S1504)。通信エラーなどによって所定時間が経過してもレコメンドボタン情報が取得できずレコメンドボタン管理サーバ102との通信がタイムアウトした場合、レコメンドボタン情報取得部309はS1508に処理を進める。レコメンドボタン管理サーバ102からレコメンドボタン情報を受信できない状態でレコメンドボタン管理サーバ102との通信がタイムアウトした場合に、UI制御部302がその旨を示す表示を操作部207に行っても良い。S1508では、レコメンドボタン情報の取得要求を送信したのちコメンドボタン情報が取得できない状態でレコメンドボタン管理サーバ102との通信がタイムアウトした場合にホーム画面の表示モードが固定ボタンモードに設定される。S1504においてレコメンドボタン管理サーバ102との通信がタイムアウトした場合に、所定回数レコメンドボタンの取得要求をリトライするとしてもよい。MFP101がレコメンドボタン情報の取得要求をレコメンドボタン管理サーバ102に送信してから所定時間が経過しても、MFP101がレコメンドボタン情報を受信していない場合に通信がタイムアウトしたと判定する。
レコメンドボタン管理サーバ102との通信がタイムアウトしていない場合、レコメンドボタン情報取得部309は、レコメンドボタン管理サーバ102からレコメンドボタン情報を受信したか否かを判定する(S1505)。レコメンドボタン情報を受信していない場合、レコメンドボタン情報取得部309はS1504に処理を戻す。レコメンドボタン情報を受信した場合、レコメンドボタン情報取得部309は、S1506に処理を進める。
レコメンドボタン情報取得部309は、記憶部310を制御し、レコメンドボタン情報テーブル312を受信したレコメンドボタン情報で更新する(S1506)。このとき、記憶部310は、取得したレコメンドボタン情報で指定されるレコメンド対象者と同じレコメンド対象者のレコメンドボタン情報を更新し、他のレコメンド対象者の情報は更新しない。
表示モード制御部303は、表示モード設定通りにホーム画面をレコメンドモードで表示するように決定し、メモリに表示モードを記憶する(S1507)。これにより、ユーザはレコメンドボタン管理サーバ102から受信したレコメンドボタン情報を使ったホーム画面を使用することができる。
表示モード制御部303は、表示モードを固定ボタンモードとするように決定し、メモリに表示モードをセットする(S1508)。このようにすることで、レコメンドボタン管理サーバ102からレコメンドボタン情報を取得できなかった場合であっても、速やかにホーム画面の表示を行うことができる。
なお、図16では、レコメンドボタン管理サーバ102からレコメンドボタン情報を受信できないまま、レコメンドボタン管理サーバ102との通信がタイムアウトした場合に固定ボタンモードでホーム画面の表示を行うとしている。S1504、S1505でレコメンドボタン管理サーバ102から通信失敗の旨を示す通知を受信した場合に、表示モード制御部303がホーム画面の表示モードを固定ボタンモードに設定するとしてもよい。
図17を用いて、レコメンドボタン管理サーバ102がMFP101からレコメンドボタン取得要求を受信した際に実行する処理を説明する。図17に記載の処理はレコメンドボタン管理サーバ102の電源がオンになったことに従って開始される。レコメンドボタン管理サーバ102のCPU401はHDD404またはROM402に格納されたプログラムをRAM403に展開し、実行することで以下の処理を実現する。
ボタン情報送信部501は、ネットワークを介してレコメンドボタン取得要求を受信したか否かを判定する(S1901)。レコメンドボタン取得要求を受信していない場合、ボタン情報送信部501はS1901の処理を繰り返し行う。レコメンドボタン取得要求を受信した場合、ボタン情報送信部501はS1902に処理を進める。
ボタン情報送信部501は、受信したレコメンドボタン取得要求に含まれるレコメンド対象者を特定する(S1902)。
ボタン情報送信部501は、記憶部505を制御しレコメンドボタン情報テーブル508を読み出し、S1902で特定されたレコメンド対象者に対応するレコメンドボタン情報を取得する(S1903)。
ボタン情報送信部501は、S1903で取得したレコメンドボタン情報をMFP101に送信する(S1904)。以上の処理を行うことでレコメンドボタン情報をMFP101に送信することができる。
第1の実施形態では、通信エラーなどによってレコメンドボタン情報の取得に失敗し、ホーム画面に表示するレコメンドボタンがない状態においても、固定ボタンモードで表示を行うこと速やかにホーム画面を表示することができる。
<第2の実施形態>
第1の実施形態では、MFP101がレコメンドボタン管理サーバ102からレコメンドボタン情報を更新することができない場合に、MFP101にあらかじめ記憶されたボタン情報を用いた画面表示を行う場合を説明した。第2の実施形態では、レコメンドボタン管理サーバ102から取得されたMFP101に適したレコメンドボタン情報が所定数より少ない場合にあらかじめ記憶されたボタン情報を使った画面表示を行う。このようにすることで、表示することのレコメンドボタンが少なく、ユーザが選択できるボタンが少なくなってしまうことを抑制する。
図1~図14に示す構成は第1の実施形態と同様であるため説明を省略する。第2の実施形態ではユーザ認証機能が有効に設定されており、ユーザがユーザID、パスワード当認証に必要な情報を入力し、MFP101にログインすると図6または図8に示すホーム画面が表示される。ユーザ認証の方法は上記に限らずICカードや画像認証、生体認証等いずれの方法であってもよい。
図18は第2の実施形態におけるMFP101が適切な表示モードでホーム画面の表示を行うための処理について示したフローチャートである。図18はMFP101の電源がオンされた後、随時行われる処理である。ROM202、またはストレージ204に記憶されたプログラムがRAM203に展開され、CPU201が当該プログラムを実行することで処理が以下の処理が実現される。なお、図18において、第1の実施形態の図15と同様の処理については同様の符号を付与し、説明を省略する。
表示モード制御部303は適切な表示モードを設定する設定処理を行う(S1701)。S1701の設定処理によってホーム画面の表示モードを固定ボタンモードにするかレコメンドモードにするが決定される。S1701に記載の処理については、図19を用いて説明する。
図19は図18の表示モード切替判定(S1701)について示したフローチャートである。図19において、図16と同じ処理には同様の符号を付加し、説明を省略する。CPU201がROM202またはストレージ204に記憶されているプログラムを実行することで図19に記載の処理が実現される。
ホームボタン生成部304は、レコメンドボタン管理サーバ102から受信したレコメンドボタン情報からMFP101のホーム画面に表示するレコメンドボタン情報を抽出する(S1801)。S1801において、ホームボタン生成部304はボタン有効判定部305を制御する。ボタン有効判定部305は、レコメンドボタン管理サーバ102から取得したレコメンドボタン情報がそれぞれMFP101で実行することのできる設定のボタンであるかを判定する。たとえば、user001がログインした場合に、レコメンドボタン管理サーバ102から受信したレコメンドボタン情報にファクスジョブを実行するためのボタンが含まれていたとする。しかし、MFP101がファクス機能を有しておらず、ファクスを実行することができない場合がある。この場合に、ホーム画面にレコメンドボタン管理サーバ102から受信したファクスジョブのレコメンドボタン情報に基づくボタンを表示してもユーザはこのボタンを選択してジョブを実行することができない。そこで、S1504においてあらかじめMFP101のハードウェア構成や、ログインしたユーザに対して設定された機能制限情報に基づき、受信したレコメンドボタン情報から実行することのできないレコメンドボタン情報を除く。このようにすることで、MFP101で実行することができないレコメンドがMFP101のホーム画面に表示されないようにすることができる。
ホームボタン生成部304はホーム画面に表示可能なレコメンドボタンが所定の数以上あるか否かを判定する(S1802)。ホーム画面に表示可能なレコメンドボタンが所定の数以上ある場合、ホームボタン生成部304はS1505に処理を進める。ホーム画面に表示可能なレコメンドボタンが所定の数を下回る場合、ホームボタン生成部304はS1507に処理を進める。ホーム画面に表示することのできるレコメンドボタンが所定数以下となる場合、ユーザの使用したい機能がホーム画面に表示されなくなってしまう可能性がある。そこで、S1802においてホーム画面に表示することのできるレコメンドボタンの数が所定数よりも少なくなる場合に、ホーム画面の表示モードを固定ボタンモードに変更する。このようにすることで、ユーザにレコメンドすることのできるボタンの数が少なくなってしまう場合に、ホーム画面に表示されるボタンの数が少なくなってしまうことを防ぐことができる。
第2の実施形態は、適切なタイミングでレコメンドボタン情報の取得を行うことで、効率的に最新のレコメンドボタン情報を取得することを可能とする。また、ホーム画面に表示可能なレコメンドボタンが少なく、ユーザの利便性を損なう可能性が高い状況においては固定ボタンモードとすることで利便性の向上を可能とした。これにより、レコメンドボタン管理サーバ102のジョブ履歴テーブル507に十分なジョブ履歴が蓄積されていない状況においても、固定ボタンモードで表示を行うことで表示されるボタンの数が少なくなってしまうことを抑制する。
<その他の実施形態>
第1の実施形態では、レコメンドボタン管理サーバ102からレコメンドボタン情報を取得できない場合に、固定ボタンモードでホーム画面を表示するとした。レコメンドボタン管理サーバ102からレコメンドボタン情報を取得できない場合に、レコメンドボタン情報テーブル312に記憶されたレコメンドボタン情報を用いてレコメンドボタン表示を行うとしてもよい。すなわち、レコメンドボタン情報を更新できない場合に、レコメンドボタン管理サーバ102から最後に受信したレコメンドボタン情報を使ってホーム画面の表示を行うとしてもよい。この場合、図16において、レコメンドボタン情報取得部309がS1504に記載の処理を実行したのち、S1505の処理をせず、S1506を実行する。これにより、レコメンドボタン管理サーバ102からレコメンドボタン情報を取得できなかった場合であっても、レコメンドボタン取得要求の送信前からレコメンドボタン情報テーブルに記憶されていた情報に基づいてボタンの表示を行うことができる。
第1の実施形態、第2の実施形態では、図8に示すレコメンドモードが表示された状態で、一時的に図6に示す固定ボタンモードの画面を使用することができなかった。そこで、図8に示すレコメンドモードでのホーム画面に不図示のホーム画面切り替えボタンを表示するとしてもよい。ユーザがホーム画面切り替えボタンを選択すると、一時的に図6に示す固定ボタンモードのホーム画面が表示される。このようにすることで、レコメンドモードを使っていたユーザが使用したい機能のボタンがレコメンドモードのホーム画面に表示されていない場合に、図6の固定ボタンモードのホーム画面から機能を選択することができる。このとき、ユーザが図6に示すホーム画面において“コピー”701を選択し、図7の示すコピー画面が表示された後、再度ホーム画面を表示する際には、図8に示すレコメンドモードのホーム画面を表示する。
なお、第1、第2の実施形態では、レコメンドモードにおいてレコメンド管理サーバ102がボタンの名称やボタン画像を設定した。レコメンドボタン管理サーバ102がレコメンド対象者、ジョブ種、ジョブ設定、表示優先度の設定を行い、MFP101がレコメンドボタン管理サーバから受信した情報に基づき、ボタン名称、ボタン画像を設定するとしてもよい。
第1、第2の実施形態では、レコメンドモードにおいてレコメンドボタン情報をサーバから取得するタイミングを、MFP101の電源オン、ユーザのログイン、原稿カバーオープンやADFへの原稿載置とした。上記を含む複数のタイミングからレコメンドボタン情報の取得タイミングをユーザが選択できるとしてもよい。たとえば、電源オン、または、ユーザログインのタイミングのみでレコメンドボタン情報の取得を行い、その他のタイミングではレコメンドボタン情報の取得を行わないようにしてもよい。
第1、第2の実施形態では、ホーム画面上に表示されるボタンの情報をレコメンドボタン管理サーバ102から受信するとした。MFP101の操作部に表示されるジョブの設定画面等、他の画面について、サーバから取得した情報を使って画面表示を行う場合に上記の実施形態を適用するとしてもよい。たとえば、図7に記載のジョブの設定画面の表示時にサーバから取得した情報を使って画面表示を行うとし、上記の実施形態を適用するとしてもよい。
第1、第2の実施形態において、レコメンドモードにおいて表示されるレコメンドボタンは、ジョブ種、およびジョブの設定が紐づけられているボタンであった。そして、ユーザが当該ボタンを選択するとユーザによる設定操作なしで選択されたボタンに紐づくジョブの設定でジョブを実行することができた。図6に示すホーム画面に表示されているボタンと同じボタンが図9に示すレコメンドモードで表示されるとしてもよい。このとき、レコメンドボタン管理サーバ102はMFP101の使用履歴に基づき、図6のホーム画面で表示されるボタンの表示優先度を設定する。例えば、コピージョブの実行回数の多いMFP,またはユーザに対しては“コピー”701の優先度を高くし、スキャンジョブの実行回数の多いMFP、またはユーザに対しては“スキャン”702の優先度を高くする。このようにすることで、ジョブの設定値が設定されていないボタンであってもレコメンドモードで優先度の高い順にボタンを表示することができる。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。