Apparatus for preparing application update version, method for preparing application update version, and program
By designing a program that can detect and record interruptions during the update process, the problem that the update process cannot be restored due to changes in network conditions or other interruptions is solved, and the interruptible and recoverable update tasks are achieved.
Patent Information
- Application Number
- JP2023183180
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-25
- Publication Date
- 2025-05-12
AI Technical Summary
In the prior art, when updating an application, if the network conditions of the information processing device change, the update process cannot be terminated normally, and the management device cannot resend update notifications, resulting in the information processing device being unable to obtain the update application.
A program is designed to automatically pause and record the current progress when network conditions change or other interruptions are detected during the preparation of the update application, and restart the update process when the conditions are restored and continue from the previous interrupt point.
It realizes that when an interrupt is encountered during the update process, it can automatically pause and record the progress. After the conditions are restored, restart the update process and continue from the interrupt point to ensure that the update task can be completed smoothly.
Smart Images

Figure 2025072819000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an updated application preparation device, an updated application preparation method, and a program. [Background technology]
[0002] An application program (also simply called an "application") installed in an information processing device may be upgraded to add functions. In addition, a configuration in which an installation file for installing an upgraded application in an information processing device is made available on a server connected to a network such as the Internet is becoming widespread. When such a configuration is adopted, the information processing device can obtain an updated version of the application by downloading an installation file from the server via the network and then unpacking the installation file. Then, the application can be upgraded by replacing the existing application with the updated version of the application. Patent Document 1 discloses that if a management device transmits an application update notification to an information processing device but the information processing device does not start obtaining the updated version of the application, the management device resends the update notification. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-174869 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the technology of Patent Document 1, even if the information processing device can start obtaining the updated version of the application, it is not always possible to normally complete the obtaining of the updated version of the application due to changes in the network conditions, etc. If the obtaining of the updated version of the application is started but does not normally end, the management device cannot resend the update notification. In a situation where the update notification is not resent, the information processing device cannot obtain the updated version of the application from the management device.
[0005] The present disclosure has been made in consideration of the above points, and aims to make it possible to resume preparation of an updated application from where it left off if the preparation of an updated application is interrupted. [Means for solving the problem]
[0006] One embodiment of the present disclosure is a program for causing a computer to function as an updated application preparation device that prepares an updated application to replace an application installed on the computer, the program causing a computer to function as an execution means that sequentially executes preparation of the updated application, an interruption control means that causes the execution means to interrupt preparation of the updated application if the interruption condition is satisfied when preparation of the updated application has progressed to a judgment stage at which an interruption condition is set, and a resume control means that causes the execution means to resume preparation of the updated application from the resume stage set for the judgment stage when a triggering event set for the judgment stage occurs. Effect of the Invention
[0007] According to the present disclosure, if preparation of an updated application is interrupted, preparation of the updated application can be resumed from where it left off. [Brief description of the drawings]
[0008] [Figure 1]FIG. 1 is a block diagram showing a hardware configuration of an information processing apparatus according to an embodiment of the present invention. [Diagram 2] FIG. 1 is a block diagram showing a software configuration of an information processing device according to an embodiment of the present invention. [Diagram 3] FIG. 1 is a schematic diagram showing a network configuration according to an embodiment of the present invention; [Figure 4] Table showing management device side information according to this embodiment [Diagram 5] FIG. 1 shows an example of an application window displayed by an application according to an embodiment of the present invention. [Figure 6] Table showing information on the information processing device side according to the present embodiment [Figure 7] (a) A download execution confirmation screen displayed by the application according to this embodiment; (b) An application termination confirmation screen displayed by the application according to this embodiment; [Figure 8] (a) A download retry confirmation screen displayed by the application according to this embodiment; (b) A no-update notification screen displayed by the application according to this embodiment [Figure 9] A progress state transition diagram of the update application preparation process according to the present embodiment. [Figure 10] 1A and 1B are diagrams showing a progress status / trigger event / restart step correspondence table according to this embodiment; [Figure 11] 1 is a flowchart showing a process for preparing an updated application according to an embodiment of the present invention. [Figure 12] 1 is a flowchart illustrating a process for restarting the preparation of an updated application according to an embodiment of the present invention. [Figure 13] 1 is a flowchart illustrating another process for restarting the preparation of an application update according to the present embodiment. [Figure 14] 1 is a flowchart illustrating yet another process for restarting the preparation of an updated application according to the present embodiment. [Figure 15] FIG. 13 is a conceptual diagram for explaining a process for restarting the preparation process for an updated application according to the present embodiment; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, the embodiments will be described in detail with reference to the attached drawings. Note that the following embodiments do not limit the disclosure according to the claims. Although the embodiments describe a plurality of features, not all of these features are essential to the disclosure, and the plurality of features may be combined in any manner. Furthermore, in the attached drawings, the same reference numbers are given to the same or similar configurations, and duplicated descriptions may be omitted.
[0010] Fig. 1 is a block diagram showing a hardware configuration of an information processing device 100 according to this embodiment. Referring to Fig. 1, the information processing device 100 is, for example, a personal computer (PC), and includes an interface (I / F) unit 17, a processor 11 such as a CPU, a ROM 12, a RAM 13, a display unit 14, an input unit 15, and an external storage device 16. The information processing device 100 may be a desktop PC, or may be a portable terminal such as a notebook PC, a tablet PC, or a smartphone.
[0011] The processor 11 is a central processing unit that controls each part of the information processing device 100, and reads and executes computer programs such as an operating system (also referred to as "OS") (not shown) and applications. The ROM 12 may store the OS. However, the OS may be stored in the external storage device 16. The RAM 13 is a random access memory, and for example, computer programs such as the OS executed by the processor 11 are temporarily stored here before being read into the processor 11. The RAM 13 may also be used as a work area when the processor 11 executes a computer program. The external storage device 16 stores various control programs such as the application 101 (see FIG. 2). The input unit 15 includes, for example, input devices such as a keyboard and a mouse for a user to operate the information processing device 100. The display unit 14 includes, for example, a display device that displays information input from the input unit 15, displays a user interface screen of the OS or application, displays messages, etc. The interface unit 17 includes, for example, a communication module that transmits and receives data via the network 30.
[0012] A management device 300 (to be described later) also has a similar hardware configuration to that of the information processing device 100.
[0013] Fig. 2 is a block diagram showing a software configuration of the information processing device 100 according to this embodiment. Referring to Fig. 2, an application 101 is stored in the external storage device 16 of the information processing device 100. The application 101 is read from the external storage device 16 and executed by the processor 11. The application 101 includes, as functional units, a display unit 102, a storage unit 103, an execution control unit 104, a resume control unit 105, an application management unit 106, and a NW communication control unit 107. The execution control unit 104 includes an execution unit 104a and an interruption control unit 104b.
[0014] Each functional unit executes a process for realizing the function by the processor 11 reading and executing a part of the application corresponding to that functional unit.
[0015] The display unit 102 displays the screens shown in FIGS.
[0016] The storage unit 103 is provided in the RAM 13 while the application 101 is being executed, and is used to store the information processing device side information 600 and the like.
[0017] The execution control unit 104 executes a process for preparing an updated application (also called an "updated application preparation process").
[0018] The execution unit 104a executes processes in the update application preparation process other than the processes executed by the interruption control unit 104b. The interruption control unit 104b executes a process for interrupting the update application preparation process.
[0019] The restart control unit 105 executes a process for restarting the interrupted update application preparation process.
[0020] The application management unit 106 is always in operation while the application 101 is being executed, and calls other functional units when processing by those functional units is required. The called functional units execute programs for implementing the functions, and when returning processing to the application management unit 106, they return the execution results to the application management unit 106.
[0021] The NW communication control unit 107 performs control for the interface unit 17 to communicate with a management device 300 (see FIG. 3) and a file server, which will be described later, via the network 30.
[0022] When the application management unit 106 determines that processing for network connection is necessary based on, for example, an input by a user, it calls the NW communication control unit 107. The called NW communication control unit 107 executes processing for network connection, returns the execution result to the application management unit 106, and ends the processing.
[0023] Fig. 3 is a schematic diagram showing a network configuration according to this embodiment. Referring to Fig. 3, an information processing device 100 is connected to a management device 300 via a network 30. Here, the network 30 includes, for example, a LAN 40 and the Internet 50, but is not limited to these. The information processing device 100 is also connected to a file server, which will be described later, via the network 30.
[0024] Fig. 4 is a table showing management device side information 400 according to this embodiment. The management device 300 holds information related to the application 101 as shown in Fig. 4 in the external storage device 16 as management device side information 400. The execution control unit 104 acquires the management device side information 400 when the application 101 executes an updated application preparation process.
[0025] Referring to FIG. 4, the management device side information 400 is information about the application 101, and includes an application version 401, a supported OS 402, and a download link 403. The application version 401 is a version of the application 101 that has been published. The supported OS 402 is a version of the OS supported by each version of the application 101. The download link 403 is a URL of a download source (e.g., a specific storage area of a file server) of each version of the application. The application 101 can download an installation file (also simply called an "installation file") corresponding to an updated version of the application by accessing the download source indicated by the URL. In the example of the management device side information 400 in FIG. 4, the latest application version 401 is "v1.5.0", and the corresponding supported OS 402 and download link 403 are "12, 13" and "https: / / xxxxx", respectively.
[0026] FIG. 5 is a diagram showing an example of an application window 500 displayed by the application 101 according to this embodiment. The application window 500 in FIG. 5 is displayed by a printing device management application, which is an example of the application 101. During execution of the application 101, the application window 500 is displayed on the display unit 14 of the information processing device 100. When the user selects any item arranged in a menu 505, the application 101 executes processing corresponding to the item. Furthermore, when the user presses an update button (also simply called an "update button") 508 of the application, the application 101 executes an updated application preparation process. The updated application preparation process is mainly executed by the execution control unit 104. The updated application preparation process will be described in detail later. The currently installed application 101 is the application before the update. When the application 101 finishes the updated application preparation process, for example, the application 101 is terminated by a user operation. Thereafter, it becomes possible to replace the application 101 with the updated application prepared by the updated application preparation process.
[0027] 6 is a table showing information processing device side information 600 according to this embodiment. The information processing device side information 600 is stored in a storage unit 103 provided in the application 101. The storage unit 103 is provided in the external storage device 16 together with the application 101 when the application 101 is not being executed, but is provided in the RAM 13 together with the application 101 when the application 101 is being executed. The execution control unit 104 accesses the information processing device side information 600 when the application 101 executes an update application preparation process.
[0028] 6, the information processing device side information 600 is information related to the application 101, and includes an application version 601, an OS version 605, and a progress status (also simply referred to as a "progress status") 606 of the update version application preparation process.
[0029] The application version 601 is the version of the application 101 currently installed in the information processing device 100. The application version 601 is set in the information processing device side information 600 at any timing after the application 101 is installed. The any timing may be immediately after installation or at the start of execution, for example. When setting, the application version set in another area of the application 101 is acquired. The OS version 605 is the version of the OS currently installed in the information processing device 100, and is acquired from the OS by the execution control unit 104 and set in the information processing device side information 600. The progress state 606 indicates the progress of the update application preparation process. When the application 101 is executing the update application preparation process, one of the four progress states 606 shown in FIG. 9 is set in the progress state 606. The four progress states 606 are "preparation complete" 900, "network connection" 901, "download execution" 902, and "app end" 903, as shown in FIG. 9. Each progress status 606 is associated with each determination stage of the updated application preparation process shown in Fig. 11 so that the relationship between the "determination stage" and the "progress status" is "1:1" or "n:1" (generally "n:1"). Here, the determination stages are S1103, S1105, S1109, S1114, and S1119. In the launch process when launching the application 101, the resume control unit 105 initializes the progress status 606 to "preparation complete" 900. As will be described later, the progress status 606 is updated during the updated application preparation process.
[0030] The execution control unit 104 compares the latest application version (also referred to as the "latest version on the management device side") among the application versions 401 included in the management device side information 400 with the application version 601 included in the information processing device side information 600. If the former is newer than the latter, the execution control unit 104 downloads the installation file from the storage area on the network 30 indicated by the download link 403 corresponding to the latest version on the management device side.
[0031] FIG. 7(a) shows a download execution confirmation screen 700 displayed by the application 101. The download execution confirmation screen 700 is for notifying the user that it is necessary to update the application 101 to the latest version, and for allowing the user to select whether or not to download the installation file. The download execution confirmation screen 700 includes an update notification message 701, a download inquiry message 702, a download cancel button 703, and a download execution button 704. The update notification message 701 is for notifying the user that it is necessary to update the application 101 to the latest version. The download inquiry message 702 is for asking the user whether or not to download the updated version of the application for updating the application 101 to the latest version. The download cancel button 703 is for the user to press in order to cause the application 101 to cancel the download of the installation file. The download execution button 704 is for the user to press in order to cause the application 101 to execute the download of the installation file. In the updated version application preparation process, the execution control unit 104 performs the above-mentioned version comparison. Then, when it is determined that it is necessary to update the application 101 to the latest version, the execution control unit 104 displays a download execution confirmation screen 700. The details of this will be described later with reference to FIG.
[0032] FIG. 7B shows an application termination confirmation screen 710 displayed by the application according to this embodiment. The application termination confirmation screen 710 allows the user to select whether or not to terminate the application 101 and update the application 101 to the latest version. The application termination confirmation screen 710 includes an update instruction message 711, an end inquiry message 712, a termination cancel button 713, and an end button 714. The update instruction message 711 indicates to the user that it is necessary to terminate the application 101 and update the application 101 to the latest version. The end inquiry message 712 inquires of the user whether or not to terminate the application 101 and update the application 101 to the latest version. The end cancel button 713 is pressed by the user to cause the application 101 to cancel the termination. The end button 714 is pressed by the user to terminate the application 101. In the updated application preparation process, the execution control unit 104 displays the application termination confirmation screen 710 if the download of the installation file is normally completed.
[0033] FIG. 8(a) shows a download retry confirmation screen 800 displayed by the application 101. The download retry confirmation screen 800 is for notifying the user that the download of the installation file has failed, and for allowing the user to select whether or not to retry the download. The download retry confirmation screen 800 includes a download failure message 801, an end process button 802, and a retry process button 803. The download failure message 801 is for notifying the user that the download of the installation file has failed, and for asking the user whether or not to retry the download. The end process button 802 is pressed by the user to cause the application 101 to interrupt the update application preparation process. The retry process button 803 is pressed by the user to cause the application 101 to resume the update application preparation process from the download. In the update application preparation process, the execution control unit 104 displays the download retry confirmation screen 800 when the process for downloading has been executed but has not been normally terminated.
[0034] If the execution control unit 104 is unable to acquire the latest application version included in the application version 401 from the management device 300, the execution control unit 104 may display a screen similar to the download retry confirmation screen 800.
[0035] 8B shows an update-unnecessary notification screen 810 displayed by the application 101. The update-unnecessary notification screen 810 includes an update-unnecessary notification message 811. The update-unnecessary notification message 811 is for notifying the user that updating the application 101 is not necessary. As described above, in the update application preparation process, the execution control unit 104 compares the latest version on the management device with the application version 601. If the comparison results in a determination that the application 101 does not need to be updated to the latest version, the update-unnecessary notification screen 810 is displayed and the update application preparation process ends.
[0036] 9 shows a progress state transition diagram of the update application preparation process according to this embodiment. As described above, when the application 101 is being executed, the progress state 606 is stored in the RAM 13 as a part of the information processing device side information 600. Referring to FIG. 9, there are a total of four possible progress states 606: "preparation complete" 900, "network connected" 901, "download in progress" 902, and "app terminated" 903.
[0037] "Prepared" 900 is a state in which the updated application preparation process is complete, and is positioned as the initial progress state.
[0038] When the execution control unit 104 starts the process of preparing the updated application, the progress state 606 transitions from “prepared” 900 to “connected to network” 901 , as indicated by arrow 904 .
[0039] After the execution control unit 104 acquires the management device side information 400, the progress state 606 transitions from "Network Connection" 901 as follows, depending on the user's selection. That is, when the user presses the download cancel button 703 on the download execution confirmation screen 700, the progress state 606 transitions from "Network Connection" 901 to "Preparation Complete" 900, as shown by arrow 905. On the other hand, when the user presses the download execution button 704 on the download execution confirmation screen 700, the progress state 606 transitions from "Network Connection" 901 to "Download Execution" 902, as shown by arrow 906.
[0040] When the execution control unit 104 finishes downloading the latest version of the application 101 , the progress state 606 transitions from “download execution” 902 to “application end” 903 , as indicated by an arrow 907 .
[0041] When the application 101 is terminated and then started again, the progress state 606 transitions from “Application terminated” 903 to “Preparation completed” 900 as indicated by arrow 908 .
[0042] 10(a) shows a progress status / trigger event / resume step correspondence table (also simply referred to as a "correspondence table") 1000. The correspondence table 1000 is stored in the memory unit 103 provided in the application 101, similar to the information processing device side information 600. The memory unit 103 is provided in the external storage device 16 together with the application 101 when the application 101 is not being executed, but is provided in the RAM 13 together with the application 101 when the application 101 is being executed. The correspondence table 1000 is referred to by the resume control unit 105 when the resume control unit 105 causes the execution control unit 104 to resume the interrupted update application preparation process.
[0043] The correspondence table 1000 has fields for a progress state 1001 , a trigger event 1002 , and a resume step 1003 .
[0044] The progress state 1001 is the progress state when the update application preparation process is interrupted. The progress state 1001 is provided so that the resume control unit 105 can compare it with the progress state 606. As shown in FIG. 10(a), in the first record of the correspondence table 1000, "Network connection" is stored as the progress state 1001. In the second record, "Download execution" is stored as the progress state 1001. In the third record, "Application termination" is stored as the progress state 1001.
[0045] The trigger event 1002 indicates what trigger event is used to resume the updated application preparation process when the updated application preparation process is interrupted after proceeding to the progress state 1001 in the same record. The first record indicates that if the progress state when the updated application preparation process is interrupted is "when connected to network", the update application preparation process is resumed when the trigger event "when connected to network" occurs. The first record of the correspondence table 1000 indicates that if the progress state is "when connected to network", the update application preparation process is resumed when the trigger event "when connected to network" occurs. The second record indicates that if the progress state is "download execution", the update application preparation process is resumed when the trigger event "when connected to network & after execution of specific process" occurs. The third record indicates that if the progress state is "application termination", the update application preparation process is resumed when the trigger event "after termination of application" occurs.
[0046] The restart step 1003 indicates from which step the updated application preparation process should be restarted when restarting the updated application preparation process. The first record of the correspondence table 1000 indicates that if the progress state is "at network connection" and a trigger event "at network connection" occurs, the updated application preparation process should be restarted from S1101. The second record indicates that if the progress state is "download execution" and a trigger event "at network connection and after specific processing execution" occurs, the updated application preparation process should be restarted from S1111. The third record indicates that if the progress state is "application end" and a trigger event "before application end" occurs, the updated application preparation process should be restarted from S1111.
[0047] The correspondence table 1000 shown in Fig. 10(a) may be expanded to the correspondence table 1000 shown in Fig. 10(b) so as to be compatible with the user pressing the update button 508. This will be described later.
[0048] Also, the field for the restart step 1003 may not be included in the table 1000, and the restart step may be written in the program that performs the restart process.
[0049] The data stored in the correspondence table 1000 is determined in advance when the application is provided, but it is also assumed that it will be updated while the application 101 is being used. For example, if it is not desired to perform the updated application preparation process during the period when a part for realizing a predetermined function of the application 101 is being executed, all the data in the correspondence table 1000 may be invalidated during that period.
[0050] If a state where the application 101 does not accept operations by the user continues for a certain period of time, the application 101 may detect this state independently and add content to the correspondence table 1000 so that the application 101 executes an updated application preparation process. In response to this, for example, a record may be added to the correspondence table 1000 in which "preparation complete", "application not used for a certain period of time", and "S1100" are stored in the progress state 1001, the trigger event 1002, and the resume step 1003. Here, the state of "application not used for a certain period of time" occurs, for example, when a state where the application 101 does not accept operations by the user continues for a certain period of time. This state also occurs when the application 101 passes processing to another application that works with the application 101. This state also occurs when the application 101 displays a page on the Web on a Web browser.
[0051] 10(a) and (b) may be added and any progress state may be combined with the added trigger event according to the state of the application 101. Examples of the added trigger event 1002 include "when the application process is executed," "when the network to which the application connects changes," and "the period during which the application is processed in the background."
[0052] In the second record of the correspondence table 1000, "when connected to the network and after a specific process is executed" is set as the trigger event 1002. Here, "after a specific process is executed" may be set as, for example, "after a process for transferring a process to another application is executed" if the application 101 is something that works with another application. Also, if the application 101 is something that works with a web browser, "after a process for browsing a page on the web is started" may be set. This makes it possible to download the installation file while another application is being executed or while a page on the web is being browsed. When the period ends, the update application preparation process continues from S1116 or S1113.
[0053] The data stored in the correspondence table 1000 is determined when the application 101 is provided, but it is also assumed that the data will be updated while the application 101 is being used. For example, if it is not desired to execute an updated application preparation process at a timing when the process can be executed while the functions of the application 101 are being executed, it may be possible to delete all the data stored in the correspondence table 1000.
[0054] The method described below with reference to Figures 11 to 14 is realized by processor 11 reading and executing an update application preparation program (also simply referred to as a "program"). By processor 11 reading and executing the program, the functions of each functional unit of application 101 shown in Figure 2 are realized. For example, what execution control unit 104 does is realized by processor 11 reading and executing a part of the program related to execution control unit 104. Similarly, what resume control unit 105 does is realized by processor 11 reading and executing a part of the program related to resume control unit 105.
[0055] 11 is a flowchart of an updated application preparation process executed mainly by the execution control unit 104. This updated application preparation process allows the application 101 to be updated to the latest version. Below, the execution control unit 104 will be described as the subject of each process, but in reality, the processes by the execution control unit 104 are realized by the processor 11 reading and sequentially executing a program for making the computer function as the execution control unit 104. Here, sequential execution refers to sequentially executing each step shown in FIG. 11, but also includes loop processing due to connections between steps, and also includes branching of the steps to be sequentially executed according to branch conditions.
[0056] In S1100, the application management unit 106 detects via the OS that the user has pressed the update button 508, calls the execution control unit 104, and advances the process to S1101. The execution control unit 104 executes each step from S1101 onwards shown in FIG.
[0057] In S1101, the execution control unit 104 acquires the application version 401a from the management device 300 via the network 30, the NW communication control unit 107, and the application management unit 106, and proceeds to S1102. Here, the application version 401a is the latest version of an application for which a corresponding installation file can be downloaded. In other words, the latest application version 401a is the latest one of the application versions 401 included in the management device side information 400.
[0058] The file preparation execution processor 104 may acquire all application versions 401 included in the management device side information 400, and find the latest application version 401a from among them.
[0059] The file preparation execution processor 104 may also acquire the OS version 402, and exclude application versions 401 in records in which the OS version 402 does not include the OS version 605 in the management device side information 400. For example, if the OS version 605 is 11, application versions 401 in records in which the supported OS 402 does not include 11 may be excluded.
[0060] In S1102, the execution control unit 104 acquires the application version 601 included in the information processing device side information 600 of the application 101 from the storage unit 103, and advances the process to S1103.
[0061] In S1103, the execution control unit 104 determines whether or not it was possible to acquire the latest application version 401a in S1101 and the application version 601 in S1102. If it is not possible to acquire at least one of the latest application version 401a and the application version 601, the execution control unit 104 determines NO in S1103 and advances the process to S1104. In other words, if at least one of S1101 and S1103 ends in an error, the execution control unit 104 determines NO in S1103 and advances the process to S1104. On the other hand, if it is possible to acquire both the application version 401a and the application version 601, the execution control unit 104 determines YES in S1103 and advances the process to S1105. In other words, if both S1101 and S1103 have ended normally, the execution control unit 104 determines YES in S1103 and advances the process to S1105.
[0062] In S1104, the execution control unit 104 stores the current progress state, "Network connection" 901, as the progress state 606 of the updated application in the storage unit 103, and then interrupts the updated application preparation process.
[0063] In S1105, the execution control unit 104 compares the latest application version 401a and the application version 601, and thereby determines whether or not it is necessary to update the application 101. If the application version 401a is not newer than the application version 601 (i.e., the application 101 does not need to be updated), the execution control unit 104 determines NO in S1105 and proceeds to S1106. On the other hand, if the application version 401a is newer than the application version 601 (i.e., the application 101 needs to be updated), the execution control unit 104 determines YES in S1105 and proceeds to S1108.
[0064] In S1106, the execution control unit 104 instructs the application management unit 106 to display an update-unnecessary notification screen 810 that notifies the user that the application 101 does not need to be updated, and then proceeds to S1107. The application management unit 106, upon receiving the instruction, displays the update-unnecessary notification screen 810 on the display unit 14 via the display unit 102.
[0065] In S1107, the execution control unit 104 stores the current progress status, "preparation completed" 900, as the progress status 606 of the updated application in the storage unit 103, and interrupts the updated application preparation process.
[0066] In S1108, the execution control unit 104 instructs the application management unit 106 to display a download execution confirmation screen 700 that notifies the user that the application needs to be updated, and then proceeds to S1109. The application management unit 106, having received the instruction, displays the download execution confirmation screen 700 on the display unit 14 via the display unit 102, and accepts pressing of the download cancel button 703 or the download execution button 704 by the user.
[0067] In S1109, the execution control unit 104 obtains information regarding which of the download cancel button 703 and the download execution button 704 has been pressed by the user from the application management unit 106, and performs processing. If the user has pressed the download cancel button 703 to input non-permission, the execution control unit 104 determines NO in S1109 and advances the processing to S1110. On the other hand, if the user has pressed the download execution button 704 to input consent, the execution control unit 104 determines YES in S1109 and advances the processing to S1111.
[0068] In S1110, the execution control unit 104 stores the current progress state, "prepared" 902, as the progress state 606 of the updated application in the storage unit 103, and then interrupts the updated application preparation process.
[0069] In S1111, the execution control unit 104 downloads the installation file, and then the process proceeds to S1112. The updated application here is a file for updating the application 101 currently installed in the information processing device 100 with the application of the latest application version 401a.
[0070] In S1112, the execution control unit 104 determines whether or not the download of the installation file corresponding to the updated application of the latest application version 401a in S1111 has been completed normally. If the download has not been completed normally (i.e., if an error occurred), the execution control unit 104 determines NO in S1112 and proceeds to S1113. On the other hand, if the download has been completed normally, the execution control unit 104 determines YES in S1112 and proceeds to S1116.
[0071] In S1113, the execution control unit 104 instructs the application 101 to display a download retry confirmation screen 800 notifying the user that the download has failed, and then proceeds to S1114. The application management unit 106, having received the instruction, displays the download retry confirmation screen 800 on the display unit 14 via the display unit 102, and accepts pressing of the process end button 802 or process retry button 803 by the user.
[0072] In S1114, the execution control unit 104 acquires information regarding which of the end process button 802 and the retry process button 803 has been pressed by the user from the application management unit 106, and performs processing. If the user has pressed the end process button 802 to input non-permission, the execution control unit 104 judges NO in S1114 and advances the processing to S1115. On the other hand, if the user has pressed the retry process button 803 to input consent, the execution control unit 104 judges YES in S1114, returns the processing to S1111, and attempts to download again.
[0073] In S1115, the execution control unit 104 stores the current progress status, "download execution" 902, as the progress status 606 of the updated application in the storage unit 103, and then interrupts the updated application preparation process.
[0074] As described above, if the download has been normally completed, the execution control unit 104 determines YES in S1112 and proceeds to S1116. In S1116, the execution control unit 104 instructs the application 101 to display an application termination confirmation screen 710 for prompting the user to terminate the application 101 and update to the latest version, and then proceeds to S1117. The application management unit 106 that has received the instruction displays the application termination confirmation screen 710 on the display unit 14 via the display unit 102, and accepts pressing of the termination cancel button 713 or the end button 714 by the user.
[0075] In S1117, the execution control unit 104 obtains information regarding which of the end cancel button 713 and the end button 714 has been pressed by the user from the application management unit 106, and performs processing. If the user presses the end cancel button 713 to not end the application (i.e., to input non-permission), the execution control unit 104 judges NO in S1117 and advances processing to S1118. On the other hand, if the user presses the end button 714 to end the application (i.e., to input consent), the execution control unit 104 judges YES in S1117 and advances processing to S1119.
[0076] In S1118, the execution control unit 104 stores the current progress state, "Application Finished" 903, as the progress state 606 of the updated application in the storage unit 103, and then interrupts the updated application preparation process.
[0077] In S1119, the execution control unit 104 executes the following process. First, the execution control unit 104 searches for a folder in which the installation file downloaded in S1111 is saved, and sets the current folder to that folder. Next, the execution control unit 104 unpacks the installation file downloaded in S1111, and stores the updated application, which is the unpacked file, in the current folder. When the execution control unit 104 ends the process in S1119, the process proceeds to S1120. The installation file here is, for example, a dmg file when the OS is macOS (registered trademark), but is not limited to this.
[0078] In S1120, the execution control unit 104 ends the updated application preparation process, and then ends the application 101 itself. Furthermore, the execution control unit 104 displays a screen for dragging and dropping the updated application, which is the file after extraction in S1119, onto the application path.
[0079] The user then performs an operation to replace the currently installed application 101 with the updated application. That is, the user drags and drops the updated application, which is the file extracted in S1119, onto the application path. As a result, the currently installed application 101 is replaced with the updated application, which is the file extracted in S1119.
[0080] If the answer is NO at S1103, the updated application preparation process is interrupted at S1104. If the answer is NO at S1105, the updated application preparation process is interrupted at S1107. If the answer is NO at S1109, the updated application preparation process is interrupted at S1110. If the answer is NO at S1114, the updated application preparation process is interrupted at S1115. If the answer is NO at S1117, the updated application preparation process is interrupted at S1118. Therefore, the conditions for NO at S1103, NO at S1105, NO at S1109, NO at S1114, and NO at S1117 can be said to be interruption conditions.
[0081] Fig. 12 is a flow chart showing a restart process for restarting the update application preparation process of an application according to this embodiment. With reference to Fig. 12, the restart process for restarting the update application preparation process from S1101 after the update application preparation process is interrupted at S1104 and after confirming that the network 30 is in a connected state will be described. This restart process is performed by each unit included in the application 101 shown in Fig. 2 operating in cooperation with each other. The operation of each unit is realized by the processor 11 reading and executing a program for each unit to fulfill its function. The units referred to here include the execution control unit 104, the restart control unit 105, the application management unit 106, and the NW communication control unit 107.
[0082] The restart process shown in FIG. 12 is, for example, periodically started by the application management unit 106 during the period in which the updated application preparation process is suspended in S1104, but is not limited to this.
[0083] In S1200, the application management unit 106 inquires of the NW communication control unit 107 as to whether or not network communication has been established, and when a response is received from the NW communication control unit 107, sets a trigger event having a value according to the content of the response. That is, when the application management unit 106 receives a response from the NW communication control unit 107 indicating that a connection to the network 30 has been established, the application management unit 106 sets the value of the trigger event to "when connected to the network". On the other hand, when the application management unit 106 receives a response from the NW communication control unit 107 indicating that a connection to the network 30 has not been established, the application management unit 106 sets the value of the trigger event to "when not connected to the network". In S1200, the application management unit 106 further starts the resume control unit 105 while passing the trigger event having a value set to "when connected to the network" or "when not connected to the network".
[0084] In S1201, the restart control unit 105 acquires the progress status 606 stored in the storage unit 103, and the process proceeds to S1202.
[0085] In S 1202 , the resume control unit 105 checks whether the progress state 606 acquired in S 1201 matches the progress state 1001 of any record in the correspondence table 1000 .
[0086] If the progress state 606 acquired in S1201 matches the progress state 1001 of any record in the correspondence table 1000, the resume control unit 105 judges YES in S1202 and proceeds to S1203. On the other hand, if the progress state 606 acquired in S1201 does not match the progress state 1001 of any record in the correspondence table 1000, the resume control unit 105 judges NO in S1202 and ends the process.
[0087] In S1203, the resume control unit 105 checks whether the trigger event received from the application management unit 106 in S1200 matches the trigger event in the record searched for in S1202 in the correspondence table 1000. In other words, the resume control unit 105 checks whether the trigger event received from the application management unit 106 in S1200 matches the trigger event in the record having the progress state acquired in S1201 in the correspondence table 1000.
[0088] When the update application preparation process is interrupted, a record having the same progress state as the current progress state may be searched in advance from the correspondence table 1000.
[0089] If the triggering event received from the application management unit 106 in S1200 matches the triggering event in the record found in S1202 of the correspondence table 1000, the resume control unit 105 makes a YES determination in S1203, and then proceeds to the process in S1204.
[0090] If the trigger event received from the application management part 106 in S1200 does not match the trigger event in the record found in S1202 of the correspondence table 1000, the resume control part 105 makes a NO determination in S1203 and then ends the process.
[0091] If the resume control unit 105 receives a trigger event having a value of "when network connected" from the application management unit 106 while the update application preparation process is suspended in S1104, the determination result in S1203 is YES. On the other hand, if the resume control unit 105 receives a trigger event having a value of "when network is not connected" from the application management unit 106 while the update application preparation process is suspended in S1104, the determination result in S1203 is NO.
[0092] In S1204, the resume control unit 105 calls the execution control unit 104, resumes the update application preparation process from the step associated with the progress status 606 acquired from the storage unit 103 in S1201, and then ends the resume process. Specifically, the progress status 606 acquired by the resume control unit 105 from the storage unit 103 in S1201 is "network connection", and the step associated with "network connection" is S1101. The resume control unit 105 may acquire S1101 corresponding to "network connection" from the correspondence table 1000, or may write S1101 in the execution program of S1204.
[0093] During the period in which the update application preparation process is suspended in S1104, the application management unit 106 may periodically inquire of the NW communication control unit 107 whether communication has been established. Then, when the application management unit 106 receives a positive response from the NW communication control unit 107, the application management unit 106 may start the process shown in FIG.
[0094] When the NW communication control unit 107 receives an inquiry from the application management unit 106 as to whether or not network communication has been established, if network communication has not been established, the NW communication control unit 107 may execute processing for establishing network communication. Then, if network communication has been established, the NW communication control unit 107 may return a response to the application management unit 106 indicating that a connection to the network 30 has been established.
[0095] There are cases where the updated application preparation process is interrupted in S1104 because network communication is not established. Even in such a case, if network communication is subsequently established, the updated application preparation process can be resumed from S1101 by the resume process of Fig. 12. Therefore, the user does not need to perform any operation to resume the updated application preparation process.
[0096] Fig. 13 is a flowchart showing another restart process for restarting the updated application preparation process of an application according to this embodiment. With reference to Fig. 13, the restart process for restarting the updated application preparation process from S1116 when the termination process of the application 101 is detected after the updated application preparation process is interrupted at S1118 will be described. This restart process is basically similar to the restart process described with reference to Fig. 12, and the description of the similar parts will not be repeated.
[0097] For example, when the application management unit 106 receives an operation by a user to terminate the application 101, the application management unit 106 causes the resume control unit 105 to execute the resume process starting from S1300 shown in FIG. 13 as a process included in the termination process.
[0098] In S1300, the application management unit 106 sets the value of the trigger event to "before application is terminated." In S1300, the application management unit 106 further starts the resume control unit 105 while passing the trigger event whose value is set to "before application is terminated."
[0099] The processes of S1301, S1302, and S1303 are similar to the processes of S1201, S1202, and S1203, and therefore will not be described again.
[0100] If the resume control unit 105 receives a trigger event having a value of "before application is terminated" from the application management unit 106 while the updated application preparation process is suspended in S1118, the determination result in S1303 becomes YES.
[0101] In S1304, the resume control unit 105 calls the execution control unit 104, and resumes the updated application preparation process from the step associated with the progress status 606 acquired from the storage unit 103 in S1301, and then ends the resume process. Specifically, the progress status 606 acquired by the resume control unit 105 from the storage unit 103 in S1301 is "application end", and the step associated with "application end" is S1116. The resume control unit 105 may acquire S1116 corresponding to "application end" from the correspondence table 1000, or may write S1116 in the execution program in S1304. Note that in S1304, the resume control unit 105 may resume the updated application preparation process from S1119 instead of S1116.
[0102] Even if the updated application preparation process is interrupted in S1118 by the user's selection, the user may subsequently perform an operation to terminate the application. In such a case, the operation can be used as a trigger to resume the updated application preparation process from S1116 by the resume process of Fig. 13. Therefore, the user does not need to perform an operation to resume the updated application preparation process.
[0103] FIG. 14 is a flowchart showing yet another restart process for restarting the updated application preparation process according to this embodiment. With reference to FIG. 14, the restart process for restarting the updated application preparation process when the user's pressing of the update button 508 is detected after the updated application preparation process is interrupted will be described. Here, the updated application preparation process is interrupted at S1104, S1107, S1110, S1115, or S1118, but the step at which restart is started differs depending on the interrupted step. Specifically, if the interruption step is S1104, the step at which restart is started is S1101. If the interruption step is S1107, the step at which restart is started is END. That is, the updated application preparation process is terminated. If the interruption step is S1110, the step at which restart is started is END. That is, the updated application preparation process is terminated. If the interruption step is S1115, the step at which restart is started is S1111. If the step of interruption is S1118, the step of initiating restart is S1116.
[0104] 14, in S1400, the application management unit 106 detects that the update button 508 has been pressed by the user, and starts up the resume control unit 105.
[0105] In S1401, the restart control unit 105 acquires the progress status 606 stored in the storage unit 103, and the process proceeds to S1402.
[0106] In S1402, the restart control unit 105 checks whether the progress state 606 acquired in S1401 is "preparation complete".
[0107] If the progress status 606 acquired in S1401 is "preparation complete", the restart control unit 105 determines YES in S1402 and advances the process to S1403.
[0108] In S1403, the restart control unit 105 ends the updated application preparation process, and also ends the restart process.
[0109] If the progress state 606 acquired in S1401 is not "preparation complete", the restart control unit 105 makes a NO determination in S1402 and advances the process to S1404.
[0110] In S1404, the restart control unit 105 checks whether the progress state 606 is "network connected".
[0111] If the progress state 606 is "Network connected", the resume control unit 105 determines YES in S1404 and advances the process to S1405.
[0112] In S1405, the restart control unit 105 starts the file preparation control unit 104, restarts the updated application preparation process from S1101, and ends the restart process.
[0113] If the progress state 606 is not "Network connected", the restart control unit 105 makes a NO determination in S1404 and advances the process to S1406.
[0114] In S1406, the restart control unit 105 checks whether the progress status 606 is "download in progress".
[0115] If the progress status 606 is "download in progress", the resume control unit 105 determines YES in S1406 and advances the process to S1407.
[0116] In S1407, the restart control unit 105 starts the file preparation control unit 104, restarts the updated application preparation process from S1111, and ends the restart process.
[0117] If the progress status 606 is not "download in progress", the resume control unit 105 makes a NO determination in S1406 and advances the process to S1408.
[0118] In S1408, the restart control unit 105 activates the file preparation control unit 104, and restarts the updated application preparation process from S1116, and then ends the restart process.
[0119] The resume control unit 105 may obtain the first step designated when the file preparation control unit 104 resumes the update application preparation process from the correspondence table 1000 shown in FIG. 10B. For example, when the progress state 606 is "Network connection", the file preparation control unit 104 obtains S1101 as the resume step from the fourth record. Here, the fourth record stores "Network connection", "When the update button is pressed", and S1101 as the progress state 1001, the trigger event 1002, and the resume step 1003, respectively. Also, when the progress state 606 is "Download execution", the file preparation control unit 104 obtains S1111 as the resume step from the fifth record. Here, the fifth record stores "Download execution", "When the update button is pressed", and S1111 as the progress state 1001, the trigger event 1002, and the resume step 1003, respectively. Furthermore, if the progress status 606 is "application ended", the file preparation control unit 104 obtains S1116 as the resume step from the sixth record. Here, in the sixth record, "application execution", "when the update button is pressed", and S1116 are stored as the progress status 1001, the trigger event 1002, and the resume step 1003, respectively. Furthermore, if the progress status 606 is "preparation complete", the file preparation control unit 104 obtains NULL as the resume step from the seventh record. Here, in the sixth record, "preparation complete", "when the update button is pressed", and NULL are stored as the progress status 1001, the trigger event 1002, and the resume step 1003, respectively.
[0120] The initial step designated when causing the file preparation control unit 104 to resume the updated application preparation process may be written in the execution program of S1403, S1405, S1407, and S1408.
[0121] By the resume process shown in FIG. 14, when the update application preparation process is interrupted at the interruption step, if the user presses the update button 508, the update application preparation process is resumed from the resume step corresponding to the interruption step. Therefore, it is possible to avoid duplicate execution of a part of the update application preparation process. For example, if the update application preparation process is interrupted at S1115, it is possible to avoid duplicate execution of the process of acquiring and comparing the application version. Also, for example, if the update application preparation process is interrupted at S1115, it is possible to avoid duplicate execution of the process of acquiring and comparing the application version and the process of downloading the installation file. Furthermore, if the update application preparation process is interrupted at S1118, it is possible to avoid duplicate execution of the process of acquiring and comparing the application version and the process of downloading the installation file. If the update application preparation process is interrupted at S1118, it is possible to avoid duplicate execution of the process of inquiring the user whether to terminate the application 101.
[0122] FIG. 15(a) is a conceptual diagram for explaining the restart process for restarting the updated application preparation process shown in FIG. 12. In S1203, the restart control unit 105 checks whether the trigger event acquired from the application management unit 106 in S1200 matches the trigger event stored in the first record of the correspondence table 1000. Here, the trigger event acquired by the restart control unit 105 from the application management unit 106 in S1200 is "when connected to network" or "when not connected to network". In addition, the trigger event stored in the first record of the correspondence table 1000 is "when connected to network". Furthermore, the restart control unit 105 searches the first record in S1202 as a record in which "network connection", which is the preparation state acquired in S1201, is stored. In S1204, the restart control unit 105 acquires S1101 associated with "network connection" as the first step when restarting the updated application preparation process.
[0123] FIG. 15B is a conceptual diagram for explaining the restart process for restarting the update application preparation process shown in FIG. 13. In S1303, the restart control unit 105 checks whether the trigger event acquired from the application management unit 106 in S1200 matches the trigger event stored in the third record of the correspondence table 1000. Here, the trigger event acquired by the restart control unit 105 from the application management unit 106 in S1300 is "before application is terminated". Also, the trigger event stored in the third record of the correspondence table 1000 is "before application is terminated". Furthermore, the restart control unit 105 searches the third record in S1302 as a record in which "application is terminated", which is the preparation state acquired in S1301, is stored. In S1304, the restart control unit 105 acquires S1116 associated with "application is terminated" as the first step when restarting the update application preparation process.
[0124] FIG. 11 also shows the relationship between the determination stages at which the update application preparation process according to this embodiment is interrupted when the corresponding interruption conditions are satisfied, and the restart stages at which the preparation process is restarted.
[0125] If the interruption condition is met in the determination step S1103, the update application preparation process is interrupted in S1104. In this case, "network connection" is set as the update state. If the triggering event is "network connection", the update application preparation process is resumed from S1101 in S1204. Also, if the triggering event is "update button pressed", the update application preparation process is resumed from S1101 in S1204.
[0126] If the interruption condition is met in the determination step S1105, the update application preparation process is interrupted in S1107. In this case, the update status is set to "preparation complete." If the trigger event is "pressing the update button," the update application preparation process ends in S1403.
[0127] If the interruption condition is satisfied in the determination step S1109, the updated application preparation process is interrupted in S1110. In this case, "preparation complete" is set as the update status. If "update button pressed" occurs as the triggering event, the updated application preparation process ends in S1403. Therefore, the determination steps S1105 and S1109 share the same update status. Also, two determination steps correspond to the update status "preparation complete." For the determination steps S1105 and S1109, "update button pressed" is set as the triggering event in common, and the step of completing the updated application preparation process is set as the resume step in common.
[0128] If the interruption condition is satisfied in the determination step S1114, the process of preparing the updated application is interrupted in S1115. In this case, the update status is set to "download execution." If the trigger event is "pressing the update button," the process of preparing the updated application is resumed from S1111 in S1407.
[0129] If the interruption condition is satisfied in S1117, which is the determination step, the process of preparing the updated application is interrupted in S1118. In this case, "application ended" is set as the update state. If "application before ending" occurs as the triggering event, the process of preparing the updated application is resumed from S1116 in S1304. Also, if "update button pressed" occurs as the triggering event, the process of preparing the updated application is resumed from S1116 in S1408.
[0130] <Other embodiments> The execution control unit 104 may cause the OS, instead of the display unit 102, to display a download execution confirmation screen 700, an application termination confirmation screen 710, a download re-execution confirmation screen 800, and an update unnecessary notification screen 810.
[0131] When the display unit 102 displays these screens, the display unit 102 displays these screens as, for example, pop-up screens. When the OS displays these screens, the OS displays these screens in, for example, an OS notification area.
[0132] If the step that restart control unit 105 causes execution control unit 104 to execute first is described in the execution program, the restart step may be deleted from correspondence table 1000 and changed to a progress state / trigger event correspondence table.
[0133] In the above embodiment, a correspondence table 1000 having fields of progress state 1001, trigger event 1002, and resume step 1003 is used. However, this is not limited to the above, and the progress state may be changed to a judgment stage, and a judgment stage / trigger event / resume step correspondence table may be used. The judgment stage can be represented by Sxxx. When corresponding to the correspondence table 1000 shown in FIG. 10(a), each record of such a table is as follows.
[0134] First record: {S1104, when connected to network, S1101} Second record: {S1115, When connecting to the network and performing a specific process, S1111} 3rd record: {S1118, before app is closed, S1116} When corresponding to the correspondence table 1000 shown in FIG. 10(B), each record of such a table is as follows.
[0135] First record: {S1104, when connected to network, S1101} Second record: {S1115, When connecting to the network and performing a specific process, S1111} 3rd record: {S1118, before app is closed, S1116} 4th record: {S1104, when update button is pressed, S1101} 5th record: {S1115, when update button is pressed, S1111} 6th record: {S1118, when update button is pressed, S1116} 7th record: {S1107, when update button is pressed, NULL} 8th record: {S1110, when update button is pressed, NULL} Furthermore, when the judgment stage / trigger event / resume step correspondence table corresponding to FIG. 10(a) or FIG. 10(b) is used, the progress status 606 of the updated application preparation process stored in the storage unit 103 is changed to the judgment stage in the updated application preparation process. The progress status 606 of the updated application preparation process stored in the storage unit 103 is changed to Syyyy (here, Syyyy is S1104, etc.). In S1201 and S1301, Syyy stored in the storage unit 103 is acquired. Then, in S1202 and S1302, it is confirmed whether Syyyy, which is the judgment stage stored in the storage unit 103, matches any of Sxxxx (here, Sxxxx is S1104, etc.) in the first column of the changed table.
[0136] Furthermore, when using the judgment stage / trigger event / resume step correspondence table corresponding to Fig. 10(b), in S1401, Syyyy stored in storage unit 103 is acquired. Then, in S1402, it is confirmed whether Syyyy stored in storage unit 103 is S1107 or S1110. In S1404, it is confirmed whether Syyyy stored in storage unit 103 is S1104. In S1406, it is confirmed whether Syyyy stored in storage unit 103 is S1115.
[0137] In the above embodiment, the updated application preparation process for updating an application to the latest version has been described as an example, but is not limited to this. The above embodiment can also be applied to computer programs other than applications. In addition, the updated application preparation process is not limited to the process for updating a computer program to the latest version. For example, by changing the processes of S1101, S1102, and S1103, the updated application preparation process can be changed to the process for updating a computer program to a version specified by a user. Similarly, the updated application preparation process can be changed to the process for downgrading a computer program.
[0138] The resume control unit 105 and the execution control unit 104 in the application according to the embodiment may be moved to an external program separate from the application, and a second display unit and a second storage unit may be provided in the external program. The information processing device side information shown in Fig. 6 may be stored outside the second storage unit application. Then, the external program may execute the updated application preparation process.
[0139] The above-mentioned embodiment can also be realized by executing the following process. That is, software (programs) that realize the functions of the above-mentioned embodiment are supplied to a system or device via a network or various storage media, and a computer (CPU, MPU, etc.) of the system or device reads and executes the program. The program may be executed by one computer, or may be executed by multiple computers in cooperation with each other. It is not necessary to realize all of the above-mentioned processes by software, and some or all of the processes may be realized by hardware such as ASIC. The CPU is not limited to one that performs all the processes by one CPU, and multiple CPUs may perform processes while appropriately coordinating with each other. The functions of the above-mentioned embodiment are not only realized by executing the program code read by the computer. It also includes a case where an OS running on a computer performs some or all of the actual processes based on the instructions of the program code, and the functions of the above-mentioned embodiment are realized by the processes.
[0140] <Technical Features of the Present Disclosure> The present disclosure includes the following programs, devices, and methods.
[0141] [Program 1] 1. A program for causing a computer to function as an application update preparation device for preparing an application update that replaces an application installed on the computer, comprising: an execution means for sequentially executing preparation of an updated application; an interrupt control means for causing the execution means to interrupt the preparation of the updated application if the interrupt condition is satisfied when the preparation of the updated application has progressed to a determination stage in which an interrupt condition is set; a restart control means for causing the execution means to restart preparation of the updated application from a restart stage set for the determination stage when a trigger event set for the determination stage occurs; Make the computer function as a program.
[0142] [Program 2] There are a plurality of the determination steps, for each of which a respective interruption condition is set, a progress status indicating a progress of preparation of the update version application is set for each of the determination stages, such that each of the progress statuses corresponds to one or more of the determination stages; A common trigger event is set for the plurality of judgment steps having the common progress state via the progress state, A common restart stage is set for a plurality of judgment stages having a common progress state via the progress state. The program described in Program 1.
[0143] [Program 3] the interruption control means, when causing the execution means to interrupt preparation of the updated version application, causes a storage unit to store the progress state corresponding to the determination stage; the restart control means, when the trigger event set for the progress state stored in the storage unit occurs, causes the execution means to restart preparation of the updated version application from the restart stage set for the progress state stored in the storage unit. The program described in Program 2.
[0144] [Program 4] The program further causes the computer to function as a management means for managing a current operation of the installed application, the management means sets the trigger event based on management of a current operation of the installed application, and then transfers the set trigger event to the restart control means; the restart control means determines that the trigger event set for the determination step has occurred when the trigger event delivered from the management means coincides with the trigger event set for the progress state stored in the storage unit. The program described in Program 3.
[0145] [Program 5] the program causes the computer to hold a correspondence table that holds a correspondence between the progress status and the trigger event for a plurality of the progress statuses; the restart control means acquires the trigger event set for the progress state stored in the storage unit by referring to the correspondence table; The program described in Program 4.
[0146] [Program 6] The correspondence table stores the restart stage for each of the plurality of progress states in association with the progress state, the restart control means acquires the restart stage set for the progress state from the correspondence table; The program described in Program 5.
[0147] [Program 7] The interruption control means causes a storage unit to store the determination step when interrupting the preparation of the updated application; the restart control means, when the trigger event set for the determination stage stored in the storage unit occurs, causes the execution means to restart preparation of the updated application from the restart stage set for the determination stage stored in the storage unit. The program described in Program 1.
[0148] [Program 8] The program further causes the computer to function as a management means for managing a current operation of the installed application, the management means sets the trigger event based on management of a current operation of the installed application, and then transfers the set trigger event to the restart control means; the restart control means determines that the trigger event set for the judgment stage has occurred when the trigger event delivered from the management means coincides with the trigger event set for the judgment stage stored in the storage unit. The program described in Program 7.
[0149] [Program 9] the program causes the computer to hold a correspondence table that holds the judgment stage and the trigger event in association with each other for a plurality of the judgment stages; the restart control means acquires the trigger event set for the judgment stage stored in the storage unit by referring to the correspondence table; The program described in Program 8.
[0150] [Program 10] The correspondence table stores the restart stage for each of the plurality of judgment stages in association with the judgment stage; The restart control means acquires the restart stage set for the judgment stage from the correspondence table. The program described in Program 9.
[0151] [Program 11] The determining step is a step in which a process for obtaining the version of the application installed on the computer and obtaining a version of the application for which a corresponding installation file can be downloaded from a management device via network communication is completed; The interruption condition is that the process has ended in an error, the triggering event is the establishment of the network communication, The restart step is a step of executing the process. A program according to any one of Programs 1 to 10.
[0152] [Program 12] The determining step is a step of inquiring a user as to whether or not to terminate the execution of the application installed on the computer after the download of an installation file corresponding to the updated application is normally completed, the interruption condition being that a non-permission input for terminating execution of the application installed on the computer has been received from a user; The trigger event is the termination of execution of the application installed on the computer, The restart step is either a step of inquiring whether to terminate execution of the application installed on the computer or a step of extracting the downloaded installation file into the updated version of the application. A program according to any one of Programs 1 to 10.
[0153] [Program 13] The determining step is a step in which a process for obtaining the version of the application installed on the computer and obtaining a version of the application for which a corresponding installation file can be downloaded from a management device via network communication is completed; The interruption condition is that the process has ended in an error, the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of executing the process. A program according to any one of Programs 1 to 10.
[0154] [Program 14] The determining step is a step in which a process for comparing the version of the application installed on the computer with a version of an application for which a corresponding installation file can be downloaded is completed; the interruption condition being that the comparison determines that it is not necessary to update the application installed on the computer to an application for which the corresponding installation file is available for download; the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of completing preparation of the update application. A program according to any one of Programs 1 to 10.
[0155] [Program 15] The determination step is a step of displaying a screen for receiving input from a user as to whether or not the user agrees to download an installation file corresponding to the updated version of the application, The interruption condition is receipt of unauthorized input from a user regarding downloading the installation file, the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of completing preparation of the update application. A program according to any one of Programs 1 to 10.
[0156] [Program 16] The determination step is a step of displaying a screen for receiving input from a user as to whether or not the process for downloading an installation file corresponding to the updated application is executed again after the process for downloading the installation file corresponding to the updated application ends in an error, the interruption condition is that a non-permission input for re-executing the process is received from a user, the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of executing the process. A program according to any one of Programs 1 to 10.
[0157] [Program 17] The determining step is a step of inquiring a user as to whether or not to terminate the execution of the installed application after the download of an installation file corresponding to the updated application is normally completed, the interruption condition being that a non-permission input for terminating execution of the application installed on the computer has been received from a user; the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of inquiring of a user as to whether or not to terminate the execution of the application installed on the computer. A program according to any one of Programs 1 to 10.
[0158] [Program 18] The preparation of said updated application includes: executing a process for obtaining the version of the application installed on the computer and for obtaining, via network communication, from a management device, a version of the application for which a corresponding installation file can be downloaded; if said process is completed successfully, executing a process for comparing the version of said application installed on the computer with a version of an application for which the corresponding installation file can be downloaded; displaying a screen for receiving input from a user as to whether or not to permit downloading of the installation file for the application installed on the computer when it is determined by the comparison that it is necessary to update the application installed on the computer to an application for which the corresponding installation file can be downloaded; executing a process for downloading the installation file when a consent input is received from a user for downloading the installation file; When the process for downloading the installation file is normally completed, inquiring a user as to whether or not to terminate the execution of the application installed on the computer; and extracting the downloaded installation file into the updated application when a consent input is received from a user to terminate execution of the application installed on the computer; Including, 18. A program according to any one of programs 1 to 17.
[0159] [Program 19] The program is included in the application installed on the computer. A program according to any one of Programs 1 to 18.
[0160] [composition] 1. An application update preparation apparatus for preparing an application update to replace an application installed on a computer, comprising: an execution means for sequentially executing preparation of an updated application; an interrupt control means for causing the execution means to interrupt the preparation of the updated application if the interrupt condition is satisfied when the preparation of the updated application has progressed to a determination stage in which an interrupt condition is set; a restart control means for causing the execution means to restart preparation of the updated application from a restart stage set for the determination stage when a trigger event set for the determination stage occurs; Equipped with Updated application preparation device.
[0161] [method] 1. A method for preparing an updated application to replace an application installed on a computer, comprising the steps of: an execution step of sequentially performing preparation of the updated application; an interrupt control step of interrupting the preparation of the updated application by the execution step if the interrupt condition is satisfied when the preparation of the updated application has progressed to a determination step in which an interrupt condition is set; a restart control step of restarting preparation of the updated application by the execution step from a restart step set for the determination step when a trigger event set for the determination step occurs; having Updated application preparation instructions. [Explanation of symbols]
[0162] 100 Information processing device 101 Applications 104 Execution Control Unit 105 Restart control section 106 Application Management Department 107 Network communication control unit 300 Management device
Claims
1. 1. A program for causing a computer to function as an application update preparation device for preparing an application update that replaces an application installed on the computer, comprising: an execution means for sequentially executing preparation of an updated application; an interrupt control means for causing the execution means to interrupt the preparation of the updated application if the interrupt condition is satisfied when the preparation of the updated application has progressed to a determination stage in which an interrupt condition is set; a restart control means for causing the execution means to restart preparation of the updated application from a restart stage set for the determination stage when a trigger event set for the determination stage occurs; Make the computer function as a program.
2. There are a plurality of the determination steps, for each of which a respective interruption condition is set, a progress status indicating a progress of preparation of the update version application is set for each of the determination stages, such that each of the progress statuses corresponds to one or more of the determination stages; A common trigger event is set for the plurality of judgment steps having the common progress state via the progress state, A common restart stage is set for a plurality of judgment stages having a common progress state via the progress state. The program according to claim 1.
3. the interruption control means, when causing the execution means to interrupt preparation of the updated version application, causes a storage unit to store the progress state corresponding to the determination stage; the restart control means, when the trigger event set for the progress state stored in the storage unit occurs, causes the execution means to restart preparation of the updated version application from the restart stage set for the progress state stored in the storage unit. The program according to claim 2.
4. The program further causes the computer to function as a management means for managing a current operation of the installed application, the management means sets the trigger event based on management of a current operation of the installed application, and then transfers the set trigger event to the restart control means; the restart control means determines that the trigger event set for the determination step has occurred when the trigger event delivered from the management means coincides with the trigger event set for the progress state stored in the storage unit. The program according to claim 3.
5. the program causes the computer to hold a correspondence table that holds a correspondence between the progress status and the trigger event for a plurality of the progress statuses; the restart control means acquires the trigger event set for the progress state stored in the storage unit by referring to the correspondence table; The program according to claim 4.
6. The correspondence table stores the restart stage for each of the plurality of progress states in association with the progress state, the restart control means acquires the restart stage set for the progress state from the correspondence table; The program according to claim 5.
7. The interruption control means causes a storage unit to store the determination step when interrupting the preparation of the updated application; the restart control means, when the trigger event set for the determination stage stored in the storage unit occurs, causes the execution means to restart preparation of the updated application from the restart stage set for the determination stage stored in the storage unit. The program according to claim 1.
8. The program further causes the computer to function as a management means for managing a current operation of the installed application, the management means sets the trigger event based on management of a current operation of the installed application, and then transfers the set trigger event to the restart control means; the restart control means determines that the trigger event set for the judgment stage has occurred when the trigger event delivered from the management means coincides with the trigger event set for the judgment stage stored in the storage unit. The program according to claim 7.
9. the program causes the computer to hold a correspondence table that holds the judgment stage and the trigger event in association with each other for a plurality of the judgment stages; the restart control means acquires the trigger event set for the judgment stage stored in the storage unit by referring to the correspondence table; The program according to claim 8.
10. The correspondence table stores the restart stage for each of the plurality of judgment stages in association with the judgment stage; The restart control means acquires the restart stage set for the judgment stage from the correspondence table. The program according to claim 9.
11. The determining step is a step in which a process for acquiring the version of the application installed on the computer and acquiring, via network communication, from a management device, a version of the application for which a corresponding installation file can be downloaded, is completed; The interruption condition is that the process has ended in an error, the triggering event is the establishment of the network communication, The restart step is a step of executing the process. The program according to claim 1.
12. The determining step is a step of inquiring of a user as to whether or not to terminate execution of the application installed on the computer after downloading of an installation file corresponding to the updated application is normally completed, the interruption condition being that a non-permission input for terminating execution of the application installed on the computer has been received from a user; The trigger event is the termination of execution of the application installed on the computer, The restart step is either a step of inquiring whether to terminate execution of the application installed on the computer or a step of extracting the downloaded installation file into the updated version application. The program according to claim 1.
13. The determining step is a step in which a process for acquiring the version of the application installed on the computer and acquiring, via network communication, from a management device, a version of the application for which a corresponding installation file can be downloaded, is completed; The interruption condition is that the process has ended in an error, the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of executing the process. The program according to claim 1.
14. The determining step is a step in which a process for comparing the version of the application installed on the computer with a version of an application for which a corresponding installation file can be downloaded is completed; the interruption condition is that the comparison determines that it is not necessary to update the application installed on the computer to the application for which the corresponding installation file can be downloaded; the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of completing preparation of the update application. The program according to claim 1.
15. The determination step is a step of displaying a screen for receiving an input from a user as to whether or not the user agrees to download an installation file corresponding to the updated version of the application, the interruption condition is receipt of a non-permission input from a user regarding downloading the installation file; the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of completing preparation of the update application. The program according to claim 1.
16. The determination step is a step of displaying a screen for receiving an input from a user as to whether or not the user agrees to re-executing a process for downloading an installation file corresponding to the updated application after the process for downloading the installation file corresponding to the updated application ends in error, the interruption condition is that a non-permission input for re-executing the process is received from a user, the triggering event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of executing the process. The program according to claim 1.
17. The determining step is a step of inquiring a user as to whether or not to terminate the execution of the installed application after the download of an installation file corresponding to the updated application is normally completed, the interruption condition being that a non-permission input for terminating execution of the application installed on the computer has been received from a user; the trigger event being the computer receiving an operation by a user to start preparation of the updated version of the application from the beginning; The restart step is a step of inquiring of a user as to whether or not to terminate the execution of the application installed on the computer. The program according to claim 1.
18. The preparation of said updated application includes: executing a process for acquiring the version of the application installed on the computer, and further acquiring, via network communication, from a management device, a version of the application for which a corresponding installation file can be downloaded; if said process is normally completed, executing a process for comparing the version of said application installed on a computer with the version of an application for which the corresponding installation file can be downloaded; displaying a screen for receiving input from a user as to whether or not to permit downloading of the installation file for the application installed on the computer when it is determined by the comparison that it is necessary to update the application installed on the computer to an application for which the corresponding installation file can be downloaded; executing a process for downloading the installation file when a permission input for downloading the installation file is received from a user; When the process for downloading the installation file is normally completed, inquiring of a user as to whether or not to terminate execution of the application installed on the computer; and extracting the downloaded installation file into the updated application when a consent input is received from a user regarding terminating execution of the application installed on the computer; Including, 18. A program according to any one of claims 1 to 17.
19. The program is included in the application installed on the computer. The program according to claim 1.
20. 1. An application update preparation apparatus for preparing an application update to replace an application installed on a computer, comprising: an execution means for sequentially executing preparation of an updated application; an interrupt control means for causing the execution means to interrupt the preparation of the updated application if the interrupt condition is satisfied when the preparation of the updated application has progressed to a determination stage in which an interrupt condition is set; a restart control means for causing the execution means to restart preparation of the updated application from a restart stage set for the determination stage when a trigger event set for the determination stage occurs; Equipped with Updated application preparation device.
21. 1. A method for preparing an updated application to replace an application installed on a computer, comprising the steps of: an execution step of sequentially performing preparation of the updated application; an interrupt control step of interrupting the preparation of the updated application by the execution step if the interrupt condition is satisfied when the preparation of the updated application has progressed to a determination step in which an interrupt condition is set; a restart control step of restarting preparation of the updated application by the execution step from a restart step set for the determination step when a trigger event set for the determination step occurs; having Updated application preparation instructions.
Citation Information
Patent Citations
Information processing terminal, management apparatus, mobile communication system, update control method and update control program
JP2019174869A