Embodiments will now be described, by way of example only, with reference to the accompanying drawings which are meant to be exemplary, not limiting, and wherein like elements are numbered alike in several Figures, in which:
a) shows an example of an update instruction accumulating table to be stored in a storage section of a control server;
b) shows an example of an update control table to be stored in a storage section of a control server; and
Referring to the drawings, the preferred embodiment of the present invention will be detailed in the following.
The program update system 5 serves as a system that allows an updating operator 3, such as a customer service engineer, etc., who conducts maintenance, trouble shooting and controlling operations of the image forming apparatus 30, to remotely update the program installed in the image forming apparatus 30 by using the designation terminal device 4, such as a cellular phone, a portable terminal device, or a computer located at a sales site.
In the program update system 5, it is assumed that the program update instructions are repeatedly transmitted from the designation terminal device 4 of the updating operator 3 for plural times within a short time period. Accordingly, the control server 10 stores and accumulates the received program update instructions in it until a next update timing arrives, without immediately implementing the update operation corresponding to the program update instruction just received. Then, when the next update timing has arrived, the control server 10 totally determines whether or not the update operations, with respect to the plural program update instructions received so far, are necessary, the order of updating operations, etc., so as to optimize the contents of the update instructions, and after that, implements the program update operations.
The designation terminal device 4 is provided with functions such as accepting the inputting operations of the program update instructions conducted by the updating operator 3, transmitting the program update instructions to the control server 10 in response to the inputting operations mentioned in the above, and receiving and displaying the notification of the updating results sent from the control server 10. The program update instructions and the notification of the updating results are bilaterally communicated through E-mail or a web page provided by the control server 10.
The program server 20 is provided with functions such as storing various kinds of programs, and downloading a stored program to the image forming apparatus 30 in response to a request for downloading.
The image forming apparatus 30 serves as a digital multifunctional apparatus that is provided with a copy function, a scanner function, a printer function, a facsimile function, etc., and includes optional apparatuses coupled to an main image forming apparatus 31, such as an automatic document feeder (ADF, Automatic Document Feeder) 32, a finisher (FNS, FiNiSher) 33, etc. The main image forming apparatus 31 is constituted by a scanner section for reading a document image, a printing section for printing a reproduced image on a recording paper, a display operating section serving as an interface section with the user, a communication section for communicating with various kinds of apparatuses coupled through the Internet 2, a storage section for storing digital image data, etc.
Further, the main image forming apparatus 31 is provided with a CPU (Central Processing Unit) serving as a control section (not shown in the drawings), and a rewritable and nonvolatile storage, such as a flash memory, etc., to store plural kinds of programs for controlling the operations to be conducted in the image forming apparatus 30. Concretely speaking, the plural kinds of programs, corresponding to the apparatus configuration, the mounting status of the optional apparatuses, etc., for instance, a main program for controlling the overall operations of the image forming apparatus 30, an ADF controlling program for controlling the automatic document feeder 32, a FNS controlling program for controlling the finisher 33, etc., are stored.
Still further, the image forming apparatus 30 is provided with such a function of downloading a concerned program from the program server 20 in response to an instruction sent from the control server 10, in order to update the program stored in it. From the security point of view, the image forming apparatus 30 accepts only the update instruction sent from the control server 10, which is already registered. In addition, the image forming apparatus 30 is provided with a polling function for confirming presence or absence of the update instruction addressed to itself with the control server 10 already registered.
The control server 10 transmits an update instruction in a unit of individual program. After receiving the update instruction, the image forming apparatus 30 updates the concerned program downloaded from the program server 20 according to the update instruction received, and then, notifies the control server 10 of the completion of update operation (namely, the updating result) so as to urge the transmission of the next update instruction. When continuously updating the plural programs, the abovementioned operations are repeated for plural times.
Still further, the image forming apparatus 30 is provided with a function of notifying the control server 10 of timing for updating the program. In this embodiment, the control server 10 is notified of a time period during which the user does not use the image forming apparatus 30 (namely, an unavailable time period). It is applicable that the control server 10 is notified of timing for updating the program at, for instance, the time when a sub-power source of the image forming apparatus 30 is turned OFF, the time when a time set by a weekly timer for reserving a deactivate period of the apparatus enters into the OFF time period, the time when the sub-power source of the image forming apparatus 30 is automatically turned OFF (power-saving mode) due to unused state of the apparatus for a predetermined time period, etc. In other words, the image forming apparatus 30 regards the time period, from the time when the power source of the apparatus is turned OFF under any one of the abovementioned conditions to the next time when the power source of the apparatus is again turned ON, as the unavailable time period during which the user does not use the image forming apparatus 30, and notifies the control server 10 of the unavailable time period as the timing for updating the program.
Yet further, when the user sets the weekly timer so that the apparatus power source is turned ON at 10:00 a.m. while turned OFF at 21:00 p.m. in everyday from Monday to Friday, since time periods from 21:00 p.m. to 10:00 a.m. of next morning from Monday to Friday and other time periods through the day and night in Saturday and Sunday can be regarded as the unavailable time period of the user, the image forming apparatus 30 notifies the control server 10 of such the setting information of the weekly timer as information indicating the unavailable time period concerned. Receiving the abovementioned notification from the image forming apparatus 30, the control server 10 implements the program update operations with respect to the image forming apparatus 30 at the timing of the unavailable time period notified from the apparatus concerned.
The control server 10 is further provided with a control information storing section 18 that stores control information serving as fundamental data for determining whether or not update operations are necessary and for determining an order of updating the programs concerned. In the control information storing section 18, the control information provided from the manufacturer of the image forming apparatus 30 are updated as needed so as to keep them in a newest state. The determining section 15 determines whether or not update operations are necessary and the updating sequence, not only based on the control information stored in the control information storing section 18, but also based on the apparatus information (for instance, a type and a system configuration of the apparatus concerned, version information with respect to the current program) to be acquired from the image forming apparatus 30. Incidentally, it is also applicable that the control information storing section 18 is configured as a part of the storage section 12.
The update time controlling section 13, serving as such a functional section that is functioned by executing a program retrieved from the programs stored in the ROM and temporally stored into the RAM by the CPU, conducts a notifying operation of the update timing (the unavailable time period by the weekly timer, etc.) received from the image forming apparatus 30, and determines the time for updating the program, based on the day and time established in its own apparatus and the current status of receiving the update instructions.
The grouping section 14, serving as such a functional section that is functioned by executing a program retrieved from the programs stored in the ROM and temporally stored into the RAM by the CPU, conducts the grouping operations by employing the methods of grouping update instructions, received by a prescribed time (for instance, 10 o'clock at night) of everyday, into a single group; grouping update instructions, received until a prescribed time interval (for instance, five hours) has elapsed from the time when an initial update instruction was received, into a single group; grouping update instructions, received before a prescribed time interval (for instance, two hours) has elapsed from the time when a latest update instruction was received, into a single group, when a next update instruction with respect to the same image forming apparatus 30 is not received until the prescribed time interval has elapsed; etc. Namely, the grouping section 14 achieves such the functions for accumulating the update instructions and for grouping them into a single group on the basis of a certain prescribed standard.
Incidentally, the scope of the grouping method is not limited to the abovementioned methods. Further, the program update system 5 is so constituted that settings of the grouping method are changeable according to the controlling actions of the control server 10 and the instructions outputted from the designation terminal device 4. Still further, it is also applicable that a group number, etc. can be designated in the update instruction to be transmitted from the designation terminal device 4, so as to group update instructions having the same group number into a specific group.
Further, the grouping operation, the operations for determining whether or not update operations are necessary and the updating sequence, and the implementation of the program update operation to be conducted by the controlling section 16 according to the determining result, may be conducted either at a time or at separate times, respectively. For instance, it is applicable that the program update system 5 is so constituted that, when the image forming apparatus 30 notifies the control server 10 of the update timing, the update instructions with respect to the image forming apparatus 30 concerned, accumulated so far in the storage section 12, are grouped into a specific group, and then, with respect to the update instruction included in the specific group, the determining section 15 determines whether or not update operations are necessary and the updating sequence, to control the program update operations according to the determining results made in the above.
The controlling section 16, serving as such a functional section that is functioned by executing a program retrieved from the programs stored in the ROM and temporally stored into the RAM by the CPU, continuously implements the program update operations with respect to a plurality of programs belonging to a single group as one lump package. Concretely speaking, the update operations of the plurality of programs are collectively implemented by continuously repeating the operations for transmitting an update instruction of one program to the image forming apparatus 30 and transmitting another update instruction of next program to the image forming apparatus 30, when receiving the notification of completing the update operation of the current program from the image forming apparatus 30, up to the number of the programs concerned. Each of the receiving section 11 and the notifying section 17 serves as such a functional sections that is functioned by executing a program retrieved from the programs stored in the ROM and temporally stored into the RAM by the CPU.
Each priority order indicated in the control information table 50 shown in
Incidentally, the current version 53 of each program is not registered in advance, but is acquired from the image forming apparatus 30 to be an update destination apparatus, at the time when implementing the program update operations, etc.
Next, referring to the control information table 50 stored in the control information storing section 18, the determining section 15 of the control server 10 retrieves the control information in regard to the concerned apparatus type from it. Successively, with respect to plural programs included in the group, the determining section 15 determines whether or not update operations are necessary and the updating sequence, based on the information 54 indicating the rule for the latest and appropriate combination of the retrieved control information, etc., (Step S122), and registers the determining results into the update control table (Step S123).
For instance, when plural update instructions are duplicated on a single program, the determining section 15 makes only one of them effective by deleting the other update instructions. Further, when plural update instructions for both a new version program and an old version program are duplicated on the same controlling object, for instance, the determining section 15 determines that update operations for the new version program are necessary, while those for the old version program are unnecessary. On the other hand, if there are established update conditions such that it is impossible to update a current program to the new version program unless the current program is once updated to the old version program, the determining section 15 determines whether or not update operations are necessary and the updating sequence according to such the update conditions. For instance, it is determined that the updating sequence is in order from the old version to the new version. An updating reservation of the program determined to be updated is accepted, and the update instructions with respect to the concerned program are registered into the update control table in order from one having the first updating sequence.
After that, the control server 10 transmits a reception result notification, indicating a fact that the update instruction was accepted and reserved, a fact that the update instruction has been deleted due to duplication of them, etc., to the designation terminal device 4 (Step S124; Arrow P2 shown in
Still after that, due to an arrival of the unavailable time period in the image forming apparatus 30, etc., when the image forming apparatus 30 notifies the control server 10 of the update timing (Step S125 and Step S142; Arrow P3 shown in
According to the update instructions received from the control server 10, the image forming apparatus 30 downloads the program from the program server 20, in order to implement the update operations of the program concerned (Step S143; Arrow P5. shown in
Receiving the update completion notification sent from the image forming apparatus 30, the control server 10 transmits the update result notification corresponding to the above to the designation terminal device 4 (Step S128; Arrow P7 shown in
Next, referring to
With respect to the four update instructions stored in the update instruction accumulating table 60, the determining section 15 determines whether or not update operations are necessary and the updating sequence, based on the standard indicated by the control information table 50 shown in
b) shows an update control table 70 created on the basis of the determining results mentioned in the above. As shown in
After the update control table 70 is created, the control server 10 notifies the designation terminal device 4 of the completion of receptions and reservations with respect to the update instruction A and update instruction B (Step S208, Step S209), the Exclusion cancellation with respect to the update instruction C and the Duplication cancellation with respect to the update instruction D (Step S211).
Next, the control server 10 confirms whether or not the image forming apparatus 30 currently enters into the unavailable time period during which the user does not use the apparatus (Step S212). When determining that the image forming apparatus 30 currently enters into the unavailable time period (namely, Spare time OK, Step S213), the control server 10 controls the program update operations according to the update control table 70.
Concretely speaking, initially, the control server 10 transmits the update instruction B registered in the leading area of the update control table 70 to the image forming apparatus 30 (Step S214), and then, notifies the designation terminal device 4 of the commencement of the update operations in regard to the update instruction B (Step S215). In response to the update instruction B sent from the control server 10, the image forming apparatus 30 downloads a program from the program server 20 to complete the update operations of the program concerned (Step S216), and then, notifies the control server 10 of the completion of the update operations with respect to the update instruction B (Step S217). The control server 10 serves as a repeater to further transmit the update completion notification received from the image forming apparatus 30 to the designation terminal device 4 (Step S218).
Successively, according to the same procedure mentioned in the above, the control server 10 implements the update operations with respect to the update instruction A (Steps S219 through S225). As a result, the program update operations with respect to the update instructions A, B, C and D received from the designation terminal device 4 are completed and finalized.
As mentioned in the foregoing, since the control server 10 receives a plurality of update instructions from the designation terminal device 4 of the customer service engineer, and determines an appropriate updating sequence and necessity or not of its update operations (such as the Duplication cancellation, the Exclusion cancellation, etc.) with respect to the plural programs designated by the received update instructions, so as to control the program update operations to be implemented in the image forming apparatus 30 according to the abovementioned determining results, it becomes possible to update the plural programs in the appropriate updating sequence, and as a result, it becomes possible to prevent the apparatus form entering into a malfunctioned state due to the erroneous update operations caused by an inappropriate updating sequence.
Further, since the control server 10 itself determines the updating sequence and the necessity or not of its update operations, it becomes possible to reflects latest information provided from the manufacturer of the apparatus onto the fundamental data (namely, control information table 50) speedily and in detail, and as a result, it becomes possible to appropriately control the program update operations of plural programs based on the latest information, compared to such the case that each image forming apparatus 30 individually determines the updating sequence and the necessity or not of its update operations.
Still further, since the program update operations are implemented during the unavailable time period in which the user does not use the image forming apparatus 30, it becomes possible to complete the program update operations without disturbing the usage of the user.
Referring to the drawings, the preferred embodiment of the present invention has been described in the foregoing. However, the scope of the present invention is not limited to the aforementioned embodiment. Any modifications and additions applied to the disclosed embodiment without departing from the spirit and scope of the invention shall be included in the scope of the present invention.
For instance, it is also applicable in the present invention that the control server 10 and the program server 20 are integrally configured as a single apparatus, as shown in
Further, the time for implementing the program update operations is not limited to the aforementioned unavailable time period of the image forming apparatus 30. It is also possible to implement the program update operations at an update timing determined by the control server 10 or at an appropriate timing determined on the basis of other conditions as needed.
Still further, it is applicable that the system is so constituted that the priority order and/or the instantaneous implementation for update instruction can be designated in the update instructions to be transmitted from the designation terminal device 4. Receiving the update instruction including the instantaneous implementation, the control server 10 could instantaneously implement the update instruction concerned by itself (in case of currently conducting another update operation, implements the update instruction concerned after completion of the other update operation), or could determine the updating sequence and the necessity or not of its update operations in relation to other update instructions previously received so as to instantaneously implement the update operations according to the determining result.
Still further, it is applicable that the system is so constituted that a plurality of image forming apparatuses 30 can be designated as an update destination apparatus by a single update instruction to be transmitted from the designation terminal device 4. In this case, the updating sequence and the necessity or not of its update operations are determined for every image forming apparatus 30 being the update destination apparatus.
Other than the above, it is also applicable that the system is so constituted that the designation terminal device 4 can inquire the updating sequence from the control server 10 to confirm the contents of the updating sequence, and/or can forcibly change the updating sequence.
Although the image forming apparatus 30 is exemplified as an external apparatus at the update destination site in the embodiment described in the foregoing, any other kind of apparatus could be possibly regarded as such the external apparatus, as far as a plurality of programs are installed in the apparatus and are updatable.
According to the program update control apparatus embodied in the present invention, since the program update control apparatus receives update instructions with respect to a plurality of programs from the portable terminal device of the customer service engineer etc., and determines the updating sequence of the programs designated by the update instructions concerned, so as to control the program update operations to be conducted in the external terminal apparatus according to the determined updating sequence, it becomes possible not only to update the plurality of programs in an appropriate updating sequence determined in the program update control apparatus itself, but also to prevent the external terminal apparatus, serving as an update destination apparatus, from exhibiting abnormal actions caused by an inappropriate updating sequence of the programs.
Further, since the updating sequence, etc. are determined in the program update control apparatus side, the fundamental data for the above determining operation should be updated only in the program update control apparatus. Accordingly, it becomes possible to reflects latest information provided from the manufacturer of the apparatus onto the fundamental data speedily and in detail, and as a result, it becomes possible to appropriately control the program update operations of plural programs based on the latest information, compared to such the case that each external terminal apparatus individually determines the updating sequence and the necessity or not of its update operations.
Still further, since necessity or not of update operations of each program is determined, it becomes possible to prevent duplicated update operations for the same program, wasted update operations for both new and old versions, erroneous program update operations due to an unmatched combination of programs, which would cause abnormal actions, etc.
Yet further, since the update operations are implemented during the time period in which the external terminal apparatus is not used, it becomes possible to update the programs without disturbing the usage of the external terminal apparatus conducted by the user.
While the preferred embodiments of the present invention have been described using specific term, such description is for illustrative purpose only, and it is to be understood that changes and variations may be made without departing from the spirit and scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
JP2006-163215 | Jun 2006 | JP | national |