Information Processing Apparatus, Information Processing Method and System, and Computer-Readable Medium
By designing a processor in the information processing device, managing the update process from the first program to the second program, and providing the functions of the second program after all devices have completed the update, the user confusion caused by functional differences in the cluster is solved.
Patent Information
- Application Number
- CN202010920733.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-18
- Filing Date
- 2020-09-04
- Publication Date
- 2025-06-10
- Estimated Expiration
- 2040-09-04
AI Technical Summary
There are differences in the functions provided by each server device in the cluster, which leads to confusion in the process of program update and is unable to obtain the updated functions in time.
An information processing device is designed, after the update information is acquired, the processor performs updates from the first program to the second program, and accepts the function request of the first program before all the information processing devices complete the update, and does not provide the function of the second program until all the devices complete the update.
Ensure that the requested functions will not be provided due to function updates until the program update of all information processing devices in the cluster is completed, so as to avoid user confusion.
Smart Images

Figure CN113495739B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing apparatus, an information processing method, an information processing system, and a computer-readable medium. Background Art
[0002] In order to improve the usability of an information processing system, a so-called cluster system (hereinafter simply referred to as "cluster") that clusters multiple server devices is used.
[0003] For example, Japanese Unexamined Patent Application Publication No. 2009-230171 discloses an update management program that causes a computer to manage the update timing of programs installed in a plurality of management target nodes constituting a cluster system. In this case, in response to an update instruction for a program, a plurality of management target nodes are divided into a plurality of groups and registered. Referring to an update management table in which an update order is defined for each group, a group with the earliest update order is first selected. Then, whenever the update process for all the management target nodes belonging to the previously selected group is completed, each group is sequentially selected according to the update order, and referring to the update management table, an update request is sent to the management target nodes belonging to the selected group. An update completion notification is received from each management target node to which the update request has been sent, and it is notified that the update process for the management target node that has sent the update completion notification has been completed.
[0004] In addition, for example, Japanese Unexamined Patent Application Publication No. 2017-4502 discloses an information system including: a monitored object system having a cluster including a plurality of hosts; and a monitoring server device for monitoring the state of the monitored object system. In this case, the monitoring server device confirms whether the monitored object system is operating normally and sends first state information indicating the inspection result. A host receives the first state information sent from the monitoring server device, receives second state information indicating the operating state of other hosts from other hosts within the same cluster, obtains update information from the outside when an update action start is specified, performs an update action according to the update information, and after the update action is completed, when the received first state information is normal, notifies any one of the other hosts whose received second state information indicates a state in which an update operation can be performed of the update start instruction.
[0005] In addition, for example, Japanese Patent Application Laid-Open No. 2018-156555 discloses a cluster system including: an update management device that updates software of servers in an N-Active structure; and an update distribution device that distributes processing requests for the servers to any server. When an update instruction for the software is given, the update management device updates the software used by the servers according to the end of the services provided by the servers that are the objects of the software update, and the update distribution device determines which one of the new servers with the updated software and the old servers without the updated software should process the processing request based on the processing requests for the servers during the software update, and distributes it to any server. SUMMARY OF THE INVENTION
[0006] However, if there are differences in the functions provided by each server device in the cluster, it may sometimes cause confusion to the users.
[0007] An object of the present invention is to suppress a situation where, during the update of programs in a cluster composed of a plurality of information processing devices, before the update of the programs of all the information processing devices constituting the cluster is completed, a request for an updated function is made by a person using the cluster, and confusion occurs due to the inability to provide the requested function.
[0008] According to a first aspect of the present disclosure, there is provided an information processing device having a processor that executes a first program. The processor obtains update information for performing an update from the first program to a second program, and uses the update information to perform the update. When at least any one of the information processing device and other information processing devices that together with the information processing device constitute a cluster has not completed the update, the processor accepts a request for the function of the first program. When the information processing device and the other information processing devices have all completed the update, the processor provides the function of the second program to the user.
[0009] According to a second aspect of the present disclosure, when the information processing device completes the update after all the other information processing devices have completed the update, the processor separately sends a first notification indicating that the information processing device has finally completed the update to the other information processing devices. When the first notification is sent, the processor provides the function of the second program. When the first notification is received from any one of the other information processing devices, the function of the second program is provided.
[0010] According to the third aspect of the present disclosure, when the update is completed in the information processing device and there are still unupdated devices among the other information processing devices that have not completed the update, the processor sends a second notification indicating that the update has been completed in the information processing device to at least any one of the unupdated devices. When the second notification is received from any information processing device among the other information processing devices, the processor determines whether there are unupdated devices in the other information processing devices according to the content of the received second notification. When it is determined that there are unupdated devices, the processor sends a second notification indicating that the update has been completed in the information processing device together with the content of the received second notification. When it is determined that there are no unupdated devices, the processor sends the first notification.
[0011] According to the fourth aspect of the present disclosure, the processor includes the identification information of the information processing device in the second notification and then sends it. When the second notification is received from any information processing device among the other information processing devices, the processor determines whether there are unupdated devices based on the number of identification information included in the received second notification.
[0012] According to the fifth aspect of the present disclosure, when the second notification is not received from any information processing device among the other information processing devices and the update is completed in the information processing device, the processor sends the second notification indicating that the number of information processing devices that have completed the update is 1. When the second notification is received from any information processing device among the other information processing devices and it is determined that there are unupdated devices, the processor sends the second notification indicating the number obtained by adding 1 to the number indicated by the received second notification.
[0013] According to the sixth aspect of the present disclosure, the processor determines whether the information processing device is the last to complete the update according to the path information indicating a pre-determined path included in the update information.
[0014] According to the seventh aspect of the present disclosure, when a request for the function of the first program is received from the user after the update is completed in the information processing device, the processor forwards the request to the other information processing devices that have not completed the update. When the request is forwarded from any information processing device among the other information processing devices, the processor provides the function indicated by the request.
[0015] According to an eighth aspect of the present disclosure, there is provided an information processing apparatus having a processor that executes a first program. The processor acquires update information for performing an update from the first program to a second program, and the processor performs the update using the update information. When the update is completed in at least any one of the information processing apparatus and other information processing apparatuses that together with the information processing apparatus form a cluster, the processor accepts a request for the function of the second program.
[0016] According to a ninth aspect of the present disclosure, there is provided an information processing apparatus. When the information processing apparatus completes the update before any of the other information processing apparatuses complete the update, the processor separately sends a third notification indicating that the information processing apparatus has completed the update first to the other information processing apparatuses. When the third notification is sent, the processor provides the function of the second program. When the third notification is received from any of the other information processing apparatuses, the processor accepts a request for the function of the second program from the user.
[0017] According to a tenth aspect of the present disclosure, there is provided an information processing apparatus. When a request for the function of the second program is received from the user before the information processing apparatus completes the update, the processor forwards the request to the other information processing apparatuses that have completed the update. When the request is forwarded from any of the other information processing apparatuses, the processor provides the function indicated by the request.
[0018] According to an eleventh aspect of the present disclosure, when a request for the function of the second program is received from the user before the information processing apparatus completes the update, the processor provides the function indicated by the request after completing the update.
[0019] According to a twelfth aspect of the present disclosure, there is provided an information processing apparatus having a processor that executes a first program. The processor acquires update information for performing an update from the first program to a second program, and the processor performs the update using the update information. When at least any one of the information processing apparatus and other information processing apparatuses that together with the information processing apparatus form a cluster has not completed the update, the processor accepts a request for the repeated function of the first program and the second program. When both the information processing apparatus and the other information processing apparatuses have completed the update, the processor provides the function of the second program to the user.
[0020] According to the 13th aspect of the present disclosure, an information processing apparatus is provided, which has a terminal and a plurality of information processing apparatuses constituting a cluster. The plurality of information processing apparatuses each have a processor that executes a first program. Each of the processors obtains update information for executing an update from the first program to a second program, and uses the update information to execute the update. In a case where at least any one of the plurality of information processing apparatuses has not completed the update, a request for the function of the first program is received from the terminal. In a case where all of the plurality of information processing apparatuses have completed the update, the function of the second program is provided to the user of the terminal.
[0021] According to the 14th aspect of the present disclosure, an information processing apparatus is provided, which has a terminal and a plurality of information processing apparatuses constituting a cluster. The plurality of information processing apparatuses each have a processor that executes a first program. Each of the processors obtains update information for executing an update from the first program to a second program, and uses the update information to execute the update. In a case where at least any one of the plurality of information processing apparatuses has completed the update, a request for the function of the second program is received from the terminal.
[0022] According to the 15th aspect of the present disclosure, an information processing apparatus is provided, which has a terminal and a plurality of information processing apparatuses constituting a cluster. The plurality of information processing apparatuses each have a processor that executes a first program. Each of the processors obtains update information for executing an update from the first program to a second program, and uses the update information to execute the update. In a case where at least any one of the plurality of information processing apparatuses has not completed the update, a request for the repeated functions of the first program and the second program is received from the terminal. In a case where all of the plurality of information processing apparatuses have completed the update, the function of the second program is provided to the user of the terminal.
[0023] According to the 16th aspect of the present disclosure, an information processing system is provided. The information processing system has a management apparatus that manages the plurality of information processing apparatuses. Each of the processors notifies the management apparatus of the completion of the update when the update is completed. Each of the processors obtains information indicating whether each of the plurality of information processing apparatuses has completed the update from the management apparatus.
[0024] According to the 17th aspect of the present disclosure, there is provided a computer-readable medium storing a program for causing a computer to execute a process. The computer has a processor for executing a first program, and the process includes the following steps: obtaining update information for performing an update from the first program to a second program; performing the update using the update information; accepting a request for the function of the first program in a case where at least any one of an information processing device having the computer and other information processing devices forming a cluster together with the information processing device has not completed the update; and providing the function of the second program to a user in a case where both the information processing device and the other information processing devices have completed the update.
[0025] According to the 18th aspect of the present disclosure, there is provided a computer-readable medium storing a program for causing a computer to execute a process. The computer has a processor for executing a first program, and the process includes the following steps: obtaining update information for performing an update from the first program to a second program; performing the update using the update information; and accepting a request for the function of the second program in a case where at least any one of an information processing device having the computer and other information processing devices forming a cluster together with the information processing device has completed the update.
[0026] According to the 19th aspect of the present disclosure, there is provided a computer-readable medium storing a program for causing a computer to execute a process. The computer has a processor for executing a first program, and the process includes the following steps: obtaining update information for performing an update from the first program to a second program; performing the update using the update information; accepting a request for the repeated functions of the first program and the second program in a case where at least any one of an information processing device having the computer and other information processing devices forming a cluster together with the information processing device has not completed the update; and providing the function of the second program to a user in a case where both the information processing device and the other information processing devices have completed the update.
[0027] According to the 20th aspect of the present disclosure, there is provided an information processing method including: obtaining update information for performing an update from a first program to a second program; performing the update using the update information; accepting a request for the function of the first program in a case where at least any one of an information processing device and other information processing devices forming a cluster together with the information processing device has not completed the update; and providing the function of the second program to a user in a case where both the information processing device and the other information processing devices have completed the update.
[0028] (Effect)
[0029] According to the above-described first, thirteenth, seventeenth, or twentieth aspect, when updating the first program of each information processing device to the second program in a cluster composed of a plurality of information processing devices, a situation where a function requested by a user cannot be provided because the update has not been completed for all of these updates does not occur.
[0030] According to the above-described second aspect, the plurality of information processing devices constituting the cluster start providing the function of the second program at a common timing.
[0031] According to the above-described third aspect, the plurality of information processing devices constituting the cluster wait for the provision of the function of the second program until any one of the other information processing devices completes the update.
[0032] According to the above-described fourth aspect, the order in which the plurality of information processing devices each perform the update may not be determined.
[0033] According to the above-described fifth aspect, the plurality of information processing devices constituting the cluster complete the update one by one in sequence.
[0034] According to the above-described sixth aspect, the plurality of information processing devices constituting the cluster complete the update along a predetermined path.
[0035] According to the seventh aspect, even when the plurality of information processing devices constituting the cluster cannot provide the function of the first program due to the completion of the update, any one of the other information processing devices can provide the function.
[0036] According to the eighth, fourteenth, and eighteenth aspects, the cluster accepts a request for the function of the second program after at least one of the plurality of information processing devices constituting the cluster completes the update.
[0037] According to the above-described ninth aspect, the plurality of information processing devices constituting the cluster start accepting the function of the second program at a common timing.
[0038] According to the above-described tenth aspect, the plurality of information processing devices constituting the cluster can provide the function of the second program that could not be provided before the update to any one of the other information processing devices.
[0039] According to the above-described eleventh aspect, the plurality of information processing devices constituting the cluster provide the function of the second program requested before the update after the update is completed.
[0040] According to the above-described twelfth, fifteenth, and nineteenth aspects, the plurality of information processing devices constituting the cluster provide a function that is repeated before and after the update when any one of the information processing devices performs the update.
[0041] According to the 16th aspect, it is possible to centrally manage a plurality of information processing apparatuses constituting a cluster in a management apparatus. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Figure 1 FIG. is an example showing the overall structure of the information processing system 9.
[0043] Figure 2 FIG. is an example showing the structure of the information processing apparatus 1.
[0044] Figure 3 FIG. is an example showing an update information DB 121.
[0045] Figure 4 FIG. is an example showing a program DB 122.
[0046] Figure 5 FIG. is a diagram showing an example of a cluster structure DB 123.
[0047] Figure 6 FIG. is a diagram showing an example of the structure of the terminal 2.
[0048] Figure 7 FIG. is an example showing a functional structure of the information processing apparatus 1.
[0049] Figure 8 FIG. is a flowchart showing an example of a process of an action accompanying the completion of an update.
[0050] Figure 9 FIG. is a flowchart showing an example of a process of an action for determining whether there is an unupdated apparatus.
[0051] Figure 10 FIG. is an example showing a list of unupdated apparatuses.
[0052] Figure 11 FIG. is an example showing a second notification.
[0053] Figure 12 FIG. is a flowchart showing an example of a process of an action for switching a provided function.
[0054] Figure 13 FIG. is a flowchart showing an example of a process of a transfer request.
[0055] Figure 14 FIG. is an example showing the overall structure of the information processing system 9a in a modified example.
[0056] Figure 15 FIG. is an example showing the structure of the information processing apparatus 1a in a modified example.
[0057] Figure 16This is a diagram showing an example of the structure of the management device 4 in a modified example.
[0058] Figure 17 This is a diagram showing an example of the structure of the cluster-structured DB 423.
[0059] Figure 18 This is a flowchart showing an example of the action process accompanying the completion of an update in a modified example.
[0060] Figure 19 This is a flowchart showing an example of the action process of the management device 4.
[0061] Figure 20 This is a diagram showing an example of the structure of the information processing device 1b in a modified example.
[0062] Figure 21 This is a diagram showing an example of the structure of the cluster-structured DB 123b in a modified example.
[0063] Figure 22 This is a flowchart showing an example of the action process accompanying the completion of an update in a modified example.
[0064] Figure 23 This is a flowchart showing an example of the action process for replying to the received second notification.
[0065] Figure 24 This is a flowchart showing an example of the action process for modifying the candidates of unupdated devices in response to the reply.
[0066] Figure 25 This is a flowchart showing an example of the action process accompanying the completion of an update in the second embodiment.
[0067] Figure 26 This is a flowchart showing an example of the action process of a transfer request.
[0068] Figure 27 This is a flowchart showing an example of the action process for providing a hold function.
[0069] Figure 28 This is a flowchart showing an example of the action process of the management device 4 in a modified example.
[0070] Figure 29 This is a flowchart showing an example of the process of the update action in the third embodiment.
[0071] Figure 30 This is a flowchart showing an example of the process of the action of the switching function in the third embodiment. Detailed Embodiment
[0072] <First Embodiment>
[0073] <Structure of Information Processing System>
[0074] Figure 1 This is a diagram showing an example of the overall structure of the information processing system 9. Figure 1 The information processing system 9 shown herein is a system obtained by clustering a plurality of server devices, and each of the plurality of server devices provides services by executing a computer program (hereinafter simply referred to as a program). As Figure 1 shown, the information processing system 9 includes a plurality of information processing devices 1, terminals 2, and communication lines 3.
[0075] The terminal 2 is a terminal device used by each user of the information processing system 9, and is, for example, a personal computer such as a desktop, laptop, or tablet type. The terminal 2 receives an operation by the user and gives an instruction corresponding to the operation to the information processing device 1.
[0076] The information processing device 1 is, for example, a computer and is a server device that responds to requests from the terminal 2 acting as a client device. The plurality of information processing devices 1 included in the information processing system 9 constitute a cluster C by dynamically sharing requests from the terminal 2. Therefore, the information processing system 9 is an example of an information processing system having terminals and a plurality of information processing devices constituting a cluster.
[0077] Any one of the plurality of information processing devices 1 may also function as a so-called load balancer that monitors the processing load of other information processing devices 1 and distributes processing.
[0078] The communication line 3 is a line that communicably connects the information processing device 1 and the terminal 2. The communication line 3 can be, for example, a WAN (Wide Area Network) in addition to a LAN (Local Area Network), can also be the Internet, or can be a combination of these. In addition, the communication line 3 can also include a public switched communication network (PSTN: Public Switched Telephone Networks) or an integrated services digital network (ISDN: Integrated Services Digital Network), etc. Further, the communication line 3 is connected to an external device (not shown), and at least one of the information processing devices 1 obtains information from the external device.
[0079] The number of each of the information processing device 1, the terminal 2, and the communication line 3 in the information processing system 9 is not limited to Figure 1 the number shown. It is sufficient that there are a plurality of information processing devices 1.
[0080] <Structure of Information Processing Device>
[0081] Figure 2This is a diagram showing an example of the structure of the information processing apparatus 1. Figure 2 The illustrated information processing apparatus 1 includes a processor 11, a memory 12, and an interface 13. These components are communicatively connected to each other via a bus, for example.
[0082] The processor 11 controls each part of the information processing apparatus 1 by reading and executing programs stored in the memory 12. The processor 11 is, for example, a CPU (Central Processing Unit).
[0083] The interface 13 is a communication circuit that communicatively connects the information processing apparatus 1 and the terminal 2 via a communication line 3, either wired or wirelessly.
[0084] The memory 12 is a storage unit that stores the operating system, various programs, data, etc. read into the processor 11. The memory 12 includes a RAM (Random Access Memory) and a ROM (Read Only Memory). Additionally, the memory 12 may also have a solid state drive, a hard disk drive, etc.
[0085] The memory 12 stores an update information DB 121 and a program DB 122. In addition, Figure 2 The illustrated memory 12 stores a cluster structure DB 123.
[0086] Figure 3 This is a diagram showing an example of the update information DB 121. Figure 3 The illustrated update information DB 121 is a database that stores information (referred to as update information) for updating programs executed in the information processing apparatus 1.
[0087] In Figure 3 In the illustrated update information DB 121, the update ID is identification information for identifying the update information. The update date and time is information indicating the date and time when the program using the update information is updated. The status is a status indicating the update status of the program using the update information, such as "completed", "standby", "aborted", etc. The update object ID is identification information for identifying the program to be updated as the update object. The post-update ID is identification information for identifying the program after the object program has been updated by the update information. The update data is data indicating the content of the update.
[0088] In addition, although Figure 3 the illustrated update information DB 121 processes multiple pieces of update information, the update information DB 121 may also be configured to process only one piece of update information. In this case, there may also be no column for the update ID in the update information DB 121.
[0089] Figure 4This is a diagram showing an example of the program DB 122. The program DB 122 is a database that stores programs executed by the storage processor 11. For example, the program DB 122 is a folder that stores executable files in the file system.
[0090] In Figure 4 In the program DB 122 shown, the program ID is identification information for identifying a program. The program name is information such as a string representing the name of the program. The program data is data representing the content of the program.
[0091] Figure 5 This is a diagram showing an example of the cluster structure DB 123. The cluster structure DB 123 is a database that stores information representing the structure of the cluster C to which the information processing device 1 belongs. Figure 5 The cluster structure DB 123 shown has an update ID list 1231 and a device list 1232.
[0092] The update ID list 1231 is a list of update IDs stored in the update information DB 121. The device list 1232 is a list of devices corresponding to each update ID recorded in the update ID list 1231, and has columns for device ID and device data. The device ID in the device list 1232 is identification information for identifying the information processing device 1 that executes the update of the program using the update information represented by the update ID corresponding to the device list 1232. The device data in the device list 1232 is data representing various information such as the IP (Internet Protocol) address of the information processing device 1 identified by the device ID, which is used in communication, and environmental information used during the update.
[0093] Figure 5 For example, the update ID list 1231 shown stores 9 device IDs from "Q21" to "Q29" in the device list 1232 corresponding to the update ID "D01". This means that in the cluster C, the first program updated using the update information identified by the update ID "D01" is executed in the information processing devices 1 respectively identified by these 9 device IDs.
[0094] <Structure of the terminal>
[0095] Figure 6 This is a diagram showing an example of the structure of the terminal 2. Figure 6 The terminal 2 shown includes a processor 21, a memory 22, an interface 23, an operation unit 24, and a display unit 25. These structures are connected to be communicable with each other via a bus, for example.
[0096] The processor 21 controls each part of the terminal 2 by reading and executing a program stored in the memory 22. The processor 21 is, for example, a CPU.
[0097] The interface 23 communicably connects the terminal 2 to the communication circuit of the information processing apparatus 1 via a communication line 3 in a wired or wireless manner.
[0098] The operation unit 24 includes operation members such as operation buttons, keyboards, touch panels, and mice for performing various instructions, accepts operations, and sends signals corresponding to the operation contents to the processor 21.
[0099] The display unit 25 has a display screen such as a liquid crystal display, and displays an image under the control of the processor 21. The transparent touch panel of the operation unit 24 can be overlapped and arranged on the display screen.
[0100] The memory 22 is a storage unit that stores an operating system, various programs, data, etc. read into the processor 21. The memory 22 includes a RAM and a ROM. In addition, the memory 22 may also have a solid state drive, a hard disk drive, etc.
[0101] <Functional Structure of Information Processing Apparatus>
[0102] Figure 7 It is a diagram showing an example of the functional structure of the information processing apparatus 1. The processor 11 of the information processing apparatus 1 functions as an acquisition unit 111, an execution unit 112, an acceptance unit 113, a judgment unit 114, a transmission unit 115, a provision unit 116, and a reception unit 117 by executing a program stored in the memory 12. Figure 7 The illustrated processor 11 also functions as a transfer unit 118.
[0103] The acquisition unit 111 acquires update information from an external device (not shown) via the interface 13 and the communication line 3. This update information is information for executing an update from an old version program (hereinafter referred to as the first program) executed by the processor 11 to a new version program (hereinafter referred to as the second program). The acquisition unit 111 stores the acquired update information in the update information DB 121 of the memory 12.
[0104] That is, the processor 11 that functions as the acquisition unit 111 is an example of a processor that acquires update information for executing an update from the first program to the second program. The processor 11 that executes the first program before the update is an example of a processor that executes the first program.
[0105] The execution unit 112 uses the update information read from the update information DB 121 of the memory 12 and the first program read from the program DB 122 to perform the update from the first program to the second program. That is, the processor 11 that functions as the execution unit 112 is an example of a processor that performs the update using the update information. The execution unit 112 stores the second program obtained by completing the update in the program DB 122. In addition, the execution unit 112 stores the status of the update in the update information DB 121.
[0106] The reception unit 113 receives a function request from the user from the terminal 2 via the interface 13 and the communication line 3. In the first embodiment, regardless of whether it is during the update process of the first program or after the update is completed in this device, the reception unit 113 receives the request for the function of the first program until the update is completed in the entire cluster C. That is, the processor 11 that functions as the reception unit 113 is an example of a processor that receives a request for the function of the first program when at least any one of this device and other information processing devices constituting the cluster together with this device has not completed the update of the first program.
[0107] In addition, the processors 11 of the plurality of information processing devices 1 constituting the cluster C all function as the reception unit 113. That is, these processors 11 are examples of processors that receive a request for the function of the first program from the terminal when at least any one of the plurality of information processing devices constituting the cluster has not completed the update.
[0108] The determination unit 114 obtains the information of the update information DB 121 and the program DB 122 through the execution unit 112, obtains the notification received by the reception unit 117, reads the cluster structure DB 123, and makes various determinations. The determination unit 114 determines the update status of the first program in this device.
[0109] In addition, in the first embodiment, the determination unit 114 uses the notification obtained by the reception unit 117 and the content of the cluster structure DB 123 to determine whether the update of the first program is completed in the entire cluster C. When the update of the first program has not been completed in the entire cluster C, the determination unit 114 determines the information processing device 1 that has not completed the update (hereinafter also referred to as the unupdated device). As Figure 7 shown by the dotted line in, the execution unit 112 may start executing the above update according to the determination result of the determination unit 114.
[0110] In the first embodiment, when the update in the own device is completed and the determination unit 114 determines that all the other information processing devices 1 in the cluster C have completed the update of the first program, the transmission unit 115 transmits a notice indicating that the own device has finally completed the update (hereinafter referred to as the first notice) to each of the other information processing devices 1 in the cluster C. That is, the processor 11 that functions as the transmission unit 115 and the determination unit 114 is an example of a processor that, when the own device completes the update after all the other information processing devices have completed the update, transmits the first notice indicating that the own device has finally completed the update to each of the other information processing devices.
[0111] When the update in the own device is completed and the determination unit 114 determines that there is an unupdated device in the cluster C, the transmission unit 115 in the first embodiment selects at least one of the unupdated devices determined by the determination unit 114 and transmits a notice indicating that the own device has completed the update of the first program (hereinafter referred to as the second notice) to the unupdated device. That is, the processor 11 that functions as the transmission unit 115 and the determination unit 114 is an example of a processor that, when the own device completes the update, if there is an unupdated device among the other information processing devices that has not completed the update, transmits the second notice indicating that the own device has completed the update to at least one of the unupdated devices.
[0112] When each of the plurality of information processing devices 1 constituting the cluster C executes the update from the first program to the second program, the provision unit 116 provides the functions of the first program, the functions of the second program, and the functions repeated in these programs according to the progress of the update. In the first embodiment, when the determination unit 114 determines that the own device and all the other information processing devices 1 in the cluster C have completed the update of the first program, the provision unit 116 provides the functions of the second program to the user. That is, the processor 11 that functions as the provision unit 116 and the determination unit 114 is an example of a processor that provides the functions of the second program to the user when the own device and the other information processing devices have both completed the update of the first program.
[0113] In addition, the processors 11 of the plurality of information processing devices 1 constituting the cluster C all function as the provision unit 116 and the determination unit 114. That is, these processors 11 are respectively examples of processors that provide the functions of the second program to the user of the terminal when all the plurality of information processing devices constituting the cluster have completed the update of the first program.
[0114] For example, when the transmitting unit 115 transmits the above-mentioned first notification, the determination unit 114 determines that the update of the first program has been completed for both this device and another information processing device 1 in the cluster C. When the transmitting unit 115 transmits the first notification, the providing unit 116 starts providing the functions of the second program. That is, the processor 11 that functions as the providing unit 116 is an example of a processor that provides the functions of the second program when the transmitting unit 115 transmits the first notification.
[0115] The receiving unit 117 receives the above-mentioned first notification and second notification sent by another information processing device 1. Additionally, Figure 7 the receiving unit 117 shown receives a request from a user for the functions of a program forwarded from another information processing device 1. The determination unit 114 monitors the category of the notifications received by the receiving unit 117 and determines the update status.
[0116] For example, when the receiving unit 117 receives the above-mentioned first notification from any one of the information processing devices 1 in another information processing device 1, the information processing device 1 that sent the first notification was the last to complete the update of the first program in the cluster C. At this time, the determination unit 114 conveys to the providing unit 116 the situation that the update has been completed throughout the cluster C, and the providing unit 116 starts providing the functions of the second program. That is to say, the processor 11 that functions as the providing unit 116 is an example of a processor that provides the functions of the second program when receiving the first notification from any one of the other information processing devices.
[0117] Furthermore, for example, when the receiving unit 117 receives the above-mentioned second notification from any one of the information processing devices 1 in another information processing device 1, the information processing device 1 that sent the second notification has completed the update of the first program, but it is not the information processing device 1 that was the last to complete the update in the cluster C. When the receiving unit 117 receives the second notification from any one of the information processing devices 1 in another information processing device 1, the determination unit 114 determines based on the content of the second notification whether there is an unupdated device among the other information processing devices 1.
[0118] That is to say, the processor 11 that functions as the determination unit 114 is an example of a processor that, when receiving the second notification from any one of the other information processing devices, determines whether there is an unupdated device among the other information processing devices based on the content of the received second notification.
[0119] When the determination unit 114 determines that there is an unupdated device among the other information processing devices 1, it conveys this situation to the transmitting unit 115. At this time, the transmitting unit 115 generates a new second notification with the meaning that this device has completed the update appended to the content of the second notification received by the receiving unit 117 and sends it to any one of the unupdated devices among the unupdated devices.
[0120] That is, the processor 11 that functions as the transmission unit 115 is an example of a processor as follows: when the determination unit 114 determines that there is an unupdated device, the processor transmits a new second notification indicating that the update of this device has been completed together with the content of the received second notification.
[0121] On the other hand, when the determination unit 114 determines that there is no unupdated device in the other information processing device 1, this meaning is also conveyed to the transmission unit 115. After that, when the determination unit 114 determines that the update of the first program has been completed in this device, the transmission unit 115 transmits the above first notification to each information processing device 1 in the other information processing devices 1 in the cluster C.
[0122] That is, the processor 11 that functions as the transmission unit 115 is an example of a processor that transmits the first notification when the determination unit 114 determines that there is no unupdated device.
[0123] After the update of the first program is completed in this device, when the reception unit 113 receives a request for the function of the first program from the user, the transfer unit 118 transfers the request to the unupdated device. That is, the processor 11 that functions as the transfer unit 118 is an example of a processor as follows: when the processor receives a request for the function of the first program from the user after the update of this device is completed, the processor transfers the request to other information processing devices that have not completed the update.
[0124] When a request for the function of the first program is transferred from the transfer unit 118 implemented by the processor 11 of the other information processing device 1, the reception unit 117 receives the request. When the reception unit 117 receives the request, the provision unit 116 provides the function of the requested first program to the terminal 2 of the user who issued the request. That is, the processor 11 that functions as the provision unit 116 is an example of a processor that provides the function indicated by the request when the request is transferred from any of the other information processing devices.
[0125] In addition, after the update from the first program to the second program is completed, when the memory 12 continues to store the first program in an executable state in the program DB 122, the processor 11 may also provide the function of the first program after the update. In this case, the processor 11 may not function as the above transfer unit 118.
[0126] <Operation of the information processing device>
[0127] The processor 11 of the information processing apparatus 1 executes "actions accompanying the completion of an update" and "operations for switching provided functions". In addition, the processor 11 may also perform "actions for transfer requests". The processor 11 executes these actions in parallel respectively. In addition, the "actions accompanying the completion of an update" include "actions for determining whether there is an unupdated device".
[0128] <Actions accompanying the completion of an update>
[0129] Figure 8 is a flowchart showing an example of the process of actions accompanying the completion of an update. The processor 11 of the information processing apparatus 1 acquires update information (step S101) from an external device (not shown) via the communication line 3, and performs an update using this update information (step S102).
[0130] When the update from the first program to the second program is completed, the processor 11 determines whether there is an unupdated device in the cluster C (step S200).
[0131] <Actions for determining whether there is an unupdated device>
[0132] Figure 9 is a flowchart showing an example of the process of actions for determining whether there is an unupdated device. The Figure 9 actions shown are Figure 8 the detailed actions of step S200 in the flowchart shown.
[0133] The processor 11 of the information processing apparatus 1 enters the devices other than this device (i.e., other information processing apparatuses 1) described in the cluster structure DB 123 in a list indicating candidates for unupdated devices (hereinafter referred to as the unupdated device list) (step S201). The unupdated device list is stored, for example, in the RAM of the memory 22.
[0134] Figure 10 is a diagram showing an example of the unupdated device list. As described above, Figure 5 the cluster structure DB123 shown stores nine device IDs from "Q21" to "Q29" as the identification information of the information processing apparatuses 1 in the cluster C that update the first program using the update information identified by the update ID "D01".
[0135] When the update ID of the acquired update information is "D01", the processor 11 of the information processing apparatus 1 determines the nine device IDs from the above "Q21" to "Q29" as the identification information of other information processing apparatuses 1 corresponding to the update information. And when the identification information of this device is "Q22", the processor 11 enters the eight device IDs obtained by excluding "Q22" from the determined device IDs in the above unupdated device list. Thus, Figure 10The unupdated device list shown in (a).
[0136] Next, as shown in Figure 9 the processor 11 determines whether the second notification has been received (step S202). When it is determined that the second notification has been received (step S202; YES), the processor 11 deletes the identification information of the information processing device 1 recorded in the received second notification from the unupdated device list (step S203).
[0137] On the other hand, when it is determined that the second notification has not been received (step S202; NO), the processor 11 does not execute step S203, and the process proceeds to step S204.
[0138] Figure 11 FIG. is an example showing the second notification. Figure 11 The second notification shown in (a) of is the second notification in which the three device IDs "Q24", "Q27", and "Q29" are recorded. This second notification indicates that the information processing device 1 identified by these three device IDs has completed the update from the first program to the second program.
[0139] When the processor 11 of the information processing device 1 determines that the second notification shown in (a) of Figure 11 has been received, the three device IDs recorded in the second notification are deleted from the unupdated device list. When the unupdated device list is the list shown in (a) of Figure 10 three device IDs are deleted from the eight device IDs recorded therein, and a new unupdated device list shown in (b) of Figure 10 is generated. This unupdated device list stores the device IDs "Q21", "Q23", "Q25", "Q26", and "Q28" as candidates for unupdated devices.
[0140] Next, as shown in Figure 9 the processor 11 determines whether one or more device IDs indicating candidates for unupdated devices are recorded in the unupdated device list (step S204).
[0141] When it is determined that one or more device IDs of unupdated devices are recorded in the unupdated device list (step S204; YES), the processor 11 determines that there is an unupdated device (step S205), and adds the identification information of this device to the received second notification to generate a new second notification (step S206). That is, this processor 11 is an example of a processor that includes the identification information of this device in the second notification and transmits it.
[0142] On the other hand, when it is determined that there is no device ID of one or more unupdated devices recorded in the unupdated device list (step S204; No), the processor 11 determines that there are no unupdated devices (step S207).
[0143] For example, when the processor 11 of the information processing device 1 generates Figure 10 the unupdated device list shown in (b) of, it is determined that there is a device ID of one or more unupdated devices recorded in the unupdated device list. Then, the processor 11 adds "Q22", which is the device ID of this device, to the received second notification shown in (a) of Figure 11 to generate a new second notification shown in (b) of Figure 11 The above description is the detailed content of the operation of determining whether there are unupdated devices in step S200.
[0144] Next, as shown in Figure 8 when it is determined that there are unupdated devices in the cluster C (step S200; Yes), the processor 11 selects any unupdated device from these unupdated devices (step S103), sends a second notification to the selected unupdated device (step S104), and ends the process.
[0145] On the other hand, if it is determined that there are no unupdated devices in the cluster C (step S200; No), the processor 11 sends a first notification to each of the other information processing devices 1 in the cluster C (step S105), starts providing the function of the second program (step S106), and ends the process.
[0146] <Action of switching the provided function>
[0147] Figure 12 is a flowchart showing an example of the operation flow of switching the provided function. The processor 11 of the information processing device 1 determines whether the first notification has been received or sent (step S111).
[0148] When it is determined that the first notification has been received or sent (step S111; Yes), the processor 11 starts providing the function of the second program (step S112). Therefore, the processor 11 switches the provision of the function of the first program in this device to the provision of the function of the updated second program. Since the first notification is simultaneously notified to one of the information processing devices 1 in the cluster C, in other information processing devices 1, the provided function is also switched synchronously with this device.
[0149] On the other hand, when it is determined that the first notification has not been received or sent (step S111; No), the processor 11 continues to provide the function of the first program (step S113).
[0150] <Operation of transfer request>
[0151] Figure 13 It is a flowchart showing an example of the operation process of a transfer request. The processor 11 of the information processing apparatus 1 determines whether a request for the function of the first program has been received from a user via any terminal 2 and communication line 3 of the information processing system 9 (step S121).
[0152] When it is determined that the request for the function of the first program has not been received (step S121; NO), the processor 11 continues the determination process of step S121.
[0153] On the other hand, when it is determined that the request for the function of the first program has been received (step S121; YES), the processor 11 determines whether the update from the first program to the second program has been completed in this apparatus (step S122).
[0154] When it is determined that the above update has been completed (step S122; YES), the processor 11 transfers the received request to any unupdated apparatus (step S123).
[0155] On the other hand, when it is determined that the above update has not been completed (step S122; NO), the processor 11 provides the function of the first program in response to the received request (step S124).
[0156] As described above, by executing the described operations, the multiple information processing apparatuses 1 constituting the cluster C continue to provide the function of the first program until any one of the information processing apparatuses 1 has completed the update from the first program to the second program, and when any one of the information processing apparatuses 1 has completed the update, the function of the second program is provided simultaneously. Therefore, regardless of which information processing apparatus 1 in the cluster C the user using the cluster C is assigned to, there is no difference in the functions provided at a common timing. Also, in this first embodiment, before the entire cluster C completes the program update, the user does not request the updated function, so there is no confusion caused by the inability to provide the function.
[0157] That is, the information processing system 9 of the first embodiment suppresses the difference in the functions provided to the user by each of the information processing apparatuses 1 when updating the first program of each information processing apparatus 1 to the second program in the cluster C composed of multiple information processing apparatuses 1.
[0158] <Modification example of the first embodiment>
[0159] The above is the description of the first embodiment, but the content of this first embodiment can be modified as follows. In addition, the following modification examples can also be combined.
[0160] <1-1>
[0161] In the above first embodiment, the cluster C does not have the management device of the management information processing device 1, but the cluster C may have a management device. In this case, multiple information processing devices 1 that make up the cluster may not send at least one of the first notification and the second notification to other information processing devices 1.
[0162] Figure 14 FIG. is an example showing the overall structure of the information processing system 9a in the modified example. The information processing system 9a includes multiple information processing devices 1a, a terminal 2, a communication line 3, and a management device 4. The management device 4 and the information processing device 1a together form a cluster Ca. The management device 4 is a computer that manages the information processing device 1a that forms the cluster Ca together with the management device 4. That is, the information processing system 9a having the management device 4 is an example of an information processing system that has a terminal and multiple information processing devices that form a cluster, and has a management device that manages these multiple information processing devices.
[0163] Figure 15 FIG. is an example showing the structure of the information processing device 1a in the modified example. As Figure 15 shown, except that the cluster structure DB 123 is not stored in the memory 12, the information processing device 1a has the same structure as the Figure 2 information processing device 1 shown. Therefore, these multiple information processing devices 1a are examples of multiple information processing devices each having a processor that executes the first program.
[0164] Figure 16 FIG. is an example showing the structure of the management device 4 in the modified example. Figure 16 The management device 4 shown includes a processor 41, a memory 42, and an interface 43. Except for the different databases stored in the memory 42, it has the same structure as the processor 11, the memory 12, and the interface 13 of the information processing device 1a. Figure 16 The memory 42 of the management device 4 shown stores the cluster structure DB 423.
[0165] Figure 17 FIG. is a diagram showing an example of the structure of the cluster structure DB 423. Figure 17 The cluster structure DB423 shown is a database that stores information indicating the structure of the cluster Ca to which the information processing device 1a belongs. Figure 17 The cluster structure DB423 shown has an update ID list 4231 and a device list 4232. The update ID list 4231 has the same structure as the Figure 5 update ID list 1231 in the cluster structure DB123 shown.
[0166] On the other hand, the device list 4232 in the cluster structure DB 423 is different in that, in addition to Figure 5 the device list 1232 shown in, a column indicating the "status" of the update of the information processing device 1a identified by each device ID is provided. When the processor 41 of the management device 4 receives a notification of the completion of the update (hereinafter referred to as the completion notification) from each information processing device 1a, the "status" column is rewritten accordingly. For example, when the processor 41 receives a completion notification from an arbitrary information processing device 1a, the processor 41 changes the "status" column corresponding to the identification information of the information processing device 1a from "incomplete" indicating unupdated to "completed" indicating updated completion.
[0167] <Actions accompanying update completion in the modified example>
[0168] Figure 18 is a flowchart showing an example of a process of actions accompanying update completion in the modified example. The processor 11 of the information processing device 1a acquires update information from an external device (not shown) via the communication line 3 (step S101), and performs an update using the update information (step S102).
[0169] When the update from the first program to the second program is completed, the processor 11 determines whether this device is specified in advance at the beginning in a list (not shown) indicating the order of the information processing devices 1a for which the update is to be performed, or determines whether an instruction for confirming the urging of the update (hereinafter referred to as the confirmation instruction) is received from the management device 4 (step S131).
[0170] In the case where it is determined that this device is not specified at the beginning in the above list and no confirmation instruction is received from the management device 4 (step S131; NO), the processor 11 continues the determination process in this step S131.
[0171] On the other hand, in the case where it is determined that this device is specified at the beginning in the above list or a confirmation instruction is received from the management device 4 (step S131; YES), the processor 11 sends the above completion notification indicating that the update in this device has been completed, and asks the management device 4 whether there is an unupdated device (step S132). That is, the processor 11 that sends the completion notification to the management device 4 is an example of a processor that notifies the management device of this situation when the update is completed.
[0172] <Actions of the management device in the modified example>
[0173] Figure 19It is a flowchart showing an example of the operation process of the management device 4. The processor 41 of the management device 4 determines whether the above-mentioned completion notice and inquiry are received (step S301). During the period when it is determined that these notices and inquiries are not received (step S301; No), the process of this determination continues.
[0174] On the other hand, when it is determined that the above-mentioned completion notice and inquiry are received (step S301; Yes), the processor 41 reads out the cluster structure DB 423 from the memory 42, and changes the "status" column corresponding to the device ID of the information processing device 1a as the inquiry source in the above device list 4232 to the content indicating that the update is "completed" (step S302).
[0175] The processor 41 then determines whether there is a device whose update is not completed, that is, an unupdated device, recorded in the device list 4232 of the cluster structure DB 423 (step S303).
[0176] When it is determined that there is an unupdated device recorded in the device list 4232 (step S303; Yes), the processor 41 responds to the above inquiry by replying that there is an unupdated device (step S304), and sends a confirmation instruction to any one of the unupdated devices among the unupdated devices (step S305). Thus, the unupdated device that has received the confirmation instruction is urged to confirm the update.
[0177] On the other hand, when it is determined that there is no unupdated device recorded in the device list 4232 (step S303; No), the processor 41 responds to the above inquiry by replying that there is no unupdated device (step S306), and sends an instruction for switching the provided function (hereinafter referred to as a switching instruction) to each information processing device 1a in the cluster Ca (step S307). The above is the detail of the operation of the management device 4 for replying to the inquiry from the information processing device 1a.
[0178] Next, as Figure 18 shown, the processor 11 of the information processing device 1a determines whether there is an unupdated device in the cluster Ca based on the reply from the management device 4 (step S133).
[0179] When it is determined that there is no unupdated device in the cluster Ca (step S133; No), the processor 11 advances the process to step S106.
[0180] On the other hand, when it is determined that there is an unupdated device in the cluster Ca (step S133; Yes), the processor 11 determines whether a switching instruction has been sent from the management device 4 (step S134).
[0181] When the processor 11 determines that no switching instruction has been sent from the management device 4 (step S134; NO), the processor 11 continues the process of this determination.
[0182] On the other hand, when it is determined that a switching instruction has been sent from the management device 4 (step S134; YES), the processor 11 starts providing the functions of the second program (step S106).
[0183] As described above, when the management device 4 determines through inquiry that there is no unupdated device, and when a switching instruction is sent from the management device 4 to this device, the processor 11 of the information processing device 1a starts providing the functions of the second program. Therefore, the difference in the functions provided to the user by the multiple information processing devices 1a constituting the cluster Ca can be suppressed.
[0184] Although the processor 11 of the information processing device 1a sends an inquiry to the management device 4 regarding the existence of unupdated devices, the processor 11 of the information processing device 1a may also request information indicating whether each of the multiple information processing devices 1a constituting the cluster Ca has completed the update, and acquire this information. When this inquiry is made, in addition to the determination result of the existence of unupdated devices, the processor 11 can also determine which information processing device 1a is the unupdated device.
[0185] In addition, for example, when the update from the first program to the second program is completed and the first program is overwritten and becomes in an unexecutable state, if the user requests the functions of the first program after the update in this device, the requested functions cannot be provided in this device. At this time, the processor 11 can determine the unupdated device by issuing the above request. Then, the processor 11 can transfer the request for the functions of the first program received from the user to the determined unupdated device. In this case, the processor 11 is an example of a processor that obtains information indicating whether each of the multiple information processing devices has completed the update of the first program from the management device.
[0186] <1-2>
[0187] In the above first embodiment, the order of executing the update from the first program to the second program is not determined for the multiple information processing devices 1 constituting the cluster C, but this order can also be determined in advance.
[0188] Figure 20 It is a diagram showing an example of the structure of the information processing device 1b in the modification example. The information processing device 1b determines the order of executing the update in advance. Figure 20 The information processing device 1b shown is the same as Figure 2The information processing apparatus 1 shown is different in that the cluster structure DB 123b is stored in the memory 12 instead of in the cluster structure DB 123.
[0189] Figure 21 FIG. is a diagram showing a structural example of the cluster structure DB 123b in the modified example. Figure 21 The cluster structure DB123b shown has an update ID list 1231 and a device list 1232b.
[0190] The device list 1232b in the cluster structure DB 123b is different in that, in addition to Figure 5 the device list 1232 shown, a column for "path information" indicating the update of the information processing apparatus 1b identified by each device ID is provided. This "path information" is information indicating the update order of the information processing apparatus 1b and is, for example, a positive integer.
[0191] <Actions accompanying update completion in the modified example>
[0192] Figure 22 FIG. is a flowchart showing an example of a process of actions accompanying update completion in the modified example. The processor 11 of the information processing apparatus 1b acquires update information from an external apparatus (not shown) via the communication line 3 (step S101) and performs an update using this update information (step S102).
[0193] When the update from the first program to the second program ends, the processor 11 refers to the cluster structure DB 123b and determines whether this apparatus is the first in the path information (step S141).
[0194] For example, if "1" is recorded in the "path information" of the device list 1232b in the cluster structure DB 123b, the processor 11 determines that this apparatus is the first in the path information (step S141; YES) and sends a second notification to the information processing apparatus 1b immediately following this apparatus (in this case, for example, the information processing apparatus 1b with "path information" of "2") (step S142).
[0195] On the other hand, if it is determined that this apparatus is not the first in the path information (step S141; NO), the processor 11 determines whether a second notification has been received from the information processing apparatus 1b that is immediately before this apparatus in the path information (step S143), and during the period when it is determined that the second notification has not been received (step S143; NO), the process of this determination continues.
[0196] On the other hand, when it is determined that a second notification has been received from the information processing apparatus 1b that is immediately before this apparatus in the path information (step S143; YES), the processor 11 determines whether this apparatus in the path information is at the end (step S144).
[0197] That this device is the last in the path information means that the completion of the update of this device is the completion of the last update in cluster C. That is, the processor 11 is an example of determining whether this device is the last processor to complete the update based on the path information indicating a predetermined path included in the update information.
[0198] When it is determined that this device is not the last in the path information (step S144; No), the processor 11 advances the process to step S142 and sends a second notification to the information processing device 1b immediately following this device (in this case, for example, the information processing device 1b whose "path information" is 1 greater than the "path information" of this device) (step S142).
[0199] When it is determined that this device is the last in the path information (step S144; Yes), the processor 11 sends a first notification to each of the other information processing devices 1b in cluster C (step S105), starts providing the functions of the second program (step S106), and ends the process.
[0200] <1-3>
[0201] In the above first embodiment, the second notification is sent to any of the unupdated devices determined by the processor 11, but it is not limited thereto. For example, in cluster C, when multiple information processing devices 1 perform updates in parallel, sometimes the notification destination determined to be an unupdated device has already completed the update. Therefore, when there is a response to the second notification, the information processing device 1 can modify the candidates for unupdated devices.
[0202] <Actions for responding to the second notification in the modification example>
[0203] Figure 23 It is a flowchart showing an example of an action flow for responding to the received second notification. The processor 11 of the information processing device 1 determines whether it has received a second notification from another information processing device 1 (step S151), and during the period when it is determined that the second notification has not been received (step S151; No), the process of this determination continues.
[0204] On the other hand, when it is determined that the second notification has been received (step S151; Yes), the processor 11 determines whether the update in this device has been completed (step S152). When it is determined that the update in this device has not been completed (step S152; No), the processor 11 ends the process.
[0205] On the other hand, when it is determined that the update in this device is completed (step S152; Yes), the processor 11 returns to the information processing device 1 that sent the second notification that this device is not an un-updated device (step S153).
[0206] Figure 24 It is a flowchart showing an example of an operation process for modifying candidates for un-updated devices in response to a reply. Figure 24 The actions shown include Figure 8 all the steps shown. After step S104, the processor 11 of the information processing device 1 determines whether a reply indicating that it is not an un-updated device has been returned from the information processing device 1 that sent the second notification (step S161).
[0207] When it is determined that a reply indicating that it is not an un-updated device has not been returned from the information processing device 1 that sent the second notification (step S161; No), the processor 11 ends the process. On the other hand, when it is determined that a reply indicating that it is not an un-updated device has been returned from the information processing device 1 that sent the second notification (step S161; Yes), the processor 11 deletes the information processing device 1 that is the return source from the candidates for un-updated devices (step S162). In this case, for example, the processor 11 can store the device ID of the information processing device 1 that has returned a reply indicating that it is not an un-updated device in the memory 12, and when generating the above un-updated device list, the processor 11 can delete the device ID from the generated un-updated device list.
[0208] According to this structure, in an environment where updates are executed in parallel, etc., even when the wrong information processing device 1 is determined as an un-updated device based on the content of the second notification, the determination can be corrected based on the reply from the information processing device 1 that sent the second notification.
[0209] <1-4>
[0210] In the above first embodiment, the processor 11 of the information processing device 1 deletes the identification information of the information processing device 1 recorded in the received second notification from the un-updated device list, and determines whether there is an un-updated device based on whether there is a device ID recorded in the un-updated device list, but the method for determining whether there is an un-updated device is not limited to this method. For example, the processor 11 can determine whether there is an un-updated device in the cluster C based on the number of device IDs included in the received second notification. In this case, the processor 11 only needs to store the number of information processing devices 1 constituting the cluster C in the memory 12 in advance, and use this number and the number of device IDs recorded in the second notification to determine whether there is an un-updated device in the cluster C.
[0211] That is, the processor 11 is an example of a processor that, when receiving a second notification from any one of other information processing devices, determines whether there is an unupdated device based on the number of identification information included in the received second notification.
[0212] <1-5>
[0213] In the above-described first embodiment, the processor 11 of the information processing device 1 appends the identification information of this device to generate a new second notification, but the second notification may not include the identification information of this device. For example, the second notification may include the number of these information processing devices 1 in cluster C instead of the identification information of the information processing device 1 that has completed the update.
[0214] When the processor 11 has not received a second notification from any one of other information processing devices 1 and this device has completed the update, the processor 11 generates a second notification stating "1" and sends it to any unupdated device. On the other hand, when the processor 11 has received a second notification from any one of other information processing devices 1 and determines that there is an unupdated device in cluster C, the processor 11 generates a second notification indicating the number obtained by adding 1 to the number indicated in the received second notification, and sends this second notification to any unupdated device. For example, if the number indicated in the received second notification is "3", the processor 11 increments it to newly generate a second notification stating "4".
[0215] In this case, the processor 11 only needs to store the number of information processing devices 1 constituting cluster C in the memory 12 in advance, and determine whether there is an unupdated device by comparing this number with the number indicated in the received second notification. That is, the processor 11 is an example of a processor that, when not receiving a second notification from any one of other information processing devices and this device has completed the update, sends a second notification indicating the number "1" of the information processing devices that have completed the update, and when receiving a second notification from any one of other information processing devices and determining that there is an unupdated device, sends a second notification indicating the number obtained by adding 1 to the number indicated in the received second notification.
[0216] <Second Embodiment>
[0217] In the second embodiment, the actions of the multiple information processing devices 1 included in the information processing system 9 upon completion of the update are different from those in the first embodiment.
[0218] <Actions upon Completion of Update in the Second Embodiment>
[0219] Figure 25 This is a flowchart showing an example of an operation process accompanying the completion of an update in the second embodiment. When the processor 11 of the information processing apparatus 1 acquires update information from an external apparatus (not shown) via the communication line 3 (step S101), it determines whether it has received a notice indicating that this apparatus is the first to complete the update (hereinafter referred to as the second notice) from any one of the plurality of information processing apparatuses 1 constituting the cluster C (step S171).
[0220] If it is determined that the second notice has not been received from any one of the plurality of information processing apparatuses 1 (step S171; NO), the processor 11 performs the update using the update information acquired in step S101 (step S102).
[0221] When the execution of this update is completed, the processor 11 determines again whether the second notice has been received from any one of the plurality of information processing apparatuses 1 (step S172). This is because the update takes time, and sometimes the situation changes between the time of step S171 and the time of step S172.
[0222] In step S172, if it is determined that the second notice has been received from any one of the plurality of information processing apparatuses 1 (step S172; YES), the processor 11 sends the second notice to the other information processing apparatuses 1 respectively (step S173). That is, this processor 11 is an example of a processor that sends a second notice indicating that this apparatus has completed the update first to the other information processing apparatuses before any one of the other information processing apparatuses has completed the update.
[0223] In addition, when the information processing system 9 has the management apparatus 4 as in the above-described information processing system 9a, the processor 11 may also send a completion notice to the management apparatus 4 in this step S173 and entrust the sending of the above-described second notice.
[0224] Then, the processor 11 starts providing the function of the second program (step S106) and ends the process. That is, this processor 11 is an example of a processor that provides the function of the second program when the second notice has been sent.
[0225] On the other hand, in step S171, if it is determined that the second notice has been received from any one of the plurality of information processing apparatuses 1 (step S171; YES), the processor 11 starts accepting requests for the function of the second program (step S174), performs the update using the update information acquired in step S101 (step S175), and ends the process.
[0226] That is, the processor 11 is an example of a processor that receives a request for the function of the second program from a user when receiving the third notification from any one of other information processing devices.
[0227] In addition, the case of receiving the third notification from any one of the plurality of information processing devices 1 refers to the case where other information processing devices 1 that are not this device among the plurality of information processing devices 1 constituting the cluster have completed the update. The case where this device sends the third notification refers to the case where this device among the plurality of information processing devices 1 constituting the cluster has completed the update.
[0228] In both of these cases, the information processing device 1 starts to provide the function of the second program. Therefore, the processor 11 is an example of a processor that receives a request for the function of the second program when at least one of this device and other information processing devices constituting the cluster with this device has completed the update.
[0229] In addition, the processors 11 of the plurality of information processing devices 1 constituting the cluster C start to provide the function of the second program in the above two cases. That is, these processors 11 are respectively examples of processors that receive a request for the function of the second program from the terminal when at least any one of the plurality of information processing devices constituting the cluster has completed the update.
[0230] In addition, when the information processing system 9 has the management device 4 as in the above information processing system 9a, the processor 11 may also send a completion notification to the management device 4 after completing the update in the above step S175.
[0231] According to this structure, when the plurality of information processing devices 1 constituting the cluster C respectively receive the third notification, they start to accept requests for the function of the second program all at once. Therefore, no matter which information processing device 1 among the information processing devices 1 constituting the cluster C the user using the cluster C is assigned to, the functions accepted at least at the common timing will not be different.
[0232] <Actions of the transfer request in the second embodiment>
[0233] When the information processing device 1 receives the third notification, it accepts a request for the function of the second program even when the update has not been completed in this device. However, when the update has not been completed and a request is received from the user, this device cannot respond to the request at least at that moment. Therefore, as a method of solving this problem, the information processing system 9 of the second embodiment performs transfer of the request.
[0234] Figure 26It is a flowchart showing an example of the operation process of a transfer request. The processor 11 of the information processing apparatus 1 determines whether a request for the function of the second program has been accepted (step S181). During the period when it is determined that the request has not been accepted (step S181; No), the process of this determination continues. In addition, the acceptance of this request includes the case where the request has been transferred from another information processing apparatus 1.
[0235] On the other hand, in the case where it is determined that a request for the function of the second program has been accepted (step S181; Yes), the processor 11 determines whether the update in this apparatus has been completed (step S182).
[0236] In the case where it is determined that the update has not been completed in this apparatus (step S182; No), the processor 11 transfers the accepted request to an information processing apparatus 1 (hereinafter referred to as the update-completed apparatus) that has completed the update among other information processing apparatuses 1 constituting the cluster C (step S183). That is, this processor 11 is an example of a processor that transfers the request to the processor of another information processing apparatus that has completed the update when a request for the function of the second program is accepted from the user before the update in this apparatus is completed.
[0237] On the other hand, in the case where it is determined that the update in this apparatus has been completed (step S182; Yes), the processor 11 provides the function of the second program in this apparatus (step S184).
[0238] In the case where the above request is accepted by being transferred from another information processing apparatus 1, since this apparatus is an update-completed apparatus, the determination in step S182 above is "Yes", and the processor 11 provides the function of the second program. That is, this processor 11 is an example of a processor that provides the function indicated by the request when a request for the function of the second program is transferred from any information processing apparatus among other information processing apparatuses. By this operation, before the update of the program in the cluster C is all completed, sometimes a request for the updated function is made from the user, but the situation where the function cannot be provided does not occur.
[0239] <Modification Example of the Second Embodiment>
[0240] The above is the description of the second embodiment, but the content of this second embodiment can be modified as follows. In addition, the following modification examples can be combined with each other, and can also be combined with the first embodiment and its modification examples described above.
[0241] <2-1>
[0242] In the above-described second embodiment, in order to eliminate the problem that requests received from the user cannot be handled when the update is not completed, the information processing apparatus 1 forwards the request to the update completion apparatus. However, the method for eliminating this problem is not limited to this. For example, the information processing apparatus 1 may provide the function of the second program requested after completing the update in the apparatus itself.
[0243] <Preserve the operation of function provision in the modification example>
[0244] Figure 27 is a flowchart showing an example of the operation flow of preserving function provision. Figure 27 The operation shown has Figure 26 each step except step S183 in the steps shown. Figure 27 When it is determined in step S182 that the update of the apparatus itself is not completed (step S182; NO) in the operation shown, the processor 11 continues the determination process of this step S182, which is different from Figure 26 the operation shown.
[0245] Through this operation, the information processing apparatus 1 does not forward the received request, but preserves the function provision corresponding to the request until the update is completed. That is, this processor 11 is an example of a processor that provides the function indicated by the request after completing the update when a request for the function of the second program is received from the user before the update of the apparatus itself is completed.
[0246] Therefore, the user who requests the function of the second program waits until the update is completed, but there is no difference in the functions received by the cluster C from the user.
[0247] <2-2>
[0248] In the above-described second embodiment, the cluster C does not have a management apparatus for managing the information processing apparatus 1, but the cluster C may have a management apparatus. In this case, the plurality of information processing apparatuses 1 constituting the cluster may entrust the management apparatus to send the third notification instead of directly sending the third notification to other information processing apparatuses 1. The information processing system according to this modification example has the structure of the information processing system 9a shown above Figure 14 And the processor 11 of the information processing apparatus 1a included in this information processing system 9a, in Figure 25 the step S173 shown, sends a completion notification indicating that the update of the apparatus itself has been completed to the management apparatus 4, and entrusts the sending of the above-described third notification.
[0249] In addition, this processor 11, after Figure 25 the step S175 shown, sends the above-described completion notification to the management apparatus 4. In this case, since the information processing apparatus 1a, in Figure 25In step S171 shown above, the third notification is received from another information processing device 1a, so it is not the information processing device that first completes the update in cluster Ca. Therefore, in this case, the processor 11 sends a completion notification to the management device 4, but does not entrust the sending of the third notification.
[0250] <Operation of the management device in the modified example>
[0251] Figure 28 It is a flowchart showing an example of the operation process of the management device 4 in the modified example. The processor 41 of the management device 4 determines whether a completion notification is received from any of the multiple information processing devices 1a (step S311). During the period when it is determined that no completion notification is received (step S311; No), the process of this determination continues.
[0252] On the other hand, when it is determined that the above-mentioned completion notification is received (step S311; Yes), the processor 41 reads out from the memory 42 Figure 17 the cluster structure DB 423 shown above. In the device list 4232, the "status" column corresponding to the device ID of the information processing device 1a that is the source of the completion notification is changed to the content indicating that the update is "completed" (step S312).
[0253] The processor 41 also determines whether there is a sending entrustment of the third notification together with the received completion notification (step S313).
[0254] When it is determined that there is a sending entrustment of the third notification (step S313; Yes), the processor 41 sends entrusted the third notification to each of the information processing devices 1a except for the information processing device 1a that is the source of the entrustment (step S314).
[0255] On the other hand, when it is determined that there is no sending entrustment of the third notification (step S313; No), the processor 41 ends the process.
[0256] In this structure, it is also when the third notification sent from the management device 4 is received by each of the multiple information processing devices 1a that the request for the function of the second program starts all at once. Therefore, no matter which information processing device 1a the user using the cluster Ca is assigned to, there will be no difference in the functions received at least at the same timing.
[0257] <Third Embodiment>
[0258] In the third embodiment, the update operations of the multiple information processing devices 1 included in the information processing system 9 are different from those in the first embodiment and the second embodiment.
[0259] <Update operation in the third embodiment>
[0260] Figure 29 It is a flowchart showing an example of the operation flow of the update in the third embodiment. Figure 29 The operations shown include Figure 8 all the steps shown. In the third embodiment, after the processor 11 of the information processing apparatus 1 obtains update information (step S101) and before performing an update using the update information (step S102), the processor 11 starts providing a repeated function (hereinafter referred to as the repeated function) of the first program and the second program (step S191). Starting to provide the repeated function means restricting the provided function to the repeated function and starting to accept it. That is, the processor 11 is an example of such a processor: when at least any one of this apparatus and other information processing apparatuses constituting a cluster together with this apparatus has not completed the update of the first program, the processor 11 accepts a request for the repeated function of the first program and the second program.
[0261] In addition, the processors 11 of the plurality of information processing apparatuses 1 constituting the cluster C all start providing the above-mentioned repeated function after obtaining the update information and before performing an update using the update information. That is, these processors 11 are examples of processors that accept a request for the repeated function of the first program and the second program from a terminal when at least any one of the plurality of information processing apparatuses constituting the cluster has not completed the update.
[0262] With this configuration, in the third embodiment, the plurality of information processing apparatuses 1 constituting the cluster C respectively obtain update information from an external apparatus simultaneously, and thus start providing the above-mentioned repeated function at a common timing.
[0263] After obtaining the update information, the processor 11 can start providing the above-mentioned repeated function, for example, at a predetermined date and time included in the update information. Therefore, even when there is a deviation in the acquisition timing of the update information, the plurality of information processing apparatuses 1 start providing the above-mentioned repeated function at a common timing.
[0264] <Operation of switching the function provided in the third embodiment>
[0265] Figure 30 It is a flowchart showing an example of the operation flow of switching the function in the third embodiment. Figure 30 The operations shown have step S192 in place of Figure 12 step S113 shown, and the other steps are the same as Figure 12 . When the processor 11 of the information processing apparatus 1 determines that the first notification has not been received or sent (step S111; NO), the processor 11 continues to provide the above-mentioned repeated function (step S192).
[0266] That is, in the third embodiment, each of the multiple information processing devices 1 constituting the cluster C provides the repeating function of the first program and the second program during the period when it has not received the first notification from other information processing devices 1 and has not sent the first notification itself. Further, when each of these multiple information processing devices 1 receives the first notification from other information processing devices 1 or when the device itself sends the first notification, it starts providing the function of the second program.
[0267] According to this configuration, the multiple information processing devices 1 constituting the cluster C end the provision of the repeating function at a common timing when the update is completed in all of these information processing devices 1, and start providing the function of the second program. That is, the processor 11 of the information processing device 1 is an example of a processor that provides the function of the second program to the user when the update of the first program is completed in both the device itself and other information processing devices.
[0268] Further, the processor 11 is an example of a processor that provides the function of the second program to the user of the terminal when the update is completed in the multiple information processing devices constituting the cluster. Therefore, in the third embodiment, before the update of the program is completed in the entire cluster C, a function that only exists after the update is not requested from the user, so there is no confusion due to the inability to provide this function.
[0269] According to the information processing system 9 of the third embodiment, the repeating function is provided during the period from the start of the update in each of the multiple information processing devices 1 to the completion of the update in the entire cluster C. Since this repeating function is a function included in both the first program and the second program, it is a function that can be provided before, during, and after the update. Therefore, in the third embodiment, the information processing device 1 can provide the function requested during the update and does not need to transfer it to other information processing devices 1.
[0270] <Common modification example>
[0271] The contents of the first embodiment, the second embodiment, and the third embodiment can be modified as follows. In addition, the following modification examples can be combined with each other, and can also be combined with the above-described respective embodiments and their modification examples.
[0272] <1>
[0273] In the above-described respective embodiments, the information processing device 1, the information processing device 1a, and the information processing device 1b have a processor 11 constituted by a CPU, but the control unit that controls these information processing devices 1 and the like may also have other configurations. For example, the information processing device 1 may have various processors and the like in addition to the CPU.
[0274] Here, the processor refers to a processor in a broad sense, including general-purpose processors (such as the above-mentioned CPU, etc.), dedicated processors (such as GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, programmable logic devices, etc.).
[0275] <2>
[0276] The operation of the processor 11 in each of the above embodiments may be constituted not only by one processor 11, but also by the cooperation of a plurality of processors located at physically separated positions.
[0277] In addition, the order of each operation of the processor is not limited to the order described in each of the above embodiments, and may be appropriately changed.
[0278] <3>
[0279] In the above embodiment, the processor 11 of the information processing device 1 may include the update information in the second notification or the third notification. In this case, it is only necessary to provide the update information to at least any one of the information processing devices 1 constituting the cluster C by an external device. The information processing device 1 that has been provided with the update information by the external device sends the second notification or the third notification to other information processing devices 1 when the update is completed in this device. The information processing device 1 that has received the second notification or the third notification can obtain the update information by extracting the update information contained therein.
[0280] <4>
[0281] In the above first embodiment, the program executed by the processor 11 of the information processing device 1 is an example of a program that causes a computer having a processor that executes the first program to perform the following steps: obtaining update information for performing an update from the first program to the second program; performing the update using the update information; when at least any one of this device and other information processing devices constituting the cluster with this device has not completed the update, accepting a request for the function of the first program; and when both this device and other information processing devices have completed the update, providing the function of the second program to the user.
[0282] In addition, in the above-described second embodiment, the program executed by the processor 11 of the information processing apparatus 1 is an example of a program that causes a computer having a processor that executes the first program to perform the following steps: obtaining update information for performing an update from the first program to the second program; performing the update using the update information; and accepting a request for the function of the second program when at least any one of this apparatus and other information processing apparatuses that form a cluster together with this apparatus has completed the update.
[0283] In addition, in the above-described third embodiment, the program executed by the processor 11 of the information processing apparatus 1 is an example of a program that causes a computer having a processor that executes the first program to perform the following steps: obtaining update information for performing an update from the first program to the second program; performing the update using the update information; accepting a request for the repeated function of the first program and the second program when at least any one of this apparatus and other information processing apparatuses that form a cluster together with this apparatus has not completed the update; and providing the function of the second program to the user when both this apparatus and the other information processing apparatuses have completed the update.
[0284] These programs can be provided in a state stored in a computer-readable recording medium such as a magnetic recording medium like a magnetic tape and a magnetic disk, an optical recording medium like an optical disc, a magneto-optical recording medium, or a semiconductor memory. In addition, this program can also be downloaded via a communication line such as the Internet.
Claims
1. An information processing apparatus having a processor that executes a first program, wherein the processor acquires update information for performing an update from the first program to a second program, and uses the update information to perform the update; wherein, when at least any one of the information processing apparatus and other information processing apparatuses that form a cluster together with the information processing apparatus has not completed the update, the processor accepts a request for the function of the first program; wherein, when both the information processing apparatus and the other information processing apparatuses have completed the update, the processor provides the function of the second program to the user; wherein, when the information processing apparatus completes the update after the other information processing apparatuses have completed the update, the processor separately sends a first notification indicating that the information processing apparatus has finally completed the update to the other information processing apparatuses; wherein, when the first notification is sent, the processor provides the function of the second program; wherein, when the first notification is received from any one of the other information processing apparatuses, the function of the second program is provided; wherein, when the information processing apparatus completes the update and there are still unupdated apparatuses that have not completed the update among the other information processing apparatuses, the processor sends a second notification indicating that the information processing apparatus has completed the update to at least any one of the unupdated apparatuses; wherein, when the second notification is received from any one of the other information processing apparatuses, the processor determines whether there are unupdated apparatuses among the other information processing apparatuses based on the content of the received second notification; wherein, when it is determined that there are unupdated apparatuses, the processor sends the second notification indicating that the information processing apparatus has completed the update together with the content of the received second notification; wherein, when it is determined that there are no unupdated apparatuses, the processor sends the first notification.
2. The information processing apparatus according to claim 1, wherein the processor includes the identification information of the information processing apparatus in the second notification and sends it, and when the second notification is received from any one of the other information processing apparatuses, the processor determines whether there are unupdated apparatuses based on the number of identification information included in the received second notification.
3. The information processing apparatus according to claim 1, wherein when the second notification is not received from any one of the other information processing apparatuses and the information processing apparatus has completed the update, the processor sends the second notification indicating "1", which is the number of information processing apparatuses that have completed the update; when the second notification is received from any one of the other information processing apparatuses and it is determined that there are unupdated apparatuses, the processor sends the second notification indicating the number obtained by adding 1 to the number indicated by the received second notification.
4. The information processing apparatus according to claim 1, wherein, the processor determines whether the information processing apparatus has finally completed the update according to path information indicating a pre-determined path included in the update information.
5. The information processing apparatus according to any one of claims 1 to 4, wherein, when a request for the function of the first program is received from a user after the update is completed in the information processing apparatus, the processor forwards the request to the other information processing apparatuses that have not completed the update, when the request is forwarded from any one of the other information processing apparatuses, the processor provides the function indicated by the request.
6. An information processing apparatus having a processor that executes a first program, the processor obtains update information for performing an update from the first program to a second program, the processor performs the update using the update information, when at least any one of the information processing apparatus and other information processing apparatuses that form a cluster together with the information processing apparatus has completed the update, the processor accepts a request for the function of the second program, when the information processing apparatus has completed the update before any one of the other information processing apparatuses has completed the update, the processor separately sends a third notification indicating that the information processing apparatus has completed the update first to the other information processing apparatuses, when the third notification is sent, the processor provides the function of the second program, when the third notification is received from any one of the other information processing apparatuses, the processor accepts a request for the function of the second program from the user.
7. The information processing apparatus according to claim 6, wherein, when a request for the function of the second program is received from a user before the information processing apparatus has completed the update, the processor forwards the request to the other information processing apparatuses that have completed the update, when the request is forwarded from any one of the other information processing apparatuses, the processor provides the function indicated by the request.
8. The information processing apparatus according to claim 6, wherein, when a request for the function of the second program is received from a user before the information processing apparatus has completed the update, the processor provides the function indicated by the request after completing the update.
9. An information processing apparatus having a processor that executes a first program, the processor obtains update information for performing an update from the first program to a second program, the processor performs the update using the update information, when at least any one of the information processing apparatus and other information processing apparatuses that form a cluster together with the information processing apparatus has not completed the update, the processor accepts a request for the repeated function of the first program and the second program. When the update is completed in both the information processing device and the other information processing device, the processor provides the function of the second program to the user. The repeated function is included in both the first program and the second program. After the update is completed in all of the other information processing devices and before the update is completed in the information processing device, the processor sends a first notification indicating that the information processing device has finally completed the update to each of the other information processing devices. When the first notification is sent, the processor provides the function of the second program. When the first notification is received from any one of the other information processing devices, the function of the second program is provided. When the update is completed in the information processing device and there are still un-updated devices that have not completed the update among the other information processing devices, the processor sends a second notification indicating that the information processing device has completed the update to at least any one of the un-updated devices. When the second notification is received from any one of the other information processing devices, the processor determines whether there are un-updated devices among the other information processing devices based on the content of the received second notification. When it is determined that there are un-updated devices, the processor sends a second notification indicating that the information processing device has completed the update together with the content of the received second notification. When it is determined that there are no un-updated devices, the processor sends the first notification.
10. An information processing system having a terminal and a plurality of information processing devices constituting a cluster. Each of the plurality of information processing devices has a processor that executes a first program. Each processor obtains update information for performing an update from the first program to the second program, performs the update using the update information, accepts a request for the function of the first program from the terminal when at least any one of the plurality of information processing devices has not completed the update, and provides the function of the second program to the user of the terminal when all of the plurality of information processing devices have completed the update. After the update is completed in all of the other information processing devices and before the update is completed in the information processing device, the processor sends a first notification indicating that the information processing device has finally completed the update to each of the other information processing devices. When the first notification is sent, the processor provides the function of the second program. When the first notification is received from any one of the other information processing devices, the function of the second program is provided. When the update is completed in the information processing device, if there are still unupdated devices in the other information processing devices that have not completed the update, the processor sends a second notification indicating that the information processing device has completed the update to at least any one of the unupdated devices. When the second notification is received from any information processing device among the other information processing devices, the processor determines whether there are unupdated devices in the other information processing devices according to the content of the received second notification. When it is determined that there are unupdated devices, the processor sends a second notification indicating that the information processing device has completed the update together with the content of the received second notification. When it is determined that there are no unupdated devices, the processor sends the first notification.
11. An information processing system having a terminal and a plurality of information processing devices constituting a cluster. The plurality of information processing devices each have a processor that executes a first program. Each of the processors obtains update information for performing an update from the first program to a second program, performs the update using the update information, and when at least any one of the plurality of information processing devices has completed the update, receives a request for the function of the second program from the terminal. Before any of the other information processing devices has completed the update, when the information processing device has completed the update, the processor separately sends a third notification to the other information processing devices indicating that the information processing device has completed the update first. When the third notification is sent, the processor provides the function of the second program. When the third notification is received from any information processing device among the other information processing devices, the processor receives a request for the function of the second program from the user.
12. An information processing system having a terminal and a plurality of information processing devices constituting a cluster. The plurality of information processing devices each have a processor that executes a first program. Each of the processors obtains update information for performing an update from the first program to a second program, performs the update using the update information, when at least any one of the plurality of information processing devices has not completed the update, receives a request for the repeated function of the first program and the second program from the terminal, and when all of the plurality of information processing devices have completed the update, provides the function of the second program to the user of the terminal. The repeated function is a function included in both the first program and the second program. After all of the other information processing devices have completed the update, when the information processing device has completed the update, the processor separately sends a first notification to the other information processing devices indicating that the information processing device has completed the update last. When the first notification is sent, the processor provides the function of the second program. When receiving the first notification from any one of the other information processing devices, provide the functions of the second program. When the update is completed in the information processing device and there are still unupdated devices in the other information processing devices that have not completed the update, the processor sends a second notification indicating that the update has been completed in the information processing device to at least any one of the unupdated devices. When receiving the second notification from any one of the other information processing devices, the processor determines whether there are unupdated devices in the other information processing devices according to the content of the received second notification. When it is determined that there are unupdated devices, the processor sends a second notification indicating that the update has been completed in the information processing device together with the content of the received second notification. When it is determined that there are no unupdated devices, the processor sends the first notification.
13. The information processing system according to any one of claims 10 to 12. Wherein, The information processing system has a management device for managing the plurality of information processing devices. When the update is completed, each processor notifies the management device of this situation. Each processor obtains information indicating whether the update has been completed for each of the plurality of information processing devices from the management device.
14. A computer-readable medium storing a program for causing a computer to execute processing, the computer having a processor for executing a first program. The processing includes the following steps: Obtain update information for performing an update from the first program to the second program; Use the update information to perform the update; When at least any one of the information processing device having the computer and other information processing devices forming a cluster together with the information processing device has not completed the update, accept a request for the functions of the first program; and When both the information processing device and the other information processing devices have completed the update, provide the functions of the second program to the user. After all the other information processing devices have completed the update and the information processing device completes the update, the processor sends a first notification indicating that the information processing device has finally completed the update to each of the other information processing devices. When the first notification is sent, the processor provides the functions of the second program. When receiving the first notification from any one of the other information processing devices, provide the functions of the second program. When the update is completed in the information processing device and there are still unupdated devices in the other information processing devices that have not completed the update, the processor sends a second notification indicating that the update has been completed in the information processing device to at least any one of the unupdated devices. When receiving the second notification from any one of the other information processing devices, the processor determines whether there is an un-updated device in the other information processing device according to the content of the received second notification. When it is determined that there is an un-updated device, the processor sends a second notification indicating that the information processing device has completed the update together with the content of the received second notification. When it is determined that there is no un-updated device, the processor sends the first notification.
15. A computer-readable medium storing a program for causing a computer to execute processing, the computer having a processor for executing a first program. The processing includes the following steps: Obtaining update information for performing an update from the first program to the second program; Performing the update using the update information; and When at least any one of the information processing device having the computer and other information processing devices forming a cluster together with the information processing device has completed the update, accepting a request for the function of the second program. Before any one of the other information processing devices has completed the update and the information processing device has completed the update, the processor separately sends a third notification indicating that the information processing device has completed the update first to the other information processing devices. When the third notification has been sent, the processor provides the function of the second program. When receiving the third notification from any one of the other information processing devices, the processor accepts a request for the function of the second program from the user.
16. A computer-readable medium storing a program for causing a computer to execute processing, the computer having a processor for executing a first program, and the processing includes the following steps: Obtaining update information for performing an update from the first program to the second program; Performing the update using the update information; When at least any one of the information processing device having the computer and other information processing devices forming a cluster together with the information processing device has not completed the update, accepting a request for the repeated function of the first program and the second program; and Providing the function of the second program to the user when both the information processing device and the other information processing devices have completed the update. The repeated function is a function included in both the first program and the second program. After all the other information processing devices have completed the update and the information processing device has completed the update, the processor separately sends a first notification indicating that the information processing device has completed the update last to the other information processing devices. When the first notification has been sent, the processor provides the function of the second program. When receiving the first notification from any one of the other information processing devices, provide the function of the second program. When the information processing device has completed the update and there are still unupdated devices among the other information processing devices that have not completed the update, the processor sends a second notification indicating that the information processing device has completed the update to at least any one of the unupdated devices. When receiving the second notification from any information processing device among the other information processing devices, the processor determines whether there are unupdated devices among the other information processing devices according to the content of the received second notification. When it is determined that there are unupdated devices, the processor sends a second notification indicating that the information processing device has completed the update together with the content of the received second notification. When it is determined that there are no unupdated devices, the processor sends the first notification.
17. An information processing method, obtaining update information for performing an update from a first program to a second program. Performing the update using the update information. When at least any one of the information processing device and other information processing devices that form a cluster together with the information processing device has not completed the update, accepting a request for the function of the first program. When both the information processing device and the other information processing devices have completed the update, providing the function of the second program to the user. After all the other information processing devices have completed the update and the information processing device completes the update, the processor sends a first notification indicating that the information processing device has finally completed the update to each of the other information processing devices. When the first notification has been sent, the processor provides the function of the second program. When receiving the first notification from any information processing device among the other information processing devices, providing the function of the second program. When the information processing device has completed the update and there are still unupdated devices among the other information processing devices that have not completed the update, the processor sends a second notification indicating that the information processing device has completed the update to at least any one of the unupdated devices. When receiving the second notification from any information processing device among the other information processing devices, the processor determines whether there are unupdated devices among the other information processing devices according to the content of the received second notification. When it is determined that there are unupdated devices, the processor sends a second notification indicating that the information processing device has completed the update together with the content of the received second notification. When it is determined that there are no unupdated devices, the processor sends the first notification.
18. A program product, including a program that causes a computer to perform processing, the computer having a processor that executes a first program. The processing includes the following steps: Obtaining update information for performing an update from the first program to the second program; Perform the update using the update information; When at least one of the information processing device having the computer and other information processing devices that form a cluster together with the information processing device has not completed the update, accept a request for the function of the first program; and When the information processing device and the other information processing devices have all completed the update, provide the function of the second program to the user, After all the other information processing devices have completed the update and the information processing device completes the update, the processor sends a first notification indicating that the information processing device has finally completed the update to each of the other information processing devices, When the first notification has been sent, the processor provides the function of the second program, When a first notification is received from any of the other information processing devices, provide the function of the second program, When the information processing device has completed the update and there are still unupdated devices among the other information processing devices that have not completed the update, the processor sends a second notification indicating that the information processing device has completed the update to at least any one of the unupdated devices, When a second notification is received from any of the other information processing devices, the processor determines whether there are unupdated devices among the other information processing devices based on the content of the received second notification, When it is determined that there are unupdated devices, the processor sends a second notification indicating that the information processing device has completed the update together with the content of the received second notification, When it is determined that there are no unupdated devices, the processor sends the first notification.
19. A program product that includes a program for causing a computer to perform processing, the computer having a processor that executes a first program, The processing includes the following steps: Obtain update information for performing an update from the first program to the second program; Perform the update using the update information; and When at least one of the information processing device having the computer and other information processing devices that form a cluster together with the information processing device has completed the update, accept a request for the function of the second program, Before any of the other information processing devices complete the update and the information processing device completes the update, the processor sends a third notification indicating that the information processing device has completed the update first to each of the other information processing devices, When the third notification has been sent, the processor provides the function of the second program, When a third notification is received from any of the other information processing devices, the processor accepts a request for the function of the second program from the user.
20. A program product comprising a program that causes a computer to perform processing, the computer having a processor that executes a first program, and the processing including the following steps: Obtaining update information for performing an update from the first program to a second program; Performing the update using the update information; Accepting a request for a repeated function of the first program and the second program when at least any one of an information processing device having a computer and other information processing devices that form a cluster together with the information processing device has not completed the update; and Providing the function of the second program to a user when both the information processing device and the other information processing devices have completed the update, The repeated function being a function included in both the first program and the second program, After all the other information processing devices have completed the update and when the information processing device completes the update, the processor separately sends a first notification indicating that the information processing device has finally completed the update to the other information processing devices, When the first notification is sent, the processor provides the function of the second program, When the first notification is received from any one of the other information processing devices, the function of the second program is provided, When the information processing device completes the update and when there are still unupdated devices that have not completed the update among the other information processing devices, the processor sends a second notification indicating that the information processing device has completed the update to at least any one of the unupdated devices, When the second notification is received from any one of the other information processing devices, the processor determines whether there are unupdated devices among the other information processing devices based on the content of the received second notification, When it is determined that there are unupdated devices, the processor sends a second notification indicating that the information processing device has completed the update together with the content of the received second notification, When it is determined that there are no unupdated devices, the processor sends the first notification.
Citation Information
Patent Citations
Update management program, management node, update management method, and cluster system
JP2009230171A
Information system and update method
JP2017004502A
Cluster system, update management device for cluster system, update distribution device, update management method, update distribution method and program
JP2018156555A
Information processing system, information processing method and information processing program
JP2019164531A