JP2021144405A - Program, information processing device, and method of controlling information processing device - Google Patents

Program, information processing device, and method of controlling information processing device Download PDF

Info

Publication number
JP2021144405A
JP2021144405A JP2020041881A JP2020041881A JP2021144405A JP 2021144405 A JP2021144405 A JP 2021144405A JP 2020041881 A JP2020041881 A JP 2020041881A JP 2020041881 A JP2020041881 A JP 2020041881A JP 2021144405 A JP2021144405 A JP 2021144405A
Authority
JP
Japan
Prior art keywords
information
patches
patch
combination
information processing
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.)
Pending
Application number
JP2020041881A
Other languages
Japanese (ja)
Inventor
豊 加藤
Yutaka Kato
豊 加藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020041881A priority Critical patent/JP2021144405A/en
Publication of JP2021144405A publication Critical patent/JP2021144405A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

To enable management of patch application in a more suitable manner.SOLUTION: A processing execution unit 306 of a server device 102 acquires information indicating a situation where patches are applied to the operation environment of a program. In addition, the processing execution unit 306 acquires, for each of one or more patch combinations to be applied to the operation environment, problem patch data 701 associated with information for identifying alternative processing to be executed by a program when the one or more patch combinations are applied, from a management server device 101. Further, on the basis of the problem patch data 701 and the situation where patches are applied to the operation environment, the processing execution unit 306 executes first processing when it is determined that the one or more patch combinations are not applied, and executes the alternative processing different from the first processing when it is determined that the one or more patch combinations are applied to the operation environment.SELECTED DRAWING: Figure 6

Description

本開示は、プログラム、情報処理装置、及び情報処理装置の制御方法に関する。 The present disclosure relates to a program, an information processing device, and a control method for the information processing device.

オペレーティングシステム(OS:Operating System)やその上で動作する基盤ソフトウェアに対して、修正プラグラム(以下、「パッチ」とも称する)が適用される場合がある。パッチ適用の目的としては、機能の追加やセキュリティホールへの対処等のように多岐にわたる。このようなパッチは、OSや基盤ソフトウェアの提供元から所望のタイミングでリリースされ、中には定期的にリリースされるものもある。また、近年では、リリースされたパッチが自動的に適用されるような設定が適用されている場合も少なくない。 A modification program (hereinafter, also referred to as a "patch") may be applied to an operating system (OS: Operating System) and the underlying software running on the operating system (OS). The purpose of applying patches is wide-ranging, such as adding functions and dealing with security holes. Such patches are released at a desired timing from the OS or the provider of the basic software, and some of them are released regularly. Also, in recent years, there are many cases where settings are applied so that released patches are automatically applied.

一方で、OSや基盤ソフトウェアに対するパッチの適用に伴い、当該OSや当該基盤ソフトウェアが提供するシステム環境が変化し、当該環境上で動作するアプリケーションの振る舞いが変化する場合がある。そのため、所定のアプリケーションの動作に影響を及ぼす可能性があるパッチについては、適用を見送るような運用が行われる場合もある。このような状況を鑑み、例えば、特許文献1には、OSへのパッチ適用が特定のアプリケーションに影響を及ぼす可能性を事前に検知し、ユーザ(例えば、当該アプリケーションを含むサービスの提供者)に通知する技術の一例が開示されている。 On the other hand, with the application of the patch to the OS and the base software, the system environment provided by the OS and the base software may change, and the behavior of the application running on the environment may change. Therefore, for patches that may affect the operation of a given application, there are cases where the application is postponed. In view of such a situation, for example, in Patent Document 1, it is detected in advance that patch application to the OS may affect a specific application, and the user (for example, the provider of the service including the application) is notified. An example of notification technology is disclosed.

特開2014−13457号公報Japanese Unexamined Patent Publication No. 2014-13457

一方で、リリースされるパッチの中には、所謂セキュリティパッチのように、OSや基盤ソフトウェアが抱える脆弱性への対処を目的としてリリースされるものもあり、必ずしも適用を見送ることが適切な対処とは限らない場合がある。また、互いに異なる複数のパッチがアプリケーションの動作に影響を及ぼす場合もあり、複数のパッチの組み合わせに応じて、アプリケーションのカスタマイズが要求されるような場合もある。このように、近年では、OSや基盤ソフトウェア等のようなアプリケーションの動作環境に対するパッチ適用に係る管理がより煩雑化する傾向にあり、このような煩雑化した管理がユーザ(例えば、管理者)の負担となる場合も少なくない。 On the other hand, some of the released patches, such as so-called security patches, are released for the purpose of dealing with vulnerabilities in the OS and underlying software, so it is not always appropriate to forgo application. May not always be. In addition, a plurality of patches different from each other may affect the operation of the application, and the application may be required to be customized according to the combination of the plurality of patches. As described above, in recent years, the management related to patch application to the operating environment of applications such as OS and basic software tends to be more complicated, and such complicated management is performed by users (for example, administrators). It is often a burden.

本発明は上記の問題を鑑み、パッチ適用に係る管理をより好適な態様で実現可能とすることを目的とする。 In view of the above problems, it is an object of the present invention to make management related to patch application feasible in a more preferable manner.

本発明に係るプログラムは、情報処理装置のコンピュータに実行されるプログラムであって、前記プログラムは、前記プログラムが動作する動作環境に対するパッチの適用状況を示す第1の情報を取得する第1の取得工程と、前記動作環境への適用対象となる1以上のパッチの組み合わせと、当該1以上のパッチの組み合わせが適用されている場合に前記プログラムが行うべき代替処理を特定するための情報を対応付けた第2の情報を取得する第2の取得工程と、前記第1の情報と前記第2の情報とに基づき前記動作環境に前記1以上のパッチの組み合わせが適用されていないと特定される場合に第1の処理を実行し、前記第1の情報と前記第2の情報とに基づき前記動作環境に前記1以上のパッチの組み合わせが適用されていると特定される場合に前記第1の処理とは異なる、前記代替処理を実行する実行工程と、を前記コンピュータに実行させることを特徴とする。 The program according to the present invention is a program executed on a computer of an information processing apparatus, and the program acquires a first information indicating a patch application status to an operating environment in which the program operates. Corresponds the process, the combination of one or more patches to be applied to the operating environment, and the information for specifying the alternative process to be performed by the program when the combination of the one or more patches is applied. When it is specified that the combination of one or more patches is not applied to the operating environment based on the second acquisition step of acquiring the second information and the first information and the second information. The first process is executed, and when it is specified that the combination of the one or more patches is applied to the operating environment based on the first information and the second information, the first process is performed. It is characterized in that the computer is made to execute an execution step for executing the alternative process, which is different from the above.

本発明によれば、パッチ適用に係る管理をより好適な態様で実現することが可能となる。 According to the present invention, it is possible to realize management related to patch application in a more preferable manner.

情報処理システムのシステム構成の一例を示した図である。It is a figure which showed an example of the system configuration of an information processing system. 情報処理装置のハードウェア構成の一例を示した図である。It is a figure which showed an example of the hardware configuration of an information processing apparatus. 情報処理システムのソフトウェアモジュールの構成の一例を示した図である。It is a figure which showed an example of the structure of the software module of an information processing system. 情報処理システムの処理の一例を示したフローチャートである。It is a flowchart which showed an example of the processing of an information processing system. 情報処理システムの処理の一例を示したフローチャートである。It is a flowchart which showed an example of the processing of an information processing system. 情報処理システムの処理の一例を示したフローチャートである。It is a flowchart which showed an example of the processing of an information processing system. 問題パッチデータの一例について示した図である。It is a figure which showed an example of a problem patch data. 情報処理システムの処理の他の一例を示したフローチャートである。It is a flowchart which showed another example of the processing of an information processing system. 問題パッチデータの他の一例について示した図である。It is a figure which showed another example of a problem patch data.

以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. In the present specification and the drawings, components having substantially the same functional configuration are designated by the same reference numerals, so that duplicate description will be omitted.

<概要>
近年では、OSや基盤ソフトウェア等のようなアプリケーションの動作環境に対して、パッチと称される修正プログラムを適用することで、機能の追加や一部機能の修正(例えば、セキュリティホールへの対処等)が行われる場合がある。このようなパッチは、所望のタイミングでリリースされ、中には定期的にリリースされるものもある。また、近年では、リリースされたパッチが自動的に適用されるような設定が行われている場合も少なくない。例えば、Microsoft社が提供するWindows(登録商標)を例に挙げると、毎月1回の頻度でセキュリティパッチの配布が行われている。また、Windows10では、年に2回の頻度で、機能追加を含む大型アップデートを目的としてパッチの配布が行われている。
<Overview>
In recent years, by applying a patch called a patch to the operating environment of an application such as an OS or infrastructure software, functions can be added or some functions can be modified (for example, dealing with security holes, etc.). ) May be performed. Such patches are released at the desired time, and some are released on a regular basis. Also, in recent years, there are many cases where settings are made so that released patches are automatically applied. For example, taking Windows (registered trademark) provided by Microsoft as an example, security patches are distributed once a month. In Windows 10, patches are distributed twice a year for the purpose of major updates including function additions.

一方で、セキュリティパッチや大型アップデートを目的としたパッチ等の適用に伴い、OSや基盤ソフトウェアが提供するシステム環境が変化することで、当該環境上で動作するアプリケーションの振る舞いが変化する場合がある。
セキュリティパッチや大型アップデートを目的としたパッチの実態は、OSや基盤ソフトウェアの機能を提供するモジュール(例えば、OSモジュール等)のファイルの更新である。
例えば、Windowsにおける文書生成・表示アプリケーションでは、OSが提供するGDI(Graphicas Device Interface)というインタフェースを通じで文字描画等を行う。GDI機能はOSモジュールである「gdi32.dll」にて提供されている。パッチ等でこの「gdi32.dll」ファイルが更新されると、文書表示アプリケーションは影響を受ける場合がある。OSモジュールの提供側は、全てのユーザに対して残環境での動作を保証することは現実的には難しく、環境によっては提供されたOSモジュールが少なくとも一部のアプリケーションの動作に影響を及ぼす場合もある。
このような状況を鑑み、所定のアプリケーションの動作に影響を及ぼす可能性があるパッチについては、当該アプリケーションの動作環境(例えば、OSや基盤ソフトウェア等)への適用を見送るような運用が行われる場合もある。
On the other hand, with the application of security patches, patches for the purpose of large-scale updates, etc., the behavior of applications operating in the environment may change due to changes in the system environment provided by the OS and basic software.
The actual state of security patches and patches aimed at large-scale updates is the updating of files of modules (for example, OS modules, etc.) that provide functions of the OS and basic software.
For example, in a document generation / display application in Windows, character drawing or the like is performed through an interface called GDI (Graphics Device Interface) provided by the OS. The GDI function is provided by the OS module "gdi32.dll". If this "gdi32.dll" file is updated by a patch or the like, the document display application may be affected. It is practically difficult for the OS module provider to guarantee the operation in the remaining environment for all users, and depending on the environment, the provided OS module may affect the operation of at least some applications. There is also.
In view of this situation, when a patch that may affect the operation of a predetermined application is operated so as to forgo application to the operating environment of the application (for example, OS, infrastructure software, etc.). There is also.

一方で、近年のOSや基盤ソフトウェアにおいては、大型アップデートを目的としたパッチの適用を遅らせることは可能であっても、見送り続けることは現実的には困難な場合がある。また、セキュリティパッチの適用を見送るということは、セキュリティリスクを抱えることともなり得る。このように、リリースされるパッチの中には、必ずしも適用を見送ることが適切な対処とは限らない場合がある。
また、互いに異なる複数のパッチがアプリケーションの動作に影響を及ぼす場合もあり、複数のパッチの組み合わせに応じて、アプリケーションのカスタマイズが要求されるような場合もある。これに対して、カスタマイズしたアプリケーションを環境ごとに配布・管理する方法は、影響を及ぼすパッチの組み合わせごとにアプリケーションのカスタマイズが要求される場合もあり、配布や管理に係るコストが膨大となるため現実的ではない。また、影響を及ぼすパッチが更に修正されることで、アプリケーションとして問題のない動作に戻るようなケースも想定され得る。
On the other hand, in recent OSs and basic software, even if it is possible to delay the application of a patch for the purpose of a large-scale update, it may be practically difficult to continue to forgo it. In addition, forgoing the application of security patches may pose a security risk. As such, for some patches released, it may not always be appropriate to forgo application.
In addition, a plurality of patches different from each other may affect the operation of the application, and the application may be required to be customized according to the combination of the plurality of patches. On the other hand, the method of distributing and managing a customized application for each environment is a reality because the application customization may be required for each combination of influential patches, and the cost for distribution and management becomes enormous. Not the target. In addition, it is possible that the application may return to a problem-free operation by further modifying the influential patch.

このように、近年では、OSや基盤ソフトウェア等のようなアプリケーションの動作環境に対するパッチ適用に係る管理がより煩雑化する傾向にあり、このような煩雑化した管理がユーザ(例えば、管理者)の負担となる場合も少なくない。そこで、本開示では、OSや基盤ソフトウェア等のようなアプリケーションの動作環境に対するパッチ適用に係る管理をより好適な態様で実現可能とする技術を提案する。 As described above, in recent years, the management related to patch application to the operating environment of applications such as OS and basic software tends to be more complicated, and such complicated management is performed by users (for example, administrators). It is often a burden. Therefore, the present disclosure proposes a technique that makes it possible to realize management related to patch application to the operating environment of an application such as an OS or basic software in a more preferable manner.

<システム構成>
図1を参照して、本実施形態に係る情報処理システムのシステム構成の一例について説明する。本実施形態に係る情報処理システム1は、管理サーバ装置101と、1以上のサーバ装置102とを含む。
<System configuration>
An example of the system configuration of the information processing system according to the present embodiment will be described with reference to FIG. The information processing system 1 according to the present embodiment includes a management server device 101 and one or more server devices 102.

管理サーバ装置101は、サーバ装置102においてアプリケーションの動作環境として動作するOSや基盤ソフトウェアに対して適用されるパッチの管理や、当該サーバ装置102への当該パッチの配信等を行う。また、管理サーバ装置101は、サーバ装置102で操作するアプリケーションに影響を及ぼす可能性のあるパッチに関する情報を管理し、当該情報に関するデータを、問題パッチデータとして各サーバ装置102に提供する。 The management server device 101 manages patches applied to the OS and basic software that operate as the operating environment of the application in the server device 102, and distributes the patches to the server device 102. In addition, the management server device 101 manages information on patches that may affect the application operated by the server device 102, and provides the data related to the information to each server device 102 as problem patch data.

サーバ装置102は、各種アプリケーションを実行することで当該アプリケーションに対応する機能を提供する装置を模式的に示している。サーバ装置102は、管理サーバ装置101から提供される問題パッチデータに基づき、各種処理を実行する。例えば、サーバ装置102は、当該問題パッチデータに基づき、管理サーバ装置101から配信されるパッチを適用してもよい。
なお、サーバ装置102が、本実施形態に係る「情報処理装置」の一例に相当する。
The server device 102 schematically shows a device that provides a function corresponding to the application by executing various applications. The server device 102 executes various processes based on the problem patch data provided by the management server device 101. For example, the server device 102 may apply the patch distributed from the management server device 101 based on the problem patch data.
The server device 102 corresponds to an example of the "information processing device" according to the present embodiment.

管理サーバ装置101と、1以上のサーバ装置102それぞれと、の間は所定のネットワーク100を介して互いに情報やデータを送受信可能に接続されている。
なお、ネットワーク100は、管理サーバ装置101と、1以上のサーバ装置102それぞれと、の間を接続することが可能であれば、その種別は特に限定されない。具体的な一例として、ネットワーク100として、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、公衆回線(例えば、電話回線、移動体通信回線等)等が適用されてもよい。また、他の一例として、ネットワーク100として、専用線、ATM(Asynchronous Transfer Mode)やフレームリレー回線、ケーブルテレビ回線、データ放送用無線通信回線等が適用されてもよい。また、ネットワーク100は、無線のネットワークであってもよく、有線のネットワークであってもよい。また、ネットワーク100は、複数種類の異なるネットワークを含んでもよい。具体的な一例として、管理サーバ装置101と、1以上のサーバ装置102それぞれと、間の通信が、他の通信装置により中継されてもよい。この場合において、当該他の通信装置と、管理サーバ装置101と、1以上のサーバ装置102それぞれと、の間の通信に対して、互いに異なる種別のネットワークが適用されてもよい。
The management server device 101 and one or more server devices 102 are connected to each other via a predetermined network 100 so that information and data can be transmitted and received.
The type of the network 100 is not particularly limited as long as it can be connected between the management server device 101 and one or more server devices 102. As a specific example, as the network 100, the Internet, LAN (Local Area Network), WAN (Wide Area Network), public line (for example, telephone line, mobile communication line, etc.) and the like may be applied. Further, as another example, as the network 100, a dedicated line, an ATM (Asynchronous Transfer Mode), a frame relay line, a cable television line, a wireless communication line for data broadcasting, or the like may be applied. Further, the network 100 may be a wireless network or a wired network. Further, the network 100 may include a plurality of different types of networks. As a specific example, communication between the management server device 101 and one or more server devices 102 may be relayed by another communication device. In this case, different types of networks may be applied to the communication between the other communication device, the management server device 101, and one or more server devices 102, respectively.

<ハードウェア構成>
図2を参照して、図1に示す管理サーバ装置101やサーバ装置102として適用可能な情報処理装置200のハードウェア構成の一例について説明する。情報処理装置200は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203とを含む。また、情報処理装置200は、HDD(Hard Disk Drive)204と、I/F207とを含む。また、情報処理装置200は、入力装置205と、出力装置206とのうち少なくともいずれかを含んでもよい。
<Hardware configuration>
An example of the hardware configuration of the information processing device 200 applicable as the management server device 101 and the server device 102 shown in FIG. 1 will be described with reference to FIG. The information processing device 200 includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, and a RAM (Random Access Memory) 203. Further, the information processing device 200 includes an HDD (Hard Disk Drive) 204 and an I / F 207. Further, the information processing device 200 may include at least one of the input device 205 and the output device 206.

CPU201は、情報処理装置200(例えば、管理サーバ装置101やサーバ装置102)の各種動作を制御する中央演算装置である。例えば、CPU201は、情報処理装置200全体の動作を制御してもよい。ROM202は、CPU201で実行可能な制御プログラムやブートプログラムなどを記憶する。具体的な一例として、ROM202は、BIOS(Basic Input Output System)等の所謂ファームウェアを記憶してもよい。RAM203は、CPU201の主記憶メモリであり、ワークエリア又は各種プログラムを展開するための一時記憶領域として用いられる。 The CPU 201 is a central processing unit that controls various operations of the information processing device 200 (for example, the management server device 101 and the server device 102). For example, the CPU 201 may control the operation of the entire information processing device 200. The ROM 202 stores a control program, a boot program, and the like that can be executed by the CPU 201. As a specific example, the ROM 202 may store so-called firmware such as a BIOS (Basic Input Output System). The RAM 203 is the main storage memory of the CPU 201, and is used as a work area or a temporary storage area for developing various programs.

HDD204は、各種データや各種プログラムを記憶する。例えば、HDD204は、OSや基盤ソフトウェアのプログラムを記憶してもよい。HDD204に替えて、またはHDD204とともに、SSD(Solid State Drive)に代表される不揮発性メモリ等のような他の記録媒体が利用されてもよい。 HDD 204 stores various data and various programs. For example, the HDD 204 may store a program of the OS or the basic software. Other recording media such as a non-volatile memory typified by SSD (Solid State Drive) may be used instead of the HDD 204 or together with the HDD 204.

入力装置205は、ユーザからの各種指示の受け付けに利用される。例えば、入力装置205は、ポインティングデバイス、キーボード、タッチパネル等の入力デバイスにより実現され得る。また、他の一例として、入力装置205は、マイクロフォン等の集音デバイスを含み、ユーザが発話した音声を集音してもよい。この場合には、集音された音声に対して音響解析や自然言語処理等の各種解析処理が施されることで、この音声が示す内容がユーザからの指示として認識される。また、入力装置205として適用されるデバイスは、ユーザからの指示を認識する方法に応じて適宜変更されてもよい。また、入力装置205として複数種類のデバイスが適用されてもよい。 The input device 205 is used for receiving various instructions from the user. For example, the input device 205 can be realized by an input device such as a pointing device, a keyboard, and a touch panel. Further, as another example, the input device 205 may include a sound collecting device such as a microphone and collect sound spoken by the user. In this case, the collected voice is subjected to various analysis processes such as acoustic analysis and natural language processing, so that the content indicated by the voice is recognized as an instruction from the user. Further, the device applied as the input device 205 may be appropriately changed depending on the method of recognizing the instruction from the user. Further, a plurality of types of devices may be applied as the input device 205.

出力装置206は、各種情報を出力する装置であり、ユーザに対する各種情報の提示に利用される。例えば、出力装置206は、ディスプレイ等の表示デバイスにより実現される。この場合には、出力装置206は、各種表示情報を表示させることで、ユーザに対して情報を提示する。また、他の一例として、出力装置206は、音声や電子音等の音を出力する音響出力デバイスにより実現されてもよい。この場合には、出力装置206は、音声や電信等の音を出力することで、ユーザに対して情報を提示する。なお、出力装置206として適用されるデバイスは、ユーザに対して情報を提示するために利用する媒体に応じて適宜変更されてもよい。 The output device 206 is a device that outputs various information, and is used for presenting various information to the user. For example, the output device 206 is realized by a display device such as a display. In this case, the output device 206 presents the information to the user by displaying various display information. Further, as another example, the output device 206 may be realized by an acoustic output device that outputs sounds such as voice and electronic sounds. In this case, the output device 206 presents information to the user by outputting sound such as voice or telegraph. The device applied as the output device 206 may be appropriately changed depending on the medium used for presenting information to the user.

I/F207は、ネットワーク100に接続されており、当該ネットワーク100を介した外部の装置との通信に利用される。 The I / F 207 is connected to the network 100 and is used for communication with an external device via the network 100.

情報処理装置200が起動すると、CPU201によりBIOSが実行されたうえで、OSがHHD204からRAM203に実行可能に展開される。CPU201は、例えば、OSの動作に従って後述する各種ソフトウェアモジュールをHDD204からRAM203に随時実行可能に展開する。各種ソフトウェアモジュールは、上述した各種デバイスの協調によりCPU201により実行されることで対応する機能を実現する。また、I/F207は、例えば、OSの動作に従ってCPU201により制御されることで、他の装置との通信を実現する。 When the information processing device 200 is started, the BIOS is executed by the CPU 201, and then the OS is executably expanded from the HHD 204 to the RAM 203. The CPU 201, for example, deploys various software modules described later from the HDD 204 to the RAM 203 so as to be executable at any time according to the operation of the OS. The various software modules are executed by the CPU 201 in cooperation with the various devices described above to realize the corresponding functions. Further, the I / F 207 realizes communication with other devices by being controlled by the CPU 201 according to the operation of the OS, for example.

<モジュール構成>
図3を参照して、管理サーバ装置101及びサーバ装置102それぞれで動作するソフトウェアモジュールの構成の一例について説明する。なお、図3に示す各ソフトウェアモジュールは、例えば、図2に示したHDD204に記憶されており、前述したようにCPU201によってRAM203に展開されたうえで実行される。
<Module configuration>
An example of the configuration of the software module operating in each of the management server device 101 and the server device 102 will be described with reference to FIG. Each software module shown in FIG. 3 is stored in the HDD 204 shown in FIG. 2, for example, and is executed after being expanded in the RAM 203 by the CPU 201 as described above.

まず、図3(a)を参照して、管理サーバ装置101のソフトウェアモジュールの構成の一例について説明する。管理サーバ装置101は、パッチデータ編集部301と、データ通信部302と、データアクセス部303と、パッチデータ記憶部304とを含む。 First, an example of the configuration of the software module of the management server device 101 will be described with reference to FIG. 3A. The management server device 101 includes a patch data editing unit 301, a data communication unit 302, a data access unit 303, and a patch data storage unit 304.

パッチデータ記憶部304は、サーバ装置102への各種パッチの配信に係るデータを記憶する。具体的な一例として、パッチデータ記憶部304は、別途図7を参照して詳細を後述する問題パッチデータ701を記憶する。パッチデータ記憶部304は、例えば、データベース等により実現され得る。 The patch data storage unit 304 stores data related to distribution of various patches to the server device 102. As a specific example, the patch data storage unit 304 stores the problem patch data 701, which will be described in detail later with reference to FIG. 7. The patch data storage unit 304 can be realized by, for example, a database or the like.

データアクセス部303は、パッチデータ記憶部304にアクセスし、パッチデータ記憶部304に記憶されたデータの読み出しを行う。具体的な一例として、データアクセス部303は、パッチデータ記憶部304から問題パッチデータ701を読み出し、当該問題パッチデータ701をRAM203に展開してもよい。 The data access unit 303 accesses the patch data storage unit 304 and reads out the data stored in the patch data storage unit 304. As a specific example, the data access unit 303 may read the problem patch data 701 from the patch data storage unit 304 and expand the problem patch data 701 into the RAM 203.

パッチデータ編集部301は、サーバ装置102への各種パッチの配信に係るデータの内容の編集を行う。具体的な一例として、パッチデータ編集部301は、RAM203に展開された問題パッチデータ701の編集を行ってもよい。 The patch data editing unit 301 edits the contents of data related to the distribution of various patches to the server device 102. As a specific example, the patch data editing unit 301 may edit the problem patch data 701 expanded in the RAM 203.

データ通信部302は、各種情報や各種データを、ネットワーク100を介して他の装置(例えば、サーバ装置102)に送信する。具体的な一例として、データ通信部302は、RAM203に展開された問題パッチデータ701を、ネットワーク100を介してサーバ装置102に送信してもよい。また、データ通信部302は、ネットワーク100を介して他の装置から各種情報や各種データを受信してもよい。 The data communication unit 302 transmits various information and various data to another device (for example, the server device 102) via the network 100. As a specific example, the data communication unit 302 may transmit the problem patch data 701 expanded in the RAM 203 to the server device 102 via the network 100. Further, the data communication unit 302 may receive various information and various data from other devices via the network 100.

次いで、図3(b)を参照して、サーバ装置102のソフトウェアモジュールの構成の一例について説明する。サーバ装置102は、パッチ情報取得部305と、処理実行部306と、データ通信部307とを含む。 Next, an example of the configuration of the software module of the server device 102 will be described with reference to FIG. 3 (b). The server device 102 includes a patch information acquisition unit 305, a processing execution unit 306, and a data communication unit 307.

パッチ情報取得部305は、サーバ装置102においてアプリケーションの動作環境として動作するOSや基盤ソフトウェアに対して適用されたパッチに関する情報を取得する。なお、パッチ情報取得部305が、OSや基盤ソフトウェアに対して適用されたパッチに関する情報を取得することが可能であれば、その方法は特に限定されない。具体的な一例として、パッチ情報取得部305は、OSや基盤ソフトウェアが提供するAPI等のインタフェースを利用することで、当該OSや当該基盤ソフトウェアに対して適用されたパッチに関する情報を取得してもよい。 The patch information acquisition unit 305 acquires information on the patch applied to the OS and the base software that operate as the operating environment of the application in the server device 102. The method is not particularly limited as long as the patch information acquisition unit 305 can acquire information on the patch applied to the OS and the basic software. As a specific example, even if the patch information acquisition unit 305 acquires information on the patch applied to the OS or the infrastructure software by using an interface such as an API provided by the OS or the infrastructure software. good.

処理実行部306は、サーバ装置102が提供する機能に関する各種処理を実行する。例えば、処理実行部306は、サーバ装置102が文書生成に係る機能を提供する場合には、当該機能の実現に係る各種処理を実行してもよい。 The process execution unit 306 executes various processes related to the functions provided by the server device 102. For example, when the server device 102 provides a function related to document generation, the process execution unit 306 may execute various processes related to the realization of the function.

ここで、文書生成に係る機能を実現する場合に着目して、処理実行部306により実行される処理の一例について説明する。文書生成に係る処理は、例えば、処理実行部306が文書生成に係るアプリケーション(以下、「文書生成アプリケーション」とも称する)を実行することで実現される。文書生成アプリケーションとしては、多様な形態が考えられるが、一例として、電子帳票の生成に係るアプリケーションについて説明する。
文書生成アプリケーションは、例えば、データベースから取得された帳票内に表示されるデータを、罫線、ロゴ、及び表等の組み合わせからなるテンプレートの定義に従い、対応する領域内に流し込むことで、電子帳票を生成する。電子帳票のデータ形式としては、例えば、PDF等が適用され得る。この場合には、文書生成アプリケーションは、例えば、各種コンポーネントの描画に係るインタフェースを介して所定のドライバ経由で、電子帳票をPDF等の所定の形式のデータに変換する。なお、上述した各種コンポーネントの描画に係るインタフェースのとしては、例えば、Windowsが提供するGDI(Graphics Device Interface)等が挙げられる。
Here, an example of the process executed by the process execution unit 306 will be described with a focus on the case where the function related to the document generation is realized. The process related to document generation is realized, for example, by the process execution unit 306 executing an application related to document generation (hereinafter, also referred to as “document generation application”). Various forms can be considered as the document generation application, and as an example, an application related to electronic form generation will be described.
The document generation application generates an electronic form by, for example, pouring the data displayed in the form acquired from the database into the corresponding area according to the definition of the template consisting of a combination of ruled lines, logos, tables, and the like. do. As the data format of the electronic form, for example, PDF or the like can be applied. In this case, the document generation application converts the electronic form into data in a predetermined format such as PDF via a predetermined driver via, for example, an interface related to drawing of various components. Examples of the interface related to drawing of the various components described above include GDI (Graphics Device Interface) provided by Windows.

データ通信部307は、各種情報や各種データを、ネットワーク100を介して他の装置(例えば、管理サーバ装置101)に送信する。また、データ通信部307は、ネットワーク100を介して他の装置から各種情報や各種データを受信してもよい。具体的な一例として、データ通信部307は、管理サーバ装置101から問題パッチデータ701を取得し、当該問題パッチデータ701をRAM203に展開してもよい。 The data communication unit 307 transmits various information and various data to another device (for example, the management server device 101) via the network 100. Further, the data communication unit 307 may receive various information and various data from other devices via the network 100. As a specific example, the data communication unit 307 may acquire the problem patch data 701 from the management server device 101 and expand the problem patch data 701 in the RAM 203.

<処理>
図4〜図6を参照して、本実施形態に係る情報処理システム1の処理の一例について説明する。
<Processing>
An example of the processing of the information processing system 1 according to the present embodiment will be described with reference to FIGS. 4 to 6.

まず、図4を参照して、管理サーバ装置101による問題パッチデータ701の編集に係る処理の一例について説明する。
S401において、パッチデータ編集部301は、問題パッチデータ701の内容の編集を行う。また、パッチデータ編集部301は、問題パッチデータ701が存在しない場合には、問題パッチデータ701を新たに作成してもよい。
First, with reference to FIG. 4, an example of the process related to the editing of the problem patch data 701 by the management server device 101 will be described.
In S401, the patch data editing unit 301 edits the contents of the problem patch data 701. Further, the patch data editing unit 301 may newly create the problem patch data 701 when the problem patch data 701 does not exist.

なお、問題パッチデータ701の内容の編集に係る方法については特に限定されない。
具体的な一例として、パッチデータ編集部301は、不図示の編集インタフェースをユーザに提示し、当該編集インタフェースを介してユーザから指示された編集内容を、RAM203に展開された問題パッチデータ701に反映してもよい。
また、他の一例として、パッチデータ編集部301は、インターネット等に応じて公開されている各種OS向けの修正パッチ情報を取得し、当該修正パッチ情報に示された内容に応じて、問題パッチデータ701の編集を行ってもよい。なお、公開されている情報が必ずしも、問題パッチデータ701の編集に利用しやすい方式(換言すると、編集を自動化しやすい方式)で記録されているとは限らない。そのため、パッチデータ編集部301は、例えば、Webスクレイピング等の手法を利用してもよい。
修正パッチ情報として取得される情報の一例として、「包含パッチ」に関する情報が挙げられる。「包含パッチ」とは、一部のパッチに規定された内容(例えば、修正内容)を包含する、当該一部のパッチとは異なる他のパッチに相当する。
The method for editing the contents of the problem patch data 701 is not particularly limited.
As a specific example, the patch data editing unit 301 presents an editing interface (not shown) to the user, and reflects the editing content instructed by the user via the editing interface in the problem patch data 701 expanded in the RAM 203. You may.
Further, as another example, the patch data editing unit 301 acquires correction patch information for various OSs published on the Internet or the like, and problem patch data according to the contents shown in the correction patch information. You may edit 701. It should be noted that the published information is not always recorded in a method that is easy to use for editing the problem patch data 701 (in other words, a method that makes it easy to automate editing). Therefore, the patch data editing unit 301 may use a method such as web scraping, for example.
As an example of the information acquired as the correction patch information, there is information about the “inclusion patch”. The “inclusion patch” corresponds to another patch different from the part of the patch, which includes the content specified in the part of the patch (for example, the content of the correction).

次いで、図5を参照して、サーバ装置102の処理の一例について説明する。
S501において、処理実行部306は、OSや基盤ソフトウェア等のようなアプリケーションの動作環境に対するパッチの適用状況を確認し、確認結果に応じて対象動作が必要か否かを決定する。
Next, an example of processing of the server device 102 will be described with reference to FIG.
In S501, the processing execution unit 306 confirms the application status of the patch to the operating environment of the application such as the OS and the basic software, and determines whether or not the target operation is necessary according to the confirmation result.

ここで、図6を参照して、図5に示すS501の処理についてより詳細に説明する。
S601において、データ通信部307は、ネットワーク100を介して管理サーバ装置101から問題パッチデータ701を取得し、RAM203に展開する。
S602において、パッチ情報取得部305は、サーバ装置102で動作するOSや基盤ソフトウェア等のようなアプリケーションの動作環境に対する適用されたパッチに関する情報を取得する。具体的な一例として、パッチ情報取得部305は、当該アプリケーションの動作環境に適用された一連のパッチ(例えば、修正パッチ)それぞれの識別情報を取得する。
なお、以降の説明では、各パッチを識別するための識別情報として、パッチごとに一意に割り当てられた「パッチ番号」が使用されるものとする。なお、パッチ番号の記載に係るフォーマットについては、OSや基盤ソフトウェア等の動作環境に応じて異なる場合があるが、本実施形態では、便宜上「KB000020」のような形式で表現されるものとする。また、以降では、上記アプリケーションの動作環境に適用されたパッチを特に示す場合には、便宜上「環境パッチ」とも称する。なお、パッチ情報取得部305により取得される環境パッチに関する情報が、アプリケーションの動作環境へのパッチの適用状況に応じた「第1の情報」の一例に相当する。
パッチ情報取得部305は、取得した環境パッチに関する情報をRAM203に保持させる。
Here, with reference to FIG. 6, the process of S501 shown in FIG. 5 will be described in more detail.
In S601, the data communication unit 307 acquires the problem patch data 701 from the management server device 101 via the network 100 and deploys it in the RAM 203.
In S602, the patch information acquisition unit 305 acquires information on the applied patch for the operating environment of the application such as the OS and the basic software running on the server device 102. As a specific example, the patch information acquisition unit 305 acquires identification information of each of a series of patches (for example, correction patches) applied to the operating environment of the application.
In the following description, it is assumed that the "patch number" uniquely assigned to each patch is used as the identification information for identifying each patch. The format related to the description of the patch number may differ depending on the operating environment of the OS, the basic software, etc., but in the present embodiment, it is expressed in a format such as "KB0000020" for convenience. In addition, hereinafter, when a patch applied to the operating environment of the above application is particularly indicated, it is also referred to as an "environmental patch" for convenience. The information about the environment patch acquired by the patch information acquisition unit 305 corresponds to an example of "first information" according to the application status of the patch to the operating environment of the application.
The patch information acquisition unit 305 causes the RAM 203 to hold information regarding the acquired environment patch.

ここで、図7を参照して、問題パッチデータ701について説明する。
問題パッチデータ701には、サーバ装置102の動作(例えば、文書作成動作等)に何らかの影響を及ぼす可能性のあるパッチに関する情報が定義されている。なお、以降の説明では、サーバ装置102の動作に影響を及ぼす可能性のあるパッチを特に示す場合には、便宜上「問題パッチ」とも称する。
例えば、図7に示す例では、問題パッチ702〜705について情報が定義されている。各問題パッチについて定義されている情報のうち、「name」セクションには、各問題パッチのパッチ番号(換言すると、各問題パッチの識別情報)が設定されている。「name」セクションの値はリスト形式になっており、問題パッチ705に関する情報のように、複数のパッチに関する情報が設定されてもよい。なお、問題パッチ705として定義された情報は、複数の修正パッチが適用されることで、サーバ装置102の動作(例えば、文書作成動作等)に影響を及ぼす可能性のある場合の一例について示している。
なお、問題パッチデータ701が、アプリケーションの動作環境への適用対象となる1以上のパッチの組み合わせごとに、当該1以上のパッチの組み合わせが適用されている場合の対処動作(代替処理とも呼ぶ)が規定された「第2の情報」の一例に相当する。即ち、701には問題を引き起こすパッチの組み合わせと、その組み合わせが適用されている場合に行うべき代替処理である対処動作を特定するための情報が対応付けて記憶されている。
Here, the problem patch data 701 will be described with reference to FIG. 7.
The problem patch data 701 defines information about patches that may have some influence on the operation of the server device 102 (for example, document creation operation). In the following description, when a patch that may affect the operation of the server device 102 is particularly indicated, it is also referred to as a "problem patch" for convenience.
For example, in the example shown in FIG. 7, information is defined for problem patches 702-705. Of the information defined for each problem patch, the patch number of each problem patch (in other words, the identification information of each problem patch) is set in the "name" section. The values in the "name" section are in list format and may be populated with information about a plurality of patches, such as information about problem patch 705. The information defined as the problem patch 705 shows an example of a case where the application of a plurality of correction patches may affect the operation of the server device 102 (for example, the document creation operation). There is.
It should be noted that, for each combination of one or more patches to be applied to the operating environment of the application in the problem patch data 701, a coping operation (also referred to as alternative processing) when the combination of one or more patches is applied is performed. It corresponds to an example of the specified "second information". That is, in 701, a combination of patches that cause a problem and information for specifying a coping action, which is an alternative process to be performed when the combination is applied, are stored in association with each other.

ここで、改めて図6を参照する。S603〜S613の一連の処理は、問題パッチの定義ごとに実行されるループ処理となっている。処理実行部306は、問題パッチデータ701に定義された「name」セクションの数分(すなわち、問題パッチの数分)、S603〜S613の一連の処理を繰り返し実行する。 Here, reference is made to FIG. 6 again. The series of processes from S603 to S613 is a loop process executed for each problem patch definition. The process execution unit 306 repeatedly executes a series of processes of S603 to S613 for the number of "name" sections defined in the problem patch data 701 (that is, the number of problem patches).

S604において、処理実行部306は、問題パッチの定義として、複数のパッチが定義されているか否かを判定する。具体的な一例として、処理実行部306は、問題パッチデータ701の「name」のセクションの値を確認し、当該値として設定されたリスト内に複数のパッチ番号が存在する場合には、複数のパッチが定義されていると判定する。処理実行部306は、S604において複数のパッチが定義されていると判定した場合には、処理をS606に進める。これに対して、処理実行部306は、S604において複数のパッチが定義されていないと判定した場合には、処理をS605に進める。 In S604, the processing execution unit 306 determines whether or not a plurality of patches are defined as the definition of the problem patch. As a specific example, the processing execution unit 306 confirms the value in the "name" section of the problem patch data 701, and if a plurality of patch numbers exist in the list set as the value, a plurality of patch numbers are present. Determine that a patch is defined. When the process execution unit 306 determines that a plurality of patches are defined in S604, the process execution unit 306 advances the process to S606. On the other hand, when the process execution unit 306 determines that a plurality of patches are not defined in S604, the process execution unit 306 advances the process to S605.

S605において、処理実行部306は、現在処理の対象としている問題パッチにおいて「name」セクションに設定されたパッチが、S602において取得した環境パッチのリストに含まれているか否かを判定する。
例えば、処理実行部306は、図7に示す問題パッチデータ701における問題パッチ702の場合には、パッチ番号「KB000002」に対応するパッチが環境パッチのリストに含まれているか否かを判定する。
処理実行部306は、S605において「name」セクションに設定されたパッチが環境パッチのリストに含まれていると判定した場合には、処理をS609に進める。これに対して、処理実行部306は、S605において「name」セクションに設定されたパッチが環境パッチのリストに含まれていないと判定した場合には、処理をS607に進める。
In S605, the processing execution unit 306 determines whether or not the patch set in the "name" section of the problem patch currently being processed is included in the list of environment patches acquired in S602.
For example, in the case of the problem patch 702 in the problem patch data 701 shown in FIG. 7, the processing execution unit 306 determines whether or not the patch corresponding to the patch number “KB000002” is included in the list of environment patches.
When the process execution unit 306 determines in S605 that the patch set in the "name" section is included in the list of environment patches, the process execution unit 306 proceeds to the process in S609. On the other hand, when the processing execution unit 306 determines in S605 that the patch set in the "name" section is not included in the list of environment patches, the processing execution unit 306 proceeds to the processing in S607.

S606において、処理実行部306は、現在処理の対象としている問題パッチにおいて「name」セクションに設定された全てのパッチが、S602において取得した環境パッチのリストに含まれているか否かを判定する。
例えば、処理実行部306は、図7に示す問題パッチデータ701における問題パッチ705の場合には、パッチ番号「KB000102」及び「KB000103」それぞれに対応するパッチの双方が環境パッチのリストに含まれているか否かを判定する。
処理実行部306は、S606において「name」セクションに設定された全てのパッチが環境パッチのリストに含まれていると判定した場合には、処理をS609に進める。これに対して、処理実行部306は、S606において「name」セクションに設定されたパッチのうち少なくとも一部のパッチが環境パッチのリストに含まれていないと判定した場合に亜、処理をS607に進める。
In S606, the processing execution unit 306 determines whether or not all the patches set in the "name" section of the problem patch currently being processed are included in the list of environment patches acquired in S602.
For example, in the case of the problem patch 705 in the problem patch data 701 shown in FIG. 7, the processing execution unit 306 includes both the patches corresponding to the patch numbers "KB000102" and "KB000103" in the list of environmental patches. Judge whether or not.
When the process execution unit 306 determines in S606 that all the patches set in the "name" section are included in the list of environment patches, the process execution unit 306 proceeds to the process in S609. On the other hand, when the process execution unit 306 determines that at least a part of the patches set in the "name" section in S606 is not included in the list of environment patches, the process is changed to S607. Proceed.

S607において、処理実行部306は、現在処理の対象としている問題パッチに関連付けられた包含パッチに対応する定義が、問題パッチデータ701に含まれているか否かを判定する。包含パッチにも、サーバ装置102で動作するアプリケーションに影響を及し得る修正が含まれる可能性があり、このような修正が含まれる場合には、対象となる包含パッチ適用されている環境においても対処動作が行われることが望ましい。
例えば、図7に示す問題パッチデータ701では、問題パッチ704において、「included」セクションにより包含パッチが定義されている。具体的には、問題パッチ704の例では、「KB000020」に対応するパッチに含まれる修正を、「KB000025」及び「KB000030」に対応するパッチそれぞれが含んでいることが定義されている。
処理実行部306は、「included」セクションを確認することで、現在処理の対象としている問題パッチに包含パッチに対応する定義が存在するか否かを確認する。処理実行部306は、S607において包含パッチに対応する定義が存在すると判定した場合には、処理をS608に進める。一方で、処理実行部306は、S607において包含パッチに対応する定義が存在しないと判定した場合には、処理をS612に進める。
In S607, the processing execution unit 306 determines whether or not the problem patch data 701 includes the definition corresponding to the inclusion patch associated with the problem patch currently being processed. The inclusion patch may also contain modifications that may affect the application running on the server device 102, and if such modifications are included, even in the environment in which the target inclusion patch is applied. It is desirable that a coping action be taken.
For example, in the problem patch data 701 shown in FIG. 7, the inclusion patch is defined by the "included" section in the problem patch 704. Specifically, in the example of the problem patch 704, it is defined that the correction included in the patch corresponding to "KB000002" is included in each of the patches corresponding to "KB0000025" and "KB0000030".
By checking the "included" section, the processing execution unit 306 confirms whether or not the problem patch currently being processed has a definition corresponding to the inclusion patch. When the process execution unit 306 determines in S607 that the definition corresponding to the inclusion patch exists, the process execution unit 306 advances the process to S608. On the other hand, when the processing execution unit 306 determines in S607 that the definition corresponding to the inclusion patch does not exist, the processing execution unit 306 proceeds to the processing in S612.

S608において、処理実行部306は、現在処理の対象としている問題パッチに定義された包含パッチが環境パッチのリストに含まれているか否かを判定する。
例えば、図7に示す問題パッチ704の例であれば、処理実行部306は、「KB000025」及び「KB000030」それぞれに対応するパッチのうち少なくともいずれかが環境パッチのリストに含まれているか否かを判定する。
処理実行部306は、現在処理の対象としている問題パッチに定義された包含パッチのうち少なくともいずれかが環境パッチのリストに含まれている場合には、処理をS609に進める。一方で、処理実行部306は、現在処理の対象としている問題パッチに定義された包含パッチのいずれも環境パッチのリストに含まれていない場合には、処理をS612に進める。
In S608, the processing execution unit 306 determines whether or not the inclusion patch defined in the problem patch currently being processed is included in the list of environment patches.
For example, in the case of the problem patch 704 shown in FIG. 7, whether or not at least one of the patches corresponding to "KB0000025" and "KB0000030" is included in the list of environmental patches in the processing execution unit 306. To judge.
If at least one of the inclusion patches defined in the problem patch currently being processed is included in the list of environment patches, the process execution unit 306 advances the process to S609. On the other hand, if none of the inclusion patches defined in the problem patch currently being processed is included in the list of environment patches, the processing execution unit 306 advances the processing to S612.

S609において、処理実行部306は、修正パッチが環境パッチのリストに含まれているか否かを判定する。本処理における修正パッチとは、アプリケーションに影響を及ぼす可能性のある問題パッチの修正内容が、影響を及ぼさない状態に更に回収されたパッチを示すものとする。サーバ装置102に対して修正パッチが適用されている場合には、修正前の問題パッチがアプリケーションに対して影響を及ぼし得る状態が解消されるため、少なくとも当該問題パッチに対する対処動作を行う必要がなくなる。
修正パッチは、図7に示す問題パッチ703の例に示すように、「repair」セクションによって定義される。問題パッチ703の例では、「KB000005」に対応するパッチの問題の改修が、「KB000011」に対応するパッチにおいて実施されていることが定義されている。
処理実行部306は、「repair」セクションを確認することで、現在処理の対象としている問題パッチに修正パッチに対応する定義が存在するか否かを確認する。処理実行部306は、S609において修正パッチに対応する定義が存在すると判定した場合には、処理をS612に進める。一方で、処理実行部306は、S609において修正パッチに対応する定義が存在しないと判定した場合には、処理をS610に進める。
In S609, the processing execution unit 306 determines whether or not the correction patch is included in the list of environment patches. The correction patch in this process means a patch in which the correction content of the problem patch that may affect the application is further recovered in a state where it does not affect the application. When the correction patch is applied to the server device 102, the state in which the problem patch before the correction may affect the application is eliminated, so that it is not necessary to take at least the action for the problem patch. ..
The patch is defined by the "repair" section, as shown in the example of problem patch 703 shown in FIG. In the example of problem patch 703, it is defined that the problem of the patch corresponding to "KB000005" is fixed in the patch corresponding to "KB000001".
By checking the "repair" section, the processing execution unit 306 confirms whether or not the problem patch currently being processed has a definition corresponding to the correction patch. When the process execution unit 306 determines in S609 that the definition corresponding to the correction patch exists, the process execution unit 306 advances the process to S612. On the other hand, when the process execution unit 306 determines in S609 that the definition corresponding to the correction patch does not exist, the process execution unit 306 advances the process to S610.

S610において、処理実行部306は、問題パッチデータ701において現在処理の対象としている問題パッチについて定義された対処動作情報を読み出す。対処動作情報は、アプリケーションに影響を及ぼす可能性があるパッチが環境に提供されている場合に行う対象動作が定義された情報である。
対処動作については、図7に示す問題パッチ702〜705それぞれにおいて、「actions」及び「action」セクションによって定義される。
処理実行部306は、一連の「action」セクションそれぞれに定義された対処動作情報を読み出し、当該対処動作情報をRAM203に保持する。
In S610, the processing execution unit 306 reads out the coping operation information defined for the problem patch currently being processed in the problem patch data 701. Corrective action information is information that defines the target action to be performed when a patch that may affect the application is provided to the environment.
The coping behavior is defined by the "actions" and "actions" sections in each of the problem patches 702-705 shown in FIG.
The processing execution unit 306 reads out the coping operation information defined in each of the series of "action" sections, and holds the coping operation information in the RAM 203.

S611において、処理実行部306は、対処動作フラグをONに切り替える。なお、処理実行部306は、対処動作フラグについては、例えば、あらかじめRAM203に保持しておき、初期値としてOFFを設定しておくとよい。対処動作フラグは、サーバ装置102における各種動作(例えば、文書生成に係る動作等)の切り替えに使用される。対処動作フラグに基づく制御の一例については、詳細を別途後述する。 In S611, the processing execution unit 306 switches the coping operation flag to ON. The processing execution unit 306 may, for example, hold the coping operation flag in the RAM 203 in advance and set OFF as the initial value. The action flag is used to switch various actions (for example, actions related to document generation) in the server device 102. Action An example of control based on the operation flag will be described in detail later.

S612において、処理実行部306は、問題パッチデータ701に定義された問題パッチごとに実行される処理ループを終了する。 In S612, the processing execution unit 306 ends the processing loop executed for each problem patch defined in the problem patch data 701.

S613において、処理実行部306は、S610において読み出された一連の対処動作情報をマージする。例えば、環境に対して問題パッチが複数適用されている場合があり、この場合には、複数種類の対象動作が行われる場合もある。処理実行部306は、マージした対処動作情報をRAM203に保持する。 In S613, the processing execution unit 306 merges a series of coping operation information read in S610. For example, a plurality of problem patches may be applied to the environment, and in this case, a plurality of types of target actions may be performed. The processing execution unit 306 holds the merged coping operation information in the RAM 203.

ここで、改めて図5を参照する。
S502において、処理実行部306は、RAM203に保持された対処動作フラグがONに設定されているか否かを判定する。例えば、図6に示すS611の処理が実行された場合には、S502において、対処動作フラグはONに設定されていることとなる。処理実行部306は、S502において対処動作フラグがONに設定されていると判定した場合には、処理をS503に進める。これに対して、処理実行部306は、S502において対処動作フラグがONに設定されていない判定した場合には、図5に示す一連の処理を終了する。
Here, reference is made to FIG. 5 again.
In S502, the processing execution unit 306 determines whether or not the coping operation flag held in the RAM 203 is set to ON. For example, when the process of S611 shown in FIG. 6 is executed, the coping operation flag is set to ON in S502. When the process execution unit 306 determines in S502 that the coping operation flag is set to ON, the process execution unit 306 advances the process to S503. On the other hand, when the processing execution unit 306 determines in S502 that the coping operation flag is not set to ON, the processing execution unit 306 ends a series of processing shown in FIG.

S503〜S505の一連の処理は、対処動作ごとに実行されるループ処理となっている。S503において、処理実行部306は、図6に示すS613の処理においてRAM203に保持された一連の対処動作情報を読み出し、読み出した対処動作情報それぞれが示す対処動作ごとにループ処理を実行する。すなわち、処理実行部306は、対処動作の数だけS504の処理を実行することとなる。 The series of processes S503 to S505 is a loop process executed for each coping operation. In S503, the processing execution unit 306 reads out a series of coping operation information held in the RAM 203 in the processing of S613 shown in FIG. 6, and executes a loop process for each coping operation indicated by each of the read coping operation information. That is, the processing execution unit 306 executes the processing of S504 as many as the number of coping operations.

S504において、処理実行部306は、問題パッチに対応する対処動作を実行する。ここで、以下に対象動作の一例について、問題パッチが文書生成に係るアプリケーションに影響を及ぼす場合に着目して説明する。 In S504, the processing execution unit 306 executes a coping operation corresponding to the problem patch. Here, an example of the target operation will be described below focusing on the case where the problem patch affects the application related to document generation.

例えば、図7に示す問題パッチ702の対処動作「virtical_textout_type_b」として、処理実行部306は、縦書きの文字列描画方式を通常の場合とは異なる方式(方式b)に切り替える。一般的には、Windows等のOSが提供する環境での縦書き文字描画は、当該OSから提供されるAPIのパラメータを指定することで実施される。しかしながら、適用されるフォントによっては、問題パッチの影響を受け、通常適用される縦書き文字描画では文字が意図したように描画されず、例えば、回転した状態で描画される(横向きで描画される)場合がある。このような場合には、例えば、特定のフォントや特定の文字コードが適用される場合に、各文字のグリフを明示的に回転させながら描画する方式(方式b)に切り替えられることで、本来意図する動作を実現することが可能となる。 For example, as the countermeasure operation "virtical_textout_type_b" of the problem patch 702 shown in FIG. 7, the processing execution unit 306 switches the vertical writing character string drawing method to a method (method b) different from the normal case. Generally, vertical writing character drawing in an environment provided by an OS such as Windows is performed by specifying API parameters provided by the OS. However, depending on the font applied, it is affected by the problem patch, and the characters are not drawn as intended in the normally applied vertical character drawing, for example, they are drawn in a rotated state (drawn in landscape orientation). ) In some cases. In such a case, for example, when a specific font or a specific character code is applied, the original intention is to switch to the method (method b) of drawing while explicitly rotating the glyph of each character. It is possible to realize the operation to be performed.

文書生成に係るアプリケーションを構成するプログラムには、例えば、あらかじめ種々の描画方式(例えば、従来の方式である方式a、及び従来とは異なる方式b)を実現するためのバイトコードが含まれていてもよい。これにより、例えば、対象動作により適用する描画方式(例えば、方式b)が指定された場合に、当該指定に応じてアプリケーションが実行された際の振る舞いを動的に切り替えることが可能となる。例えば、本実施形態では第1のパッチ適用状態で方式aを用いて描画データAを処理(加工)した結果と、第2のパッチ適用状態で方式bを用いて描画データBを処理(加工)した結果が一致又は類似した結果となるようにアプリケーションが動作するものとする。なお、本実施形態における類似とは、例えば、一般的な視力(例えば、視力1.0程度)を有するユーザが、文章生成後の表示結果物や印刷結果物から30cm離れた位置から正対して結果物を見る際に視覚的に同一であると見做せる誤差を許容することを示すものとする。アプリケーションがデータ加工処理で、オブジェクトの回転処理を行う場合には、演算系に起因する微小な角度のずれが起こりうる。また方式aと方式bでオブジェクトのレイアウト制御を異ならせる場合など、微小なレイアウト位置のずれが起こりうる。本実施形態では、このような微小な誤差を含みうる実質的に同一と見做せる結果物Aと結果物Bを類似と呼ぶものとする。 The program constituting the application related to document generation includes, for example, bytecodes for realizing various drawing methods (for example, a conventional method a and a method different from the conventional method b) in advance. May be good. Thereby, for example, when the drawing method to be applied by the target operation (for example, method b) is specified, the behavior when the application is executed according to the specification can be dynamically switched. For example, in the present embodiment, the result of processing (processing) the drawing data A using the method a in the first patch application state and the drawing data B being processed (processed) using the method b in the second patch application state. It is assumed that the application operates so that the resulting results match or are similar. The similarity in the present embodiment means that, for example, a user having general visual acuity (for example, visual acuity of about 1.0) faces a position 30 cm away from the display result or print result after sentence generation. It shall indicate that an error that can be regarded as visually identical when viewing the result is tolerated. When the application performs data processing and object rotation processing, a slight angle deviation due to the arithmetic system may occur. Further, when the layout control of the object is different between the method a and the method b, a slight deviation of the layout position may occur. In the present embodiment, the product A and the product B, which can include such a minute error and can be regarded as substantially the same, are referred to as similar.

問題パッチ703及び704の対処動作「get_environment_info」として、処理実行部306は、サーバ装置102の環境情報を取得し、当該環境情報をログとして所定の出力先に出力する。環境情報としてどのような情報が取得されるかについては、サーバ装置102で動作するアプリケーションに応じて任意に決定されてもよい。具体的な一例として、文書生成に係るアプリケーションの動作を想定した場合には、環境にインストールされたフォントのバージョンに関する情報がログとして取得されてもよい。 As the countermeasure operation "get_environment_info" of the problem patches 703 and 704, the processing execution unit 306 acquires the environment information of the server device 102 and outputs the environment information as a log to a predetermined output destination. What kind of information is acquired as the environment information may be arbitrarily determined according to the application running on the server device 102. As a specific example, when the operation of the application related to document generation is assumed, the information regarding the version of the font installed in the environment may be acquired as a log.

問題パッチ704の対処動作「notify_user」として、処理実行部306は、あらかじめ設定された方法でユーザに対して情報の通知を行う。具体的な一例として、アプリケーションの動作環境に問題パッチが適用されている場合には、通常想定してるようにアプリケーションを動作させることが困難な場合がある。また、対処動作の実行によりアプリケーションに影響を及ぼす状態を改善することが困難な場合も想定され得る。このような場合には、問題パッチの適用に伴う影響が顕在化することをユーザに報知するために、所望の出力装置を介して通知が行われるとよい。なお、通知の方法や、通知に利用される出力装置については、特に限定はされない。 As the countermeasure operation "notify_user" of the problem patch 704, the processing execution unit 306 notifies the user of the information by a preset method. As a specific example, when a problem patch is applied to the operating environment of an application, it may be difficult to operate the application as normally expected. In addition, it may be difficult to improve the state that affects the application by executing the coping action. In such a case, it is preferable to notify the user via a desired output device in order to notify the user that the effect of applying the problem patch becomes apparent. The notification method and the output device used for the notification are not particularly limited.

また、アプリケーションに対する機能追加(アップデート)が、ネットワークを介したオンラインアップデート等の手段により定期的に行われる場合がある。機能追加に伴い、対処動作を実現するためのプログラムが逐次追加されることで、実現可能な対処動作パターンを増加させることも可能である。 In addition, function addition (update) to the application may be performed regularly by means such as online update via the network. It is also possible to increase the feasible coping operation patterns by sequentially adding programs for realizing the coping operation with the addition of the function.

S505において、処理実行部306は、対処動作ごとのループ処理を終了する。すなわち、処理実行部306は、実施対象となる対象動作がなくなった場合には、図5に示す一連の処理を終了することとなる。 In S505, the processing execution unit 306 ends the loop processing for each coping operation. That is, when the target operation to be executed disappears, the process execution unit 306 ends the series of processes shown in FIG.

なお、図5に示す対処動作の有無の決定に係る処理は、サーバ装置102において所定の処理(例えば、文書生成に係る処理)の従前に実行されていれば、実行されるタイミングについては特に限定はされない。
例えば、対処動作の有無の決定に係る処理は、通信処理を伴うため、所定の処理(例えば、文書生成に係る処理)の実行ごとにその都度実行されることで、各種処理に遅延が生じるような状況が想定され得る。このような場合には、例えば、所定の処理に対応するアプリケーションプログラムがRAM203に展開される際に、対処動作の有無の決定に係る処理が実行される制御が適用されてもよい。また、同制御の適用に加えて、所定の期間ごとに対象動作の有無の決定に係る処理が実行される制御が適用されてもよい。具体的な一例として、5分ごとに対象動作の有無の決定に係る処理が実行されれば、管理サーバ装置101側で問題パッチデータ701の更新が行われたとしても、遅くとも5分後には同更新がサーバ装置102にも反映されることとなる。これにより、サーバ装置102側で起動済のアプリケーションの再起動を行われなくとも、更新後の問題パッチデータ701の内容に応じた制御を適用することが可能となる。
If the process related to the determination of the presence or absence of the coping operation shown in FIG. 5 has been executed before the predetermined process (for example, the process related to document generation) in the server device 102, the timing of execution is particularly limited. Will not be done.
For example, since the process for determining the presence or absence of a coping action involves a communication process, various processes are delayed by being executed each time a predetermined process (for example, a process related to document generation) is executed. Situation can be assumed. In such a case, for example, when an application program corresponding to a predetermined process is expanded in the RAM 203, a control for executing a process related to determining the presence or absence of a coping operation may be applied. Further, in addition to the application of the control, a control in which the process related to the determination of the presence / absence of the target operation is executed may be applied at predetermined intervals. As a specific example, if the process for determining the presence or absence of the target operation is executed every 5 minutes, even if the problem patch data 701 is updated on the management server device 101 side, it will be the same after 5 minutes at the latest. The update will also be reflected in the server device 102. As a result, it is possible to apply the control according to the content of the updated problem patch data 701 without restarting the started application on the server device 102 side.

<変形例>
以下に、本実施形態に係る情報処理システムの変形例について説明する。
図7に示す問題パッチ704の例では、一部の問題パッチを包含する包含パッチが複数存在する。このような状況下では、例えば、当該問題パッチが含む修正(例えば、アプリケーションに影響を及ぼす可能性がある修正)が、将来にわたって提供され続けるような状況も想定され得る。このような場合には、例えば、包含パッチがリリースされるたびに、問題パッチデータ701の更新が必要となる場合もある。このような状況下で、問題パッチデータ701の修正がユーザ(例えば、管理者)により手動で行われる場合には、当該修正に係る作業が煩雑化し、ユーザにとって負担となる場合もある。
以上のような状況を鑑み、本変形例では、問題パッチに含まれる修正がサーバ装置102に適用されているか否かの判定を、リソース情報に基づき行う場合の一例について提案する。なお、リソース情報とは、OSで動作するモジュール(例えば、Windows環境におけるDLL:Dynamic Link Library)に関する情報に相当する。
<Modification example>
A modification of the information processing system according to the present embodiment will be described below.
In the example of the problem patch 704 shown in FIG. 7, there are a plurality of inclusion patches including some problem patches. Under such circumstances, for example, it can be assumed that the correction included in the problem patch (for example, the correction that may affect the application) will continue to be provided in the future. In such a case, for example, it may be necessary to update the problem patch data 701 every time the inclusion patch is released. Under such circumstances, when the problem patch data 701 is manually modified by a user (for example, an administrator), the work related to the modification becomes complicated and may be a burden on the user.
In view of the above situation, this modification proposes an example in which it is determined based on the resource information whether or not the correction included in the problem patch is applied to the server device 102. The resource information corresponds to information about a module that operates on the OS (for example, DLL: Dynamic Link Library in a Windows environment).

図8は、本実施形態に係る情報処理システム1の処理のうち、特に、対処動作の有無の決定に係る処理の一例について示している。図8に示す一連の処理のうち、S801〜S813の処理は、図6に示す例におけるS601〜S613の処理と実質的に同様である。すなわち、図8に示す例は、S820の処理が追加されている点で、図6に示す例と異なる。そこで、以降では、主に図6に示す例と異なる部分に着目して説明を行い、図6に示す例と実質的に同様の部分については、詳細な説明は省略する。 FIG. 8 shows an example of the processing related to the determination of the presence / absence of the coping operation among the processing of the information processing system 1 according to the present embodiment. Of the series of processes shown in FIG. 8, the processes of S801 to S813 are substantially the same as the processes of S601 to S613 in the example shown in FIG. That is, the example shown in FIG. 8 is different from the example shown in FIG. 6 in that the processing of S820 is added. Therefore, in the following description, the description will be given mainly focusing on the portion different from the example shown in FIG. 6, and the detailed description will be omitted for the portion substantially similar to the example shown in FIG.

S808において、処理実行部306は、包含パッチが環境パッチのリストに含まれていないと判定した場合に、処理をS820に進める。
S820において、処理実行部306は、S801で取得した問題パッチデータ701を確認し、現在処理の対象としている問題パッチに関連するリソースがアップデートされているか否かを判定する。
In S808, when the processing execution unit 306 determines that the inclusion patch is not included in the list of environment patches, the processing execution unit 306 advances the processing to S820.
In S820, the processing execution unit 306 confirms the problem patch data 701 acquired in S801, and determines whether or not the resource related to the problem patch currently being processed is updated.

例えば、図9は、本変形例に係る問題パッチデータ701の一例を示している。問題パッチ901には、「resource」セクションとして、関連するリソースのリソース情報が定義されている。具体的には、対象となるリソースは、名前が「Abc.dll」であり、ディスク上のサイズが「2222KB」であって、更新日時が「2019/06/06 10:10:10」であることが示されている。
処理実行部306は、「resource」セクションからリソースに関する情報を読み出し、当該リソース(Abc.dll)がサーバ装置102に存在するか否かを判定する。また、処理実行部306は、対象となるリソースの更新日時を確認し、問題パッチデータ701に定義されている更新日時(2019/06/06 10:10:10)より新しいか否かを確認する。処理実行部306は、サーバ装置102に存在するリソースの更新日時が、問題パッチデータ701に定義されている更新日時よりも新しければ、当該リソースがアップデートされているとみなし、処理をS809に進める。一方で、処理実行部306は、サーバ装置102に存在するリソースの更新日時が、問題パッチデータ701に定義されている更新日時よりも新しくなければ、当該リソースがアップデートされていないとみなし、処理をS812に進める。
For example, FIG. 9 shows an example of the problem patch data 701 according to this modification. Problem patch 901 defines resource information for related resources as a "resource" section. Specifically, the target resource has a name of "Abc.dll", a size on the disk of "2222KB", and an update date and time of "2019/06/06 10:10:10". Is shown.
The processing execution unit 306 reads information about the resource from the “resource” section, and determines whether or not the resource (Abc.dll) exists in the server device 102. Further, the processing execution unit 306 confirms the update date and time of the target resource, and confirms whether or not it is newer than the update date and time (2019/06/06 10:10:10) defined in the problem patch data 701. .. If the update date and time of the resource existing in the server device 102 is newer than the update date and time defined in the problem patch data 701, the process execution unit 306 considers that the resource has been updated and proceeds with the process to S809. .. On the other hand, if the update date and time of the resource existing in the server device 102 is not newer than the update date and time defined in the problem patch data 701, the process execution unit 306 considers that the resource has not been updated and performs processing. Proceed to S812.

なお、対象となるリソースがアップデートされているか否かを判定することが可能であれば、その方法は必ずしも上述のように更新日時による方法のみには限定されない。具体的な一例として、リソースのサイズやバージョン等に関する情報に基づき、当該リソースがアップデートされているか否かが判定されてもよい。なお、リソースがアップデートされているか否かの判定に利用する情報に応じて、問題パッチデータ701の「resource」セクションに定義される情報についても対応する情報に適宜変更されることが望ましい。 If it is possible to determine whether or not the target resource has been updated, the method is not necessarily limited to the method based on the update date and time as described above. As a specific example, it may be determined whether or not the resource has been updated based on information on the size and version of the resource. It is desirable that the information defined in the "resource" section of the problem patch data 701 is appropriately changed to the corresponding information according to the information used for determining whether or not the resource has been updated.

なお、上述の通り、S809以降の処理については、図6に示す例におけるS609以降の処理と実質的に同様のため詳細な説明は省略する。 As described above, since the processing after S809 is substantially the same as the processing after S609 in the example shown in FIG. 6, detailed description thereof will be omitted.

以上の通り、本変形例に係る情報処理システムに依れば、必ずしも包含パッチがリリースされるたびに問題パッチデータ701の更新を行う必要がなくなるため、当該更新に係るユーザの手間を抑制することが可能となる。 As described above, according to the information processing system according to this modification, it is not always necessary to update the problem patch data 701 every time the inclusion patch is released, so that the user's time and effort related to the update can be suppressed. Is possible.

<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other Embodiments>
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or recording medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

1 情報処理システム
101 管理サーバ装置
102 サーバ装置
305 パッチ情報取得部
306 処理実行部
1 Information processing system 101 Management server device 102 Server device 305 Patch information acquisition unit 306 Processing execution unit

Claims (7)

情報処理装置のコンピュータに実行されるプログラムであって、
前記プログラムは、
前記プログラムが動作する動作環境に対するパッチの適用状況を示す第1の情報を取得する第1の取得工程と、
前記動作環境への適用対象となる1以上のパッチの組み合わせと、当該1以上のパッチの組み合わせが適用されている場合に前記プログラムが行うべき代替処理を特定するための情報を対応付けた第2の情報を取得する第2の取得工程と、
前記第1の情報と前記第2の情報とに基づき前記動作環境に前記1以上のパッチの組み合わせが適用されていないと特定される場合に第1の処理を実行し、前記第1の情報と前記第2の情報とに基づき前記動作環境に前記1以上のパッチの組み合わせが適用されていると特定される場合に前記第1の処理とは異なる、前記代替処理を実行する実行工程と、
を前記コンピュータに実行させることを特徴とするプログラム。
A program that is executed on the computer of an information processing device.
The program
The first acquisition step of acquiring the first information indicating the patch application status to the operating environment in which the program operates, and the first acquisition step.
A second that associates a combination of one or more patches to be applied to the operating environment with information for specifying an alternative process to be performed by the program when the combination of the one or more patches is applied. The second acquisition process to acquire the information of
When it is specified that the combination of the one or more patches is not applied to the operating environment based on the first information and the second information, the first process is executed, and the first information and the first information are used. An execution step for executing the alternative process, which is different from the first process, when it is specified that the combination of the one or more patches is applied to the operating environment based on the second information.
A program characterized by causing the computer to execute.
前記第1の情報と前記第2の情報とに基づき前記動作環境に前記1以上のパッチの組み合わせが適用されているか否かを特定する特定工程を前記コンピュータに更に実行させることを特徴とする請求項1に記載のプログラム。 A claim comprising causing the computer to further perform a specific step of identifying whether or not the combination of one or more patches is applied to the operating environment based on the first information and the second information. Item 1. The program according to item 1. 前記プログラムは対象データを加工する機能を有しており、前記動作環境に前記1以上のパッチの組み合わせが適用されていない場合に前記第1の処理を行うことで得られる結果物と、前記動作環境に前記1以上のパッチの組み合わせが適用されている場合に前記代替処理を行うことで得られる前記対象データを加工した結果物が一致又は類似するように対象データの加工が行われることを特徴とする請求項1または2に記載のプログラム。 The program has a function of processing target data, and the result obtained by performing the first processing when the combination of one or more patches is not applied to the operating environment, and the operation. When the combination of one or more patches is applied to the environment, the target data is processed so that the result of processing the target data obtained by performing the alternative processing matches or is similar. The program according to claim 1 or 2. 前記動作環境への適用対象となる一連の前記パッチのうち一部には、他のパッチで規定された内容を包含する包含パッチが含まれ、
前記代替処理が規定された前記1以上のパッチの組み合わせを含む前記包含パッチについても、前記代替処理を特定するための情報が対応づけられていることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
A part of the series of patches to be applied to the operating environment includes inclusion patches including the contents specified in other patches.
Any of claims 1 to 3, wherein the inclusion patch including the combination of one or more patches for which the alternative processing is defined is also associated with information for identifying the alternative processing. The program described in item 1.
前記第1の取得工程では、前記情報処理装置のオペレーティングシステムから当該オペレーティングシステムに適用されたパッチを示す前記第1の情報を取得することを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。 The first acquisition step according to any one of claims 1 to 4, wherein the first information indicating a patch applied to the operating system is acquired from the operating system of the information processing apparatus. Described program. 情報処理装置であって、
前記情報処理装置に対するパッチの適用状況を示す第1の情報を取得する第1の取得手段と、
前記情報処理装置に適用対象となる1以上のパッチの組み合わせと、当該1以上のパッチの組み合わせが適用されている場合に前記情報処理装置が行うべき代替処理を特定するための情報を対応付けた第2の情報を取得する第2の取得手段と、
前記第1の情報と前記第2の情報とに基づき前記情報処理装置に前記1以上のパッチの組み合わせが適用されていないと特定される場合に第1の処理を実行し、前記第1の情報と前記第2の情報とに基づき前記情報処理装置に前記1以上のパッチの組み合わせが適用されていると特定される場合に前記第1の処理とは異なる、前記代替処理を実行する実行手段と、
を有することを特徴とする情報処理装置。
It is an information processing device
The first acquisition means for acquiring the first information indicating the application status of the patch to the information processing device, and
A combination of one or more patches to be applied to the information processing apparatus is associated with information for specifying an alternative process to be performed by the information processing apparatus when the combination of one or more patches is applied. The second acquisition means for acquiring the second information and
When it is specified that the combination of the one or more patches is not applied to the information processing apparatus based on the first information and the second information, the first process is executed and the first information is executed. And an execution means for executing the alternative process, which is different from the first process when it is specified that the combination of the one or more patches is applied to the information processing apparatus based on the second information. ,
An information processing device characterized by having.
情報処理装置の制御方法であって、
前記情報処理装置に対するパッチの適用状況を示す第1の情報を取得する第1の取得工程と、
前記情報処理装置に適用対象となる1以上のパッチの組み合わせと、当該1以上のパッチの組み合わせが適用されている場合に前記情報処理装置が行うべき代替処理を特定するための情報を対応付けた第2の情報を取得する第2の取得工程と、
前記第1の情報と前記第2の情報とに基づき前記情報処理装置に前記1以上のパッチの組み合わせが適用されていないと特定される場合に第1の処理を実行し、前記第1の情報と前記第2の情報とに基づき前記情報処理装置に前記1以上のパッチの組み合わせが適用されていると特定される場合に前記第1の処理とは異なる、前記代替処理を実行する実行工程と、
を有することを特徴とする制御方法。
It is a control method for information processing equipment.
The first acquisition step of acquiring the first information indicating the application status of the patch to the information processing device, and
A combination of one or more patches to be applied to the information processing apparatus is associated with information for specifying an alternative process to be performed by the information processing apparatus when the combination of one or more patches is applied. The second acquisition process for acquiring the second information and
When it is specified that the combination of the one or more patches is not applied to the information processing apparatus based on the first information and the second information, the first process is executed and the first information is executed. And an execution step of executing the alternative process, which is different from the first process, when it is specified that the combination of the one or more patches is applied to the information processing apparatus based on the second information. ,
A control method characterized by having.
JP2020041881A 2020-03-11 2020-03-11 Program, information processing device, and method of controlling information processing device Pending JP2021144405A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020041881A JP2021144405A (en) 2020-03-11 2020-03-11 Program, information processing device, and method of controlling information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020041881A JP2021144405A (en) 2020-03-11 2020-03-11 Program, information processing device, and method of controlling information processing device

Publications (1)

Publication Number Publication Date
JP2021144405A true JP2021144405A (en) 2021-09-24

Family

ID=77766751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020041881A Pending JP2021144405A (en) 2020-03-11 2020-03-11 Program, information processing device, and method of controlling information processing device

Country Status (1)

Country Link
JP (1) JP2021144405A (en)

Similar Documents

Publication Publication Date Title
CN102362277B (en) Sharable distributed dictionary for applications
US20070192871A1 (en) Document management method and apparatus thereof
US20130063746A1 (en) Information processing apparatus and program
JP5305280B2 (en) Gadget provision server
JP4182083B2 (en) Apparatus, method, and program for managing network devices connected to network
US8150947B2 (en) Techniques for performing operating system installation on a headless device
JP5141460B2 (en) Control program, information processing system, and information processing method
CN111427595A (en) Client upgrading method, device and system
JP4976866B2 (en) Program management system, client apparatus, control method thereof, and software program
JP2008009861A (en) System configuration management method
JP2009123188A (en) Information processing apparatus, information processing method, storage medium and program
JP2021144405A (en) Program, information processing device, and method of controlling information processing device
JP7025298B2 (en) Environment construction support system and environment construction support method
JP2010015267A (en) Software distribution system, software distribution method, and computer program
JP5380895B2 (en) Management program, management method and management apparatus
JP2009157882A (en) Translation support system, translation support method and program
JP2006011781A (en) Installation system, installation method, distribution apparatus, and program for the same
JP2005332139A (en) Test data generation support program and test data generation support method
JP2011123624A (en) Information processing device, method and program
JP2004362287A (en) Update method of data
JP6467298B2 (en) Server operation work history management device, system, method, and program
KR102218355B1 (en) Method for managing font according to input letter
JP6875334B2 (en) Server, system, client device, log information storage method, client information transmission method and program
JP2002222136A (en) Network driver updating system
JP4908538B2 (en) Workflow processing apparatus, program, and method