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

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

Info

Publication number
JP5499484B2
JP5499484B2 JP2009032778A JP2009032778A JP5499484B2 JP 5499484 B2 JP5499484 B2 JP 5499484B2 JP 2009032778 A JP2009032778 A JP 2009032778A JP 2009032778 A JP2009032778 A JP 2009032778A JP 5499484 B2 JP5499484 B2 JP 5499484B2
Authority
JP
Japan
Prior art keywords
program
information
error
terminal device
correction
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
JP2009032778A
Other languages
English (en)
Other versions
JP2010191527A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009032778A priority Critical patent/JP5499484B2/ja
Publication of JP2010191527A publication Critical patent/JP2010191527A/ja
Application granted granted Critical
Publication of JP5499484B2 publication Critical patent/JP5499484B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、プログラム修正システム、これに用いられる端末装置及びサーバ装置、これらを用いたプログラム修正方法、更には、これらを実現するためのエラー検出プログラム及び管理プログラムに関する。
一般に、コンピュータ・プログラムの分野においては、プログラムのリリース後のバグの発見や改良に伴い、プログラムの提供元は、修正プログラムを作成し、これを利用者に配布している。また、近年のインターネットやLAN等のネットワークの発展に伴い、修正プログラムの配布は、提供元のサーバ装置や、システム管理者が管理しているサーバ装置等からネットワークを介して行われている。
ところで、プログラムに修正プログラムを適用するかどうかの判断は、多くの場合、プログラムがインストールされたコンピュータの利用者に委ねられている。この場合、利用者は、現在のプログラムの条件が、修正プログラムを適用する条件に合致しているかどうかを判定する必要があり、利用者にとって負担となっている。また、利用者が、修正プログラムの適用を怠ると、プログラムの修正が行われないという問題もある。
このため、例えば、特許文献1〜特許文献3は、提供元のサーバ装置や、システム管理者が管理しているサーバ装置によって自動的に修正プログラムを適用するプログラム修正システムを提案している。例えば、特許文献1及び特許文献2に開示のプログラム修正システムでは、管理側のサーバ装置は、端末装置で使用されているプログラムのバージョン情報を検出し、検出したバージョンが最新で無い場合は、これをトリガーとして、修正プログラムの適用を実行する。
また、修正プログラムの中には、適用の際に、予め別の修正プログラムを適用しておかなければならないものもあり、適用のための手順が複雑な場合がある。これに対して、特許文献3に開示のプログラム修正システムでは、サーバ装置は、修正プログラムを適用する際の手順を解析し、複雑な手順が必要な修正プログラムであっても自動的に適用する。この結果、特許文献3に開示のプログラム修正システムを利用すれば、利用者における負担は更に軽減される。
特開平6−214829号公報 特開2003−345597号公報 特開2004−102379号公報
ところで、運用中のシステムにおいて、実行されるプログラムへの修正プログラムの適用はリスクを伴うことがある。よって、プログラムの実行に無関係な修正プログラムについては、可能な限り、実行されるプログラムへの適用を控えるのが好ましいと考えられる。
しかしながら、上記特許文献1〜特許文献3に開示されたプログラム修正システムでは
、適用対象となるプログラムの実行状況については考慮されず、修正プログラムは、実行状況と無関係であっても、自動的に、実行されるプログラムに適用されてしまう。このため、上記特許文献1〜特許文献3に開示されたプログラム修正システムには、リスクの高い状況を招来してしまうという問題がある。
本発明の目的は、上記問題を解消し、修正対象となるプログラムの実行状況に応じて、修正プログラムの適用を行い得る、プログラム修正システム、端末装置、及びサーバ装置、更には、プログラム修正方法、エラー検出プログラム及び管理プログラムを提供することにある。
上記目的を達成するため、本発明におけるプログラム修正システムは、プログラムを実行する端末装置と、前記プログラムの修正プログラムを提供するサーバ装置とを備えるプログラム修正システムであって、
前記端末装置は、
前記プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成する経路情報生成部と、
前記経路情報を前記サーバ装置に送信する通信部とを備え、
前記サーバ装置は、
前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶する記憶部と、
前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定する判定部と、
前記判定部が一致すると判定した場合に、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信する通信部とを備えている、
ことを特徴とする。
上記目的を達成するため、本発明における端末装置は、外部のサーバ装置に接続される端末装置であって、
プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成する経路情報生成部と、
前記経路情報を前記外部のサーバ装置に送信する通信部とを備えている、ことを特徴とする。
上記目的を達成するため、本発明におけるサーバ装置は、プログラムの実行時に発生したエラーの発生経路を特定する経路情報を送信する端末装置に接続されたサーバ装置であって、
前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶する記憶部と、
前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定する判定部と、
前記判定部が一致すると判定した場合に、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信する通信部とを備えている、
ことを特徴とする。
上記目的を達成するため、本発明におけるプログラム修正方法は、端末装置で実行されるプログラムに対して、外部のサーバ装置によって、修正プログラムを適用するためのプログラム修正方法であって、
(a)前記端末装置によって、前記プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成するステップと、(b)前記端末装置によって、前記経路情報を前
記サーバ装置に送信するステップと、
(c)前記サーバ装置によって、前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶するステップと、
(d)前記サーバ装置によって、前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定するステップと、
(e)前記(d)のステップで一致すると判定された場合に、前記サーバ装置によって、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信するステップとを有する、ことを特徴とする。
上記目的を達成するため、本発明におけるエラー検出プログラムは、コンピュータに、(a)プログラムの実行時に発生したエラーの発生経路を特定する経路情報を生成するステップと、
(b)前記経路情報を前記外部のサーバ装置に送信するステップとを実行させる、ことを特徴とする。
上記目的を達成するため、本発明における管理プログラムは、端末装置によって、プログラムの実行時に発生したエラーの発生経路を特定する経路情報が送信された場合に、コンピュータによって、前記端末装置への修正プログラムの送信を行うための管理プログラムであって、
前記コンピュータに、
(a)前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報と共に、前記過去のエラーに対応する修正プログラムを記憶するステップと、
(b)前記端末装置から送信された経路情報が、前記(a)のステップで記憶されている情報に一致するかどうかを判定するステップと、
(c)前記(b)のステップで一致すると判定された場合に、前記(a)のステップで記憶されている前記修正プログラムを前記端末装置に送信するステップとを実行させる、ことを特徴とする。
以上のように、本発明における、プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラムによれば、修正対象となるプログラムの実行状況に応じて、修正プログラムの適用が可能となる。
図1は、本発明の実施の形態における、プログラム修正システム、端末装置及びサーバ装置の概略構成を示すブロック図である。 図2は、端末装置におけるプログラムの実行工程を示すフロー図である。 図3は、端末装置におけるエラー検出工程を示すフロー図である。 図4は、端末装置が送信する経路情報の一例を示す図である。 図5は、修正プログラム格納データベースに格納される情報の一例を示す図である。 図6は、端末装置が修正プログラムを受信した場合の表示画面の一例を示す図である。 図7は、端末装置がエラー対処情報を受信した場合の表示画面の一例を示す図である。 図8は、サーバ装置における修正プログラムの管理工程を示すフロー図である。 図9は、修正プログラム管理データベースに登録されている情報の一例を示す図である。 図10は、修正プログラム管理データベースに登録されているエラー対処情報の一例を示す図である。
(実施の形態)
以下、本発明の実施の形態における、プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラムについて、図1〜図10を参照しながら説明する。最初に、本実施の形態における、プログラム修正システム、端末装置、及びサーバ装置の構成について図1を用いて説明する。
図1は、本発明の実施の形態における、プログラム修正システム、端末装置及びサーバ装置の概略構成を示すブロック図である。図1に示すように、本実施の形態におけるプログラム修正システム1は、プログラムを実行する端末装置2と、プログラムの修正プログラムを提供するサーバ装置3とを備えている。図1においては、単一の端末装置2のみが図示されているが、実際は、端末装置2は複数個であっても良い。
端末装置2は、経路情報生成部32と、通信部33とを備えている。また、端末装置2は、ネットワーク50を介して、サーバ装置3に接続されている。経路情報生成部32は、プログラム10の実行時に発生したエラーの発生経路を特定した経路情報を生成する。ここで、言い換えると、経路情報とは、エラーが発生した原因を特定可能な情報をいう。また、通信部33は、経路情報をサーバ装置3に送信する。
サーバ装置3は、記憶部45と、判定部43と、通信部42とを備えている。記憶部45は、その記憶領域内に、修正プログラム管理データベース44を構築している。修正プログラム管理データベース44は、プログラム10の実行前に発生した過去のエラーの発生経路を特定する情報と共に、過去のエラーに対応する修正プログラムを記憶している。
判定部43は、端末装置2から送信された経路情報が、修正プログラム管理データベース44に記憶されている情報に一致するかどうかを判定する。判定部43は、一致すると判定した場合は、記憶している修正プログラムの中から、対応する修正プログラムを選び出す。通信部42は、選び出された修正プログラムを端末装置2に送信する。
このように、本実施の形態におけるプログラム修正システムでは、現在実行中のプログラムに対して修正プログラムが存在する場合、該修正プログラムが適用可能かどうかは、端末装置2からの経路情報に基づいて判断される。つまり、本実施の形態では、修正プログラムの適用は、実行されているプログラムの実行状況に応じて行われるので、端末装置2がプログラム10を実行することによって構築されるシステムにおいて、リスクの発生が軽減される。なお、本実施の形態において「過去」とは、プログラム10の実行が開始された時点より時間的に前の時点全てをいう。
ここで、図1に基づいて、プログラム修正システム1の構成、即ち、端末装置2及びサーバ装置3の構成を更に具体的に説明する。先ず、端末装置2の構成について具体的に説明する。図1に示すように、本実施の形態では、端末装置2は、プログラム10を実行する実行部20と、エラー検出部30とを備えている。
実行部20で実行されるプログラム10は、本実施の形態では、プログラムの本体部分である実行モジュール11に加え、ログ情報出力モジュール12と、エラー情報出力モジュール13とを備えている。このうち、実行モジュールが、修正プログラムが適用されるプログラム本体である。
ログ情報出力モジュール12は、実行モジュール11の実行時における動作ログを取得し、これを特定するログ情報を出力する。具体的は、ログ情報出力モ
ジュール12は、例えば、実行モジュール11での実行分岐点(実行された分岐命令)を特定可能な各種情報を記録及び累積し、その後、出力する。また、エラー情報出力モジュール12は、実行モジュール11の実行時に発生したエラーを特定可能なエラー情報(エラーが発生した際の各種情報)を記録し、更にこれを出力する。図1において、14は、出力されたログ情報及びエラー情報含むファイルを示している。
エラー検出部30は、上述した経路情報生成部32と、通信部33とに加え、更に、プログラム終了検出部31と、処理結果確認部34と、修正プログラム格納データベース35と、情報表示部36とを備えている。このうち、プログラム終了検出部31は、プログラム10の実行終了の検知を行い、実行終了を検知すると、そのことを経路情報生成部32に通知する。
経路情報生成部32は、本実施の形態では、プログラム終了検出部31による通知を受けた後に、プログラム10の実行時の動作ログから、プログラム10における、エラーの発生前の複数の分岐点を特定し、特定した複数の分岐点を含む情報を経路情報とする。また、経路情報生成部32は、生成した経路情報を通信部33に送信する。
具体的には、経路情報生成部32は、ログ情報・エラー情報を含むファイル14に記録されている情報から、例えば、エラーに関連するログ情報や、エラー発生直前から数十ステップ遡った部分までのログ情報を抽出する。また、経路情報生成部32は、ログ情報・エラー情報14に記録されているログ情報に、同一事象を複数回繰り返し記録するログ情報が含まれている場合は、複数回繰り返し記録された事象を1回の事象にまとめる。即ち、ログ情報にプログラムのループ処理の実行形跡が存在する場合、経路情報生成部32は、ループ処理が全体で1ステップとなるように情報を加工する。その後、経路情報生成部32は、エラーに関連するログ情報を抽出する。
そして、経路情報生成部32は、抽出したログ情報から、例えば、プログラム名、及びエラー発生直前から数十ステップ遡った部分までに存在する分岐点(分岐命令)を取得し、これらとエラー情報とを合わせて経路情報とする(図4参照)。このような経路情報によれば、プログラム上の分岐点での経路からエラーの発生経路が容易に特定されるので、修正プログラムの適用が必要かどうかを適切に判断できる。
通信部33は、本実施の形態では、ネットワーク50を経由して、サーバ装置3の通信部42に接続されており、これに経路情報を送信する。また、通信部33は、データを送信する機能だけでなく、サーバ装置3からのデータを受信する機能も備えている。具体的には、通信部33は、サーバ装置3の修正プログラム管理部40が送信した情報を受信する。また、通信部33は、受信した情報を処理結果確認部34に送信する。
処理結果確認部34は、サーバ装置3の修正プログラム管理部40から送信された情報の種類について判断する。本実施の形態では、後述するように、修正プログラム管理部40は、エラーの内容に応じて、修正プログラム、又はエラー対処情報を送信する。よって、処理結果確認部34は、送信されてきた情報が修正プログラムであるか、又はエラー対処情報であるかを判断する。
また、判断の結果、修正プログラム管理部40から送信されてきた情報が修正プログラムである場合は、処理結果確認部34は、この修正プログラムを修正プログラム格納データベース35に格納する。更に、このとき、処理結果確認部34は、修正プログラムが格納されたことを示す情報を情報表示部36に送信する。一方、判断の結果、送信されてきた情報がエラー対処情報である場合は、処理結果確認部34は、エラー対処情報を情報表示部36に送信する。
情報表示部36は、表示装置37の表示画面に、処理結果確認部34から送信された情報を表示させる。具体的には、情報表示部36は、情報が修正プログラムである場合は、修正プログラムの存在を表示画面に表示する(図6参照)。一方、情報表示部36は、情報がエラー対処情報である場合は、それによって特定されるエラーに対する対処の方法を表示画面に表示する(図7参照)。
次に、サーバ装置3の構成を更に具体的に説明する。図1に示すように、サーバ装置3は、端末装置2で発生したエラーに対応して修正プログラム(図9参照)を送信する修正プログラム管理部40を備えている。上述した記憶部45、判定部43、及び通信部42は、修正プログラム管理部40に備えられている。また、修正プログラム管理部40は、これらに加えて、経路情報登録部41も備えている。
経路情報登録部41は、修正プログラム管理データベース44に、予め外部から入力された修正プログラム本体と、プログラム10の実行前に発生した過去のエラーの発生経路を特定する情報(以下、「過去の経路情報」とする。)とを、登録する。過去の経路情報は、修正プログラムが対応するエラー毎に登録されている。
また、過去の経路情報の内容は、上述した経路情報生成部32によって生成される経路情報と同様の内容を含んでおり、具体的には、プログラム名、エラー情報、及びエラー発生直前から数十ステップ遡った部分までに存在する分岐点(分岐命令)を含んでいる(図4参照)。なお、過去の経路情報としては、端末装置2が過去に送信した経路情報を用いても良いし、外部から修正プログラムと共に入力された情報を用いても良い。
また、本実施の形態では、経路情報登録部41は、修正プログラム管理データベース44に、エラーが発生した場合の対処方法を特定するエラー対処情報も登録する(図10参照)。エラー対処情報は、過去のエラーに対応して、具体的には、修正プログラムを適用する必要のない過去のエラーに対応して、予め作成されている。エラー対処情報も、修正プログラムと同様に外部から入力される。
判定部43は、本実施の形態では、端末装置2の通信部33から送信され、通信部42を介して受信した経路情報と、修正プログラム管理データベース44に登録されている過去の経路情報とを対比する。対比の結果、一致する場合、即ち、受信した経路情報によって特定されたエラーに対応した過去の経路情報が存在する場合は、上述したように、判定部43は、対応する修正プログラムを選出し、これを通信部42に送信する。一方、本実施の形態では、対比の結果、一致しない場合は、判定部43は、対応するエラー対処情報を選出し、これを通信部42に送信する。
通信部42は、本実施の形態では、上述したように、端末装置2の通信部33から送信された経路情報を受信する。また、通信部42は、判定部43が選出した修正プログラムに加え、エラー対処情報も、ネットワーク50を介して、端末装置2の通信部33に送信する。
ここで、本発明の実施の形態におけるプログラム修正方法について説明する。但し、本実施の形態におけるプログラム修正方法は、図1に示した端末装置2及びサーバ装置3を動作させることによって実施される。よって、本実施の形態におけるプログラム修正方法の説明は、端末装置2及びサーバ装置3の動作の説明に代える。以下に、図2〜図10を用いて、端末装置2及びサーバ装置3の動作を説明する。また、以下の説明においては、適宜図1を参酌する。
先ず、図2を用いて、端末装置2における実行部20の動作について説明する。図2は、端末装置におけるプログラムの実行工程を示すフロー図である。図2に示すように、先ず、端末装置2の実行部20は、プログラム10の実行モジュールを実行し(ステップA1)、更に、ログ情報出力モジュールを実行し、ログ情報出力モジュールにログ情報の出力を行わせる(ステップA2)。これにより、プログラム10の経路上の分岐点においてどの分岐が実行されたかを特定可能な情報が、ログ情報のファイル14として出力される。
次に、実行部20は、実行モジュール11に、その実行中にエラーが発生しているかどうかを判定させる(ステップA3)。ステップA3の判定の結果、エラーが発生していない場合は、再度、ステップA1が実行される。
一方、ステップA2の判定の結果、エラーが発生している場合は、実行部20は、エラー情報出力モジュールを実行し、エラー情報出力モジュールに、エラー情報のファイル14の出力を行わせる(ステップA4)。実行モジュール11上でエラーが発生し、ステップA4が実行されると、プログラム10は一旦終了する。
続いて、図3〜図7を用いて、端末装置2におけるエラー検出部30の動作について説明する。図3は、端末装置におけるエラー検出工程を示すフロー図である。図4は、端末装置が送信する経路情報の一例を示す図である。図5は、修正プログラム格納データベースに格納される情報の一例を示す図である。図6は、端末装置が修正プログラムを受信した場合の表示画面の一例を示す図である。図7は、端末装置がエラー対処情報を受信した場合の表示画面の一例を示す図である。
図2に示したステップA4が実行されると、図3に示すように、先ず、検出部30において、プログラム終了検出部31が、プログラム10の終了を検出する(ステップB1)。次に、経路情報生成部32は、ステップA2及びA4で出力されたファイル14(ログ情報・エラー情報)を取得し、更に、これを用いて、図4に示す経路情報を生成する(ステップB2)。生成された経路情報は、通信部33に送信される。
次に、通信部33は、経路情報生成部32から送信された経路情報を、ネットワーク50を介して、サーバ装置3の通信部42に送信する(ステップB3)。ステップB3が実行されると、エラー検出部30は、サーバ装置3が送信した情報を受信するまで、待機状態となる。
次に、通信部33が、サーバ装置3の修正プログラム管理部40からの情報(確認情報)を受信すると(ステップB4)、これを処理結果確認部34に送信する。処理結果確認部34は修正プログラム管理部40からの情報の内容を確認する。次に、処理結果確認部34は、サーバ装置3の修正プログラム管理部40から送信された情報が修正プログラムであるかどうかを判定する(ステップB5)。
ステップB5での判定の結果、送信されてきた情報が修正プログラムである場合は、処理結果確認部34は、この修正プログラムを修正プログラム格納データベース35に格納する(ステップB6)。また、ステップB6の実行の際、処理結果確認部34は、修正プログラム格納データベース35において修正プログラムを管理するため、図5に示す格納情報も修正プログラム格納データベース35に格納する。更に、このとき、処理結果確認部34は、修正プログラムが格納されたことを示す情報を情報表示部36に送信する。
そして、ステップB6が実行されると、情報表示部36は、例えば、図6に示すように、適用可能な修正プログラムが存在することを、端末装置2の表示画面37に表示する(ステップB7)。
一方、ステップB5での判定の結果、送信されてきた情報が、修正プログラムでない場合、即ち、エラー対処情報である場合は、処理結果確認部34は、エラー対処情報を情報表示部36に送信する。これにより、図7に示すように、エラーに対する対処の方法が、端末装置の表示画面37に表示される(ステップB8)。そして、ステップB7又はステップB8が実行されると、エラー検出部30は、再度、ステップB1から処理を開始する。
続いて、図8〜図10を用いて、サーバ装置3における修正プログラム管理部40の動作について説明する。図8は、サーバ装置における修正プログラムの管理工程を示すフロー図である。図9は、修正プログラム管理データベースに登録されている情報の一例を示す図である。図10は、修正プログラム管理データベースに登録されているエラー対処情報の一例を示す図である。
図8に示すように、先ず、サーバ装置3の修正プログラム管理部40において、経路情報登録部41が、修正プログラム管理データベース44に、修正プログラム本体と、各修正プログラムに対応する過去の経路情報とを登録する(ステップC1)。具体的には、図9に示すように、各修正プログラムは、対応するプログラム名、エラー情報、及び分岐点情報に関連付けられた状態で登録される。また、ステップC1では、更に、図10に示すように、予め作成されたエラー対処情報も、修正プログラム管理データベース44に登録される。
ステップC1の実行後は、図3に示したステップB3の実行によって、端末装置2から経路情報が送信されてくるまで、修正プログラム管理部40は経路情報の受信待ち状態となる。そして、待機状態にあるときに、端末装置2の送信部33から経路情報が送信されると、通信部42は、ネットワーク50を介して、経路情報を受信する(ステップC2)。
次に、判定部43は、ステップC2で受信された経路情報と、修正プログラム管理データベース44に登録されている過去の経路情報とを対比し、両者が一致しているかどうか、即ち、対応する修正プログラムが登録されているかどうかを判定する(ステップC3)。
例えば、経路情報が、図4に示す、プログラム名「Program01」、エラー情報「0x00000001」、エラー発生直前の分岐点情報「A1−B1−C1−D1・・・」を含んでいるとする。この場合、判定部43は、図4に示す経路情報と、図9に示す修正プログラム管理データベース44に登録されている情報とが一致するかどうかを判定する。図4及び図9の例では、判定部43は、対応する修正プログラムとして「Patch01−01.exe」が登録されていると判定する。
ステップC3の判定の結果、対応する修正プログラムが登録されていない場合は、判定部43は、例えば、図10に示した情報から、対応するエラー対処情報を選出し、これを通信部42に送信する。これにより、通信部42は、選出されたエラー対処情報を、端末装置2のエラー検出部30にネットワーク50を経由して送信する(ステップC40)。そして、ステップC4の実行後、修正プログラム管理部40は、再び、端末装置2から経路情報が送信されてくるまで、経路情報の受信待ち状態となる。
一方、ステップC3の判定の結果、対応する修正プログラムが登録されている場合は、判定部43は、対応する修正プログラムを選出し、これを通信部42に送信する。これにより、通信部42は、修正プログラムを、端末装置2のエラー検出部30にネットワークを経由して送信する(ステップC5)。そして、ステップC5の実行
後も、修正プログラム管理部40は、再び、端末装置2から経路情報が送信されてくるまで、経路情報の受信待ち状態となる。
ステップC4又はステップC5が実行されると、端末装置2のエラー検出部30では、上述したステップB4〜ステップB8が実行され、利用者に、エラーの対処方法又は修正プログラムの存在が通知される。
以上のように、本実施の形態におけるプログラム修正システム及びプログラム修正方法では、エラーが発生した端末装置において、プログラムの実行時に記録されたログ情報と、エラー発生時のエラー情報とから、経路情報が作成される。そして、サーバ装置が、経路情報から、公開済みの修正プログラムによって修正された問題と同じ問題が発生しているかどうかを確認する。更に、サーバ装置は、同じ問題が発生していれば、修正プログラムを該当する端末装置に送信し、そうでない場合はエラー対処情報を端末装置に送信する。その後、端末装置では、該当エラーを解消できる修正プログラムの存在、又はエラーに対する対処方法が利用者に通知される。この結果、利用者は、修正対象となるプログラムの実行状況に応じて、修正プログラムを適用することができる。
また、本実施の形態におけるエラー検出プログラムは、コンピュータに、図3に示したステップB1〜B8を実行させるプログラムであれば良く、このプログラムの実行により、本実施の形態における端末装置2(図1参照)を実現できる。この場合、コンピュータのCPU(central processing unit)は、プログラム終了検出部31、経路情報生成部32、及び処理結果確認部34として機能し、処理を行なう。また、コンピュータに備えられたハードディスク等の記憶装置は、修正プログラム格納データベース35として機能する。更に、コンピュータの通信用のインターフェイス回路とCPUとで通信部33が実現され、コンピュータのビデオカードで情報表示部36が実現される。
更に、本実施の形態における管理プログラムは、コンピュータに、図8に示したステップC1〜C5を実行させるプログラムであれば良く、このプログラムの実行により、本実施の形態におけるサーバ装置3(図1参照)を実現できる。この場合、コンピュータのCPU(central processing unit)は、経路情報登録部41、及び判定部43として機能し、処理を行なう。また、コンピュータに備えられたハードディスク等の記憶装置は、修正プログラム管理データベース44として機能することができる。更に、サーバ装置3においても、コンピュータの通信用のインターフェイス回路とCPUとで通信部42が実現される。
また、図1に示した本実施の形態におけるプログラム修正システム1は、エラー情報出力モジュールを実装しているプログラム10に対して適用されているが、本実施の形態は、この例に限定されるものではない。例えば、本実施の形態におけるプログラム修正システム1は、プログラム10が、プログラム本体側の特定情報(バージョン情報やファイル固有の情報等)を取得するモジュールを実装する場合にも適用でき、この場合であっても、上述した処理を実行することができる。
本発明をコンピュータシステムに適用すれば、コンピュータでエラーが発生した場合に、不用意に修正プログラムが適用されることはなく、実行されているプログラムの状況に応じて修正プログラムが適用される。このため、リスクの高い状況を回避できる。本発明のプログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラムは産業上の利用可能性を有している。
1 プログラム修正システム
2 端末装置
3 サーバ装置
10 プログラム
11 実行モジュール
12 ログ情報出力モジュール
13 エラー情報出力モジュール
14 ファイル(ログ情報/エラー情報)
20 実行部
30 エラー検出部
31 プログラム終了検出部
32 経路情報生成部
33 通信部
34 処理結果確認部
35 修正プログラム格納データベース
36 情報表示部
37 表示装置
40 修正プログラム管理部
41 経路情報登録部
42 通信部
43 判定部
44 修正プログラム管理データベース
45 記憶部
50 ネットワーク

Claims (18)

  1. プログラムを実行する端末装置と、前記プログラムの修正プログラムを提供するサーバ装置とを備えるプログラム修正システムであって、
    前記端末装置は、
    前記プログラムの実行時に発生したエラーの発生経路を特定する経路情報として、前記プログラムの実行時の動作ログから特定した、前記エラーの発生前の複数の分岐点を含む、情報を生成する経路情報生成部と、
    前記経路情報を前記サーバ装置に送信する通信部とを備え、
    前記サーバ装置は、
    前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報として、前記プログラムにおける、前記過去のエラーの発生前の複数の分岐点を特定する情報を記憶し、更に、前記過去のエラーに対応する修正プログラムを記憶する記憶部と、
    前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定する判定部と、
    前記判定部が一致すると判定した場合に、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信する通信部とを備えている、
    ことを特徴とするプログラム修正システム。
  2. 前記サーバ装置の前記記憶部が、前記過去のエラーに対応して、当該エラーが発生した場合の対処方法が特定されたエラー対処情報を更に記憶し、
    前記サーバ装置の前記通信部が、前記判定部が一致しないと判定した場合に、前記経路情報で特定されるエラーに対応した前記エラー対処情報を、前記端末装置に送信する、請求項1に記載のプログラム修正システム。
  3. 前記プログラムが、実行時において、動作ログを特定するログ情報と実行時に発生したエラーを特定するエラー情報とを出力可能な場合において、
    前記端末装置の前記経路情報生成部が、前記ログ情報及び前記エラー情報に基づいて、前記経路情報を生成する、請求項1または2に記載のプログラム修正システム。
  4. 前記端末装置の前記経路情報生成部が、前記プログラムの実行の終了を検出した後に、前記経路情報を生成する、請求項1〜3のいずれかに記載のプログラム修正システム。
  5. 外部のサーバ装置に接続される端末装置であって、
    プログラムの実行時に発生したエラーの発生経路を特定する経路情報として、前記プログラムの実行時の動作ログから特定した、前記エラーの発生前の複数の分岐点を含む、情報を生成する経路情報生成部と、
    前記経路情報を前記外部のサーバ装置に送信する通信部とを備え、
    前記通信部は、
    前記サーバ装置によって、当該端末装置から送信された経路情報が、予め前記サーバ装置に記憶されている、前記プログラムにおける、過去のエラーの発生前の複数の分岐点を特定する情報に一致すると判定され、そして、前記サーバ装置によって、予め前記サーバ装置に記憶されている、前記過去のエラーに対応する修正プログラムが前記端末装置に送信されたときに、前記修正プログラムを受信する、ことを特徴とする端末装置。
  6. 前記プログラムが、実行時において、動作ログを特定するログ情報と実行時に発生したエラーを特定するエラー情報とを出力可能な場合において、 前記経路情報生成部が、前記ログ情報及び前記エラー情報に基づいて、前記経路情報を生成する、請求項5に記載の端末装置。
  7. 前記経路情報生成部が、前記プログラムの実行の終了を検出した後に、前記経路情報を生成する、請求項5または6に記載の端末装置。
  8. プログラムの実行時に発生したエラーの発生経路を特定する経路情報として、前記プログラムの実行時の動作ログから特定した、前記エラーの発生前の複数の分岐点を含む、情報を送信する端末装置に接続されたサーバ装置であって、
    前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報として、前記プログラムにおける、前記過去のエラーの発生前の複数の分岐点を特定する情報を記憶し、更に、前記過去のエラーに対応する修正プログラムを記憶する記憶部と、
    前記端末装置から送信された経路情報が、前記記憶部に記憶されている情報に一致するかどうかを判定する判定部と、
    前記判定部が一致すると判定した場合に、前記記憶部に記憶されている前記修正プログラムを前記端末装置に送信する通信部とを備えている、
    ことを特徴とするサーバ装置。
  9. 前記記憶部が、前記過去のエラーに対応して、当該エラーが発生した場合の対処方法が特定されたエラー対処情報を更に記憶し、
    前記通信部が、前記判定部が一致しないと判定した場合に、前記経路情報で特定されるエラーに対応した前記エラー対処情報を、前記端末装置に送信する、請求項8に記載のサーバ装置。
  10. 端末装置で実行されるプログラムに対して、外部のサーバ装置によって、修正プログラムを適用するためのプログラム修正方法であって、
    (a)前記端末装置によって、前記プログラムの実行時に発生したエラーの発生経路を特定する経路情報として、前記プログラムの実行時の動作ログから特定した、前記エラーの発生前の複数の分岐点を含む、情報を生成するステップと、
    (b)前記端末装置によって、前記経路情報を前記サーバ装置に送信するステップと、
    (c)前記サーバ装置によって、前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報として、前記プログラムにおける、前記過去のエラーの発生前の複数の分岐点を特定する情報を記憶し、更に、前記過去のエラーに対応する修正プログラムを記憶するステップと、
    (d)前記サーバ装置によって、前記端末装置から送信された経路情報が、前記(c)のステップで記憶されている情報に一致するかどうかを判定するステップと、
    (e)前記(d)のステップで一致すると判定された場合に、前記サーバ装置によって、前記(c)のステップで記憶されている前記修正プログラムを前記端末装置に送信するステップとを有する、ことを特徴とするプログラム修正方法。
  11. 前記(c)のステップで、前記サーバ装置によって、前記過去のエラーに対応して、当該エラーが発生した場合の対処方法が特定されたエラー対処情報を更に記憶し、
    前記(e)のステップで、前記(d)のステップにおいて一致しないと判定された場合に、前記サーバ装置によって、前記経路情報で特定されるエラーに対応した前記エラー対処情報を、前記端末装置に送信する、請求項10に記載のプログラム修正方法。
  12. 前記プログラムが、実行時において、動作ログを特定するログ情報と実行時に発生したエラーを特定するエラー情報とを出力可能な場合において、
    前記(a)のステップで、前記端末装置によって、前記ログ情報及び前記エラー情報に基づいて、前記経路情報を生成する、請求項10または11に記載のプログラム修正方法。
  13. 前記(a)のステップで、前記端末装置によって、前記プログラムの実行の終了を検出した後に、前記経路情報を生成する、請求項10〜12のいずれかに記載のプログラム修正方法。
  14. コンピュータに、
    (a)プログラムの実行時に発生したエラーの発生経路を特定する経路情報として、前記プログラムの実行時の動作ログから特定した、前記エラーの発生前の複数の分岐点を含む、情報を生成するステップと、
    (b)前記経路情報を外部のサーバ装置に送信するステップと、
    (c)前記サーバ装置によって、前記(b)のステップで送信された経路情報が、予め前記サーバ装置に記憶されている、前記プログラムにおける、過去のエラーの発生前の複数の分岐点を特定する情報に一致すると判定され、そして、前記サーバ装置によって、予め前記サーバ装置に記憶されている、前記過去のエラーに対応する修正プログラムが前記コンピュータに送信されたときに、前記修正プログラムを受信する、ステップと、
    を実行させる、ことを特徴とするエラー検出プログラム。
  15. 前記プログラムが、実行時において、動作ログを特定するログ情報と実行時に発生したエラーを特定するエラー情報とを出力可能な場合において、
    前記(a)のステップで、前記ログ情報及び前記エラー情報に基づいて、前記経路情報を生成する、請求項14に記載のエラー検出プログラム。
  16. 前記(a)のステップで、前記プログラムの実行の終了を検出した後に、前記経路情報を生成する、請求項14または15に記載のエラー検出プログラム。
  17. 端末装置によって、プログラムの実行時に発生したエラーの発生経路を特定する経路情報として、前記プログラムの実行時の動作ログから特定した、前記エラーの発生前の複数の分岐点を含む、情報が送信された場合に、コンピュータによって、前記端末装置への修正プログラムの送信を行うための管理プログラムであって、
    前記コンピュータに、
    (a)前記プログラムの実行前に発生した過去のエラーの発生経路を特定する情報として、前記プログラムにおける、前記過去のエラーの発生前の複数の分岐点を特定する情報を記憶し、更に、前記過去のエラーに対応する修正プログラムを記憶するステップと、
    (b)前記端末装置から送信された経路情報が、前記(a)のステップで記憶されている情報に一致するかどうかを判定するステップと、
    (c)前記(b)のステップで一致すると判定された場合に、前記(a)のステップで記憶されている前記修正プログラムを前記端末装置に送信するステップとを実行させる、ことを特徴とする管理プログラム。
  18. 前記(a)のステップで、前記過去のエラーに対応して、当該エラーが発生した場合の対処方法が特定されたエラー対処情報を更に記憶し、
    前記(c)のステップで、前記(b)のステップにおいて一致しないと判定された場合に、前記経路情報で特定されるエラーに対応した前記エラー対処情報を、前記端末装置に送信する、請求項17に記載の管理プログラム。
JP2009032778A 2009-02-16 2009-02-16 プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラム Expired - Fee Related JP5499484B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009032778A JP5499484B2 (ja) 2009-02-16 2009-02-16 プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009032778A JP5499484B2 (ja) 2009-02-16 2009-02-16 プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラム

Publications (2)

Publication Number Publication Date
JP2010191527A JP2010191527A (ja) 2010-09-02
JP5499484B2 true JP5499484B2 (ja) 2014-05-21

Family

ID=42817537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009032778A Expired - Fee Related JP5499484B2 (ja) 2009-02-16 2009-02-16 プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラム

Country Status (1)

Country Link
JP (1) JP5499484B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014013457A (ja) 2012-07-03 2014-01-23 Fujitsu Ltd パッチ判定プログラム、パッチ判定方法および情報処理装置
KR101592717B1 (ko) 2014-06-27 2016-02-05 주식회사 엘지씨엔에스 프로그램 관리 시스템 및 그것의 관리 방법
JP7014438B2 (ja) * 2019-01-23 2022-02-15 Necプラットフォームズ株式会社 プログラム管理方法、管理サーバ及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07214829A (ja) * 1994-01-28 1995-08-15 Brother Ind Ltd テープ印刷装置用印刷データ作成装置
JP2007004272A (ja) * 2005-06-21 2007-01-11 Fuji Xerox Co Ltd 情報処理装置、情報処理システム、及び情報処理方法
JP4737624B2 (ja) * 2006-03-06 2011-08-03 株式会社日立ソリューションズ アプリケーションの障害原因の特定作業支援システム
JP5040129B2 (ja) * 2006-03-15 2012-10-03 富士通株式会社 障害ログ自動選択収集方法および装置
JP4896573B2 (ja) * 2006-04-20 2012-03-14 株式会社東芝 障害監視システムと方法、およびプログラム

Also Published As

Publication number Publication date
JP2010191527A (ja) 2010-09-02

Similar Documents

Publication Publication Date Title
US8799709B2 (en) Snapshot management method, snapshot management apparatus, and computer-readable, non-transitory medium
US9037642B2 (en) Platform for deployment and distribution of modules to endpoints
US20160291940A1 (en) Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9092230B2 (en) Configuration of componentized software applications
EP2876865B1 (en) Communication apparatus, communication system, communication method and recording medium
CN108804215B (zh) 一种任务处理方法、装置以及电子设备
US10176327B2 (en) Method and device for preventing application in an operating system from being uninstalled
JP2005285118A (ja) リモートソフトウェアサポートエージェントシステム
WO2017071207A1 (zh) 一种应用安装方法、相关装置及应用安装系统
TW201407341A (zh) 修復軟體運行錯誤的方法、裝置及系統
US6804773B1 (en) System and method for transferring information over a network
US20050038832A1 (en) Application error recovery using solution database
US10404568B2 (en) Agent manager for distributed transaction monitoring system
US11726800B2 (en) Remote component loader
US8694831B2 (en) Automatic bug reporting tool
JP5198154B2 (ja) 障害監視システム及びデバイスと監視装置並びに障害監視方法
CN105897461A (zh) 多系统ota升级方法和多系统设备
US8914798B2 (en) Production control for service level agreements
WO2022267407A1 (zh) 一种基于自动化运维工具的代理部署方法及装置
US20100333066A1 (en) Method and system for managing software issues
JP5499484B2 (ja) プログラム修正システム、端末装置、サーバ装置、プログラム修正方法、エラー検出プログラム及び管理プログラム
CN108521342B (zh) 一种集群的管理方法及装置
JP2009037589A (ja) プログラム判定装置、プログラム判定方法及びプログラム
CN112579330B (zh) 操作系统异常数据的处理方法、装置及设备
JP5013999B2 (ja) 画像形成装置、プログラム制御方法、及び制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140124

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: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5499484

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees