図面 (/)

技術 プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラム

出願人 日本電気株式会社
発明者 加藤浩二
出願日 2009年2月16日 (11年0ヶ月経過) 出願番号 2009-032778
公開日 2010年9月2日 (9年5ヶ月経過) 公開番号 2010-191527
状態 特許登録済
技術分野 デバッグ/監視 ストアードプログラム ストアードプログラム
主要キーワード エラー検出プログラム 同一事象 経路情報登録 エラー発生直前 分岐点情報 動作ログ 経路情報生成 公開済み
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2010年9月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

解決手段

プログラム修正システム1は、プログラム10を実行する端末装置2と、修正プログラムを提供するサーバ装置3とを備える。端末装置2は、プログラム10の実行時のエラー発生経路を特定する経路情報を生成する経路情報生成部32と、経路情報をサーバ装置3に送信する通信部33とを備える。サーバ装置3は、プログラム10の実行前に発生した過去のエラーの発生経路を特定する情報及び対応する修正プログラムを記憶する記憶部45と、経路情報が、記憶部45に記憶されている情報に一致するかどうかを判定する判定部43と、一致する場合に、修正プログラムを端末装置2に送信する通信部42とを備える。

概要

背景

一般に、コンピュータプログラムの分野においては、プログラムのリリース後のバグ発見や改良に伴い、プログラムの提供元は、修正プログラムを作成し、これを利用者配布している。また、近年のインターネットやLAN等のネットワーク発展に伴い、修正プログラムの配布は、提供元のサーバ装置や、システム管理者が管理しているサーバ装置等からネットワークを介して行われている。

ところで、プログラムに修正プログラムを適用するかどうかの判断は、多くの場合、プログラムがインストールされたコンピュータの利用者に委ねられている。この場合、利用者は、現在のプログラムの条件が、修正プログラムを適用する条件に合致しているかどうかを判定する必要があり、利用者にとって負担となっている。また、利用者が、修正プログラムの適用を怠ると、プログラムの修正が行われないという問題もある。

このため、例えば、特許文献1〜特許文献3は、提供元のサーバ装置や、システム管理者が管理しているサーバ装置によって自動的に修正プログラムを適用するプログラム修正システムを提案している。例えば、特許文献1及び特許文献2に開示のプログラム修正システムでは、管理側のサーバ装置は、端末装置で使用されているプログラムのバージョン情報を検出し、検出したバージョン最新で無い場合は、これをトリガーとして、修正プログラムの適用を実行する。

また、修正プログラムの中には、適用の際に、予め別の修正プログラムを適用しておかなければならないものもあり、適用のための手順が複雑な場合がある。これに対して、特許文献3に開示のプログラム修正システムでは、サーバ装置は、修正プログラムを適用する際の手順を解析し、複雑な手順が必要な修正プログラムであっても自動的に適用する。この結果、特許文献3に開示のプログラム修正システムを利用すれば、利用者における負担は更に軽減される。

概要

修正対象となるプログラムの実行状況に応じて、修正プログラムの適用を行い得る、プログラム修正システム、端末装置、及びサーバ装置、更には、プログラム修正方法エラー検出プログラム及び管理プログラムを提供する。プログラム修正システム1は、プログラム10を実行する端末装置2と、修正プログラムを提供するサーバ装置3とを備える。端末装置2は、プログラム10の実行時のエラー発生経路を特定する経路情報を生成する経路情報生成部32と、経路情報をサーバ装置3に送信する通信部33とを備える。サーバ装置3は、プログラム10の実行前に発生した過去のエラーの発生経路を特定する情報及び対応する修正プログラムを記憶する記憶部45と、経路情報が、記憶部45に記憶されている情報に一致するかどうかを判定する判定部43と、一致する場合に、修正プログラムを端末装置2に送信する通信部42とを備える。

目的

本発明の目的は、上記問題を解消し、修正対象となるプログラムの実行状況に応じて、修正プログラムの適用を行い得る、プログラム修正システム、端末装置、及びサーバ装置、更には、プログラム修正方法、エラー検出プログラム及び管理プログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

プログラムを実行する端末装置と、前記プログラムの修正プログラムを提供するサーバ装置とを備えるプログラム修正システムであって、前記端末装置は、前記プログラムの実行時に発生したエラー発生経路を特定する経路情報を生成する経路情報生成部と、前記経路情報を前記サーバ装置に送信する通信部とを備え、前記サーバ装置は、前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶する記憶部と、前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定する判定部と、前記判定部が一致すると判定した場合に、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信する通信部とを備えている、ことを特徴とするプログラム修正システム。

請求項2

前記端末装置の前記経路情報生成部が、前記プログラムの実行時の動作ログから、前記プログラムにおける、前記エラーの発生前の複数の分岐点を特定し、特定した前記複数の分岐点を含む情報を前記経路情報とし、前記サーバ装置の前記記憶部が、前記過去のエラーの発生経路を特定する情報として、前記プログラムにおける、前記過去のエラーの発生前の複数の分岐点を特定する情報を記憶する、請求項1に記載のプログラム修正システム。

請求項3

前記サーバ装置の前記記憶部が、前記過去のエラーに対応して、当該エラーが発生した場合の対処方法が特定されたエラー対処情報を更に記憶し、前記サーバ装置の前記通信部が、前記判定部が一致しないと判定した場合に、前記経路情報で特定されるエラーに対応した前記エラー対処情報を、前記端末装置に送信する、請求項1または2に記載のプログラム修正システム。

請求項4

前記プログラムが、実行時において、動作ログを特定するログ情報と実行時に発生したエラーを特定するエラー情報とを出力可能な場合において、前記端末装置の前記経路情報生成部が、前記ログ情報及び前記エラー情報に基づいて、前記経路情報を生成する、請求項1〜3のいずれかに記載のプログラム修正システム。

請求項5

前記端末装置の前記経路情報生成部が、前記プログラムの実行の終了を検出した後に、前記経路情報を生成する、請求項1〜4のいずれかに記載のプログラム修正システム。

請求項6

外部のサーバ装置に接続される端末装置であって、プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成する経路情報生成部と、前記経路情報を前記外部のサーバ装置に送信する通信部とを備えている、ことを特徴とする端末装置。

請求項7

前記経路情報生成部が、前記プログラムの実行時の動作ログから、前記エラーの発生経路として、前記プログラムにおける、前記エラーの発生前の複数の分岐点を特定し、特定した前記複数の分岐点を含む情報を前記経路情報とする、請求項6に記載の端末装置。

請求項8

前記プログラムが、実行時において、動作ログを特定するログ情報と実行時に発生したエラーを特定するエラー情報とを出力可能な場合において、前記経路情報生成部が、前記ログ情報及び前記エラー情報に基づいて、前記経路情報を生成する、請求項6または7に記載の端末装置。

請求項9

前記経路情報生成部が、前記プログラムの実行の終了を検出した後に、前記経路情報を生成する、請求項6〜8のいずれかに記載のプログラム修正システム。

請求項10

プログラムの実行時に発生したエラーの発生経路を特定する経路情報を送信する端末装置に接続されたサーバ装置であって、前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶する記憶部と、前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定する判定部と、前記判定部が一致すると判定した場合に、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信する通信部とを備えている、ことを特徴とするサーバ装置。

請求項11

前記端末装置が、前記プログラムの実行時の動作ログから、前記プログラムにおける、前記エラーの発生前の複数の分岐点を特定し、特定した前記複数の分岐点を含む情報を前記経路情報として送信する場合に、前記記憶部が、前記過去のエラーの発生経路を特定する情報として、前記プログラムにおける、前記過去のエラーの発生前の複数の分岐点を特定する情報を記憶する、請求項10に記載のサーバ装置。

請求項12

前記記憶部が、前記過去のエラーに対応して、当該エラーが発生した場合の対処方法が特定されたエラー対処情報を更に記憶し、前記通信部が、前記判定部が一致しないと判定した場合に、前記経路情報で特定されるエラーに対応した前記エラー対処情報を、前記端末装置に送信する、請求項10または11に記載のサーバ装置。

請求項13

端末装置で実行されるプログラムに対して、外部のサーバ装置によって、修正プログラムを適用するためのプログラム修正方法であって、(a)前記端末装置によって、前記プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成するステップと、(b)前記端末装置によって、前記経路情報を前記サーバ装置に送信するステップと、(c)前記サーバ装置によって、前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶するステップと、(d)前記サーバ装置によって、前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定するステップと、(e)前記(d)のステップで一致すると判定された場合に、前記サーバ装置によって、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信するステップとを有する、ことを特徴とするプログラム修正方法。

請求項14

前記(a)のステップで、前記端末装置によって、前記プログラムの実行時の動作ログから、前記プログラムにおける、前記エラーの発生前の複数の分岐点を特定し、特定した前記複数の分岐点を含む情報を前記経路情報とし、前記(c)のステップで、前記サーバ装置によって、前記過去のエラーの発生経路を特定する情報として、前記プログラムにおける、前記過去のエラーの発生前の複数の分岐点を特定する情報を記憶する、請求項13に記載のプログラム修正方法。

請求項15

前記(c)のステップで、前記サーバ装置によって、前記過去のエラーに対応して、当該エラーが発生した場合の対処方法が特定されたエラー対処情報を更に記憶し、前記(e)のステップで、前記(d)のステップにおいて一致しないと判定された場合に、前記サーバ装置によって、前記経路情報で特定されるエラーに対応した前記エラー対処情報を、前記端末装置に送信する、請求項13または14に記載のプログラム修正方法。

請求項16

前記プログラムが、実行時において、動作ログを特定するログ情報と実行時に発生したエラーを特定するエラー情報とを出力可能な場合において、前記(a)のステップで、前記端末装置によって、前記ログ情報及び前記エラー情報に基づいて、前記経路情報を生成する、請求項13〜15のいずれかに記載のプログラム修正方法。

請求項17

前記(a)のステップで、前記端末装置によって、前記プログラムの実行の終了を検出した後に、前記経路情報を生成する、請求項13〜16のいずれかに記載のプログラム修正方法。

請求項18

コンピュータに、(a)プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成するステップと、(b)前記経路情報を前記外部のサーバ装置に送信するステップとを実行させる、ことを特徴とするエラー検出プログラム

請求項19

前記(a)のステップで、前記プログラムの実行時の動作ログから、前記エラーの発生経路として、前記プログラムにおける、前記エラーの発生前の複数の分岐点を特定し、特定した前記複数の分岐点を含む情報を前記経路情報とする、請求項18に記載のエラー検出プログラム。

請求項20

前記プログラムが、実行時において、動作ログを特定するログ情報と実行時に発生したエラーを特定するエラー情報とを出力可能な場合において、前記(a)のステップで、前記ログ情報及び前記エラー情報に基づいて、前記経路情報を生成する、請求項18または19に記載のエラー検出プログラム。

請求項21

前記(a)のステップで、前記プログラムの実行の終了を検出した後に、前記経路情報を生成する、請求項18〜20のいずれかに記載のエラー検出プログラム。

請求項22

端末装置によって、プログラムの実行時に発生したエラーの発生経路を特定する経路情報が送信された場合に、コンピュータによって、前記端末装置への修正プログラムの送信を行うための管理プログラムであって、前記コンピュータに、(a)前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶するステップと、(b)前記端末装置から送信された経路情報が、前記(a)のステップで記憶されている情報に一致するかどうかを判定するステップと、(c)前記(b)のステップで一致すると判定された場合に、前記(a)のステップで記憶されている前記修正プログラムを前記端末装置に送信するステップとを実行させる、ことを特徴とする管理プログラム。

請求項23

前記端末装置が、前記プログラムの実行時の動作ログから、前記プログラムにおける、前記エラーの発生前の複数の分岐点を特定し、特定した前記複数の分岐点を含む情報を前記経路情報として送信する場合に、前記(a)のステップで、前記過去のエラーの発生経路を特定する情報として、前記プログラムにおける、前記過去のエラーの発生前の複数の分岐点を特定する情報を記憶する、請求項22に記載の管理プログラム。

請求項24

前記(a)のステップで、前記過去のエラーに対応して、当該エラーが発生した場合の対処方法が特定されたエラー対処情報を更に記憶し、前記(c)のステップで、前記(b)のステップにおいて一致しないと判定された場合に、前記経路情報で特定されるエラーに対応した前記エラー対処情報を、前記端末装置に送信する、請求項22または23に記載の管理プログラム。

技術分野

0001

本発明は、プログラム修正システム、これに用いられる端末装置及びサーバ装置、これらを用いたプログラム修正方法、更には、これらを実現するためのエラー検出プログラム及び管理プログラムに関する。

背景技術

0002

一般に、コンピュータプログラムの分野においては、プログラムのリリース後のバグ発見や改良に伴い、プログラムの提供元は、修正プログラムを作成し、これを利用者配布している。また、近年のインターネットやLAN等のネットワーク発展に伴い、修正プログラムの配布は、提供元のサーバ装置や、システム管理者が管理しているサーバ装置等からネットワークを介して行われている。

0003

ところで、プログラムに修正プログラムを適用するかどうかの判断は、多くの場合、プログラムがインストールされたコンピュータの利用者に委ねられている。この場合、利用者は、現在のプログラムの条件が、修正プログラムを適用する条件に合致しているかどうかを判定する必要があり、利用者にとって負担となっている。また、利用者が、修正プログラムの適用を怠ると、プログラムの修正が行われないという問題もある。

0004

このため、例えば、特許文献1〜特許文献3は、提供元のサーバ装置や、システム管理者が管理しているサーバ装置によって自動的に修正プログラムを適用するプログラム修正システムを提案している。例えば、特許文献1及び特許文献2に開示のプログラム修正システムでは、管理側のサーバ装置は、端末装置で使用されているプログラムのバージョン情報を検出し、検出したバージョン最新で無い場合は、これをトリガーとして、修正プログラムの適用を実行する。

0005

また、修正プログラムの中には、適用の際に、予め別の修正プログラムを適用しておかなければならないものもあり、適用のための手順が複雑な場合がある。これに対して、特許文献3に開示のプログラム修正システムでは、サーバ装置は、修正プログラムを適用する際の手順を解析し、複雑な手順が必要な修正プログラムであっても自動的に適用する。この結果、特許文献3に開示のプログラム修正システムを利用すれば、利用者における負担は更に軽減される。

先行技術

0006

特開平6−214829号公報
特開2003−345597号公報
特開2004−102379号公報

発明が解決しようとする課題

0007

ところで、運用中のシステムにおいて、実行されるプログラムへの修正プログラムの適用はリスクを伴うことがある。よって、プログラムの実行に無関係な修正プログラムについては、可能な限り、実行されるプログラムへの適用を控えるのが好ましいと考えられる。

0008

しかしながら、上記特許文献1〜特許文献3に開示されたプログラム修正システムでは
適用対象となるプログラムの実行状況については考慮されず、修正プログラムは、実行状況と無関係であっても、自動的に、実行されるプログラムに適用されてしまう。このため、上記特許文献1〜特許文献3に開示されたプログラム修正システムには、リスクの高い状況を招来してしまうという問題がある。

0009

本発明の目的は、上記問題を解消し、修正対象となるプログラムの実行状況に応じて、修正プログラムの適用を行い得る、プログラム修正システム、端末装置、及びサーバ装置、更には、プログラム修正方法、エラー検出プログラム及び管理プログラムを提供することにある。

課題を解決するための手段

0010

上記目的を達成するため、本発明におけるプログラム修正システムは、プログラムを実行する端末装置と、前記プログラムの修正プログラムを提供するサーバ装置とを備えるプログラム修正システムであって、
前記端末装置は、
前記プログラムの実行時に発生したエラー発生経路を特定する経路情報を生成する経路情報生成部と、
前記経路情報を前記サーバ装置に送信する通信部とを備え、
前記サーバ装置は、
前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶する記憶部と、
前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定する判定部と、
前記判定部が一致すると判定した場合に、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信する通信部とを備えている、
ことを特徴とする。

0011

上記目的を達成するため、本発明における端末装置は、外部のサーバ装置に接続される端末装置であって、
プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成する経路情報生成部と、
前記経路情報を前記外部のサーバ装置に送信する通信部とを備えている、ことを特徴とする。

0012

上記目的を達成するため、本発明におけるサーバ装置は、プログラムの実行時に発生したエラーの発生経路を特定する経路情報を送信する端末装置に接続されたサーバ装置であって、
前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶する記憶部と、
前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定する判定部と、
前記判定部が一致すると判定した場合に、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信する通信部とを備えている、
ことを特徴とする。

0013

上記目的を達成するため、本発明におけるプログラム修正方法は、端末装置で実行されるプログラムに対して、外部のサーバ装置によって、修正プログラムを適用するためのプログラム修正方法であって、
(a)前記端末装置によって、前記プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成するステップと、(b)前記端末装置によって、前記経路情報を前
記サーバ装置に送信するステップと、
(c)前記サーバ装置によって、前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶するステップと、
(d)前記サーバ装置によって、前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定するステップと、
(e)前記(d)のステップで一致すると判定された場合に、前記サーバ装置によって、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信するステップとを有する、ことを特徴とする。

0014

上記目的を達成するため、本発明におけるエラー検出プログラムは、コンピュータに、(a)プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成するステップと、
(b)前記経路情報を前記外部のサーバ装置に送信するステップとを実行させる、ことを特徴とする。

0015

上記目的を達成するため、本発明における管理プログラムは、端末装置によって、プログラムの実行時に発生したエラーの発生経路を特定する経路情報が送信された場合に、コンピュータによって、前記端末装置への修正プログラムの送信を行うための管理プログラムであって、
前記コンピュータに、
(a)前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶するステップと、
(b)前記端末装置から送信された経路情報が、前記(a)のステップで記憶されている情報に一致するかどうかを判定するステップと、
(c)前記(b)のステップで一致すると判定された場合に、前記(a)のステップで記憶されている前記修正プログラムを前記端末装置に送信するステップとを実行させる、ことを特徴とする。

発明の効果

0016

以上のように、本発明における、プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラムによれば、修正対象となるプログラムの実行状況に応じて、修正プログラムの適用が可能となる。

図面の簡単な説明

0017

図1は、本発明の実施の形態における、プログラム修正システム、端末装置及びサーバ装置の概略構成を示すブロック図である。
図2は、端末装置におけるプログラムの実行工程を示すフロー図である。
図3は、端末装置におけるエラー検出工程を示すフロー図である。
図4は、端末装置が送信する経路情報の一例を示す図である。
図5は、修正プログラム格納データベースに格納される情報の一例を示す図である。
図6は、端末装置が修正プログラムを受信した場合の表示画面の一例を示す図である。
図7は、端末装置がエラー対処情報を受信した場合の表示画面の一例を示す図である。
図8は、サーバ装置における修正プログラムの管理工程を示すフロー図である。
図9は、修正プログラム管理データベース登録されている情報の一例を示す図である。
図10は、修正プログラム管理データベースに登録されているエラー対処情報の一例を示す図である。

実施例

0018

(実施の形態)
以下、本発明の実施の形態における、プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラムについて、図1図10を参照しながら説明する。最初に、本実施の形態における、プログラム修正システム、端末装置、及びサーバ装置の構成について図1を用いて説明する。

0019

図1は、本発明の実施の形態における、プログラム修正システム、端末装置及びサーバ装置の概略構成を示すブロック図である。図1に示すように、本実施の形態におけるプログラム修正システム1は、プログラムを実行する端末装置2と、プログラムの修正プログラムを提供するサーバ装置3とを備えている。図1においては、単一の端末装置2のみが図示されているが、実際は、端末装置2は複数個であっても良い。

0020

端末装置2は、経路情報生成部32と、通信部33とを備えている。また、端末装置2は、ネットワーク50を介して、サーバ装置3に接続されている。経路情報生成部32は、プログラム10の実行時に発生したエラーの発生経路を特定した経路情報を生成する。ここで、言い換えると、経路情報とは、エラーが発生した原因を特定可能な情報をいう。また、通信部33は、経路情報をサーバ装置3に送信する。

0021

サーバ装置3は、記憶部45と、判定部43と、通信部42とを備えている。記憶部45は、その記憶領域内に、修正プログラム管理データベース44を構築している。修正プログラム管理データベース44は、プログラム10の実行前に発生した過去のエラーの発生経路を特定する情報と共に、過去のエラーに対応する修正プログラムを記憶している。

0022

判定部43は、端末装置2から送信された経路情報が、修正プログラム管理データベース44に記憶されている情報に一致するかどうかを判定する。判定部43は、一致すると判定した場合は、記憶している修正プログラムの中から、対応する修正プログラムを選び出す。通信部42は、選び出された修正プログラムを端末装置2に送信する。

0023

このように、本実施の形態におけるプログラム修正システムでは、現在実行中のプログラムに対して修正プログラムが存在する場合、該修正プログラムが適用可能かどうかは、端末装置2からの経路情報に基づいて判断される。つまり、本実施の形態では、修正プログラムの適用は、実行されているプログラムの実行状況に応じて行われるので、端末装置2がプログラム10を実行することによって構築されるシステムにおいて、リスクの発生が軽減される。なお、本実施の形態において「過去」とは、プログラム10の実行が開始された時点より時間的に前の時点全てをいう。

0024

ここで、図1に基づいて、プログラム修正システム1の構成、即ち、端末装置2及びサーバ装置3の構成を更に具体的に説明する。先ず、端末装置2の構成について具体的に説明する。図1に示すように、本実施の形態では、端末装置2は、プログラム10を実行する実行部20と、エラー検出部30とを備えている。

0025

実行部20で実行されるプログラム10は、本実施の形態では、プログラムの本体部分である実行モジュール11に加え、ログ情報出力モジュール12と、エラー情報出力モジュール13とを備えている。このうち、実行モジュールが、修正プログラムが適用されるプログラム本体である。

0026

ログ情報出力モジュール12は、実行モジュール11の実行時における動作ログを取得し、これを特定するログ情報を出力する。具体的は、ログ情報出力モ
ジュール12は、例えば、実行モジュール11での実行分岐点(実行された分岐命令)を特定可能な各種情報を記録及び累積し、その後、出力する。また、エラー情報出力モジュール12は、実行モジュール11の実行時に発生したエラーを特定可能なエラー情報(エラーが発生した際の各種情報)を記録し、更にこれを出力する。図1において、14は、出力されたログ情報及びエラー情報含むファイルを示している。

0027

エラー検出部30は、上述した経路情報生成部32と、通信部33とに加え、更に、プログラム終了検出部31と、処理結果確認部34と、修正プログラム格納データベース35と、情報表示部36とを備えている。このうち、プログラム終了検出部31は、プログラム10の実行終了の検知を行い、実行終了を検知すると、そのことを経路情報生成部32に通知する。

0028

経路情報生成部32は、本実施の形態では、プログラム終了検出部31による通知を受けた後に、プログラム10の実行時の動作ログから、プログラム10における、エラーの発生前の複数の分岐点を特定し、特定した複数の分岐点を含む情報を経路情報とする。また、経路情報生成部32は、生成した経路情報を通信部33に送信する。

0029

具体的には、経路情報生成部32は、ログ情報・エラー情報を含むファイル14に記録されている情報から、例えば、エラーに関連するログ情報や、エラー発生直前から数十ステップ遡った部分までのログ情報を抽出する。また、経路情報生成部32は、ログ情報・エラー情報14に記録されているログ情報に、同一事象を複数回繰り返し記録するログ情報が含まれている場合は、複数回繰り返し記録された事象を1回の事象にまとめる。即ち、ログ情報にプログラムのループ処理の実行形跡が存在する場合、経路情報生成部32は、ループ処理が全体で1ステップとなるように情報を加工する。その後、経路情報生成部32は、エラーに関連するログ情報を抽出する。

0030

そして、経路情報生成部32は、抽出したログ情報から、例えば、プログラム名、及びエラー発生直前から数十ステップ遡った部分までに存在する分岐点(分岐命令)を取得し、これらとエラー情報とを合わせて経路情報とする(図4参照)。このような経路情報によれば、プログラム上の分岐点での経路からエラーの発生経路が容易に特定されるので、修正プログラムの適用が必要かどうかを適切に判断できる。

0031

通信部33は、本実施の形態では、ネットワーク50を経由して、サーバ装置3の通信部42に接続されており、これに経路情報を送信する。また、通信部33は、データを送信する機能だけでなく、サーバ装置3からのデータを受信する機能も備えている。具体的には、通信部33は、サーバ装置3の修正プログラム管理部40が送信した情報を受信する。また、通信部33は、受信した情報を処理結果確認部34に送信する。

0032

処理結果確認部34は、サーバ装置3の修正プログラム確認部40から送信された情報の種類について判断する。本実施の形態では、後述するように、修正プログラム確認部40は、エラーの内容に応じて、修正プログラム、又はエラー対処情報を送信する。よって、処理結果確認部34は、送信されてきた情報が修正プログラムであるか、又はエラー対処情報であるかを判断する。

0033

また、判断の結果、修正プログラム確認部40から送信されてきた情報が修正プログラムである場合は、処理結果確認部34は、この修正プログラムを修正プログラム格納データベース35に格納する。更に、このとき、処理結果確認部34は、修正プログラムが格納されたことを示す情報を情報表示部36に送信する。一方、判断の結果、送信されてきた情報がエラー対処情報である場合は、処理結果確認部34は、エラー対処情報を情報表示部36に送信する。

0034

情報表示部36は、表示装置37の表示画面に、処理結果確認部34から送信された情報を表示させる。具体的には、情報表示部36は、情報が修正プログラムである場合は、修正プログラムの存在を表示画面に表示する(図6参照)。一方、情報表示部36は、情報がエラー対処情報である場合は、それによって特定されるエラーに対する対処の方法を表示画面に表示する(図7参照)。

0035

次に、サーバ装置3の構成を更に具体的に説明する。図1に示すように、サーバ装置3は、端末装置2で発生したエラーに対応して修正プログラム(図9参照)を送信する修正プログラム管理部40を備えている。上述した記憶部45、判定部43、及び通信部42は、修正プログラム管理部40に備えられている。また、修正プログラム管理部40は、これらに加えて、経路情報登録部41も備えている。

0036

経路情報登録部41は、修正プログラム管理データベース44に、予め外部から入力された修正プログラム本体と、プログラム10の実行前に発生した過去のエラーの発生経路を特定する情報(以下、「過去の経路情報」とする。)とを、登録する。過去の経路情報は、修正プログラムが対応するエラー毎に登録されている。

0037

また、過去の経路情報の内容は、上述した経路情報生成部32によって生成される経路情報と同様の内容を含んでおり、具体的には、プログラム名、エラー情報、及びエラー発生直前から数十ステップ遡った部分までに存在する分岐点(分岐命令)を含んでいる(図4参照)。なお、過去の経路情報としては、端末装置2が過去に送信した経路情報を用いても良いし、外部から修正プログラムと共に入力された情報を用いても良い。

0038

また、本実施の形態では、経路情報登録部41は、修正プログラム管理データベース44に、エラーが発生した場合の対処方法を特定するエラー対処情報も登録する(図10参照)。エラー対処情報は、過去のエラーに対応して、具体的には、修正プログラムを適用する必要のない過去のエラーに対応して、予め作成されている。エラー対処情報も、修正プログラムと同様に外部から入力される。

0039

判定部43は、本実施の形態では、端末装置2の通信部33から送信され、通信部42を介して受信した経路情報と、修正プログラム管理データベース44に登録されている過去の経路情報とを対比する。対比の結果、一致する場合、即ち、受信した経路情報によって特定されたエラーに対応した過去の経路情報が存在する場合は、上述したように、判定部43は、対応する修正プログラムを選出し、これを通信部42に送信する。一方、本実施の形態では、対比の結果、一致しない場合は、判定部43は、対応するエラー対処情報を選出し、これを通信部42に送信する。

0040

通信部42は、本実施の形態では、上述したように、端末装置2の通信部33から送信された経路情報を受信する。また、通信部42は、判定部43が選出した修正プログラムに加え、エラー対処情報も、ネットワーク50を介して、端末装置2の通信部33に送信する。

0041

ここで、本発明の実施の形態におけるプログラム修正方法について説明する。但し、本実施の形態におけるプログラム修正方法は、図1に示した端末装置2及びサーバ装置3を動作させることによって実施される。よって、本実施の形態におけるプログラム修正方法の説明は、端末装置2及びサーバ装置3の動作の説明に代える。以下に、図2図10を用いて、端末装置2及びサーバ装置3の動作を説明する。また、以下の説明においては、適宜図1を参酌する。

0042

先ず、図2を用いて、端末装置2における実行部20の動作について説明する。図2は、端末装置におけるプログラムの実行工程を示すフロー図である。図2に示すように、先ず、端末装置2の実行部20は、プログラム10の実行モジュールを実行し(ステップA1)、更に、ログ情報出力モジュールを実行し、ログ情報出力モジュールにログ情報の出力を行わせる(ステップA2)。これにより、プログラム10の経路上の分岐点においてどの分岐が実行されたかを特定可能な情報が、ログ情報のファイル14として出力される。

0043

次に、実行部20は、実行モジュール11に、その実行中にエラーが発生しているかどうかを判定させる(ステップA3)。ステップA3の判定の結果、エラーが発生していない場合は、再度、ステップA1が実行される。

0044

一方、ステップA2の判定の結果、エラーが発生している場合は、実行部20は、エラー情報出力モジュールを実行し、エラー情報出力モジュールに、エラー情報のファイル14の出力を行わせる(ステップA4)。実行モジュール11上でエラーが発生し、ステップA4が実行されると、プログラム10は一旦終了する。

0045

続いて、図3図7を用いて、端末装置2におけるエラー検出部30の動作について説明する。図3は、端末装置におけるエラー検出工程を示すフロー図である。図4は、端末装置が送信する経路情報の一例を示す図である。図5は、修正プログラム格納データベースに格納される情報の一例を示す図である。図6は、端末装置が修正プログラムを受信した場合の表示画面の一例を示す図である。図7は、端末装置がエラー対処情報を受信した場合の表示画面の一例を示す図である。

0046

図2に示したステップA4が実行されると、図3に示すように、先ず、検出部30において、プログラム終了検出部31が、プログラム10の終了を検出する(ステップB1)。次に、経路情報生成部32は、ステップA2及びA4で出力されたファイル14(ログ情報・エラー情報)を取得し、更に、これを用いて、図4に示す経路情報を生成する(ステップB2)。生成された経路情報は、通信部33に送信される。

0047

次に、通信部33は、経路情報生成部32から送信された経路情報を、ネットワーク50を介して、サーバ装置3の通信部42に送信する(ステップB3)。ステップB3が実行されると、エラー検出部30は、サーバ装置3が送信した情報を受信するまで、待機状態となる。

0048

次に、通信部33が、サーバ装置3の修正プログラム管理部40からの情報(確認情報)を受信すると(ステップB4)、これを処理結果確認部34に送信する。処理結果確認部34は修正プログラム管理部40からの情報の内容を確認する。次に、処理結果確認部34は、サーバ装置3の修正プログラム確認部40から送信された情報が修正プログラムであるかどうかを判定する(ステップB5)。

0049

ステップB5での判定の結果、送信されてきた情報が修正プログラムである場合は、処理結果確認部34は、この修正プログラムを修正プログラム格納データベース35に格納する(ステップB6)。また、ステップB6の実行の際、処理結果確認部34は、修正プログラム格納データベース35において修正プログラムを管理するため、図5に示す格納情報も修正プログラム格納データベース35に格納する。更に、このとき、処理結果確認部34は、修正プログラムが格納されたことを示す情報を情報表示部36に送信する。

0050

そして、ステップB6が実行されると、情報表示部36は、例えば、図6に示すように、適用可能な修正プログラムが存在することを、端末装置2の表示画面37に表示する(ステップB7)。

0051

一方、ステップB5での判定の結果、送信されてきた情報が、修正プログラムでない場合、即ち、エラー対処情報である場合は、処理結果確認部34は、エラー対処情報を情報表示部36に送信する。これにより、図7に示すように、エラーに対する対処の方法が、端末装置の表示画面37に表示される(ステップB8)。そして、ステップB7又はステップB8が実行されると、エラー検出部30は、再度、ステップB1から処理を開始する。

0052

続いて、図8図10を用いて、サーバ装置3における修正プログラム管理部40の動作について説明する。図8は、サーバ装置における修正プログラムの管理工程を示すフロー図である。図9は、修正プログラム管理データベースに登録されている情報の一例を示す図である。図10は、修正プログラム管理データベースに登録されているエラー対処情報の一例を示す図である。

0053

図8に示すように、先ず、サーバ装置3の修正プログラム管理部40において、経路情報登録部41が、修正プログラム管理データベース44に、修正プログラム本体と、各修正プログラムに対応する過去の経路情報とを登録する(ステップC1)。具体的には、図9に示すように、各修正プログラムは、対応するプログラム名、エラー情報、及び分岐点情報に関連付けられた状態で登録される。また、ステップC1では、更に、図10に示すように、予め作成されたエラー対処情報も、修正プログラム管理データベース44に登録される。

0054

ステップC1の実行後は、図3に示したステップB3の実行によって、端末装置2から経路情報が送信されてくるまで、修正プログラム管理部40は経路情報の受信待ち状態となる。そして、待機状態にあるときに、端末装置2の送信部33から経路情報が送信されると、通信部42は、ネットワーク50を介して、経路情報を受信する(ステップC2)。

0055

次に、判定部43は、ステップC2で受信された経路情報と、修正プログラム管理データベース44に登録されている過去の経路情報とを対比し、両者が一致しているかどうか、即ち、対応する修正プログラムが登録されているかどうかを判定する(ステップC3)。

0056

例えば、経路情報が、図4に示す、プログラム名「Program01」、エラー情報「0x00000001」、エラー発生直前の分岐点情報「A1−B1−C1−D1・・・」を含んでいるとする。この場合、判定部43は、図4に示す経路情報と、図9に示す修正プログラム管理データベース44に登録されている情報とが一致するかどうかを判定する。図4及び図9の例では、判定部43は、対応する修正プログラムとして「Patch01−01.exe」が登録されていると判定する。

0057

ステップC3の判定の結果、対応する修正プログラムが登録されていない場合は、判定部43は、例えば、図10に示した情報から、対応するエラー対処情報を選出し、これを通信部42に送信する。これにより、通信部42は、選出されたエラー対処情報を、端末装置2のエラー検出部30にネットワーク50を経由して送信する(ステップC40)。そして、ステップC4の実行後、修正プログラム管理部40は、再び、端末装置2から経路情報が送信されてくるまで、経路情報の受信待ち状態となる。

0058

一方、ステップC3の判定の結果、対応する修正プログラムが登録されている場合は、判定部43は、対応する修正プログラムを選出し、これを通信部42に送信する。これにより、通信部42は、修正プログラムを、端末装置2のエラー検出部30にネットワークを経由して送信する(ステップC5)。そして、ステップC5の実行
後も、修正プログラム管理部40は、再び、端末装置2から経路情報が送信されてくるまで、経路情報の受信待ち状態となる。

0059

ステップC4又はステップC5が実行されると、端末装置2のエラー検出部30では、上述したステップB4〜ステップB8が実行され、利用者に、エラーの対処方法又は修正プログラムの存在が通知される。

0060

以上のように、本実施の形態におけるプログラム修正システム及びプログラム修正方法では、エラーが発生した端末装置において、プログラムの実行時に記録されたログ情報と、エラー発生時のエラー情報とから、経路情報が作成される。そして、サーバ装置が、経路情報から、公開済みの修正プログラムによって修正された問題と同じ問題が発生しているかどうかを確認する。更に、サーバ装置は、同じ問題が発生していれば、修正プログラムを該当する端末装置に送信し、そうでない場合はエラー対処情報を端末装置に送信する。その後、端末装置では、該当エラーを解消できる修正プログラムの存在、又はエラーに対する対処方法が利用者に通知される。この結果、利用者は、修正対象となるプログラムの実行状況に応じて、修正プログラムを適用することができる。

0061

また、本実施の形態におけるエラー検出プログラムは、コンピュータに、図3に示したステップB1〜B8を実行させるプログラムであれば良く、このプログラムの実行により、本実施の形態における端末装置2(図1参照)を実現できる。この場合、コンピュータのCPU(central processing unit)は、プログラム終了検出部31、経路情報生成部32、及び処理結果確認部34として機能し、処理を行なう。また、コンピュータに備えられたハードディスク等の記憶装置は、修正プログラム格納データベース35として機能する。更に、コンピュータの通信用インターフェイス回路とCPUとで通信部33が実現され、コンピュータのビデオカードで情報表示部36が実現される。

0062

更に、本実施の形態における管理プログラムは、コンピュータに、図8に示したステップC1〜C5を実行させるプログラムであれば良く、このプログラムの実行により、本実施の形態におけるサーバ装置3(図1参照)を実現できる。この場合、コンピュータのCPU(central processing unit)は、経路情報登録部41、及び判定部43として機能し、処理を行なう。また、コンピュータに備えられたハードディスク等の記憶装置は、修正プログラム管理データベース44として機能することができる。更に、サーバ装置3においても、コンピュータの通信用のインターフェイス回路とCPUとで通信部42が実現される。

0063

また、図1に示した本実施の形態におけるプログラム修正システム1は、エラー情報出力モジュールを実装しているプログラム10に対して適用されているが、本実施の形態は、この例に限定されるものではない。例えば、本実施の形態におけるプログラム修正システム1は、プログラム10が、プログラム本体側の特定情報(バージョン情報やファイル固有の情報等)を取得するモジュールを実装する場合にも適用でき、この場合であっても、上述した処理を実行することができる。

0064

本発明をコンピュータシステムに適用すれば、コンピュータでエラーが発生した場合に、不用意に修正プログラムが適用されることはなく、実行されているプログラムの状況に応じて修正プログラムが適用される。このため、リスクの高い状況を回避できる。本発明のプログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラムは産業上の利用可能性を有している。

0065

1プログラム修正システム
2端末装置
3サーバ装置
10プログラム
11実行モジュール
12ログ情報出力モジュール
13エラー情報出力モジュール
14ファイル(ログ情報/エラー情報)
20 実行部
30エラー検出部
31 プログラム終了検出部
32経路情報生成部
33通信部
34 処理結果確認部
35修正プログラム格納データベース
36情報表示部
37表示装置
40 修正プログラム管理部
41経路情報登録部
42 通信部
43 判定部
44 修正プログラム管理データベース
45 記憶部
50 ネットワーク

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ