JP2007317089A - System, method and program for automatically updating software - Google Patents
System, method and program for automatically updating software Download PDFInfo
- Publication number
- JP2007317089A JP2007317089A JP2006148245A JP2006148245A JP2007317089A JP 2007317089 A JP2007317089 A JP 2007317089A JP 2006148245 A JP2006148245 A JP 2006148245A JP 2006148245 A JP2006148245 A JP 2006148245A JP 2007317089 A JP2007317089 A JP 2007317089A
- Authority
- JP
- Japan
- Prior art keywords
- software
- update
- version
- file
- automatic
- 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.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、コンピュータ装置に不具合が発生したときに、ソフトウェアを自動的に更新するシステム、及びその方法、並びにこのシステムに用いられるプログラムに関する。 The present invention relates to a system for automatically updating software when a problem occurs in a computer apparatus, a method thereof, and a program used in the system.
従来、ソフトウェアを更新する際には、ソフトウェアの提供者から新たなバージョンのソフトウェアを取得し、対象となるパーソナルコンピュータにインストールしていた。ここで、新たなバージョンの入手方法としては、電子メールで取得したり、ウェブサーバからダウンロードしたり、フレキシブルディスクやCD−R(Compact Disk Recordable)などの媒体により取得したりすることがあげられる。
新しいバージョンのソフトウェアをインストールするタイミングとしては、対象となるアプリケーションを起動する前や、終了させた後があげられ、ソフトウェアの入れ替えを行った後には、コンピュータ装置を再起動するという手順がとられている。さらに、更新対象となるソフトウェアを配布し、更新するための手順としては、動的にデータベースを検索し、新しいバージョンのソフトウェアを自動的に取得する方法がある(例えば、特許文献1参照)。さらに、この種のソフトウェアの中には、更新後のソフトウェアの正常動作を確認する手段を備え、異常が発生したと判断した場合には、更新前のバージョンに自動的に戻すものがある(例えば、特許文献2参照)。
The timing for installing a new version of the software is before the target application is started or after it is terminated, and after replacing the software, the computer device is restarted. Yes. Furthermore, as a procedure for distributing and updating software to be updated, there is a method of dynamically searching a database and automatically acquiring a new version of software (see, for example, Patent Document 1). Furthermore, some software of this type includes means for confirming the normal operation of the updated software, and if it is determined that an abnormality has occurred, the software is automatically returned to the version before the update (for example, , See Patent Document 2).
しかしながら、この種のソフトウェア自動配布システムは、新しいバージョンが段階的にリリースされることを前提とするもので、その都度動作確認を行って、異常などの不具合が発生したときに更新前のバージョンに戻すという手法がとられているので、不具合が発生した時に戻すことができるのは、直前に動作を確認したバージョンのソフトウェアのみであった。
ここで、主に生産工場の設備などに使用されるソフトウェアは、不具合として解析困難な問題に対する対策として、複数のバージョンを用意し、適当なものを選択する場合がある。さらに、バージョンアップに盛り込みたい処理内容が複数あるときに、それらの処理が同一のアプリケーションとして共存させられない場合がある。このような場合には、更新対象となるソフトウェアが同時に複数個リリースされるが、従来のソフトウェア自動配布システムでは、これら複数個のソフトウェアの中から最適なバージョンのソフトウェアを自動的に選択し、インストールすることはできなかった。そして、生産工場などでは、不具合が発生した場合には、その都度、システム設計者などが呼び出され、不具合の原因などを調べて、システムを再起動させなければならないので、作業効率が悪かった。
この発明は、このような事情に鑑みてなされたものであり、その目的とするところは、複数のバージョンのソフトウェアを選択可能にし、直前のバージョンに限定されずに、最適なバージョンを自動的に選択するようにすることである。
However, this type of software automatic distribution system is based on the premise that a new version will be released in stages. Since the method of returning is taken, only the version of the software whose operation was confirmed immediately before can be returned when a failure occurs.
Here, as software used mainly for production facility equipment, a plurality of versions may be prepared and appropriate software may be selected as a countermeasure against a problem that is difficult to analyze as a problem. Furthermore, when there are a plurality of processing contents to be included in the version upgrade, these processes may not coexist as the same application. In such a case, multiple pieces of software to be updated are released at the same time, but the conventional automatic software distribution system automatically selects and installs the optimum version of software from these multiple software. I couldn't. In a production factory or the like, when a problem occurs, a system designer or the like is called each time to investigate the cause of the problem and restart the system, resulting in poor work efficiency.
The present invention has been made in view of such circumstances, and an object of the present invention is to make it possible to select a plurality of versions of software and automatically select an optimal version without being limited to the immediately preceding version. It is to let you choose.
上記の課題を解決する本発明は、ソフトウェアをコンピュータ装置に実行させるにあたり、前記ソフトウェアについてバージョンの異なる複数種類のソフトウェアを更新ソフトウェアとして記憶する手段と、前記ソフトウェアを更新するときに、予め定められた優先順位に従って、複数のバージョンからいずれか1つのバージョンを選択するバージョン選択部と、前記バージョン選択部で選択されたバージョンの前記更新ソフトウェアを実行用のソフトウェアとして更新するソフトウェア更新処理部とを有することを特徴とするソフトウェア自動更新システムとした。
このソフトウェア自動更新システムでは、コンピュータ装置に実行させ、運用するソフトウェアを更新する場合に、そのソフトウェアに対して用意されている複数のバージョンから特定のバージョンが選択される。そして、選択されたバージョンのファイルを実行ファイルとして更新し、そのコンピュータ装置に実行させる。バージョンの選択にあたっては、予め設定しておいた条件等に基づいて行われる。
The present invention for solving the above-mentioned problems is a means for storing a plurality of types of software having different versions of the software as update software when causing the computer apparatus to execute the software, and predetermined when the software is updated. A version selection unit that selects any one version from a plurality of versions according to priority, and a software update processing unit that updates the update software of the version selected by the version selection unit as execution software. Software automatic update system characterized by
In this automatic software update system, when updating software to be executed by a computer device, a specific version is selected from a plurality of versions prepared for the software. Then, the selected version of the file is updated as an execution file, and is executed by the computer device. The version is selected based on preset conditions or the like.
本発明によれば、コンピュータ装置に実行させ、運用させるソフトウェアの更新を行うにあたり、そのソフトウェアについてバージョンの異なる複数の候補を用意し、これら候補の中から選択される一のバージョンのソフトウェアに更新するようにしたので、最も安定して動作できるバージョンのソフトウェアを実行させることが可能になる。特に、24時間稼動するシステムにおいて、安定した運用が可能になる。また、複数のバージョンの動作確認が必要な場合には、バージョン選択部の条件を設定することによって、そのような確認作業を自動的に行うことが可能になる。さらに、同じソフトウェアを実行させるコンピュータ装置が複数ネットワーク接続されている場合には、特定のコンピュータ装置における実績に基づいて最適なソフトウェアが自動的に更新されるようになるので、バージョンの管理が容易になる。 According to the present invention, when updating software to be executed and operated by a computer apparatus, a plurality of candidates having different versions are prepared for the software, and updated to one version of software selected from these candidates. As a result, it is possible to execute a version of software that can operate most stably. In particular, stable operation is possible in a system that operates for 24 hours. In addition, when it is necessary to confirm the operation of a plurality of versions, it is possible to automatically perform such confirmation by setting the conditions of the version selection unit. In addition, when multiple computer devices that execute the same software are connected to the network, the optimum software is automatically updated based on the results of the specific computer device, so that version management is easy. Become.
発明を実施するための最良の形態について図面を参照しながら詳細に説明する。
図1は、本発明の第1の実施の形態における自動ソフト更新システムのシステム構成を示しており、コンピュータ装置で起動中のソフトウェア構造を簡略化したブロック図になっている。
この自動ソフト更新システムが適用されるコンピュータ装置では、機能別アプリケーション100と、起動停止管理アプリケーション103との2つのソフトウェアが実行可能になっている。機能別アプリケーション100は、Aモジュール101と、Bモジュール102との2つに機能分割された構成になっている。この機能別アプリケーション100は、例えば、ソケット通信等の通信手段を備えており、起動停止管理アプリケーション103と情報伝達を行うようになっている。
The best mode for carrying out the invention will be described in detail with reference to the drawings.
FIG. 1 shows a system configuration of an automatic software update system according to a first embodiment of the present invention, and is a simplified block diagram of a software structure that is running on a computer device.
In a computer device to which this automatic software update system is applied, two software programs, that is, a function-
起動停止管理アプリケーション103は、機能別アプリケーション100に対して起動命令及び停止命令、処理命令、エラー発生報告受信等を行う通信演算部104と、更新時に適切なバージョンを選択するバージョン選択部105と、バージョン選択部105で選択されたバージョンへの入れ替え処理を行うソフトウェア更新処理部106と、更新後の機能別アプリケーション100の立ち上げ手順を管理する起動手順記憶部107と、バージョンごとの履歴を管理するバージョン履歴記憶部108と、機能別アプリケーション100の終了時の情報を保存するプログラム状態記録部109と、バージョンごとにアプリケーションソフトウェアや、そのバージョンのアプリケーションソフトウェアで必要とされるモジュールソフトウェアが記憶されている記憶部110とから構成されている。なお、記憶部110は、メモリや、ハードディスクドライブ等を使用することができ、この起動停止管理アプリケーション103の必須の構成要素ではなく、コンピュータ装置側の構成としても良い。
The start /
次に、この実施の形態の作用について説明する。
最初に、起動停止管理アプリケーション103の処理の概略を図2のフローチャートを参照して説明する。図2に示すように、起動停止管理アプリケーション103は、最初に更新処理を行い(ステップS201)、システムを継続して作動させる場合には(ステップS202においてN)、機能別アプリケーション100の動作状態の監視処理を行って(ステップS203)、更新処理が必要な場合には(ステップS204でY)、再びステップS201の更新処理に戻る。システムを停止する場合には(ステップS202でY)、終了処理を行う(ステップS205)。
Next, the operation of this embodiment will be described.
First, an outline of the processing of the start /
上記の各処理(ステップS201〜ステップS205)の詳細、及びコンピュータ装置の動作を含めて、図3のフローチャートを用いて説明する。
まず、最初にコンピュータ装置のOS(オペレーティングシステム)を起動させる(ステップS301)。次に、起動停止管理アプリケーション103を起動させる(ステップS302)。この際に、例えば、OSのスタートアップ登録等のように、OSに起動停止管理アプリケーション103の自動起動を設定しておくと、起動停止管理アプリケーション103が自動的に起動される。
起動停止管理アプリケーション103が起動されると、起動停止管理アプリケーション103はプログラム状態記録部109に記憶されている前回の停止状態等を参照し、機能別アプリケーション100を最適なバージョンに更新するソフトウェア更新処理を行う(ステップS303)。このソフトウェア更新処理の詳細は、後述する。
さらに、起動停止管理アプリケーション103は、起動手順記憶部107に登録されている手順に従って、ステップS303のソフトウェア更新処理で選択されたバージョンのソフトウェアを実行させ、機能別アプリケーション100を起動させる(SステップS304)。なお、ステップS303及びステップS304が図2のステップS201(更新処理)に相当する。
ここで、システムを正常終了する場合(ステップS305でY)には、機能別アプリケーションを終了後(ステップS312)、起動停止管理アプリケーションを終了させ(ステップS313)、ここでの処理を終了する。ステップS312及びステップS313が、図2のステップ205(終了処理)に相当する。
The details of each of the above processes (steps S201 to S205) and the operation of the computer apparatus will be described with reference to the flowchart of FIG.
First, the OS (operating system) of the computer device is first activated (step S301). Next, the start /
When the activation /
Further, the activation /
If the system is normally terminated (Y in step S305), the function-specific application is terminated (step S312), the activation / deactivation management application is terminated (step S313), and the process is terminated. Step S312 and step S313 correspond to step 205 (end processing) in FIG.
一方、システムを終了しない場合(ステップS304においてN)には、運用処理に入る。ここで、運用処理とは、例えば、機能別アプリケーション100が生産ラインにおいて基板の検査を行う際に使用されるアプリケーションである場合には、この機能別アプリケーション100をコンピュータ装置に実行させ、基板の検査を行わせることをいう。この運用処理は、エラーが発生しない限り、繰り返される。
これに対して、運用処理の実行中にエラーが発生したら(ステップS307においてY)、プラグラム状態記録部109に動作ログの保存を行う(ステップS308)。このときのログとは、エラーの発生原因を特定するためのもので、運用処理中に常時必要なログを保存している場合に行われる。これらステップS306からステップS308までの処理が、図2のステップS203に相当する。
On the other hand, if the system is not terminated (N in step S304), the operation process is started. Here, the operation processing is, for example, when the function-
On the other hand, if an error occurs during the execution of the operation process (Y in step S307), the operation log is saved in the program state recording unit 109 (step S308). The log at this time is for identifying the cause of the error, and is performed when a log that is always required during operation processing is saved. The processing from step S306 to step S308 corresponds to step S203 in FIG.
そして、通信演算部104が、発生したエラーの種類から機能別アプリケーション100の再起動が必要か否かを判断する(ステップS309)。
関連するプロセスが終了不能又は中断不能である場合には、再起動が必要であって、継続が不可能であると判断し(ステップS309でN)、機能別アプリケーション100のみを終了させた後(ステップS310)、ソフト更新処理に戻る(ステップS311でNから進むステップS303)。さらに、機能別アプリケーション100を正常に終了できない場合や、再起動後の動作が保障できないエラーの場合には、OSから再起動を行う(ステップS311でY)。この場合には、ステップS301のOS起動処理に戻る。ステップS309からステップS311までの処理が、図2のステップS204に相当する。
Then, the
If the related process cannot be terminated or interrupted, it is determined that restart is necessary and cannot be continued (N in step S309), and only the function-
エラー発生からOS再起動までの処理(ステップS307〜S311,S301)は、作業者の介在しない完全な自動処理としても良いし、ダイアログ等のGUI(Graphical User Interface)を用いて作業者の判断を必要とする処理としても良い。そして、自動処理又は手動処理の切り替えは、起動停止管理アプリケーション103の設定によって行われるようにしても良い。
The process from the occurrence of an error to the restart of the OS (steps S307 to S311, S301) may be a completely automatic process without intervention by the worker, or the operator's judgment is made using a GUI (Graphical User Interface) such as a dialog. It may be a necessary process. Then, switching between automatic processing and manual processing may be performed by setting the start /
さらに、ステップS303に示すソフト更新処理の詳細について、図4のフローチャートを参照して説明する。
まず、エラーの発生原因に基づいて、ソフトウェアの更新の必要性を判断する(ステップS401)。更新の必要がないソフトウェア不具合以外のエラーの場合には(ステップS401においてN)、ここでの処理を終了する。なお、更新の必要がないエラーとは、例えば、モジュール101,102がハードウェア制御しているハードウェハの動作エラーや、前回の終了時に作業者がコンピュータ装置を正常終了していた場合等があげられる。
更新が必要と判断された場合には(ステップS401においてY)、リトライ回数の判断を行う(ステップS402)。リトライ回数とは、そのバージョンのソフトウェアを実行させた回数をいい、不具合などにより再起動した場合には、リトライ回数が1つ加算されるようになっている。リトライ回数が、予め定義されている回数に達するまでは(ステップS402においてY)、ソフトウェア更新を行わないで同一バージョンを再起動して実行させる。これに対して、リトライ回数の上限値に達した場合には(ステップS402においてN)、バージョン選択部105において更新予約ファイルの有無を確認する(ステップS403)。更新予約ファイルとは、更新対象となるバージョンのファイルのことである。
Further, details of the software update process shown in step S303 will be described with reference to the flowchart of FIG.
First, the necessity of software update is determined based on the cause of the error (step S401). In the case of an error other than a software defect that does not require updating (N in step S401), the processing here is terminated. The error that does not need to be updated includes, for example, an operation error of a hardware wafer that is hardware-controlled by the
If it is determined that updating is required (Y in step S401), the number of retries is determined (step S402). The number of retries means the number of times that version of the software is executed. When the software is restarted due to a malfunction or the like, the number of retries is incremented by one. Until the number of retries reaches a predefined number (Y in step S402), the same version is restarted and executed without updating software. On the other hand, when the upper limit of the number of retries has been reached (N in step S402), the
更新予約ファイルを検索した結果、更新対象となるバージョンがある場合には(ステップS403においてY)、更新順序リストの有無を調べる(ステップS404)。更新順序リストとは、更新対象となるバージョンが複数個ある場合に、どのバージョンを優先的に更新対象として用いるかを定義したリストである。更新順序リストが存在する場合には(ステップS404においてY)、バージョン選択部105が、このリストに従って更新ファイルを決定する(ステップS405)。一方、更新順序リストが存在しない場合には(ステップS404においてN)、バージョン選択部105が、各バージョンのファイル名称や、タイムスタンプの比較等、他の方法によって更新するバージョンを決定する(ステップS406)。
更新するバージョンを決定したら、ソフトウェア更新処理部106が、運用中の実行ファイルを、更新するバージョンの更新ファイルで置き換える。具体的には、最初に、運用中の実行ファイルを履歴フォルダに移動する(ステップS407)。このとき、バージョンを示す情報をファイルの名称に追加してリネームしておく。さらに、更新するバージョンの更新ファイルを実行フォルダに移動させ、ファイル名をリネームして実行可能なファイル、つまり実行ファイルにする(ステップS408)。
As a result of searching the update reservation file, if there is a version to be updated (Y in step S403), the presence or absence of an update order list is checked (step S404). The update order list is a list that defines which version is preferentially used as an update target when there are a plurality of versions to be updated. When the update order list exists (Y in step S404), the
When the version to be updated is determined, the software
一方、ステップS403の処理で更新予約ファイルが存在していない場合には、履歴ファイルの有無を調べる(ステップS409)。履歴ファイルとは、過去の運用したバージョン群についての情報が格納されているファイルである。履歴ファイルが存在しない場合には(ステップS409でN)、更新を行わずにここでの処理を終了する。一方、更新ファイルが存在している場合には(ステップS409でY)、例えば、過去に正常動作している時間の平均値から最適なバージョンを選択する(ステップS410)。このとき決定したバージョンが現在運用しているバージョンと同じ場合には(ステップS411でY)、更新を行わずにここでの処理を終了し、バージョンが異なる場合のみ、ステップS407及びステップS408の処理を行って機能別アプリケーション100のバージョンを更新する。
On the other hand, if the update reservation file does not exist in the process of step S403, the presence / absence of a history file is checked (step S409). A history file is a file that stores information about versions that have been used in the past. If the history file does not exist (N in step S409), the process is terminated without updating. On the other hand, if an update file exists (Y in step S409), for example, the optimum version is selected from the average value of the time during which the normal operation has been performed in the past (step S410). If the version determined at this time is the same as the currently operated version (Y in step S411), the process here is terminated without updating, and the processes in steps S407 and S408 are performed only when the versions are different. To update the version of the function-
ここで、ステップS407及びステップS408の処理を行うためのファイル構造の一例を図5に示す。
実行フォルダ500は、現在運用しているバージョンのファイルを管理するフォルダである。実行フォルダ500内には、以下の各ファイルが格納されている。実行ファイル501は、更新対象となる機能別アプリケーション100の実行可能なソフトウェアで、例えば、「Application.exe」である。モジュール502及びモジュール503は、実行ファイル501に付随し、機能別アプリケーションの実行に必要なモジュールであり、例えば、それぞれ「Module1.dll」及び「Module2.dll」となる。更新履歴ファイル504は、実行ファイル501の更新を実行した場合の情報が格納されるファイルで、例えば、「更新履歴.txt」からなる。設定ファイル505は、実行ファイル501内部の各種設定を行うためのデータからなり、例えば、「設定ファイル.ini」となる。なお、機能別アプリケーション100が、モジュール502,503や、設定ファイル505を必要としない場合には、これらのファイルは実行フォルダ500に格納されない。また、モジュール502,503や、設定ファイル505の数は、図5に示すものに限定されない。
Here, FIG. 5 shows an example of a file structure for performing the processing of step S407 and step S408.
The
また、履歴フォルダ506は、過去に運用したバージョンファイルを管理するフォルダで、ステップS407の処理を実行した際に更新前の実行ファイルから作成されるリネームファイルが、履歴ファイルとして格納される。図5においては、機能別アプリケーション100のバージョン0.0.0.0に対応する履歴ファイル507と、バージョン1.0.0.0に対応する履歴ファイル508とが格納されている。リネームしたファイル名としては、種々のものを使用できるが、例えば、実行ファイル501が、「Application.exe」である場合には、履歴ファイル507は、「Application−0.exe」とする。また、履歴ファイル508は、「Application−1.exe」とする。これら履歴ファイル507,508に関する情報は、更新履歴ファイル504に保存される。
The
更新予約フォルダ509は、更新対象となる更新ファイルとして、新規バージョンの更新ファイル(更新予約ファイル)を格納するフォルダである。図5には、新規バージョンとして3つのバージョンが用意されている例が図示されている。すなわち、更新順序リストファイル510、例えば、「更新順序リスト.txt」は、更新予約フォルダ509内の更新予約ファイルの更新順序を定義したファイルであって、図4のステップS404で参照されるものである。更新予約ファイル511は、例えば、バージョン3.0.0.0の実行ファイル(Application−3.exe)、更新予約ファイル512は、バージョン4.0.0.0の実行ファイル(Application−4.exe)、更新予約ファイル513は、バージョン5.0.0.0の実行ファイル(Application−5.exe)である。また、更新候補ファイル514は、更新対象となるモジュールで、例えば、Module1.dllの更新候補として、Module1−2.dllといったモジュールがあげられる。
The
さらに、図6に更新履歴ファイル504のフォーマットの一例を示す。
図6に示すように、更新履歴ファイル504は、テキスト形式で作成されており、例えば、一行目には、ファイル名データ600が配置されている。ファイル名データ600には、「Appname=Application.exe」など、実行ファイルの名称が定義されている。
バージョンデータ601は、実行中のソフトウェアのバージョン情報が記述される。
リトライデータ602,603,604には、バージョンごとに、3回リトライした場合の各リトライ実施前までの正常動作時間と、その平均動作時間が記録されている。例えば、リトライデータ602は、「[0.0.0.0]」、つまり0.0.0.0バージョンについて、「001=5」、1回目のリトライまでに5時間動作し、「002=15」、2回目のリトライまでは15時間動作し、「003=10」、3回目のリトライまでは10時間動作したことを示している。また、「Ave=10」、つまり3回の平均動作時間が10時間であることが示されている。リトライデータ604は、2.0.0.0バージョンのリトライ回数と動作時間を示すもので、「003=」のデータがないことから、3回目のリトライの確認中であることがわかる。
FIG. 6 shows an example of the format of the
As shown in FIG. 6, the
Retry
そして、エラーデータ605は、リトライの原因を示すエラー情報を示している。エラーデータ605は、バージョンごと、リトライごとにエラーの内容を示すコードが付される。このエラー情報は、履歴フォルダ506に格納されている履歴ファイル507,508から最適なバージョンを選択する基準として、動作時間以外に、例えば、特定のエラーが発生していないバージョンを採用するといった選択条件を設けた場合に用いられる。
さらに、図5に示す更新順序リストファイル510のフォーマットの一例を図7に示す。
更新順序リストファイル510には、優先順位が高い順にファイルの名称が定義されており、1行目には第1優先データ700を示し、「Update1=Application‐3.exe」、つまり、Application‐3.exeが最も優先順位が高いバージョンの実行ファイルであることが定義されている。以下、2行目の第2優先データ701は、「Update2=Application‐4.exe」となっており、この実行ファイルが2番目に優先順位が高いバージョンであることが定義されている。3行目の第3優先データ702は、「Update3=Application‐5.exe,Module1‐2.dll」となっており、最も優先順位が低い実行ファイルと、この実行ファイルとセットでバージョンアップするモジュールとが定義されている。このように、バージョンアップの対象は、2つ以上のファイルを同時に行わせることも可能である。
Further, FIG. 7 shows an example of the format of the update
In the update
この実施の形態によれば、コンピュータ装置に機能別アプリケーション100を実行させ、生産装置や検査装置の制御を行う際に、このコンピュータ装置に起動停止管理アプリケーション103を実行させることで、機能別アプリケーション100の起動時、又は機能別アプリケーション100に起因する不具合が発生したときに、起動停止管理アプリケーション103が、履歴フォルダ506又は、更新予約フォルダ509に格納されている更新ファイル(履歴ファイル507,508,更新予約ファイル511〜514)から最適なものを自動的に判断し、そのような更新ファイルを実行ファイルとして機能別アプリケーション100を運用させるようにしたので、複数の候補のうちから最適な実行ファイルを自動的に選択することが可能になる。したがって、コンピュータ装置を安定して動作させることができる。また、24時間稼動するシステムにおいても安定した運用が可能になる。
さらに、更新履歴ファイル504で、バージョンごとの平均動作時間や、エラーの内容を保存するようにしたので、複数のバージョンを複数回運用した場合に、より安定性の高い実行ファイルを選択することが可能になり、生産装置などを安定して運用することが可能になる。ここにおいて、新しいバージョンの実行ファイルをテストする場合には、更新順序リストファイル510を作成し、優先順位を決定しておけば、この順番に更新を行わせることができるので、管理者にとって好ましい実行ファイルを優先使用することが可能になり、問題点の克服などを速やかに行えるようになる。
According to this embodiment, when causing a computer device to execute the function-
Furthermore, since the update history file 504 stores the average operation time for each version and the contents of errors, a more stable execution file can be selected when multiple versions are used multiple times. It becomes possible, and it becomes possible to operate a production apparatus etc. stably. Here, when testing a new version of an executable file, the update
本発明の第2の実施の形態について図面を参照しながら詳細に説明する。なお、第1の実施の形態と同一の構成要素には同じ符号を付してある。また、重複する説明は省略する。
図8に示すように、3台のコンピュータ装置800,801,802と、サーバ803との合計4台のパーソナルコンピュータがスイッチングハブ804を介してネットワーク接続されている。各コンピュータ装置800〜802は、それぞれが生産装置又は検査装置の制御に用いられる。また、各コンピュータ装置800〜802には、第1の実施の形態における機能別アプリケーション100及び起動停止管理アプリケーション103がインストールされ、実行されている。
A second embodiment of the present invention will be described in detail with reference to the drawings. In addition, the same code | symbol is attached | subjected to the component same as 1st Embodiment. In addition, overlapping explanation is omitted.
As shown in FIG. 8, a total of four personal computers including three
ここで、このソフトウェア自動更新システムでは、コンピュータ装置800にインストールされている起動停止管理アプリケーション103のみに、最適バージョンを他のコンピュータ装置801,802に展開できる機能を有しているとする。この機能は、例えば、予め設定した期間を不具合なく動作し、安定動作が確認されたバージョンを他のコンピュータ装置801,802にコピーする機能である。
Here, in this software automatic update system, only the activation /
この実施の形態における展開処理について、図9のフローチャートを用いて説明する。
まず、特定のバージョンについて、予め設定した時間以上運用できることを確認する(ステップS901)。コンピュータ装置800の起動停止管理アプリケーション103に、他のコンピュータ装置801,802に展開するように設定されている場合には(ステップS902でY)、バージョンの展開が予定されているコンピュータ装置801,802の更新予約フォルダ509(図5参照)に、コンピュータ装置800が現在実行中のファイルを、更新対象のバージョンファイルとしてコピーする(ステップS903)。
さらに、コンピュータ装置801の起動停止管理アプリケーション103は、サーバ803への登録の有無を調べる(ステップS904)。登録の必要がある場合には(ステップS905でY)、サーバ803の更新フォルダにも、運用中のファイルをコピーし(ステップS805)、ここでの処理を終了する。
The expansion processing in this embodiment will be described using the flowchart of FIG.
First, it is confirmed that a specific version can be operated for a preset time (step S901). If the start /
Further, the activation /
また、このようにネットワークを構築してある場合には、サーバ803に更新ファイル(例えば、図5の更新予約ファイル511〜514)を置いておくことも可能である。この場合のコンピュータ装置800の処理について図10を参照して説明する。
例えば、コンピュータ装置801で運用中の起動停止管理アプリケーション103がコンピュータ装置801で運用するアプリケーションの更新処理を行う際、サーバ803内の更新ファイルの有無をチェックし(ステップS1001)、更新ファイルを見つけた場合には(ステップS1002でY)、自己の更新予約フォルダ509(図5参照)にそのファイルをコピーする(ステップS1003)。この処理は、定期的にサーバ803をチェックするプログラムを実行させることで、任意のタイミングで行うようにしても良い。
Further, when the network is constructed in this way, update files (for example, update
For example, when the start /
この実施の形態では、ネットワーク接続された複数のコンピュータ装置800〜802を有し、これらコンピュータ装置800〜802に同じ機能別アプリケーション100を実行させることで運用されるシステムにおいて、1つのコンピュータ装置の実績に基づいて、安定して運用できるバージョンを選択し、実行させることができ、さらにこのバージョンの実行ファイルを他のコンピュータ装置に展開させることで、他のコンピュータ装置においても安定して運用可能なバージョンの機能別アプリケーション100を運用することが可能になる。したがって、大規模な生産工場であっても効率良く、かつ安定した運用が可能になる。また、管理者の手間を省略することができる。
さらに、サーバ803の更新フォルダをチェックして必要なファイルを自己の更新予約フォルダ509にコピーするようにしたので、新しいバージョンのファイルを遠隔地からアップロード等するだけでテストすることが可能になり、作業効率が向上する。
その他の作用及び効果は、第一の実施の形態と同様である。
In this embodiment, in a system that has a plurality of
Furthermore, since the update folder of the
Other operations and effects are the same as those in the first embodiment.
なお、本発明は、前記の各実施の形態に限定されずに広く応用することができる。
例えば、起動停止管理アプリケーション103は、更新対象を選択する条件や、新規なファイルと運用実績のあるファイルとの優先順位などを、管理者によって設定可能にしても良い。この場合には、起動停止管理アプリケーション103は、条件設定を容易にするGUIをモニタ表示するようにすると良い。
また、図10に示すステップS1001の処理は、コンピュータ装置800〜802がOSを再起動するたびに、起動停止管理アプリケーション103がサーバ803をチェックしても良い。また、起動停止管理アプリケーション103が一定時間稼動するたびにサーバ803をチェックするようにしても良い。
The present invention can be widely applied without being limited to the above-described embodiments.
For example, the start /
Further, in the processing of step S1001 shown in FIG. 10, the start /
また、図3におけるソフト更新処理(ステップS303)は、機能別アプリケーション100の終了時、つまりステップS310を実行した後に行うようにしても良い。コンピュータ装置が、前回までは安定して運用できていた場合に、そのような運用状態を優先させることができる。
さらに、各コンピュータ装置は、機能別アプリケーション100を複数種類有し、選択的に、又は同時に複数の機能別アプリケーション100が実行されるようにしても良い。この場合に、起動停止管理アプリケーション103は、各機能別アプリケーション100ごとに、前記処理を実行する。
3 may be performed when the function-
Furthermore, each computer apparatus may have a plurality of types of function-
100 機能別アプリケーション(ソフトウェア,プログラム)
103 起動停止管理アプリケーション(プログラム)
104 通信演算部
105 バージョン選択部
106 ソフトウェア更新処理部
109 プログラム状態記憶部
110 記憶部
507,508 履歴ファイル(更新ソフトウェア)
511,512,513,514 更新予約ファイル(更新ソフトウェア)
800,801,802 コンピュータ装置
100 Application by function (software, program)
103 Start / stop management application (program)
104
511, 512, 513, 514 Reservation reservation file (update software)
800, 801, 802 computer apparatus
Claims (10)
前記ソフトウェアの更新対象として記憶装置に記憶されているバージョンの異なる複数の更新ソフトウェアから、いずれかのバージョンの前記更新ソフトウェアを選択する工程と、
選択されたバージョンの前記更新ソフトウェアを抽出し、前記更新ソフトウェアを、前記コンピュータ装置に運用させるソフトウェアとして更新する工程と、
を有することを特徴とするソフトウェア自動更新方法。 When updating software that runs on a computer device,
Selecting any version of the update software from a plurality of different versions of update software stored in a storage device as the software update target; and
Extracting the selected version of the update software and updating the update software as software that causes the computer device to operate;
A method for automatically updating software.
選択されたバージョンの前記更新ソフトウェアを抽出し、前記更新ソフトウェアを、前記コンピュータ装置で運用するソフトウェアとして更新する工程と、
を前記コンピュータ装置に実行させることを特徴とするソフトウェア自動更新プログラム。
Selecting a version of the update software from a plurality of different versions of update software stored in a storage device as an update target of software operated on a computer device;
Extracting the selected version of the update software, and updating the update software as software operated on the computer device;
Is executed by the computer apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006148245A JP2007317089A (en) | 2006-05-29 | 2006-05-29 | System, method and program for automatically updating software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006148245A JP2007317089A (en) | 2006-05-29 | 2006-05-29 | System, method and program for automatically updating software |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007317089A true JP2007317089A (en) | 2007-12-06 |
Family
ID=38850869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006148245A Withdrawn JP2007317089A (en) | 2006-05-29 | 2006-05-29 | System, method and program for automatically updating software |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007317089A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217318A (en) * | 2008-03-07 | 2009-09-24 | Seiko Epson Corp | Information equipment control device, driver update system, driver update method, and driver program |
JP2012239204A (en) * | 2012-07-23 | 2012-12-06 | Nippon Hoso Kyokai <Nhk> | Transmitter |
JP2014051208A (en) * | 2012-09-07 | 2014-03-20 | Honda Motor Co Ltd | Control specification changing device for vehicle |
JP2014147086A (en) * | 2014-03-13 | 2014-08-14 | Nippon Hoso Kyokai <Nhk> | Limited reception apparatus |
US9513957B2 (en) | 2013-05-21 | 2016-12-06 | Hitachi, Ltd. | Management system, management program, and management method |
CN106843952A (en) * | 2017-01-13 | 2017-06-13 | 百度在线网络技术(北京)有限公司 | Update the method and apparatus of functional module in application |
JP2019079412A (en) * | 2017-10-26 | 2019-05-23 | 富士ゼロックス株式会社 | Information processor, program, and management system |
-
2006
- 2006-05-29 JP JP2006148245A patent/JP2007317089A/en not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009217318A (en) * | 2008-03-07 | 2009-09-24 | Seiko Epson Corp | Information equipment control device, driver update system, driver update method, and driver program |
JP2012239204A (en) * | 2012-07-23 | 2012-12-06 | Nippon Hoso Kyokai <Nhk> | Transmitter |
JP2014051208A (en) * | 2012-09-07 | 2014-03-20 | Honda Motor Co Ltd | Control specification changing device for vehicle |
US9513957B2 (en) | 2013-05-21 | 2016-12-06 | Hitachi, Ltd. | Management system, management program, and management method |
JP2014147086A (en) * | 2014-03-13 | 2014-08-14 | Nippon Hoso Kyokai <Nhk> | Limited reception apparatus |
CN106843952A (en) * | 2017-01-13 | 2017-06-13 | 百度在线网络技术(北京)有限公司 | Update the method and apparatus of functional module in application |
JP2019079412A (en) * | 2017-10-26 | 2019-05-23 | 富士ゼロックス株式会社 | Information processor, program, and management system |
JP7009909B2 (en) | 2017-10-26 | 2022-01-26 | 富士フイルムビジネスイノベーション株式会社 | Information processing equipment, programs, and management systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532189B (en) | Continuous integration system, method and device | |
US8893107B2 (en) | Information processing apparatus, information processing method, and information processing program for updating a data set | |
US7870547B2 (en) | Method and apparatus for managing patchable software systems | |
US8972963B2 (en) | End-to-end patch automation and integration | |
US7185335B2 (en) | Programmatic application installation diagnosis and cleaning | |
JP5609656B2 (en) | Setting program, workflow creation method and workflow creation device | |
EP2008400B1 (en) | Method, system and computer program for the centralized system management on endpoints of a distributed data processing system | |
JP2007317089A (en) | System, method and program for automatically updating software | |
US8250566B2 (en) | Automated software upgrade and distribution | |
US9417865B2 (en) | Determining when to update a package manager software | |
US20030051235A1 (en) | Method and apparatus for verifying and analyzing computer software installation | |
US20090320019A1 (en) | Multi-scenerio software deployment | |
US20060259594A1 (en) | Progressive deployment and maintenance of applications on a set of peer nodes | |
US20110214021A1 (en) | Systems and methods for initiating software repairs in conjunction with software package updates | |
US10365991B1 (en) | System and method for printer driver management in an enterprise network | |
KR100952585B1 (en) | Method and system for automatic recovery of an embedded operating system | |
JP6922532B2 (en) | Test execution control program, test execution control method, and test execution control device | |
US8347283B2 (en) | System and method for automatic installation and maintenance of hardware and software in a distributed computer system | |
JP2001356912A (en) | Install/update/uninstall system of software | |
CN113835742A (en) | Continuous integration method and software development system | |
JP5279981B2 (en) | Update control program, update control method, and update control apparatus | |
US20190065168A1 (en) | Apparatus and method to shorten software installation time based on a history of file installation | |
JP2008176708A (en) | Information processor | |
CN104035795A (en) | Method and device for controlling execution of RING0-level program | |
US8316444B2 (en) | Third-party software product certification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090804 |