以下、本発明の実施の形態について、図面を用いて説明する。
まず、本発明の一実施の形態に係るサービス実行システムの構成について説明する。
図1は、本実施の形態に係るサービス実行システム10のブロック図である。
図1に示すサービス実行システム10は、利用者による入力に応じて複数のノードが連携してサービスを実行するシステムである。
サービス実行システム10は、電子機器としてのMFP(Multifunction Peripheral)20をノードとして含んでいる。MFP20は、LAN(Local Area Network)などのネットワーク11に所属している。サービス実行システム10は、ネットワーク11に所属しているMFP30およびMFP40をそれぞれノードとして含んでいる。MFP30およびMFP40の構成は、それぞれ、MFP20と同様の構成である。サービス実行システム10は、MFP30およびMFP40以外にも、ネットワーク11に所属している電子機器をノードとして備えても良い。
サービス実行システム10は、MFP20と同様の構成のMFP50と、クラウドサービスを提供するクラウドサーバー60とをそれぞれノードとして含んでいる。MFP50およびクラウドサーバー60は、ネットワーク11に所属しておらず、ネットワーク11に接続されている、インターネットなどのネットワーク12に所属している。サービス実行システム10は、MFP50以外にも、ネットワーク12に所属している電子機器をノードとして備えても良い。また、サービス実行システム10は、クラウドサーバー60以外にも、ネットワーク12に所属しているクラウドサーバーをノードとして備えても良い。
クラウドサーバー60は、1つのコンピューターによって実現されていても良いし、複数のコンピューターによって実現されていても良い。
サービス実行システム10によって実行されるサービスには、クラウドサーバー60によって提供されるクラウドサービスがストレージサービスである場合、例えば、MFP20の後述するスキャナーによって原稿から読み取られた画像の画像データをクラウドサーバー60に保存するサービスと、クラウドサーバー60が提供するGUI(Graphical User Interface)を介した利用者によるクラウドサーバー60への指示に応じて、クラウドサーバー60に保存されている画像データに基づいてMFP20の後述するプリンターによって印刷を実行するサービスと、MFP20の後述する操作部を介した利用者によるMFP20への指示に応じて、クラウドサーバー60に保存されている画像データに基づいてMFP20のプリンターによって印刷を実行するサービスとが存在する。
図2は、MFP20のブロック図である。
図2に示すMFP20は、種々の操作が入力されるボタンなどの入力デバイスである操作部21と、種々の情報を表示するLCD(Liquid Crystal Display)などの表示デバイスである表示部22と、用紙などの記録媒体に画像を印刷する印刷デバイスであるプリンター23と、原稿から画像を読み取る読取デバイスであるスキャナー24と、図示していない外部のファクシミリ装置と公衆電話回線などの通信回線経由でファックス通信を行うファックスデバイスであるファックス通信部25と、LAN、インターネットなどのネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスである通信部26と、各種の情報を記憶する半導体メモリー、HDD(Hard Disk Drive)などの不揮発性の記憶デバイスである記憶部27と、MFP20全体を制御する制御部28とを備えている。
MFP20によって実行される機能には、例えば、通信部26を介して入力された印刷データに基づいた画像をプリンター23によって記録媒体に印刷するプリント機能と、スキャナー24によって原稿から読み取られた画像をプリンター23によって記録媒体に印刷するコピー機能と、スキャナー24によって原稿から読み取られた画像を通信部26経由で送信する送信機能と、スキャナー24によって原稿から読み取られた画像をファックス通信部25経由でファックス送信するFAX機能と、スキャナー24によって原稿から読み取られた画像、または、通信部26を介して入力された印刷データに基づいた画像を記憶部27に記憶するBOX機能と、MFP20のログなどの各種の情報をプリンター23によって記録媒体に印刷するレポート機能と、外部のコンピューターからMFP20の情報を参照したりMFP20に設定を行ったりするWeb情報参照・設定機能とが存在する。なお、MFP20は、プリント機能、コピー機能、送信機能、FAX機能、BOX機能およびレポート機能については、ジョブという単位で実行する。しかしながら、MFP20は、Web情報参照・設定機能については、ジョブという単位では実行しない。
操作部21および通信部26は、それぞれ、指示を受け付けるデバイスであり、指示受付デバイスを構成している。
記憶部27は、ログを取得するためのアプリケーションプログラムとしてのログ取得プログラム27aを記憶している。ログ取得プログラム27aは、例えば、MFP20の製造段階でMFP20にインストールされていても良いし、USB(Universal Serial Bus)メモリーなどの外部の記憶媒体からMFP20に追加でインストールされても良いし、ネットワーク上からMFP20に追加でインストールされても良い。
記憶部27は、サービス実行システム10に対する利用者による入力の内容(以下「利用者入力内容」という。)と、サービス実行システム10に対する利用者による入力に応じたサービス実行システム10によるサービスの実行結果(以下「サービス実行結果」という。)とをサービス(機能)の実行単位毎に含むサービスログ(機能ログ)としての市場向けログ27bを記憶可能である。MFPの販売者側の人間である、MFPのサービスパーソンは、市場で顧客、すなわち、MFPの利用者に対応する。顧客は、サービス実行システムにサービスを実行させるための指示をMFPの操作部または通信部を介してMFPに入力した場合、または、サービス実行システムにサービスを実行させるための指示をクラウドサーバーが提供するGUIからクラウドサーバーに入力した場合に、サービス実行システムによるサービスの実行結果が顧客自身の所望のものにならなかったとき、顧客自身が所望していないサービス実行システムのこのような動作、すなわち、問題事象について、サービスパーソンに説明を依頼することがある。市場向けログ27bは、サービスパーソンが顧客からの依頼によって、サービス実行システム10で発生した問題事象を的確に説明することができる情報として取得されるログである。
記憶部27は、MFP20においてソフトウェアがハードウェアに送信する信号と、MFP20において複数のソフトウェア間で送受信される信号と、MFP20においてソフトウェアがハードウェアから受信する信号とを含む開発向けログ27cを記憶可能である。MFPの販売者は、顧客、すなわち、MFPの利用者から、MFPで発生した問題事象に対してクレームを受けると、顧客から受けたクレームをMFPの開発者に報告する。開発者は、顧客からのクレームを販売者経由で受け付けると、顧客から指摘されている問題事象を解決するために、問題事象が発生した際のMFPの内部の挙動や状態を把握する必要がある。開発向けログ27cは、開発者が、MFP20で発生した問題事象を解決するために、問題事象が発生した際のMFPの内部の挙動や状態を的確に把握することができる情報として取得されるログである。開発向けログ27cは、MFP20のサービスパーソンによって解釈されることが困難である。
記憶部27は、MFP20に発生する不具合の要因の候補のログを記録するか否かの設定を不具合の要因の候補毎に示す要因別ログコンフィグレーションテーブル27dを記憶している。
図3は、要因別ログコンフィグレーションテーブル27dの一例を示す図である。
図3に示すように、要因別ログコンフィグレーションテーブル27dは、不具合の要因の候補の識別子と、不具合の要因の候補と、不具合の要因の候補のログを記録するか否かの設定としてのログ記録実施可否設定との組み合わせを、不具合の要因の候補毎に示している。不具合の要因には、MFP20が備えるハードウェアの要因と、MFP20が備えるソフトウェアの要因とが存在する。ハードウェアの要因には、例えば、記憶部27(図2参照。)の一部である「HDD」と、記憶部27の一部である「SDカード」と、MFP20(図2参照。)に電力を供給するための「電源装置」と、プリンター23(図2参照。)の一部である「給紙カセット装置」と、スキャナー24(図2参照。)を示す「スキャナー」とが存在する。ソフトウェアの要因には、例えば、表示部22(図2参照。)による表示機能としての「デバイスパネル」と、スキャナー24によって原稿から読み取った画像をプリンター23によって記録媒体に印刷する機能としての「コピー機能」と、通信部26(図2参照。)などから入力された印刷データに基づいた画像をプリンター23によって記録媒体に印刷する機能としての「プリント機能」と、スキャナー24によって原稿から読み取った画像をファックス通信部25(図2参照。)を介してファックス送信する機能としての「FAX機能」と、利用者に対する認証や認可を実行する機能としての「認証・認可」と、MFP20における省エネのための動作を実行する機能としての「省エネ」と、MFP20において発生したイベントを通知したり送信したりする機能としての「イベント通知・送信」と、記憶部27にデータを記憶する機能としての「ボックス機能」とが存在する。不具合の要因は、図3に示すもの以外にも多数存在する。例えば、不具合の要因は、画像データに対して画像処理を行う機能としての「画像処理機能」と、通信部26を介したネットワーク通信に関する制御を行う機能としての「ネットワーク制御機能」とが存在する。
図2に示すように、記憶部27は、MFP20に発生する不具合毎に不具合の要因の候補を少なくとも1つ示す不具合要因候補情報27eを記憶している。したがって、記憶部27は、不具合要因候補情報27eを管理する情報管理手段を構成している。
図4は、不具合要因候補情報27eの一例を示す図である。
図4に示すように、不具合要因候補情報27eは、MFP20に発生する不具合と、不具合の要因の候補の識別子との組み合わせを、不具合毎に示している。例えば、図4に示す例において、不具合としての「エラーB」は、不具合の要因の候補の識別子として「00004」、「00005」および「00007」が対応付けられている。
図2に示す制御部28は、例えば、CPU(Central Processing Unit)と、プログラムおよび各種のデータを記憶しているROM(Read Only Memory)と、CPUの作業領域として用いられるRAM(Random Access Memory)とを備えている。CPUは、ROMまたは記憶部27に記憶されているプログラムを実行する。
制御部28は、ログ取得プログラム27aを実行することによって、機能ログとしての市場向けログを取得する機能ログ取得手段としての市場向けログ取得手段28aと、記憶部27のうち、市場向けログの基になる、MFP20に関するログ、すなわち、後述するノード実行単位ログを記憶するための、MFP20の記憶領域(以下「ノード実行単位ログ用記憶領域」という。)の空き容量が特定の容量以下である場合に、ノード実行単位ログ用記憶領域に記憶されているノード実行単位ログをMFP20以外のノードに移動させるログ移動手段28bとを実現する。
制御部28は、ログ取得プログラム27aを実行することによって、MFP20に発生する不具合の要因の候補のログを記録するか否かの設定を不具合の要因の候補毎に実行するログ記録設定手段28cを実現する。
制御部28は、ログ取得プログラム27aを実行することによって、MFP20が備えるいずれか1つのハードウェア、すなわち、要因別ログコンフィグレーションテーブル27dにおいて要因として示されるいずれか1つのハードウェアを制御するハードウェア制御手段28dを実現する。制御部28は、ログ取得プログラム27aを実行することによって、ハードウェア制御手段28dと同様なハードウェア制御手段を、ハードウェア制御手段28d以外に少なくとも1つ以上実現する。制御部28によって実現される複数のハードウェア制御手段は、それぞれ、別々のハードウェアを制御する。制御部28によって実現される複数のハードウェア制御手段は、それぞれ、自身が制御するハードウェアに関するログを記録することが可能であり、ログ記録手段を構成している。
制御部28は、ログ取得プログラム27aを実行することによって、MFP20のいずれか1つの機能、すなわち、要因別ログコンフィグレーションテーブル27dにおいて要因として示されるいずれか1つの機能を実現するための機能実現手段28eを実現する。制御部28は、ログ取得プログラム27aを実行することによって、機能実現手段28eと同様な機能実現手段を、機能実現手段28e以外に少なくとも1つ以上実現する。制御部28によって実現される複数の機能実現手段は、それぞれ、別々の機能を実現する。制御部28によって実現される複数の機能実現手段は、それぞれ、自身が実現する機能に関するログを記録することが可能であり、ログ記録手段を構成している。
図5は、市場向けログ27bの一例を示す図である。
図5に示す市場向けログ27bは、サービスの実行単位毎にログ(以下「サービス単位ログ」という。)を含んでいる。市場向けログ27bに含まれる全てのサービス単位ログのそれぞれは、互いに同様の構成である。以下、市場向けログ27bに含まれる全てのサービス単位ログを代表して、サービス単位ログ70について説明する。
サービス単位ログ70は、サービス実行システム10における各ノードにおける実行単位毎にログ(以下「ノード実行単位ログ」という。)を含んでいる。サービス単位ログ70に含まれる全てのノード実行単位ログのそれぞれは、互いに同様の構成である。以下、サービス単位ログ70に含まれる全てのノード実行単位ログを代表して、ノード実行単位ログ80について説明する。
ノード実行単位ログ80は、「IN」に関する情報(以下「IN情報」という。)81と、「ACTION」に関する情報(以下「ACTION情報」という。)82と、「OUTPUT」に関する情報(以下「OUTPUT情報」という。)83とで構成されている。
IN情報81は、サービス実行システム10に対する利用者による具体的な入力の内容(以下「入力内容」という。)を示す入力内容情報81aと、ノードの外部から指示された設定を示す指示設定情報81bとを含んでいる。
ノード実行単位ログ80がMFP20に関するログである場合、入力内容情報81aは、操作部21に対する入力内容を示す操作部入力内容情報と、通信部26経由での利用者による入力内容を示す通信部入力内容情報とのいずれかである。ノード実行単位ログ80がクラウドサーバー60に関するログである場合、入力内容情報81aは、クラウドサーバー60が提供するGUI経由での入力内容を示すGUI入力内容情報である。
ノード実行単位ログ80がサービス実行システム10におけるノードによる他のノードからの指示に応じた動作のログである場合、入力内容が存在しないので、IN情報81は、入力内容情報81aを含まない。
入力内容情報81aを含むIN情報81は、利用者入力内容を示す情報である。一方、入力内容情報81aを含まないIN情報81は、利用者入力内容を示す情報ではない。
ノード実行単位ログ80がMFP20に関するログである場合、指示設定情報81bは、ジョブの設定(以下「ジョブ設定」という。)を示す。ここで、上述したようにWeb情報参照・設定機能がジョブ単位で実行されないので、IN情報81は、Web情報参照・設定機能に関しては指示設定情報81bを含まない。
操作部入力内容情報は、例えば、操作部21のいずれのボタンが押されたかなど、操作部21に対する具体的な入力内容を示す情報である。操作部入力内容情報は、操作部21に対する全ての具体的な入力内容を含む。したがって、操作部入力内容情報には、指示設定情報81bに直接関係しない入力内容が含まれる場合がある。なお、IN情報81は、図示していないが、時刻と、利用者の識別情報(以下「利用者ID」という。)とを、操作部入力内容情報における各入力内容に関連付けて含んでいる。操作部入力内容情報における各入力内容に関連付けられた時刻は、操作部21に対する入力が実行された時刻を示している。操作部入力内容情報における各入力内容に関連付けられた利用者IDは、操作部21に対する入力を実行した利用者の利用者IDを示している。
通信部入力内容情報は、例えば、どのようなプロトコルが使用されているか、どこからアクセスされたかなど、通信部26経由で受信したパケットに基づいて得られる具体的な入力内容を示す情報である。なお、IN情報81は、図示していないが、通信部入力内容情報における各入力内容に関連付けて時刻および利用者IDを含んでいる。通信部入力内容情報における各入力内容に関連付けられた時刻は、通信部26経由での入力が実行された時刻を示している。通信部入力内容情報における各入力内容に関連付けられた利用者IDは、通信部26経由での入力を実行した利用者の利用者IDを示している。
GUI入力内容情報は、例えば、GUIのいずれの操作領域が操作されたかなど、GUIに対する具体的な入力内容を示す情報である。GUI入力内容情報は、GUIに対する全ての具体的な入力内容を含む。したがって、GUI入力内容情報には、指示設定情報81bに直接関係しない入力内容が含まれる場合がある。なお、IN情報81は、図示していないが、時刻と、利用者IDとを、GUI入力内容情報における各入力内容に関連付けて含んでいる。GUI入力内容情報における各入力内容に関連付けられた時刻は、GUIに対する入力が実行された時刻を示している。GUI入力内容情報における各入力内容に関連付けられた利用者IDは、GUIに対する入力を実行した利用者の利用者IDを示している。
指示設定情報81bは、IN情報81が入力内容情報81aを含む場合、利用者によるサービスに対する設定内容を示す情報である。指示設定情報81bは、例えばノード実行単位ログ80がMFP20に関するログである場合、機能がジョブ単位で実行されるとき、入力内容情報81aに示す入力内容に基づいて制御部28によって生成されるジョブ設定を示す。例えば、ジョブ設定は、プリント機能のジョブ(以下「プリントジョブ」という。)の場合には印刷設定であり、コピー機能のジョブ(以下「コピージョブ」という。)の場合にはコピーの設定である。入力内容情報81aに示す入力内容に基づいてノードによって指示設定情報81bが生成される過程に不具合が生じる可能性がある。したがって、指示設定情報81bは、入力内容情報81aとは別に取得される必要がある。なお、IN情報81は、図示していないが、指示設定情報81bに関連付けて時刻および利用者IDを含んでいる。指示設定情報81bに関連付けられた時刻は、MFP20の場合にはMFP20が提供する機能の実行が開始された時刻を示しており、クラウドサーバー60の場合にはクラウドサーバー60が提供するクラウドサービスの実行が開始された時刻を示している。指示設定情報81bに関連付けられた利用者IDは、MFP20の場合にはMFP20が提供する機能の実行を指示した利用者の利用者IDを示しており、クラウドサーバー60の場合にはクラウドサーバー60が提供するクラウドサービスの実行を指示した利用者の利用者IDを示している。
ACTION情報82は、IN情報81に対応する入力に応じて、サービス実行システム10におけるノードによって実行された動作を具体的に示す実行動作情報82aを含んでいる。実行動作情報82aは、MFP20による機能の実行結果や、クラウドサーバー60によるクラウドサービスの実行結果を含まない。なお、ACTION情報82は、サービス実行システム10で発生した問題事象を把握する上で必須の情報ではないので、市場向けログ27bに含まれなくても良い。
OUTPUT情報83は、指示設定情報81bに示される設定に対して、MFP20が実際にジョブを実行したり、クラウドサーバー60が実際にクラウドサービスを実行したりするときの設定を示す実行時設定情報83aと、実行時設定情報83aに示される設定に応じて、MFP20によって実行された動作による機能の実行結果、または、クラウドサーバー60によって実行されたクラウドサービスの実行結果を示す実行結果情報83bとを含んでいる。なお、上述したようにWeb情報参照・設定機能がジョブ単位で実行されないので、OUTPUT情報83は、Web情報参照・設定機能に関しては実行時設定情報83aを含まない。OUTPUT情報83は、実行時設定情報83aを含んでいる場合、実行時設定情報83aを実行結果情報83bに関連付けて含んでいる。
OUTPUT情報83は、図示していないが、実行結果情報83bに関連付けて時刻および利用者IDを含んでいる。実行結果情報83bに関連付けられた時刻は、MFP20の場合にはMFP20が提供する機能が終了した時刻を示しており、クラウドサーバー60の場合にはクラウドサーバー60が提供するクラウドサービスの実行が終了した時刻を示している。実行結果情報83bに関連付けられた利用者IDは、MFP20の場合にはMFP20が提供する機能の実行を指示した利用者の利用者IDを示しており、クラウドサーバー60の場合にはクラウドサーバー60が提供するクラウドサービスの実行を指示した利用者の利用者IDを示している。
実行時設定情報83aは、MFP20の場合にはMFP20が提供する機能の実行時の機能に対する設定内容を示す情報であり、クラウドサーバー60の場合にはクラウドサーバー60が提供するクラウドサービスの実行時のクラウドサービスに対する設定内容を示す情報である。例えば、MFP20の制御部28は、利用者によって入力された複数の設定が実際にはジョブの実行時に同時に適用することができないものであったり、利用者によって入力された設定がMFP20の状態によってはジョブの実行時に適用することができないものであったりした場合に、これらの設定をジョブの実行時に自動的に変更する。すなわち、指示設定情報81bによって示されるジョブ設定は、ジョブの実行時にそのままジョブに適用されるとは限らない。したがって、実行時設定情報83aは、指示設定情報81bとは別に取得される必要がある。
図6は、1つのサーバーコンピューターによって実現されている場合のクラウドサーバー60のブロック図である。
図6に示すクラウドサーバー60は、種々の操作が入力されるキーボード、マウスなどの入力デバイスである操作部61と、種々の情報を表示するLCDなどの表示デバイスである表示部62と、LAN、インターネットなどのネットワーク経由で、または、ネットワークを介さずに有線または無線によって直接に、外部の装置と通信を行う通信デバイスである通信部63と、各種の情報を記憶する半導体メモリー、HDDなどの不揮発性の記憶デバイスである記憶部64と、クラウドサーバー60全体を制御する制御部65とを備えている。
制御部65は、例えば、CPUと、プログラムおよび各種のデータを記憶しているROMと、CPUの作業領域として用いられるRAMとを備えている。CPUは、ROMまたは記憶部64に記憶されているプログラムを実行する。
制御部65は、GUIを提供する。利用者は、PC(Personal Computer)などのコンピューターを介してGUIにアクセスし、サービス実行システム10にサービスを実行させるための指示をGUIからクラウドサーバーに入力することができる。
制御部65は、トランザクションという単位でクラウドサービスを実行する。ここで、トランザクションは、本実施の形態において、クラウドサービスが1つのプロセスのみで実行される場合には、このプロセスのことを意味する。トランザクションがプロセスのことを意味する場合、トランザクションの識別情報(以下「トランザクションID」という。)は、プロセスの識別情報(以下「プロセスID」という。)を意味する。
次に、サービス実行システム10の動作について説明する。
MFP20の市場向けログ取得手段28aは、MFP20が起動している間、市場向けログ27bを取得し続ける。
市場向けログ27bを取得する場合のMFP20の動作について説明する。
まず、MFP20自身に関するノード実行単位ログを取得する場合のMFP20の動作について説明する。
MFP20の市場向けログ取得手段28aは、MFP20が起動している間、ノード実行単位ログを取得し続ける。
図7は、1つのノード実行単位ログを取得する場合のMFP20の動作のフローチャートである。
図7に示すように、市場向けログ取得手段28aは、MFP20にログイン中の利用者の利用者IDを取得する(S101)。
次いで、市場向けログ取得手段28aは、IN情報を取得するためのIN情報取得処理を実行する(S102)。
図8は、図7に示すIN情報取得処理のフローチャートである。
図8に示すように、市場向けログ取得手段28aは、利用者による入力があったか否かを判断する(S121)。
市場向けログ取得手段28aは、利用者による入力があったとS121において判断すると、入力内容情報を取得するための入力内容情報取得処理を実行する(S122)。なお、市場向けログ取得手段28aは、操作部21に対する入力が実行されるか、通信部26経由での入力が実行されると、その都度、入力内容情報取得処理を実行する。
図9は、図8に示す入力内容情報取得処理のフローチャートである。
図9に示すように、市場向けログ取得手段28aは、入力が実行された箇所を特定し(S141)、S141において特定した箇所が操作部21および通信部26のいずれであるかを判断する(S142)。
市場向けログ取得手段28aは、操作部21であるとS142において判断すると、操作部21に対する入力内容を取得して(S143)、S143において取得した入力内容を記憶部27のノード実行単位ログ用記憶領域における操作部入力内容情報に記憶する(S144)。
市場向けログ取得手段28aは、通信部26であるとS142において判断すると、通信部26経由での入力内容を取得して(S145)、S145において取得した入力内容を記憶部27のノード実行単位ログ用記憶領域における通信部入力内容情報に記憶する(S146)。
市場向けログ取得手段28aは、S144またはS146の処理の後、入力が実行された時刻を取得して(S147)、S147において取得した時刻を、S144またはS146において記憶した入力内容に関連付けて記憶部27のノード実行単位ログ用記憶領域に記憶する(S148)。
次いで、市場向けログ取得手段28aは、S101において取得した利用者の利用者IDを、S144またはS146において記憶した入力内容に関連付けて記憶部27のノード実行単位ログ用記憶領域に記憶して(S149)、図9に示す入力内容情報取得処理を終了する。
図8に示すように、市場向けログ取得手段28aは、利用者による入力がなかったとS121において判断するか、S122の入力内容情報取得処理の後、機能の実行が開始された場合に、指示設定情報を取得するための指示設定情報取得処理を実行して(S123)、図8に示すIN情報取得処理を終了する。
図10は、図8に示す指示設定情報取得処理のフローチャートである。
図10に示すように、市場向けログ取得手段28aは、対象のジョブの識別情報であるジョブIDを取得する(S161)。ここで、制御部28は、ジョブの実行時に、対象のジョブ毎に互いに異なるジョブIDを付与することでジョブを管理する。したがって、市場向けログ取得手段28aは、ジョブに付与されたジョブIDをノード実行単位ログの取得のために利用することができる。
市場向けログ取得手段28aは、S161において取得したジョブIDによって特定されるジョブのジョブ設定として、操作部21に対する入力内容、または、通信部26経由での入力内容と、通信部26経由でのクラウドサーバー60からの指示内容とのいずれかに基づいて制御部28によって生成されたジョブ設定を取得して(S162)、S162において取得したジョブ設定を記憶部27のノード実行単位ログ用記憶領域における指示設定情報に記憶する(S163)。
次いで、市場向けログ取得手段28aは、対象のジョブが開始された時刻を取得して(S164)、S164において取得した時刻を、S163において記憶した指示設定情報に関連付けて記憶部27のノード実行単位ログ用記憶領域に記憶する(S165)。
次いで、市場向けログ取得手段28aは、S101において取得した利用者の利用者IDを、S163において記憶した指示設定情報に関連付けて記憶部27のノード実行単位ログ用記憶領域に記憶して(S166)、図10に示す指示設定情報取得処理を終了する。
なお、市場向けログ取得手段28aは、S148において記憶した時刻、および、S149において記憶した利用者IDの組み合わせと、S165において記憶した時刻、および、S166において記憶した利用者IDの組み合わせとに基づいて、S144において記憶した操作部入力内容情報、または、S146において記憶した通信部入力内容情報と、S163において記憶した指示設定情報とを、同一のノード実行単位ログの情報として関連付ける。
図7に示すように、市場向けログ取得手段28aは、S102のIN情報取得処理の後、ACTION情報を取得するためのACTION情報取得処理を実行する(S103)。ACTION情報取得処理において、市場向けログ取得手段28aは、S102で取得されたIN情報に対応するMFP20の動作の内容を取得して記憶部27のノード実行単位ログ用記憶領域における実行動作情報に記憶する。次いで、市場向けログ取得手段28aは、S101において取得した利用者の利用者IDを、記憶した実行動作情報に関連付けて記憶部27のノード実行単位ログ用記憶領域に記憶して、ACTION情報取得処理を終了する。
なお、市場向けログ取得手段28aは、対象のジョブの識別情報であるジョブIDを取得し、取得したジョブIDによって特定されるジョブが実行されたときのMFP20の動作の内容を、IN情報に対応するMFP20の動作の内容として取得してもよい。この場合、市場向けログ取得手段28aは、S161において取得したジョブIDと、ACTION情報取得処理で取得したジョブIDとに基づいて、S163において記憶した指示設定情報と、ACTION情報取得処理において記憶した実行動作情報とを、同一のノード実行単位ログの情報として関連付ける。
次いで、市場向けログ取得手段28aは、機能の実行が終了した場合に、OUTPUT情報を取得するためのOUTPUT情報取得処理を実行して(S104)、図7に示す動作を終了する。
図11は、図7に示すOUTPUT情報取得処理のフローチャートである。
図11に示すように、市場向けログ取得手段28aは、実行が終了した機能がWeb情報参照・設定機能であるか否かを判断する(S181)。
市場向けログ取得手段28aは、実行が終了した機能がWeb情報参照・設定機能ではないとS181において判断すると、対象のジョブの識別情報であるジョブIDを取得する(S182)。
市場向けログ取得手段28aは、S182において取得したジョブIDによって特定されるジョブのジョブ設定として、対象のジョブの実行時のジョブ設定を取得して(S183)、S183において取得したジョブ設定を記憶部27のノード実行単位ログ用記憶領域における実行時設定情報に記憶する(S184)。
次いで、市場向けログ取得手段28aは、S183において取得したジョブ設定に含まれるジョブの種別を判断する(S185)。
市場向けログ取得手段28aは、プリントジョブであるとS185において判断すると、対象のプリントジョブの実行結果を取得する(S186)。ここで、S186において取得される実行結果には、例えば、対象のプリントジョブが正常に終了したか否かという情報と、対象のプリントジョブによって印刷された記録媒体の枚数の情報と、対象のプリントジョブによる印刷がモノクロ印刷およびカラー印刷のいずれであったかという情報と、対象のプリントジョブによる印刷が片面印刷および両面印刷のいずれであったかという情報とが含まれる。
市場向けログ取得手段28aは、コピージョブであるとS185において判断すると、対象のコピージョブの実行結果を取得する(S187)。ここで、S187において取得される実行結果には、例えば、対象のコピージョブが正常に終了したか否かという情報と、対象のコピージョブによって印刷された記録媒体の枚数の情報と、対象のコピージョブによる印刷がモノクロ印刷およびカラー印刷のいずれであったかという情報と、対象のコピージョブによる印刷が片面印刷および両面印刷のいずれであったかという情報とが含まれる。
市場向けログ取得手段28aは、送信機能のジョブ(以下「送信ジョブ」という。)であるとS185において判断すると、対象の送信ジョブの実行結果を取得する(S188)。ここで、S188において取得される実行結果には、例えば、対象の送信ジョブが正常に終了したか否かという情報と、対象の送信ジョブによって通信部26経由で送信されたデータのサイズの情報と、クラウドサーバー60など、対象の送信ジョブによって通信部26経由でデータが送信された相手先の情報と、電子メールによる送信、SMB(Server Message Block)による送信、FTP(File Transfer Protocol)による送信など、対象の送信ジョブによるデータの送信方法の情報とが含まれる。
市場向けログ取得手段28aは、FAX機能のジョブ(以下「FAXジョブ」という。)であるとS185において判断すると、対象のFAXジョブの実行結果を取得する(S189)。ここで、S189において取得される実行結果には、例えば、対象のFAXジョブが正常に終了したか否かという情報と、対象のFAXジョブによってファックス通信部25経由で送信されたデータのサイズの情報と、対象のFAXジョブによってファックス通信部25経由でデータが送信された相手先の情報とが含まれる。
市場向けログ取得手段28aは、BOX機能のジョブ(以下「BOXジョブ」という。)であるとS185において判断すると、対象のBOXジョブの実行結果を取得する(S190)。ここで、S190において取得される実行結果には、例えば、対象のBOXジョブが正常に終了したか否かという情報と、対象のBOXジョブによって記憶部27に記憶されたデータのサイズの情報とが含まれる。
市場向けログ取得手段28aは、レポート機能のジョブ(以下「レポートジョブ」という。)であるとS185において判断すると、対象のレポートジョブの実行結果を取得する(S191)。ここで、S191において取得される実行結果には、例えば、対象のレポートジョブが正常に終了したか否かという情報が含まれる。
市場向けログ取得手段28aは、S186、S187、S188、S189、S190またはS191の処理が終了すると、S186、S187、S188、S189、S190またはS191において取得した実行結果を、S184において記憶した実行時設定情報に関連付けて記憶部27のノード実行単位ログ用記憶領域における実行結果情報に記憶する(S192)。
市場向けログ取得手段28aは、実行が終了した機能がWeb情報参照・設定機能であるとS181において判断すると、対象のWeb情報参照・設定機能の実行結果を取得して(S193)、S193において取得した実行結果を記憶部27のノード実行単位ログ用記憶領域における実行結果情報に記憶する(S194)。
市場向けログ取得手段28aは、S192またはS194の処理の後、対象の機能が終了した時刻を取得して(S195)、S195において取得した時刻を、S192またはS194において記憶した実行結果情報に関連付けて記憶部27のノード実行単位ログ用記憶領域に記憶する(S196)。
次いで、市場向けログ取得手段28aは、S101において取得した利用者の利用者IDを、S192またはS194において記憶した実行結果情報に関連付けて記憶部27のノード実行単位ログ用記憶領域に記憶して(S197)、図11に示すOUTPUT情報取得処理を終了する。
なお、市場向けログ取得手段28aは、S161において取得したジョブIDと、S182において取得したジョブIDとに基づいて、S163において記憶した指示設定情報と、S192において記憶した実行結果情報とを、同一のノード実行単位ログの情報として関連付ける。
MFP30、40、50など、サービス実行システム10に含まれる、MFP20以外のMFPがMFP自身に関するノード実行単位ログを取得する場合の動作については、MFP20がMFP20自身に関するノード実行単位ログを取得する場合の動作と同様であるので、説明を省略する。
次に、MFP20自身に関するノード実行単位ログをMFP20以外のノードに移動させる場合のMFP20の動作について説明する。
図12は、MFP20自身に関するノード実行単位ログをMFP20以外のノードに移動させる場合のMFP20の動作のフローチャートである。
MFP20のログ移動手段28bは、市場向けログ取得手段28aがMFP20自身に関するノード実行単位ログを取得している場合に、図12に示す動作を繰り返し実行し続ける。
図12に示すように、ログ移動手段28bは、記憶部27のノード実行単位ログ用記憶領域の空き容量が特定の容量以下であるか否かを判断する(S201)。
ログ移動手段28bは、記憶部27のノード実行単位ログ用記憶領域の空き容量が特定の容量以下ではないとS201において判断すると、図12に示す動作を終了する。
ログ移動手段28bは、記憶部27のノード実行単位ログ用記憶領域の空き容量が特定の容量以下であるとS201において判断すると、サービス実行システム10に含まれる全てのノードから、MFP20に関するノード実行単位ログを記憶するための特定の記憶領域(以下「他ノード用記憶領域」という。)の空き容量を取得する(S202)。
次いで、ログ移動手段28bは、MFP20と同一のネットワーク、すなわち、ネットワーク11に所属する、他ノード用記憶領域の空き容量が特定の容量以上であるMFPが存在するか否かを、S202において取得した情報に基づいて判断する(S203)。
ログ移動手段28bは、ネットワーク11に所属する、他ノード用記憶領域の空き容量が特定の容量以上であるMFPが存在するとS203において判断すると、記憶部27のノード実行単位ログ用記憶領域に記憶されている、MFP20に関するノード実行単位ログを、ネットワーク11に所属する、他ノード用記憶領域の空き容量が特定の容量以上であるMFPのいずれか1つに、移動させる(S204)。ここで、ログ移動手段28bは、移動させたノード実行単位ログについては、記憶部27のノード実行単位ログ用記憶領域から削除する。
ログ移動手段28bは、ネットワーク11に所属する、他ノード用記憶領域の空き容量が特定の容量以上であるMFPが存在しないとS203において判断すると、ネットワーク11に所属する複数のMFPの他ノード用記憶領域の空き容量の合計が特定の容量以上であるか否かを、S202において取得した情報に基づいて判断する(S205)。
ログ移動手段28bは、ネットワーク11に所属する複数のMFPの他ノード用記憶領域の空き容量の合計が特定の容量以上であるとS205において判断すると、記憶部27のノード実行単位ログ用記憶領域に記憶されている、MFP20に関するノード実行単位ログを、ネットワーク11に所属する複数のMFPに、各MFPの他ノード用記憶領域の空き容量に応じた重み付きラウンドロビンで分散させて移動させる(S206)。すなわち、ログ移動手段28bは、各MFPの他ノード用記憶領域の空き容量に応じたデータ量で複数のMFPにログを分散して移動させる。ここで、ログ移動手段28bは、移動させたノード実行単位ログについては、記憶部27のノード実行単位ログ用記憶領域から削除する。
ログ移動手段28bは、ネットワーク11に所属する複数のMFPの他ノード用記憶領域の空き容量の合計が特定の容量以上ではないとS205において判断すると、サービス実行システム10に含まれる複数のMFPの他ノード用記憶領域の空き容量の合計が特定の容量以上であるか否かを、S202において取得した情報に基づいて判断する(S207)。
ログ移動手段28bは、サービス実行システム10に含まれる複数のMFPの他ノード用記憶領域の空き容量の合計が特定の容量以上であるとS207において判断すると、記憶部27のノード実行単位ログ用記憶領域に記憶されている、MFP20に関するノード実行単位ログを、サービス実行システム10に含まれる複数のMFPに、各MFPの他ノード用記憶領域の空き容量に応じた重み付きラウンドロビンで分散させて移動させる(S208)。すなわち、ログ移動手段28bは、各MFPの他ノード用記憶領域の空き容量に応じたデータ量で複数のMFPにログを分散して移動させる。ここで、ログ移動手段28bは、移動させたノード実行単位ログについては、記憶部27のノード実行単位ログ用記憶領域から削除する。
ログ移動手段28bは、サービス実行システム10に含まれる複数のMFPの他ノード用記憶領域の空き容量の合計が特定の容量以上ではないとS207において判断すると、記憶部27のノード実行単位ログ用記憶領域に記憶されている、MFP20に関するノード実行単位ログの可能な限り多くの部分を、サービス実行システム10に含まれる複数のMFPに、各MFPの他ノード用記憶領域の空き容量に応じた重み付きラウンドロビンで分散させて移動させる(S209)。すなわち、ログ移動手段28bは、各MFPの他ノード用記憶領域の空き容量に応じたデータ量で複数のMFPにログを分散して移動させる。ここで、ログ移動手段28bは、移動させたノード実行単位ログについては、記憶部27のノード実行単位ログ用記憶領域から削除する。
次いで、ログ移動手段28bは、記憶部27のノード実行単位ログ用記憶領域に記憶されている、MFP20に関するノード実行単位ログを、サービス実行システム10に含まれるいずれかのクラウドサーバーに移動させる(S210)。ここで、ログ移動手段28bは、移動させたノード実行単位ログについては、記憶部27のノード実行単位ログ用記憶領域から削除する。
ログ移動手段28bは、S204、S206、S208またはS210の処理の後、図12に示す動作を終了する。
MFP30、40、50など、サービス実行システム10に含まれる、MFP20以外のMFPがMFP自身に関するノード実行単位ログをMFP自身以外のノードに移動させる場合の動作については、MFP20がMFP20自身に関するノード実行単位ログをMFP20以外のノードに移動させる場合の動作と同様であるので、説明を省略する。
次に、クラウドサーバー60自身に関するノード実行単位ログを取得する場合のクラウドサーバー60の動作について説明する。
クラウドサーバー60の制御部65は、クラウドサーバー60が起動している間、ノード実行単位ログを取得し続ける。
図13は、1つのノード実行単位ログを取得する場合のクラウドサーバー60の動作のフローチャートである。
図13に示すように、制御部65は、クラウドサーバー60にログイン中の利用者の利用者IDを取得する(S301)。
次いで、制御部65は、IN情報を取得するためのIN情報取得処理を実行する(S302)。
図14は、図13に示すIN情報取得処理のフローチャートである。
図14に示すように、制御部65は、利用者による入力があったか否かを判断する(S321)。
制御部65は、利用者による入力があったとS321において判断すると、入力内容情報を取得するための入力内容情報取得処理を実行する(S322)。なお、制御部65は、クラウドサーバー60が提供するGUIに対する入力が実行されると、その都度、入力内容情報取得処理を実行する。
図15は、図14に示す入力内容情報取得処理のフローチャートである。
図15に示すように、制御部65は、GUIに対する入力内容を取得して(S341)、S341において取得した入力内容をGUI入力内容情報に記憶する(S342)。
次いで、制御部65は、入力が実行された時刻を取得して(S343)、S343において取得した時刻を、S342において記憶した入力内容に関連付けて記憶する(S344)。
次いで、制御部65は、S301において取得した利用者の利用者IDを、S342において記憶した入力内容に関連付けて記憶して(S345)、図15に示す入力内容情報取得処理を終了する。
図14に示すように、制御部65は、利用者による入力がなかったとS321において判断するか、S322の入力内容情報取得処理の後、クラウドサービスの実行が開始された場合に、指示設定情報を取得するための指示設定情報取得処理を実行して(S323)、図14に示すIN情報取得処理を終了する。
図16は、図14に示す指示設定情報取得処理のフローチャートである。
図16に示すように、制御部65は、対象のトランザクションの識別情報であるトランザクションIDを取得する(S361)。ここで、制御部28は、トランザクションの実行時に、対象のトランザクション毎に互いに異なるトランザクションIDを付与することでトランザクションを管理する。したがって、制御部65は、トランザクションに付与されたトランザクションIDをノード実行単位ログの取得のために利用することができる。
制御部65は、S361において取得したトランザクションIDによって特定されるトランザクションの設定(以下「トランザクション設定」という。)として、クラウドサーバー60が提供するGUIに対する入力内容と、通信部63経由でのMFP20からの指示内容とのいずれかに基づいて生成したトランザクション設定を取得して(S362)、S362において取得したトランザクション設定を指示設定情報に記憶する(S363)。
次いで、制御部65は、対象のトランザクションが開始された時刻を取得して(S364)、S364において取得した時刻を、S363において記憶した指示設定情報に関連付けて記憶する(S365)。
次いで、制御部65は、S301において取得した利用者の利用者IDを、S363において記憶した指示設定情報に関連付けて記憶して(S366)、図16に示す指示設定情報取得処理を終了する。
なお、制御部65は、S344において記憶した時刻、および、S345において記憶した利用者IDの組み合わせと、S365において記憶した時刻、および、S366において記憶した利用者IDの組み合わせとに基づいて、S342において記憶したGUI入力内容情報と、S363において記憶した指示設定情報とを、同一のノード実行単位ログの情報として関連付ける。
図13に示すように、制御部65は、S302のIN情報取得処理の後、ACTION情報を取得するためのACTION情報取得処理を実行する(S303)。ACTION情報取得処理において、制御部65は、S302で取得されたIN情報に対応するクラウドサーバー60の動作の内容を取得して実行動作情報に記憶する。次いで、制御部65は、S301において取得した利用者の利用者IDを、記憶した実行動作情報に関連付けて記憶して、ACTION情報取得処理を終了する。
なお、制御部65は、対象のトランザクションの識別情報であるトランザクションIDを取得し、取得したトランザクションIDによって特定されるトランザクションが実行されたときのクラウドサーバー60の動作の内容を、IN情報に対応するクラウドサーバー60の動作の内容として取得してもよい。この場合、制御部65は、S361において取得したトランザクションIDと、ACTION情報取得処理で取得したトランザクションIDとに基づいて、S363において記憶した指示設定情報と、ACTION情報取得処理において記憶した実行動作情報とを、同一のノード実行単位ログの情報として関連付ける。
次いで、制御部65は、対象のトランザクションの実行が終了した場合に、OUTPUT情報を取得するためのOUTPUT情報取得処理を実行して(S304)、図13に示す動作を終了する。
図17は、図13に示すOUTPUT情報取得処理のフローチャートである。
図17に示すように、制御部65は、対象のトランザクションの識別情報であるトランザクションIDを取得する(S381)。
制御部65は、S381において取得したトランザクションIDによって特定されるトランザクションのトランザクション設定として、対象のトランザクションの実行時のトランザクション設定を取得して(S382)、S382において取得したトランザクション設定を実行時設定情報に記憶する(S383)。
次いで、制御部65は、S382において取得したトランザクション設定に含まれるトランザクションの出力の種別を判断する(S384)。
制御部65は、クラウドサーバー60が提供するGUIへの出力(以下「標準出力」という。)であるとS384において判断すると、対象の標準出力の実行結果を取得する(S385)。ここで、S385において取得される実行結果には、例えば、対象の標準出力が正常に終了したか否かという情報が含まれる。
制御部65は、サービス実行システム10におけるノードへの送信(以下「送信出力」という。)であるとS384において判断すると、対象の送信出力の実行結果を取得する(S386)。ここで、S386において取得される実行結果には、例えば、対象の送信出力が正常に終了したか否かという情報と、対象の送信出力によって通信部63経由で送信されたデータのサイズの情報と、MFP20など、対象の送信出力によって通信部63経由でデータが送信された相手先の情報と、電子メールによる送信、SMBによる送信、FTPによる送信など、対象の送信出力によるデータの送信方法の情報とが含まれる。
制御部65は、記憶部64への保存(以下「保存出力」という。)であるとS384において判断すると、対象の保存出力の実行結果を取得する(S387)。ここで、S387において取得される実行結果には、例えば、対象の保存出力が正常に終了したか否かという情報と、対象の保存出力によって記憶部27に記憶されたデータのサイズの情報とが含まれる。
制御部65は、S385、S386またはS387の処理が終了すると、S385、S386またはS387において取得した実行結果を、S383において記憶した実行時設定情報に関連付けて実行結果情報に記憶する(S388)。
制御部65は、S388の処理の後、対象のトランザクションが終了した時刻を取得して(S389)、S389において取得した時刻を、S388において記憶した実行結果情報に関連付けて記憶する(S390)。
次いで、制御部65は、S301において取得した利用者の利用者IDを、S388において記憶した実行結果情報に関連付けて記憶して(S391)、図17に示すOUTPUT情報取得処理を終了する。
なお、制御部65は、S361において取得したトランザクションIDと、S381において取得したトランザクションIDとに基づいて、S363において記憶した指示設定情報と、S388において記憶した実行結果情報とを、同一のノード実行単位ログの情報として関連付ける。
サービス実行システム10に含まれる、クラウドサーバー60以外のクラウドサーバーがクラウドサーバー自身に関するノード実行単位ログを取得する場合の動作については、クラウドサーバー60がクラウドサーバー60自身に関するノード実行単位ログを取得する場合の動作と同様であるので、説明を省略する。
次に、サービス単位ログを取得する場合のMFP20の動作について説明する。
図18は、サービス単位ログを取得する場合のMFP20の動作のフローチャートである。
図18に示すように、市場向けログ取得手段28aは、対象のサービス単位ログのうち、MFP20に関するノード実行単位ログを収集するための自機器ログ収集処理を実行する(S401)。
図19は、図18に示す自機器ログ収集処理のフローチャートである。
図19に示すように、市場向けログ取得手段28aは、対象のサービス単位ログの対象のサービスに関連付けられた、未だ対象としていない1つのジョブIDのみを対象にする(S421)。
次いで、市場向けログ取得手段28aは、対象のジョブIDに関連付けられているノード実行単位ログを他のノード、すなわち、MFP20以外のノードに移動させたか否かを判断する(S422)。
市場向けログ取得手段28aは、対象のジョブIDに関連付けられているノード実行単位ログを他のノードに移動させていないとS422において判断すると、対象のジョブIDに関連付けられているノード実行単位ログを記憶部27のノード実行単位ログ用記憶領域から取得する(S423)。
市場向けログ取得手段28aは、対象のジョブIDに関連付けられているノード実行単位ログを他のノードに移動させたとS422において判断すると、対象のジョブIDに関連付けられているノード実行単位ログを、このノード実行単位ログの移動先のノードから回収することによって取得する(S424)。
市場向けログ取得手段28aは、S423またはS424の処理の後、対象のサービス単位ログの対象のサービスに関連付けられた、未だ対象としていないジョブIDが存在するか否かを判断する(S425)。
市場向けログ取得手段28aは、未だ対象としていないジョブIDが存在するとS425において判断すると、S421の処理を実行する。
市場向けログ取得手段28aは、未だ対象としていないジョブIDが存在しないとS425において判断すると、図19に示す自機器ログ収集処理を終了する。
図18に示すように、市場向けログ取得手段28aは、S401の自機器ログ収集処理の後、対象のサービス単位ログのうち、MFP20以外のMFPに関するノード実行単位ログの要求をMFP20以外のMFPに実行する(S402)。
図20は、ノード実行単位ログの要求を受けた場合のMFP30の動作のフローチャートである。
図20に示すように、MFP30の市場向けログ取得手段は、対象のサービス単位ログ、すなわち、MFP20からノード実行単位ログの要求を受けたサービス単位ログの対象のサービスに関連付けられた、未だ対象としていない1つのジョブIDのみを対象にする(S441)。
次いで、MFP30の市場向けログ取得手段は、対象のジョブIDに関連付けられているノード実行単位ログを他のノード、すなわち、MFP30以外のノードに移動させたか否かを判断する(S442)。
MFP30の市場向けログ取得手段は、対象のジョブIDに関連付けられているノード実行単位ログを他のノードに移動させていないとS442において判断すると、対象のジョブIDに関連付けられているノード実行単位ログをMFP30の記憶部のノード実行単位ログ用記憶領域から取得する(S443)。
MFP30の市場向けログ取得手段は、対象のジョブIDに関連付けられているノード実行単位ログを他のノードに移動させたとS442において判断すると、対象のジョブIDに関連付けられているノード実行単位ログを、このノード実行単位ログの移動先のノードから回収することによって取得する(S444)。
MFP30の市場向けログ取得手段は、S443またはS444の処理の後、対象のサービス単位ログの対象のサービスに関連付けられた、未だ対象としていないジョブIDが存在するか否かを判断する(S445)。
MFP30の市場向けログ取得手段は、未だ対象としていないジョブIDが存在するとS445において判断すると、S441の処理を実行する。
MFP30の市場向けログ取得手段は、未だ対象としていないジョブIDが存在しないとS445において判断すると、今回の図20に示す処理において実行した全てのS443およびS444の処理のそれぞれにおいて取得したノード実行単位ログをMFP20に送信して(S446)、図20に示す動作を終了する。
以上においては、MFP30がMFP20からノード実行単位ログの要求を受けた場合の動作について説明したが、MFP30以外のMFPについても、MFP20からノード実行単位ログの要求を受けた場合の動作は同様である。
図18に示すように、市場向けログ取得手段28aは、S402の処理の後、対象のサービス単位ログのうち、クラウドサーバーに関するノード実行単位ログの要求をクラウドサーバーに実行する(S403)。
図21は、ノード実行単位ログの要求を受けた場合のクラウドサーバー60の動作のフローチャートである。
図21に示すように、制御部65は、対象のサービス単位ログ、すなわち、MFP20からノード実行単位ログの要求を受けたサービス単位ログの対象のサービスに関連付けられた、未だ対象としていない1つのトランザクションIDのみを対象にする(S461)。
次いで、制御部65は、対象のトランザクションIDに関連付けられているノード実行単位ログを取得する(S462)。
次いで、制御部65は、対象のサービス単位ログの対象のサービスに関連付けられた、未だ対象としていないトランザクションIDが存在するか否かを判断する(S463)。
制御部65は、未だ対象としていないトランザクションIDが存在するとS463において判断すると、S461の処理を実行する。
制御部65は、未だ対象としていないトランザクションIDが存在しないとS463において判断すると、今回の図21に示す処理において実行した全てのS462の処理のそれぞれにおいて取得したノード実行単位ログをMFP20に送信して(S464)、図21に示す動作を終了する。
以上においては、クラウドサーバー60がMFP20からノード実行単位ログの要求を受けた場合の動作について説明したが、クラウドサーバー60以外のクラウドサーバーについても、MFP20からノード実行単位ログの要求を受けた場合の動作は同様である。
図18に示すように、市場向けログ取得手段28aは、S403の処理の後、S401の自機器ログ収集処理と、S402の処理と、S403の処理とにおいて取得した全てのノード実行単位ログを、同一のサービス単位ログの情報として関連付けて市場向けログ27bに記憶して(S404)、図18に示す動作を終了する。
次に、不具合が発生した場合のMFP20の動作について説明する。
図22は、不具合が発生した場合のMFP20の動作のフローチャートである。
制御部28は、MFP20に不具合が発生した場合に、図22に示す動作を実行する。図22に示すように、制御部28は、MFP20に発生した不具合に対して不具合要因候補情報27eにおいて対応付けられている要因の候補の識別子を含めた障害情報を生成する(S501)。
次いで、ログ記録設定手段28cは、S501において生成された障害情報に含まれる識別子に対応付けられているログ記録実施可否設定をONにするように、要因別ログコンフィグレーションテーブル27dを自動で更新する(S502)。
次いで、ログ記録設定手段28cは、MFP20の再起動の処理を開始して(S503)、図22に示す動作を終了する。したがって、MFP20は、図22に示す動作の後、再起動する。MFP20は、不具合の発生によって利用者によって使用されることができない状態になっている場合があるが、不具合の発生によって利用者によって使用されることができない状態になっていても、再起動によって、再び利用者によって使用されることができる状態になるときがある。
次に、利用者からの指示に応じて要因別ログコンフィグレーションテーブル27dを編集する場合のMFP20の動作について説明する。
図23は、利用者からの指示に応じて要因別ログコンフィグレーションテーブル27dを編集する場合のMFP20の動作のフローチャートである。
制御部28は、要因別ログコンフィグレーションテーブル27dの編集の開始が操作部21または通信部26を介して指示されると、図23に示す動作を開始する。例えば、サービスパーソンなどの利用者は、要因別ログコンフィグレーションテーブル27dの編集の開始を操作部21または通信部26を介して指示することができる。
図23に示すように、ログ記録設定手段28cは、要因別ログコンフィグレーションテーブル27dの変更が操作部21または通信部26を介して指示されたか否かを判断する(S521)。
ログ記録設定手段28cは、要因別ログコンフィグレーションテーブル27dの変更が指示されたとS521において判断すると、操作部21または通信部26を介した指示に応じて要因別ログコンフィグレーションテーブル27dを変更する(S522)。例えば、ログ記録設定手段28cは、特定の要因の候補に対応付けられているログ記録実施可否設定をONにすることもできるし、特定の要因の候補に対応付けられているログ記録実施可否設定をOFFにすることもできる。
ログ記録設定手段28cは、要因別ログコンフィグレーションテーブル27dの変更が指示されなかったとS521において判断するか、S522の処理が終了すると、要因別ログコンフィグレーションテーブル27dの編集の終了が操作部21または通信部26を介して指示されたか否かを判断する(S523)。
ログ記録設定手段28cは、要因別ログコンフィグレーションテーブル27dの編集の終了が指示されなかったとS523において判断すると、S521の処理を実行する。
ログ記録設定手段28cは、要因別ログコンフィグレーションテーブル27dの編集の終了が指示されたとS523において判断すると、図23の動作を終了する。
なお、ログ記録設定手段28cは、要因別ログコンフィグレーションテーブル27dの表示が操作部21を介して指示されると、要因別ログコンフィグレーションテーブル27dを表示部22に表示する。
また、ログ記録設定手段28cは、要因別ログコンフィグレーションテーブル27dの表示が外部のコンピューターから通信部26を介して指示されると、要因別ログコンフィグレーションテーブル27dの表示を指示したコンピューターに要因別ログコンフィグレーションテーブル27dの表示データを送信する。したがって、要因別ログコンフィグレーションテーブル27dの表示をMFP20に指示したコンピューターは、MFP20から送信されてきた表示データに基づいて、要因別ログコンフィグレーションテーブル27dをコンピューター自身の表示部に表示することができる。
次に、ハードウェアを制御する場合のMFP20の動作について説明する。
図24は、ハードウェアを制御する場合のMFP20の動作のフローチャートである。
ハードウェア制御手段28dは、ハードウェア制御手段28d自身の制御対象であるハードウェアを制御する場合に、特定のタイミングで図24に示す動作を繰り返し実行する。
図24に示すように、ハードウェア制御手段28dは、ハードウェア制御手段28d自身の制御対象であるハードウェアに要因別ログコンフィグレーションテーブル27dにおいて対応付けられているログ記録実施可否設定がONであるか否かを判断する(S541)。
ハードウェア制御手段28dは、ログ記録実施可否設定がONであるとS541において判断すると、ハードウェア制御手段28d自身の制御対象であるハードウェアに関するログを開発向けログ27cに記録する状態になって(S542)、図24に示す動作を終了する。
ハードウェア制御手段28dは、ログ記録実施可否設定がOFFであるとS541において判断すると、ハードウェア制御手段28d自身の制御対象であるハードウェアに関するログを開発向けログ27cに記録しない状態になって(S543)、図24に示す動作を終了する。
以上においては、ハードウェア制御手段28dがハードウェア制御手段28d自身の制御対象であるハードウェアを制御する場合に、ハードウェア制御手段28d自身の制御対象であるハードウェアに関するログを開発向けログ27cに記録することついて説明している。同様に、ハードウェア制御手段28d以外のハードウェア制御手段は、ハードウェア制御手段自身の制御対象であるハードウェアを制御する場合に、ハードウェア制御手段自身の制御対象であるハードウェアに関するログを開発向けログ27cに記録することができる。
次に、機能を実行する場合のMFP20の動作について説明する。
図25は、機能を実行する場合のMFP20の動作のフローチャートである。
機能実現手段28eは、機能実現手段28e自身の実現対象である機能を実行する場合に、特定のタイミングで図25に示す動作を繰り返し実行する。
図25に示すように、機能実現手段28eは、機能実現手段28e自身の実現対象である機能に要因別ログコンフィグレーションテーブル27dにおいて対応付けられているログ記録実施可否設定がONであるか否かを判断する(S561)。
機能実現手段28eは、ログ記録実施可否設定がONであるとS561において判断すると、機能実現手段28e自身の実現対象である機能に関するログを開発向けログ27cに記録する状態になって(S562)、図25に示す動作を終了する。
機能実現手段28eは、ログ記録実施可否設定がOFFであるとS561において判断すると、機能実現手段28e自身の実現対象である機能に関するログを開発向けログ27cに記録しない状態になって(S563)、図25に示す動作を終了する。
以上においては、機能実現手段28eが機能実現手段28e自身の実現対象である機能を実行する場合に、機能実現手段28e自身の実現対象である機能に関するログを開発向けログ27cに記録することついて説明している。同様に、機能実現手段28e以外の機能実現手段は、機能実現手段自身の実現対象である機能を実行する場合に、機能実現手段自身の実現対象である機能に関するログを開発向けログ27cに記録することができる。
以上に説明したように、MFP20は、不具合が発生した場合に、発生した不具合に対して不具合要因候補情報27eにおいて対応付けられている、不具合の要因の候補のログを記録する設定を自動で実行する(S502)ので、不具合の原因の解析に不要なログを記録することを抑えることができ、その結果、不具合の原因の解析を容易化することができる。また、MFP20は、不具合の原因の解析に不要なログを記録することを抑えることができるので、ログを記憶するために必要な記憶領域の空き容量を抑えることができる。
MFP20は、不具合が発生した場合に、発生した不具合に対して不具合要因候補情報27eにおいて対応付けられている、不具合の要因の候補のログを記録する設定を自動で実行する(S502)ので、発生した不具合の要因の候補のログを記録する設定を利用者が実行する必要がなく、不具合の原因の解析を容易化することができる。
MFP20は、不具合の要因の候補のログを記録するか否かの設定を操作部21または通信部26によって受け付けられた指示に応じて実行する(S522)ので、不具合の原因の解析者による不具合の原因の解析が終了した場合に、不要なログを記録しない設定が利用者によって実行されることによって、ログを記憶するために必要な記憶領域の空き容量を抑えることができる。
MFP20は、要因別ログコンフィグレーションテーブル27dを表示部22に表示するので、要因別ログコンフィグレーションテーブル27dに対してS502において自動で実行した設定を利用者に確認させることができ、利便性を向上することができる。
MFP20は、利用者による入力の内容と、利用者による入力に応じた機能の実行結果とを機能の実行単位毎に含む市場向けログ27bを取得する(S404)ので、利用者によってどのような入力が実行された結果、機能がどのように実行されたのかということに対する理解を市場向けログ27bによって容易化することができる。したがって、MFP20は、不具合の原因の解析者に不具合の詳細な原因を不具合の要因の候補のログ、すなわち、開発向けログ27cによって解析させる前に、不具合の原因の解析者に不具合の大まかな原因を市場向けログ27bによって解析させることができるので、利便性を向上することができる。
なお、MFP20は、MFP20が実行する機能と、他の機器が実行する機能とが連携されて実現されるサービスのログに追加して、または、このようなサービスのログに代えて、MFP20が他の機器と連携せずに単独で実行する機能のログを市場向けログ27bに含ませることができる。
MFP20は、利用者による入力の内容と、利用者による入力に応じたサービスの実行結果とをサービスの実行単位毎に含む市場向けログ27bを取得するので、利用者によってどのような入力が実行された結果、サービスがどのように実行されたのかということに対する理解を市場向けログ27bによって容易化することができる。したがって、MFP20は、サービスパーソンなど、高度な技術水準を有しない者による、不具合に対する利用者への説明に対する支援を強化することができる。
サービスパーソンは、サービス実行システム10に発生した問題事象を顧客に説明する際に、市場向けログ27bのサービス単位ログにおけるIN情報およびOUTPUT情報によって問題事象を顧客に正確に説明することができる。特に、市場向けログ27bがサービスの実行単位毎にIN情報およびOUTPUT情報を含むので、サービスパーソンは、サービス実行システム10による各サービスに関して、サービス実行システム10において発生した問題事象を把握することができる。
例えば、サービスパーソンは、サービス実行システム10によるサービスの実行結果が顧客の所望のものにならなかった原因が、サービス実行システム10に対する顧客の操作ミスによるものであるのか否かを市場向けログ27bに基づいて判断することができる。
MFP20は、ノードによる他のノードへの送信の内容をノード実行単位ログに含むことが可能である(S188およびS386)ので、サービスの実行の際にノードが他のノードに送信した内容に対する理解をサービスログによって容易化することができる。したがって、MFP20は、高度な技術水準を有しない者による、不具合に対する利用者への説明に対する支援を強化することができる。
MFP20は、ノードによる他のノードからの受信の内容をノード実行単位ログに含むことが可能である(S163およびS363)ので、サービスの実行の際にノードが他のノードから受信した内容に対する理解をサービスログによって容易化することができる。したがって、MFP20は、高度な技術水準を有しない者による、不具合に対する利用者への説明に対する支援を強化することができる。
MFP20は、ノードによる他のノードへの送信の内容をノード実行単位ログに含むことが可能である(S188およびS386)とともに、ノードによる他のノードからの受信の内容をノード実行単位ログに含むことが可能である(S163およびS363)ので、サービスの実行の際にノード間でデータが正常に送受信されているか否かに対する理解をサービスログによって容易化することができる。
MFP20は、本実施の形態において、同一のサービスに関する全てのノード実行単位ログのIN情報およびOUTPUT情報をサービス単位ログに記憶している。したがって、サービスパーソンは、市場向けログ27bによって、同一のサービスに関する各ノードにおける時系列的な処理の流れを確認することができる。しかしながら、MFP20は、同一のサービスに関する全てのノード実行単位ログのIN情報およびOUTPUT情報のうち、利用者入力内容に関するIN情報と、サービスの最終的な出力に関するOUTPUT情報とだけをサービス単位ログに記憶しても良い。
MFP20は、市場向けログ27bのサービス単位ログに指示設定情報および実行時設定情報を含むので、利用者によってサービスに対して実行された設定内容が、最終的にサービスの実行時にどのように変更されたのかということに対する理解を市場向けログ27bによって容易化することができる。
サービスパーソンは、市場向けログ27bを確認することによって、サービス実行システム10に発生した問題事象に関して、顧客、すなわち、MFP20の利用者に早期に状況を説明することができるとともに、顧客に対して代替方法の提案をすることなどが可能になる。市場では、詳細な原因究明より、顧客に対して代替方法を早急に提案することが大切である。市場向けログ27bは、詳細な原因究明には適していないが、大まかな原因究明が可能であるので、顧客に対する代替方法の早急な提案を可能にする。
クラウドサーバー60に保存されている画像データに基づいてMFP20のプリンター23によって印刷を実行するサービスの実行が顧客によってサービス実行システム10に対して指示された場合に、プリンター23によって印刷が実行されないとき、サービスパーソンが顧客から「印刷が実行されない」という報告を受けた例について説明する。サービスパーソンは、市場向けログ27bを確認することによって、印刷が実行されない原因が、MFP20と、クラウドサーバー60との間の通信に不具合が発生しているためであると認識した場合、顧客に早期に状況を説明することができるとともに、例えば「顧客のPCなど、クラウドサーバー60以外のコンピューターに保存されている画像データに基づいたプリンター23による印刷」などの代替方法を顧客に対して提案することができる。サービスパーソンは、市場向けログ27bを確認することによって、印刷が実行されない原因が、MFP20のプリント機能に不具合が発生しているためであると認識した場合、顧客に早期に状況を説明することができるとともに、例えば「MFP20のプリント機能以外の機能を利用したサービス」などの代替方法を顧客に対して提案することができる。
MFP20は、市場向けログ27bとは別に開発向けログ27cを取得するので、サービスパーソンなど、高度な技術水準を有しない者による、不具合に対する利用者への説明に対して市場向けログ27bによって適切に支援することができるとともに、開発者など、高度な技術水準を有する者による、不具合の原因の詳細な解析に対して開発向けログ27cによって適切に支援することができる。
サービス実行システム10において、ノードの少なくとも1つは、ノード自身のノード実行単位ログ用記憶領域の空き容量が特定の容量以下である場合に(S201でYES)、ノード自身のノード実行単位ログ用記憶領域に記憶されているノード実行単位ログをノード自身以外のノードに移動させる(S204、S206、S208、S209またはS210)ので、ノード実行単位ログ用記憶領域の容量を仮想的に増やすことができる。したがって、サービス実行システム10は、ノード実行単位ログ用記憶領域の空き容量が少ないノードを含むときであっても、高度な技術水準を有しない者による、不具合に対する利用者への説明に対する支援を強化することができる。
サービス実行システム10は、他ノード用記憶領域の空き容量が十分に大きいノードが存在しない場合であっても(S203でNO)、ノードの少なくとも1つが複数のノードにノード実行単位ログを分散して移動させる(S206、S208、S209またはS210)ので、ノード実行単位ログ用記憶領域の空き容量が少ないノードを含むときであっても、高度な技術水準を有しない者による、不具合に対する利用者への説明に対する支援を強化することができる。
サービス実行システム10は、ノード実行単位ログを画像形成装置に優先的に移動させる(S204、S206、S208またはS209)ので、例えばNAS(Network Attached Storage)やPCなどの汎用的な装置にノード実行単位ログを移動させる場合と比較して、ノード実行単位ログの漏洩を抑えることができる。
サービス実行システム10は、ノード実行単位ログの移動元のノードと同一のネットワークに所属する画像形成装置にログを優先的に移動させる(S204またはS206)ので、ノード実行単位ログの移動元のノードが所属するネットワークと異なるネットワークに所属する画像形成装置にログを移動させる場合と比較して、ノード実行単位ログの漏洩と、ノード実行単位ログの移動がネットワークに与える負担とを抑えることができる。
サービス実行システム10は、ノード実行単位ログに機密情報や個人情報が含まれる場合に、ノード実行単位ログの漏洩を抑えることができるメリットが大きい。
サービス実行システム10において、MFPは、MFP自身以外のノードからノード実行単位ログが要求された場合に(S402)、ノード実行単位ログの移動先のノードからノード実行単位ログを回収し(S444)、回収したノード実行単位ログを、ノード実行単位ログの要求元のノードに送信する(S446)。この構成により、サービス実行システム10は、ノード実行単位ログの要求元のノードがノード実行単位ログの要求先のノードにおけるノード実行単位ログの管理状況を認識する必要がないので、ノード実行単位ログ用記憶領域の空き容量が少ないノードを含むときであっても、高度な技術水準を有しない者による、不具合に対する利用者への説明に対する支援を簡単な構成で強化することができる。
MFP20は、本実施の形態において、他のノードから他ノード用記憶領域の空き容量を取得し(S202)、S202において取得した空き容量に基づいてS203〜S209の処理を実行する。しかしながら、MFP20は、他のノードから他ノード用記憶領域の空き容量を取得する代わりに、他のノードがHDDやSSD(Solid State Drive)を備えているか否かの情報を取得し、HDDやSSDを備えているノードに、記憶部27のノード実行単位ログ用記憶領域に記憶されている、MFP20に関するノード実行単位ログを移動させても良い。
MFP20は、本実施の形態においてプリントジョブ、コピージョブ、送信ジョブ、FAXジョブ、BOXジョブおよびレポートジョブに対応しているが、これらのジョブ以外の種類のジョブに対応しても良い。同様に、クラウドサーバー60は、標準出力、送信出力および保存出力に対応しているが、これらの出力以外の種類の出力に対応しても良い。
本発明の電子機器は、プリンター専用機、コピー専用機、スキャナー専用機、ファックス専用機など、MFP以外の画像形成装置でも良いし、PCなど、画像形成装置以外の電子機器でも良い。サービス実行システム10は、プリンター専用機、コピー専用機、スキャナー専用機、ファックス専用機など、MFP以外の画像形成装置を備えても良いし、PCなど、画像形成装置以外の電子機器を備えても良い。
サービス実行システム10は、複数の電子機器をそれぞれノードとして含んでいる場合、クラウドサーバーをノードとして含んでなくても良い。サービス実行システム10は、複数の電子機器をそれぞれノードとして含んでいて、クラウドサーバーをノードとして含んでない場合、利用者による入力に応じて複数の電子機器が連携してサービスを実行するシステムである。サービス実行システム10が複数のMFPのみをそれぞれノードとして含んでいる場合、サービス実行システム10によって実行されるサービスには、例えば、サービス実行システム10に含まれる1つのMFPがPCから印刷データを受信した場合に、このMFPが印刷データを自動で複数の印刷データに分割した後、分割して生じた複数の印刷データの少なくとも1つを、サービス実行システム10に含まれる他のMFPに自動で配信することによって、複数のMFPで1つの印刷データを分割して印刷するサービスと、サービス実行システム10に含まれる1つのMFPのスキャナーによって原稿から読み取られた画像の画像データを、このMFPとは別のMFPのアドレス帳から利用者によって指定された宛先に送信するサービスとが存在する。
サービス実行システム10は、本実施の形態において、MFP20がサービス単位ログを収集している。しかしながら、サービス単位ログは、MFP20以外のMFPが収集しても良いし、クラウドサーバーが収集しても良いし、例えばMFP20を管理する管理サーバーなど、MFPおよびクラウドサーバー以外のコンピューターが収集しても良い。
MFP20は、市場向けログおよび開発向けログを取得するログ取得システムを構成している。しかしながら、ログ取得システムは、MFP20以外の構成を含んでも良い。例えば、MFP20は、不具合要因候補情報を管理する情報管理手段など、構成の一部がMFP20の外部の機器によって提供されても良い。