IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7396067情報処理装置、ログ管理方法、及びプログラム
<>
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図1
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図2
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図3
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図4
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図5
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図6
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図7
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図8
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図9
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図10
  • 特許-情報処理装置、ログ管理方法、及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】情報処理装置、ログ管理方法、及びプログラム
(51)【国際特許分類】
   G06F 11/34 20060101AFI20231205BHJP
   G06F 11/30 20060101ALI20231205BHJP
   B41J 29/38 20060101ALI20231205BHJP
   H04N 1/00 20060101ALI20231205BHJP
【FI】
G06F11/34 176
G06F11/30 140D
B41J29/38 801
H04N1/00 C
【請求項の数】 10
(21)【出願番号】P 2020006633
(22)【出願日】2020-01-20
(65)【公開番号】P2021114144
(43)【公開日】2021-08-05
【審査請求日】2022-11-17
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】加藤 寛之
【審査官】山本 俊介
(56)【参考文献】
【文献】特開平3-3046(JP,A)
【文献】特開2001-249823(JP,A)
【文献】特開2005-292932(JP,A)
【文献】特開2019-160155(JP,A)
【文献】特開2016-151966(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
G06F 11/30
B41J 29/38
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
所定のプログラムが出力するログ情報を記憶する第1の記憶部と、
所定の条件に従って、前記第1の記憶部に記憶された第1のログ情報を前記第1の記憶部とは異なる第2の記憶部に移動する第1のログ情報管理部と、
前記第1の記憶部にログ情報を記憶できないとき、ログ情報を出力したプログラムの情報と、当該プログラムが出力したログ情報の量に関する情報を含む第2のログ情報を、前記第2の記憶部に記憶する第2のログ情報管理部と、
を有する、情報処理装置。
【請求項2】
前記第2のログ情報は、前記ログ情報を出力したプログラムの各々が出力したログ情報の量に関する情報を含む、請求項1に記載の情報処理装置。
【請求項3】
前記第2のログ情報は、前記ログ情報を出力したプログラムの各々が出力したログ情報のうち、前記第1の記憶部に記憶したログ情報の量に関する情報を含む、請求項1に記載の情報処理装置。
【請求項4】
前記第1のログ情報管理部は、前記第1の記憶部に記憶された前記第1のログ情報が所定のサイズに達したときに、前記第1のログ情報を、前記第2の記憶部に移動する、請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
前記第1の記憶部は、
第1の記憶領域と、前記第1の記憶領域とは異なる第2の記憶領域とを含み、
前記第1の記憶領域にログ情報を追記できないときに、前記第2の記憶領域にログ情報を記憶し、
前記第1のログ情報管理部は、前記第1の記憶領域にログ情報を追記できないときに、前記第1の記憶領域に記憶された前記第1のログ情報を、前記第2の記憶部に移動する、請求項1乃至4のいずれか一項に記載の情報処理装置。
【請求項6】
前記第1の記憶部は、前記第2の記憶領域にログ情報を追記できないときに、前記第1の記憶領域にログ情報を記憶し、
前記第2のログ情報管理部は、前記第1の記憶領域、及び前記第2の記憶領域にログ情報を追記できないときに、前記第2のログ情報を前記第2の記憶部に記憶する、請求項5に記載の情報処理装置。
【請求項7】
前記第1の記憶部は揮発性の記憶部であり、前記第2の記憶部は不揮発性の記憶部である、請求項1乃至6のいずれか一項に記載の情報処理装置。
【請求項8】
前記情報処理装置は、画像形成装置である、請求項1乃至7のいずれか一項に記載の情報処理装置。
【請求項9】
情報処理装置が、
所定のプログラムが出力するログ情報を第1の記憶部に記憶する処理と、
所定の条件に従って、前記第1の記憶部に記憶された第1のログ情報を前記第1の記憶部とは異なる第2の記憶部に移動する処理と、
前記第1の記憶部にログ情報を記憶できないとき、ログ情報を出力したプログラムの情報と、当該プログラムが出力したログ情報の量に関する情報を含む第2のログ情報を、前記第2の記憶部に記憶する処理と、
を実行する、ログ管理方法。
【請求項10】
情報処理装置に、
所定のプログラムが出力するログ情報を第1の記憶部に記憶する処理と、
所定の条件に従って、前記第1の記憶部に記憶された第1のログ情報を前記第1の記憶部とは異なる第2の記憶部に移動する処理と、
前記第1の記憶部にログ情報を記憶できないとき、ログ情報を出力したプログラムの情報と、当該プログラムが出力したログ情報の量に関する情報を含む第2のログ情報を、前記第2の記憶部に記憶する処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、ログ管理方法、及びプログラムに関する。
【背景技術】
【0002】
画像形成装置、通信装置等の様々な情報処理装置において、例えば、障害が発生したときに障害の原因を解析できるように、OS(Operating System)やアプリケーション等のログ情報を取得することが行なわれている。
【0003】
例えば、第1の種別のログ及び第2の種別のログを、それぞれ、不揮発性の記憶部に記憶するか、揮発性の記憶部に記憶するかを、ソフトウェアの負荷状態に基づいて判定する情報処理装置が知られている(特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示された技術では、例えば、揮発性の記憶部に記憶するログ情報が増大した場合には、ログ情報が揮発性の記憶部に収まらない場合がある。そのため、揮発性の記憶部に所定の量のログ情報が記憶されたときには、揮発性の記憶部に記憶したログ情報を、不揮発性の記憶部に移動することが望ましい。
【0005】
しかし、この場合、例えば、一部のプログラムが頻繁にログ情報を揮発性メモリに出力すると、ログ情報を不揮発性のメモリへ移動させているときに、揮発性のメモリが一杯となってしまい、ログ情報を格納しきれない場合がある。このような場合、ログ情報が欠損してしまい、どのプログラムが頻繁にログ情報を出力しているのかを特定することには困難を伴っていた。
【0006】
なお、このような課題は、ログ情報を記憶する記憶部が揮発性のメモリである場合に限られず、例えば、ログ情報を記憶する記憶部が、比較的小容量の不揮発性の記憶部である場合等にも共通に存在する。
【0007】
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、第1の記憶部に記憶したログ情報を、所定の条件に従って第2の記憶部に移動させる情報処理装置において、頻繁にログ情報を出力しているプログラムを特定することを容易にする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の一実施形態に係る情報処理装置は、所定のプログラムが出力するログ情報を記憶する第1の記憶部と、所定の条件に従って、前記第1の記憶部に記憶された第1のログ情報を前記第1の記憶部とは異なる第2の記憶部に移動する第1のログ情報管理部と、前記第1の記憶部にログ情報を記憶できないとき、ログ情報を出力したプログラムの情報と、当該プログラムが出力したログ情報の量に関する情報を含む第2のログ情報を、前記第2の記憶部に記憶する第2のログ情報管理部と、を有する。
【発明の効果】
【0009】
本発明の一実施形態によれば、第1の記憶部に記憶したログ情報を、所定の条件に従って第2の記憶部に移動させる情報処理装置において、頻繁にログ情報を出力しているプログラムを特定することが容易になる。
【図面の簡単な説明】
【0010】
図1】一実施形態に係るログ情報管理システムの構成例を示す図である。
図2】一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。
図3】第1の実施形態に係る画像形成装置の機能構成の例を示す図である。
図4】第1の実施形態に係るログ情報記憶部について説明するための図である。
図5】第1の実施形態に係る第1の記憶部について説明するための図である。
図6】第1の実施形態に係るログ情報の収集処理の例を示すシーケンス図である。
図7】第1の実施形態に係るログ情報の記憶処理の例を示すフローチャートである。
図8】第1の実施形態に係る第1の記憶部への記憶処理の例を示すフローチャートである。
図9】第1の実施形態に係る第2の記憶部への記憶処理の例を示すフローチャートである。
図10】第2の実施形態に係る第1の記憶部への記憶処理の例を示すフローチャートである。
図11】第3の実施形態に係る画像形成装置の機能構成の例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<システム構成>
図1は、一実施形態に係るログ情報管理システムの構成例を示す図である。ログ情報管理システム100は、一例として、OS(Operating System)111、1つ以上のアプリケーションプログラム(以下、アプリケーションと呼ぶ)112a、112b、・・・、及びログ情報管理プログラム113等を実行する情報処理装置110を含む。なお、以下の説明において、1つ以上のアプリケーション112a、112b、・・・のうち、任意を示す場合、「アプリケーション112」を用いる。
【0012】
情報処理装置110は、例えば、コンピュータの構成を有する画像形成装置等の電子機器である。ただし、情報処理装置110は、コンピュータの構成を備えた装置であれば、画像形成装置に限られない。例えば、情報処理装置110は、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置であっても良い。また、情報処理装置110は、例えば、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)、デジタルカメラ等であっても良い。さらに、情報処理装置110は、例えば、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、ウェアラブルPC、又はデスクトップPC等の情報端末であっても良い。
【0013】
ここでは、一例として、情報処理装置110が、例えば、スキャン機能、コピー機能、印刷機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral)等の画像形成装置であるものとして、以下の説明を行なう。
【0014】
OS111は、情報処理装置110の入出力機能、ファイル管理、メモリ管理、ネットワーク機能等の基本的な機能を実現する基本ソフトウェアである。
【0015】
アプリケーション112は、OS111上で動作するプログラムであり、一例として、画像形成装置が提供するスキャン機能を実現するスキャンアプリ、印刷機能を実現する印刷アプリ、コピー機能の実現するコピーアプリ等が含まれ得る。
【0016】
ログ情報管理プログラム113は、アプリケーション112と同様に、OS111上で動作し、例えば、OS111、アプリケーション112等の1つ以上のプログラムが出力するログ情報を収集して、管理するプログラムである。
【0017】
例えば、情報処理装置110は、ログ情報管理プログラム113を実行することにより、OS111、アプリケーション112等が出力するログ情報を収集して、収集したログ情報を、RAM(Random Access Memory)等の揮発性の記憶部に記憶する。なお、揮発性の記憶部は、OS111、アプリケーション112等の1つ以上のプログラムが出力するログ情報を記憶する第1の記憶部の一例である。
【0018】
ただし、これだけでは、例えば、揮発性の記憶部に記憶するログ情報が増大したときに、ログ情報が揮発性の記憶部に収まらずに、ログ情報が失われてしまう恐れがある。そこで、情報処理装置110は、所定の条件に従って、揮発性の記憶部に記憶したログ情報を、ストレージデバイス等の不揮発性の記憶部に移動する機能を有している。なお、不揮発性の記憶部は、第1の記憶部とは異なる第2の記憶部の一例である。
【0019】
しかし、この方法では、例えば、一部のプログラムが頻繁にログ情報を出力すると、ログ情報を不揮発性の記憶部へ移動させているときに、揮発性の記憶部が一杯となってしまい、ログ情報を格納しきれない場合がある。このような場合、ログ情報が欠損してしまい、どのプログラムが頻繁にログ情報を出力しているのかを特定することができない場合がある。
【0020】
そこで、情報処理装置110は、揮発性の記憶部にログ情報を記憶できないときに、ログ情報を出力したプログラムの情報、当該プログラムによるログ情報の量に関する情報等を、不揮発性の記憶部に記憶する機能を有している。
【0021】
これにより、例えば、情報処理装置110を管理する管理者等は、不具合が発生し、ログ情報が欠損してしまった場合でも、不揮発性の記憶部に記憶した情報を参照して、頻繁にログ情報を出力しているプログラムを特定することができるようになる。
【0022】
なお、図1に示すログ情報管理システム100のシステム構成は一例である。例えば、ログ情報を出力する1つ以上のプログラムは、OS111、アプリケーション112とは異なるプログラム(例えば、デバイスドライバ、サービス等)を含んでいても良い。
【0023】
また、1つ以上のプログラムが出力するログ情報を記憶する揮発性の記憶装置(第1の記憶装置)は、例えば、比較的小容量の不揮発性の記憶部等であっても良い。
【0024】
以上、本実施形態によれば、第1の記憶部に記憶したログ情報を、所定の条件に従って第2の記憶部に移動させる情報処理装置110において、頻繁にログ情報を出力しているプログラムを特定することが容易になる。
【0025】
<ハードウェア構成>
図2は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。画像形成装置200は、本実施形態に係る情報処理装置110の一例である。
【0026】
画像形成装置200は、例えば、図2に示されるように、コントローラ210、近距離通信回路220、エンジン制御部230、操作パネル240、ネットワークI/F(Interface)250、外部接続I/F260等を備えている。
【0027】
これらのうち、コントローラ210は、コンピュータの主要部であるCPU201、システムメモリ(MEM-P)202、ノースブリッジ(NB)203、サウスブリッジ(SB)204、ASIC(Application Specific Integrated Circuit)205、ローカルメモリ(MEM-C)206、HDD(Hard Disk Drive)コントローラ207、及び、HD(Hard Disk)208等を有し、NB203とASIC205との間をAGP(Accelerated Graphics Port)バス211で接続した構成となっている。
【0028】
これらのうち、CPU201は、画像形成装置200の全体制御を行なう制御部である。NB203は、CPU201と、MEM-P202、SB204、及びAGPバス211とを接続するためのブリッジであり、MEM-P202に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
【0029】
MEM-P202は、コントローラ210の各機能を実現させるプログラムやデータの格納用メモリであるROM202a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM202bとからなる。なお、RAM202bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【0030】
SB204は、NB203とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC205は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス211、PCIバス212、HDDコントローラ207、及びMEM-C206をそれぞれ接続するブリッジの役割を有する。このASIC205は、PCIターゲット及びAGPマスタ、ASIC205の中核をなすアービタ(ARB)、MEM-C206を制御するメモリコントローラ、ハードウェアロジック等により画像データの回転などを行なう複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部231及びプリンタ部232との間でPCIバス212を介したデータ転送を行なうPCIユニットとからなる。
【0031】
MEM-C206は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD208は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行なうためのストレージデバイスである。HDDコントローラ207は、CPU201の制御に従ってHD208に対するデータの読出又は書込を制御する。AGPバス211は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P202に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【0032】
近距離通信回路220は、近距離通信回路用のアンテナ320a等を用いて、近距離無線通信を行なう。エンジン制御部230は、例えば、スキャナ部231及びプリンタ部232等によって構成されている。スキャナ部231は、原稿等を読み取る読取装置である。プリンタ部232は、印刷データを印刷媒体に印刷する印刷装置である。スキャナ部231又はプリンタ部232には、例えば、誤差拡散やガンマ変換等の画像処理部分が含まれている。
【0033】
操作パネル240は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部240a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作ボタン240bを備えている。コントローラ210は、画像形成装置200全体の制御を行い、例えば、描画、通信、操作パネル240からの入力等を制御する。
【0034】
なお、画像形成装置200は、操作パネル240のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【0035】
また、ネットワークI/F250は、通信ネットワーク101を利用してデータ通信を行なうためのインターフェースである。外部接続I/F260は、例えば、メモリカード、USB(Universal Serial Bus)メモリ等の外部記憶装置261を、画像形成装置200に接続するためのインターフェースである。近距離通信回路220、ネットワークI/F250、及び外部接続I/F260は、例えば、PCIバス212を介して、ASIC205に電気的に接続されている。
【0036】
[第1の実施形態]
<機能構成>
図3は、第1の実施形態に係る画像形成装置の機能構成の例を示す図である。画像形成装置200は、例えば、図2のCPU201で、ログ情報管理プログラム113を実行することにより、ログ情報収集部310、第1の記憶部320、第1のログ情報管理部330、第2のログ情報管理部340、第2の記憶部350、及びログ情報提供部360等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードェアによって実現されるものであっても良い。
【0037】
ログ情報収集部310は、例えば、図2のCPU201で実行されるプログラム(ログ情報管理プログラム113)、及びRAM202b等によって実現される。ログ情報収集部310は、例えば、OS111、アプリケーション112等の1つ以上のプログラムが出力するログ情報を収集し、収集したログ情報を第1の記憶部320に記憶する。
【0038】
なお、ログ情報は、例えば、プログラムで発生した様々なイベントの情報(例えば、イベント名、発生日時、実行結果、警告やエラーの情報等)を含む情報であり、例えば、不具合が発生したときに、不具合の原因を解析するため等に用いることができる。
【0039】
ログ情報収集部310は、例えば、図2のRAM202b等によって実現されるログ情報記憶部311-1、311-2、311-3、・・・を利用して、OS111、アプリケーション112等の1つ以上のプログラムが出力するログ情報を収集する。なお、以下の説明において、ログ情報記憶部311-1、311-2、311-3、・・・のうち、任意のログ情報記憶部を示す場合、「ログ情報記憶部311」を用いる。
【0040】
図4は、第1の実施形態に係るログ情報記憶部について説明するための図である。ログ情報記憶部311は、例えば、RAM202b等のメモリ領域における共有メモリによって実現され、管理情報401、及び記憶エリア402を有する。
【0041】
管理情報401は、ログ情報記憶部311を管理するための情報であり、例えば、ログ情報記憶部311に対応するプログラムを識別するプログラムIDや、ログ情報を書き込む書込位置等の情報を記憶している。記憶エリア402は、ログ情報を記憶する記憶領域である。
【0042】
記憶エリア402のサイズは有限であり、例えば、情報処理装置110が起動したとき等に、OS111、アプリケーション112等が指定したサイズの記憶エリア402が確保される。
【0043】
例えば、ログ情報収集部310は、OS111から出力されるログ情報をログ情報記憶部311-1に記憶する。また、ログ情報収集部310は、ログ情報記憶部311-1に記憶したログ情報のサイズが、所定のサイズに達したとき、ログ情報記憶部311-1に記憶したログ情報を、第1の記憶部320に記憶する。なお、ログ情報収集部310は、記憶エリア402の最後までログ情報を記憶すると、記憶エリア402の先頭からログ情報を上書きすることにより、記憶エリア402を繰返し利用することができる。
【0044】
同様に、ログ情報収集部310は、アプリケーション112aが出力するログ情報をログ情報記憶部311-2に記憶する。また、ログ情報収集部310は、ログ情報記憶部311-2に記憶したログ情報のサイズが、所定のサイズに達したとき、ログ情報記憶部311-2に記憶したログ情報を、第1の記憶部320に記憶する。
【0045】
さらに、ログ情報収集部310は、アプリケーション112bが出力するログ情報をログ情報記憶部311-3に記憶する。また、ログ情報収集部310は、ログ情報記憶部311-3に記憶したログ情報のサイズが、所定のサイズに達したとき、ログ情報記憶部311-3に記憶したログ情報を、第1の記憶部320に記憶する。
【0046】
第1の記憶部320は、例えば、図2のCPU201で実行されるプログラム、及びRAM202b等によって実現され、OS111、アプリケーション112等の1つ以上のプログラムが出力するログ情報を記憶する。
【0047】
図5は、第1の実施形態に係る第1の記憶部について説明するための図である。図5(A)は、第1の記憶部320の構成例を示している。第1の記憶部320は、例えば、管理情報505、第1の記憶領域501、及び第2の記憶領域502を有する。また、第1の記憶領域501は、第1の記憶領域501に対応する更新フラグ503a、及び書込情報504aを有している。同様に、第2の記憶領域502は、第2の記憶領域502に対応する更新フラグ503b、及び書込情報504bを有している。
【0048】
なお、以下の説明において、更新フラグ503a、503bのうち、任意の更新フラグを示す場合、「更新フラグ503」を用いる。また、書込情報504a、504bのうち、任意の書込情報を示す場合、「書込情報504」を用いる。
【0049】
管理情報505は、第1の記憶部320の管理に用いる情報であり、例えば、新たに書き込む情報の先頭位置を示す情報等を含む。
【0050】
第1の記憶領域501、及び第2の記憶領域502は、ログ情報を記憶する領域である。
【0051】
更新フラグ503aは、例えば、ログ情報収集部310により、第1の記憶領域501の先頭から順にログ情報が記憶され、第1の記憶領域501に新たなログ情報を記憶(追記)できなくなったときに、オンに設定される。この更新フラグ503aがオンに設定されているとき、ログ情報収集部310は、第1の記憶領域501に書込を行なうことができない。また、この更新フラグ503aは、後述する第1のログ情報管理部330により、第1の記憶領域501に記憶されたログ情報を、第2の記憶部350に転送する転送処理が完了したときに、オフに設定される。
【0052】
同様に、更新フラグ503bは、例えば、ログ情報収集部310により、第2の記憶領域502の先頭から順にログ情報が記憶され、第2の記憶領域502に新たなログ情報を記憶(追記)できなくなったときに、オンに設定される。この更新フラグ503bがオンに設定されている場合、ログ情報収集部310は、第2の記憶領域502に書込を行なうことができない。また、この更新フラグ503bは、後述する第1のログ情報管理部330により、第2の記憶領域502に記憶されたログ情報を、第2の記憶部350に転送する転送処理が完了したときに、オフに設定される。
【0053】
図5(B)は、書込情報504aの一例のイメージを示している。書込情報504aには、例えば、第1の記憶領域501に記憶するログ情報を出力したプログラムのプログラムIDと、当該プログラムが第1の記憶領域501に記憶したログ情報の合計サイズ等が記憶される。
【0054】
同様に、書込情報504bには、例えば、第2の記憶領域502に記憶するログ情報を出力したプログラムのプログラムIDと、当該プログラムが第2の記憶領域502に記憶したログ情報の合計サイズ等が記憶される。
【0055】
ここで、図3に戻り、情報処理装置110の機能構成の説明を続ける。
【0056】
第1のログ情報管理部330は、例えば、図2のCPU201で実行されるプログラムによって実現される。第1のログ情報管理部330は、第1の記憶部320に記憶されたログ情報(以下、第1のログ情報と呼ぶ)が所定のサイズに達したときに、第1のログ情報を、第2の記憶部350に移動(又はコピー)する。
【0057】
例えば、第1のログ情報管理部330は、第1の記憶領域501に書き込み可能な空き容量がなくなった場合、第1のログ情報が所定のサイズに達したと判断し、第1の記憶領域501に記憶された第1のログ情報を第2の記憶部350に移動しても良い。同様に、第1のログ情報管理部330は、第2の記憶領域502に書き込み可能な空き容量がなくなった場合、第1のログ情報が所定のサイズに達したと判断し、第2の記憶領域502に記憶された第1のログ情報を第2の記憶部350に移動しても良い。
【0058】
第2のログ情報管理部340は、例えば、図2のCPU201で実行されるプログラムによって実現される。第2のログ情報管理部340は、例えば、第1の記憶部320にログ情報を記憶できないときに、当該ログ情報を出力したプログラムの情報と、当該プログラムに対応するログ情報の量に関する情報とを含む第2のログ情報を、第2の記憶部350に記憶する。
【0059】
第2の記憶部350は、例えば、図2のCPU201で実行されるプログラム、及びHD208等のストレージデバイスによって実現される。第2の記憶部350は、例えば、第1のログ情報管理部330によって書き込まれる第1のログ情報、第2のログ情報管理部340によって書き込まれる第2のログ情報等を記憶する。
【0060】
ログ情報提供部360は、例えば、図2のCPU201で実行されるプログラムによって実現され、第2の記憶部350に記憶された第1のログ情報、第2のログ情報等を外部装置に提供する。
【0061】
<処理の流れ>
続いて、第1の実施形態に係るログ管理方法の処理の流れについて説明する。
【0062】
(ログ情報収集処理)
図6は、第1の実施形態に係るログ情報収集処理の例を示すシーケンス図である。この処理は、例えば、情報処理装置110を起動したとき等に、OS111、アプリケーション112等のプログラム600と、ログ情報収集部310との間で実行される処理の一例を示している。
【0063】
ステップS601において、プログラム600は、ログ情報収集部310に、ログ情報記憶部311の作成を要求する。この要求には、例えば、プログラム600を識別するプログラムID、及び作成する記憶エリア402のサイズ等の情報が含まれる。
【0064】
ステップS602において、ログ情報収集部310は、指定された記憶エリア402のサイズに、管理情報401のサイズを足した大きさのログ情報記憶部311(例えば、共有メモリ)を作成する。
【0065】
ステップS603において、ログ情報収集部310は、作成したログ情報記憶部311の管理情報401に、作成要求に含まれるプログラムIDを設定する。
【0066】
ステップS604において、ログ情報収集部310は、ログ情報記憶部311の作成が完了したことを示す完了通知を、プログラム600に送信する。
【0067】
これにより、例えば、ステップS605に示すように、プログラム600が、ログ情報収集部310に、プログラムIDと共にログ情報を送信すると、ステップS606において、図7に示すようなログ情報の記憶処理が実行される。
【0068】
(ログ情報の記憶処理)
図7は、第1の実施形態に係るログ情報の記憶処理の例を示すフローチャートである。この処理は、例えば、図6のステップS606で、ログ情報収集部310が実行するログ情報の記憶処理の一例を示している。
【0069】
ステップS701において、ログ情報収集部310が、プログラム600からプログラムIDと共にログ情報を受信すると、ステップS702以降の処理が実行される。
【0070】
ステップS702において、ログ情報収集部310は、受信したプログラムIDに対応するログ情報記憶部311に、受信したログ情報を記憶する。これにより、ログ情報収集部310は、例えば、図3のアプリケーション112aから受信したログ情報を、ログ情報記憶部311-2に選択的に記憶することができる。
【0071】
ステップS703、S704において、ログ情報収集部310は、ログ情報を記憶したログ情報記憶部311に記憶されているログ情報のサイズが、所定の値に達したか否かを判断する。一例として、ログ情報収集部310は、ログ情報を記憶したログ情報記憶部311の記憶エリア402に、記憶エリア402のサイズの半分以上、ログ情報が記憶されているか否かを判断する。
【0072】
ログ情報記憶部311に記憶されているログ情報のサイズが、所定の値に達していない場合、ログ情報記憶部311は、図7の処理を終了する。一方、ログ情報記憶部311に記憶されているログ情報のサイズが、所定の値に達している場合、ログ情報記憶部311は、処理をステップS705に移行させる。
【0073】
ステップS705に移行すると、ログ情報収集部310は、ログ情報記憶部311に記憶されたログ情報を、第1の記憶部320に記憶する。一例として、ログ情報記憶部311の記憶エリア402に、記憶エリア402のサイズの半分以上、ログ情報が記憶されている場合、記憶エリア402の半分のサイズのログ情報を、第1の記憶部320に記憶する。
【0074】
(第1の記憶部への記憶処理)
図8は、第1の実施形態に係る第1の記憶部への記憶処理の例を示すフローチャートである。この処理は、例えば、図7のステップS705において、ログ情報収集部310が、ログ情報を第1の記憶部320に記憶するときに、情報処理装置110が実行する処理の一例を示している。
【0075】
ステップS801において、ログ情報収集部310は、ログ情報を第1の記憶部320に記憶できるか否かを判断する。
【0076】
例えば、ログ情報収集部310は、第1の記憶部320の更新フラグ503a、503bが、いずれもオフである場合、ログ情報を第1の記憶部320に記憶できると判断する。また、ログ情報収集部310は、第1の記憶部320の更新フラグ503a、503bのいずれかがオフであり、更新フラグ503がオフに設定されている記憶領域に、十分な空き容量がある場合、ログ情報を第1の記憶部320に記憶できると判断する。
【0077】
一方、ログ情報収集部310は、第1の記憶部320の更新フラグ503a、503bが、いずれもオンである場合、ログ情報を第1の記憶部320に記憶できないと判断する。また、ログ情報収集部310は、第1の記憶部320の更新フラグ503a、503bのいずれかがオフであり、更新フラグ503がオフに設定されている記憶領域に、十分な空き容量がない場合、ログ情報を第1の記憶部320に記憶できないと判断する。
【0078】
ログ情報を第1の記憶部320に記憶できない場合、ログ情報収集部310は、処理をステップS802に移行させる。一方、ログ情報を第1の記憶部320に記憶できる場合、ログ情報収集部310は、処理をステップS803に移行させる。
【0079】
ステップS802に移行すると、第2のログ情報管理部340は、ログ情報を出力したプログラムの情報と、当該プログラムに対応するログ情報の量に関する情報とを含む第2のログ情報を、第2の記憶部350に記憶する。
【0080】
例えば、第2のログ情報管理部340は、ログ情報収集部310から、ログ情報を読出したログ情報記憶部311の書込情報504a、504bを取得する。また、第2のログ情報管理部340は、書込情報504a、504bに含まれる1つ以上の「プログラムID」と、各プログラムIDに対応する「合計サイズ」とを含む第2のログ情報を、第2の記憶部350に記憶する。なお、「プログラムID」は、ログ情報を出力したプログラムの情報の一例である。また、「合計サイズ」は、ログ情報の量に関する情報の一例である。
【0081】
好ましくは、「合計サイズ」は、あるプログラムIDに対応する、書込情報504aに記憶された「合計サイズ」と、書込情報504bに記憶された「合計サイズ」の合計である。なお、ログ情報の量に関する情報は、ログ情報の「サイズ」に限られず、例えば、ログ情報が占める割合等の情報であっても良い。
【0082】
一方、ステップS801からステップS803に移行すると、ログ情報収集部310は、ログ情報を、第1の記憶部320に記憶する。なお、前述したように、ここで、第1の記憶部320に記憶されたログ情報を、第1のログ情報と呼ぶ。
【0083】
ステップS804において、ログ情報収集部310は、第1の記憶部320の書込情報504を更新する。例えば、ログ情報収集部310は、図5(A)に示すような第1の記憶部320において、第1の記憶領域501に記憶されたログ情報を第1の記憶部320に記憶したものとする。この場合、ログ情報収集部310は、図5(B)に示すような書込情報504aに、プログラムID毎に、第1の記憶部320に記憶したログ情報のサイズを加算する。同様に、ログ情報収集部310は、第2の記憶領域502に記憶したログ情報を第1の記憶部320に記憶した場合、書込情報504bに、プログラムID毎に、第1の記憶部320に記憶したログ情報のサイズを加算する。
【0084】
ステップS805において、第1のログ情報管理部330は、第1のログ情報が所定のサイズに達したか否かを判断する。例えば、第1のログ情報管理部330は、図5(A)に示すような第1の記憶部320において、第1の記憶領域501に書き込み可能な空き容量がなくなった場合、第1のログ情報が所定のサイズに達したと判断する。また、第1のログ情報管理部330は、第2の記憶領域502に書き込み可能な空き容量がなくなった場合にも、第1のログ情報が所定のサイズに達したと判断する。
【0085】
なお、第1のログ情報が所定のサイズに達したか否かは、第1のログ情報を第2の記憶部350に移動する所定の条件の一例である。所定の条件は、例えば、第1の記憶部320の空き容量のサイズや、割合等、予め定められた様々な条件であって良い。
【0086】
第1のログ情報が所定のサイズに達していない場合、第1のログ情報管理部330は、図8の処理を終了する。一方、第1のログ情報が所定のサイズに達している場合、第1のログ情報管理部330は、処理をステップS806に移行させる。
【0087】
ステップS806に移行すると、第1のログ情報管理部330は、更新フラグをオンに設定する。例えば、第1のログ情報管理部330は、図5(A)に示すような第1の記憶部320において、第1の記憶領域501に書き込み可能な空き容量がなくなった場合、第1の記憶領域501に対応する更新フラグ503aをオンに設定する。一方、第1のログ情報管理部330は、第2の記憶領域502に書き込み可能な空き容量がなくなった場合、第2の記憶領域502に対応する更新フラグ503bをオンに設定する。
【0088】
ステップS807において、第1のログ情報管理部330は、第1の記憶部320に記憶された第1のログ情報を、第2の記憶部に移動(又はコピー)する。例えば、第1のログ情報管理部330は、図5(A)に示すような第1の記憶部320において、更新フラグ503a、503bがオンに設定されている記憶領域に記憶された第1のログ情報を、第2の記憶部に移動(又はコピー)する。例えば、第1の記憶部320において、更新フラグ503aがオンに設定されている場合、第1のログ情報管理部330は、第1の記憶領域に記憶された第1のログ情報を、第2の記憶部350に移動する。
【0089】
(第2の記憶部への記憶処理)
図9は、第1の実施形態に係る第2の記憶部への記憶処理の例を示すフローチャートである。この処理は、例えば、図8のステップS807において、第1のログ情報を第2の記憶部350に移動するときに、第1のログ情報管理部330が実行する具体的な処理の一例を示している。
【0090】
ステップS901において、第1のログ情報管理部330は、第1の記憶領域に記憶された第1のログ情報を、第2の記憶部350に記憶する。
【0091】
ステップS902において、第1のログ情報管理部330は、第1の記憶部320の書込情報を削除する。例えば、図5(A)に示すような第1の記憶部320において、第1の記憶領域501に記憶した第1のログ情報を第2の記憶部350に記憶した場合、第1のログ情報管理部330は、第1の記憶領域501に対応する書込情報504aを初期化する。同様に、第1の記憶部320において、第2の記憶領域502に記憶した第1のログ情報を第2の記憶部350に記憶した場合、第1のログ情報管理部330は、第2の記憶領域502に対応する書込情報504bを初期化する。
【0092】
ステップS903において、第1の記憶部320の更新フラグをオフに設定する。例えば、図5(A)に示すような第1の記憶部320において、第1の記憶領域501に記憶した第1のログ情報を第2の記憶部350に記憶した場合、第1のログ情報管理部330は、第1の記憶領域501に対応する更新フラグ503aをオフに設定する。同様に、第1の記憶部320において、第2の記憶領域502に記憶した第1のログ情報を第2の記憶部350に記憶した場合、第1のログ情報管理部330は、第2の記憶領域502に対応する更新フラグ503bをオフに設定する。
【0093】
上記の各処理により、情報処理装置110は、第1の記憶部320にログ情報を記憶できないときでも、ログ情報を出力したプログラムの各々が第1の記憶部320に記憶したログ情報の量に関する情報を含む第2のログ情報を、第2の記憶部350に記憶できる。
【0094】
[第2の実施形態]
第2の実施形態では、情報処理装置110が、第1の記憶部320にログ情報を記憶できないときに、ログ情報を出力したプログラムの各々が出力したログ情報の量等を示す第2のログ情報を、第2の記憶部350に記憶する場合の例について説明する。
【0095】
図10は、第2の実施形態に係る第1の記憶部への記憶処理の例を示すフローチャートである。なお、図10に示す処理のうち、ステップS801、S802~S807の処理は、図8で説明した第1の実施形態に係る第1の記憶部への記憶処理と同様なので、ここでは、第1の実施形態との相違点を中心に説明を行なう。
【0096】
ステップS801において、ログ情報を第1の記憶部320に記憶できないと判断された場合、ログ情報収集部310は、処理をステップS1001に移行させる。
【0097】
ステップS1001に移行すると、ログ情報収集部310は、第1の記憶部320の書込情報504を更新する。例えば、ログ情報収集部310は、図5(A)に示すような第1の記憶部320において、第1の記憶領域501に記憶したログ情報を第1の記憶部320に記憶できなかったものとする。この場合、ログ情報収集部310は、図5(B)に示すような書込情報504aに、プログラムID毎に、第1の記憶部320に記憶できなかったログ情報のサイズを加算する。同様に、ログ情報収集部310は、第2の記憶領域502に記憶したログ情報を第1の記憶部320に記憶できなかった場合、書込情報504bに、プログラムID毎に、第1の記憶部320に記憶できなかったログ情報のサイズを加算する。
【0098】
上記の処理により、書込情報504a、504bには、各プログラムが、第1の記憶部320に記憶したログ情報のサイズの合計に加えて、第1の記憶部320に記憶できなかったログ情報の合計サイズが記憶される。これにより、書込情報504には、例えば、各プログラムが出力したログ情報のサイズの合計が、書込情報504a、504bに記憶される。
【0099】
このように、第2の実施形態によれば、情報処理装置110は、第1の記憶部320にログ情報を記憶できないときでも、ログ情報を出力したプログラムの各々が出力したログ情報の量に関する情報を含む第2のログ情報を、第2の記憶部350に記憶できる。
【0100】
[第3の実施形態]
第1、2の実施形態では、第2の記憶部350が、例えば、図2のHD208等のストレージデバイスによって実現されるものとして説明を行なった。ただし、これは一例であり、第2の記憶部350は、例えば、インターネットやLAN(Local Area Network)等の通信ネットワークを介して通信可能な外部装置(例えば、管理サーバ、ストレージサーバ等)であっても良い。
【0101】
図11は、第3の実施形態に係る情報処理装置の機能構成の例を示す図である。図11に示すように、第3の実施形態に係る情報処理装置110は、図3に示す第1の実施形態に係る情報処理装置110が有する第2の記憶部350に代えて、通信部1101を有している。
【0102】
通信部1101は、例えば、図2のCPU201で実行されるプログラム、及びネットワークI/F250等によって実現され、情報処理装置110を通信ネットワーク1102に接続して、外部装置120等と通信を行なう。なお、外部装置120は、第2の記憶部350の別の一例である。
【0103】
上記の機能構成において、第1のログ情報管理部330は、例えば、図8のステップS807において、第1のログ情報を第2の記憶部に移動するときに、通信部1101を介して、第1のログ情報を外部装置(第2の記憶部)120に送信する。
【0104】
同様に、第2のログ情報管理部340は、例えば、図8のステップS802において、第2のログ情報を第2の記憶部に移動するときに、通信部1101を介して、第2のログ情報を外部装置(第2の記憶部)120に送信する。
【0105】
この場合、例えば、情報処理装置110で発生した不具合を解析する担当者等は、外部装置120に記憶された第1のログ情報、第2のログ情報を取得して解析を行なうことができるので、情報処理装置110は、ログ情報提供部360を有していなくても良い。
【0106】
以上、本発明の各実施形態によれば、第1の記憶部に記憶したログ情報を、所定の条件に従って第2の記憶部に移動させる情報処理装置において、頻繁にログ情報を出力しているプログラムを特定することが容易になる。
【0107】
なお、第2の記憶部は、単一の記憶装置(例えば、HD208、外部装置120等)に限られず、複数の記憶装置(例えば、互いに異なる複数のストレージデバイス等)を含む概念である。例えば、第1のログ情報管理部330が第2の記憶部に記憶する第1のログ情報と、第2のログ情報管理部340が第2の記憶部に記憶する第2のログ情報は、物理的に異なるストレージデバイスに記憶されるものであっても良い。
【0108】
<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0109】
また、各実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものに過ぎない。
【0110】
ある実施形態では、情報処理装置110は、サーバクラスタといった複数のコンピューティングデバイスを含み得る。複数のコンピューティングデバイスは、ネットワークや共有メモリ等を含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【符号の説明】
【0111】
110 情報処理装置
200 画像形成装置(情報処理装置の一例)
111 OS(所定のプログラムの一例)
112a、112b アプリケーション(所定のプログラムの一例)
320 第1の記憶部
330 第1のログ情報管理部
340 第2のログ情報管理部
350 第2の記憶部
501 第1の記憶領域
502 第2の記憶領域
【先行技術文献】
【特許文献】
【0112】
【文献】特開2012-247937号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11