Image forming apparatus, method and storage medium storing control program therefor allow to set a composite service and determine composite service is available with a combination of a control program

An image forming apparatus to which a composite service that can cause a plurality of devices to collaborate can be set, and in which a currently used control program and an upgraded control program can be stored, includes a determination unit configured to determine whether the composite service is available with a combination of a control program for the image forming apparatus and a control program for another device, and an activation unit configured to activate the control program for the image forming apparatus if the determination unit determines that the other device is usable for the composite service.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to an image forming apparatus, such as for example an apparatus including one or more of a copying machine, a printing apparatus, and a facsimile recording unit.

2. Description of the Related Art

A composite service conventionally exists in which image data input from a scanner is output as an image from printer units of a plurality of image forming apparatuses connected via a network. Such a service is referred to as cluster printing, and a cluster printing mode can be set in a conventional image forming apparatus.

For example, when a user is to print a large number of copies of a document, the user can select a cluster printing mode that enables cluster printing. The document can be printed by distributing a set number of copies to be printed to a plurality of image output apparatuses. As a result, the time for printing can be shortened compared to printing the set number of copies with one printer, so that productivity of image output can be improved.

When a plurality of devices collaborates to realize one function in such a composite service, a mismatched combination of control software may generate a nonconformity in protocols between devices. To prevent such a problem, it may be necessary to appropriately combine the control software between devices.

For example, in a cluster printing mode, nonconformity in protocols between devices may cause a color shift or disable a device to communicate with another device. Therefore, it may be necessary to have an appropriate combination of control software between the devices that realize the cluster printing mode.

On the other hand, current copying machines and printing apparatuses typically store control software in a rewritable medium such as a flash memory or a hard disk. As a result, the control software can be upgraded after shipment from a factory, so that copying machines and printing apparatuses may promptly respond to market needs.

Further, there is an increase in cases where new control software is speedily distributed to devices and upgraded via a network such as the Internet. However, in such cases, there is a risk that the combination of software for performing cluster printing that was appropriate at the time of installment may become inappropriate due to a subsequent upgrade of the software to answer market demands.

Japanese Patent Application Laid-Open No. 2002-099418 discusses solving such a problem in which the control software does not operate normally due to an upgrade. More specifically, Japanese Patent Application Laid-Open No. 2002-099418 discusses a system in which, in a case where there is data remaining in the device that can only be processed by a former version of the control software, the control software is not upgraded until the data is processed.

Further, Japanese Patent Application Laid-Open No. 2000-298580 discusses a method in which a device, whose control software is upgraded by a distribution server that distributes the new version of the control software, upgrades control software of another device that is connected to the device via a network.

Further, Japanese Patent Application Laid-Open No. 2003-209510 discusses a method for simultaneously distributing an update file to a plurality of devices.

SUMMARY OF THE INVENTION

According to an aspect of the present invention, an image forming apparatus to which a composite service that can cause a plurality of devices to collaborate can be set, and in which a currently used control program and an upgraded control program can be stored, includes a determination unit configured to determine whether the composite service is available with a combination of a control program for the image forming apparatus and a control program for another device, and an activation unit configured to activate the control program for the image forming apparatus if the determination unit determines that the other device is usable for the composite service.

According to another aspect of the invention, an image forming apparatus to which a composite service that can cause a plurality of devices to collaborate can be set, and in which a currently used control program and an upgraded control program can be stored, includes a determination unit configured to determine whether the composite service is available with a combination of the upgraded control program for the image forming apparatus and an upgraded control program for another device, and an activation unit configured to activate the upgraded control program for the image forming apparatus if the determination unit determines that the other device is usable for the composite service.

According to yet another aspect of the invention, an image forming apparatus to which a composite service that can cause a plurality of devices to collaborate can be set, and in which a currently used control program and an upgraded control program can be stored, includes a determination unit configured to determine whether the composite service is available with a combination of the upgraded control program for the image forming apparatus and a currently used control program for another device, and an activation unit configured to activate the upgraded control program for the image forming apparatus if the determination unit determines that the other device is usable for the composite service.

According to another embodiment of the invention, an image forming apparatus to which a composite service that can cause a plurality of devices to collaborate can be set, and in which a currently used control program and an upgraded control program can be stored, includes a determination unit configured to determine whether the composite service is available with a combination of a control program for the image forming apparatus and a control program for another device, and an activation unit configured to activate the currently used control program for the image forming apparatus if the determination unit determines that the composite service is not available with a combination of the upgraded control program for the image forming apparatus and an upgraded control program for the other device, and that the composite service is not available with a combination of the upgraded control program for the image forming apparatus and a currently used control program for the other device.

DETAILED DESCRIPTION OF THE EMBODIMENTS

In an exemplary embodiment of the present invention, the cluster printing mode will be described as an example in which a plurality of devices realizes one function. The cluster printing mode is a composite service that enables a job to be performed by a collaboration of a plurality of devices. More specifically, the cluster printing function outputs a set number of copies by the collaboration of a plurality of devices.

An example of a collaboration of a plurality of image forming apparatuses will be described below in the exemplary embodiment. According to one aspect of the invention, devices such as at least one of a multifunction peripheral (MFP), an apparatus that realizes a part of a function of the MFP (such as a post-processing apparatus), a copying machine, a printing apparatus, a facsimile, and a printer (e.g., a laser beam printer) can be devices that work together.

FIG. 1illustrates a system configuration according to a first exemplary embodiment of the present invention. Referring toFIG. 1, an image forming apparatus1000and an image forming apparatus1001are connected via a network1500. The image forming apparatus1000and the image forming apparatus1001are usable for cluster printing.

For example, when the user is to print500copies on the image forming apparatus1000using a cluster print setting, the same image data is transferred to the image forming apparatus1001. The image forming apparatus1000and the image forming apparatus1001then divide the number of copies and output250copies each, so that the time for printing can be shortened as compared to printing on only one image forming apparatus.

The cluster printing function may be realized by collaboration between the image forming apparatus1000and the image forming apparatus1001. However, if control software of one of the image forming apparatuses is upgraded, it can occur that the cluster printing function may become unusable.

The control software of the image forming apparatus1000and of the image forming apparatus1001may be upgraded by transmitting new control software from, for example, a personal computer (PC) or a work station (WS) (PC/WS)2000, to the image forming apparatus1000and the image forming apparatus1001via the network1500.

FIG. 2is a block diagram illustrating a configuration of the control unit15in the image forming apparatus1000and a control unit15in the image forming apparatus1001according to the present exemplary embodiment.

Referring to the embodiment shown inFIG. 2, the control unit15in the image forming apparatus1000and the control unit15in the image forming apparatus1001are connected to the network1500via a network controller50. The control unit15according to this embodiment includes a central processing unit (CPU)1, a boot read-only memory (ROM)3, a random access memory (RAM)4, anon-volatile RAM80, the network controller50, a scanner controller10, a printer controller20, an operation unit controller60, and a hard disk drive (HDD)400. The above-described components are connected by a system bus2.

The CPU1, which controls the entire operation of the control unit15, operates based on a boot program31read from the boot ROM3. Further, the CPU1may execute a program stored in the HDD400that corresponds to a process illustrated inFIG. 5described below. The RAM4is used as a work area for the CPU1to operate, or as an area for storing image data. Values can be retained in the non-volatile RAM80even when the power is switched off. Therefore, values such as contents of a setting that should be retained even when the power is switched off can be stored in the non-volatile RAM80.

The network controller50, which controls the network, is connected to an external network. An external computer such as the PC/WS2000is connected to the external network and exchanges data with the image forming apparatus1000.

The scanner controller10connected to a scanner unit100is also connected to the CPU1via the system bus2according to this embodiment. The scanner controller10may include functions for performing an appropriate binarization, and scaling an image received from the scanner unit100in main scanning and subscanning directions, according to the content of the post-processing. Further, the scanner controller10may include a function for outputting control signals generated based on video control signals transmitted from a printer unit200to the system bus2.

The printer controller20connected to the printer unit200is also connected to the CPU1via the system bus2according to this embodiment. The printer controller20may include a function for performing smoothing on the image data output from the CPU1and outputting the smoothed image data to the printer unit200. Further, the printer controller20may include a function for outputting control signals generated based on video control signals transmitted from the printer unit200to the system bus2.

The operation unit controller60according to this embodiment is connected to an operation unit650.FIG. 3illustrates an example of a touch panel input device600attached to a liquid crystal display (LCD) unit of the operation unit650of the image forming apparatus according to the present exemplary embodiment. The operation unit650may also include a plurality of hard keys. The touch panel input device600may be used by the user to specify main mode settings and also displays the status. In one version, the user can set a cluster printing mode by pressing a printer selection button601on the touch panel input device600.

A signal input via the touch panel input device600or the hard keys may be transmitted to the CPU1via the operation unit controller60, and the LCD unit may display image data transmitted from the operation unit controller60. The LCD unit can display functions and image data to be used in a user operation of the image forming apparatus.

FIG. 4illustrates an example of a screen displayed on the LCD unit when the user presses the printer selection button601, in which image forming apparatuses usable for cluster printing on the network are displayed. Cluster printing can be performed by selecting one apparatus from among the displayed image forming apparatuses, to which the cluster printing mode can be set.

Returning toFIG. 2, programs and image data can be written and read into the HDD400. The HDD400can store a plurality of control software. In the present exemplary embodiment, the HDD400may store a program that corresponds to the flowchart illustrated inFIG. 5. Further, the HDD400may store a management table used in determining whether a model of the image forming apparatus matches a version of the control software.

FIG. 11illustrates an example of a management table used to determine whether the model matches the version of the control software. In the present exemplary embodiment, the management table includes a version combination table1101and a model management table1102.

In the example illustrated inFIG. 11, device B and device C can be selected to perform cluster printing with device A. Further, it can be determined from the model management table1102that device A and device B are of the same model. Further, it can be determined from the version combination table1101that the cluster printing mode is available when the control software in the device A is version 1.0 and the control software in the device B is version 1.0.

Further, according to the model management table1102, device A is of a model X and device C is of a model Y. Therefore, based on the version combination table1101, the control software of the device A may be version 2.0 and the control software of the device C may be version 3.0 to use the cluster print mode in device A and device C.

The management table can be stored when upgraded control software Version 1.1 (420) is stored in the HDD400of the image forming apparatus1000or the image forming apparatus1001. Further, the management table can be separately downloaded from a server and/or installed from an external storage device (e.g., at least one of HDD, CD-ROM, and DVD-ROM).

An example of an activation procedure of the control unit15will be described below.

According to this example, when the control unit15is switched on, the CPU1reads a boot program31from the boot ROM3.

Since there is a limit on the capacity of the boot ROM3, a large-scale multifunctional program may not be able to be stored in the boot ROM3. Therefore, the control software stored in the HDD400may perform control of the scanner controller10, the printer controller20, the network controller50, and the operation unit controller60.

A program capacity of the boot program31can be reduced by the boot program31performing only the process of activating the control software in the HDD400. The boot program31thus reads the contents of the non-volatile RAM80, and control is performed by the control software in the HDD400.

In the present exemplary embodiment, the image forming apparatus stores control software410and420as control programs. The currently used control software410is version 1.0, and the upgraded control software420is version 1.1.

Further, in the present exemplary embodiment, the control software version 1.1 (420) is a newer version compared to the control software version 1.0 (410). Further, it is supposed that the control software is to be upgraded from version 1.0 to version 1.1, and that cluster printing is not available with a combination of the control software version 1.0 and the control software version 1.1.

The boot program31stored in the boot ROM3activates the control software in the HDD400based on information in the non-volatile RAM80. When there is a plurality of pieces of control software, the boot program selects and activates one of the pieces of control software.

An example of the internal structure of the non-volatile RAM80will be described below. The non-volatile RAM80can store information about a plurality of control programs. For example, cluster printing function ON/OFF information81, Internet Protocol (IP) address of other device82, version information of control software currently used by other device83, and version information of upgraded control software in another device84may be stored in the non-volatile RAM80. The “other device” or “another device” is a device in which the cluster printing mode is to be set, with the other device for the image forming apparatus1000being the image forming apparatus1001, and the other device for the image forming apparatus1001being the image forming apparatus1000.

The cluster printing function ON/OFF information81is an area for storing whether the cluster printing function is enabled. The IP address of the other device82is an area for storing the IP address of the other device that the image forming apparatus communicates with when the cluster printing function is switched on according to the cluster printing function ON/OFF information81.

The version information of control software currently used by the other device83is an area for storing version information of the currently used control software410stored in the HDD400of the other device. Further, the version information of upgraded control software in the other device84is an area for storing a version of the upgraded control software420stored in the HDD400of the other device.

The image forming apparatus1000regularly communicates with the other device about version information of control software currently used by the other device83and the version information of upgraded control software in the other device84, when the cluster printing function is enabled. Further, the version information of control software currently used by the other device83and the version information of upgraded control software in the other device84can be overwritten by information about the currently used control software410and the upgraded control software420in the HDD400of the other device.

FIG. 5is a flowchart illustrating an example of a control procedure performed by the CPU1in the control unit15according to the present exemplary embodiment. The flowchart describes an example of a process performed when the control unit15is switched on.

In step S5001, the control unit15is switched on and activated.

In step S5002, the CPU1in the control unit15activates the boot program31from the boot ROM3.

In step S5003, the CPU1executing the boot program31in the image forming apparatus1000determines whether there is upgraded control software in the HDD400of the image forming apparatus1000. For example, the CPU1may determine whether there is the upgraded control software version 1.1 (420) in the image forming apparatus1000. If the CPU1determines there is upgraded control software (YES in step S5003), the process proceeds to step S5006. On the other hand, if the CPU1determines there is no upgraded control software (NO in step S5003), the process proceeds to step S5004.

In step S5004, the CPU1activates the boot program of the currently used control software version 1.0 (410). It may also be possible that the currently used control program for the image forming apparatus1000is activated, and an upgraded control program for the image forming apparatus1001is activated.

In step S5005, the CPU1executes the currently used control software version 1.0 (410).

In step S5006, the CPU1determines whether the cluster printing function is enabled based on the cluster printing function ON/OFF information81in the non-volatile RAM80. If the CPU1determines that the cluster printing function is enabled (YES in step S5006), the process proceeds to step S5007. If the CPU1determines that the cluster printing function is not enabled (NO in step S5006), the process proceeds to step S5004. In step S5004, the CPU1activates the currently used control software version 1.0 (410) in the HDD400.

In step S5007, the CPU1determines whether there is upgraded control software in the HDD400of the image forming apparatus1001(i.e., the “other device”). For example, the CPU1determines whether there is the upgraded control software version 1.1 (420) in the image forming apparatus1001. If the CPU1determines there is upgraded control software in the image forming apparatus1001(YES in step S5007), the process proceeds to step S5008. On the other hand, if the CPU1determines there is no upgraded control software (NO in step S5007), the process proceeds to step S5013.

In step S5008, the CPU1determines whether cluster printing is available with a combination of the upgraded control software in the other device (i.e., the image forming apparatus1001) according to the version information of upgraded control software in the other device84in the non-volatile RAM80and the upgraded control software version 1.1 (420) in the HDD400of the image forming apparatus1000. For example, the CPU1determines whether cluster printing is available using the management table illustrated inFIG. 11in the present exemplary embodiment. If the CPU1determines that the cluster printing is available with the combination (YES in step S5008), the process proceeds to step S5009. On the other hand, if the CPU1determines that the cluster printing is not available (NO in step S5008), the process proceeds to step S5013.

In step S5009, since the cluster printing mode is not affected even if the currently used control software version 1.0 (410) is not used after being upgraded, the CPU1deletes the currently used control software version 1.0 (410) in the HDD400of the image forming apparatus1000. The process then proceeds to step S5010.

In step S5010, the boot program31normally activates the upgraded control software version 1.1 (420) in the HDD400of the image forming apparatus1000, and the process proceeds to step S5011. At this time, the CPU1can display a message such as “switch OFF/ON main power of the device to enable cluster printing function” on the operation unit650as illustrated in the example shown inFIG. 10to prompt the user to upgrade the control software.

In step S5011, only the image forming apparatus1000is activated by the upgraded control software, and the other image forming apparatus1001is activated by the currently used control software410. As a result, it can occur that the cluster printing function may become unusable as it is. Therefore, the CPU1may display “switch OFF/ON main power of 192.168.0.101 (i.e., IP address of the other device) to enable cluster printing function” on the operation unit650as illustrated in the example shown inFIG. 6to prompt the user to upgrade the control software in the other device. The process then proceeds to step S5012.

In step S5012, the boot program31in the image forming apparatus1001normally activates the upgraded control software version 1.1 (420) in the HDD400.

In step S5013, the CPU1determines whether cluster printing is available with a combination of currently used control software in the image forming apparatus1001according to the version information of the control software currently used in the other device83, and the upgraded control software in the HDD400of the image forming apparatus1000. For example, the CPU1may determine whether cluster printing is available using the management table as illustrated in the example shown inFIG. 11, to be described below, according to the present exemplary embodiment.

If the CPU1determines that cluster printing is available with the above-described combination (YES in step S5013), the process proceeds to step S5014. On the other hand, if the CPU1determines that cluster printing is not available with the above-described combination (NO in step S5013), the process proceeds to step S5004, where the currently used control software is activated, and normal activation then proceeds in step S5005.

In step S5014, since the cluster printing mode is not affected even if the currently used control software version 1.0 (410) is not used after being upgraded, the CPU1deletes the currently used control software version 1.0 (410) in the HDD400of the image forming apparatus1000. The process then proceeds to step S5015.

In step S5015, the boot program31activates the upgraded control software version 1.1 (420) in the HDD400of the image forming apparatus1000. In step S5016, the boot program31in the image forming apparatus1000normally activates the upgraded control software version 1.1 (420) in the HDD400.

FIG. 6illustrates an example of a screen that may be displayed on the touch panel input device600on the operation unit650of the image forming apparatus1000by the process performed in step S5011. The message displayed on the screen illustrated in the example shown inFIG. 6prompts the user to switch off/on the main power of the other device and immediately upgrade the control software of the other device. The message is displayed on the lower left side of the screen on the operation unit650, which is a user interface that allows the user to use functions other than the cluster printing function by pressing the other buttons.

Similar toFIG. 6,FIG. 10illustrates an example of a screen that may be displayed on the touch panel input device600on the operation unit650of the image forming apparatus1000by the process performed in step S5010. The message displayed on the screen illustrated in the example shown inFIG. 10prompts the user to switch off/on the main power of the device. The message is displayed on the lower left side of the screen on the operation unit650, which is a user interface that allows the user to use functions other than the cluster printing function by pressing the other buttons.

In a second exemplary embodiment of the present invention, control programs stored in the HDD400in the hardware configuration of the first exemplary embodiment are changed, so that a process may be performed as described below.

FIGS. 7 and 8illustrate examples of an upgrading process according to the present exemplary embodiment, andFIG. 9is a flowchart illustrating an example of the upgrading process performed as illustrated inFIGS. 7 and 8.

Referring to the example shown inFIG. 7, the upgraded control software version 1.1 is transferred from the PC/WS2000to the HDD400of the image forming apparatus1001. The process corresponds to the process performed in step S901illustrated in the flowchart ofFIG. 9.

Referring to the example shown inFIG. 9, in step S901, the upgraded control software version 1.1 is transferred from the PC/WS2000to the image forming apparatus1001. Software can also be supplied from a storage medium such as one or more of a floppy disk, hard disk, optical disk, compact disc (CD)-ROM, CD-readable (R), digital versatile disc (DVD)-ROM, magnetic tape, non-volatile memory card, and a ROM.

In step S902, the image forming apparatus1000detects that there is the upgraded control software version 1.1 in the HDD400of the image forming apparatus1001via a regular polling.

In step S903, the CPU1in the image forming apparatus1000overwrites the version information of the upgraded control software of the other device84from none to version 1.1. Further, the CPU1can display a message on the operation unit650as illustrated inFIG. 10, i.e., “switch OFF/ON main power source of the device to enable cluster printing function”, to prompt the user.

An example of a process performed by the control unit15in the image forming apparatus1000when the main power of the image forming apparatus1000is switched off/on inFIG. 7will be described below with reference to the flowchart illustrated inFIG. 5.

Similar to the first exemplary embodiment, steps S5001and S5002are performed. In step S5003, the CPU1determines whether there is upgraded control software in the image forming apparatus1000. Referring toFIG. 7, the upgraded control software version 1.1 (420) exists in the image forming apparatus1000according to the present exemplary embodiment (YES in step S5003), so that the process proceeds to step S5006. In step S5006, the CPU1determines that the cluster printing function is enabled (YES in step S5006). The process thus proceeds to step S5007.

In step S5007, since the upgraded control software version 1.1 (420) exists in the image forming apparatus1001according to the present exemplary embodiment (YES in step S5007), the process proceeds to step S5008.

In step S5008, since the upgraded control software in the other device (i.e., the image forming apparatus1001) is version 1.1 and the upgraded control software in the HDD400of the image forming apparatus1000is version 1.1, cluster printing is available with the combination (YES in step S5008). The process thus proceeds to step S5009.

In step S5009, since the cluster printing mode is not affected even if the currently used control software version 1.0 (410) is not used after being upgraded, the CPU1deletes the currently used control software version 1.0 (410) in the HDD400of the image forming apparatus1000. The process then proceeds to step S5010.

In step S5010, the boot program31of the image forming apparatus1000activates the upgraded control software version 1.1 (420) in the HDD400. The process then proceeds to step S5011.

In step S5011, only the image forming apparatus1000is activated by the upgraded control software, and the image forming apparatus1001is activated by the currently used control software410. As a result, it can occur that the cluster printing function may become unusable as is. Therefore, the CPU1may display “switch OFF/ON main power of 192.168.0.101 to enable cluster printing function” on the operation unit650as illustrated in the example shown inFIG. 6to prompt the user to upgrade the control software in the other device (image forming apparatus1001). The process then proceeds to step S5012.

The boot program31in the image forming apparatus1001may also activate the upgraded control software version 1.1 (420) in the HDD400. The process then proceeds to step S5012, and the upgraded control software is thus normally activated.

In the example illustrated inFIG. 8, the currently used control software version 1.0 (410) is operating in the HDD400of the control unit15in each of the image forming apparatus1000and the image forming apparatus1001. Since the control software is version 1.0 (410) in both apparatuses, cluster printing is available. However, there is no upgraded control software in the image forming apparatus1001. An upgrading process in the above-described example will be described below with reference to the flowchart illustrated inFIG. 9.

In step S901, the upgraded control software version 1.1 (420) is transferred from the PC/WS2000to the HDD400in the image forming apparatus1000.

In step S902, the image forming apparatus1001determines there is the upgraded control software version 1.1 (420) in the HDD400of the image forming apparatus1000via a regular polling.

In step S903, the CPU1in the image forming apparatus1001overwrites the information about the upgraded control software in other device84from none to version 1.1. Further, the CPU1can display a message such as “switch OFF/ON main power of the device to enable cluster printing function” on the operation unit650as illustrated in the example shown inFIG. 10to prompt the user.

An example of a process performed by the control unit15of the image forming apparatus1000when the user switches off/on the main power of the image forming apparatus1000will be described below with reference to the flowchart illustrated inFIG. 5.

The process proceeds from step S5001to step S5002similarly as the first exemplary embodiment. In step S5003, the CPU1executing the boot program31determines whether there is the upgraded control software in the HDD400of the image forming apparatus1000. Referring to the example shown inFIG. 8, there is the upgraded control software version 1.1 (420) in the image forming apparatus1000. The process thus proceeds to step S5006.

In step S5006, since the cluster printing function is enabled in the example illustrated inFIG. 8according to the present exemplary embodiment (YES in step S5006), the process proceeds to step S5007.

In step S5007, since there is no upgraded software in the other device (image forming apparatus1001), the process proceeds to step S5013.

In step S5013, the image forming apparatus1000includes the upgraded control software version 1.1, and the image forming apparatus1001stores the currently used control software version 1.0. According to the present exemplary embodiment, cluster printing is not available with such a combination (NO in step S5013). Therefore, the process proceeds to step S5005via step S5004. Referring to the example shown inFIG. 8, the image forming apparatus1000thus activates the currently used control software version 1.0 (410) in the HDD400.

In the present exemplary embodiment, cluster printing is not available with the combination of control software versions 1.1 and 1.0. However, if cluster printing is available with such a combination (YES in step S5013), the process proceeds to step S5014and then to step S5015. Referring to the example shown inFIG. 8, the image forming apparatus1000may thus activate the upgraded control software version 1.1 (420) in the HDD400.

In a third exemplary embodiment of the present invention, the image forming apparatus operates as described below when control programs stored in the HDD400in the hardware configuration of the first exemplary embodiment are changed.

FIG. 12is a flowchart illustrating an example of a process performed when a cluster printing mode can be set with three or more image forming apparatuses. When the cluster printing mode can be set to three or more devices, whether the cluster printing mode can be set is determined for each device. As a result, devices to which the cluster printing mode can be set are upgraded and normally activated.

In such a case, upgrading can be performed when all devices to which the cluster printing mode can be set can be upgraded, or by upgrading only the devices to which the cluster printing mode can be set. Further, devices in which the cluster printing mode can be set can be selected and upgraded.

The flowchart illustrated inFIG. 12describes a case where the cluster printing mode can be set to, for example, three or more devices, and the control software is upgraded when all of the devices to which the cluster printing mode can be set can be upgraded.

In step S1201, the user switches on the control unit15of the image forming apparatus1000and activates the control unit15.

In step S1202, the CPU1in the control unit15activates the boot program31from the boot ROM3.

In step S1203, the CPU1determines whether there is upgraded control software in the image forming apparatus1000. In the present exemplary embodiment, there is upgraded control software in the image forming apparatus1000(hereinafter referred to as the device) (YES in step S1203). The process thus proceeds to step S1206. If it were determined that there was not upgraded control software in the image forming apparatus1000(NO in step S1203), then the process would proceed to step S1204, which is described below.

In step S1206, the CPU1determines that the cluster printing function is enabled (YES in step S1206). The process thus proceeds to step S1207. If it were determined that the cluster printing function were not enabled (NO in step S1206), then the process would proceed to step S1204, which is described below.

In step S1207, the CPU1determines there is upgraded control software in the image forming apparatus1001(hereinafter referred to as the other device) according to the present exemplary embodiment (YES in step S1207). The process then proceeds to step S1208. If it were determined that there was not upgraded control software in the image forming apparatus1001(NO in step S1207), then the process would proceed to step S1213, which is described below.

In step S1208, the CPU1determines whether cluster printing is available with the combination of the upgraded control software in the other device and the upgraded control software in the device. If the CPU1determines that cluster printing is available with such a combination (YES in step S1208), the process proceeds to step S1217. On the other hand, if cluster printing is not available with such a combination, (NO in step S1208), the process proceeds to step S1213. In step S1213, if the CPU1determines that cluster printing is available with the combination of the upgraded control software in the device and the currently used control software in the other device (YES in step S1213), the process proceeds to step S1218.

In step S1217or step S1218, the CPU1determines whether there is another device usable for cluster printing. If the CPU1determines that there is another device usable for cluster printing (YES in step S1217or YES in step S1218), the process returns to step S1207. On the other hand, if there is no other device that is usable for cluster printing (NO in step S1217or NO in step S1218), the process proceeds from step S1217to step S1209, or from step S1218to step S1214.

On the other hand, in step S1213, if the CPU1determines that cluster printing is not available with a combination of currently used software of even one device among devices that is usable for cluster printing, and the upgraded control software in the image forming apparatus1000(NO in step S1213), the process proceeds to step S1204. As a result, the currently used control software is activated in the image forming apparatus1000, with normal activation thereof in step S1205.

In step S1209or step S1214, since the cluster printing mode is not affected even if the currently used control software is not used after being upgraded, the currently used control software is deleted. The process then proceeds from step S1209to step S1210, or from step S1214to step S1215.

In step S1210, the boot program31in the image forming apparatus1000activates the upgraded control software in the HDD400. The process then proceeds to step S1211. Similarly, in step S1215, the boot program31in the image forming apparatus1000activates the upgraded control software in the HDD400. The process proceeds to step S1216, and the upgrading of the image forming apparatus1000is completed.

Referring to step S1210, only the image forming apparatus1000is activated by the upgraded control software, and the other devices are activated by the currently used control software. Therefore, it can occur that the cluster printing function may become unusable as is.

To solve such a problem, in step S1211, the CPU1displays “switch OFF/ON main power of 192.168.0.101 to enable cluster printing function” on the operation unit650as illustrated in the example shown inFIG. 6, to prompt the user to immediately upgrade the control software of the other device. The process then proceeds to step S1212, and the upgraded software is normally activated.

Further, the boot program31of the image forming apparatus1001activates the upgraded control software in the HDD400. The image forming apparatus1001is thus normally activated.

In a fourth exemplary embodiment of the present invention, the image forming apparatus operates as described below when control programs stored in the HDD400in the hardware configuration of the first exemplary embodiment are changed.

FIG. 13is a flowchart illustrating an example of a process in which a cluster printing mode can be set with three or more devices and in which the devices are upgraded when a part of the devices can be upgraded.

In step S1301, the user switches on the control unit15and activates the control unit15.

In step S1302, the CPU1in the control unit15activates the boot program31from the boot ROM3.

In step S1303, the CPU1determines whether there is upgraded control software in the image forming apparatus1000. In the present exemplary embodiment, there is upgraded control software in the image forming apparatus1000(hereinafter referred to as the device) (YES in step S1303). The process thus proceeds to step S1306. If there were not upgraded control software in the image forming apparatus1000(NO in step S1303), then the process would proceed to step S1304, which is described below.

In step S1306, the CPU1determines that the cluster printing function is enabled (YES in step S1306). The process proceeds to step S1307. If the CPU were to determine that the cluster printing function were not enabled (NO in step S1306), then the process would proceed to step S1304. In step S1304, the currently used control software in the other device is activated, and normal activation proceeds in step S1305.

In step S1307, the CPU1determines there is upgraded control software in the image forming apparatus1001(hereinafter referred to as the other device) (YES in step S1307) in the present exemplary embodiment. The process then proceeds to step S1308. If the CPU were to determine that there is not any upgraded control software in the image forming apparatus1001(NO in step S1307), then the process would proceed to step S1313, which is described below.

In step S1308, the CPU1determines whether cluster printing is available with a combination of the upgraded control software in the selected image forming apparatuses. If the CPU1determines that cluster printing is available with the combination of the upgraded control software in the other device and the upgraded control software in the device (YES in step S1308), the process proceeds to step S1314. On the other hand, if cluster printing is not available with the combination (NO in step S1308), the process proceeds to step S1313. In step S1313, if the CPU1determines that cluster printing is available with the combination of the upgraded control software in the device and the currently used control software in the other device (YES in step S1313), the process proceeds to step S1315. If the CPU1determines that cluster printing is not available with the combination of the upgraded control software in the device and the currently used control software in the other device (NO in step S1313), then the process proceeds to step S1319, which is described below.

In step S1314or step S1315, the CPU1determines whether there is another device usable for cluster printing. If the CPU1determines that there is another device usable for cluster printing (YES in step S1314or in step S1315), the process returns to step S1307. On the other hand, if there is no other device usable for cluster printing (NO in step S1314or in step S1315), the process proceeds from step S1314to step S1309, or from step S1315to step S1316.

In step S1319, the CPU1determines whether there is another device usable for cluster printing, after the CPU1determines in step S1313that cluster printing is not available with the combination of the upgraded control software in the device and the currently used control software in the other device. If the CPU1determines there is no other device usable for cluster printing (NO in step S1319), the process proceeds to step S1320. If the CPU1determines that there is another device usable for cluster printing (YES in step S1319), the process returns to step S1307.

In step S1320, the CPU1determines whether there is another device that can be upgraded. If the CPU1determines there is no other device that can be upgraded (NO in step S1320), the process proceeds to step S1304, which is described below. On the other hand, if the CPU1determines there is a device that can be upgraded (YES in step S1320), the process proceeds to step S1315.

In step S1309or step S1316, since the cluster printing mode is not affected even if the currently used control software is not used after being upgraded, the currently used control software is deleted. The process then proceeds from step S1309to step S1310, or from step S1316to step S1317.

In step S1310, the boot program31in the device activates the upgraded control software in the HDD400. The process then proceeds to step S1311. Further, in step S1317, the boot program31in the device activates the upgraded control software in the HDD400. The process proceeds to step S1318, and the device is normally activated.

In step S1310, only the device is activated by the upgraded control software, and the other device is activated by the currently used control software. Therefore, it can occur that the cluster printing function may become unusable as is.

To solve such a problem, in step S1311, the CPU1may display “switch OFF/ON main power of 192.168.0.101 to enable cluster printing function” on the operation unit650as illustrated in the example shown inFIG. 6, to prompt the user to immediately upgrade the control software in the other device. The process then proceeds to step S1312.

As a result, the boot program31of the image forming apparatus1001activates the upgraded control software in the HDD400, and the process proceeds to step S1312, in which the image forming apparatus1001is normally activated.

In a fifth exemplary embodiment of the present invention, the image forming apparatus operates as described below when control programs stored in the HDD400in the hardware configuration of the first exemplary embodiment are changed.

FIG. 14is a flowchart illustrating an example of a control procedure performed by the CPU1in the control unit15when the control unit15is switched on according to the present exemplary embodiment

In step S1401, the control unit15is switched on and activated. In step S1402, the CPU1in the control unit15activates the boot program31from the boot ROM3.

In step S1403, the CPU1executing the boot program31of the image forming apparatus1000(hereinafter referred to as the device) determines whether there is upgraded control software in the HDD400of the device. For example, the CPU1may determine whether there is the upgraded control software version 1.1 (420) in the HDD400. In a case where the CPU1determines there is upgraded software in the device (YES in step S1403), the process proceeds to step S1406. On the other hand, in a case where the CPU1determines there is no upgraded software in the device (NO in step S1403), the process proceeds to step S1404.

In step S1404, since the CPU1determined there was no upgraded control software in the HDD400in step S1403, the CPU1activates the boot program of the currently used control software. The process then proceeds to step S1405, and the CPU1executes the currently used control software.

In step S1406, since the CPU1determines that there is the upgraded software in the HDD400of the device in step S1403, the CPU1determines whether the cluster printing function is enabled, based on the cluster printing function ON/OFF information81in the non-volatile RAM80. If the CPU1determines that the cluster printing function is enabled (YES in step S1406), the process proceeds to step S1407. On the other hand, if the CPU1determines that the cluster printing function is not enabled (NO in step S1406), the process proceeds to step S1404. In step S1404, the boot program31activates the currently used software in the HDD400.

In step S1407, the CPU1determines whether cluster printing is available with the combination of the currently used control software in the other device according to the version information of the currently used control software in other device83in the non-volatile RAM80, and the upgraded control software in the HDD400of the device. For example, in the present exemplary embodiment, the CPU1may not directly determine whether there is upgraded control software in the HDD400of the image forming apparatus1001(hereinafter referred to as the other device). The determination in step S1407may be based on a management table as illustrated in the example show inFIG. 11. If cluster printing is available with the combination (YES in step S1407), the process proceeds to step S1408. If cluster printing is not available with the combination (NO in step S1407), the process proceeds to step S1411.

In step S1407, the CPU1determines that cluster printing is available with the combination of the currently used software in the other device and the upgraded control software in the device. Therefore, in step S1408, the currently used software in the HDD400of the device, which does not affect the cluster printing mode if not used after an upgrade, is deleted. The process then proceeds to step S1409.

In step S1409, the boot program in the device activates the upgraded control software420in the HDD400. The process then proceeds to step S1410, and the upgraded control software420is normally activated.

In step S1411, the CPU1determines whether cluster printing is available with a combination of the upgraded software in the other device according to the version information of upgraded control software in the other device84, and upgraded control software in the HDD400of the device. The determination may also use a management table such as for example that illustrated inFIG. 11. If the CPU1determines that cluster printing is available with the combination (YES in step S1411), the process proceeds to step S1412. On the other hand, if the CPU1determines that cluster printing is not available with the combination (NO in step S1411), the process proceeds to step S1404.

In step S1411, it is determined that cluster printing is available with the combination of the upgraded software in the other device and the upgraded control software in HDD400of the device. Therefore, in step S1412, the currently used software in the HDD400of the device, which does not affect the cluster printing mode if not used after an upgrade, may be deleted. The process then proceeds to step S1413.

In step S1413, the boot program31normally activates the upgraded control software in the HDD400of the device. The process then proceeds to step S1414. A message such as “switch OFF/ON the main power of the device to enable cluster printing function” can be displayed on the operation unit650as illustrated in the example ofFIG. 10to prompt the user.

In step S1414, since only the device is activated by the upgraded software and the other device is activated by the currently used software, it can occur that the cluster printing function may become unusable as is. TO solve such a problem, a message such as “switch OFF/ON the main power of 192.168.0.101 to enable cluster printing function” may be displayed to prompt the user. The process then proceeds to step S1415.

In step S1415, the boot program31of the other device normally activates the upgraded control software in the HDD400.

According to one embodiment, aspects of the present invention can also be achieved by providing a storage medium which stores software (program code) for implementing functions of the above-described exemplary embodiments (e.g., flowcharts illustrated inFIGS. 5,12,13, and14) to a system or an apparatus. The software (e.g., computer-executable instructions and/or program code) stored in the computer-readable storage medium can be read and executed by a computer (central processing unit (CPU) or micro-processing unit (MPU)) of the system or the apparatus.

In this case, the computer-readable medium having the software (i.e. program code and/or computer executable instructions) may itself realize the functions of the above-described exemplary embodiments (e.g., flowcharts illustrated inFIGS. 5,12,13, and14). The computer-readable storage medium itself may thus constitute an aspect according to the present invention.

The storage medium can be, for example, at least one of a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a compact disc-read-only memory (CD-ROM), a CD-recordable (CD-R), a CD-rewritable (CD-RW), a digital versatile disc (DVD)-ROM, a magnetic tape, a nonvolatile memory card, and a ROM.

According to aspects of the above-described exemplary embodiments, one job may be output using a plurality of devices. However, aspects of the present invention may also be applied to a case where there is a plurality of jobs, or when a job is input from one device and printed by other devices in which the cluster printing mode is set. Further, while a print job is described in the above-described exemplary embodiments, aspects of the present invention can also be applied to copying, including copying electronic data.

According to aspects of the exemplary embodiments, conformity between versions of control software may be compared as described above in an image forming apparatus that realizes a function using a plurality of devices (e.g., such as cluster printing). As a result, the number of cases where such a function cannot be used due to a mismatch in a combination of control software of the devices can be reduced.

Further, according to another aspect of the present invention, a plurality of control programs can be stored in a device. Therefore, versions of control software in a device and another device can be compared by first comparing upgraded software in a device and upgraded software in the other device. If it is determined that upgrading cannot be performed, the upgraded software in the device and currently used software in the other device are then compared. If it is further determined that upgrading cannot be performed, then upgrading is not performed. As a result, the number of cases where such a function cannot be used due to an inconformity in a combination between control software of devices is reduced.

This application claims priority from Japanese Patent Application No. 2008-050129 filed Feb. 29, 2008, which is hereby incorporated by reference herein in its entirety.