Image processing system, image processing apparatus and method for controlling the same

An image processing system includes a first image processing apparatus and a plurality of other image processing apparatuses that are connected with each other via a network. The image processing system includes a sharing unit included in at least the plurality of other image processing apparatuses and configured to store information stored in a storage unit of the first image processing unit to share the information, a determination unit configured to determine an image processing apparatus to use the information to be shared from the plurality of other image processing apparatuses when the first image processing apparatus is not available, and an alternative operation unit configured to perform an alternative operation for a function of the first image processing apparatus using the information shared by the sharing unit of the image processing apparatus determined by the determination unit.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an image processing system, an image processing apparatus and a method for controlling the same.

2. Description of the Related Art

In recent years, office networking has been developed among many companies. More specifically, it is becoming common to build an office system in which office automation (OA) equipment including a personal computer (PC) and a multifunction peripheral (MFP) are connected with each other via a network to share and use the MFP according to intended use. In many cases, the MFP is equipped with a storage device. The storage device stores various types of data including personal setting information of the user (e.g., address book for transmission and individually customized information) and printing data.

Conventionally, the MFP has optional functions that are not available in an initial state of the product. Such optional functions can be available for a user paying an extra cost. One of methods for providing the optional function is giving a license.

When a license or authorization is given, a part of functions which is previously invalidated in programs stored in an MFP is validated. Thereafter, the function can be used as an optional function. Such an optional function includes a web browser function, a copy-forgery-inhibited pattern printing function and a direct print function. License information for validating the optional function is also stored in the storage device.

As another method, the optional function may be provided by using an application program (hereinafter referred to as an application). More specifically, an application program is additionally installed in the MFP to add the function later. Recent printer apparatuses (image processing apparatuses) have been equipped with a mechanism (function) for downloading a program which operates on a platform, typically JAVA® and Linux®, from a communication line such as a network and storing the program in the storage device to use it.

When a failure occurs in an MFP in which various types of data and license information are stored and an application has been installed, these data, license information, and application cannot be used. In this case, a user tries to alternatively execute the application on another MFP. It takes much time to manually transfer the various types of data and application to the other MFP. Further, if the failure occurs in the storage device which stores the various types of data and application of the MFP, the application and data cannot be transferred. Thus, the application cannot be executed on the other MFP.

A conventional technique for storing backup data in a server on a network is discussed in, for example, Japanese Patent Application Laid-Open No. 2006-215594.

Another conventional technique for storing backup data in a storage device equipped in another MFP in an office system is discussed in, for example, Japanese Patent Application Laid-Open No. 2004-23617.

However, according to the above-described techniques, only the data is backed up, in a case where a failure occurs in the MFP or in the storage device equipped in the MFP. Thus, a user (or a service engineer) needs to manually restore the license information and application of the MFP whose main body (or storage device) is in a failure state, in another MFP as an alternative apparatus.

SUMMARY OF THE INVENTION

The present invention is directed to a method for quickly and easily enabling an alternative image processing apparatus to use information including data, an application and license information, even when a failure occurs in an image processing apparatus.

According to an aspect of the present invention, an image processing system including a first image processing apparatus and a plurality of other image processing apparatuses which are connected with each other via a network includes a sharing unit included in at least the plurality of other image processing apparatuses and configured to share information by storing information stored in a storage unit of the first image processing unit, a determination unit configured to determine an image processing apparatus to use the information to be shared, from among the plurality of other image processing apparatuses when the first image processing apparatus is not available, and an alternative operation unit configured to perform an operation replacing a function of the first image processing apparatus using the information shared by the sharing unit of the image processing apparatus determined by the determination unit.

According to another aspect of the present invention, an image processing apparatus capable of communicating with an external image processing apparatus via a network includes a sharing unit configured to share information stored in a storage unit of the external image processing apparatus, a determination unit configured to determine whether to make the information shared by the sharing unit available when the external image processing apparatus is not available, and an alternative operation unit configured to perform an operation replacing the external image processing apparatus using the information shared by the sharing unit when the determination unit determines to make the information shared by the sharing unit available.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 1is a block diagram illustrating a configuration example of an office system as an image processing system according to an embodiment of the present invention.

InFIG. 1, an office system100includes a plurality of information processing apparatuses (client PC102and106) and a plurality of image processing apparatuses (monochrome MFP3103, color MFP1104, and color MFP2105). The processors and the image processing apparatuses are connected with each other via a network101.FIG. 1illustrates an example of the office system configuration. Types and numbers of the information processing apparatuses and the image processing apparatuses of the office system may vary according to an office for installation.

The client PC102is an information processing apparatus for editing an input application file, issuing a printing instruction to MFPs, and submitting a print ready file. The client PC106can also edit a file, and instruct to print a file.

The monochrome MFP3103, the color MFP1104, and the color MFP2105have various functions, such as a scan function, a print function, and a copy function as an image processing apparatus. The scan function is to read images from a document. The print function is to print images on recording paper. The copy function is to copy document images on recording paper. In the following descriptions, the monochrome MFP3103, the color MFP1104and the color MFP2105are denoted respectively by MFP103, MFP104and MFP105.

FIG. 3is a block diagram illustrating a configuration of an MFP.

InFIG. 3, the MFP includes an input image processing unit301, an MFP control unit309, a printer unit310, a storage device313, a central processing unit (CPU)315, a read only memory (ROM)316and a random access memory (RAM)317. The MFP has a plurality of functions, such as a copy function and a print function. The copy function is to print read data of a paper document output from the input image processing unit301via the printer unit310. The print function is to rasterize printing data supplied from an external device and to print the data via the printer unit310.

As described above, there are both monochrome MFP103and the full color MFPs104and105. The full color MFP often includes the configuration of the monochrome MFP in its basic function, except color processing and internal data or the like. In the present embodiment, the full color MFP will mainly be described, and the monochrome MFP will additionally be described as needed.

The CPU315realizes the following functions by sequentially reading and executing programs stored in the ROM316or the storage device313in the RAM317. The CPU315executes processes illustrated in the following sequence diagrams and flowcharts based on the programs. The RAM317is used as a main storage device. The ROM316stores the programs. An operation unit306includes a display unit for displaying screens illustrated inFIG. 9,FIG. 18,FIG. 19,FIG. 22andFIG. 29, various buttons and various keys.

The printer unit310performs a printing operation. A post-processing unit311performs a post-processing (assorting process, finishing process) on recording paper after printed. The input image processing unit301reads images on a paper document or the like, and executes image processing for the read image data. A facsimile unit302is configured as a facsimile machine that sends and receives image data using a telephone line.

A network interface card (NIC) unit303exchanges image data and device information with an external device, e.g., a computer using a network. A dedicated interface (I/F) unit304exchanges information, e.g., image data with an external device. A universal serial bus (USB) interface (I/F) unit305sends and receives image data or the like to and from a USB unit, such as a USB memory that is one type of removable media. The memory unit313includes a memory, such as a hard disk that can store applications and license information in addition to a plurality of pieces of image data.

The MFP control unit309controls a data flow by temporarily storing image data and determining a data transmission path according to usage of the MFP. The MFP control unit309causes the storage device313to store a plurality of pieces of image data which are input from, for example, the input image processing unit301and an external device, such as a computer via the NIC unit303.

The MFP control unit309appropriately reads the image data stored in the storage device313, transfers the data to an output image processing unit308, and controls the printer unit310to execute a printing process. The MFP control unit309transfers the image data read from the storage device313to an external unit such as a client PC or another MFP in response to an instruction from an operator.

A compression/decompression unit312compresses image data as needed when the image data is stored in the storage device313. The compression/decompression unit312decompresses the compressed image data to recover the original data when the image data compressed and stored in the storage device313is read. Generally, data compressed in a joint photographic experts group (JPEG) format, a joint bi-level image experts group (JBIG) format, and a ZIP format is used to transmit the data via a network. When data is input to an MFP via a network, the data is decompressed (extracted) in the compression/decompression unit312.

A resource management unit314stores commonly handled parameter tables, such as fonts, color profiles, and a gamma table. Thus stored data can be read as needed. Further, the resource management unit314can store a new parameter table and correct and update the parameter table.

The MFP control unit309controls a raster image processing (RIP) unit307to execute a RIP process when page description language (PDL) data is input to the MFP. The MFP control unit309executes image processing on image data to be printed using the output image processing unit308, as needed. The storage device313can store intermediate data or print ready data (bitmap data for printing or the compressed bitmap data) of the image data generated at this time as needed.

The image data to be printed is sent to the printer unit310. The recording paper printed out by the printer unit310is supplied to the post-processing unit311so as to be assorted and finished.

The MFP also has an optional function which is not available in an initial state of the product and can be used in response to an operation of an option switch. To activate the optional function, license information is necessary. The license information for activating the operation function is stored in the storage device313.

An application may be installed in the MFP as another method for adding a function to the MFP. The application is installed to add and use a function later that is not previously equipped in the MFP. The additionally installed application is also stored in the storage device313.

Communication among the MFPs103,104and105included in the office system100of the present embodiment is described with reference toFIG. 2,FIG. 4andFIG. 30. Each process is realized and executed by the CPU315of each of the MFPs103,104and105. Each process will be described in detail below.

Each processing flow for selecting an arbitration mode, selecting shared data and selecting a sharing mode in the office system100will be described with reference toFIG. 2. The process for selecting the arbitration mode will be described below with reference toFIGS. 15 to 20. The process for selecting shared data will be described below with reference toFIGS. 9 and 10. The process for selecting the sharing mode will be described below with reference toFIGS. 21 and 22.

The processes illustrated inFIG. 2are executed during normal operations of the MFP104, the MFP105and the MFP103. Further, the operations are executed at arbitrary timing in response to a user instruction. The processes for selecting the arbitrary mode, selecting the shared data, and selecting the sharing mode are independently executed at arbitrary timings respectively in response to user instructions. In the present embodiment, a user operation on the MFP104is described as an example. However, the user operation is not limited to the MFP104. The user may operate on any of the MFP103, the MFP104and the MFP105in the office system100.

In a process206, the user opens an arbitration mode selection screen illustrated inFIG. 29on the display unit of the operation unit306of the MFP104. The user selects the arbitration mode from a priority order setting button2900and a priority function selection button2902that are displayed on the arbitrary mode selection screen. In a process208, a selection result of the arbitration mode is stored in the storage device313of the MFP104. In a process210, the selection result of the arbitration mode is copied to the MFP105and the MFP103in the office system100. The processes206,208and210will be described in detail below with reference toFIGS. 15 to 17.

In a process212, the user selects data to be shared among the MFP103, the MFP104and the MFP105in the office system100using the operation unit306of the MFP104. In a process214, a selection result of the shared data is stored in the storage device313of the MFP104. The processes212and214will be described in detail below with reference toFIG. 10.

In a process216, the user selects the sharing mode using the operation unit306of the MFP104. Selection of the sharing mode is to select a mode in which license free applications and data are available among the all MFPs in the office system100. In a process218, a selection result of the sharing mode is stored in the storage device313of the MFP104. In a process220, the selection result of the sharing mode is copied to the MFP105and the MFP103in the office system100. Processes216,218and220will be described in detail below with reference toFIG. 21.

Processing flows for adding data, editing data, and newly installing an application in the arbitrary one of the MFPs103,104and105in the office system100(image processing system) will be described with reference toFIG. 4. The processes will be described in detail below with reference toFIGS. 5 to 8. In the present embodiment, addition of data, edition of data, and installation of an application in the MFP104will be described as examples. However, the processes are not limited to the MFP104. The addition of data, the edition of data, and the installation of an application may be performed in any one of the MFPs103,104and105in the office system.

In a process404, the user adds data, edits data and installs an application in the MFP104via the operation unit306. In a process406, the data and application are copied to be shared among the MFPs103and105in the office system. The shared copy will be described in detail below with reference toFIG. 5.

In determination408, a following process is executed according to the selection result of the sharing mode in the process216inFIG. 2. The shared copy of the data and application can be available in the MFP105when the sharing mode is selected in which the license free data and application are available in other MFPs. When the sharing mode in which the license free data and application are available in other MFPs is not selected, the shared copy of the data and application are not made available.

With reference toFIG. 30, a processing flow when one of the MFPs103,104and105in the office system100is not available for a long period of time due to a failure or maintenance and the other MFP in the office system100executes an alternative operation will be described. The detail processes will be described below with reference toFIGS. 11 to 14, andFIGS. 23 to 28. In the present embodiment, a case where a failure or maintenance occurs in the MFP104is described as an example. However, the process is applicable to a case where a failure or maintenance occurs in any one of the MFPs103,104and105in the office system100.

It is assumed that, in a process3000, a failure or maintenance occurs in the MFP104, and the MFP104detects it. In processes3002and3004, the MFP104notifies the MFPs105and103in the office system100that the MFP104is not available for a long period of time. The notifying process will be described in detail below with reference toFIGS. 11 to 13. As illustrated inFIG. 14, the other MFP105or103may detect the failure of the MFP104by performing a polling operation when the MFP104cannot send notice due to a degree of the failure thereof.

In a process3006, the MFP105which has received the failure notice executes an arbitration process. The arbitration process is to cause a single MFP in the office system100to execute an alternative operation for data and an application requiring a license. The arbitration process will be described in detail below with reference toFIGS. 23 to 25. When it is necessary to send a capability inquiry to the MFP103in the arbitration process, a process3008is executed. The capability inquiry will be described in detail below with reference toFIGS. 25 and 26.

When it is determined that, for example, the MFP105executes the alternative operation as a result of the arbitration process, the alternative operation starts in a process3010. A process3012is executed when the MFP104is repaired by a service engineer or the like and recovered. When the MFP104detects that own apparatus has recovered, the MFP104sends notice of recovery to the MFPs105and103in the office system100in a process3014. The notice of recovery will be described in detail below with reference toFIG. 27.

If the MFP105performs the alternative operation when receiving the notice of recovery, the MFP105stops the alternative operation in a process3016. The alternative operation stop will be described in detail below with reference toFIG. 28. The MFP104which has completed the notice of recovery starts a normal operation again.

A process for copying and sharing an application among the MFPs103,104and105in the office system will be described with reference toFIG. 5. It is assumed that, as illustrated inFIG. 4, the application installed in the MFP104is copied to be shared with the MFPs105and103in the office system100. The process is executed and realized by the CPU315in each of the MFPs103,104and105. In the following descriptions, the MFP104executes processing illustrated in the flowchart ofFIG. 5.

The shared copy of the application is made in order to make the application available in the alternative MFPs105and103, when the MFP104having the application installed therein is not available for a long period of time due to a failure or maintenance.

More specifically, the application is copied and a replication of the application is stored in to the storage device313equipped in the MFPs103,104and105in the office system100. Accordingly, the alternative operation can be executed in any of the MFPs103,104and105in the office system100. In the present embodiment, a shared copy function is executed using a groupware function that is previously installed in the all MFPs103,104and105in the office system100.

In step S500, the CPU315of the MFP104waits until a user newly installs an optional application. If the application is newly installed in the MFP104(YES in step S500), the process proceeds to step S502. In step S502, the CPU315of the MFP104searches for the MFPs103and105in a network domain. A loop process starts from step S504to step S510, and is repeated for a number of times corresponding to a number of the MFPs103and105searched in step S502.

In step S506, the CPU315of the MFP104performs peer-to-peer communication with the MFP103or MFP105in which the data is copied to be shared. The application newly installed in the MFP104is copied to and shared with the MFP103or MFP105.

In step S508, the CPU315of the MFP104determines whether the installed application requires a license. If the license is required (YES in step S508), the process proceeds to step S510, and the license is copied to be shared with the MFP103or MFP105. When copying and sharing of the application and license are completed in both the MFPs103and105in the network domain, the process ends.

Next, a process for copying and sharing data among the MFPs103,104and105in the office system100will be described with reference toFIG. 6. It is assumed that, as illustrated inFIG. 4, data added to the MFP104is copied to be shared with the MFPs105and103in the office system100. The process is executed and realized by the CPU315of the MFPs103,104and105. In the following descriptions, the MFP104executes processing illustrated in the flowchart ofFIG. 5.

The data stored in the MFPs103,104and105includes address book data such as facsimile destinations and e-mail destinations, and image data stored in the storage device313. The data described above is just an example and all pieces of data stored in the MFPs103,104and105may be subjected to the shared copy.

Data is copied and shared in order to use the data in the alternative MFPs103and105, when the MFP104having stored data is not available for a long period of time due to a failure or maintenance. The shared copy function is executed using the groupware function that is previously installed in the all MFPs103,104and105in the office system100.

In step S600, the CPU315of the MFP104waits until the user newly adds data. When new data is added to the MFP104(YES in step S600), the process proceeds to step S602. In step S602, the CPU315of the MFP104searches for the MFP103or MFP105in the network domain. A loop process starts from step S604to step S606, and is repeated for a number of times corresponding to the number of the MFPs103and105searched in step S602.

In step S606, the CPU315of the MFP104performs peer-to-peer communication with the MFP103or MFP105namely a destination where the data is copied to be shared. The data newly added to the MFP104is copied to be shared by with the MFP103or MFP105. When copying and sharing of the data is completed with the both MFPs103and105in the network domain, the process ends.

Next, a process for copying and sharing updated data that is shared among the MFPs103,104and105in the office system100when the data stored in the MFP104is updated will be described with reference toFIG. 7. It is assumed that, as illustrated inFIG. 4, the data of the MFP104is updated and is copied to be shared with the MFPs105and103in the office system100. The process is executed and realized by the CPU315of the MFPs103,104and105. In the following descriptions, the MFP104is to execute processing illustrated in the flowchart ofFIG. 7.

In step S700, the CPU315of the MFP104waits until the user edits data. If the user edits the data (YES in step S700), the process proceeds to step S702. In step S702, the CPU315of the MFP104searches for the MFP103or MFP105in the network domain. A loop process starts from step S704to step S706, and is repeated for a number of times corresponding to the number of the MFPs103and105searched in step S702.

In step S706, the CPU315of the MFP104performs peer-to-peer communication with the MFP103or MFP105in which data is copied to be shared. The updated data is copied so as to be shared with the MFP103or MFP105. When copying and sharing of the data is completed with the both MFPs103and105in the network domain, the process ends.

Next, a process for receiving the shared copy of the application or data that is sent from the MFP104will be described with reference toFIG. 8. It is assumed that the MFP105is to receive the data or application which is sent from the MFP104using the shared copy function. The process is executed and realized by the CPU315of the MFP105.

In step S800, the CPU315of the MFP105waits until a shared copy of the data is generated by the MFP104in the network domain. If data is copied and shared (YES in step S800), the process proceeds to step S802. In step S802, the CPU315of the MFP105stores the application, license information and data, which have been sent from the MFP104, in the storage device313in association with an IP address of the MFP104i.e. a transmission source.

A process to be executed when the license information has been sent will be described. Normally, the user purchases a necessary number of applications. However, if the copy of the application and the license information are shared among the all MFPs103,104and105in the office system100, it may violate the license agreement.

In the present embodiment, to avoid such violation, the shared copy of the application and license information are made unavailable. In addition, the shared copy of the application and license information can be available only when the MFP including the application and the license is not available and the other MFP performs an alternative operation. The alternative operation will be described in detail below.

A process for selecting the application or data that is copied to be shared will be described with reference toFIGS. 9 and 10. The process is executed at arbitrary timing in response to a user instruction as described inFIG. 2. If the entire applications and the entire data are shared, the capacity of the storage device313of the MFP becomes tight. Thus, information to be copied and shared can be selected. The process is executed and realized by the CPU315of each of the MFPs103,104and105.

In step S1000, the CPU315of the MFP waits until the user uses a selection function. If the user uses the selection function (YES in step S1000), the process proceeds to step S1002. In step S1002, the CPU315of the MFP reads the selection information stored in the storage device313. If the selection information is not stored in the storage device313, it is assumed that nothing has been selected.

In step S1004, the CPU315of the MFP displays a shared copy data selection screen906illustrated inFIG. 9on the operation unit306based on the selection information of step S1002. The shared copy data selection screen906displays the applications and data installed in the MFPs103,104and105in a form of a list. The list includes check boxes900to904. By ticking any of the check boxes, a selected state and a non-selected state can be switched. A piece of the selection information of step S1002has already been ticked in its corresponding check box.

In step S1006, the CPU315of the MFP waits until the user presses a completion button905of the shard copy data selection screen906. When the completion button905is not pressed in step S1006(NO in step S1006), the process proceeds to step S1008. In step S1008, the CPU315of the MFP receives selection of a predetermined item in the list. In step S1010, the CPU315of the MFP determines whether the selected item of the list has already been checked. If the selected item of the list has already been checked (YES in step S1010), the process proceeds to step S1012and the check mark of the check box is cleared. If the selected item of the list has not already been checked (NO in step S1010), the process proceeds to step S1014, and the check box is ticked.

Step S1008to step S1014are repeated until the user presses the completion button905. If the user presses the completion button905(YES in step S1006), the process proceeds to step S1016and the CPU315of the MFP counts the checked items of the list. In step S1018, the CPU315of the MFP stores the counted items in the storage device313and ends the process.

If the application and data to be shared using the function described in the above process are selected, only the selected application and data are copied to be shared in the office system.

A process to be executed when maintenance of the MFPs103,104and105is performed by a service engineer will be described with reference toFIG. 11. It is assumed that maintenance is performed for the MFP104(a first image processing apparatus, an external image processing apparatus). The process is a detailed description of the process3002illustrated inFIG. 30. The process is executed and realized by the CPU315of the MFP104.

In step S1100, the CPU315of the MFP104waits until the maintenance of the MFP104is started by the service engineer. When the maintenance is started (YES in step S1100), the process proceeds to step S1102. In step S1102, the CPU315of the MFP104searches for the MFPs103and105in the network domain. A loop process starts from step S1104to step S1106, and is repeated for a number of times corresponding to the number of MFPs103and105searched in step S1102.

In step S1106, the CPU315of the MFP104performs peer-to-peer communication with the MFP103or MFP105(a second image processing apparatus) which are notification destination. The CPU315notifies that the MFP104is not available for a long period of time due to maintenance. Upon reception of the notice, the MFP starts the alternative operation using aprocess ofFIG. 14, as described below. When sending the notice is completed to both the MFPs103and105in the network domain, the process ends.

A process for notifying of a failure of the MFPs103,104and105will be described with reference toFIG. 12. It is assumed that a failure has occurred in the MFP104. The process is a detailed description of the process3002illustrated inFIG. 30. The process is executed and realized by the CPU315of the MFP104. If the process cannot be executed due to the degree of the failure in the MFP, the process is not executed.

In step S1200, the CPU315of the MFP104determines whether a failure has occurred. When it is determined that the failure has occurred in the MFP104(YES in step S1200), the process proceeds to step S1202. In step S1202, the CPU315of the MFP104determines whether the failure can be notified. For example, when the failure occurs in the NIC unit303of the MFP104, the CPU315determines that the failure cannot be notified (NO in step S1202), and the process proceeds to step S1210.

In step S1210, the CPU315of the MFP104controls the operation unit306to display a failure message and ends the process. When it is determined that the failure can be notified in step S1202(YES in step S1202), the process proceeds to step S1204. In step S1204, the CPU315of the MFP104searches for the MFPs103and105in the network domain. A loop process starts from step S1206to step S1208, and is repeated for a number of times corresponding to the number of the MFPs103and105searched in step S1204.

In step S1208, the CPU315of the MFP104performs peer-to-peer communication with the MFP103or MFP105which are the notification destination. The CPU315notifies the MFP103or MFP105that the MFP104is not available for a long period of time due to a failure. Upon reception of the notice, the MFP103or MFP105starts the alternative operation as illustrated inFIG. 14, as described below. When sending the notice is completed to both the MFPs103and105in the network domain, the process ends.

A process for notifying that a failure occurs each of the MFPs103,104and105by a user operation or an operation of the service engineer (i.e. an external operation) will be described with reference toFIG. 13. It is assumed that a failure has occurred in the MFP104. The process is a detailed description of the process3002ofFIG. 30. The process is executed and realized by the CPU315of the MFP104. If the process cannot be executed due to the degree of the failure, the process will not be executed.

In step, the CPU315of the MFP104checks whether a network function and a user interface (UI) function (a user interface function using the operation unit306) of the MFP104normally operate. When it is determined that both functions do not normally operate (NO in step S1302), the process ends. When it is determined that both functions normally operate (YES in step S1302), the process proceeds to step S1304. In step S1304, the CPU315of the MFP104displays a failure message on the operation unit306.

In step S1306, the CPU315waits until the user or the server engineer performs a notification operation of the failure. In step S1308, the CPU315of the MFP104detects that an IP address of any of the MFPs103and105which are the notification destination is input by the user or the service engineer via the operation unit306. In step S1310, the CPU315of the MFP104notifies the MFP103or105which is specified by the input IP address of the failure.

A process that one of the MFPs103,104and105performs a polling operation to detect the failure of the other MFP will be described. It is assumed that a failure has occurred in the MFP104, and the MFP105performs the polling operation at predetermined intervals. The process is executed and realized by the CPU315of the MFP105. The process is executed to detect the failure of the MFP104by the normally operated MFP105performing the polling operation when the MFP104cannot send notice in the flowcharts illustrated inFIGS. 12 and 13due to its failure.

In step S1400, the CPU315of the MFP105waits until a previously set time period elapses. In step S1402, the CPU315of the MFP105searches for the MFPs103and104in the network domain. A loop process starts from step S1404to step S1408, and is repeated for a number of times corresponding to the number of the MFPs103and104searched in step S1402.

In step S1406, the CPU315of the MFP105sends a packet for confirming a normal operation of the MFP103or MFP104thereto. In step S1408, the CPU315of the MFP105determines whether the MFP103or MFP104normally operates (whether the MFP is available) based on return of the packet for confirming the normal operation that has been sent in step S1406.

when it is determined that the MFP103or MFP104normally operates (YES in step S1408) a next loop process is preformed. When it is determined that a failure has occurred in the MFP103or MFP104(NO in step S1408), the process proceeds to a sub-routine in step S1410. The process of sub-routine in step S1410will be described in detail below with reference toFIG. 23. Upon completion of an operation confirmation process of the both MFPs103and104in the network domain, the process ends.

A process for determining an arbitration rule when the MFP performs the alternative operation will be described with reference toFIG. 15. It is assumed that the MFP104is operated to select the arbitration mode. The process is executed at an arbitrary timing in response to the user instruction as described inFIG. 2. The process is executed and realized by the CPU315of the MFP104.

In step S1500, the CPU315of the MFP104controls the operation unit306to display an arbitration mode selection screen2904illustrated inFIG. 29. In step S1502, the CPU315of the MFP104waits until the user selects the priority order setting button2900or the priority function selection button2902displayed on the arbitration mode selection screen.

When the priority order setting button2900is pressed (a priority order fixed mode in step S1502), the process proceeds to a sub-routine in step S1506. The sub-routine in step S1506will be described in detail with reference toFIG. 16. When the priority function selection button2902is pressed (a function-classified priority mode in step S1502), the process proceeds to a sub-routine in step S1504. The sub-routine in step S1504will be described in detail with reference toFIG. 17.

The detail process of the sub-routine in step S1506ofFIG. 15will be described with reference toFIG. 16. The process is executed and realized by the CPU315of the MFP104.

In step S1600, the CPU315of the MFP104searches for the MFPs103and105in the network domain. In step S1602, the CPU315of the MFP104displays a priority order setting screen1806illustrated inFIG. 18on the operation unit306. The priority order setting screen1806includes a list1800of the MFPs103and105searched in step S1600. In step S1604, the CPU315of the MFP104displays the MFPs on a selection result column1802in an order of user-input priorities.

If a completion button1804on the priority order setting screen1806is pressed, the CPU315of the MFP104stores the priority order list in the storage device313in a format illustrated inFIG. 20. The priority order list includes items2000,2002and2004as one record, and is stored in a list configuration in association with the number of MFPs.

A loop process starts from step S1606to step S1608, and is repeated for a number of times corresponding to the number of the MFPs searched in step S1600. In step S1608, the CPU315of the MFP104sends the priority order list stored in step S1604, to the other MFP. Thus, the priority order list is shared among the all MFPs103,104and105in the network domain.

The detail process of the sub-routine in step S1504ofFIG. 15will be described with reference toFIG. 17. The process is executed and realized by the CPU315of the MFP104.

In step S1700, the CPU315of the MFP104displays a priority function selection screen1908illustrated inFIG. 19on the operation unit306. In this example, four different functions are given as criteria for selecting an MFP with a high capability. These functions include a color mode1900, a printing speed1902(capability of color printing), image quality (resolution)1904, and storage device capacity1906. However, it is not limited to these four functions. Any other functions equipped in the MFPs103,104, and105may be applied.

In step S1702, the CPU315of the MFP104waits until the user selects the priority function. Upon pressing of any one of buttons1900to1906in the priority function selection screen1908, the CPU315stores a selection result in the storage device313.

In step S1704, the CPU315of the MFP104searches for the MFPs in the network domain. A loop process starts from step S1706to step S1708, and is repeated for a number of times corresponding to the number of the MFPs searched in step S1704. In step S1708, the CPU315of the MFP104sends the selection result stored in step S1702to the other MFP. Thus, the selection result is shared among the all MFPs103,104and105in the network domain.

A process for selecting whether to perform the alternative operation for license free application and data among the all MFPs103,104and105will be described with reference toFIGS. 21A and 21B. It is assumed that the MFP104is operated to perform selection. The process is executed at an arbitrary timing in response to the user instruction as described inFIG. 2. The process is executed and realized by the CPU315of the MFP104.

In step S2100, the CPU315of the MFP104displays a sharing mode selection screen2204illustrated inFIG. 22on the operation unit306to inquire the user whether the license free data or application is made available among the all MFPs. In step S2102, the CPU315of the MFP104waits until the user presses an available button2200or an unavailable button2202.

In step S2104, the CPU315of the MFP104stores a selection result of step S2102in the storage device313. In step S2106, the CPU315of the MFP104searches for the MFP in the network domain. A loop process starts from step S2108to step S2110, and is repeated for a number of times corresponding to the number of the MFPs searched in step S2106.

In step S2110, the CPU315of the MFP104sends the selection result stored in step S2104to the other MFP. Thus, the selection result is shared among the all MFPs in the network domain.

A process including step S2112to step S2114is performed when the selection result as to whether the alternative operation for the license free application or data is performed among the all MFPs is received from the other MFP. Upon reception of the selection result from the other MFP in step S2112, in step2114, the CPU315of the MFP104stores the selection result in the storage device313.

A process for selecting whether to perform the alternative operation when the other MFP is not available due to a failure or maintenance will be described with reference toFIG. 23. It is assumed that a failure has occurred in the MFP104, and the MFP105alternatively operates. The process is a detailed description of each of the process3006, process3008and process3010inFIG. 30. The process is executed and realized by the CPU315of the MFP105.

In step S2300, the CPU315of the MFP105receives failure notice from the other MFP as illustrated inFIGS. 11 to 13, or detects that the other MFP does not operate by performing the polling operation as illustrated inFIG. 14. The polling operation has already been described inFIG. 14. The process is also a detailed description of the sub-routine in step S1410ofFIG. 14.

In a sub-routine in step S2302, the CPU315of the MFP105arbitrates the alternative operation with the MFP103in the network domain. More specifically, if the alternative operation for a fare-paying application requiring a license is performed between the plurality of MFPs103and105, it violates the license agreement. Thus, the CPU315arbitrates the alternative operation to be performed by only one MFP in the network domain. The detail description of the sub-routine in step S2302will be described in detail below with reference toFIG. 24.

In step S2304, the CPU315of the MFP105determines whether the MFP105performs the alternative operation by own apparatus based on a result of arbitration in the sub-routine in step S2302. When it is determined that the MFP105(the corresponding MFP) performs the alternative operation by own apparatus (YES in step S2304), the process proceeds to step S2306. In step S2306, the CPU315of the MFP105performs the alternative operation using the application, license information and data which are copied and shared to the storage device313in step S802ofFIG. 8.

At this time, the storage device313of the MFP105stores the information that is copied and shared from the plurality of MFPs103and104. Since the information is copied and shared in step S802ofFIG. 8by associating with IP address, the information can be selected by the IP address as an identifier.

When it is determined that the own apparatus does not perform the alternative operation (NO in step S2304), the process proceeds to step S2308. In step S2308, the CPU315of the MFP105reads a selection result as to whether the alternative operation for the license free application or data is performed as described inFIGS. 21A,21B, and22from the storage device313. If no license is required, the alternative operation can be performed by the plurality of MFPs103and105. When it is determined that the sharing mode turns ON in step S2308(YES in step S2308), the process proceeds to step S2310. In step S2310, the alternative operation starts for the license free application and data.

The detail process of sub-routine in step2302will be described with reference toFIG. 24. It is assumed that a failure has occurred in the MFP104, and the MFP105alternatively operates. The process is a detailed description of each of the process3006, process3008and process3010inFIG. 30. The process is executed and realized by the CPU315of the MFP105.

In step S2400and step S2402, the CPU315of the MFP105confirms the arbitration mode and determines whether a priority mode is selected. The determination of the priority mode is to determine which mode either the priority order fixed mode or the function-classified priority mode is selected. The priority order fixed mode and the function-classified mode are described inFIG. 15toFIG. 20.

In the priority order fixed mode, the priority of each of the MFPs is fixed in the office system as described in FIGS.16,18, and20. Further, the MFP with higher priority among MFPs103,104and105performs the alternative operation. The priority order fixed mode is set, when the priority order setting button2900is pressed in the operation screen2904inFIG. 29and the priority order of the MFPs is set. In the function-classified priority mode, the alternative operation is performed by the MFP having the highest capability in the office system with respect to the function selected by the user as described inFIGS. 17 and 19. The function-classified priority mode is set when the priority function selection button2902is pressed in the operation screen2904ofFIG. 29and the priority function is selected. The storage device313stores a selection result of the priority order fixed mode/function-classified priority mode.

In step S2402, when it is determined that the priority order fixed mode is selected (YES in step S2402), the process proceeds to step S2404. In step S2404, the CPU315of the MFP105confirms the priority order list (FIG. 20). In step S2406, the CPU315of the MFP105selects an MFP in a higher rank than own apparatus in the priority order list (FIG. 20) and sends a packet for confirming a normal operation to the selected MFP.

In step S2408, the CPU315of the MFP105determines whether there is the MFP having the higher priority than own apparatus and being in the normal operation based on the selection result of step S2406. When it is determined that there is the MFP having the higher priority than own apparatus (YES in step S2408), the process proceeds to step S2410. Then, the CPU315of the MFP105ends the process without performing the alternative operation. When it is determined that there is no MFP having the higher priority than the MFP105(NO in step S2408), the process proceeds to step S2418and the MFP105starts the alternative operation.

When it is determined that the function-classified priority mode is selected in step S2402(NO in step S2402), the process proceeds to step S2412. In step S2412, the CPU315of the MFP105confirms the priority function selected inFIGS. 17 and 19. It is assumed that the printing speed1902has been selected as the priority function. In sub-routine in step S2414, the CPU315of the MFP105inquires capability of the MFPs in the network domain. The detail process of the sub-routine in step S2414will be described below with reference toFIG. 25.

In step S2416, the CPU315of the MFP105determines whether the highest capability is possessed by own apparatus based on a result of inquiry in the sub-routine in step S2414. Since the printing speed1902is selected as the priority function, the CPU315determines whether the MFP105has the highest printing speed in the network domain. When it is determined that the printing speed of own apparatus is not the highest in the network domain (NO in step S2416), the process proceeds to step S2410. Then, the CPU315of the MFP105ends the process without performing the alternative operation. When it is determined that own capability is the highest one among the MFPs (YES in step S2416), the process proceeds to step S2418and the MFP105starts the alternative operation.

The detail process of sub-routine in step S2414will be described with reference toFIG. 25. It is assumed that a failure has occurred in the MFP104, and the MFP105performs the alternative operation. The process is a detail description of each of the process3006, process3008and process3010ofFIG. 30. The process is executed and realized by the CPU315of the MFP105.

In step S2500, the CPU315of the MFP105determines whether notice has been received from an MFP having a higher capability than own apparatus. The determination is made to determine which MFP is prioritized when a plurality of MFPs have the same capability with each other. In the present embodiment, the MFP which has sent an inquiry ahead of others is prioritized.

when the MFP105has received an inquiry from the other MFP in advance and it is determined that notice indicating the other MFP has the same capability as that of the MFP105has been received in step S2500(YES in step S2500), the process proceeds to step S2514. The notice that the other MFP has the same capability as that of the MFP105will be described in step S2510. In step S2514, the CPU315of the MFP105ends the process without performing the alternative operation.

When it is determined in step S2500that no notice has been received (NO in step S2500), the process proceeds to step S2502. In step S2502, the CPU315of the MFP105searches for the MFP103in the network domain. A loop process starts from step S2504to step S2510, and is repeated for a number of times corresponding to the number of MFPs103searched in step S2502.

In step S2506, the CPU315of the MFP105inquires of the MFP103about the function confirmed in step S2412inFIG. 24. In step S2508, the CPU315of the MFP105compares the capability of own apparatus and that of the MFP103.

When the MFP105has a higher capability than that of the other MFP (i.e. MFP103) (OWN APPARATUS>ANOTHER APPARATUS in step S2508), the CPU315of the MFP105continues the loop process and inquires of the next MFP about the capability. When the capability of the other MFP is higher than that of the MFP105(OWN APPARATUS<ANOTHER APPARATUS in step S2508), the process exits from the loop process and proceeds to step S2514. In step S2514, the CPU315of the MFP105ends the process without performing the alternative operation. When the capability of the MFP105is equal to that of the other MFP (OWN APPARATUS=ANOTHER APPARATUS in step S2508), the process proceeds to step S2510. In step s2510, the CPU315of the MFP105notifies the MFP103that the MFP105is prioritized. A process performed by the MFP having received the notice will be described in detail below with reference toFIG. 26.

The CPU315of the MFP105inquires of the all MFPs in the network domain about their capability. When there is no MFP having a higher capability than the MFP105, the process normally exits from the loop process and proceeds to step S2512. In step S2512, the CPU315of the MFP105starts the alternative operation and ends the process.

The detail process of the MFP103when it receives a capability inquiry from the other MFP will be described with reference toFIG. 26. The process is a detail description of process3008illustrated inFIG. 30. The process is executed and realized by the CPU315of the MFP103.

In step S2600, the CPU315of the MFP103receives an inquiry about the capability thereof from the other MFP. In step S2602, the CPU315of the MFP103returns information indicating the inquired capability (function) to the other MFP.

In step S2604, the CPU315of the MFP103determines whether priority notice has been received as described in step S2510ofFIG. 26. When own capability is equal to the capability of the other MFP, the other MFP issues the priority notice according to a preceding priority rule. If the priority notice is received (YES in step S2604), the process proceeds to step S2606. In step S2606, the CPU315of the MFP103stores information representing that the notice has been received in the storage device313. The storage result is used for determination in step S2500ofFIG. 25.

A detail process to be executed when the MFP recovered from a failure or maintenance will be described with reference toFIG. 27. It is assumed that the MFP104has recovered. The process is a detail process of the process3014illustrated inFIG. 30. The process is executed and realized by the CPU315of the MFP104.

In step S2700, the MFP104detects that it has recovered from a failure or maintenance. In step S2702, the CPU315of the MFP104searches for the MFPs103and105in the network domain. A loop process starts from step S2704to step S2706, and is repeated for a number of times corresponding to the number of MFPs103and105searched in step S2702.

In step S2706, the CPU315of the MFP104notifies the other MFP that the MFP104has recovered. When the notice is transmitted to the all MFPs103and105in the network domain, the process exits from the loop process and proceeds to step S2708. In step S2708, the CPU315of the MFP104starts operations as the MFP.

A detail process to be executed when an MFP receives notice of recovery from the other MFP will be described with reference toFIG. 28. It is assumed that the MFP105receives the notice of recovery from the other MFP. The process is a detail description of the process3016illustrated inFIG. 30. The process is executed and realized by the CPU315of the MFP105.

In step S2800, the CPU315of the MFP105receives the notice of recovery from the other MFP. In step S2802, the CPU315of the MFP105determines whether the MFP105is performing the alternative operation. When it is determined that the alternative operation is being performed by the MFP105(YES in step S2802), the CPU315of the MFP105proceeds to step S2804and stops the alternative operation.

As described above, according to the present embodiment, when the MFP which stores information (data, application, and license information) is not available for a long period of time, the information is backed up to be shared among the MFPs of the office system. Accordingly, when a failure has occurred in the MFP, or the maintenance is performed in the MFP, the information can quickly and easily be used in the MFP to be alternatively operated. Further, only the latest information or minimum information may be backed up.

When the MFP recovered from the failure or the maintenance, the alternative operation for the other MFP can be stopped and the office system can recover the original state easily.

When the MFP is not available for a long period of time due to a failure or maintenance, the other MFP in the office system is notified of the unavailability. Accordingly, the other MFP can detect the failure of the MFP and timing to start the alternative operation. Further, when the MFP is not available for a long period of time, the unavailability is notified by an operation of a user or a service engineer, thus, it is possible to handle a case in which a failure occurs in the network function.

Information requiring a license to use is arbitrated among the MFPs in the office system using peer-to-peer communication. Thus, it can prevent MFPs more than a number of effective licenses from operating data or application programs. Further, since the MFP to perform an alternative operation is selected based on a priority order, or a high capability, it is possible to appropriately determine the other MFP for the alternative operation from a plurality of MFPs.

The criteria for selecting the MFP include any of the capability of color printing, the printing speed, the image quality and the storage device capacity. Thus, it is possible to select the MFP for the alternative operation according to a function request for the MFP.

The license free information can be selected to be available in the all MFPs. Thus, the alternative operation for the license free information can be performed by not only a specific alternative MFP but also the all MFPs in the office system.

When the MFP is restored from a failure or maintenance, the other MFP in the office system is notified of recovery. Therefore, the MFP which is performing the alternative operation can be notified of timing of stopping the alternative operation. Further, the MFP alternatively operating stops the alternative operation upon reception of the notice of recovery. Thus, the system can automatically recover the original state.

In the above embodiment, the image processing system of the present invention is installed in the office system in a company office. However, the installation is not limited to the office system. The image processing system of the present invention may be installed according to various use.

The present invention can be implemented by executing the following processes. More specifically, program codes of software realizing the functions of the above-described embodiments are stored on a storage medium. The storage medium is supplied to a system or an apparatus. Further, a computer (a CPU or a micro processing unit (MPU)) of the system or apparatus reads the program codes stored on the storage medium.

In this case, the program codes read from the storage medium themselves realize the functions of the above-described embodiment. The program codes and the storage medium storing the program codes are included in the present invention.

The storage medium for supplying the program codes may be any one of a floppy disk, a hard disk, a magneto-optical disk, a compact disk read only memory (CD-ROM), a compact disk recordable (CD-R), a compact disk rewritable (CD-RW), a digital versatile disk read only memory (DVD-ROM), a DVD-RAM, a DVD-RW, a DVD+RW, a magnetic tape, a non-volatile memory card, and a ROM. The program codes may be downloaded via a network.

The program codes read by a computer may be executed to realize the functions of the embodiments. Thus realized functions are included in the present invention. In addition, the actual processes are partially or entirely executed by an operating system (OS) operating on a computer based on the program codes. The functions of the embodiments maybe realized by the processes and are included in the present invention.

Further, the functions of the above-described embodiments may be realized by the following processes and are also included in the present invention. The program codes read from the storage medium are written into a memory included in an expansion board inserted into a computer or an expansion unit connected to the computer. Then, a CPU included in the expansion board or expansion unit may partially or entirely perform the actual processes based on an instruction of the program codes.

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