JP4881168B2 - ログ情報管理方法および情報機器 - Google Patents

ログ情報管理方法および情報機器 Download PDF

Info

Publication number
JP4881168B2
JP4881168B2 JP2007008050A JP2007008050A JP4881168B2 JP 4881168 B2 JP4881168 B2 JP 4881168B2 JP 2007008050 A JP2007008050 A JP 2007008050A JP 2007008050 A JP2007008050 A JP 2007008050A JP 4881168 B2 JP4881168 B2 JP 4881168B2
Authority
JP
Japan
Prior art keywords
log
area
block
task
log information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007008050A
Other languages
English (en)
Other versions
JP2008176465A (ja
Inventor
考成 ▲浜▼▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007008050A priority Critical patent/JP4881168B2/ja
Publication of JP2008176465A publication Critical patent/JP2008176465A/ja
Application granted granted Critical
Publication of JP4881168B2 publication Critical patent/JP4881168B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、機器を制御しているソフトウェアの各タスクが作成したログ情報を保存するログ情報管理方法、および、制御ソフトウェアの各タスクが作成したログ情報を保存するログ情報管理手段を備えた情報機器に関する。
従来、マルチタスク・オペレーティングシステムで各部の動作が制御される情報機器においては、各タスクから出力されるログ情報を記憶するタスク別のログ領域を設け、おのおののタスクから非同期に出力されるログ情報をおのおののログ領域に保存している。
このようにすることで、各タスクは、他のタスクの影響を受けずに適切にログ情報を保存することができるので、非常に有効である。
特開平7−248943号公報
しかしながら、このようなログ情報の記憶管理方法では、例えば、ログ領域を固定サイズとした場合、当該固定サイズを超えた部分のログ情報を記憶しようとすると、既に記憶している古いログ情報を上書きするということとなる。通常の動作では、このようなログ情報の管理方法で問題は生じないが、動作解析時や動作テスト時など、大量のログ情報を取得したい場合には、簡単には対処することができない。
かかる事態に対処するには、例えば、最初からログ領域として大きなメモリ領域を用意することが考えられるが、情報機器に組み込むソフトウェアシステムは、コスト等の理由で使用できるリソースが限られるため、ログ領域として確保できるメモリ領域がそもそも少なく、現実的ではない。
本発明は、かかる実情に鑑みてなされたものであり、各タスクが出力するログ情報を効率よく保存することができるログ情報管理方法および情報機器を提供すること目的とする。
本発明は、機器を制御しているソフトウェアの各タスクが作成したログ情報を保存するログ情報管理方法において、前記機器は、第1のログ記憶領域を構成する第1の記憶手段と、必要に応じて設けられる第2のログ記憶領域を構成する第2の記憶手段を備え、初期化時に前記第2の記憶手段を検出すると、それ以降は、前記第2のログ記憶領域に前記ログ情報を保存するようにし、前記ログ情報を記憶するログ記憶領域は、所定データ長のブロック単位に記憶管理され、おのおののタスクに割り当てられるタスク別ログ領域は、前記タスクより指示される指定ブロック数からなる保証領域と、前記保証領域を超えたログ情報を記憶するための拡張領域からなり、前記保証領域は、最新のログ情報を記憶しているブロックであって、前記指定ブロック数の数に相当するブロック領域に逐次更新されるものであり、前記拡張領域に割り当てるブロックは、前記第2のログ記憶領域に空きブロックがある場合は、当該空きブロックを割り当て、前記第2のログ記憶領域に空きブロックがない場合には、前記拡張領域のブロック数が最も多いいずれかのタスク別ログ領域を選択し、当該選択されたタスク別ログ領域から、最も古いログを記憶しているブロックを当該タスク別ログ領域から登録解除し、当該登録解除したブロックを割り当てるようにしたものである。
また、制御ソフトウェアの各タスクが作成したログ情報を保存するログ情報管理手段を備えた情報機器であって、第1のログ記憶領域を構成する第1の記憶手段と、必要に応じて設けられる第2のログ記憶領域を構成する第2の記憶手段を備え、前記ログ情報管理手段は、初期化時に前記第2の記憶手段を検出すると、それ以降は、前記第2のログ記憶領域に前記ログ情報を保存するようにし、前記ログ情報を記憶するログ記憶領域は、所定データ長のブロック単位に記憶管理され、おのおののタスクに割り当てられるタスク別ログ領域は、前記タスクより指示される指定ブロック数からなる保証領域と、前記保証領域を超えたログ情報を記憶するための拡張領域からなり、前記保証領域は、最新のログ情報を記憶しているブロックであって、前記指定ブロック数の数に相当するブロック領域に逐次更新されるものであり、前記拡張領域に割り当てるブロックは、前記第2のログ記憶領域に空きブロックがある場合は、当該空きブロックを割り当て、前記第2のログ記憶領域に空きブロックがない場合には、前記拡張領域のブロック数が最も多いいずれかのタスク別ログ領域を選択し、当該選択されたタスク別ログ領域から、最も古いログを記憶しているブロックを当該タスク別ログ領域から登録解除し、当該登録解除したブロックを割り当てるようにしたものである。
したがって、本発明によれば、動作解析時や動作テスト時など、大量のログ情報を取得したい場合、大容量の第2の記憶手段を装着することで、適切に取得することができ、非常に便利であるという効果を得る。
また、おのおののタスク毎に割り当てるタスク別ログ領域は、おのおののタスクが指示した指定ブロック数の保証領域が最低限確保されるとともに、おのおののタスクが出力するログ情報の量に応じて、保証領域を超えたログ情報を拡張領域に適切に保存することができるので、大量のログ情報を適切に取得することができるという効果も得る。
以下、添付図面を参照しながら、本発明の実施の形態を詳細に説明する。
図1は、本発明の一実施例にかかる情報機器としてのネットワーク対応複合機の構成の一例を示している。
同図において、CPU(中央処理装置)1は、このネットワーク対応複合機の各部の制御処理(マルチタスク・オペレーティングシステムの処理など)、および、ファクシミリ伝送制御手順処理などの各種制御処理を行うものであり、ROM(リード・オンリ・メモリ)2は、CPU1が実行する制御処理プログラム、および、処理プログラムを実行するときに必要な各種データなどを記憶するものであり、RAM(ランダム・アクセス・メモリ)3は、CPU1のワークエリア(例えば、ログ記憶領域(後述))を構成するとともに、このネットワーク対応複合機に固有な各種の情報を記憶するためのものであり、時計回路4は、現在時刻情報を出力するものである。
スキャナ5は、所定の解像度で原稿画像を読み取るためのものであり、プロッタ6は、所定の解像度で画像を記録出力するためのものであり、操作表示部7は、このネットワーク対応複合機を操作するためのもので、各種の操作キー、および、各種の表示器からなる。
符号化復号化部8は、画信号を符号化圧縮するとともに、符号化圧縮されている画情報を元の画信号に復号化するためのものであり、画像蓄積装置9は、符号化圧縮された状態の画情報を多数記憶するためのものである。
グループ3ファクシミリモデム10は、グループ3ファクシミリのモデム機能を実現するためのものであり、伝送手順信号をやりとりするための低速モデム機能(V.21モデム)、および、おもに画情報をやりとりするための高速モデム機能(V.17モデム、V.34モデム、V.29モデム、V.27terモデムなど)を備えている。
網制御装置11は、このネットワーク対応複合機をアナログ公衆回線網PSTNに接続するためのものであり、自動発着信機能を備えている。
ローカルエリアネットワークインターフェース回路12は、このネットワーク対応複合機をローカルエリアネットワークLANに接続するためのものであり、ローカルエリアネットワーク伝送制御部13は、ローカルエリアネットワークLANを介して、他のデータ端末装置との間で種々のデータをやりとりするための各種所定のプロトコルスイートの通信制御処理を実行するためのものである。
外部記憶媒体14は、大容量の記憶装置、例えば、磁気ディスク装置やメモリカード装置などからなり、このネットワーク対応複合機の動作解析時やテスト動作時に装着されるものであり、大量のログ情報(後述)を記憶するためのものであり、外部記憶媒体インタフェース回路15は、このネットワーク対応複合機に外部記憶媒体14を着脱するためのものである。
これらの、CPU1、ROM2、RAM3、時計回路4、スキャナ5、プロッタ6、操作表示部7、符号化復号化部8、画像蓄積装置9、グループ3ファクシミリモデム10、網制御装置11、ローカルエリアネットワーク伝送制御部13、および、外部記憶媒体インタフェース回路15は、内部バス16に接続されており、これらの各要素間でのデータのやりとりは、主としてこの内部バス16を介して行われている。
また、網制御装置11とグループ3ファクシミリモデム10との間のデータのやりとりは、直接行なわれている。
図2は、図1に示したネットワーク対応複合機について、ログ情報を記憶するためのソフトウェア構成の一例を示したものである。
同図において、システムSMは、マルチタスク・オペレーティングシステムであるオペレーティングシステムOSと、その上で動作する複数のタスクTS1〜TSnから構成されており、おのおののタスクTS1〜TSnは、ネットワーク対応複合機の各種制御動作を行うためのものであり、適宜なタイミングで、ログ情報を出力する。
システム制御部SCは、オペレーティングシステムOS上でシステム全体のリソースを把握するとともに管理するためのものであり、ログ書込制御部LCは、タスクTS1〜TSnからのログ書込要求を受け付けるためのものであり、ログ記憶領域STに対してログ情報を書き込む動作を行う。
また、ログ領域管理制御部LLは、代替記憶領域(後述)にログ情報を書き込む際に、書込先領域の管理を行うためのものである。
また、この場合、ログ記憶領域としては、RAM3に構築される標準記憶領域STa、または、外部記憶媒体14に構築される代替記憶領域STbが用いられる。
以上の構成で、外部記憶媒体14が装着されていない場合で、ログ記憶領域STに標準記憶領域STaのみが設けられている場合の動作の一例を図3に示す。
まず、システム制御部SCは、標準記憶領域STaを初期化した後、外部記憶媒体14が装着されているかどうかをデバイス検出する。この場合、外部記憶媒体14が装着されていないので、デバイス検出の結果は「デバイス無し」となるので、それ以降は、標準記憶領域STaについて、ログ情報を記憶する。
すなわち、システム制御部SCは、ログ書込制御部LCに対して、書込先として標準記憶領域STaを通知し、その後、タスクTS1〜TSnを適宜に起動する。
起動されたタスクTS1〜TSnは、それぞれに設定されているログ領域サイズを、ログ書込制御部LCに対して通知する。それにより、ログ書込制御部LCは、おのおののタスクTS1〜TSnより通知されたサイズのログ領域を、標準記憶領域STaに確保する。
これ以降は、タスクTS1〜TSnは、適宜なタイミングでログ情報を発生すると、その都度、ログ書込制御部LCに対してログ書込要求を行って発生したログ情報を転送し、それにより、ログ書込制御部LCは、タスクTS1〜TSnより受け取ったログ情報を、それぞれのタスクに対して確保したログ領域に書き込む。
次に、ネットワーク対応複合機の動作解析時やテスト動作時に大量のログ情報を記憶するために、外部記憶媒体14を装着した場合で、ログ記憶領域STに標準記憶領域STaと代替記憶領域STbのみが設けられている場合の動作の一例を図4に示す。
まず、システム制御部SCは、標準記憶領域STaを初期化した後、外部記憶媒体14が装着されているかどうかをデバイス検出する。この場合、外部記憶媒体14が装着されているので、デバイス検出の結果は「デバイス有り」となるので、それ以降は、代替記憶領域STbについて、ログ情報を記憶する。
すなわち、システム制御部SCは、ログ書込制御部LCに対して、書込先として代替記憶領域STbを通知し、その後、タスクTS1〜TSnを適宜に起動する。
起動されたタスクTS1〜TSnは、それぞれに設定されているログ領域サイズを、ログ書込制御部LCに対して通知する。それにより、ログ書込制御部LCは、ログ領域管理制御部LLに対して、タスクTS1〜TSnより通知されたログ領域サイズを指定した状態で、ログ領域確保要求(KK1)を行う。
それにより、ログ領域管理制御部LLは、通知されたログ領域サイズを保証領域(後述)とするログ領域を、おのおののタスクTS1〜TSnについて、代替記憶領域STbに確保し、それぞれログ書込制御部LCへ通知する。
これ以降は、タスクTS1〜TSnは、適宜なタイミングでログ情報を発生すると、その都度、ログ書込制御部LCに対してログ書込要求を行って発生したログ情報を転送し、それにより、ログ書込制御部LCは、タスクTS1〜TSnより受け取ったログ情報を、それぞれのタスクに対して確保したログ領域に書き込む。
また、例えば、タスクTSnからログ書込要求を受けた際、ログ情報の情報量が現在確保されているログ領域を超えた情報量になった場合には、ログ書込制御部LCは、再度、ログ領域管理制御部LLに対して、ログ領域確保要求(KK2)を発行する。
これにより、ログ領域管理制御部LLは、当該タスクTSnについて新たにログ領域を確保して、その旨をログ書込制御部LCへ通知する。それにより、ログ書込制御部LCは、新たに確保されたログ領域に対して、ログ情報を書き込む。
さて、本実施例では、ログ記憶領域(標準記憶領域STa、および、代替記憶領域STb)STは、初期状態では、図5(a)に示すように、各タスクTS1〜TSnについて、それぞれの領域を確保する。それぞれのタスク用領域は、おのおののタスクが指定したサイズ(ブロックサイズ)の大きさである。
そして、稼働中に各タスクTS1〜TSnから出力されるログ情報の量に応じて、同図(b)に示すように、それぞれのタスク用領域の大きさが変動する。例えば、タスクTS1(タスク#1)はあまりログ情報を出力しないので、初期状態の大きさのままであるが、タスクTS2(タスク#2),TSn(タスク#n)は、ログ情報を多く出力するので初期状態よりもタスク用領域の大きさが大きくなっている。特に、タスクTS2は大量のログ情報を出力するので、確保されているタスク用領域の大きさも大きくなる。
ここで、タスク用領域のサイズを可変にするために、本実施例では、所定データ長のブロック単位でタスク用領域のサイズを増減している。
また、おのおののタスク用領域は、同図(c)に示すように、それぞれのタスクで使用が保証される保証領域と、それを超えた部分で、解放される可能性のある拡張領域からなる。
この保証領域を構成するブロック数は、最初にタスクTS1〜TSnから指定されたログ領域サイズのブロック数(指定ブロック数)となり、後述するように、常に最新のログ情報を記憶したブロックから構成される。
また、拡張領域は、指定ブロック数を超えたログ情報を保存するための領域として確保されるものである。拡張領域を構成するブロックは、「過使用ブロック」と呼ばれ、そのブロック数は、可変長ブロック数であり、場合によっては、システムによりタスク用領域から解放(登録解除)され、タスクTS1〜TSnから使用できなくなる。
この様子を、図6(a)〜(c)、および、図7(a),(b)に示す。
例えば、ログ記憶領域STのブロック数が8であり(図6(a)参照)、そこへタスクAが保証領域を2ブロック確保すると、同図(b)のように、ブロック1,2がタスクA用に確保される。次いで、タスクCが保証領域を1ブロック確保すると、同図(c)のように、ブロック3がタスクC用に確保される。
この後、タスクCが大量のログ情報を書き込んだので、ブロック4〜8がタスクC用に確保されてしまった状態が、図7(a)に示す状態となる。この状態では、タスクAの保証領域が2ブロックで拡張領域が0ブロックであり、タスクCの保証領域が1ブロックで拡張領域が5ブロックである。
この状態から、タスクBが保証領域を1ブロック確保要求すると、同図(b)に示すように、拡張領域のブロック数が最も多いタスクCのタスク用領域から、最も古いログ情報を記憶しているブロック、この場合は、ブロック3が解放されて、タスクBの保証領域に割り当てられる。
それぞれのブロックのデータ構造の一例を図8(a)に示す。この場合のブロックデータ構造は、基本的には、任意に連結したデータ列を構築することができる双方向リストの構造を備える。
ブロックは、それぞれを識別するためのブロック番号(アドレスで代替可能)、当該ブロックを使用しているタスクをあらわす使用タスクID、当該ブロックの次に連結されるブロックのブロック番号をあらわす次ブロック番号、当該ブロックが保証領域であるかどうかをあらわす保証ブロックフラグ、および、ログ情報を格納するためのログ書込領域からなる。
また、ログ書込制御部LCが各タスク用領域を管理するために作成するログ制御部データ構造の一例を同図(b)に示す。
このログ制御部データ構造は、当該ログ制御部データ構造が対応するタスクを識別するためのタスクID、使用されているブロック数をあらわす使用ブロック数、保証領域のブロック数をあらわす保証ブロック数、タスク用領域の先頭ブロックをあらわすスタートブロック番号、保証領域の先頭ブロックをあらわす保証スタートブロック番号、および、タスク用領域の最終ブロックをあらわす最新ブロック番号からなる。
図示したタスクIDが「1」、「2」のタスク用領域についてのログ制御部データ構造体(すなわち、ログ記憶領域)の一例を図9に示し、それをリスト表記した図を図10に示す。
図11は、タスクTS1〜TSnからログ領域サイズが指定された場合に、ログ書込制御部LCおよびログ領域管理制御部LLが行う処理の一例を示している。
まず、ログ領域サイズが指定されたタスクTS1〜TSnについて、図8(b)に示した当該タスク用のデータ構造を作成する(処理101;図12(a)参照)。次いで、確保ブロック数を指定して、ログ領域確保要求KK1を、ログ領域管理制御部LLへ発行する(処理102)。
これにより、ログ領域管理制御部LLは、指定されたブロック数のブロックを、ログ記憶領域STから確保する。この状態を図12(b)に示す。この場合は、指定されたブロック数が「3」の場合である。
ここで、ログ領域管理制御部LLから指定したブロック数のブロックが確保されたことが通知され、ブロックの確保が成功すると(判断103の結果がYES)、タスク用データ構造に確保したブロックを割り当て、タスク用データ構造を初期化する(処理104)。
これにより、タスク用データ構造の保証領域の設定を行って、ブロックの初期化を行う(処理105)。その結果、図12(c)に示すようなログ記憶領域が構築される。
図13は、必要なブロック数のブロックを確保する場合にログ書込制御部LCおよびログ領域管理制御部LLが行う処理の一例を示している。
まず、ログ記憶領域STに、未使用のブロックがあるかどうかを調べ(判断201)、判断201の結果がYESになるときには、未使用ブロックの1つを確保し(処理202)、当該確保したブロックをリストに追加する(処理203)。
ここで、必要なブロック数のブロックを確保したかどうかを調べ(判断204)、判断204の結果がNOになるときには、判断201に戻って、次のブロックの確保を行う。また、判断204の結果がYESになるときには、確保したブロックを連結する(処理205)。
また、未使用ブロックがない場合で、判断201の結果がNOになるときには、他のタスクから拡張ブロックを1つ確保する処理(処理206)を行う。この処理206で、ブロックを確保できたかどうかを調べ(判断207)、判断207の結果がYESになるときには、処理203へ進み、そのときに確保したブロックをリストに追加する。
また、処理206でブロックを確保できなかった場合で、判断207の結果がNOになるときには、このときの動作を終了する。
すなわち、、判断201〜判断204,処理206,判断207の処理ループを繰り返す度に、図14(a)〜(c)に示すように1つずつブロックが確保され、処理205により、確保されたブロックが連結されて、同図(d)に示すようなデータ構造が構築される。
図15は、処理206で行う他のタスクから拡張ブロックを1つ確保する処理の一例を示している。
まず、内部処理用のデータを初期化する(処理301)。すなわち、「対象タスク」として「NULL(なし)」をセットし、「過使用ブロック数」に「0」を代入する。
次いで、全タスク用データ構造についての処理を終了したかどうかを調べ(判断302)、判断302の結果がNOになるときには、1つのタスク用データ構造を選択し、そのデータ構造のスタートブロックの「保証ブロックフラグ」が「○(セット;保証領域を構成する旨をあらわす)」されているかどうかを調べる(判断303)。
判断303の結果がNOになるときには、そのスタートブロックは保証領域ではないので、拡張領域が含まれている。そこで、「使用ブロック数」から「保証ブロック数」を減じた値、すなわち、当該タスク用データ構造における拡張領域のブロック数が、「過使用ブロック数」よりも大きいかどうかを調べる(判断304)。
判断304の結果がYESになるときには、そのタスクを、拡張ブロックを確保する対象のタスクとして設定する(処理305)。すなわち、「対象ブロック数」に当該タスクのタスクIDをセットするとともに、「過使用ブロック数」に「使用ブロック数」から「保証ブロック数」を減じた値をセットする。
そして、判断302へ戻り、次のタスク用データ構造についての処理を行う。
また、全てのタスク用データ構造についての処理が終了し、判断302の結果がYESになるときには、「対象タスク」の値が「NULL」になっているかどうかを調べる(判断306)。判断306の結果がYESになるときには、拡張ブロックを確保する対象のタスクが見つからなかったので、その時点で終了(エラー終了)する。
また、判断306の結果がNOになるときには、「対象タスク」のタスクについて、タスク用データ構造を更新する(処理307)。すなわち、「スタートブロック番号」を、その時点での「スタートブロック番号」のブロックの次に連結されているブロックのブロック番号に更新し、使用ブロック数の値を1つ減じる。
この図15の処理では、その時点で拡張領域のブロック数が最も多いタスク用データ構造が選択され、そのタスク用データ構造から最も古いログ情報を記憶しているブロック、すなわち、先頭ブロックが、リストからはずされて、当該タスク用データ構造が更新される。
例えば、図16(a)〜(d)のように、4つのタスクTS1,TS2,TS3,TS4のデータ構造があった場合には、拡張領域のブロック数が2つのタスクTS1,TS4のうち、最初に見つかるタスクTS1が、対象タスクとなる。
なお、この場合には、拡張領域のブロック数が最も多くて、最初に見つかったタスクのデータ構造が対象として選択されているが、この選択条件は、これに限ることはない。例えば、拡張領域のブロック数が最も多くて、かつ、保証領域のブロック数がより小さいものを選択するようにすることができる。この条件では、図16(a)〜(d)の場合には、拡張領域のブロック数が「2」で、かつ、保証領域のブロック数が「1」のタスクTS4が対象タスクとなる。
また、先頭ブロックを解放するように更新した場合のタスク用データ構造の更新例を図17(a),(b)に示す。
図18は、ログ情報を書き込むときのログ書込制御部LCおよびログ領域管理制御部LLの処理の一例を示している。
まず、ログ情報を書き込むタスク用データ構造の最新ブロック番号のブロックへログ情報を書き込む(処理401)。この書込の結果、ブロックが一杯になったかどうかを調べる(判断402)。ブロックが一杯にならず、判断402の結果がNOになるときには、このときの処理を終了する。
また、ブロックが一杯になって判断402の結果がYESになるとき、保証領域に次のブロックがあるかどうかを調べる(判断403)。すなわち、最新ブロック番号のブロックの次ブロック番号のブロックを調べて、保証ブロックフラグがセットされているかどうかを調べる。
判断403の結果がYESになるときには、最新ブロック番号を1つ大きくする(処理404)。このように、保証領域内でブロックを更新する場合の一例を図7(a),(b)に示す。
また、保証領域内に空きブロックがない場合で、判断403の結果がNOになるときには、拡張領域のブロックを1つ確保する(処理405)。この処理405では、まず、ログ記憶領域STに空きブロックがあるかどうかを調べ、見つかった場合には、ログ記憶領域STの空きブロックを確保する。また、ログ記憶領域STの空きブロックが見つからなかった場合には、図15に示した他のタスクから拡張ブロックを1つ確保する処理を実行する。
処理405により、ブロックが確保できたどうかを調べる(判断406)。判断406の結果がYESになるときには、確保したブロックをブロックリストに追加する(処理407)。すなわち、最新ブロック番号のブロックについては、そのブロックデータ構造の次ブロック番号に、新たに確保したブロックのブロック番号をセットする。また、新たに確保したブロックについては、そのブロックデータ構造の使用タスクIDに当該タスクのタスクIDの値をセットし、次ブロック番号には最新ブロックであることをあらわす「0」をセットし、保証ブロックフラグは「×(リセット;「保証領域でない」、すなわち、「拡張領域」をあらわす)」をセットする。
そして、タスク用データ構造を更新する(処理408)。すなわち、使用ブロック数の値を1つ増やす。
次に、使用ブロック数が保証ブロック数に1を加えた値よりも大きくなっているかどうかを調べる(判断409)。判断409の結果がYESになるときには、保証領域の位置を1つずらすようにタスク用データ構造を更新する(処理410)。すなわち、まず、保証スタートブロック番号のブロックのブロックデータ構造の保証ブロックフラグを「×(リセット)」にセットする。そして、保証スタートブロック番号として、そのときの保証スタートブロック番号のブロックのブロックデータ構造における次ブロック番号の値をセットする。また、更新後の保証スタートブロック番号のブロックと、それに連結する順次「保証ブロック数−1」個のブロックについて、保証ブロックフラグの値を「○(セット)」にセットして、保証領域を1ブロック移動した態様に更新する。
そして、処理404へ進み、最新ブロック番号を1つ進める。
一方、処理405で新しいブロックを確保できなかった場合には、その時点で確保しているタスク用領域のうち、最も古いログ情報を記憶しているスタートブロックを、新たな書込領域として設定するために、ログの書込位置をブロックリストの最初のブロックへ戻す(処理411)。
次いで、判断409へ進み、それ以降の処理を実行する。これにより、この場合のブロックデータ構造は、図20(a)〜(c)に示すように更新される。すなわち、同図(a)のように、ブロック1,2,3,4の順番であったリストを、ブロック2,3,4,1の順番に組み替えて、さらに、保証領域をブロック3,4からブロック4,1に変更する。
以上のように、本実施例では、保証領域内のブロックへの書込が終了すると、拡張領域のブロック(過使用ブロック)を順次確保して、ログ情報を書き込むようにしている。したがって、例えば、動作解析時や動作テスト時など、大量のログ情報が発生する場合には、大容量の外部記憶媒体14を装着することで、この外部記憶媒体14に対して確実にログ情報を収集することができて、非常に便利である。
また、このようにしてログ情報を大量に記憶した外部記憶媒体14を、別のログ解析用の装置へセットすると、そのログ解析用装置でネットワーク対応複合機の動作解析を行うことができるので、ネットワーク対応複合機でログ解析を行う場合に比べて、作業性が大幅に向上する。
なお、上述した実施例では、ネットワーク対応複合機に本発明を適用した場合について説明したが、本発明は、マルチタスク・オペレーティングシステムにより制御される情報機器であれば、いかなる用途のものについても、同様にして適用することができる。
本発明の一実施例にかかる情報機器としてのネットワーク対応複合機の構成の一例を示したブロック図。 図1に示したネットワーク対応複合機について、ログ情報を記憶するためのソフトウェア構成の一例を示したブロック図。 外部記憶媒体14が装着されていない場合で、ログ記憶領域STに標準記憶領域STaのみが設けられている場合の動作の一例を説明するためのシーケンス図。 外部記憶媒体14が装着されている場合で、ログ記憶領域STに代替記憶領域STbが設けられている場合の動作の一例を説明するためのシーケンス図。 ログ記憶領域の構成について説明するための概略図。 ログ記憶領域の内容の変化について説明するための概略図(図7へ続く)。 ログ記憶領域の内容の変化について説明するための概略図(図6からの続き)。 ブロックデータ構造およびログ制御部データ構造の一例を示した概略図。 ログ記憶領域の一例(データ構造表記)を示した概略図。 ログ記憶領域の一例(リスト表記)を示した概略図。 タスクTS1〜TSnからログ領域サイズが指定された場合に、ログ書込制御部LCおよびログ領域管理制御部LLが行う処理の一例を示したフローチャート。 図11の処理により形成されるデータ構造の一例を示した概略図。 必要なブロック数のブロックを確保する場合にログ書込制御部LCおよびログ領域管理制御部LLが行う処理の一例を示したフローチャート。 ブロックの確保時の動作を例示した概略図。 他のタスクから拡張ブロックを1つ確保する処理の一例を示したフローチャート。 他のタスクから拡張ブロックを1つ確保する際の動作を説明するための概略図。 ブロックを1つ解放する際の動作を説明するための概略図。 ログ情報を書き込むときのログ書込制御部LCおよびログ領域管理制御部LLの処理の一例を示したフローチャート。 保証領域内で書込ブロックを更新する際の動作を説明するための概略図。 拡張領域のためのブロックをあらたに確保できなかった場合の動作を説明するための概略図。
符号の説明
TS1〜TSn タスク
LC ログ書込制御部
LL ログ領域管理制御部
ST ログ記憶領域
STa 標準記憶領域
STb 代替記憶領域

Claims (2)

  1. 機器を制御しているソフトウェアの各タスクが作成したログ情報を保存するログ情報管理方法において、
    前記機器は、第1のログ記憶領域を構成する第1の記憶手段と、
    必要に応じて設けられる第2のログ記憶領域を構成する第2の記憶手段を備え、
    初期化時に前記第2の記憶手段を検出すると、それ以降は、前記第2のログ記憶領域に前記ログ情報を保存するようにし
    前記ログ情報を記憶するログ記憶領域は、所定データ長のブロック単位に記憶管理され、
    おのおののタスクに割り当てられるタスク別ログ領域は、前記タスクより指示される指定ブロック数からなる保証領域と、前記保証領域を超えたログ情報を記憶するための拡張領域からなり、
    前記保証領域は、最新のログ情報を記憶しているブロックであって、前記指定ブロック数の数に相当するブロック領域に逐次更新されるものであり、
    前記拡張領域に割り当てるブロックは、前記第2のログ記憶領域に空きブロックがある場合は、当該空きブロックを割り当て、前記第2のログ記憶領域に空きブロックがない場合には、前記拡張領域のブロック数が最も多いいずれかのタスク別ログ領域を選択し、当該選択されたタスク別ログ領域から、最も古いログを記憶しているブロックを当該タスク別ログ領域から登録解除し、当該登録解除したブロックを割り当てるようにしたことを特徴とするログ情報管理方法。
  2. 制御ソフトウェアの各タスクが作成したログ情報を保存するログ情報管理手段を備えた情報機器であって、
    第1のログ記憶領域を構成する第1の記憶手段と、
    必要に応じて設けられる第2のログ記憶領域を構成する第2の記憶手段を備え、
    前記ログ情報管理手段は、初期化時に前記第2の記憶手段を検出すると、それ以降は、前記第2のログ記憶領域に前記ログ情報を保存するようにし
    前記ログ情報を記憶するログ記憶領域は、所定データ長のブロック単位に記憶管理され、
    おのおののタスクに割り当てられるタスク別ログ領域は、前記タスクより指示される指定ブロック数からなる保証領域と、前記保証領域を超えたログ情報を記憶するための拡張領域からなり、
    前記保証領域は、最新のログ情報を記憶しているブロックであって、前記指定ブロック数の数に相当するブロック領域に逐次更新されるものであり、
    前記拡張領域に割り当てるブロックは、前記第2のログ記憶領域に空きブロックがある場合は、当該空きブロックを割り当て、前記第2のログ記憶領域に空きブロックがない場合には、前記拡張領域のブロック数が最も多いいずれかのタスク別ログ領域を選択し、当該選択されたタスク別ログ領域から、最も古いログを記憶しているブロックを当該タスク別ログ領域から登録解除し、当該登録解除したブロックを割り当てるようにしたことを特徴とする情報機器。
JP2007008050A 2007-01-17 2007-01-17 ログ情報管理方法および情報機器 Expired - Fee Related JP4881168B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007008050A JP4881168B2 (ja) 2007-01-17 2007-01-17 ログ情報管理方法および情報機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007008050A JP4881168B2 (ja) 2007-01-17 2007-01-17 ログ情報管理方法および情報機器

Publications (2)

Publication Number Publication Date
JP2008176465A JP2008176465A (ja) 2008-07-31
JP4881168B2 true JP4881168B2 (ja) 2012-02-22

Family

ID=39703451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007008050A Expired - Fee Related JP4881168B2 (ja) 2007-01-17 2007-01-17 ログ情報管理方法および情報機器

Country Status (1)

Country Link
JP (1) JP4881168B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168852A (ja) * 2011-02-16 2012-09-06 Fujitsu Ltd ログ保存装置およびログ保存プログラム
JP6252269B2 (ja) * 2014-03-14 2017-12-27 オムロン株式会社 制御装置、制御システム、データトレース方法、及びプログラム
JP7260995B2 (ja) * 2018-11-08 2023-04-19 日立Astemo株式会社 電子制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02156348A (ja) * 1988-12-08 1990-06-15 Fujitsu Ltd 複数のハッシュ表のあふれ領域管理方法
JPH0471045A (ja) * 1990-07-11 1992-03-05 Hokuriku Nippon Denki Software Kk メモリ管理方式
JP2776767B2 (ja) * 1995-08-22 1998-07-16 日本電気ソフトウェア株式会社 入出力ログ採取方法
JPH1011330A (ja) * 1996-06-26 1998-01-16 Ricoh Co Ltd ログ記録方法およびログ記録装置
JP2003316609A (ja) * 2002-04-24 2003-11-07 Konica Minolta Holdings Inc 電子機器、画像形成装置およびその動作監視方法
JP2006172401A (ja) * 2004-12-20 2006-06-29 Olympus Corp 情報収集装置

Also Published As

Publication number Publication date
JP2008176465A (ja) 2008-07-31

Similar Documents

Publication Publication Date Title
US7602392B2 (en) Image processing device, method, and storage medium which stores a program
US20060274971A1 (en) Image processing device, method, and storage medium which stores a program
US7595803B2 (en) Image processing device, method, and storage medium which stores a program
JPWO2006011343A1 (ja) 競合解決装置
US20060274965A1 (en) Image processing device, method, and storage medium which stores a program
US7598957B2 (en) Image processing device, method, and storage medium which stores a program
US7602393B2 (en) Image processing device, method, and storage medium which stores a program
JP5729903B2 (ja) 情報処理装置、その方法およびプログラム
JP4881168B2 (ja) ログ情報管理方法および情報機器
JP2005352839A (ja) データ通信装置
JP5751121B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP5040121B2 (ja) 情報処理装置、キャッシュ制御方法及びプログラム
JP4894567B2 (ja) トレース情報出力装置、および、トレース情報出力方法
JP6319473B1 (ja) 情報処理装置
US20140310458A1 (en) Data transferring method and apparatus and storage system
JP2008262287A (ja) 通信制御装置および通信ログ保存方法
KR101085393B1 (ko) 복수의 프로세스를 멀티태스킹하기 위한 명령 실행 방법 및장치
EP1783612A1 (en) Storage subsystem and storage system
KR100636283B1 (ko) 외부저장매체를 이용한 메시지 처리 시스템 및 그 방법
US20110110383A1 (en) Network interface controller capable of sharing buffers and buffer sharing method
JP2007241922A (ja) 共有資源利用のための調停方法及びその調停装置
JP5251197B2 (ja) メッセージ処理方法、メッセージ処理装置、及びプログラム
JP2010026626A (ja) データを記録する方法、システム及びプログラム
TW573254B (en) Message transmission queue and operation method thereof
WO2014166276A1 (en) Data transferring method and apparatus and storage system

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090131

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111202

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4881168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees