WO2010029602A1 - ソフトウェアパッチ適用方法、プログラム及び装置 - Google Patents

ソフトウェアパッチ適用方法、プログラム及び装置 Download PDF

Info

Publication number
WO2010029602A1
WO2010029602A1 PCT/JP2008/002533 JP2008002533W WO2010029602A1 WO 2010029602 A1 WO2010029602 A1 WO 2010029602A1 JP 2008002533 W JP2008002533 W JP 2008002533W WO 2010029602 A1 WO2010029602 A1 WO 2010029602A1
Authority
WO
WIPO (PCT)
Prior art keywords
patch
software
application
schedule
applicable
Prior art date
Application number
PCT/JP2008/002533
Other languages
English (en)
French (fr)
Inventor
小高伸子
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2008/002533 priority Critical patent/WO2010029602A1/ja
Priority to EP08808474A priority patent/EP2336887A4/en
Priority to JP2010528543A priority patent/JP5206792B2/ja
Publication of WO2010029602A1 publication Critical patent/WO2010029602A1/ja
Priority to US13/041,933 priority patent/US20110161949A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Definitions

  • the present invention relates to a patch application method for correcting / changing part or all of software to be operated on an information processing apparatus or the like.
  • patch a program or data
  • the latest patch information the version number of the patch
  • patches that can be applied to the computer system are extracted. Then, the computer system is stopped once, the extracted patch is applied, and the system is started after the application of the patch is completed.
  • rolling update refers to applying a patch one node at a time to a node that constitutes a cluster when a computer system that continues operations is well configured in a cluster having multiple generations of nodes.
  • rolling update requires a cluster configuration, and remote patching requires a disk alternative boot environment, which is expensive.
  • patch data that can be executed during user work is divided into patch data that cannot be executed, and patch data that can be executed during user work is applied during user work and cannot be executed during user work.
  • a maintenance method is known in which user data is stopped and applied to possible patch data.
  • a patch application method that monitors the operating status of each computer that makes up the computer system, selects the time zone with the lowest load, and determines the scheduled patch application time, without stopping the entire computer system. It has been known.
  • the present invention has been made in view of the above-described problems, and a problem to be solved is to provide a patch application method for minimizing the time for stopping a computer system for patch application.
  • This patch application method is applied to the latest patch information indicating the patch application target software stored in the latest patch information storage unit and the applied patch already applied to the software stored in the applied patch information storage unit.
  • Compare patch information, identify patches that have not been applied to the patch application software, and information on installed software stored in the installation information storage unit among patches not applied to the patch application software Based on the above, a step of identifying a patch to be applied to which the installed software is to be applied, and a user asset destruction possibility or a patch that is a possibility of destroying at least a user asset is applied among the identified patches to be applied May cause incompatibility with other software
  • Software that is a target of application of the applicable patch by reading out the execution schedule from a software execution schedule storage unit that stores a patch having no incompatibility to be shown as an applicable patch, and an execution schedule of each of the software Calculating a time zone during which no is executed, generating a patch application schedule for applying the applicable patch in the time zone, and applying the applicable patch to software based on the patch application schedule.
  • patches to be applied that target installed software are extracted, and at least patches that do not have the possibility of user asset destruction or incompatibility are extracted as applicable patches.
  • a patch application schedule is generated so that the applicable patch is applied in a time zone when the software to which the applicable patch is applied is not executed. Then, patch application processing is performed according to the patch application schedule.
  • FIG. 1 is a diagram illustrating a configuration example of the entire system that realizes the patch application method according to the present embodiment.
  • the system shown in FIG. 1 includes a patch application system 110 that applies patches to software installed in itself according to the patch application method according to the present embodiment, a maintenance server 120 that manages information on the latest patches, and the like. Is provided. Hereinafter, information on the latest patch is referred to as “latest patch information”.
  • the patch application system 110 is an information processing apparatus in which various software is installed. Therefore, the patch application system 110 executes an arbitrary task by executing various installed software.
  • the patch application system 110 also stores an applied patch information storage unit 111 that stores information related to patches that have already been applied to the patch application system 110, and information on PKGs (Packages: software packages) that have been installed in the patch application system 110.
  • a patch that has already been applied to the patch application system 110 is hereinafter referred to as an “applied patch”.
  • the maintenance server 120 includes a latest patch storage unit 121 that stores the latest patch information, and a hardware information storage unit 122 that stores hardware information used for executing the software.
  • the patch application system 110 may be an independent information processing apparatus that applies a patch to software installed in another information processing apparatus.
  • the patch application system 110 can be realized by causing a CPU, which is an arithmetic processing device provided in the information processing apparatus, to execute a predetermined program instruction.
  • the program is stored in a storage medium (a volatile memory, a non-volatile memory, a magnetic disk device, a portable storage medium such as a CD or a DVD), and the program is read from the storage medium by the information processing device. Can be executed.
  • the storage units described above may be configured by independent storage devices or may be configured by one storage device.
  • the patch application system 110 and the maintenance server 120 are communicably connected via a network or a dedicated line.
  • the applied patch information stored in the applied patch information storage unit 111 includes a patch ID of an already applied patch, a patch ID of a patch related to the patch, a PKG name corrected by the patch, and the like. .
  • the installation information stored in the installation information storage unit 112 includes the PKG name of the already installed PKG, the version number of the PKG, and the like.
  • the software execution schedule stored in the software execution schedule storage unit 113 includes a software name of a software schedule to be executed regularly or a certain number of times in an arbitrary time zone, a type of the job, a scheduled execution time, and the like. Is done.
  • the latest patch information stored in the latest patch information storage unit 121 includes the patch ID of the latest patch, the name of the product to which the patch is applied, the PKG name of the PKG to be corrected by applying the patch, and incompatible with other software by applying the patch. It includes whether or not there is a possibility that a problem will occur, whether or not user assets such as user setting information may be destroyed by initialization or the like, and a time used as a reference for calculating the time required for patch application.
  • the hardware information stored in the hardware information storage unit 122 includes the model names of the models constituting the patch application system 110, the CPU type of the installed CPU, the installed memory, and the CPU stop / execution when the patch is applied. It is composed of time (seconds), application prediction count used for adjusting the time required for patch application according to the hardware configuration, and the like.
  • the maintenance server 120 acquires the latest patch information from the latest patch information storage unit 121 and notifies the patch application system 110. Similarly, the maintenance server 120 notifies the patch application system 110 of hardware information in response to a request from the patch application system 110.
  • the patch application system 110 acquires applied patch information from the applied patch information storage unit 111. Then, the patch application system 110 compares the latest patch information with the applied patch information, and extracts a patch that has not been applied to the patch application system 110 from the comparison result.
  • the patch application system 110 acquires information on the PKG installed in the patch application system 110 itself from the installation information storage unit 112 and applies it to the installed PKG among the extracted unapplied patches. Extract only patch information. Further, the patch application system 110 extracts patch information other than patches for the OS (Operating System) and the driver from the extracted patch information.
  • the information on the PKG installed in the patch application system 110 itself is referred to as “installation information”.
  • the patch application system 110 refers to the latest patch information, and checks whether there is a possibility of destruction of user assets and incompatibility included in the latest patch information for each applied patch. Then, the patch application system 110 extracts only information on patches that have no possibility of destruction of user assets and no possibility of incompatibility among the applied patches.
  • the extracted patch information is used as patch information that can be applied to the patch application system 110 during business continuation.
  • the extracted patch information is referred to as “patch information that can be applied during business continuity”.
  • a patch registered in the patch information that can be applied during business continuity is referred to as a “patient applicable patch during business continuity”.
  • the patch application system 110 acquires the execution schedule of the PKG application installed in the patch application system 110 itself from the software execution schedule storage unit 113. Then, the patch application system 110 calculates a time during which the application to be applied is not executed for each applicable patch during business continuity, and generates a schedule for applying the patch to the software. Note that the PKG installed in the patch application system 110 itself is referred to as “software” in some cases. A schedule for applying patches to software is referred to as a “patch application schedule”.
  • the patch application system 110 applies the patches that can be applied during business continuity according to the patch application schedule.
  • patch application processing is performed by a dedicated process operating on the patch application system 110. This process below is called “patch application process”.
  • FIG. 2 is a diagram illustrating a configuration example of the latest patch information storage unit 121 according to the present embodiment.
  • the latest patch information stored in the latest patch information storage unit 121 is generated by the patch ID of the latest patch, the name of the product to which the patch is applied, the PKG name of the PKG to be corrected by the patch application, and the patch application. It consists of precautions that indicate the possibility of incompatibility and the possibility of destruction of user assets, and the patch application reference time.
  • the latest patch information is updated as needed when it becomes necessary to modify or change a part or all of arbitrary software. For example, if Patch 1 and Patch 2 have been applied, driver product A has not been installed, and applications A to D have been installed, Patch 4 to Patch 10 become unapplied patches. In this case, patches that have no possibility of destruction of user assets and no possibility of incompatibility are Patch4 to Patch6 and Patch10.
  • the patch application reference time uses a value measured in advance when patch application verification is performed using a test machine or the like.
  • the time y1 that is considered to be required for patch application for each system to be applied is calculated by the following calculation formula.
  • the time y1 that is considered to be required for this patch application is referred to as “patch application prediction time”.
  • y1 a ⁇ x (1)
  • a is a system application prediction count stored in the hardware information storage unit 122
  • x is a patch application reference time stored in the latest patch information storage unit 121.
  • FIG. 3 is a diagram illustrating a configuration example of the software execution schedule storage unit 113 according to the present embodiment.
  • the software execution schedule stored in the software execution schedule storage unit 113 includes at least the product name of the software scheduled to be executed, the job type of the software, and the scheduled execution time. In this embodiment, if “-” is set in the “execution scheduled time”, the patch is not applied to the software in any case.
  • FIG. 4 is a diagram for explaining a software execution schedule according to the present embodiment.
  • FIG. 4 shows a software execution schedule for the applications A, B, and C shown in FIG. The case where the present time is midnight on December 27 is shown.
  • application A is executed for 10 hours from 0:00 to 10:00 at intervals of 14 hours. Further, according to the schedule of application B, application B is executed for 10 hours from 10:00 to 20:00 at 14-hour intervals. According to the schedule of application C, application C is executed for one hour from 22:00 to 23:00 on December 29.
  • the application process of Patch 4 for application A is started from 10:00 on December 27, the application process of Patch 5 for application B is started from 20:00 on December 27, and the application process of Patch 6 for application C is started in December.
  • a patch application schedule starting at 0:00 on the 28th can be generated.
  • the patch application system 110 calculates the actual patch application time required for applying the patch to each application from the above-described equation (1) and the equation (2) described later. Then, the patch application system 110 generates a patch application schedule so that the patch application process is completed in a time zone other than the execution time of each application defined in the software execution schedule.
  • the time period during suspension shown in FIG. 4 that is, the time period other than the execution time of each application will be referred to as “a time period during which patches can be applied”.
  • the patch application system 110 causes the patch application schedule to complete the patch application process for application A within 14 hours from 10:00 on December 27 to 0:00 on December 28. Is generated.
  • the patch application target The patches for the application may be divided into a plurality of groups, and the patch application schedule may be generated by dividing the patch into a plurality of times for each group.
  • the patch application system 110 since “-” is set in the application D of the software execution schedule shown in FIG. 3, the patch application system 110 does not perform the patch application process for the application D. That is, the patch application system 110 does not generate a patch application schedule for the application D.
  • FIG. 5 is a diagram illustrating a configuration example of the hardware information storage unit 122 according to the present embodiment.
  • the hardware information stored in the hardware information storage unit 122 includes the model name of the model constituting the patch application system 110, the CPU type of the mounted CPU, the memory capacity of the mounted memory, CPU stop / execution time (seconds) at the time of patch application and application prediction count used to adjust the time required for patch application according to the hardware configuration.
  • the hardware information is updated, for example, at a timing when a new model is released.
  • For the stop / execution time set the time that seems to be optimal based on the load status when applying the patch on each model.
  • model A indicates that patch application is performed by repeating CPUA's 2-second stop 4-second execution.
  • the CPU stop / execution time is defined as 1 second and 6 seconds, respectively. Yes. That is, the patch application process for performing the patch application process is repeatedly stopped for 1 second and executed for 6 seconds.
  • the actual time required for patch application calculated from the estimated patch application time and the hardware information is referred to as “patch application real time”.
  • tstop and trun are the CPU stop time and CPU execution time defined by the hardware information, respectively
  • p is the number of times the patch application process is executed for trun seconds (natural number after rounding up).
  • the patch application system 110 applies the patch application real time y2 (t1), y2 (t2),. tn) is calculated.
  • the patch application system 110 compares the patch application real time y2 (t1), y2 (t2),..., Y2 (tn) with the patch application time zone T1, and adds the patch application time. A patch applicable in the band T1 is obtained. Then, the patch application system 110 generates a patch application schedule so that the patch application process is performed in the time zone T1 for the obtained patch.
  • the patch application system 110 obtains patches that can be applied within the patch applicable time zone T2 for the remaining patches, and generates a patch application schedule so that patch application processing is performed in the time zone T2. Further, when there is a patch to be applied, similarly, a patch application schedule is generated so that the patch application process is performed in the time periods T3, T4,.
  • FIG. 6 is a flowchart illustrating processing of the patch application system 110 according to the present embodiment.
  • step S600 when the user executes a predetermined command using the input means provided in the patch application system 110, the patch application system 110 proceeds to step S601. Then, the patch application system 110 starts patch application processing.
  • step S601 the patch application system 110 acquires patch information that has not been applied to the patch application system 110 from the latest patch information.
  • the patch application system 110 requests the latest patch information from the maintenance server 120.
  • the maintenance server 120 acquires the latest patch information from the latest patch information storage unit 121.
  • the maintenance server 120 notifies the patch application system 110 of the latest patch information.
  • the patch application system 110 acquires applied patch information from the applied patch information storage unit 111. Then, the patch application system 110 compares the patch ID of the latest patch information with the patch ID of the applied patch information. Then, the patch application system 110 extracts information on patches whose patch IDs do not overlap from the latest patch information as information on patches that have not been applied to the patch application system 110.
  • the extracted patch information is referred to as “unapplied patch information”.
  • the patch application system 110 acquires installation information from the installation information storage unit 112. Then, the patch application system 110 compares the PKG name of the unapplied patch information with the PKG name of the installation information. Then, the patch application system 110 extracts patch information having the same PKG name from unapplied patch information as patch information to be applied to the PKG installed in the patch application system 110.
  • the patch application system 110 refers to the product name of the patch information extracted in step S601, and uses the patch information extracted in step S601 to patch the application installed in the patch application system 110. Only the information of is extracted. That is, the patch application system 110 refers to the product name of the patch information extracted in step S601, and extracts patch information other than the patch for the OS and driver from the patch information extracted in step S601.
  • step S603 the patch application system 110 refers to the precautions of the patch information extracted in step S602, and uses the patch information extracted in step S602 to find information about patches that have no possibility of user asset destruction or incompatibility. That is, patch information applicable during business continuation is extracted.
  • step S604 the patch application system 110 generates a patch application schedule for applying to the patch application system 110 the patch of the patch information that can be applied during operation extracted in step S603.
  • the patch application system 110 acquires the software execution schedule from the software execution schedule storage unit 113.
  • the patch application system 110 requests hardware information from the maintenance server 120.
  • the maintenance server 120 acquires hardware information from the hardware information storage unit 122 and notifies the patch application system 110 of the hardware information.
  • the patch application system 110 refers to the software execution schedule, and generates a patch application schedule for applying the business-applicable patch to the patch application system 110 using a time period when the application is not executed. Specifically, the patch application system 110 generates a schedule table to be described later.
  • step S605 the patch application system 110 sets the application-applicable patch at a predetermined time for each application to be patched according to the patch application schedule.
  • the patch application system 110 has an automatic execution function of a patch application process provided in the patch application system 110, for example, an at command provided as standard in Solaris (registered trademark) which is a kind of UNIX (registered trademark) commercial OS. Or a UNIX (registered trademark) OS generally using a cron command provided as a standard, and applying a patch that can be applied during business continuity for each application to be patched at a predetermined time according to the schedule table generated in step S604. Set to run.
  • Solaris registered trademark
  • a UNIX (registered trademark) OS generally using a cron command provided as a standard
  • step S606 the patch application system 110 starts the patch application process at the time set in step S605.
  • the patch application process applies the business continuity applicable patch set for the set application.
  • the patch application system 110 shifts the processing to step S607 and ends the patch application processing.
  • FIG. 7 is a flowchart illustrating the patch application schedule generation processing according to the present embodiment.
  • step S700 the patch application system 110 starts a patch application schedule generation process.
  • step S701 the patch application system 110 acquires the current time. This time is referred to as “reference time A”.
  • the patch application system 110 refers to the product name of the patch information that can be applied during business continuity generated in step S603. Then, the patch application system 110 acquires one application name of the application registered in the patch information applicable during ongoing business. This application name is referred to as “application X”.
  • step S703 the patch application system 110 acquires a software execution schedule from the software execution schedule storage unit 113. Then, the patch application system 110 acquires a time zone in which the application X is not used in the software execution schedule, that is, a time zone where the patch can be applied and which is closest to the reference time A. This acquired time zone is referred to as “unused time zone Y”.
  • step S704 the patch application system 110 calculates an actual time required to apply a patch (excluding a patch to which a patch application time has already been assigned) to the application X, that is, a patch application real time y2.
  • the patch application system 110 refers to the application time of the patch information applicable during business continuity, and acquires the patch application time for the application X from the patch information applicable during business continuity.
  • the patch application system 110 requests hardware information from the maintenance server 120. Then, the maintenance server 120 acquires hardware information from the hardware information storage unit 122 and notifies the patch application system 110 of the hardware information. Then, the patch application system 110 acquires system information of the patch application system 110, for example, a model, a CPU type, a memory capacity, and the like from a preset setting file or the like, and calculates an application prediction count corresponding to the acquired system information. get.
  • the patch application system 110 calculates a patch application estimated time y1 required for applying the patch to the application A using the above-described equation (1). Further, the patch application system 110 acquires the CPU stop / execution time from the hardware information, and calculates the patch application real time y2 required for patch application of the patch to the application A using the above-described equation (2).
  • step S705 the patch application system 110 calculates the total patch application real time yt that is the sum of the patch application real times y2 of the patches for the application A (excluding patches that have already been assigned a patch application time), and the unused time. It is determined whether or not it falls within the band Y.
  • the patch application system 110 compares (total patch application real time yt + start time of the unused time zone Y) with (end time of the unused time zone Y).
  • the patch application system 110 determines “(end of unused time zone Y).
  • the number of patches satisfying “time) ⁇ (total patch application real time yt + start time of unused time zone Y)” is arbitrarily selected, and the patch application time of the selected patch is assigned to the unused time zone Y.
  • the application X is set as the “product name” of the patch application target, and the selected patch is set as the “patch” to be applied
  • the start time of the unused time zone Y is set in the “application start time” that is the start time of the patch application process
  • the (total patch application real time yt + unused) is set in the “application end time” that is the end time of the patch application process.
  • the start time of use time zone Y) is set.
  • the table below shows a specific example of the schedule table.
  • the patch application schedule with the schedule number 1 applies patches Patch 4a, 4b, 4c,. Then, the patch application process starts at 10:00:00 on December 27 and ends at 10: 1: 16 on December 27.
  • the patch application system 110 moves the process to step S706 (No in S705).
  • the patch application system 110 determines that all patches for the application A (already patch application) The patch application time (except for the patch to which the time is assigned) is assigned to the unused time zone Y.
  • the application table X is set in the “product name” of the patch application target together with the “schedule number” that is added to the generated patch application schedule in the schedule table, and all patches for application A are applied to the “patch” to be applied
  • the start time of the unused time zone Y is set in the “application start time” that is the start time of the patch application process, and the (total patch application real time yt +) is set in the “application end time” that is the end time of the patch application process.
  • the start time of the unused time zone Y) is set.
  • step S707 the patch application system 110 sets the end time of the unused time zone Y as the reference time A. Then, the patch application system 110 shifts the processing to step S703.
  • step S707 the patch application system 110 sets the time at which the patch application process for the application X ends, that is, (total patch application real time yt + start time of the unused time zone Y) as the reference time A.
  • step S708 the patch application system 110 determines whether there is an application that is registered in the patch information that can be applied during business continuity and for which the patch application time is not assigned to the patch to be applied.
  • the patch application system 110 shifts the processing to step S703 (Yes in S708). Then, one application is selected from applications whose patch application times are not yet assigned to the patches to be applied, and the selected application is set as the application X. Then, the patch application system 110 repeats the processing from step S702 to step S708.
  • the patch application system 110 moves the process to step S709 (No in S708). Then, the patch application schedule generation process ends.
  • FIG. 8 is a flowchart illustrating patch application processing according to the present embodiment.
  • the patch application system 110 starts the patch application process (step S800).
  • an application that is a target of patch application based on the patch application schedule is referred to as a “patch application target application”.
  • step S801 the patch application system 110 determines whether the patch application target application is currently running. If the patch application target application is running, the patch application system 110 shifts the processing to step S802 (Yes in step S801). If the patch application target application is not activated, the patch application system 110 shifts the processing to step S803 (No in step S801).
  • step S802 the process shown in FIG. 6 is performed, and the scheduling process of the patch application schedule is executed again.
  • step S803 the patch application system 110 creates a file describing the ID of the patch application process in a predetermined location. This created file is called a “lock file”.
  • the created “lock file” realizes a lock function for an arbitrary process by not starting the patch application process corresponding to the ID described in the “lock file”.
  • step S804 the patch application system 110 executes a patch application process, and executes processing for applying a patch to the patch application target application.
  • the patch application system 110 requests hardware information from the maintenance server 120.
  • the maintenance server 120 acquires hardware information from the hardware information storage unit 122 and notifies the patch application system 110 of the hardware information.
  • the patch application system 110 acquires system information of the patch application system 110, for example, a model, a CPU type, a memory capacity, and the like from a preset setting file or the like, and a stop / execution time corresponding to the acquired system information. To get.
  • the patch application system 110 performs a process of stopping the patch application process for a predetermined time according to the acquired stop / execution time and then executing the patch application process for a predetermined time until the patch application process for the patch application target application is completed. Repeat.
  • step S805 the patch application system 110 deletes the lock file created in step S803.
  • the patch application process corresponding to the ID described in the “lock file” can be started.
  • step S806 the patch application system 110 displays the patch ID of the patch applied in step S804 in the applied patch information storage unit 111, the patch ID of the patch related to the patch, the PKG name corrected by the patch, and the like. Register and update applied patch information.
  • the patch application system 110 determines whether all the patch application processes scheduled in the patch application schedule have been completed. When all the patch application processes scheduled in the patch application schedule are completed, a message to the effect that all the patch application processes scheduled in the patch application schedule are completed is output to the display device.
  • FIG. 9 is a flowchart illustrating the process at the time of starting the application according to the present embodiment.
  • step S900 when the user instructs execution of an arbitrary application from the input means, or is instructed to execute from another application, the application starts a startup process (step S900).
  • step S901 the application refers to a predetermined location.
  • the predetermined location is a location where a lock file is created in step S803. Then, the application determines whether there is a lock file. If there is a lock file, the application proceeds to step S902 (step S901 Yes). If there is no lock file, the application shifts the processing to step S906 (No in step S901).
  • step S902 the application reads the lock file and acquires the process ID of the patch application process. Then, the application determines whether or not the process with the acquired process ID is operating. If the patch application process is in operation, the application proceeds to step S903 (Yes in step S902). In step S903, the application outputs to the display device a message indicating that the patch application process is being executed. Then, the application proceeds to step S906.
  • step S902 if the patch application process is not in operation, the application proceeds to step S904 (No in step S902). In step S904, the application deletes the lock file.
  • step S905 the application starts predetermined processing according to the program command.
  • the application proceeds to step S906 and ends the application.
  • the patch application system 110 extracts the patch information that can be applied during business continuity (step S603), and applies the patch of the extracted patch information that can be applied during business continuity to the patch application system 110. Is generated (step S604), and patch application is performed according to the patch application schedule.
  • patches that have the possibility of user asset destruction or incompatibility are excluded from patches that can be applied during business continuity (step S603), so that patches can be applied safely and without affecting business even during business continuity. There is an effect.
  • the patch application process is performed while the patch application process is stopped for a certain period of time and then the patch application process is executed for a certain period of time (step S805), so a load is applied to the patch application target system.
  • Patch application processing can be performed without any problem.
  • the patch application system 110 acquires unapplied patch information from the latest patch information and extracts patches to be applied (patches that can be applied during business continuity) (steps S602 to S603). No need to sort out missing patches.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

 パッチ適用のためにコンピュータシステムを停止する時間を最小限に抑えるために、最新パッチ情報と適用済みパッチ情報とを比較して未適用のパッチを抽出し、未適用のパッチのうち、インストールされているソフトウェアを適用対象とする適用パッチを抽出する適用パッチ抽出処理と、抽出した適用パッチのうち、少なくともユーザ資産破壊可能性または非互換可能性がない業務継続中適用可能パッチを抽出する業務継続中適用可能パッチ抽出処理と、業務継続中適用可能パッチの適用対象であるソフトウェアが実行されない時間帯に業務継続中適用可能パッチを適用するパッチ適用スケジュールを生成するパッチ適用スケジュール生成処理と、パッチ適用スケジュールにしたがって、業務継続中に、業務継続中適用可能パッチを適用対象のソフトウェアに適用するパッチ適用処理と、を実行する。

Description

ソフトウェアパッチ適用方法、プログラム及び装置
 本発明は、情報処理装置などで動作させるソフトウェアの一部または全部を修正・変更するパッチの適用方法に関する。
 従来、ソフトウェアの一部または全部を修正・変更するプログラム若しくはデータ(以下、「パッチ」という)の適用作業では、パッチの適用対象となるコンピュータシステムの情報と、最新のパッチ情報(パッチの版数、種類などの情報)をもとに、そのコンピュータシステムに適用できるパッチを抽出している。そして、コンピュータシステムを一度停止して抽出したパッチを適用し、パッチの適用が完了した後にシステムを起動している。
 しかし、業務の関係上、コンピュータシステムを頻繁に停止できない場合も多い。そのため、ローリングアップデートや、代替ブート環境にリモート操作によってパッチを適用する技術(以下、「リモートパッチ適用」という)などが考案されている。また、条件によってはコンピュータシステムを停止せずにマルチユーザモードのままパッチを適用することも可能な場合がある。ここで、ローリングアップデートとは、業務を継続しているコンピュータシステムが複数代のノードを有するクラスタ等によい構成されている場合において、クラスタを構成するノードに対して1ノードずつパッチを適用することにより、コンピュータシステム上で稼動している業務を停止することなくソフトウェアのアップデートを実施する方法をいう。 しかし、ローリングアップデートはクラスタ構成、リモートパッチ適用はディスクの代替ブート環境などが必要となるのでコストがかかる。また、マルチユーザモードで適用できるパッチもあるが、パッチを適用するタイミングによっては業務に影響を与える可能性があるため、パッチの適用に大きなリスクを伴う。
 上記技術に関連して、ユーザ業務中に実行可能なパッチデータと実行不可能なパッチデータとに振り分け、ユーザ業務中に実行可能なパッチデータはユーザ業務中に適用し、ユーザ業務中に実行不可能なパッチデータはユーザ業務を停止して適用する保守方式が知られている。
 また、コンピュータシステムを構成する各コンピュータの動作状況を監視し、最も負荷の低い時間帯を選んでパッチ適用予定時刻を決定することで、コンピュータシステム全体を停止せずにパッチ処理を行なうパッチ適用方式が知られている。
 また、組み込み機器の稼働状況を取得し、その負荷状況から当該組み込み機器で動作するソフトウェアの更新に適する時間帯を算出し、当該時間帯にソフトウェアの更新を実行するソフトウェア管理装置が知られている。
特開平01-220031号公報 特開2003-015894号公報 特開2004-206390号公報
 本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、パッチ適用のためにコンピュータシステムを停止する時間を最小限に抑えるパッチ適用方法を提供することである。
 本パッチ適用方法は、最新パッチ情報記憶部に記憶されたパッチ適用対象のソフトウェアを示す最新パッチ情報と、適用済みパッチ情報記憶部に記憶された既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定するステップと、前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定するステップと、前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するステップと、前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するステップを実行する。
 本パッチ適用方法によると、インストール済みのソフトウェアを適用対象とする適用予定パッチが抽出され、その抽出パッチのうち、少なくともユーザ資産破壊可能性または非互換可能性がないパッチが適用可能パッチとして抽出される。
 そして、適用可能パッチの適用対象であるソフトウェアが実行されない時間帯に、適用可能パッチを適用するようにパッチ適用スケジュールが生成される。そして、パッチ適用スケジュールにしたがってパッチ適用処理が行われる。
 そのため、コンピュータシステムが動作中に適用可能なパッチは、コンピュータシステムが動作中に全て適用することができる。その結果、コンピュータシステムを停止して適用するパッチは、コンピュータシステムを停止しなければ適用できないパッチのみとなる。
 以上に説明したように、本パッチ適用方法によると、パッチ適用のためにコンピュータシステムを停止する時間を最小限に抑えることが可能となる。
本実施例に係るパッチ適用方法を実現するシステム全体の構成例を示す図である。 本実施例に係る最新パッチ情報記憶部の構成例を示す図である。 本実施例に係るソフトウェア実行スケジュール記憶部の構成例を示す図である。 本実施例に係るソフトウェア実行スケジュールを説明する図である。 本実施例に係るハードウェア情報記憶部の構成例を示す図である。 本実施例に係るパッチ適用システムの処理を示すフローチャートである。 本実施例に係るパッチ適用スケジュールの生成処理を示すフローチャートである。 本実施例に係るパッチの適用処理を示すフローチャートである。 本実施例に係るアプリケーション起動時の処理を示すフローチャートである。
 以下、本実施形態について、図1~図9に基づいて説明する。
 図1は、本実施例に係るパッチ適用方法を実現するシステム全体の構成例を示す図である。
 図1に示すシステムは、本実施例に係るパッチ適用方法にしたがって自身にインストールされているソフトウェアにパッチを適用するパッチ適用システム110と、最新のパッチに関する情報などを管理する保守用サーバ120と、を備える。以下、最新のパッチに関する情報を「最新パッチ情報」という。
 パッチ適用システム110は、様々なソフトウェアがインストールされている情報処理装置である。したがって、パッチ適用システム110は、インストールされている様々なソフトウェアを実行することにより、任意の業務を実行する。
 また、パッチ適用システム110は、既にパッチ適用システム110に適用されたパッチに関する情報を記憶する適用済みパッチ情報記憶部111と、パッチ適用システム110にインストール済みPKG(Package:ソフトウェアパッケージ)の情報を記憶するインストール情報記憶部112と、ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部113と、を備える。なお、既にパッチ適用システム110に適用されたパッチを、以下、「適用済みパッチ」という。
 また、保守用サーバ120には、最新パッチ情報を記憶する最新パッチ記憶部121と、ソフトウェアの実行に使用するハードウェアの情報を記憶するハードウェア情報記憶部122と、を備える。
 なお、パッチ適用システム110は、他の情報処理装置にインストールされているソフトウェアに対してパッチを適用する独立した情報処理装置であってもよい。また、パッチ適用システム110は、情報処理装置に備わる演算処理装置であるCPUに所定のプログラム命令を実行させることにより実現することが可能である。この場合、プログラムは、記憶媒体(揮発性メモリ、不揮発性メモリ、磁気ディスク装置、CD、DVDなどの可搬記憶媒体など)に記憶し、情報処理装置に記憶媒体からプログラムを読み出させてプログラムを実行させればよい。
 また、以上に説明した記憶部はそれぞれ独立な記憶装置で構成してもよいし、1つの記憶装置で構成してもよい。図1では、パッチ適用システム110と保守用サーバ120とは、ネットワークまたは専用線を介して通信可能に接続されている。
 適用済みパッチ情報記憶部111に記憶される適用済みパッチ情報は、既に適用済みパッチのパッチIDと、そのパッチに関連するパッチのパッチIDと、そのパッチにより修正されたPKG名などで構成される。
 インストール情報記憶部112に記憶されるインストール情報は、既にインストールされているPKGのPKG名、そのPKGの版数などで構成される。
 ソフトウェア実行スケジュール記憶部113に記憶されるソフトウェア実行スケジュールは、定期的に、または、任意の時間帯に一定回数だけ実行するソフトウェアのスケジュールのソフトウェア名、そのジョブの種類、その実行予定時間などで構成される。
 最新パッチ情報記憶部121に記憶される最新パッチ情報は、最新パッチのパッチID、そのパッチを適用する製品名、パッチ適用により修正されるPKGのPKG名、パッチ適用により他のソフトウェアと非互換の問題が生じる可能性の有無、ユーザ設定情報などのユーザ資産を初期化等して破壊する可能性の有無、パッチ適用に要する時間の算出基準となる時間などで構成される。
 なお、パッチ適用により他のソフトウェアと非互換の問題が生じる可能性を、「互換可能性」という。例えば、パッチが適用されることにより版数が新しくなったソフトウェアは、パッチが適用されない他のソフトウェアに対して、非互換の問題が生じる可能性があり、これを「後方互換性」(Backward Compatibility)という。また、ユーザ設定情報などのユーザ資産を初期化等して破壊する可能性を、「ユーザ資産破壊可能性」という。また、パッチ適用に要する時間の算出基準となる時間を、「パッチ適用基準時間」という。
 ハードウェア情報記憶部122に記憶されるハードウェア情報は、パッチ適用システム110を構成する機種の機種名、実装されているCPUのCPUタイプ、実装されているメモリ、パッチ適用時におけるCPU停止・実行時間(秒)、パッチ適用に必要な時間をハードウェア構成に応じて調整するために使用する適用予測計数などで構成される。
 例えば、パッチ適用システム110が保守用サーバ120に対して最新パッチ情報を要求すると、保守用サーバ120は最新パッチ情報記憶部121から最新パッチ情報を取得しパッチ適用システム110に通知する。同様に、保守用サーバ120は、パッチ適用システム110からの要求に応じて、ハードウェア情報をパッチ適用システム110に通知する。
 また、パッチ適用システム110は、適用済みパッチ情報記憶部111から適用済みパッチ情報を取得する。そして、パッチ適用システム110は、最新パッチ情報と適用済みパッチ情報とを比較し、比較結果からパッチ適用システム110に対して未適用のパッチを抽出する。
 さらに、パッチ適用システム110は、インストール情報記憶部112からパッチ適用システム110自身にインストールされているPKGの情報を取得し、抽出した未適用のパッチのうち、インストールされているPKGに対して適用するパッチの情報のみを抽出する。さらに、パッチ適用システム110は、この抽出したパッチの情報から、OS(Operating System)やドライバに対するパッチ以外のパッチの情報を抽出する。なお、パッチ適用システム110自身にインストールされているPKGの情報を、「インストール情報」という。
 以下、本実施例では、OSやカーネル上で動作するOSやドライバ以外の上位ソフトウェア(ミドルウェア等も含む)を単にアプリケーションという。
 そして、パッチ適用システム110は、最新パッチ情報を参照し、適用パッチ毎に最新パッチ情報に含まれるユーザ資産破壊可能性および非互換可能性の有無を確認する。そして、パッチ適用システム110は、適用パッチのうち、ユーザ資産破壊の可能性および非互換の可能性の無いパッチの情報のみを抽出する。本実施例では、この抽出したパッチの情報を、業務継続中にパッチ適用システム110に適用可能なパッチの情報とする。以下、この抽出したパッチの情報を「業務継続中適用可能パッチ情報」という。また、この業務継続中適用可能パッチ情報に登録されているパッチを「業務継続中適用可能パッチ」という。
 そして、パッチ適用システム110は、ソフトウェア実行スケジュール記憶部113からパッチ適用システム110自身にインストールされているPKGのアプリケーションの実行スケジュールを取得する。そして、パッチ適用システム110は、業務継続中適用可能パッチ毎に適用対象のアプリケーションが実行していない時間を算出し、ソフトウェアに対してパッチを適用するスケジュールを生成する。なお、パッチ適用システム110自身にインストールされているPKGを、場合に応じて「ソフトウェア」という。また、ソフトウェアに対してパッチを適用するスケジュールを「パッチ適用スケジュール」という。
 そして、パッチ適用システム110は、パッチ適用スケジュールにしたがって、業務継続中に、業務継続中適用可能パッチを適用する。なお、パッチの適用処理は、パッチ適用システム110上で動作する専用のプロセスにより行なう。以下のこのプロセスを「パッチ適用プロセス」という。
 図2は、本実施例に係る最新パッチ情報記憶部121の構成例を示す図である。
 上述したように、最新パッチ情報記憶部121に記憶される最新パッチ情報は、最新パッチのパッチIDと、そのパッチを適用する製品名、パッチ適用により修正されるPKGのPKG名、パッチ適用により生じる非互換可能性の有無やユーザ資産破壊可能性の有無を示す注意事項、パッチ適用基準時間で構成される。
 最新パッチ情報は、任意のソフトウェアの一部または全部について修正・変更する必要が生じた場合に随時更新される。
 例えば、Patch1とPatch2が適用済で、ドライバ製品Aはインストールされておらず、アプリケーションA~Dがインストールされていた場合、Patch4~Patch10が未適用パッチとなる。また、この場合、ユーザ資産破壊可能性がなく非互換可能性がないパッチは、Patch4~Patch6およびPatch10となる。
 ここで、パッチ適用基準時間は、あらかじめテスト機等を用いてパッチの適用検証をする際に測定した値を使用している。本実施例では、適用対象となるシステム毎のパッチ適用に要すると思われる時間y1を、以下の計算式により算出している。なお、このパッチ適用に要すると思われる時間y1を「パッチ適用予測時間」という。
 y1 = a×x                  ・・・ (1)
 ここで、aはハードウェア情報記憶部122に記憶されるシステムの適用予測計数、xは最新パッチ情報記憶部121に記憶されるパッチ適用基準時間である。
 図3は、本実施例に係るソフトウェア実行スケジュール記憶部113の構成例を示す図である。
 上述したように、ソフトウェア実行スケジュール記憶部113に記憶されるソフトウェア実行スケジュールは、実行予定のソフトウェアの製品名、そのソフトウェアのジョブの種類、その実行予定時間を少なくとも備える。なお、本実施例では、「実行予定時間」に「-」を設定すると、いかなる場合でもそのソフトウェアに対してパッチ適用を行なわない。
 図4は、本実施例に係るソフトウェア実行スケジュールを説明する図である。なお、図4には、図3に示したアプリケーションA、BおよびCに関するソフトウェア実行スケジュールを示している。現在の時刻が12月27日0時の場合を示している。
 アプリケーションAのスケジュールによると、アプリケーションAは14時間間隔で0時から10時まで10時間実行される。また、アプリケーションBのスケジュールによると、アプリケーションBは14時間間隔で10時から20時まで10時間実行される。アプリケーションCのスケジュールによると、アプリケーションCは12月29日22時から23時の1時間だけ実行される。
 したがって、例えば、アプリケーションAに対するPatch4の適用処理を12月27日10時から開始し、アプリケーションBに対するPatch5の適用処理を12月27日20時から開始し、アプリケーションCに対するPatch6の適用処理を12月28日0時から開始するパッチ適用のスケジュールを生成することができる。
 なお、パッチ適用システム110は、各アプリケーションへのパッチの適用に要するパッチ適用実時間を上述した(1)式および後述する(2)式から算出する。そして、パッチ適用システム110は、パッチの適用処理が、ソフトウェア実行スケジュールで定義された各アプリケーションの実行時間以外の時間帯に完了するようにパッチ適用のスケジュールを生成する。以下、図4に示す休止中の時間帯、すなわち、各アプリケーションの実行時間以外の時間帯を「パッチ適用可能な時間帯」という。
 例えば、アプリケーションAに対するパッチPatch4の場合、パッチ適用システム110は、12月27日10時から12月28日0時までの14時間内に、アプリケーションAに対するパッチの適用処理が完了するようパッチ適用スケジュールを生成する。
 なお、各アプリケーションに対して適用するパッチが複数あり、パッチ適用対象のアプリケーションがパッチ適用可能な時間帯(14時間)内に全てのパッチの適用処理を完了することができない場合、パッチ適用対象のアプリケーションに対するパッチを複数のグループに分け、グループ毎に複数回に分けてパッチ適用スケジュールを生成すればよい。
 例えば、アプリケーションAに対するパッチがパッチPatch4だけでなく複数あり、アプリケーションAについてパッチ適用可能な時間帯(14時間)内に全てのパッチの適用処理を完了することができない場合、12月27日10時から12月28日0時までの14時間に適用可能な数のパッチを、12月27日10時から12月28日0時の時間帯に適用し、12月28日10時から12月29日0時までの14時間に残りのパッチを適用するパッチ適用スケジュールを生成すればよい。
 また、図3に示すソフトウェア実行スケジュールのアプリケーションDには「-」が設定されているので、パッチ適用システム110は、アプリケーションDに対するパッチの適用処理を行なわない。すなわち、パッチ適用システム110は、アプリケーションDに関するパッチ適用スケジュールは生成しない。
 図5は、本実施例に係るハードウェア情報記憶部122の構成例を示す図である。
 上述したように、ハードウェア情報記憶部122に記憶されるハードウェア情報は、パッチ適用システム110を構成する機種の機種名、実装されているCPUのCPUタイプ、実装されているメモリのメモリ容量、パッチ適用時におけるCPU停止・実行時間(秒)、パッチ適用に必要な時間をハードウェア構成に応じて調整するために使用する適用予測計数で構成される。
 ハードウェア情報は、例えば、新機種がリリースされた場合などのタイミングで更新される。
 停止・実行時間は、各機種でのパッチ適用時の負荷状態から、最適と思われる時間を設定する。例えば、機種Aでは、CPUAの2秒停止4秒実行を繰り返すことによりパッチ適用を行なうことを示している。
 図5に示すハードウェア情報では、パッチ適用システム110に関し、機種が機種B、CPUタイプがCPUC、メモリ容量がメモリ1024Mバイトの場合、CPU停止・実行時間はそれぞれ1秒、6秒と定義されている。すなわち、パッチ適用処理を行なうパッチ適用プロセスを1秒停止し、6秒実行することを繰り返す。
 このパッチ適用システム110にインストールされているアプリケーションAに対してパッチPatch4を適用する場合、パッチ適用予測時間は、(1)式を用いると66秒(=1.1×60秒)となる。
 ここで、パッチ適用プロセスは、1秒停止して、6秒実行することを繰り返すので、パッチ適用プロセスの6秒の実行を11回(=66/6)、パッチ適用プロセスの1秒の停止を10回(=66/6-1)行なうことになる。
 したがって、パッチ適用プロセスの開始から終了まで、すなわち、パッチ適用処理の開始から完了までの時間は76秒(=6×11+1×10)となる。このように、パッチ適用予測時間とハードウェア情報(CPU停止・実行時間)とから算出されるパッチ適用に要する実際の時間を、「パッチ適用実時間」という。
 以上のように、パッチ適用実時間y2は、
 y2 = trun×p + tstop×(p-1) ・・・ (2)
 p  = y1/trun
 ただし、tstop、trunはそれぞれハードウェア情報で定義されたCPU停止時間、CPU実行時間であり、pはパッチ適用プロセスをtrun秒実行する回数(切上げ後の自然数)である。
 複数のパッチP1、P2、・・・、Pnを同一アプリケーションに適用する場合、パッチ適用システム110は、各パッチについて、パッチ適用実時間y2(t1)、y2(t2)、・・・、y2(tn)を算出する。
 そして、パッチ適用システム110は、パッチ適用実時間y2(t1)、y2(t2)、・・・、y2(tn)を積算しながらパッチ適用可能な時間帯T1と比較し、パッチ適用可能な時間帯T1内に適用可能なパッチを求める。そして、パッチ適用システム110は、求めたパッチについて時間帯T1でパッチ適用処理を行なうようにパッチ適用スケジュールを生成する。
 同様に、パッチ適用システム110は、残りのパッチについて、パッチ適用可能な時間帯T2内に適用可能なパッチを求め、時間帯T2でパッチ適用処理を行なうようにパッチ適用スケジュールを生成する。さらに、適用すべきパッチがある場合には、同様に、パッチ適用可能な時間帯T3、T4、・・・、Tnでパッチ適用処理を行なうようにパッチ適用スケジュールを生成する。
 図6は、本実施例に係るパッチ適用システム110の処理を示すフローチャートである。
 ステップS600において、パッチ適用システム110に備わる入力手段を用いてユーザが所定のコマンドを実行すると、パッチ適用システム110は、ステップS601に移行する。そして、パッチ適用システム110はパッチ適用処理を開始する。
 ステップS601において、パッチ適用システム110は、最新パッチ情報からパッチ適用システム110に未適用のパッチ情報を取得する。
 この時、パッチ適用システム110は、保守用サーバ120に対して最新パッチ情報を要求する。すると、保守用サーバ120は、最新パッチ情報記憶部121から最新パッチ情報を取得する。そして、保守用サーバ120は、パッチ適用システム110に最新パッチ情報を通知する。
 また、パッチ適用システム110は、適用済パッチ情報記憶部111から適用済パッチ情報を取得する。そして、パッチ適用システム110は、最新パッチ情報のパッチIDと適用済パッチ情報のパッチIDとを比較する。そして、パッチ適用システム110は、最新パッチ情報からパッチIDが重複しないパッチの情報を、パッチ適用システム110に未適用のパッチの情報として抽出する。以下、この抽出したパッチの情報を「未適用パッチ情報」という。
 さらに、パッチ適用システム110は、インストール情報記憶部112からインストール情報を取得する。そして、パッチ適用システム110は、未適用パッチ情報のPKG名とインストール情報のPKG名とを比較する。そして、パッチ適用システム110は、未適用パッチ情報からPKG名が一致するパッチの情報を、パッチ適用システム110にインストールされているPKGに対して適用するパッチの情報として抽出する。
 ステップS602において、パッチ適用システム110は、ステップS601で抽出したパッチの情報の製品名を参照し、ステップS601で抽出したパッチの情報から、パッチ適用システム110にインストールされているアプリケーションに対してのパッチの情報のみを抽出する。すなわち、パッチ適用システム110は、ステップS601で抽出したパッチの情報の製品名を参照し、ステップS601で抽出したパッチの情報から、OSやドライバに対するパッチ以外のパッチの情報を抽出する。
 ステップS603において、パッチ適用システム110は、ステップS602で抽出したパッチの情報の注意事項を参照し、ステップS602で抽出したパッチの情報から、ユーザ資産破壊可能性や非互換可能性が無いパッチの情報、すなわち、業務継続中適用可能パッチ情報を抽出する。
 ステップS604において、パッチ適用システム110は、ステップS603で抽出した業務継続中適用可能パッチ情報のパッチをパッチ適用システム110に適用するパッチ適用スケジュールを生成する。
 この時、パッチ適用システム110は、ソフトウェア実行スケジュール記憶部113からソフトウェア実行スケジュールを取得する。また、パッチ適用システム110は、保守用サーバ120に対してハードウェア情報を要求する。すると、保守用サーバ120は、ハードウェア情報記憶部122からハードウェア情報を取得してパッチ適用システム110に通知する。
 そして、パッチ適用システム110は、ソフトウェア実行スケジュールを参照し、アプリケーションが実行されない時間帯を使用して業務継続中適用可能パッチをパッチ適用システム110に適用するパッチ適用スケジュールを生成する。具体的には、パッチ適用システム110は、後述するスケジュールテーブルを生成する。
 ステップS605において、パッチ適用システム110は、パッチ適用スケジュールにしたがって、パッチ適用対象となるアプリケーション毎に、業務継続中適用可能パッチを所定の時間に実行するように設定する。
 この時、パッチ適用システム110は、パッチ適用システム110に備わるパッチ適用プロセスの自動実行機能、例えば、UNIX(登録商標)系商用OSの一種であるSolaris(登録商標)に標準装備されているatコマンドやUNIX(登録商標)系OS一般に標準装備されるcronコマンドを使用して、ステップS604で生成したスケジュールテーブルにしたがって、パッチ適用対象となるアプリケーション毎に、業務継続中適用可能パッチを所定の時間に実行するように設定する。
 ステップS606において、パッチ適用システム110は、ステップS605で設定された時刻になると、パッチ適用プロセスを起動する。パッチ適用プロセスは、設定されたアプリケーションに対して設定された業務継続中適用可能パッチを適用する。ステップS605で設定された全ての業務継続中適用可能パッチについてパッチ適用が完了すると、パッチ適用システム110は、処理をステップS607に移行し、パッチ適用処理を終了する。
 なお、パッチ適用プロセスは、OS等に標準装備、または一般に提供されているパッチ適用ツール等を使用すればよい。
 図7は、本実施例に係るパッチ適用スケジュールの生成処理を示すフローチャートである。
 パッチ適用システム110は、図6に示したステップS604に処理を移行すると、パッチ適用スケジュールの生成処理を開始する(ステップS700)。
 ステップS701において、パッチ適用システム110は、現在の時刻を取得する。この時刻を「基準時刻A」とする。
 ステップ602において、パッチ適用システム110は、ステップS603で生成した業務継続中適用可能パッチ情報の製品名を参照する。そして、パッチ適用システム110は、その業務継続中適用可能パッチ情報に登録されているアプリケーションのアプリケーション名を1つ取得する。このアプリケーション名を「アプリケーションX」という。
 ステップS703において、パッチ適用システム110は、ソフトウェア実行スケジュール記憶部113からソフトウェア実行スケジュールを取得する。そして、パッチ適用システム110は、ソフトウェア実行スケジュールにおいて、アプリケーションXを使用しない時間帯、すなわち、パッチ適用可能な時間帯であって、基準時刻Aに最も近い時間帯を取得する。この取得した時間帯を「未使用時間帯Y」という。
 ステップS704において、パッチ適用システム110は、アプリケーションXにパッチ(既にパッチ適用時刻が割り当てられたパッチは除く)を適用するために要する実際の時間、すなわち、パッチ適用実時間y2を算出する。
 この時、パッチ適用システム110は、業務継続中適用可能パッチ情報の適用時間を参照し、業務継続中適用可能パッチ情報からアプリケーションXに対するパッチの適用時間を取得する。
 パッチ適用システム110は、保守用サーバ120に対してハードウェア情報を要求する。すると、保守用サーバ120は、ハードウェア情報記憶部122からハードウェア情報を取得してパッチ適用システム110に通知する。そして、パッチ適用システム110は、パッチ適用システム110のシステム情報、例えば、機種、CPUタイプ、メモリ容量などを、あらかじめ設定された設定ファイル等から取得し、取得したシステム情報に対応する適用予測計数を取得する。
 そして、パッチ適用システム110は、前述の(1)式を用いてアプリケーションAに対するパッチの適用に要するパッチ適用予測時間y1を算出する。さらに、パッチ適用システム110は、ハードウェア情報からCPU停止・実行時間を取得し、前述の(2)式を用いてアプリケーションAに対するパッチのパッチ適用に要するパッチ適用実時間y2を算出する。
 ステップS705において、パッチ適用システム110は、アプリケーションAに対するパッチ(既にパッチ適用時刻が割り当てられたパッチは除く)のパッチ適用実時間y2の総和である総パッチ適用実時間ytを算出し、未使用時間帯Y内に収まるか否かを判別する。
 この時、例えば、パッチ適用システム110は、(総パッチ適用実時間yt+未使用時間帯Yの開始時刻)と(未使用時間帯Yの終了時刻)とを比較する。そして、「(未使用時間帯Yの終了時刻)<(総パッチ適用実時間yt+未使用時間帯Yの開始時刻)」となる場合、パッチ適用システム110は、「(未使用時間帯Yの終了時刻)≧(総パッチ適用実時間yt+未使用時間帯Yの開始時刻)」となる数のパッチを任意に選択し、選択したパッチのパッチ適用時刻を未使用時間帯Yに割り当てる。
 具体的には、スケジュールテーブルに、生成したパッチ適用スケジュールに順番に付す「スケジュール番号」とともに、パッチ適用対象の「製品名」にアプリケーションXを設定し、適用する「パッチ」に選択したパッチを設定し、パッチ適用処理の開始時刻である「適用開始時刻」に未使用時間帯Yの開始時刻を設定し、パッチ適用処理の終了時刻である「適用終了時刻」に(総パッチ適用実時間yt+未使用時間帯Yの開始時刻)を設定する。
 下表は、スケジュールテーブルの具体例を示している。
Figure JPOXMLDOC01-appb-T000001
 例えば、スケジュール番号が1のパッチ適用スケジュールは、アプリケーションAに対して、パッチPatch4a、4b、4c、・・・を適用する。そして、パッチ適用処理は、12月27日10時0分0秒に開始し、12月27日10時1分16秒に終了する。
 パッチ適用時刻の割り当てが完了すると、パッチ適用システム110は、処理をステップS706に移行する(S705 No)。
 また、「(未使用時間帯Yの終了時刻)≧(総パッチ適用実時間yt+未使用時間帯Yの開始時刻)」となる場合、パッチ適用システム110は、アプリケーションAに対する全パッチ(既にパッチ適用時刻が割り当てられたパッチは除く)のパッチ適用時刻を未使用時間帯Yに割り当てる。
 この場合も、スケジュールテーブルに、生成したパッチ適用スケジュールに順番に付す「スケジュール番号」とともに、パッチ適用対象の「製品名」にアプリケーションXを設定し、適用する「パッチ」にアプリケーションAに対する全パッチを設定し、パッチ適用処理の開始時刻である「適用開始時刻」に未使用時間帯Yの開始時刻を設定し、パッチ適用処理の終了時刻である「適用終了時刻」に(総パッチ適用実時間yt+未使用時間帯Yの開始時刻)を設定する。
 パッチ適用時刻の割り当てが完了すると、処理をステップS707に移行する(S705 Yes)。
 ステップS706において、パッチ適用システム110は、未使用時間帯Yの終了時刻を基準時刻Aに設定する。そして、パッチ適用システム110は、処理をステップS703に移行する。
 ステップS707において、パッチ適用システム110は、アプリケーションXに対するパッチの適用処理が終了する時刻、すなわち(総パッチ適用実時間yt+未使用時間帯Yの開始時刻)を基準時刻Aに設定する。
 ステップS708において、パッチ適用システム110は、業務継続中適用可能パッチ情報に登録されているアプリケーションであって、適用するパッチにパッチ適用時刻が割り当てられていないアプリケーションがあるか否かを判別する。
 適用するパッチにパッチ適用時刻が割り当てられていないアプリケーションがある場合、パッチ適用システム110は、処理をステップS703に移行する(S708 Yes)。そして、まだ適用するパッチにパッチ適用時刻が割り当てられていないアプリケーションから1つのアプリケーションを選択し、この選択したアプリケーションをアプリケーションXに設定する。そして、パッチ適用システム110は、ステップS702からステップS708の処理を繰り返す。
 また、パッチ適用スケジュールが生成されていないアプリケーションがない場合、パッチ適用システム110は、処理をステップS709に移行する(S708 No)。そして、パッチ適用スケジュールの生成処理を終了する。
 図8は、本実施例に係るパッチの適用処理を示すフローチャートである。
 図6に示したステップS605の処理によって設定されたパッチ適用スケジュールに定められたパッチ適用処理の開始時刻になると、パッチ適用システム110は、パッチ適用処理を開始する(ステップS800)。なお、以下の説明では、パッチ適用スケジュールに基づいてパッチ適用の対象となるアプリケーションを「パッチ適用対象アプリケーション」という。
 ステップS801において、パッチ適用システム110は、パッチ適用対象アプリケーションが現在起動中であるか否かを判別する。パッチ適用対象アプリケーションが起動中の場合、パッチ適用システム110は、処理をステップS802に移行する(ステップS801 Yes)。また、パッチ適用対象アプリケーションが起動していない場合、パッチ適用システム110は、処理をステップS803に移行する(ステップS801 No)。
 ステップS802において、図6に示した処理を行って、パッチ適用スケジュールのスケジューリング処理を再度実行する。
 ステップS803において、パッチ適用システム110は、パッチ適用プロセスのIDを記載したファイルを、所定の場所に作成する。この作成したファイルを「ロックファイル」という。この作成された「ロックファイル」は、当該「ロックファイル」に記載されているIDに対応するパッチ適用プロセスを起動させないことにより、任意のプロセスに対するロック機能を実現する。
 ステップS804において、パッチ適用システム110は、パッチ適用プロセスを実行し、パッチ適用対象アプリケーションに対してパッチを適用する処理を実行する。
 この時、パッチ適用システム110は、保守用サーバ120に対してハードウェア情報を要求する。すると、保守用サーバ120は、ハードウェア情報記憶部122からハードウェア情報を取得してパッチ適用システム110に通知する。そして、パッチ適用システム110は、パッチ適用システム110のシステム情報、例えば、機種、CPUタイプ、メモリ容量などを、あらかじめ設定された設定ファイル等から取得し、取得したシステム情報に対応する停止・実行時間を取得する。
 そして、パッチ適用システム110は、取得した停止・実行時間にしたがって、パッチ適用プロセスを一定時間停止しその後パッチ適用プロセスを一定時間実行する処理を、パッチ適用対象アプリケーションに対するパッチの適用処理が完了するまで繰り返し行う。
 ステップS805において、パッチ適用システム110は、ステップS803で作成したロックファイルを削除する。「ロックファイル」が削除されることにより、当該「ロックファイル」に記載されているIDに対応するパッチ適用プロセスの起動が可能となる。
 ステップS806において、パッチ適用システム110は、適用済パッチ情報記憶部111にステップS804によって適用したパッチのパッチIDと、そのパッチに関連するパッチのパッチIDと、そのパッチにより修正されたPKG名などを登録し、適用済パッチ情報を更新する。
 また、パッチ適用システム110は、パッチ適用スケジュールで予定されたパッチの適用処理が全て完了したか否かを判別する。パッチ適用スケジュールで予定されたパッチの適用処理が全て完了した場合、パッチ適用スケジュールで予定されたパッチの適用処理が全て完了した旨のメッセージを表示装置に出力する。
 以上の処理が終了すると、パッチ適用システム110は、ステップS807に移行してパッチ適用処理を終了する。
 図9は、本実施例に係るアプリケーション起動時の処理を示すフローチャートである。
 例えば、ユーザが入力手段から任意のアプリケーションの実行を指示したり、他のアプリケーションから実行を指示されるなどすると、アプリケーションは、起動処理を開始する(ステップS900)。
 ステップS901において、アプリケーションは、所定の場所を参照する。なお、この所定の場所とは、ステップS803においてロックファイルを作成する場所である。そして、アプリケーションは、ロックファイルがあるか否かを判別する。ロックファイルがある場合、アプリケーションは、処理をステップS902に移行する(ステップS901 Yes)。また、ロックファイルがない場合、アプリケーションは、処理をステップS906に移行する(ステップS901 No)。
 ステップS902において、アプリケーションは、ロックファイルを読み出し、パッチ適用プロセスのプロセスIDを取得する。そして、アプリケーションは、取得したプロセスIDのプロセスが動作中か否かを判別する。パッチ適用プロセスが動作中の場合、アプリケーションは、処理をステップS903に移行する(ステップS902 Yes)。そして、ステップS903において、アプリケーションは、パッチ適用プロセスが実行中である旨のメッセージを表示装置に出力する。そして、アプリケーションは、処理をステップS906に移行する。
 また、ステップS902において、パッチ適用プロセスが動作中でない場合、アプリケーションは、処理をステップS904に移行する(ステップS902 No)。そして、ステップS904において、アプリケーションは、ロックファイルを削除する。
 ステップS905において、アプリケーションは、プログラム命令にしたがって所定の処理を開始する。そして、所定の処理が完了すると、アプリケーションは、ステップS906に移行してアプリケーションを終了する。
 以上に説明したように、パッチ適用システム110は、業務継続中適用可能パッチ情報を抽出し(ステップS603)、抽出した業務継続中適用可能パッチ情報のパッチをパッチ適用システム110に適用するパッチ適用スケジュールを生成し(ステップS604)、そのパッチ適用スケジュールにしたがってパッチ適用が行なわれる。
 したがって、業務継続を中止しなければ適用できないパッチ以外のパッチは、業務を継続しながら適用される。その結果、業務継続を中止しなければ適用できないパッチを適用するために、業務を停止する時間を短くする効果を奏する。
 また、ユーザ資産破壊可能性や非互換可能性があるパッチは、業務継続中適用可能パッチから除かれるので(ステップS603)、業務継続中でも安全かつ業務に影響を与えることなくパッチの適用ができるという効果を奏する。
 また、パッチ適用時は、パッチ適用プロセスを一定時間停止しその後パッチ適用プロセスを一定時間実行する処理を繰り返し行ないながらパッチの適用処理を行なうので(ステップS805)、パッチ適用対象のシステムに負荷をかけることなくパッチの適用処理を行なうことが可能となる。
 また、パッチ適用システム110は、最新パッチ情報から未適用のパッチ情報を取得し、適用すべきパッチ(業務継続中適用可能パッチ)を抽出する(ステップS602~S603)ので、ユーザが業務に関係のないパッチを選別する必要がなくなる。

Claims (9)

  1.  最新パッチ情報記憶部に記憶されたパッチ適用対象のソフトウェアを示す最新パッチ情報と、適用済みパッチ情報記憶部に記憶された既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定するステップと、
     前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定するステップと、
     前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するステップと、
     前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するステップを実行するパッチ適用方法。
  2.  前記パッチ適用スケジュールを生成するステップは、
     前記最新パッチ情報記憶部に含まれるパッチ適用時間を、前記適用可能パッチ毎に積算し、前記ソフトウェアが実行されない時間帯に収まるようにパッチ適用スケジュールを生成することを特徴とする請求項1記載のパッチ適用方法。
  3.  前記パッチ適用スケジュールを生成するステップにおいて、
     前記積算する時間には、ハードウェア情報記憶部から取得した、前記ソフトウェアの実行に使用するハードウェア情報が有する演算処理装置の停止時間も含まれることを特徴とする請求項2記載のパッチ適用方法。
  4.  前記適用可能パッチをソフトウェアに適用するステップは、
     前記適用可能パッチの適用対象であるソフトウェアの動作状況を確認し、該ソフトウェアが動作していない場合には、該ソフトウェアに対してパッチを適用することを特徴とする請求項1記載のパッチ適用方法。
  5.  前記適用可能パッチをソフトウェアに適用するステップは、
     前記適用可能パッチの適用対象であるソフトウェアの動作状況を確認し、前記ソフトウェアが動作中の場合には、前記ソフトウェアに対するパッチの適用は行なわないことを特徴とする請求項1記載のパッチ適用方法。
  6.  前記パッチ適用スケジュールを生成するステップにおいて、
     前記適用可能パッチの適用対象であるソフトウェアが動作中の場合には、前記パッチ適用スケジュール生成処理により、パッチ適用スケジュールが再度生成されることを特徴とする請求項5記載のパッチ適用方法。
  7.  前記適用可能パッチをソフトウェアに適用するステップは、
     前記ソフトウェアの実行に使用するハードウェア情報を記憶するハードウェア情報記憶部から取得したCPUの停止・実行時間に基づいてパッチの適用を行なうことを特徴とする請求項1記載のパッチ適用方法。
  8.  情報処理装置にインストールされたソフトウェアのパッチ適用プログラムにおいて、
     前記情報処理装置に、
     最新パッチ情報記憶部に記憶されたパッチ適用対象のソフトウェアを示す最新パッチ情報と、適用済みパッチ情報記憶部に記憶された既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定するステップと、
     前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定するステップと、
     前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するステップと、
     前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するステップを実行するパッチ適用方法。
  9.  パッチ適用対象のソフトウェアを示す最新パッチ情報を記憶する最新パッチ情報記憶部と、
     既にソフトウェアに適用された適用済みパッチを示す適用済みパッチ情報を記憶する適用済みパッチ情報記憶部と、
     前記最新パッチ情報と前記適用済みパッチを示す適用済みパッチ情報を比較し、前記パッチ適用対象のソフトウェアに未適用のパッチを特定するとともに、前記パッチ適用対象のソフトウェアに未適用のパッチのうち、インストール情報記憶部に記憶されたインストール済みのソフトウェアの情報に基づいて、インストール済みのソフトウェアを適用対象とする適用予定パッチを特定する適用予定パッチ特定部と、
     前記特定した適用予定パッチのうち、少なくともユーザ資産を破壊する可能性であるユーザ資産破壊可能性又はパッチが適用されない他のソフトウェアとの非互換を生じる可能性を示す非互換可能性がないパッチを、適用可能パッチとして特定する適用可能パッチ特定部と、
     前記ソフトウェアそれぞれの実行スケジュールを記憶するソフトウェア実行スケジュール記憶部から前記実行スケジュールを読み出し、前記適用可能パッチの適用対象であるソフトウェアが実行されない時間帯を算出し、時間帯に前記適用可能パッチを適用するパッチ適用スケジュールを生成するパッチ適用スケジュール生成部と、
    前記パッチ適用スケジュールに基づいて、前記適用可能パッチをソフトウェアに適用するパッチ適用部を有することを特徴とする情報処理装置。
PCT/JP2008/002533 2008-09-12 2008-09-12 ソフトウェアパッチ適用方法、プログラム及び装置 WO2010029602A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2008/002533 WO2010029602A1 (ja) 2008-09-12 2008-09-12 ソフトウェアパッチ適用方法、プログラム及び装置
EP08808474A EP2336887A4 (en) 2008-09-12 2008-09-12 SOFTWARE PATCH APPLICATION PROCEDURE, PROGRAM AND ESTABLISHMENT
JP2010528543A JP5206792B2 (ja) 2008-09-12 2008-09-12 ソフトウェアパッチ適用方法、プログラム及び装置
US13/041,933 US20110161949A1 (en) 2008-09-12 2011-03-07 Method and apparatus for software patch application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/002533 WO2010029602A1 (ja) 2008-09-12 2008-09-12 ソフトウェアパッチ適用方法、プログラム及び装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/041,933 Continuation US20110161949A1 (en) 2008-09-12 2011-03-07 Method and apparatus for software patch application

Publications (1)

Publication Number Publication Date
WO2010029602A1 true WO2010029602A1 (ja) 2010-03-18

Family

ID=42004871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/002533 WO2010029602A1 (ja) 2008-09-12 2008-09-12 ソフトウェアパッチ適用方法、プログラム及び装置

Country Status (4)

Country Link
US (1) US20110161949A1 (ja)
EP (1) EP2336887A4 (ja)
JP (1) JP5206792B2 (ja)
WO (1) WO2010029602A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013051142A1 (ja) * 2011-10-06 2013-04-11 富士通株式会社 更新制御装置、更新制御プログラム、および更新制御方法
JP2016197326A (ja) * 2015-04-03 2016-11-24 富士通株式会社 プログラム、更新制御方法、および更新制御装置
JPWO2016063363A1 (ja) * 2014-10-22 2017-08-03 富士機械製造株式会社 フィーダの管理装置および管理方法
JP2018151741A (ja) * 2017-03-10 2018-09-27 Necプラットフォームズ株式会社 情報処理装置、プログラム更新方法およびプログラム更新用プログラム

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539469B2 (en) 2004-05-11 2013-09-17 Microsoft Corporation Efficient patching
US9134992B2 (en) * 2011-08-31 2015-09-15 Vmware, Inc. Interactive and visual planning tool for managing installs and upgrades
US9286052B1 (en) * 2011-09-15 2016-03-15 Emc Corporation Upgrading software on a pair of nodes in a clustered environment
US8972969B2 (en) 2012-06-08 2015-03-03 Adobe Systems Incorporated Out of band services updates
JP5922605B2 (ja) * 2013-03-11 2016-05-24 西日本電信電話株式会社 管理装置
US9961011B2 (en) 2014-01-21 2018-05-01 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US9395975B2 (en) * 2014-07-21 2016-07-19 Sandisk Technologies Llc Method and system for generating a ROM patch
US9626179B2 (en) 2014-07-21 2017-04-18 Sandisk Technologies Llc Method and system for using a ROM patch
KR102443172B1 (ko) 2014-09-24 2022-09-14 오라클 인터내셔날 코포레이션 멀티테넌트 어플리케이션 서버 환경에서 패치를 지원하는 시스템 및 방법
US10318280B2 (en) * 2014-09-24 2019-06-11 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
US10178184B2 (en) 2015-01-21 2019-01-08 Oracle International Corporation System and method for session handling in a multitenant application server environment
US10250512B2 (en) 2015-01-21 2019-04-02 Oracle International Corporation System and method for traffic director support in a multitenant application server environment
US10042625B2 (en) 2015-03-04 2018-08-07 International Business Machines Corporation Software patch management incorporating sentiment analysis
US10216941B2 (en) * 2015-04-03 2019-02-26 Line Corporation Method of distributing application with security features and method of operating the application
US20170060564A1 (en) * 2015-08-27 2017-03-02 Kabushiki Kaisha Toshiba Electronic device and method
US9696985B1 (en) * 2016-01-06 2017-07-04 International Business Machines Corporation Patching of virtual machines within sequential time windows
US10452387B2 (en) 2016-09-16 2019-10-22 Oracle International Corporation System and method for partition-scoped patching in an application server environment
US10310841B2 (en) 2016-09-16 2019-06-04 Oracle International Corporation System and method for handling lazy deserialization exceptions in an application server environment
US11237814B2 (en) 2017-08-17 2022-02-01 Oracle International Corporation System and method for supporting custom hooks during patching in an application server environment
US10693723B2 (en) 2018-07-23 2020-06-23 Hewlett Packard Enterprise Development Lp Network upgrades
US10754637B1 (en) * 2019-01-28 2020-08-25 International Business Machines Corporation Patch management in a hybrid computing environment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01220031A (ja) 1988-02-29 1989-09-01 Nec Corp 保守方式
JP2003015894A (ja) 2001-06-28 2003-01-17 Nec Corp パッチ適用方式、パッチ適用方法およびパッチ用プログラム
JP2004127253A (ja) * 2002-07-31 2004-04-22 Ricoh Co Ltd 情報処理装置およびバージョンチェック方法
JP2004127281A (ja) * 2002-09-14 2004-04-22 Ricoh Co Ltd 画像形成装置および情報表示方法
JP2004206390A (ja) 2002-12-25 2004-07-22 Mitsubishi Electric Corp ソフトウェア管理装置及びソフトウェア管理サーバ
JP2004206260A (ja) * 2002-12-24 2004-07-22 Aioi Insurance Co Ltd プログラム配信システム
JP2007293514A (ja) * 2006-04-24 2007-11-08 Canon Inc バージョン管理および自動アップデート機能

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04175927A (ja) * 1990-11-09 1992-06-23 Hitachi Ltd プログラムのパッチ方式
JPH11316684A (ja) * 1998-05-07 1999-11-16 Nec Eng Ltd ネットワークシステム及びそのシステムにおけるソフトウェア自動配布方法並びにその制御プログラムを記録した記録媒体
US6328814B1 (en) * 1999-03-26 2001-12-11 Applied Materials, Inc. Apparatus for cleaning and drying substrates
DE10084648T1 (de) * 1999-05-27 2002-05-16 Invensys Plc Foxboro Über Feldbus upgradebare Vorrichtung und Verfahren hierfür
US6751794B1 (en) * 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
JP2003058387A (ja) * 2001-08-16 2003-02-28 Minolta Co Ltd 画像処理装置、プログラム及び管理ユニット
US7636172B2 (en) * 2002-07-31 2009-12-22 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus and version check method using an API from an application
EP1398948B1 (en) * 2002-09-13 2013-11-06 Ricoh Company, Ltd. Image forming apparatus, methods used therein and a computer readable storage medium
JP2004126960A (ja) * 2002-10-03 2004-04-22 Mitsubishi Electric Corp リモートメンテナンスシステム
US7703091B1 (en) * 2002-12-31 2010-04-20 Emc Corporation Methods and apparatus for installing agents in a managed network
US7584467B2 (en) * 2003-03-17 2009-09-01 Microsoft Corporation Software updating system and method
CA2465151A1 (en) * 2003-04-16 2004-10-16 Novadigm, Inc. Method and system for patch management
JPWO2005001688A1 (ja) * 2003-06-27 2006-07-27 富士通株式会社 Javaアプレット更新装置、Javaアプレット実行処理装置、Javaアプレット更新プログラム、及びJavaアプレット実行処理プログラム
US20050125525A1 (en) * 2003-12-09 2005-06-09 International Business Machines Method, system, and storage medium for providing intelligent distribution of software and files
US7937697B2 (en) * 2005-05-19 2011-05-03 International Business Machines Corporation Method, system and computer program for distributing software patches
JP4236672B2 (ja) * 2006-04-05 2009-03-11 シャープ株式会社 画像処理装置
US20080022380A1 (en) * 2006-05-25 2008-01-24 Gemalto, Inc. Method of patching applications on small resource-constrained secure devices
US7577632B2 (en) * 2006-06-05 2009-08-18 Microsoft Corporation Updating estimated process runtime
JP2008146163A (ja) * 2006-12-06 2008-06-26 Hitachi Ltd パッチ再構成方法
JP4673284B2 (ja) * 2006-12-15 2011-04-20 キヤノン株式会社 サーバ装置
US7802083B2 (en) * 2006-12-20 2010-09-21 Intel Corporation Utilization based installation on a computing system
US8205190B2 (en) * 2007-01-31 2012-06-19 Hewlett-Packard Development Company, L.P. Data processing system and method
CA2579266A1 (en) * 2007-02-21 2008-08-21 Ibm Canada Limited - Ibm Canada Limitee System and method for scheduling software updates
JP5364243B2 (ja) * 2007-04-27 2013-12-11 サンデン株式会社 給湯装置
US20090031109A1 (en) * 2007-07-24 2009-01-29 Via Technologies Apparatus and method for fast microcode patch from memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01220031A (ja) 1988-02-29 1989-09-01 Nec Corp 保守方式
JP2003015894A (ja) 2001-06-28 2003-01-17 Nec Corp パッチ適用方式、パッチ適用方法およびパッチ用プログラム
JP2004127253A (ja) * 2002-07-31 2004-04-22 Ricoh Co Ltd 情報処理装置およびバージョンチェック方法
JP2004127281A (ja) * 2002-09-14 2004-04-22 Ricoh Co Ltd 画像形成装置および情報表示方法
JP2004206260A (ja) * 2002-12-24 2004-07-22 Aioi Insurance Co Ltd プログラム配信システム
JP2004206390A (ja) 2002-12-25 2004-07-22 Mitsubishi Electric Corp ソフトウェア管理装置及びソフトウェア管理サーバ
JP2007293514A (ja) * 2006-04-24 2007-11-08 Canon Inc バージョン管理および自動アップデート機能

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2336887A4

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013051142A1 (ja) * 2011-10-06 2013-04-11 富士通株式会社 更新制御装置、更新制御プログラム、および更新制御方法
GB2509635A (en) * 2011-10-06 2014-07-09 Fujitsu Ltd Update control apparatus, update control program, and update control method
JPWO2013051142A1 (ja) * 2011-10-06 2015-03-30 富士通株式会社 更新制御装置、更新制御プログラム、および更新制御方法
US9477742B2 (en) 2011-10-06 2016-10-25 Fujitsu Limited Update control device, update control program, and update control method
JPWO2016063363A1 (ja) * 2014-10-22 2017-08-03 富士機械製造株式会社 フィーダの管理装置および管理方法
JP2016197326A (ja) * 2015-04-03 2016-11-24 富士通株式会社 プログラム、更新制御方法、および更新制御装置
JP2018151741A (ja) * 2017-03-10 2018-09-27 Necプラットフォームズ株式会社 情報処理装置、プログラム更新方法およびプログラム更新用プログラム

Also Published As

Publication number Publication date
US20110161949A1 (en) 2011-06-30
JP5206792B2 (ja) 2013-06-12
EP2336887A1 (en) 2011-06-22
EP2336887A4 (en) 2012-02-01
JPWO2010029602A1 (ja) 2012-02-02

Similar Documents

Publication Publication Date Title
JP5206792B2 (ja) ソフトウェアパッチ適用方法、プログラム及び装置
JP5444368B2 (ja) アプリケーション復元ポイント
JP5721750B2 (ja) 構成ドリフトの効果的管理
CN102594849B (zh) 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置
US8918783B2 (en) Managing virtual computers simultaneously with static and dynamic dependencies
US8799890B2 (en) Generating a version identifier for a computing system based on software packages installed on the computing system
WO2017183565A1 (ja) ネットワークシステム、パッチファイル適用方法、及び記録媒体
US11662996B2 (en) System and method for downgrading applications
JP5444178B2 (ja) バックアップ・リストア処理装置とバックアップ・リストア処理方法およびプログラム
US10795688B2 (en) System and method for performing an image-based update
RU2646309C1 (ru) Способ резервного копирования
KR101913346B1 (ko) 클라우드 환경에서의 클라우드 서버 관리 방법 및 장치
JP2011170528A (ja) 分散型情報処理システム及び分散ストレージシステム
JP2007140777A (ja) 計算機システム、管理計算機及びデータリカバリ方法
CN109445800B (zh) 一种基于分布式系统的版本自动部署方法及系统
CN107783826B (zh) 一种虚拟机迁移方法、装置及系统
US8707307B2 (en) Creating jobs by replacing execution attributes within job definition when a job activation request is received with execution attributes based on predetermined conditions being satisfied
WO2016054886A1 (zh) 一种软件升级方法、装置和电子设备、存储介质
JP7326970B2 (ja) バックアップ処理装置、バックアップ処理システム、バックアップ処理方法、及び、バックアップ処理プログラム
JP2016157245A (ja) 情報処理装置、システム設定方法、及び、コンピュータ・プログラム
JP2007164642A (ja) 資源管理装置および資源管理方法
WO2022239060A1 (ja) システム検証装置、システム検証方法、及び、システム検証プログラム
TWI728625B (zh) 複雜資訊環境的管理系統與其運作方法
JP2017068668A (ja) データベースシステム、レプリケーション制御装置、レプリケーション方法、及びプログラム
JP6648567B2 (ja) データ更新制御装置、データ更新制御方法、及び、データ更新制御プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08808474

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010528543

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2008808474

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE