JP5229170B2 - Software updating apparatus, method, and program - Google Patents

Software updating apparatus, method, and program Download PDF

Info

Publication number
JP5229170B2
JP5229170B2 JP2009211307A JP2009211307A JP5229170B2 JP 5229170 B2 JP5229170 B2 JP 5229170B2 JP 2009211307 A JP2009211307 A JP 2009211307A JP 2009211307 A JP2009211307 A JP 2009211307A JP 5229170 B2 JP5229170 B2 JP 5229170B2
Authority
JP
Japan
Prior art keywords
patch
information
degree
relationship
configuration file
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
JP2009211307A
Other languages
Japanese (ja)
Other versions
JP2011060160A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009211307A priority Critical patent/JP5229170B2/en
Publication of JP2011060160A publication Critical patent/JP2011060160A/en
Application granted granted Critical
Publication of JP5229170B2 publication Critical patent/JP5229170B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

開示する技術は、複数のプロセスで構成されるソフトウェア実行システムに対し、パッチを適用してソフトウェアを更新する技術に関する。   The disclosed technology relates to a technology for updating software by applying a patch to a software execution system including a plurality of processes.

コンピュータシステム上では一般に、オペレーティングシステム及びオペレーティングシステム上で動作するアプリケーションシステムからなる様々なソフトウェアが動作している。そして、コンピュータシステム上では、各ソフトウェアが実行されることにより生成される複数のプロセスが、並列に実行されている。   In general, various software including an operating system and an application system operating on the operating system operates on the computer system. On the computer system, a plurality of processes generated by executing each software are executed in parallel.

コンピュータシステム上で実行されるこのようなソフトウェアにおいては、バグの修正や機能改良等を目的として、しばしばソフトウェアの更新が行われる。ソフトウェアの更新は一般的に、現在インストールされているソフトウェアに対して、パッチを投入することによって実施される。パッチの投入においては、更新対象となるソフトウェアの提供元から提供されるパッチプログラムファイルが、更新対象となるソフトウェアがインストールされているコンピュータシステム上で実行される。この結果、コンピュータシステム上の更新対象となるソフトウェアを構成するファイル群が、新しい版のファイル群に書き換えられる。   In such software executed on a computer system, software is often updated for the purpose of correcting bugs or improving functions. Software update is generally performed by applying a patch to currently installed software. In inputting a patch, a patch program file provided from a provider of software to be updated is executed on a computer system in which the software to be updated is installed. As a result, the file group constituting the software to be updated on the computer system is rewritten to a new version file group.

ここで、近年のコンピュータシステムでは、サーバコンピュータシステムはもちろん、パーソナルコンピュータシステムにおいても、ユーザの運用を阻害しないように稼働状態で、実行中のソフトウェアプログラムに対してソフトウェアの更新が行えることが要求される。   Here, in recent computer systems, not only server computer systems but also personal computer systems are required to be able to update software for software programs that are running in an operating state so as not to impede user operations. The

また、オペレーティングシステムなどのように、複数のソフトウェアに対して、同時にパッチが投入できることも要求される。
このような要求に対して、次のような第1の従来技術が知られている。即ち、コンピュータシステムにおいて、更新対象となるソフトウェアに対応するプロセスの動作が停止させられた後に、パッチプログラムファイルが実行され、更新対象となるソフトウェアが更新される。
Also, it is required that patches can be simultaneously applied to a plurality of software such as an operating system.
In response to such a demand, the following first prior art is known. That is, in the computer system, after the operation of the process corresponding to the software to be updated is stopped, the patch program file is executed, and the software to be updated is updated.

また、次のような第2の従来技術も知られている。即ち、コンピュータシステムにおいて、通常動作する大半のプロセスの動作が停止させられた後に、パッチプログラムファイルが実行され、更新対象となるソフトウェアが更新される。   The following second prior art is also known. That is, in the computer system, after the operation of most processes that normally operate is stopped, the patch program file is executed, and the software to be updated is updated.

また、次のような第3の従来技術も知られている。即ち、まず、更新対象となるソフトウェアを構成するファイル群のコピーが作成される。次に、それらのコピーファイル群を更新対象としてパッチプログラムファイルが実行され、コピーファイル群が書き換えられる。その後、コンピュータシステムが再起動されて、更新対象となるソフトウェアを構成する古いファイル群がコピーファイル群に置き換えられる。この結果、更新対象となるソフトウェアを構成するファイル群の内容が、新しい内容に書き換えられる。   The following third prior art is also known. That is, first, a copy of a file group constituting software to be updated is created. Next, the patch program file is executed with the copy file group as an update target, and the copy file group is rewritten. Thereafter, the computer system is restarted, and the old file group constituting the software to be updated is replaced with the copy file group. As a result, the contents of the file group constituting the software to be updated are rewritten with new contents.

特開2002−297390号公報JP 2002-297390 A 特開2003−131977号公報JP 2003-131977 A

しかし、前述した第1の従来技術では、パッチ投入者がパッチを投入する際に、複数の実行中のプロセスを停止する必要があるが、どのプロセスを停止すべきかわからない場合が多い。結果として、停止が必要なプロセスが停止されずにパッチが投入されてしまい、結果としてプログラム間の不整合が発生し、プロセスが正常に動作しない場合が発生し得るという問題点を有していた。   However, in the first prior art described above, when a patch supplier enters a patch, it is necessary to stop a plurality of processes being executed, but it is often not known which process should be stopped. As a result, there is a problem that a process that needs to be stopped can be patched without being stopped, resulting in inconsistencies between programs, and the process may not operate normally. .

また、必要最小限のプロセスを停止した上で同時に適用可能な複数のパッチが存在する場合でも、パッチ投入者は、どのパッチを同時に適用可能かは容易にわからないため、パッチを1つずつ順番に適用していた。結果としてパッチの更新時間が長くなり、サービスの停止時間が長くなってしまうという問題点を有していた。   Even if there are multiple patches that can be applied at the same time after stopping the minimum necessary processes, the patch submitter does not easily know which patches can be applied at the same time. It was applied. As a result, there is a problem that the patch update time becomes long and the service stop time becomes long.

また、パッチの投入時にプログラム間の不整合を発生させないようにするため、前述した第2の従来技術のように、パッチ投入者がコンピュータシステム上の全てのプロセスを停止してからパッチの投入作業を実施する場合には、次のような問題がある。即ち、パッチに関係の無いソフトウェアのプロセスまで停止されるため、結果としてコンピュータシステムが提供しているサービスの停止時間が長くなってしまうという問題点を有していた。   Also, in order to prevent inconsistencies between programs when a patch is input, the patch input operation is performed after the patch input person stops all processes on the computer system, as in the second prior art described above. However, there are the following problems. That is, since the software process unrelated to the patch is stopped, the service provided by the computer system is stopped for a long time.

更に、前述した第3の従来技術では、パッチ投入後にコンピュータシステムを再起動する必要があるため、システムサービスを停止させる必要があるという問題点を有していた。   Further, the third prior art described above has a problem in that it is necessary to stop the system service because it is necessary to restart the computer system after the patch is input.

そこで、本発明の1つの側面では、どのプロセス同士が相互に関係しているかわからないようなコンピュータシステムのソフトウェア実行環境であっても、相互に関連するプロセスを適切に判断して、パッチを適用するプロセスを特定可能とすることを目的とする。   Therefore, in one aspect of the present invention, even in a computer system software execution environment in which it is not known which processes are related to each other, the processes are appropriately determined and patches are applied. The purpose is to be able to identify the process.

以下の構成を有する。
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
It has the following configuration.
In a software update device that updates software by applying a patch to a software execution system composed of a plurality of processes,
An information collection handler section that collects access information necessary to analogize the degree of relationship between processes;
A degree-of-relationship calculation unit that calculates the degree of relationship with each other process as the degree-of-relationship calculation information for each access information based on the access information;
The patch / process relationship in which the patch is expanded to obtain each patch configuration file constituting the patch, the process to which each patch configuration file belongs is determined, and the result of each determination is stored A patch / process relation determination unit for generating a table;
For each entry in the patch / process relation table, the relation degree calculation information corresponding to the process to which the patch configuration file corresponding to the entry belongs is determined for each other process to be compared with the process. A degree of relation determination that extracts a process related to a process to which a corresponding patch configuration file belongs as a related process, and generates patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table And
And executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process for each patch configuration file based on the patch / process related information.

パッチ投入時に該当パッチとの関連性が高いプロセスを自動的に判定できるため、パッチ投入者がパッチを投入する時、該当ソフトウェアシステム内部に精通していなくても停止すべきプロセスを判断でき、その結果、プログラム間の不整合の発生を抑止することが可能となる。   Processes that are highly relevant to the patch can be automatically determined when the patch is submitted, so when a patch submitter submits a patch, the process to be stopped can be determined without being familiar with the software system. As a result, it is possible to suppress the occurrence of inconsistencies between programs.

パッチ投入時に該当パッチと関連性が高いプロセスを自動的に判定できるため、影響のあるプロセスだけを停止することができるようになり、その結果、サービスの停止時間を短くすることが可能となる。   Since a process highly relevant to the patch can be automatically determined when a patch is input, only the affected process can be stopped, and as a result, the service stop time can be shortened.

パッチ投入時に該当パッチと関連性が高いプロセスを自動的に判定できるため、必要最小限のプロセス停止をおこなった際でも同時に適用可能なパッチを把握することができ、その結果、パッチの更新時間が短くでき、サービスの停止時間も短くすることが可能となる。   Processes that are highly relevant to the corresponding patch can be automatically determined when the patch is submitted, so it is possible to grasp the patches that can be applied at the same time even when the required minimum process is stopped. The service can be shortened and the service stop time can be shortened.

一実施形態の構成図である。It is a block diagram of one Embodiment. 本実施形態の動作フローチャート(その1)である。It is the operation | movement flowchart (the 1) of this embodiment. 本実施形態の動作フローチャート(その2)である。It is the operation | movement flowchart (the 2) of this embodiment. 本実施形態の動作フローチャート(その3)である。It is an operation | movement flowchart (the 3) of this embodiment. 本実施形態の動作フローチャート(その4)である。It is an operation | movement flowchart (the 4) of this embodiment. フックセット部101と情報収集ハンドラ部102の説明図(その1)である。It is explanatory drawing (the 1) of the hook set part 101 and the information collection handler part 102. フックセット部101と情報収集ハンドラ部102の説明図(その2)である。It is explanatory drawing (the 2) of the hook set part 101 and the information collection handler part 102. プロセス間通信回数の例を示す図である。It is a figure which shows the example of the frequency | count of communication between processes. 共有メモリアクセス回数の例を示す図である。It is a figure which shows the example of the frequency | count of shared memory access. 共有メソッド呼出し回数の例を示す図である。It is a figure which shows the example of a shared method call frequency | count. 共有ファイルアクセス回数の例を示す図である。It is a figure which shows the example of a shared file access frequency. プロセス間通信の関係度の算出例を示す図である。It is a figure which shows the example of calculation of the relationship degree of communication between processes. 共有メモリアクセスの関係度の算出例を示す図である。It is a figure which shows the example of calculation of the relationship degree of shared memory access. 共有メソッド呼出しの関係度の算出例を示す図である。It is a figure which shows the example of calculation of the relation degree of a shared method call. 共有ファイルアクセスの関係度の算出例を示す図である。It is a figure which shows the example of calculation of the relation degree of shared file access. プロセスAに対応する関係度算出情報108の例を示す図である。6 is a diagram illustrating an example of relationship degree calculation information 108 corresponding to a process A. FIG. パッチ構成ファイルの例を示す図である。It is a figure which shows the example of a patch structure file. パッチ/プロセス関係表110の例を示す図である。6 is a diagram illustrating an example of a patch / process relationship table 110. FIG. 重み情報111の例を示す図である。It is a figure which shows the example of the weight information. パッチ/プロセス関係表110から抽出された情報の例を示す図である。It is a figure which shows the example of the information extracted from the patch / process relationship table. パッチ1の構成ファイルA1に対応する重み情報111の例を示す図である。7 is a diagram illustrating an example of weight information 111 corresponding to a configuration file A1 of patch 1. FIG. パッチ1の構成ファイルA1が属するプロセスAに対して獲得された関係度算出情報108での関連プロセス毎の合計値の算出例を示す図である。It is a figure which shows the example of calculation of the total value for every related process in the relationship degree calculation information 108 acquired with respect to the process A to which the configuration file A1 of the patch 1 belongs. パッチ1の構成ファイルA1が属するプロセスAに対して獲得された関係度再評価情報112の例を示す図である。It is a figure which shows the example of the relationship re-evaluation information 112 acquired with respect to the process A to which the structure file A1 of the patch 1 belongs. 各パッチの各構成ファイルが属する各プロセスに対して最終的に獲得された関係度再評価情報112の例を示す図である。It is a figure which shows the example of the relationship re-evaluation information 112 finally acquired with respect to each process to which each structure file of each patch belongs. 関連度閾値情報113である。This is relevance threshold information 113. パッチ1の構成ファイルA1に対して得られるパッチ/プロセス関連情報114の例を示す図である。It is a figure which shows the example of the patch / process related information 114 obtained with respect to the structure file A1 of the patch 1. FIG. 各パッチの各構成ファイルに対して最終的に得られるパッチ/プロセス関連情報114の例を示す図である。It is a figure which shows the example of the patch / process related information 114 finally obtained with respect to each structure file of each patch. パッチ1に対応するパッチ/プロセス関連情報114の例を示す図である。6 is a diagram showing an example of patch / process related information 114 corresponding to patch 1. FIG. パッチとプロセスの関連の例を示す図である。It is a figure which shows the example of the relationship between a patch and a process. 実施形態を実現できるハードウェアのシステム構成例を示す図である。It is a figure which shows the system configuration example of the hardware which can implement | achieve embodiment.

以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、ソフトウェア更新装置の一実施形態の構成図である。この装置は、フックセット部101、情報収集ハンドラ部102、関係度算出部103、パッチ/プロセス関係判定部104、重み再評価部105、関係度判定部106の各機能を実現するプログラムを実行するコンピュータシステムとして実現される。
Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration diagram of an embodiment of a software updating apparatus. This apparatus executes a program that implements the functions of the hook set unit 101, the information collection handler unit 102, the relationship calculation unit 103, the patch / process relationship determination unit 104, the weight re-evaluation unit 105, and the relationship determination unit 106. Realized as a computer system.

以下、これらの各部の動作について、図2〜図5の動作フローチャート、及び図6〜図30の説明図に基づいて説明する。
図1のフックセット部101は、OS(オペレーティングシステム)のシステムコールにフックを設定する(図2のステップS201)。
Hereinafter, the operations of these units will be described based on the operation flowcharts of FIGS. 2 to 5 and the explanatory diagrams of FIGS. 6 to 30.
The hook setting unit 101 in FIG. 1 sets a hook in an OS (operating system) system call (step S201 in FIG. 2).

図1の情報収集ハンドラ部102は、フックセット部101が設定したフックを使用してOSから、プロセス間の関係度を類推するために必要な情報を収集する(図2のステップS202)。具体的には、プロセス間通信回数、共有メモリアクセス回数、共有メソッド呼出し回数、及び共有ファイルアクセス回数が収集される。情報収集ハンドラ部102は、収集した情報を、アクセス情報107として保存する(以上、図2のステップS202)。   The information collection handler unit 102 in FIG. 1 collects information necessary for analogizing the degree of relationship between processes from the OS using the hook set by the hook set unit 101 (step S202 in FIG. 2). Specifically, the number of interprocess communications, the number of shared memory accesses, the number of shared method calls, and the number of shared file accesses are collected. The information collection handler unit 102 stores the collected information as access information 107 (step S202 in FIG. 2).

例えば図6に示されるように、通常、各プロセスA〜Dは、各システムコール#1〜#4のAPIアドレス1〜4をコールすることにより、それぞれの処理を実行している。図1の情報収集ハンドラ部102は、例えば図7に示されるように、各プロセスA〜Dと各システムコール#1〜#4の間に挿入されるソフトウェアとして実現される。このとき、例えば、以下の4つの情報収集ハンドラが定義される。

・情報収集ハンドラ#1:プロセス間通信回数を獲得した後、
システムコール#1を実施するハンドラ
・情報収集ハンドラ#2:共有メモリアクセス回数を獲得した後、
システムコール#2を実施するハンドラ
・情報収集ハンドラ#3:共有メソッド呼出し回数を獲得した後、
システムコール#3を実施するハンドラ
・情報収集ハンドラ#4:共有ファイルアクセス回数を獲得した後、
システムコール#4を実施するハンドラ
For example, as shown in FIG. 6, each of the processes A to D normally executes the respective processes by calling the API addresses 1 to 4 of the system calls # 1 to # 4. The information collection handler unit 102 in FIG. 1 is realized as software inserted between the processes A to D and the system calls # 1 to # 4, for example, as shown in FIG. At this time, for example, the following four information collection handlers are defined.

-Information collection handler # 1: After acquiring the number of inter-process communication,
Handler that executes system call # 1 ・ Information collection handler # 2: After acquiring the number of shared memory accesses,
Handler that implements system call # 2 Information collection handler # 3: After acquiring the number of shared method calls,
Handler that implements system call # 3 ・ Information collection handler # 4: After acquiring the number of shared file accesses,
Handler that implements system call # 4

図7に示されるように、前述した図2のステップS201の処理により、フックセット部101は、例えば、各プロセスA〜Dが各システムコール#1〜#4を呼ぶときのAPIアドレス1〜4を変更し、それぞれの情報収集ハンドラ#1〜#4のAPIアドレスa,b,c,dを呼び出すように変更する。この結果、各プロセスA〜Dよりコールされた情報収集ハンドラ部102内の各情報収集ハンドラ#1〜#4が、前述した図2のステップS202の処理により、それぞれ、プロセス間通信回数、共有メモリアクセス回数、共有メソッド呼出し回数、共有ファイルアクセス回数を、それらをアクセス情報107として収集する。   As shown in FIG. 7, the hook set unit 101 performs, for example, the API addresses 1 to 4 when the processes A to D call the system calls # 1 to # 4 by the process of step S201 of FIG. Is changed to call the API addresses a, b, c, and d of the respective information collection handlers # 1 to # 4. As a result, the information collection handlers # 1 to # 4 in the information collection handler unit 102 called by the processes A to D perform the inter-process communication count, the shared memory, respectively, by the processing in step S202 of FIG. The access count, shared method call count, and shared file access count are collected as access information 107.

図8は、アクセス情報107として得られるプロセス間通信回数の例を示す図である。図8から理解されるように、任意の2つのプロセスの組合せのマトリクス毎にプロセス間通信回数が得られる。   FIG. 8 is a diagram illustrating an example of the number of interprocess communication times obtained as the access information 107. As understood from FIG. 8, the number of inter-process communication is obtained for each matrix of combinations of arbitrary two processes.

図9は、アクセス情報107として得られる共有メモリアクセス回数の例を示す図である。プロセスA〜Dのそれぞれ毎に、それぞれメモリ領域を示す予め設定された共有メモリ1〜3に対するアクセス回数が得られる。   FIG. 9 is a diagram illustrating an example of the shared memory access count obtained as the access information 107. For each of the processes A to D, the number of accesses to the preset shared memories 1 to 3 each indicating a memory area is obtained.

図10は、共有メソッド呼出し回数の例を示す図である。プロセスA〜Dのそれぞれ毎に、各プロセスが共有してアクセスするメソッド(関数ライブラリ等)に対するアクセス回数が得られる。   FIG. 10 is a diagram illustrating an example of the number of shared method calls. For each of the processes A to D, the number of accesses to a method (function library or the like) shared and accessed by each process is obtained.

図11は、共有ファイルアクセス回数の例を示す図である。プロセスA〜Dのそれぞれ毎に、各プロセスが共有してアクセスするファイルに対するアクセス回数が得られる。
図1の関係度算出部103は、情報収集ハンドラ部102が収集したアクセス情報107に基づいて、プロセスについて、他のプロセスとの関係度を数値化し、関係度算出情報108として保存する(図2のステップS203→S204→S203の繰返し処理)。
FIG. 11 is a diagram illustrating an example of the number of shared file accesses. For each of the processes A to D, the number of accesses to a file shared and accessed by each process is obtained.
The degree-of-relationship calculation unit 103 in FIG. 1 quantifies the degree of relationship with another process based on the access information 107 collected by the information collection handler unit 102 and stores it as the degree-of-relationship calculation information 108 (FIG. 2). Step S203 → S204 → S203 is repeated).

プロセス間通信に関するプロセス間の関係度の具体的な算出方法について以下に説明する。例えば図12(a)(=図8)に示されるアクセス情報107のプロセス間通信回数において、プロセスAと通信しているプロセスの中で、最も多いアクセス回数を1として、プロセスAと他プロセスとの通信回数が割合に換算される。換算された結果は、関係度算出情報108として保存される。図12(a)の例の場合、プロセスAと通信しているプロセスで最も多いアクセス回数は10回であるので、10回の割合を1として、他の各通信回数がそれぞれ各割合に換算される。図12(b)は、プロセス間通信に関するプロセス間の関係度の算出例を示す図である。   A specific method for calculating the degree of relationship between processes regarding inter-process communication will be described below. For example, in the inter-process communication count of the access information 107 shown in FIG. 12A (= FIG. 8), among the processes communicating with the process A, the largest access count is 1, and the process A and other processes The number of communications is converted into a percentage. The converted result is stored as relationship degree calculation information 108. In the case of the example of FIG. 12A, since the most frequently accessed number of processes communicating with the process A is 10, the ratio of 10 times is set to 1, and each other communication number is converted into each ratio. The FIG. 12B is a diagram illustrating a calculation example of the degree of relationship between processes regarding inter-process communication.

次に、共有メモリアクセスに関するプロセス間の関係度の具体的な算出方法について説明する。例えば図13(a)(=図9)に示されるアクセス情報107の共有メモリアクセス回数において、プロセスAが共有メモリにアクセスしている回数のうち最大アクセス回数の割合を1として、プロセスAがそれぞれの共有メモリ1〜3にアクセスする回数が割合に換算される。換算された結果は、関係度算出情報108として保存される。図13(a)の例の場合、プロセスAが共有メモリ1〜3にアクセスする回数のうち最大アクセス回数は10回なので、10回の割合を1として、他の各アクセス回数が各割合に換算される。次に、他のプロセスB〜Dが各共有メモリ1〜3にアクセスしている回数(図13(a))に、上述の算出された各割合が乗算されることにより、各乗算結果が各共有メモリに関するプロセスAと他のプロセスとの関係度として数値化される。以上の結果得られた各プロセス毎の結果が、関係度算出情報108として保存される。図13(b)は、共有メモリアクセスに関するプロセス間の関係度の算出例を示す図である。   Next, a specific method for calculating the degree of relationship between processes related to shared memory access will be described. For example, in the shared memory access count of the access information 107 shown in FIG. 13A (= FIG. 9), the ratio of the maximum access count is 1 among the number of times the process A is accessing the shared memory. The number of accesses to the shared memories 1 to 3 is converted into a ratio. The converted result is stored as relationship degree calculation information 108. In the case of the example of FIG. 13A, the maximum number of accesses is 10 times among the number of times that the process A accesses the shared memories 1 to 3, so the rate of 10 times is set to 1, and each other number of accesses is converted into each rate. Is done. Next, the number of times the other processes B to D are accessing each of the shared memories 1 to 3 (FIG. 13A) is multiplied by each of the calculated ratios described above, whereby each multiplication result becomes each It is quantified as the degree of relationship between the process A related to the shared memory and other processes. The result for each process obtained as a result is stored as the relationship calculation information 108. FIG. 13B is a diagram illustrating a calculation example of the degree of relationship between processes related to shared memory access.

次に、共有メソッド呼出しに関するプロセス間の関係度の具体的な算出方法について説明する。共有メソッド呼出しの関係度算出方法は共有メモリアクセスの場合と同様である。即ち、例えば図14(a)(=図10)に示されるアクセス情報107の共有メソッド呼出し回数において、プロセスAが共有メソッドにアクセスしている回数のうち最大アクセス回数の割合を1として、プロセスAがそれぞれの共有メソッド1〜3にアクセスする回数が割合に換算される。換算された結果は、関係度算出情報108として保存される。図14(a)の例の場合、プロセスAが共有メソッド1〜3にアクセスする回数のうち最大アクセス回数は10回なので、10回の割合を1として、他の各アクセス回数が各割合に換算される。次に、他のプロセスB〜Dが各共有メソッド1〜3にアクセスしている回数(図14(a))に、上述の算出された各割合が乗算されることにより、各乗算結果が各共有メソッドに関するプロセスAと他のプロセスとの関係度として数値化される。以上の結果得られた各プロセス毎の結果が、関係度算出情報108として保存される。図14(b)は、共有メソッド呼出しに関するプロセス間の関係度の算出例を示す図である。   Next, a specific method for calculating the degree of relationship between processes related to a shared method call will be described. The method for calculating the degree of relationship of the shared method call is the same as in the case of shared memory access. That is, for example, in the shared method invocation number of the access information 107 shown in FIG. 14 (a) (= FIG. 10), the ratio of the maximum access count among the number of times the process A accesses the shared method is set to 1, and the process A The number of accesses to each of the shared methods 1 to 3 is converted into a ratio. The converted result is stored as relationship degree calculation information 108. In the case of the example in FIG. 14A, the maximum number of accesses among the number of times process A accesses shared methods 1 to 3 is 10, so the rate of 10 times is set to 1, and each other number of accesses is converted to each rate. Is done. Next, the number of times that the other processes B to D are accessing each of the shared methods 1 to 3 (FIG. 14A) is multiplied by each of the above calculated ratios, whereby each multiplication result becomes each It is quantified as the degree of relationship between the process A related to the shared method and other processes. The result for each process obtained as a result is stored as the relationship calculation information 108. FIG. 14B is a diagram illustrating a calculation example of the degree of relationship between processes related to a shared method call.

最後に、共有ファイルアクセスに関するプロセス間の関係度の具体的な算出方法について説明する。共有ファイルアクセスの関係度算出方法も共有メモリアクセスの場合と同様である。即ち、例えば図15(a)(=図11)に示されるアクセス情報107の共有ファイルアクセス回数において、プロセスAが共有ファイルにアクセスしている回数のうち最大アクセス回数の割合を1として、プロセスAがそれぞれの共有ファイル1〜3にアクセスする回数が割合に換算される。換算された結果は、関係度算出情報108として保存される。図15(a)の例の場合、プロセスAが共有ファイル1〜3にアクセスする回数のうち最大アクセス回数は20回なので、20回の割合を1として、他の各アクセス回数が各割合に換算される。次に、他のプロセスB〜Dが各共有ファイル1〜3にアクセスしている回数(図15(a))に、上述の算出された各割合が乗算されることにより、各乗算結果が各共有ファイルに関するプロセスAと他のプロセスとの関係度として数値化される。以上の結果得られた各プロセス毎の結果が、関係度算出情報108として保存される。図15(b)は、共有ファイルアクセスに関するプロセス間の関係度の算出例を示す図である。   Finally, a specific method for calculating the degree of relationship between processes related to shared file access will be described. The method for calculating the degree of relationship of shared file access is the same as in the case of shared memory access. That is, for example, in the shared file access count of the access information 107 shown in FIG. 15 (a) (= FIG. 11), the ratio of the maximum access count among the number of times the process A accesses the shared file is set to 1, and the process A The number of times each accesses the shared files 1 to 3 is converted into a ratio. The converted result is stored as relationship degree calculation information 108. In the case of the example of FIG. 15A, the maximum number of accesses among the number of times that the process A accesses the shared files 1 to 3 is 20, so the rate of 20 times is set to 1, and each other number of accesses is converted into each rate. Is done. Next, the number of times that the other processes B to D are accessing each of the shared files 1 to 3 (FIG. 15A) is multiplied by each of the calculated ratios, thereby obtaining each multiplication result. It is quantified as the degree of relationship between the process A related to the shared file and other processes. The result for each process obtained as a result is stored as the relationship calculation information 108. FIG. 15B is a diagram illustrating a calculation example of the degree of relationship between processes related to shared file access.

以上の算出方法により、図8〜図11に示されるアクセス情報107の例の場合、図12〜図15の算出結果が統合されることにより、プロセスAと他のプロセスとの関係度を示す関係度算出情報108は、図16に示される如くとなる。   In the example of the access information 107 shown in FIGS. 8 to 11 by the above calculation method, the calculation results of FIGS. 12 to 15 are integrated to show the relationship between the process A and another process. The degree calculation information 108 is as shown in FIG.

上述のプロセスAの場合と同様の手法で、図1の関係度算出部103は、プロセスB〜Dのそれぞれと他のプロセスとの関係を示す関係度算出情報108を算出する。
図1のパッチ/プロセス関係判定部104は、全てのパッチ109のそれぞれを展開して、各パッチ109を構成しているファイルを獲得する(図3のステップS205→・・・→S208→S205の繰返し処理)。
The relationship calculation unit 103 in FIG. 1 calculates the relationship calculation information 108 indicating the relationship between each of the processes B to D and other processes by the same method as in the process A described above.
The patch / process relationship determination unit 104 in FIG. 1 expands each of the patches 109 and acquires the files constituting each patch 109 (in steps S205 →... S208 → S205 in FIG. 3). Iterative processing).

図17は、パッチ109を展開して得られるパッチ構成ファイルの例を示す図である。パッチ109は、複数のパッチを含むことができる。図17の例では、パッチ109が展開されると、パッチ1はファイルA1とB1の2つのファイルで構成され、パッチ2はファイルB2で構成され、パッチ3はファイルD1で構成されていることを示す情報が得られる。   FIG. 17 is a diagram showing an example of a patch configuration file obtained by expanding the patch 109. As shown in FIG. The patch 109 can include a plurality of patches. In the example of FIG. 17, when the patch 109 is expanded, the patch 1 is composed of two files A1 and B1, the patch 2 is composed of the file B2, and the patch 3 is composed of the file D1. The information shown is obtained.

次に、パッチ/プロセス関係判定部104は、OSからプロセス情報を獲得し、各パッチ109を構成している全てのファイル(パッチ構成ファイル)について、各ファイルがどのプロセスに属するかを判定する。そして、パッチ/プロセス関係判定部104は、上述の判定結果を、パッチ/プロセス関係表110に保存する(図3のステップS206→S207→S206の繰返し処理)。図18は、パッチ/プロセス関係表110の例を示す図である。図18の例の場合、例えばパッチ1のパッチ構成ファイルA1に属するプロセスはA、パッチ1のパッチ構成ファイルB1に属するプロセスはBであることが検出される。また、パッチ2のパッチ構成ファイルB2に属するプロセスはB、パッチ3のパッチ構成ファイルD1に属するプロセスはDであることが検出される。   Next, the patch / process relationship determination unit 104 acquires process information from the OS and determines which process each file belongs to for all files (patch configuration files) constituting each patch 109. Then, the patch / process relationship determination unit 104 stores the above determination result in the patch / process relationship table 110 (repeating process of steps S206 → S207 → S206 in FIG. 3). FIG. 18 is a diagram illustrating an example of the patch / process relationship table 110. In the example of FIG. 18, for example, it is detected that the process belonging to the patch configuration file A1 of patch 1 is A and the process belonging to the patch configuration file B1 of patch 1 is B. Further, it is detected that the process belonging to the patch configuration file B2 of patch 2 is B and the process belonging to the patch configuration file D1 of patch 3 is D.

次に、図1の重み再評価部105は、まず、重み情報111を定義する(図3のステップS209)。通常、パッチ109によるプログラムの修正種別に応じて、プロセス間通信、共有メモリアクセス、共有メソッド呼出し、共有ファイルアクセスなどの要素毎のプロセス間の関係度に対する影響の強さは異なる。そこで、本実施形態では、プロセス間通信、共有メモリアクセス、共有メソッド呼出し、共有ファイルアクセスの4つの観点で、パッチのプログラム修正概要分類毎に、プロセス間の関係度に与える強さが重みとして数値化され、重み情報111として定義される。この重み情報111は、ユーザにより自由に定義が可能である。   Next, the weight re-evaluation unit 105 in FIG. 1 first defines the weight information 111 (step S209 in FIG. 3). In general, depending on the type of modification of the program by the patch 109, the intensity of influence on the degree of relationship between processes for each element such as inter-process communication, shared memory access, shared method call, and shared file access differs. Therefore, in the present embodiment, the strength given to the degree of relationship between processes is numerically expressed as a weight for each program modification summary classification of patches from the four viewpoints of inter-process communication, shared memory access, shared method call, and shared file access. And defined as weight information 111. This weight information 111 can be freely defined by the user.

図19は、重み情報111の定義例を示す図である。例えば、パッチ109がインタフェース(I/F)変更を行う内容である場合、次のような重みが設定される。即ち、前述したアクセス情報107のうちプロセス間通信に対する関係度の重みが10、共有メモリアクセスに対する関係度の重みが3、共有メソッド呼出しに対する関係度の重みが5、共有ファイルアクセスに対する関係度の重みが1と設定される。パッチ109が、データ構造変更、内部ロジック変更、内部データ変更、ファイル変更、その他変更のそれぞれの場合である毎に、各アクセス情報107に対する関係度の重みが設定される。   FIG. 19 is a diagram illustrating a definition example of the weight information 111. For example, when the patch 109 has contents for changing the interface (I / F), the following weights are set. That is, in the access information 107 described above, the relationship weight for inter-process communication is 10, the relationship weight for shared memory access is 3, the relationship weight for shared method invocation is 5, and the relationship weight for shared file access is Is set to 1. Each time the patch 109 is a data structure change, internal logic change, internal data change, file change, or other change, a weight of the degree of relationship for each access information 107 is set.

次に、重み再評価部105は、パッチの修正内容説明文から、各パッチ109がどの重み情報111を使用するかを決定しておく(図4のステップS209)。図19の定義例に対応して、例えば、パッチ1は「I/F変更」、パッチ2は「データ構造変更」であるなどと決定される。   Next, the weight re-evaluation unit 105 determines which weight information 111 is used by each patch 109 from the patch correction content description (step S209 in FIG. 4). Corresponding to the definition example of FIG. 19, for example, it is determined that patch 1 is “I / F change”, patch 2 is “data structure change”, and the like.

次に、重み再評価部105は、パッチ/プロセス関係表110に定義されているパッチとパッチ構成ファイルの全ての組合せのそれぞれについて、以下の一連の処理を実行する(図4のステップS210〜S212→S213→S210の繰返し処理)。   Next, the weight re-evaluation unit 105 executes the following series of processes for each of all combinations of patches and patch configuration files defined in the patch / process relationship table 110 (steps S210 to S212 in FIG. 4). (Repeat processing of S213 → S210).

即ち、重み再評価部105は、パッチ/プロセス関係表110に定義されているエントリを1つ獲得する(図4のステップS210)。例えば、図18に例示されるパッチ/プロセス関係表110から、図20に例示されるように、先頭のエントリが獲得される。このエントリは、パッチ1とパッチ構成ファイルA1の組合せであり、ファイルA1がプロセスAに属することを示している。   That is, the weight re-evaluation unit 105 acquires one entry defined in the patch / process relationship table 110 (step S210 in FIG. 4). For example, the first entry is obtained from the patch / process relationship table 110 illustrated in FIG. 18 as illustrated in FIG. This entry is a combination of the patch 1 and the patch configuration file A1, and indicates that the file A1 belongs to the process A.

次に、重み再評価部105は、ステップS209での処理結果に基づいて、パッチ/プロセス関係表110から獲得したエントリのパッチ名に基づいて重み情報111を検索して、該当する重み情報を獲得する(図4のステップS211)。今、ステップS209により、図20の例の場合、パッチ1は「I/F変更」であると判明しているため、重み情報111から「I/F変更」が検索される結果、図21に例示される重み情報111が獲得できる。   Next, the weight re-evaluation unit 105 searches the weight information 111 based on the patch name of the entry acquired from the patch / process relation table 110 based on the processing result in step S209, and acquires the corresponding weight information. (Step S211 in FIG. 4). Now, in step S209, in the case of the example of FIG. 20, since it is known that the patch 1 is “I / F change”, the result of the search for “I / F change” from the weight information 111 is shown in FIG. The exemplified weight information 111 can be acquired.

次に、重み再評価部105は、パッチ/プロセス関係表110から獲得したエントリに基づいて、そのエントリに含まれるプロセス名に対応する関係度算出情報108を獲得する(図4のステップS212)。例えば、図20に例示されるエントリからプロセス名としてプロセスAが認識されることにより、図16に例示されるプロセスAに対応する関係度算出情報108が獲得される。   Next, based on the entry acquired from the patch / process relationship table 110, the weight re-evaluation unit 105 acquires the relationship degree calculation information 108 corresponding to the process name included in the entry (step S212 in FIG. 4). For example, when the process A is recognized as the process name from the entry illustrated in FIG. 20, the relationship degree calculation information 108 corresponding to the process A illustrated in FIG. 16 is acquired.

そして、重み再評価部105は、獲得した重み情報(図21)と関係度算出情報108(図16)を元に、プロセス間の関係度をアクセス情報107毎に再評価して数値化する。重み再評価部105は、再評価して数値化したアクセス情報107毎の関係度を、対象となるパッチの構成ファイルが属するプロセスと比較される他プロセス毎に合計して合計値を関係度合計値として算出する。そして、重み再評価部105は、対象となるパッチの構成ファイルが属するプロセスと比較される他プロセス毎に得られた関係度合計値を、関係度再評価情報112として保存する(図4のステップS213)。   Then, the weight re-evaluation unit 105 re-evaluates the degree of relationship between processes for each access information 107 based on the acquired weight information (FIG. 21) and the degree-of-relation calculation information 108 (FIG. 16) and digitizes the information. The weight re-evaluation unit 105 sums the degree of relation for each access information 107 reevaluated and digitized for each of the other processes to be compared with the process to which the configuration file of the target patch belongs, and totals the degree of relation. Calculate as a value. Then, the weight re-evaluation unit 105 stores the relationship degree total value obtained for each other process compared with the process to which the configuration file of the target patch belongs as the relationship degree re-evaluation information 112 (step in FIG. 4). S213).

例えば図16に例示されるプロセスAに対応する関係度算出情報108において、プロセス間通信(図中では「プロセス間」と表示)に対応する列のプロセスAと各他プロセスB、C、Dとの関係度には、図21に示される「プロセス間の重み」=10が乗算される。また、共有メモリ1へのアクセス(図中では「メモリ1」と表示)に対応する列のプロセスAと各プロセスB、C、Dとの関係度には、図21に示される「メモリの重み」=3が乗算される。共有メモリ2,3への各アクセス(図中では「メモリ2」「メモリ3」と表示)に対応する列のプロセスAと各プロセスB、C、Dとの関係度にも同じく、図21に示される「メモリの重み」=3が乗算される。同様に、共有メソッド1、2、3の各呼出し(図中では「メソッド1」「メソッド2」「メソッド3」と表示)に対応する各列のプロセスAと各プロセスB、C、Dとの関係度には、図21に示される「メソッドの重み」=5が乗算される。更に同様に、共有ファイル1、2、3への各アクセス(図中では「ファイル1」「ファイル2」「ファイル3」と表示)に対応する各列のプロセスAと各プロセスB、C、Dとの関係度には、図21に示される「ファイルの重み」=1が乗算される。   For example, in the degree-of-relation calculation information 108 corresponding to the process A illustrated in FIG. 16, the process A in the column corresponding to the inter-process communication (shown as “inter-process” in the figure) and the other processes B, C, and D Is multiplied by “weight between processes” = 10 shown in FIG. The degree of relationship between the process A in the column corresponding to the access to the shared memory 1 (shown as “memory 1” in the figure) and the processes B, C, and D is “memory weight” shown in FIG. "= 3 is multiplied. Similarly, the degree of relationship between the process A and the processes B, C, and D in the column corresponding to each access to the shared memories 2 and 3 (shown as “memory 2” and “memory 3” in the figure) is shown in FIG. The indicated “memory weight” = 3 is multiplied. Similarly, between each process A and each process B, C, D corresponding to each invocation of the shared methods 1, 2, 3 (indicated as “method 1”, “method 2”, “method 3” in the figure) The degree of relation is multiplied by “method weight” = 5 shown in FIG. Similarly, the process A and the processes B, C, and D in each column corresponding to each access to the shared files 1, 2, and 3 (shown as “file 1”, “file 2”, and “file 3” in the figure). Is multiplied by “file weight” = 1 shown in FIG.

以上の再評価処理の結果、図16に例示されるプロセスAに対応する関係度算出情報108から、図22に例示される情報が得られる。更に、重み再評価部105は、図22の表において、他プロセスB、C、Dのそれぞれ(図22の各行)において、全てのプロセス間通信、共有メモリ1〜3へのアクセス、共有メソッド1〜3の呼出し、共有ファイル1〜3へのアクセスに関するプロセスAとの関係度の合計値を算出する。この結果、図22の例では、プロセスBについては関係度合計値=89.3、プロセスCについては関係度合計値=170.8、プロセスDについては関係度合計値=15が得られる。   As a result of the above reevaluation processing, the information illustrated in FIG. 22 is obtained from the degree-of-relationship calculation information 108 corresponding to the process A illustrated in FIG. Further, the weight re-evaluation unit 105 performs all inter-process communication, access to the shared memories 1 to 3, and shared method 1 in each of the other processes B, C, and D (each row in FIG. 22) in the table of FIG. The sum of the degrees of relationship with the process A relating to the calls of ˜3 and the access to the shared files 1 to 3 is calculated. As a result, in the example of FIG. 22, the relationship level total value = 89.3 is obtained for the process B, the relationship level total value = 170.8 for the process C, and the relationship level total value = 15 for the process D.

以上の処理の結果、重み再評価部105は、図20の例の場合、パッチ1の構成ファイルA1が属するプロセスAと比較される各他プロセスB、C、Dの関係度合計値が格納された、図23に例示されるような関係度再評価情報112を得る。   As a result of the above processing, in the example of FIG. 20, the weight re-evaluation unit 105 stores the relationship degree total value of each of the other processes B, C, and D to be compared with the process A to which the configuration file A1 of the patch 1 belongs. Further, the degree-of-relationship evaluation information 112 as illustrated in FIG. 23 is obtained.

このようにして、図4のステップS210からS213までの一連の処理がパッチ/プロセス関係表110に登録されている各エントリ(図18参照)に対して繰り返し実行される。この結果、図24に例示されるような関係度再評価情報112が最終的に得られる。なお、図24では、一部の関係度合計値は省略されている(図中「(省略)」と記載されている)。   In this way, a series of processing from steps S210 to S213 in FIG. 4 is repeatedly executed for each entry (see FIG. 18) registered in the patch / process relation table 110. As a result, the relationship degree reevaluation information 112 as illustrated in FIG. 24 is finally obtained. Note that in FIG. 24, some of the relationship degree total values are omitted (indicated as “(omitted)” in the figure).

図1の関係度判定部106は、重み再評価部105が再評価した関係度再評価情報112に定義されているエントリを1つずつ獲得しながら(図4のステップS215)、それぞれのエントリについて、以下の処理を実行する(図5のステップS216〜S217→S218→S215の繰返し処理)。   The degree-of-relationship determination unit 106 in FIG. 1 acquires each entry defined in the degree-of-relationship evaluation information 112 re-evaluated by the weight re-evaluation unit 105 (step S215 in FIG. 4). Then, the following processing is executed (repetition processing of steps S216 to S217 → S218 → S215 in FIG. 5).

即ち、関係度判定部106は、関係度再評価情報112から獲得したエントリに基づいて、対象となるパッチの構成ファイルが属するプロセスと比較される各他プロセスの関係度合計値のそれぞれを、関連度閾値情報113と比較する(図5のステップS216)。ここで、関連度閾値情報113は、例えば図25に示されるように、関係度判定部106が関連の有無を判定するために必要な数値を格納する。関連度閾値情報113は、予めユーザが設定しておくことができる。関係度判定部106は、ステップS216において、関係度合計値のほうが関連度閾値情報113よりも大きい場合は、その関係度合計値に対応する他プロセスを、対象となるパッチの構成ファイルが属するプロセスに対応する関連プロセスとして、パッチ/プロセス関連情報114に保存する。   That is, the degree-of-relationship determination unit 106 associates each of the degree-of-relationship total values of other processes to be compared with the process to which the configuration file of the target patch belongs based on the entry acquired from the degree-of-relationship evaluation information 112. The threshold value information 113 is compared (step S216 in FIG. 5). Here, as shown in FIG. 25, for example, the relevance level threshold information 113 stores a numerical value necessary for the relevance determination unit 106 to determine the presence or absence of relevance. The relevance threshold information 113 can be set in advance by the user. In step S216, when the relationship level total value is larger than the relationship level threshold value information 113, the relationship level determination unit 106 selects another process corresponding to the relationship level total value as the process to which the configuration file of the target patch belongs. Is stored in the patch / process related information 114 as a related process corresponding to.

関係度判定部106は、ステップS216の処理を、全ての他プロセスの関係度合計値について繰り返し実行する(図5のステップS216→S217→S216の繰返し処理)。   The degree-of-relationship determination unit 106 repeatedly executes the process of step S216 for all the degree-of-relationship values of other processes (repetition process of steps S216 → S217 → S216 in FIG. 5).

以上の処理により最終的に得られるパッチ/プロセス関連情報114として、パッチ109を構成するパッチとパッチ構成ファイルの組合せ毎に、そのファイルが属するプロセスと、そのプロセスに関連する関連プロセスが、特定される。   As the patch / process related information 114 finally obtained by the above processing, the process to which the file belongs and the related process related to the process are specified for each combination of the patch and the patch configuration file constituting the patch 109. The

今、関連度閾値情報113の値が図25に例示されるように例えば50であるとき、図24に示される関係度再評価情報112の先頭のエントリより、パッチ1の構成ファイルA1が属するプロセスAと比較される他プロセスB、C、Dのうち、関連プロセスはB及びCとなる。この結果、パッチ1の構成ファイルA1に対して得られるパッチ/プロセス関連情報114は、図26に例示される如くとなる。   Now, when the value of the relevance threshold information 113 is 50 as illustrated in FIG. 25, for example, the process to which the configuration file A1 of the patch 1 belongs from the top entry of the relevance re-evaluation information 112 shown in FIG. Among the other processes B, C, and D to be compared with A, the related processes are B and C. As a result, the patch / process related information 114 obtained for the configuration file A1 of the patch 1 is as illustrated in FIG.

以上の動作がパッチ109から展開される各パッチの各構成ファイルについて実行される結果、各パッチの各構成ファイルに対して最終的に得られるパッチ/プロセス関連情報114は、図27に例示される如くとなる。   FIG. 27 illustrates patch / process related information 114 that is finally obtained for each configuration file of each patch as a result of the above operation being executed for each configuration file of each patch developed from the patch 109. It becomes like this.

以上のようにして、本実施形態では、自動的にプロセス間の関係度及び各プロセスと各パッチの関係度を、高精度に算出することができる。
ここで、パッチ/プロセス関連情報114を使用して、パッチが関連するプロセスと、同時に適用可能なパッチの見つけ方について説明する。
As described above, in this embodiment, the degree of relationship between processes and the degree of relationship between each process and each patch can be automatically calculated with high accuracy.
Here, using the patch / process related information 114, a process related to a patch and how to find a patch that can be applied simultaneously will be described.

今例えば、図27に例示されているパッチ/プロセス関連情報114が得られているとする。パッチ1を例にとって、パッチ/プロセス関連情報114から関連プロセスを求める方法について記述する。   For example, assume that the patch / process related information 114 illustrated in FIG. 27 is obtained. Taking Patch 1 as an example, a method for obtaining a related process from the patch / process related information 114 will be described.

図27に例示されるパッチ/プロセス関連情報114を「パッチ1」で検索すると、図28に示されるエントリ群が獲得できる。
上述のエントリ群の中から、「パッチが属するプロセス」又は「関連プロセス」として記憶されているプロセスを検索することにより、パッチ1に関連度の高いプロセスは、プロセスA、プロセスB、プロセスCの3つであることが判明する。
When the patch / process related information 114 illustrated in FIG. 27 is searched for “Patch 1”, the entry group shown in FIG. 28 can be obtained.
By searching the processes stored as “process to which the patch belongs” or “related process” from the above entry group, the processes highly related to the patch 1 are the processes A, B and C. It turns out that there are three.

同様の方法で、パッチ2に関連度の高いプロセスは、プロセスBとプロセスCであることが判明し、パッチ3に関連度の高いプロセスは、プロセスCとプロセスDであることが判明する。   In the same manner, it is found that the processes having high relevance to the patch 2 are the processes B and C, and the processes having high relevance to the patch 3 are the processes C and D.

以上の例において、パッチとプロセスの関連をまとめると、図29に示される如くとなる。このようにしてパッチとプロセスの関係が判明するため、パッチに関連する必要最小限のプロセス停止でのパッチ適用が可能となる。   In the above example, the relationship between patches and processes is summarized as shown in FIG. Since the relationship between the patch and the process becomes clear in this way, it is possible to apply the patch with the minimum necessary process stop related to the patch.

次に同時に適用可能なパッチを見つける方法について説明する。ここでは、図29に示されるパッチとプロセスの関連情報に基づいて、パッチ1と同時に適用可能なパッチを見つける方法を例に取って示す。   Next, a method for finding patches that can be applied simultaneously will be described. Here, as an example, a method for finding a patch that can be applied simultaneously with patch 1 based on the information related to the patch and process shown in FIG. 29 will be described.

パッチ1はプロセスA〜Cとの関連があるので、他のパッチで、プロセスA〜C以外のプロセスに関連するか否か判定することで、同時に適用可能なパッチを見つける。
パッチ2は、プロセスB、Cと関連があり、プロセスA〜Cの中に含まれるので、パッチ1と同時に適用可能なことが判明する。
Since patch 1 is related to processes A to C, a patch that can be applied at the same time is found by determining whether other patches are related to processes other than processes A to C.
Since the patch 2 is related to the processes B and C and is included in the processes A to C, it is found that the patch 2 can be applied simultaneously with the patch 1.

パッチ3は、プロセスC、Dと関連があり、プロセスA〜Cの中に含まれていないプロセス(プロセスD)が存在するため、パッチ1と同時には適用不可であることが判明する。   The patch 3 is related to the processes C and D, and there is a process (process D) that is not included in the processes A to C. Therefore, it is found that the patch 3 cannot be applied simultaneously with the patch 1.

このように、パッチ1とパッチ2は同時に適用可能であることが判明し、必要最小限のプロセス停止をおこなった上で、同時にパッチを適用し、パッチの適用時間の短縮が可能となる。   As described above, it is found that the patch 1 and the patch 2 can be applied at the same time, and after applying the minimum necessary process stop, the patch is applied at the same time, and the patch application time can be shortened.

図30は、上述の実施形態のソフトウェア更新装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
図30に示されるコンピュータは、CPU3001、メモリ3002、入力装置3003、出力装置3004、外部記憶装置3005、可搬記録媒体3009が挿入される可搬記録媒体駆動装置3006、及びネットワーク接続装置3007を有し、これらがバス3008によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
FIG. 30 is a diagram illustrating an example of a hardware configuration of a computer that can realize the software updating apparatus according to the above-described embodiment.
30 includes a CPU 3001, a memory 3002, an input device 3003, an output device 3004, an external storage device 3005, a portable recording medium driving device 3006 into which a portable recording medium 3009 is inserted, and a network connection device 3007. These have a configuration in which they are connected to each other by a bus 3008. The configuration shown in the figure is an example of a computer that can implement the above system, and such a computer is not limited to this configuration.

このコンピュータにおいては、パッチの投入対象となるソフトウェアが実行されているものとする。
CPU3001は、当該コンピュータ全体の制御を行う。メモリ3002は、プログラムの実行、データ更新等の際に、外部記憶装置3005(或いは可搬記録媒体3009)に記憶されているプログラム又はデータを一時的に格納するRAM等のメモリである。CUP3001は、プログラムをメモリ3002に読み出して実行することにより、全体の制御を行う。
In this computer, it is assumed that software to be patched is executed.
The CPU 3001 controls the entire computer. The memory 3002 is a memory such as a RAM that temporarily stores a program or data stored in the external storage device 3005 (or the portable recording medium 3009) when executing a program, updating data, or the like. The CUP 3001 performs overall control by reading the program into the memory 3002 and executing it.

入力装置3003は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置3003は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU3001に通知する。   The input device 3003 includes, for example, a keyboard, a mouse, etc. and their interface control devices. The input device 3003 detects an input operation by a user using a keyboard, a mouse, or the like, and notifies the CPU 3001 of the detection result.

出力装置3004は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置3004は、CPU3001の制御によって送られてくるデータを表示装置や印刷装置に出力する。   The output device 3004 includes a display device, a printing device, etc. and their interface control devices. The output device 3004 outputs data sent under the control of the CPU 3001 to a display device or a printing device.

外部記憶装置3005は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置3006は、光ディスクやSDRAM、コンパクトフラッシュ(登録商標)等の可搬記録媒体3009を収容するもので、外部記憶装置3005の補助の役割を有する。
The external storage device 3005 is, for example, a hard disk storage device. Mainly used for storing various data and programs.
The portable recording medium driving device 3006 accommodates a portable recording medium 3009 such as an optical disk, SDRAM, or Compact Flash (registered trademark), and has an auxiliary role for the external storage device 3005.

ネットワーク接続装置3007は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットワーク)の通信回線を接続するための装置である。
本実施形態によるシステムは、図1に示される各部101、102、103、104、105、及び106に必要な、図2〜図5の動作フローチャートで示される機能を搭載したプログラムを、CPU3001が実行することで実現される。そのプログラムは、例えば外部記憶装置3005や可搬記録媒体3009に記録して配布してもよく、或いはネットワーク接続装置3007によりネットワークから取得できるようにしてもよい。
The network connection device 3007 is a device for connecting, for example, a LAN (local area network) or WAN (wide area network) communication line.
In the system according to the present embodiment, the CPU 3001 executes a program equipped with the functions shown in the operation flowcharts of FIGS. 2 to 5 necessary for the respective units 101, 102, 103, 104, 105, and 106 shown in FIG. It is realized by doing. The program may be recorded and distributed in, for example, the external storage device 3005 or the portable recording medium 3009, or may be acquired from the network by the network connection device 3007.

以上説明した実施形態によれば、パッチ投入時に該当パッチとの関連性が高いプロセスを自動的に判定できるため、パッチ投入者がパッチを投入する時、該当ソフトウェアシステム内部に精通していなくても停止すべきプロセスを判断でき、その結果、プログラム間の不整合の発生を抑止することが可能となる。   According to the embodiment described above, since a process highly relevant to the corresponding patch can be automatically determined at the time of patch introduction, even when the patch submitter inputs a patch, it is not necessary to be familiar with the inside of the corresponding software system. It is possible to determine the process to be stopped, and as a result, it is possible to suppress inconsistencies between programs.

また、パッチ投入時に該当パッチと関連性が高いプロセスを自動的に判定できるため、影響のあるプロセスだけを停止することができるようになり、その結果、サービスの停止時間を短くすることが可能となる。   In addition, since processes that are highly relevant to the patch can be automatically determined when a patch is submitted, it is possible to stop only the affected processes, and as a result, the service stop time can be shortened. Become.

更に、パッチ投入時に該当パッチと関連性が高いプロセスを自動的に判定できるため、必要最小限のプロセス停止をおこなった際でも同時に適用可能なパッチを把握することができ、その結果、パッチの更新時間が短くでき、サービスの停止時間も短くすることが可能となる。   In addition, since processes that are highly relevant to the patch can be automatically determined when the patch is submitted, patches that can be applied at the same time can be grasped even when the required minimum process is stopped. The time can be shortened, and the service stop time can be shortened.

以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新装置。
(付記2)
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチによるプログラムの修正種別毎に、前記アクセス情報毎の前記関係度算出情報に対応する重みを重み情報として定義し、前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチの修正種別を判定し、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記アクセス情報毎の前記関係度算出情報を、該修正種別に対応する前記重み情報に基づいて再評価し、該差評価された関係度算出情報を該エントリのパッチ構成ファイルが属するプロセスと比較される他プロセス毎に合計し、その結果得られる各関係度合計値をエントリとして含む関係度再評価情報を生成する重み再評価部と、
前記関係度再評価情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の前記各関係度合計値を所定の閾値と比較することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新装置。
(付記3)
前記情報収集ハンドラ部は、
オペレーティングシステムのシステムコールにフックを設定するフックセット部と、
前記フックセット部が設定したフックを使用して前記オペレーティングシステムから、前記プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
を含むことを特徴とする付記1又は2に記載のソフトウェア更新装置。
(付記4)
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする付記1乃至3に記載のソフトウェア更新装置。
(付記5)
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新方法において、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新方法。
(付記6)
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新方法において、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチによるプログラムの修正種別毎に、前記アクセス情報毎の前記関係度算出情報に対応する重みを重み情報として定義し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチの修正種別を判定し、
該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記アクセス情報毎の前記関係度算出情報を、該修正種別に対応する前記重み情報に基づいて再評価し、
該差評価された関係度算出情報を該エントリのパッチ構成ファイルが属するプロセスと比較される他プロセス毎に合計し、
その結果得られる各関係度合計値をエントリとして含む関係度再評価情報を生成し、
前記関係度再評価情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の前記各関係度合計値を所定の閾値と比較することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新方法。
(付記7)
前記アクセス情報の収集において、
オペレーティングシステムのシステムコールにフックを設定し、
前記フックを使用して前記オペレーティングシステムから、前記プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ処理を実行する、
ことを特徴とする付記5又は6に記載のソフトウェア更新方法。
(付記8)
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする付記5乃至7に記載のソフトウェア更新方法。
(付記9)
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するコンピュータに、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
処理を行わせるためのプログラム。
(付記10)
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するコンピュータに、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチによるプログラムの修正種別毎に、前記アクセス情報毎の前記関係度算出情報に対応する重みを重み情報として定義し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチの修正種別を判定し、
該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記アクセス情報毎の前記関係度算出情報を、該修正種別に対応する前記重み情報に基づいて再評価し、
該差評価された関係度算出情報を該エントリのパッチ構成ファイルが属するプロセスと比較される他プロセス毎に合計し、
その結果得られる各関係度合計値をエントリとして含む関係度再評価情報を生成し、
前記関係度再評価情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の前記各関係度合計値を所定の閾値と比較することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
処理を行わせるためのプログラム。
(付記11)
前記アクセス情報の収集において、
オペレーティングシステムのシステムコールにフックを設定し、
前記フックを使用して前記オペレーティングシステムから、前記プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ処理を実行する、
ことを特徴とする付記9又は10に記載のプログラム。
(付記12)
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする付記9乃至11に記載のプログラム。
Regarding the above embodiment, the following additional notes are disclosed.
(Appendix 1)
In a software update device that updates software by applying a patch to a software execution system composed of a plurality of processes,
An information collection handler section that collects access information necessary to analogize the degree of relationship between processes;
A degree-of-relationship calculation unit that calculates a degree of relationship with another process for each process as the degree-of-relationship calculation information for each of the processes,
The patch / process relationship in which the patch is expanded to obtain each patch configuration file constituting the patch, the process to which each patch configuration file belongs is determined, and the result of each determination is stored A patch / process relation determination unit for generating a table;
For each entry in the patch / process relation table, the relation degree calculation information corresponding to the process to which the patch configuration file corresponding to the entry belongs is determined for each other process to be compared with the process. A degree of relation determination that extracts a process related to a process to which a corresponding patch configuration file belongs as a related process, and generates patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table And
And executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process for each patch configuration file based on the patch / process related information.
A software update device characterized by that.
(Appendix 2)
In a software update device that updates software by applying a patch to a software execution system composed of a plurality of processes,
An information collection handler section that collects access information necessary to analogize the degree of relationship between processes;
A degree-of-relationship calculation unit that calculates a degree of relationship with another process for each process as the degree-of-relationship calculation information for each of the processes,
The patch / process relationship in which the patch is expanded to obtain each patch configuration file constituting the patch, the process to which each patch configuration file belongs is determined, and the result of each determination is stored A patch / process relation determination unit for generating a table;
For each modification type of the program by the patch, a weight corresponding to the relation degree calculation information for each access information is defined as weight information, and for each entry in the patch / process relation table, the patch corresponding to the entry is modified. Determining the type, re-evaluating the relationship calculation information for each of the access information corresponding to the process to which the patch configuration file corresponding to the entry belongs, based on the weight information corresponding to the correction type, and evaluating the difference The calculated relevance degree information is added to each process compared to the process to which the patch configuration file of the entry belongs, and the re-evaluation information including the relevance re-evaluation information including each relevance degree value obtained as a result is generated. An evaluation unit;
Corresponding to each entry of the relation degree re-evaluation information by comparing each relation degree total value of each other process compared with the process to which the patch configuration file corresponding to the entry belongs with a predetermined threshold value A degree-of-relationship determination unit that extracts a process related to a process to which a patch configuration file belongs as a related process and generates patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relationship table When,
And executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process for each patch configuration file based on the patch / process related information.
A software update device characterized by that.
(Appendix 3)
The information collection handler unit
A hook set section for setting a hook in an operating system call;
An information collection handler unit that collects access information necessary for analogizing the degree of relationship between the processes from the operating system using the hook set by the hook set unit;
The software update device according to appendix 1 or 2, characterized by including:
(Appendix 4)
Based on the patch / process related information, by determining common processes among processes corresponding to a plurality of patches, it is possible to determine patches that can be applied simultaneously.
The software updating apparatus according to any one of supplementary notes 1 to 3, wherein
(Appendix 5)
In a software update method for updating software by applying a patch to a software execution system composed of a plurality of processes,
Collect access information necessary to analogize the degree of relationship between processes,
Based on the access information, for each process, the degree of relationship with another process is calculated as the degree of relationship calculation information for each access information,
Expand each patch to obtain each patch configuration file constituting the patch,
Determine which process each patch configuration file belongs to,
Generate a patch / process relationship table in which the results of each judgment are stored,
For each entry in the patch / process relation table, the relation degree calculation information corresponding to the process to which the patch configuration file corresponding to the entry belongs is determined for each other process to be compared with the process. Processes related to the process to which the corresponding patch configuration file belongs are extracted as related processes,
Generating patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table;
Based on the patch / process related information, for each patch configuration file, executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process.
The software update method characterized by the above-mentioned.
(Appendix 6)
In a software update method for updating software by applying a patch to a software execution system composed of a plurality of processes,
Collect access information necessary to analogize the degree of relationship between processes,
Based on the access information, for each process, the degree of relationship with another process is calculated as the degree of relationship calculation information for each access information,
Expand each patch to obtain each patch configuration file constituting the patch,
Determine which process each patch configuration file belongs to,
Generate a patch / process relationship table in which the results of each judgment are stored,
For each modification type of the program by the patch, a weight corresponding to the relation degree calculation information for each access information is defined as weight information,
For each entry in the patch / process relationship table, determine the modification type of the patch corresponding to the entry,
Re-evaluating the relationship calculation information for each access information corresponding to the process to which the patch configuration file corresponding to the entry belongs, based on the weight information corresponding to the correction type;
Summing the difference-estimated relationship degree calculation information for each other process compared with the process to which the patch configuration file of the entry belongs,
Relevance degree re-evaluation information including each relation degree total value obtained as a result is generated,
Corresponding to each entry of the relation degree re-evaluation information by comparing each relation degree total value of each other process compared with the process to which the patch configuration file corresponding to the entry belongs with a predetermined threshold value Extract the process related to the process to which the patch configuration file belongs as the related process,
Generating patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table;
Based on the patch / process related information, for each patch configuration file, executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process.
The software update method characterized by the above-mentioned.
(Appendix 7)
In collecting the access information,
Set hooks on operating system calls,
Executing an information collection handler process for collecting access information necessary for analogizing the degree of relationship between the processes from the operating system using the hook;
The software update method according to appendix 5 or 6, characterized in that:
(Appendix 8)
Based on the patch / process related information, by determining common processes among processes corresponding to a plurality of patches, it is possible to determine patches that can be applied simultaneously.
The software update method according to any one of appendices 5 to 7, characterized in that:
(Appendix 9)
A computer that updates software by applying a patch to a software execution system consisting of multiple processes.
Collect access information necessary to analogize the degree of relationship between processes,
Based on the access information, for each process, the degree of relationship with another process is calculated as the degree of relationship calculation information for each access information,
Expand each patch to obtain each patch configuration file constituting the patch,
Determine which process each patch configuration file belongs to,
Generate a patch / process relationship table in which the results of each judgment are stored,
For each entry in the patch / process relation table, the relation degree calculation information corresponding to the process to which the patch configuration file corresponding to the entry belongs is determined for each other process to be compared with the process. Processes related to the process to which the corresponding patch configuration file belongs are extracted as related processes,
Generating patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table;
Based on the patch / process related information, for each patch configuration file, executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process.
A program for performing processing.
(Appendix 10)
A computer that updates software by applying a patch to a software execution system consisting of multiple processes.
Collect access information necessary to analogize the degree of relationship between processes,
Based on the access information, for each process, the degree of relationship with another process is calculated as the degree of relationship calculation information for each access information,
Expand each patch to obtain each patch configuration file constituting the patch,
Determine which process each patch configuration file belongs to,
Generate a patch / process relationship table in which the results of each judgment are stored,
For each modification type of the program by the patch, a weight corresponding to the relation degree calculation information for each access information is defined as weight information,
For each entry in the patch / process relationship table, determine the modification type of the patch corresponding to the entry,
Re-evaluating the relationship calculation information for each access information corresponding to the process to which the patch configuration file corresponding to the entry belongs, based on the weight information corresponding to the correction type;
Summing the difference-estimated relationship degree calculation information for each other process compared with the process to which the patch configuration file of the entry belongs,
Relevance degree re-evaluation information including each relation degree total value obtained as a result is generated,
Corresponding to each entry of the relation degree re-evaluation information by comparing each relation degree total value of each other process compared with the process to which the patch configuration file corresponding to the entry belongs with a predetermined threshold value Extract the process related to the process to which the patch configuration file belongs as the related process,
Generating patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table;
Based on the patch / process related information, for each patch configuration file, executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process.
A program for performing processing.
(Appendix 11)
In collecting the access information,
Set hooks on operating system calls,
Executing an information collection handler process for collecting access information necessary for analogizing the degree of relationship between the processes from the operating system using the hook;
The program according to appendix 9 or 10, characterized by the above.
(Appendix 12)
Based on the patch / process related information, by determining common processes among processes corresponding to a plurality of patches, it is possible to determine patches that can be applied simultaneously.
The program according to appendixes 9 to 11, which is characterized by the above.

101 フックセット部
102 情報収集ハンドラ部
103 関係度算出部
104 パッチ/プロセス関係判定部
105 重み再評価部
106 関係度判定部
107 アクセス情報
108 関係度算出情報
109 パッチ
110 パッチ/プロセス関係表
111 重み情報
112 関係度再評価情報
113 関連度閾値情報
114 パッチ/プロセス関連情報
3001 CPU
3002 メモリ
3003 入力装置
3004 出力装置
3005 外部記憶装置
3007 ネットワーク接続装置
3006 可搬記録媒体駆動装置
3009 可搬記録媒体
3008 バス
DESCRIPTION OF SYMBOLS 101 Hook set part 102 Information collection handler part 103 Relation degree calculation part 104 Patch / process relation judgment part 105 Weight re-evaluation part 106 Relation degree judgment part 107 Access information 108 Relation degree calculation information 109 Patch 110 Patch / process relation table 111 Weight information 112 Relevance level re-evaluation information 113 Relevance level threshold information 114 Patch / process related information 3001 CPU
3002 Memory 3003 Input device 3004 Output device 3005 External storage device 3007 Network connection device 3006 Portable recording medium drive device 3009 Portable recording medium 3008 Bus

Claims (8)

複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新装置。
In a software update device that updates software by applying a patch to a software execution system composed of a plurality of processes,
An information collection handler section that collects access information necessary to analogize the degree of relationship between processes;
A degree-of-relationship calculation unit that calculates the degree of relationship with each other process as the degree-of-relationship calculation information for each access information based on the access information;
The patch / process relationship in which the patch is expanded to obtain each patch configuration file constituting the patch, the process to which each patch configuration file belongs is determined, and the result of each determination is stored A patch / process relation determination unit for generating a table;
For each entry in the patch / process relation table, the relation degree calculation information corresponding to the process to which the patch configuration file corresponding to the entry belongs is determined for each other process to be compared with the process. A degree of relation determination that extracts a process related to a process to which a corresponding patch configuration file belongs as a related process, and generates patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table And
And executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process for each patch configuration file based on the patch / process related information.
A software update device characterized by that.
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新装置において、
プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出する関係度算出部と、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、該各判定の結果が保存されたパッチ/プロセス関係表を生成するパッチ/プロセス関係判定部と、
前記パッチによるプログラムの修正種別毎に、前記アクセス情報毎の前記関係度算出情報に対応する重みを重み情報として定義し、前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチの修正種別を判定し、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記アクセス情報毎の前記関係度算出情報を、該修正種別に対応する前記重み情報に基づいて再評価し、該差評価された関係度算出情報を該エントリのパッチ構成ファイルが属するプロセスと比較される他プロセス毎に合計し、その結果得られる各関係度合計値をエントリとして含む関係度再評価情報を生成する重み再評価部と、
前記関係度再評価情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスと比較される他プロセス毎の前記各関係度合計値を所定の閾値と比較することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成する関係度判定部と、
を含み、該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新装置。
In a software update device that updates software by applying a patch to a software execution system composed of a plurality of processes,
An information collection handler section that collects access information necessary to analogize the degree of relationship between processes;
A degree-of-relationship calculation unit that calculates the degree of relationship with each other process as the degree-of-relationship calculation information for each access information based on the access information;
The patch / process relationship in which the patch is expanded to obtain each patch configuration file constituting the patch, the process to which each patch configuration file belongs is determined, and the result of each determination is stored A patch / process relation determination unit for generating a table;
For each modification type of the program by the patch, a weight corresponding to the relation degree calculation information for each access information is defined as weight information, and for each entry in the patch / process relation table, the patch corresponding to the entry is modified. Determining the type, re-evaluating the relationship calculation information for each of the access information corresponding to the process to which the patch configuration file corresponding to the entry belongs, based on the weight information corresponding to the correction type, and evaluating the difference The calculated relevance degree information is added to each process compared to the process to which the patch configuration file of the entry belongs, and the re-evaluation information including the relevance re-evaluation information including each relevance degree value obtained as a result is generated. An evaluation unit;
Corresponding to each entry of the relation degree re-evaluation information by comparing each relation degree total value of each other process compared with the process to which the patch configuration file corresponding to the entry belongs with a predetermined threshold value A degree-of-relationship determination unit that extracts a process related to a process to which a patch configuration file belongs as a related process and generates patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relationship table When,
And executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process for each patch configuration file based on the patch / process related information.
A software update device characterized by that.
前記情報収集ハンドラ部は、
オペレーティングシステムのシステムコールにフックを設定するフックセット部と、
前記フックセット部が設定したフックを使用して前記オペレーティングシステムから、前記プロセス間の関係度を類推するために必要なアクセス情報を収集する情報収集ハンドラ部と、
を含むことを特徴とする請求項1又は2に記載のソフトウェア更新装置。
The information collection handler unit
A hook set section for setting a hook in an operating system call;
An information collection handler unit that collects access information necessary for analogizing the degree of relationship between the processes from the operating system using the hook set by the hook set unit;
The software update apparatus according to claim 1, wherein the software update apparatus includes:
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする請求項1乃至3に記載のソフトウェア更新装置。
Based on the patch / process related information, by determining common processes among processes corresponding to a plurality of patches, it is possible to determine patches that can be applied simultaneously.
The software update device according to claim 1, wherein the software update device is a software update device.
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するソフトウェア更新方法において、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチ/プロセス関係情報のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
ことを特徴とするソフトウェア更新方法。
In a software update method for updating software by applying a patch to a software execution system composed of a plurality of processes,
Collect access information necessary to analogize the degree of relationship between processes,
Based on the access information, for each process, the degree of relationship with another process is calculated as the degree of relationship calculation information for each access information,
Expand each patch to obtain each patch configuration file constituting the patch,
Determine which process each patch configuration file belongs to,
Generate a patch / process relationship table in which the results of each judgment are stored,
For each entry of the patch / process relation information, the relation degree calculation information corresponding to the process to which the patch configuration file corresponding to the entry belongs is determined for each process to be compared with the process. Processes related to the process to which the corresponding patch configuration file belongs are extracted as related processes,
Generating patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table;
Based on the patch / process related information, for each patch configuration file, executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process.
The software update method characterized by the above-mentioned.
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする請求項5に記載のソフトウェア更新方法。
Based on the patch / process related information, by determining common processes among processes corresponding to a plurality of patches, it is possible to determine patches that can be applied simultaneously.
The software update method according to claim 5, wherein:
複数のプロセスで構成されるソフトウェア実行システムに対してパッチを適用してソフトウェアを更新するコンピュータに、
プロセス間の関係度を類推するために必要なアクセス情報を収集し、
前記アクセス情報に基づいて、前記各プロセスについて、他のプロセスとの関係度を、該アクセス情報毎に関係度算出情報として算出し、
前記パッチを展開して該パッチを構成している各パッチ構成ファイルを獲得し、
該各パッチ構成ファイルがどのプロセスに属するかをそれぞれ判定し、
該各判定の結果が保存されたパッチ/プロセス関係表を生成し、
前記パッチ/プロセス関係表のエントリ毎に、該エントリに対応するパッチ構成ファイルが属するプロセスに対応する前記関係度算出情報を、該プロセスと比較される他プロセス毎に判定することにより、該エントリに対応するパッチ構成ファイルが属するプロセスに関連するプロセスを関連プロセスとして抽出し、
該関連プロセスを示す情報が該パッチ/プロセス関係表のエントリ情報と共に保存されたパッチ/プロセス関連情報を生成し、
該パッチ/プロセス関連情報に基づいて、前記パッチ構成ファイル毎に、該パッチ構成ファイルが属するプロセスと該プロセスに関連する関連プロセスを判別しながら前記パッチを実行する、
処理を行わせるためのプログラム。
A computer that updates software by applying a patch to a software execution system consisting of multiple processes.
Collect access information necessary to analogize the degree of relationship between processes,
Based on the access information, for each process, the degree of relationship with another process is calculated as the degree of relationship calculation information for each access information,
Expand each patch to obtain each patch configuration file constituting the patch,
Determine which process each patch configuration file belongs to,
Generate a patch / process relationship table in which the results of each judgment are stored,
For each entry in the patch / process relation table, the relation degree calculation information corresponding to the process to which the patch configuration file corresponding to the entry belongs is determined for each other process to be compared with the process. Processes related to the process to which the corresponding patch configuration file belongs are extracted as related processes,
Generating patch / process related information in which information indicating the related process is stored together with entry information of the patch / process relation table;
Based on the patch / process related information, for each patch configuration file, executing the patch while determining a process to which the patch configuration file belongs and a related process related to the process.
A program for performing processing.
前記パッチ/プロセス関連情報に基づいて、複数のパッチに対応するプロセスのうち共通するものを判別することにより、同時に適用可能なパッチを判別する、
ことを特徴とする請求項7に記載のプログラム。
Based on the patch / process related information, by determining common processes among processes corresponding to a plurality of patches, it is possible to determine patches that can be applied simultaneously.
The program according to claim 7.
JP2009211307A 2009-09-14 2009-09-14 Software updating apparatus, method, and program Expired - Fee Related JP5229170B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009211307A JP5229170B2 (en) 2009-09-14 2009-09-14 Software updating apparatus, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009211307A JP5229170B2 (en) 2009-09-14 2009-09-14 Software updating apparatus, method, and program

Publications (2)

Publication Number Publication Date
JP2011060160A JP2011060160A (en) 2011-03-24
JP5229170B2 true JP5229170B2 (en) 2013-07-03

Family

ID=43947688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009211307A Expired - Fee Related JP5229170B2 (en) 2009-09-14 2009-09-14 Software updating apparatus, method, and program

Country Status (1)

Country Link
JP (1) JP5229170B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117668846A (en) * 2022-08-30 2024-03-08 华为技术有限公司 Hot patching method and related device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11134178A (en) * 1997-10-27 1999-05-21 Nec Eng Ltd Interrelated check system by information on number of versions of load module and program storage medium
JP2008146163A (en) * 2006-12-06 2008-06-26 Hitachi Ltd Patch reconstruction method
JP5213428B2 (en) * 2007-12-13 2013-06-19 キヤノン株式会社 Image forming apparatus monitoring system, image forming apparatus, firmware changing method, and program

Also Published As

Publication number Publication date
JP2011060160A (en) 2011-03-24

Similar Documents

Publication Publication Date Title
JP6349395B2 (en) Call path finder
US7747616B2 (en) File search method and system therefor
US8494996B2 (en) Creation and revision of network object graph topology for a network performance management system
TW202029079A (en) Method and device for identifying irregular group
WO2019085474A1 (en) Calculation engine implementing method, electronic device, and storage medium
US11023625B2 (en) Computational accelerator architecture for change control in model-based system engineering
KR101355273B1 (en) A computing system, a method for controlling thereof, and a computer-readable recording medium having a computer program for controlling thereof
RU2722692C1 (en) Method and system for detecting malicious files in a non-isolated medium
US9658834B2 (en) Program visualization device, program visualization method, and program visualization program
CN106682514B (en) System calling sequence feature pattern set generation method based on subgraph mining
US11847446B2 (en) Predictive build quality assessment
CN103679034B (en) A kind of computer virus analytic system based on body and feature extracting method thereof
JP2019531539A (en) Method and apparatus for performing distributed computing tasks
CN114048136A (en) Test type determination method, device, server, medium and product
CN104573127B (en) Assess the method and system of data variance
JP5229170B2 (en) Software updating apparatus, method, and program
EP3108400A1 (en) Virus signature matching method and apparatus
CN111858366A (en) Test case generation method, device, equipment and storage medium
CN116595044A (en) Optimization method, storage medium and equipment for database selectivity calculation
US11934927B2 (en) Handling system-characteristics drift in machine learning applications
WO2023081032A1 (en) Query-based database redaction
KR20180118606A (en) Application programs User interface automation Test methods, electronic devices, systems and storage media
CN112579705B (en) Metadata acquisition method, device, computer equipment and storage medium
US11886459B2 (en) Data management system and data management method
JP2019144873A (en) Block diagram analyzer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120510

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130304

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

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5229170

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees