(57)【要約】【課題】  履歴情報がどのプログラムから実行を要求されたものかを識別することができる機器やプログラム等を提供する。【解決手段】  この機器は、利用者の操作を受け付ける操作部１０と、操作により指示された機能を実行する本体部２０とを含む電子機器であり、操作部１０が、受け付けた操作に応じて、本体部２０に対し機能の実行を指示する実行指示手段と、実行指示手段によって実行を指示された機能を識別するための識別情報を本体部２０に通知する通知手段とを含み、本体部２０が、操作部１０の実行指示手段により指示された前記機能を実行する機能実行手段と、機能実行手段により実行された機能の実行に関する情報を履歴情報として生成する生成手段と、生成手段により生成された履歴情報を、通知手段から通知された識別情報と関連付けて記憶する記憶手段とを含む。【選択図】  図３
2018011176.tif 000002
【特許請求の範囲】
【請求項１】
利用者の操作を受け付ける操作部と、前記操作により要求された機能を実行する本体部とを含む電子機器であって、
前記操作部が、
受け付けた前記操作に応じて、前記本体部に対し前記機能の実行を指示する実行指示手段と、
前記実行指示手段によって実行を指示された機能を識別するための識別情報を前記本体部に通知する通知手段とを含み、
前記本体部が、
前記操作部の前記実行指示手段により指示された前記機能を実行する機能実行手段と、
前記機能実行手段により実行された前記機能の実行に関する情報を履歴情報として生成する生成手段と、
前記生成手段により生成された前記履歴情報を、前記通知手段から通知された識別情報と関連付けて記憶する記憶手段とを含む、電子機器。
【請求項２】
前記操作部は、前記操作に関する情報を第２の履歴情報として生成する第２の生成手段と、前記操作の対象の前記実行指示手段を判定する判定手段と、前記第２の生成手段により生成された前記第２の履歴情報を、前記判定手段により判定された前記実行指示手段によって実行を指示された機能を識別するための識別情報と関連付けて記憶する第２の記憶手段と、設定された条件に従って、前記第２の記憶手段に記憶された前記第２の履歴情報を前記本体部に転送する制御を行う転送制御手段とを含む、請求項１に記載の電子機器。
【請求項３】
前記転送制御手段は、前記条件として、前記実行指示手段が前記機能の実行を指示した場合に、前記第２の履歴情報を前記本体部に転送する、請求項２に記載の電子機器。
【請求項４】
前記転送制御手段は、前記条件として、前記第２の記憶手段の残りの記憶容量が一定量より少なくなった場合に、前記第２の履歴情報を前記本体部に転送する、請求項２に記載の電子機器。
【請求項５】
前記転送制御手段は、前記条件として、前回転送してから一定時間が経過した場合に、前記第２の履歴情報を前記本体部に転送する、請求項２に記載の電子機器。
【請求項６】
前記本体部は、前記記憶手段に記憶された前記履歴情報を取得し、前記操作部から転送された前記第２の履歴情報を前記履歴情報と結合する結合手段をさらに含む、請求項２〜５のいずれか１項に記載の電子機器。
【請求項７】
前記履歴情報は、前記機能の実行を開始した時刻を含み、前記第２の履歴情報は、前記操作を開始した時刻を含み、
前記結合手段は、前記時刻に応じて、前記第２の履歴情報を前記履歴情報に挿入することにより、前記履歴情報と前記第２の履歴情報とを結合する、請求項６に記載の電子機器。
【請求項８】
利用者の操作を受け付け、電子機器が備える本体部に対し機能の実行を指示する処理をコンピュータに実行させるためのプログラムであって、
前記利用者の操作を受け付けるステップと、
受け付けた前記操作に応じて、前記本体部に対し実行指示手段により前記機能の実行を指示するステップと、
前記実行指示手段によって実行を指示された機能を識別するための識別情報を前記本体部に通知するステップと、
前記操作に関する情報を履歴情報として生成するステップと、
前記操作の対象の前記実行指示手段を判定するステップと、
生成された前記履歴情報を、判定された前記実行指示手段によって実行を指示された機能を識別するための識別情報と関連付けて記憶手段に記憶するステップと、
設定された条件に従って、前記記憶手段に記憶された前記履歴情報を前記本体部に転送する制御を行うステップとを実行させる、プログラム。
【請求項９】
前記制御を行うステップでは、前記条件として、前記実行指示手段が前記機能の実行を指示した場合に、前記履歴情報を前記本体部に転送する、請求項８に記載のプログラム。
【請求項１０】
前記制御を行うステップでは、前記条件として、前記記憶手段の残りの記憶容量が一定量より少なくなった場合に、前記履歴情報を前記本体部に転送する、請求項８に記載のプログラム。
【請求項１１】
前記制御を行うステップでは、前記条件として、前回転送してから一定時間が経過した場合に、前記履歴情報を前記本体部に転送する、請求項８に記載のプログラム。
【請求項１２】
電子機器が備える操作部から指示された機能を実行する処理をコンピュータに実行させるためのプログラムであって、
前記操作部が備える実行指示手段により指示された前記機能を実行するステップと、
前記機能の実行に関する情報を第１の履歴情報として生成するステップと、
前記操作部から前記実行指示手段によって実行を指示された機能を識別するための識別情報を受信するステップと、
生成された前記第１の履歴情報を、受信された前記識別情報と関連付けて記憶手段に記憶するステップと、
前記操作部から前記識別情報が割り当てられた前記操作に関する情報としての第２の履歴情報を受信するステップと、
前記記憶手段に記憶された前記第１の履歴情報を取得し、前記操作部から受信した前記第２の履歴情報を前記第１の履歴情報と結合するステップとを実行させる、プログラム。
【請求項１３】
前記第１の履歴情報は、前記機能の実行を開始した時刻を含み、前記第２の履歴情報は、前記操作を開始した時刻を含み、
前記結合するステップでは、前記時刻に応じて、前記第２の履歴情報を前記第１の履歴情報に挿入することにより、前記第１の履歴情報と前記第２の履歴情報とを結合する、請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者の操作を受け付ける操作部と、操作により指示された機能を実行する本体部とを含む電子機器、履歴情報の記憶の制御をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
MFP(Multi-Function Peripheral)等の電子機器は、利用者（ユーザ）の操作を受け付けるタッチパネル等の操作部と、操作により指示されたコピー、印刷、FAX送受信、スキャナ等の機能を実行する本体部とを備えている。
【０００３】
操作部は、各機能に対応したアプリケーションモジュール（以下、アプリと略す。）を実装し、ユーザが操作によりアプリを起動させ、本体部に対して機能の実行を指示する。本体部は、その指示を受けて、機能を実行し、その履歴情報をログとして生成し、記憶する（例えば、特許文献１参照）。記憶されたログは、機能の利用状況の確認や集計、不具合の原因調査等のために参照される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
操作部に実装されるアプリには、例えば印刷に関するあらゆる機能を備えたアプリ、機能を絞った簡易なアプリ、3rdベンダによるユーザインタフェースを有するアプリ等の同じ印刷機能を実行する複数のアプリが存在する。このようなアプリから印刷機能の実行を指示すると、本体部では印刷ジョブのログとしてしか記憶されないので、どのアプリから実行を指示されたものかを識別することができないという問題があった。
【０００５】
本発明は、上記の問題に鑑みてなされたものであり、履歴情報がどのプログラムから実行を指示されたものかを識別することができる装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、利用者の操作を受け付ける操作部と、操作により指示された機能を実行する本体部とを含む電子機器であって、操作部が、受け付けた操作に応じて、本体部に対し機能の実行を指示する実行指示手段と、実行指示手段によって実行を指示された機能を識別するための識別情報を本体部に通知する通知手段とを含み、本体部が、操作部の実行指示手段により指示された機能を実行する機能実行手段と、機能実行手段により実行された機能の実行に関する情報を履歴情報として生成する生成手段と、生成手段により生成された履歴情報を、通知手段から通知された識別情報と関連付けて記憶する記憶手段とを含む、電子機器を提供する。
【発明の効果】
【０００７】
本発明によれば、履歴情報がどのプログラムから実行を指示されたものかを識別することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】電子機器としてのMFPのハードウェア構成の一例を示した図。
【図２】MFPのソフトウェア構成の一例を示した図。
【図３】MFPの操作部および本体部の機能構成の一例を示したブロック図。
【図４】操作パネルに表示されるホーム画面の一例を示した図。
【図５】操作部により実行される処理の一例を示したフローチャート。
【図６】本体部により実行される処理の一例を示したフローチャート。
【図７】従来の機器に蓄積されるジョブログと本機器に蓄積されるジョブログの一例を示した図。
【図８】MFPの操作部の機能構成の別の例を示したブロック図。
【図９】操作ログを一時的に保存する処理の流れを示したシーケンス図。
【図１０】操作ログを本体部に転送し、本体部に保存する処理の一例を示したシーケンス図。
【図１１】操作ログを一時的に保存する処理の一例を示したフローチャート。
【図１２】操作ログを一時的に保存する処理の別の例を示したフローチャート。
【図１３】MFPの本体部の機能構成の別の例を示したブロック図。
【図１４】操作ログを本体部に転送し、本体部に保存する処理の別の例を示したシーケンス図。
【発明を実施するための形態】
【０００９】
図１は、電子機器のハードウェア構成の一例を示した図である。電子機器は、利用者の操作を受け付ける操作部と、操作により要求された機能を実行する本体部とを含む機器であれば、いかなる機器であってもよく、例えばMFP等の画像形成装置を挙げることができる。以下、電子機器をMFPとして説明する。
【００１０】
MFPは、操作部１０と、本体部２０とを含み、操作部１０は、ユーザの操作に応じた入力を受け付け、本体部２０は、コピー機能、スキャナ機能、ファックス機能、印刷機能等の各種の機能を実行する。操作部１０と本体部２０は、専用の通信路３０を介して相互に接続される。通信路３０は、例えばUSB(Universal Serial Bus)規格のものを用いることもできるし、有線か無線かを問わず、任意の規格のものを用いることができる。
【００１１】
操作部１０は、ハードウェアとして、CPU１１と、ROM１２と、RAM１３と、フラッシュメモリ１４と、操作パネル１５と、接続I/F１６と、通信I/F１７とを備え、これらは、システムバス１８を介して相互に接続されている。CPU１１は、操作部１０の動作を総括的に制御する。CPU１１は、RAM１３を作業領域として使用し、ROM１２およびフラッシュメモリ１４等に格納されたプログラムを実行することで、操作部１０全体を制御し、本体部２０が備える機能に関する操作や表示を行うためのUI(User Interface)の機能を実現する。
【００１２】
なお、ROM１２には、OS(Operating System)、設定ウィジェットプログラム(SWP)、各種のアプリ(AP)が格納されている。OSは、操作部１０に実装されるアプリ等が共通して利用する基本的な機能を提供するプログラムで、SWPは、操作パネル１５に表示されるホーム画面にウィジェットを表示するプログラムである。ウィジェットは、ホーム画面の任意の場所に表示可能な単一の機能を有するアプリである。その機能の一例としては、カレンダー、メモ帳、地図、最新ニュース表示、日時表示等を挙げることができる。
【００１３】
操作パネル１５は、透明電極で形成されたタッチ検出部と液晶表示部とを一体的に形成した、いわゆるタッチパネルとされる。操作パネル１５は、ユーザのタッチ操作による各種の入力を受け付けるとともに、各種の情報をCPU１１の制御の下、表示する。各種の情報としては、例えば受け付けた入力に応じた情報、MFPの動作状況を示す情報、設定状態等を示す情報を挙げることができる。
【００１４】
接続I/F１６は、通信路３０と接続し、本体部２０との通信を行うためのインタフェースである。通信I/F１７は、ネットワークと接続し、ネットワークを介した通信を行うためのインタフェースである。ネットワークは、有線ネットワークであってもよいし、無線LAN(Local Area Network)等の無線ネットワークであってもよい。このため、通信I/F１７を使用してネットワークを介してサーバと通信を行い、操作パネル１５にWebページ等を表示させることができる。
【００１５】
本体部２０は、ハードウェアとして、CPU２１と、ROM２２と、RAM２３と、HDD２４と、エンジン２５と、接続I/F２６と、通信I/F２７とを備え、これらは、システムバス２８を介して相互に接続されている。CPU２１は、本体部２０の動作を総括的に制御する。CPU２１は、RAM２３を作業領域として使用し、ROM２２およびHDD２４等に格納されたプログラムを実行することで、本体部２０全体を制御し、コピー機能、スキャナ機能、ファックス機能、印刷機能等の各種の機能を実現する。ROM２２には、操作部１０のROM１２と同様、OS、各種のAPが格納されている。なお、これらのプログラムは、ROM２２に限られるものではなく、HDD２４等に格納されていてもよい。
【００１６】
エンジン２５は、コピー機能、スキャナ機能、ファックス機能、印刷機能等を実現するための、汎用的な情報処理および通信以外の処理を行うハードウェアである。接続I/F２６は、通信路３０と接続し、操作部１０との通信を行うためのインタフェースである。通信I/F２７は、電話回線やネットワークと接続し、電話回線を利用したファックス通信やネットワークを介した通信を行うためのインタフェースである。
【００１７】
MFPでは、イベントが発生すると、ログを生成し、本体部２０のRAM２３またはHDD２４にそのログを蓄積する。通常、HDD２４に蓄積するが、HDD２４を持たない機種の場合はRAM２３に蓄積する。
【００１８】
次に、図２を参照して、MFPのソフトウェア構成について説明する。操作部１０は、アプリ層４０と、サービス層４１と、OS層４２とを有し、これらの層により階層構造を形成する。アプリ層４０、サービス層４１、OS層４２の実体は、ROM１２に格納されているOS、SWP、各種AP等のプログラムである。CPU１１がこれらのプログラムを実行することにより、各種の機能を提供することができる。
【００１９】
アプリ層４０は、上記のUIの機能を提供するためのAPを含む。サービス層４１は、アプリ層４０とOS層４２との間に介在し、アプリ層４０に含まれるAPに対し、操作部１０が備えるハードウェア資源を利用するためのインタフェースを提供するプログラムを含む。OS層４２は、OSを含み、各種APからのハードウェア資源の利用要求を、サービス層４１を介してOSが解釈可能なコマンドに変換された形で受け付ける。OS層４２は、OS上でそのコマンドを実行することで、ハードウェア資源をAPの要求に従って動作させる。
【００２０】
本体部２０も、操作部１０と同様、アプリ層４５と、サービス層４６と、OS層４７とを有し、これらの層により階層構造を形成する。アプリ層４０、サービス層４１、OS層４２の実体は、ROM２２（またはHDD２４）に格納されているOS、各種AP等のプログラムである。CPU２１がこれらのプログラムを実行することにより、各種の機能を提供することができる。
【００２１】
アプリ層４５は、コピー機能、スキャナ機能、ファックス機能、印刷機能等の各種の機能を提供するためのAPを含む。サービス層４６は、アプリ層４５とOS層４７との間に介在し、アプリ層４５に含まれるAPに対し、本体部２０が備えるハードウェア資源を利用するためのインタフェースを提供するプログラムを含む。アプリ層４５に含まれるAPにより提供される機能が、操作部１０のアプリ層４０に含まれるAPにより提供される機能とは異なるため、サービス層４６が受け付け可能な動作要求の種類が操作部１０とは異なる。
【００２２】
OS層４７は、OSを含み、操作部１０と同様、各種APからのハードウェア資源の利用要求を、サービス層４６を介してOSが解釈可能なコマンドに変換された形で受け付ける。OS層４７は、OS上でそのコマンドを実行することで、エンジン２５といったハードウェア資源をAPの要求に従って動作させる。
【００２３】
操作部１０のOS層４２と本体部２０のOS層４７とは、各々の機能の独立性を確保するため、異なるプログラムを含み、別個のOSで互いに独立して動作する。
【００２４】
図３を参照して、操作部１０および本体部２０の機能構成について説明する。操作部１０は、操作受付部５０と、操作処理部５１と、UI表示部５２と、通信部５３とを含んで構成される。これらは、RAM１３およびCPU１１がROM１２に格納されたプログラムを実行することにより実現される。ここでは、プログラムの実行により各機能部が実現されるものとして説明したが、これに限られるものではなく、一部または全部がハードウェアにより実現されてもよい。
【００２５】
操作受付部５０は、ユーザが操作パネル１５で指やスタイラス等を使用した画面の操作を受け付け、その操作情報を操作処理部５１に渡す。ユーザの操作としては、ボタンの押下や選択等のタッチ操作、次の画面へ移動する画面のフリック操作、画面を拡大するピンチアウト操作、画面を縮小するピンチイン操作、アイコンを移動させるドラッグ操作等を挙げることができる。
【００２６】
ここで、図４を参照して、操作パネル１５に表示される画面について説明する。図４は、ホーム画面の一例を示した図である。ホーム画面は、各アプリを表すアイコンと、状態確認ボタン、HOMEボタン、STOPボタンとを含む構成とされている。アイコンは、利用したい機能に対応するアプリを起動させるためのものである。
【００２７】
状態確認ボタンは、エラー状態を通知し、実行中のジョブの状態や履歴の一覧を確認するためのボタンである。HOMEボタンは、ホーム画面に移動するためのボタンで、STOPボタンは、機能の実行を中止するためのボタンである。
【００２８】
図４では、５つのアプリに対応するアイコンを示しているが、これに限られるものではなく、ウィジェット等を配置することも可能である。図４では、日時を表示するウィジェットが配置されている。ホーム画面は、フリック操作により矢線に示す次の画面に移動させることが可能で、図４に示した基本的機能以外の機能に対応するアプリを表すアイコンを配置することが可能である。
【００２９】
ユーザは、ホーム画面に表示されている各機能に対応するアイコンをタッチして押下することで、それら機能を利用することが可能となる。なお、図４には、「コピー」と「［簡易版］コピー」の２種類のコピーアプリが示されている。「コピー」は、コピーに関するあらゆる機能（フル機能）を備えたアプリで、「［簡易版］コピー」は、機能を絞った簡易なアプリである。
【００３０】
再び図３を参照して、操作処理部５１は、操作受付部５０が受け付けた操作に応じて必要な処理を実行する。操作処理部５１は、受け付けた操作が画面のフリック操作である場合、次の画面を描画し、UI表示部５２に対して当該次の画面を表示させる。また、操作処理部５１は、例えば「コピー」が押下されたことを受けて、コピー枚数等の設定画面を描画し、UI表示部５２に対して当該設定画面を表示させる。そして、操作処理部５１は、コピー開始ボタンが押下されたことを受けて、その操作の対象の実行指示手段としてのアプリにより動作し、コピーというジョブの実行を本体部２０に対して指示する。
【００３１】
このとき、操作処理部５１は、アプリを識別するための識別情報であるアプリIDを取得する。ここでは、アプリIDを取得しているが、アプリを識別することができれば、アプリ名等、いかなる情報であってもよい。アプリIDは、各アプリに割り当てられ、タッチ操作により起動されたアプリから取得することができる。
【００３２】
操作処理部５１は、そのアプリIDを本体部２０に通知するように通信部５３に対して指示し、通信部５３が、そのアプリIDを本体部２０に通知する。
【００３３】
本体部２０は、通信部６０と、ジョブ実行部６１と、ログ保存部６２とを含んで構成される。これらは、RAM２３およびCPU２１がROM２２（またはHDD２４）に格納されたプログラムを実行することにより実現される。ここでは、プログラムの実行により各機能部が実現されるものとして説明したが、これに限られるものではなく、一部または全部がハードウェアにより実現されてもよい。
【００３４】
通信部６０は、操作部１０との通信を行い、操作部１０からアプリID、機能の実行指示を受信し、ジョブ実行部６１に対し、その機能の実行を指示する。ジョブ実行部６１は、指示された機能を実行し、その機能の実行をジョブとして、そのジョブに関する情報をジョブログとして生成する。そして、ジョブ実行部６１は、ジョブログに、受信したアプリIDを関連付けて保存するように、ログ保存部６２に対して要求する。
【００３５】
ログ保存部６２は、ジョブログにアプリIDを関連付けて保存する。ログ保存部６２は、アプリIDとアプリ名を対応付けた対応表を保持することができ、対応表を参照し、ログとその対応表から得られるアプリ名とを関連付けて保存することもできる。
【００３６】
図５に、操作部１０において行われる処理の流れを示す。利用者が操作パネル１５を操作し、MFPを利用するためにログインし、ステップ５００から処理を開始する。ログインは、ユーザIDおよびパスワードを入力することにより、またはICカード等を読み取り装置にかざすことにより実施することができる。ステップ５０５では、操作受付部５０が、その操作を受け付け、ステップ５１０では、操作処理部５１が、受け付けた操作に応じて、アプリにより動作し、本体部２０にジョブの実行を指示することにより、そのジョブを開始させる。
【００３７】
ステップ５１５では、操作処理部５１は、ジョブの実行を指示したアプリのアプリIDを取得し、そのアプリIDを本体部２０に通知する。本体部２０への通知は、通信部５３を介して行われる。本体部２０に対してジョブの実行を指示し、アプリIDを通知したところで、ステップ５２０でこの処理を終了する。
【００３８】
図６に、本体部２０において行われる処理の流れを示す。ステップ６００から処理を開始し、操作処理部５１からの指示を受け、ステップ６０５では、ジョブ実行部６１がジョブを実行し、そのジョブのログを生成する。ステップ６１０で、通信部６０が、アプリIDを受信する。ステップ６１５では、ジョブ実行部６１が生成したログと通信部６０が受信したアプリIDとを関連付けて保存するようにログ保存部６２に対して要求する。
【００３９】
ステップ６２０では、ログ保存部６２が、ログに受信したアプリIDを関連付けて保存し、ステップ６２５で、この処理を終了する。ここでは、アプリIDを関連付けているが、アプリ名等であってもよい。
【００４０】
図７（ａ）に、従来の本体部に蓄積されるジョブログの一例を示し、図７（ｂ）に、本機器の本体部２０に蓄積されるジョブログの一例を示す。従来の機器では、図７（ａ）に示すように印刷、コピー、スキャナ配信といったジョブの種類しか記録されないが、本機器では、図７（ｂ）に示すようにアプリ名が関連付けて記録される。このため、どのアプリから実行が指示されたかを識別することができる。
【００４１】
図７（ｂ）では、コピーに関するログが３つある。関連付けられたアプリ名を参照することで、１つは「スマートコピー」というアプリから、１つは「簡単コピー」というアプリから、もう１つは「フルコピー」というアプリから実行を要求されたものであることを識別することができる。スマートコピーは、無駄な余白を削減してコピーを行う機能である。「ScanToMe」は、自分のメールアドレスを宛先とした電子メール送信を行う機能である。
【００４２】
また、ログを参照することで、「コピー」を多く使用しているため、「スマートコピー」を使用して無駄な余白を詰め、印刷枚数を削減する等の提案をすることができる。また、設計時に、よく使用するアプリをホーム画面に配置し、ユーザが利用しやすくすることができる。
【００４３】
これまで、ジョブログを、どのアプリから実行を指示されたものであるかを識別可能にする方法を説明した。この方法では、ジョブログのみを記録しているが、ユーザのフリックやドラッグ等のユーザ操作をログとして記録することができれば、ユーザがどのような使用の仕方をしているかを把握することが可能となる。
【００４４】
しかしながら、ユーザ操作は、ジョブ実行とは異なり、操作部１０のみで完結する動作であるため、本体部２０で直接ログを残すことはできない。このため、操作部１０にログを残す必要がある。
【００４５】
一般に、操作部１０のフラッシュメモリ１４等の記憶装置は、操作部１０のサイズからして、モバイル端末と同様の記憶容量しか確保できない。このため、大量のログを保存することはできない。しかしながら、本体部２０の大容量のHDD２４等の記憶装置に転送して記憶させることができれば、大量のログを保存することが可能となる。
【００４６】
このことから、MFPは、操作部１０の機能構成を、図８に示すような構成とすることができる。すなわち、操作部１０は、操作受付部５０、操作処理部５１、UI表示部５２、通信部５３に加えて、ログ保存部５４、転送制御部５５をさらに含む。操作受付部５０等については、既に説明したので、ここでは、操作処理部５１の異なる処理内容、ログ保存部５４および転送制御部５５についてのみ説明する。
【００４７】
操作処理部５１は、実施された操作に関する情報（操作情報）もログとして生成し、アプリIDを関連付けてそのログをログ保存部５４に一時的に保存する。操作情報は、上記のタッチ、フリック、ドラッグ、ピンチイン、ピンチアウト等の情報である。ログ保存部５４に保存されるログを、操作ログとし、ジョブログと区別する。
【００４８】
転送制御部５５は、ログ保存部５４に一時的に保存された操作ログを、設定された条件に従って本体部２０へ転送する制御を実行する。転送制御部５５は、転送するタイミングになったときに、ログ保存部５４に保存された操作ログを、通信部５３を介して本体部２０に転送する。
【００４９】
本体部２０では、通信部６０が、操作ログを受信すると、ログ保存部６２にその操作ログを保存する。
【００５０】
図９を参照して、操作ログを一時的に保存する処理について説明する。ここでは、操作パネル１５に表示されているアプリが「簡単コピー」として説明する。ユーザ７０は、簡単コピーアプリを表示中にフリック操作を行う（図９S1）。操作受付部５０は、ユーザ操作を検知し、フリック操作が行われたことを操作処理部５１に通知する（図９S2）。
【００５１】
操作処理部５１は、ユーザ操作が行われたことの通知を受けると、操作の対象のアプリ、すなわち現在どのアプリが表示されているかを判定する（図９S3）。操作処理部５１は、この判断した結果からアプリIDを取得する。取得したアプリIDは、ログ保存時のアプリ識別に使用される。
【００５２】
操作処理部５１は、フリック操作を受け、画面を切り替える場合、次の画面の描画を行い、その描画情報をUI表示部５２に通知する（図９S4）。UI表示部５２は、その描画情報に基づき、表示を更新し、当該次の画面を表示する（図９S5）。
【００５３】
操作処理部５１は、ユーザ操作の情報と、表示されているアプリのアプリIDとを関連付けて保存するようにログ保存部５４に要求する（図９S6）。ログ保存部５４は、その要求を受けて、その情報を操作ログとし、アプリIDを関連付けて保存する（図９S7）。このように、操作ログとアプリIDとを関連付けて保存することで、後述する本体部２０へのログ保存の際、どのアプリでの操作かを識別することが可能となる。
【００５４】
次に、図１０を参照して、操作ログを本体部２０に転送し、本体部２０のログ保存部６２に保存する処理について説明する。図９の説明と重複するが、操作部１０のログ保存部５４で、操作ログを一時的に保存する（図１０S1）。ログ保存部５４は、操作ログを保存すると、その旨を転送制御部５５に通知する（図１０S2）。ここでは、ログ保存部５４が操作ログを保存した旨を通知する構成としているが、これに限られるものではなく、転送制御部５５が定期的にログ保存部５４に操作ログが保存されたかどうかを問い合わせる形式等であってもよい。
【００５５】
転送制御部５５は、操作ログが保存された旨の通知を受けると、本体部２０に操作ログを転送するタイミングかどうかを判断する（図１０S3）。その判断に必要とされるパラメータとしては、ログ保存部５４に一時的に保存されているログの容量や時間等を挙げることができる。
【００５６】
転送制御部５５が本体部２０に操作ログを転送するタイミングになったと判断した場合、通信部５３を介して本体部２０に、ログ保存要求として、アプリIDが関連付けられた操作ログを転送する（図１０S4、S5）。本体部２０の通信部６０は、転送された操作ログを受信すると、ログ保存部６２にその操作ログを送り（図１０S6）、ログ保存部６２がその操作ログを保存する（図１０S7）。
【００５７】
操作ログの本体部２０への保存処理は、以上に説明した通りであるが、操作ログを一時的に保存する処理を、図１１および図１２に示すフローチャートを参照して詳細に説明する。まず、図１１を参照して、操作ログを一時的に保存する処理の１つの例について説明する。
【００５８】
ステップ１１００で利用者が画面に表示されたアプリのアイコンをタッチ操作し、アプリを起動させることにより、この処理を開始する。ステップ１１０５では、操作受付部５０が、アプリを表示中、フリック操作等のユーザ操作を受け付ける。そして、操作受付部５０が、どのような操作が行われたかを操作処理部５１に通知する。ステップ１１１０では、操作処理部５１が、現在どのアプリが表示されているかを判断し、その判断した結果からアプリIDを取得する。そして、操作処理部５１は、ユーザ操作の情報とアプリIDとを関連付けてログ保存部５４に一時的に保存する。
【００５９】
ステップ１１１５では、表示しているアプリにおいて、ジョブの実行を指示したかを判断する。指示した場合は、ステップ１１２０へ進み、そのアプリのアプリIDを本体部２０に通知し、操作ログを転送する。すなわち、ジョブ実行の指示が、転送制御部５５による操作ログの転送のトリガとなっている。
【００６０】
ステップ１１１５で指示しない場合、ステップ１１２５へ進み、ログオフされたか、またはアプリを終了したかを判断する。ログオフされておらず、アプリを終了していない場合、ステップ１１０５へ戻り、再びユーザ操作を受け付けるために待機する。本体部２０へ操作ログを転送した後、またはログオフもしくはアプリが終了された場合、ステップ１１３０へ進み、操作部１０のログ保存部５４に一時的に保存された操作ログを削除し、ステップ１１３５でこの処理を終了する。
【００６１】
このように転送した操作ログをログ保存部５４から削除することで、ユーザ操作により次々と保存される操作ログにより、操作部１０のフラッシュメモリ１４等の記憶容量が不足するのを防ぐことができる。
【００６２】
図１２を参照して、操作ログを一時的に保存する処理の別の例について説明する。ステップ１２００で利用者が画面に表示されたアプリのアイコンをタッチ操作し、アプリを起動させることにより、この処理を開始する。ステップ１２０５では、操作受付部５０が、アプリを表示中、ユーザ操作を受け付ける。そして、操作受付部５０が、どのような操作が行われたかを操作処理部５１に通知する。ステップ１２１０では、操作処理部５１が、現在どのアプリが表示されているかを判断し、その判断した結果からアプリIDを取得する。そして、操作処理部５１は、ユーザ操作の情報とアプリIDとを関連付けてログ保存部５４に一時的に保存する。
【００６３】
ステップ１２１５では、ログ保存部５４の記憶容量の残りが一定量より少なくなったかを判断する。少なくなった場合は、ステップ１２２０へ進み、転送制御部５５がログ保存部５４に保存された操作ログを転送する。すなわち、ログ保存部５４の残りの記憶容量が、転送制御部５５による操作ログの転送のトリガとなっている。
【００６４】
ステップ１２１５で一定量以上である場合、ステップ１２２５へ進み、ログオフされたか、またはアプリを終了したかを判断する。ログオフされておらず、アプリを終了していない場合、ステップ１２０５へ戻り、再びユーザ操作を受け付けるために待機する。一方、ログオフもしくはアプリが終了された場合、ステップ１２３５へ進み、この処理を終了する。アプリが終了された場合は、ホーム画面に移動してもよい。
【００６５】
ステップ１２２０で本体部２０へ操作ログを転送した後、ステップ１２３０へ進み、操作部１０のログ保存部５４に一時的に保存された操作ログを削除し、ステップ１２３５でこの処理を終了する。
【００６６】
この例では、ログ保存部５４の残りの記憶容量をトリガにしているが、前回転送してから経過した時間をトリガにしてもよい。すなわち、一定時間が経過したかどうかを判断し、経過している場合に、ログ保存部５４に保存された操作ログを転送することができる。
【００６７】
本体部２０に転送される操作ログは、ログ保存部５４の残りの記憶容量や時間に応じて、まとめて転送される場合がある。すると、本体部２０のログ保存部６２に保存されるログが、操作開始あるいは実行開始の時刻順に配列せず、時刻がばらばらに蓄積されることになる。これでは、各アプリでどのような操作がいつ行われ、どのようなジョブがいつ実行されたかが分かりにくい。これを時刻順に並べ替えることができれば、分かりやすくなる。
【００６８】
そこで、MFPは、本体部２０の機能構成を、図１３に示すような構成とすることができる。すなわち、本体部２０は、通信部６０、ジョブ実行部６１、ログ保存部６２に加えて、結合部６３をさらに含む。通信部６０等については、既に説明したので、ここでは、結合部６３についてのみ説明する。
【００６９】
結合部６３は、操作部１０から操作ログが転送されたことを受けて、ログ保存部６２に現在保存されている全てのログの取得を、ログ保存部６２に対して要求する。結合部６３は、ログ保存部６２から保存された全てのログの情報を取得し、そのログを１行ずつ読み込み、開始時刻に応じて、転送された操作ログを挿入し、すべてを挿入したところで保存する。これにより、時系列でログを保存することができる。
【００７０】
この例では、開始時刻の順序でログを保存する例を示したが、これに限られるものではなく、終了時刻の順序でログを保存してもよいし、ジョブ毎に開始時刻の順序でログを保存する等してもよい。
【００７１】
図１４を参照して、結合部６３を用いた操作ログを本体部２０に転送し、本体部２０のログ保存部６２に保存する処理について説明する。操作部１０のログ保存部５４で、操作ログを一時的に保存する（図１４S1）。ログ保存部５４は、操作ログを保存すると、その旨を転送制御部５５に通知する（図１４S2）。
【００７２】
転送制御部５５は、操作ログが保存された旨の通知を受けると、本体部２０に操作ログを転送するタイミングかどうかを判断する（図１４S3）。その判断に必要とされるパラメータとしては、ログ保存部５４に一時的に保存されているログの容量や時間等を挙げることができる。
【００７３】
転送制御部５５が本体部２０に操作ログを転送するタイミングになったと判断した場合、通信部５３を介して本体部２０に、アプリIDが関連付けられた操作ログを転送する（図１４S4、S5）。本体部２０の通信部６０は、転送された操作ログを受信すると、結合部６３に対して操作ログの保存を要求する（図１４S6）。
【００７４】
結合部６３は、ログ保存部６２に対し、ログ保存部６２に現在保存されている全てのログの情報の取得を要求する（図１４S7）。ログ保存部６２は、その要求を受けて、現在保存された全てのログの情報を結合部６３に送信する（図１４S8）。
【００７５】
結合部６３は、受信した全てのログと転送された操作ログとを結合（マージ）する処理を実行する（図１４S9）。上記に説明したように、受信したログを１行ずつ読み込み、開始時刻に応じて、転送された操作ログを挿入する。すなわち、開始時刻が早い順にログを並べていく。
【００７６】
結合処理が終了したところで、結合部６３は、ログ保存部６２に対し、その並べ終えたログの保存を要求する（図１４S10）。ログ保存部６２は、その要求を受けて、そのログを保存する（図１４S11）。このとき、保存は、別個に保存してもよいが、ログ保存部６２の記憶容量が減少することから、上書き保存することが望ましい。
【００７７】
これまで本発明を、電子機器、記憶制御方法およびプログラムとして上述した実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではない。本発明は、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【００７８】
したがって、上記のプログラムは、インストール可能な形式または実行可能な形式のファイルでフロッピー（登録商標）ディスク、CD(Compact Disk)、CD-R(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory Card)、USBメモリ(Universal Serial Bus Memory)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成することができる。また、上記のプログラムは、インターネット等のネットワーク経由で提供または配布するように構成されていてもよい。さらに、上記のプログラムを他の各種ソフトウェアとともにROM等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００７９】
１０…操作部、１１…CPU、１２…ROM、１３…RAM、１４…フラッシュメモリ、１５…操作パネル、１６…接続I/F、１７…通信I/F、１８…システムバス、２０…本体部、２１…CPU、２２…ROM、２３…RAM、２４…HDD、２５…エンジン、２６…接続I/F、２７…通信I/F、２８…システムバス、３０…通信路、４０…アプリ層、４１…サービス層、４２…OS層、４５…アプリ層、４６…サービス層、４７…OS層、５０…操作受付部、５１…操作処理部、５２…UI表示部、５３…通信部、５４…ログ保存部、５５…転送制御部、６０…通信部、６１…ジョブ実行部、６２…ログ保存部、６３…結合部、７０…ユーザ
【先行技術文献】
【特許文献】
【００８０】
【特許文献１】特開２０１０−２４６１２８号公報
【図１】
2018011176.tif 000003
【図２】
2018011176.tif 000004
【図３】
2018011176.tif 000005
【図４】
2018011176.tif 000006
【図５】
2018011176.tif 000007
【図６】
2018011176.tif 000008
【図７】
2018011176.tif 000009
【図８】
2018011176.tif 000010
【図９】
2018011176.tif 000011
【図１０】
2018011176.tif 000012
【図１１】
2018011176.tif 000013
【図１２】
2018011176.tif 000014
【図１３】
2018011176.tif 000015
【図１４】
2018011176.tif 000016