Device cooperation system, image forming apparatus, and function providing method

In a device cooperation system, devices connected via a network take partial charge of providing a function. A first device acquires image data to be output; receives a condition used when the first device and a second device output the image data; stores a possible output amount that can be output by the first device; determines whether a total page number, which is obtained from the condition and a number of pages of the acquired image data, is less than or equal to the possible output amount; determines first and second output numbers to be respectively allocated to the first and second devices; sends the image data and the second output number to the second device; and updates the possible output amount according to a number output by the first and second devices.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a device cooperation system in which plural devices connected via a network take partial charge of providing functions of the devices.

2. Description of the Related Art

There is known a processing format referred to as device cooperation, by which plural devices connected in a network cooperate with each other to execute a single job. Device cooperation means that plural devices take partial charge of providing functions necessary for a single job constituted by a series of processes starting from input to output.

FIG. 1illustrates an example of executing a job by device cooperation. An MFP (multifunction peripheral)1and an MFP2are connected to each other via a network. The MFP1does not have a fax function, but the MFP2has a fax function. A user Q wants to transmit image data by fax, but because the MFP1does not have a fax function, the user Q uses the MFP1to scan an original document by the scanner function, and use the fax function of the MFP2to transmit the image data by fax.

FIG. 2illustrates another example of executing a job by device cooperation. Both the MFP1and the MFP2have a printing function. The user Q wants to print out plural copies of the image data. The printing operation can be done with only the MFP1; however, by having the MFP2take partial charge of the printing operation, the printing operation can be completed quickly. The user Q may operate the MFP1to scan the original document with the scanning function, and transmit the image data and print conditions to the MFP2, so that the printing operation is shared by the MFP1and the MFP2.

Incidentally, MFPs are shared by many users in offices. For this reason, conventionally, there are MFPs having a function of setting the upper limit frequency (upper limit usage amount) of copying and printing for each user, so that a particular person does not use the copying and printing functions unlimitedly (see, for example, Patent Document 1). Patent document 1 discloses the following service execution device. The service execution device transmits, to a server, a usage request for authentication information and a usage request of a scheduled number of sheets to be used. When the scheduled number of sheets to be used requested to the server is less than or equal the number of sheets that the user can use, the service execution device executes a job based on user instructions with the scheduled number of sheets to be used set as the upper limit.

However, in patent document 1, it is not considered how to limit the usage amount for devices capable of device cooperation. For example, in the example ofFIG. 1, it is not considered whether the MFP1operated by the user Q limits the usage amount or whether the MFP2providing the fax function limits the usage amount. In the example ofFIG. 2, both the MFP1and the MFP2perform printing, and therefore even if the usage amount of the MFP1operated by the user Q can managed, the usage amount of the MFP2cannot be managed.Patent Document 1: Japanese Laid-Open Patent Publication No. 2010-074431

SUMMARY OF THE INVENTION

The present invention provides a device cooperation system in which one or more of the above-described disadvantages are eliminated.

A preferred embodiment of the present invention provides a device cooperation system providing a usage amount limiting device capable of limiting the usage amount at the time of device cooperation.

According to an aspect of the present invention, there is provided a device cooperation system including plural devices connected via a network, which take partial charge of providing a function of the plural devices, wherein a first device includes an acquiring unit configured to acquire image data that is an output target, an output condition receiving unit configured to receive an output condition used when the first device and at least one second device output the image data, a storage unit configured to store a possible output amount that can be output by the first device, an output possibility determining unit configured to determine whether a total page number, which is obtained from the output condition and a number of pages of the image data acquired by the acquiring unit, is less than or equal to the possible output amount, an allocation number determining unit configured to determine a first output number to be allocated to the first device and a second output number to be allocated to the at least one second device, a data communication unit configured to send the image data and the second output number to the at least one second device, and a possible output amount update unit configured to update the possible output amount according to an output number output by the first device and the at least one second device.

According to an aspect of the present invention, there is provided an image forming apparatus for taking partial charge of providing a function with at least one device connected via a network, the image forming apparatus including an acquiring unit configured to acquire image data that is an output target; an output condition receiving unit configured to receive an output condition used when the first device and at least one second device output the image data; a storage unit configured to store a possible output amount that can be output by the first device; an output possibility determining unit configured to determine whether a total page number, which is obtained from the output condition and a number of pages of the image data acquired by the acquiring unit, is less than or equal to the possible output amount; an allocation number determining unit configured to determine a first output number to be allocated to the first device and a second output number to be allocated to the at least one second device; a data communication unit configured to send the image data and the second output number to the at least one second device; and a possible output amount update unit configured to update the possible output amount according to an output number output by the first device and the at least one second device.

According to an aspect of the present invention, there is provided a function providing method by which plural devices connected via a network take partial charge of providing a function of the plural devices, the function providing method including acquiring image data that is an output target; receiving an output condition used when a first device and at least one second device output the image data; determining whether a total page number, which is obtained from the output condition and a number of pages of the image data acquired at the acquiring, is less than or equal to a possible output amount that can be output by the first device, the possible output amount being stored in a storage unit; determining a first output number to be allocated to the first device and a second output number to be allocated to the at least one second device; sending the image data and the second output number to the at least one second device; and updating the possible output amount according to an output number output by the first device and the at least one second device.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A description is given, with reference to the accompanying drawings, of embodiments of the present invention.

FIG. 3schematically illustrates a device cooperation system200according to the present embodiment. An MFP (multifunction peripheral)1and an MFP2(hereinafter, referred to as “MFP100” when not distinguished from each other) can execute a single job by cooperating with each other. This system in which plural devices provide functions to each other is referred to as the device cooperation system200. A job that is executed by two or more MFPs in cooperation with each other is referred to as a device cooperation job. Furthermore, image data corresponding to one side of a sheet is referred to as one page, and the minimum unit of a sheet material is referred to as one page, regardless of single-sided printing or double-sided printing.

FIG. 3schematically illustrates procedures performed by the MFP1and the MFP2for executing a device cooperation job of a copy application. The MFP1and the MFP2respectively store the possible usage amount in which the remaining number of pages that the user Q can use is registered, in the usage amount limit information. The possible usage amount of the MFP1is the number of pages that the user Q can output with the MFP1, and the possible usage amount of the MFP2is the number of pages that the user Q can output with the MFP2.

When the user Q operates the MFP1to execute a device cooperation job for performing printing with the MFP1and the MFP2, the MFP1allocates a number of pages to the MFP1and the MFP (hereinafter, allocated page number).

When the MFP1determines the allocated page number of the MFP2, the MFP1uses device management information of the MFP2to determine the allocated page number of the MFP2to attain minimized printing time or efficient power consumption.

The MFP1determines whether the total page number of the MFP1and the MFP2is less than or equal to the possible usage amount. When the total page number is less than or equal to the possible usage amount, the MFP1and the MFP2print a number of pages corresponding to the respective allocated page numbers. The MFP1subtracts the total page number from the possible usage amount of the MFP1.

As described above, the MFP1determines whether the device cooperation job can be executed within the possible usage amount of the MFP1, and therefore a single job can be executed within the range of the usage amount limit information in the device cooperation system200.

In the case of a printer application, a PC (personal computer) (not shown) requests a device cooperation job to the MFP1. The PC transmits print conditions and image data of the device cooperation job to the MFP1, and thereafter the MFP1performs processing as in the case of the copy application.

Similar to the copy application, in the case of the fax application, the MFP1allocates a usage amount to the MFP1and the MFP2, determines whether the total usage amount of fax transmission of the MFP1and the MFP2is less than or equal to the possible usage amount of the MFP1, and subtracts the total number of pages from the possible usage amount of the MFP1. Therefore, even for a different application, the same configuration is applicable.

The same applies to a case where the MFP1does not have a fax function. The MFP1allocates an allocated page number (in this case, the total page number) only to the MFP2, and subtracts the total page number from the possible usage amount of the MFP1.

Device Cooperation

A description is given of device cooperation. Device cooperation includes all formats where one MFP uses the function of the other MFP. That is to say, cases in which a job is not executed or an application is not operating are also referred to as device cooperation. However, the MFP1and the MFP2often operate for each application, and therefore a description is given by taking an application as an example. In the description, it is assumed that the device operated by the user is the MFP1.

The application identifies a combination of one of the plural input units of the MFP and one of the plural output units of the MFP, and controls devices and provides functions based on the identified combination.

FIGS. 4A through 4Dillustrate examples of formats of device cooperation of the MFP1and the MFP2.FIGS. 4A through 4Dillustrate a copy application, a scanner application, and a transmission application; however, other applications may also be implemented by having the MFP1and the MFP2provide functions to each other. In the copy application, a single job goes through the processes of scanning an original document by a scanner function, image processing, printing, and post-processing (finishing). Image processing is, for example, OCR processing and confidential print processing. Post-processing is, for example, hole punching and stapling. These processes are not frequently used.

In the scanner application, a single job goes through the processes of scanning an original document by a scanner function, image processing, and transmitting. The image processing is, for example, OCR processing, PDF conversion, and encryption processing. These processes are not frequently used. Transmission includes the processes of, for example, transmitting by email or transmitting to a folder of the user Q.

In the transmission application, a single job goes through the processes of scanning an original document by a scanner function, image processing, and fax transmission. Image processing is, for example, OCR processing and confidential print processing. These processes are not frequently used. Fax transmission is, for example, fax transmission using a telephone line or an IP network.

Furthermore, device cooperation may be performed without executing a device cooperation job. In this case, the user Q may input instructions in the MFP1to read the image data stored in the MFP2from the MFP1and process the image data. The process may include printing, e-mail transmission, and fax transmission. Furthermore, the process may include deleting image data of the MFP2by the MFP1, and displaying a preview of image data of the MFP2by the MFP1. As described above, even if the MFP1and the MFP2do not execute a device cooperation job, a format of device cooperation is created.

Furthermore,FIGS. 4A through 4Ddescribe device corporation of two MFPs; however, there may be cases where three or more MFPs perform device cooperation. In the case of device cooperation performed by three or more MFPs, combinations of MFPs taking charge of editing and outputting increase.

FIG. 5illustrates the operation of device cooperation. In this example, a copy application11is taken as an example.(1) A user Q operates the MFP1, selects one of the applications described above, inputs user information, and sets execution conditions of a device cooperation job.(2) The application reports job information generated from execution to the job management module. Execution of the device cooperation job is controlled by the job management module.(3) When the user Q sets an original document and a start button is pressed, the job management module controls the engine management module, and the original document is scanned and image data is generated.(4) By generating the image data, the number of pages to be printed is known, and therefore the job management module compares the number of pages with the usage amount limit information, and determines whether printing is limited. By this determination, the usage amount in the device cooperation job may also be limited.(5) If printing is not limited, the job management module acquires device management information from the MFP2.(6) The job management module determines an allocated page number, which is the number of pages to be printed by the MFP2.(7) The job management module of the MFP1sends the job information in which the allocated page number is registered and the image data to the MFP2.(8) The job management modules of the MFP1and the MFP2control the engine management modules, and perform printing.

The engine management module of the MFP1is used when the MFP1executes a job by itself (in a stand-alone manner), and the engine management module of the MFP2is used when the MFP2executes a job by itself. That is to say, the MFP1and the MFP2provide their own functions (not only the usage of an engine but also providing resources and processing results) to another MFP with which device cooperation is performed, to execute a single job.

Configuration Example

FIG. 6illustrates a configuration of the device cooperation system200. A LAN1and a LAN2form a single WAN. The LAN1and the LAN2are connected by an L3 switch or a router (not shown). Device cooperation may be performed when the number of LANs may be one or three or more. Communications among the MFP1through MFP4, communications between servers1and2, and communications between the MFP1through MFP4and a server300(hereinafter, referred to as server1or2when distinguished) may be wired or wireless.

To the LAN1, three MFPs1through3and a server1are connected. To the LAN2, the MFP4and the server2are connected. The MFPs1through4have at least one function among copying, scanning, fax transmission, and printing. The MFPs1through4do not need to have the same functions. Furthermore, the MFPs1through4may respectively have functions unique to themselves.

The servers1and2may be, for example, an information processing apparatus for user authentication or an information processing apparatus for providing functions that the MFPs1through4do not have (for example, OCR processing, translation processing, and converting file formats), although the servers1and2are not necessary. Furthermore, in the present embodiment, each MFP has usage amount limit information; however, when the server stores the usage amount limit information of each user, the server1or2is used. The server1or2not only compares the possible usage amounts of the respective MFPs, but may also compare the total usage amount that the user users the MFPs1through4with the usage amount limit information.

Furthermore, in the LAN1, the MFPs1through3form a network through a hub or a LAN switch, and the MFP2and the MFP3are connected by an IEEE1394 interface. As described above, in the device cooperation system200, one or all of the MFPs may be locally connected (in a peer-to-peer manner). Furthermore, the connection interface may be USB or a LAN cable, as long as communications can be performed between the MFPs. By locally connecting the MFPs, the image data is not transmitted through the LAN1,2, and therefore the network load can be reduced. Furthermore, the image data does not flow through the LAN1,2, and therefore security is enhanced.

In the device cooperation system200illustrated inFIG. 6, the following cooperation formats may be created.Two or more arbitrary MFPs in the LAN1execute a single device cooperation job.One or more arbitrary MFPs in the LAN1and the MFP4in the LAN2execute a single device cooperation job.

Furthermore, device cooperation may be performed with the user of the servers1,2.

FIG. 7illustrates a hardware configuration of the MFP1,2. The MFP100includes a controller120, an operations panel130, an FCU (facsimile control unit)140, a scanner engine150, and a plotter engine160.

The controller120includes a CPU101, an ASIC113, a NB (north bridge)102, a SB (south bridge)106, a MEM-P (system memory)103, a MEM-C (local memory)104, a HDD (hard disk drive)105, a memory card slot111, a NIC (network interface controller)107, a USB device108, an IEEE 1394 device109, and a centronics device110.

The CPU101is an IC for executing various kinds of information processing, and executes programs for providing applications and services in parallel in units of processes, by an OS such as UNIX (registered trademark). The ASIC113is an IC for image processing. The NB102is a bridge for connecting the CPU101and the ASIC113. The SB106is a bridge for connecting the NB102with peripheral devices. The ASIC113and the NB102are connected via an AGP (Accelerated Graphics Port).

The MEM-P103is a memory connected to the NB102. The MEM-C104is a memory connected to the ASIC113. The HDD105is a storage connected to the ASIC113, and is used for storing image data, document data, programs, font data, and form data.

The memory card slot111is connected to the SB106, and is used for setting (inserting) a memory card112. The memory card112is a flash memory such as a USB memory, and is used for distributing a program115. The program115may be distributed by being downloaded from a predetermined server to the MFP100.

The NIC107is a controller for performing data communications using MAC addresses via a network. The USB device108is a device for providing a serial port in compliance with the USB specification. The IEEE 1394 device109is a device for providing a serial port in compliance with the IEEE 1394 specification. The centronics device110is a device for providing a parallel part in compliance with the centronics specification. The NIC107, the USB device108, the IEEE 1394 device109, and the centronics device110are connected to the NB102and the SB106via a PCI (Peripheral Component Interconnect) bus.

The operations panel130is a hardware component (operation unit) used by the user Q for inputting information in the MFP100. The operations panel130includes a display unit170that is a hardware component for the MFP100to provide visible information to the operator. The operations panel130is connected to the ASIC113. The FCU140, the scanner engine150, and the plotter engine160are connected to the ASIC113via the PCI bus114.

The scanner engine150optically scans an original document placed on a contact glass, performs image processing by A/D converting the reflection light from the original document, and generates digital data (hereinafter, image data) having a predetermined resolution.

The plotter engine160includes, for example, tandem type photoconductive drums, and forms latent images by modulating laser beams and scanning the photoconductive drums based on image data and PDL data received from a user PC. An image corresponding to one page developed by applying toner to the latent images is transferred to a sheet by heat and pressure. The plotter engine160is not limited to a plotter of an electrophotographic type; the plotter engine160may be an inkjet type for forming an image by jetting liquid droplets.

The FCU140is connected to a network via the NIC107, and transmits and receives image data by communication procedures according to the specification of T.37, T.38, for example. Alternatively, the FCU140is connected to a public communications network, and transmits and receives image data by communication procedures according to specifications of G3, G4, for example. Furthermore, when image data is received while the power of the MFP100is off, it is possible to activate the plotter engine160and print the image data onto a sheet.

FIG. 8is a functional block diagram of the MFP100. The MFP100includes an UI unit, a control unit, and hardware. The UI unit and hardware are described above. A memory201corresponds to the MEM-P103and the MEM-C104, an engine202corresponds to the FCU140, the scanner engine150, and the plotter engine160.

The control unit includes a copy application11, a printer application12, a fax application13, a resource management module14, a communication management module15, an engine management module16, a job management module17, an authentication module18, and a counter management module19. Furthermore, the HDD105stores, for example, usage amount limit information20and device management information21.

The copy application11, the printer application12, and the fax application13are examples of applications. When the user Q selects a copy button (not shown) by operating the operations panel130, the copy application11starts operating, and when the user Q selects a printer button (not shown) by operating the operations panel130, the printer application12starts operating, and when the user Q selects a fax button (not shown) by operating the operations panel130, the fax application13starts operating. An OS22is a general-purpose operating system such as UNIX (registered trademark), and executes modules and software of applications as processes in parallel.

The job management module17acquires, from the applications, job information of the device cooperation job set by the user Q, and manages the execution of jobs. Specifically, the job management module17requests the resource management module14to control resources based on job information, and controls screen display, application management, the operation panel, etc., while receiving the state of progress from the resource management module14. The job management module17detects the present number of output sheets and displays the number on the operations panel130.

Furthermore, the job management module17includes a usage amount determining unit32and an allocated number determining unit31, which may be positioned anywhere else in the control unit. The allocated number determining unit31allocates usage amounts to the respective cooperation devices within the limitation of the usage amount limit information20, in a manner that the printing time and power consumption are advantageous. The usage amount is the number of pages in the case of the printer application12and the copy application11, and the usage amount is the number of transmission destinations in the case of the fax application13. The usage amount determining unit32determines whether the scheduled number of pages to be output is less than or equal to the possible usage amount. Details of the process are given below.

The resource management module14manages resources. When a request to use hardware resources such as the operations panel130, the FCU140, the scanner engine150, the memory201, the HDD105, the NIC107, the USB device108, the IEEE 1394 device109, and the centronics device110is received from the job management module17, the resource management module14makes adjustments among the applications and controls the applications. Specifically, the resource management module14determines whether the requested hardware resource can be used (not used according to another request), and when it can be used, the resource management module14reports to the job management module17that the requested hardware resource can be used. Furthermore, the resource management module14performs usage scheduling of the hardware resource in response to the request from the job management module17, and controls the engine management module16.

The engine management module16controls the engine according to the usage schedule secured and created by the resource management module14. Accordingly, the scanner engine, the plotter engine (monochrome line printer, color line printer), and the FCU actually execute the job.

The communication management module15is a module for providing a service that can be commonly used with respect to applications that require a network, such as device cooperation. The communication management module15assigns, to the respective applications, data received from the network by protocols and transmits data received from the applications to the network. Specifically, the communication management module15includes server daemons such as ftpd, httpd, lpd, snmpd, telnetd, and smtpd, and client functions of the same protocol.

The authentication module18is a module for performing user authentication. In the usage amount limit information20described below, in addition to the possible usage amount for each user, the user name and password are registered. The authentication module18authenticates the user Q based on whether the combination of the user name and password input to the operations panel130by the user Q is stored in the device cooperation system200. Alternatively, the authentication module18may authenticate the user Q by reading, with an IC card reader (not shown), a user ID stored in an IC card held by the user Q.

When the server1or the server2functions as an authentication server, the authentication module18does not need to be installed in the MFP. A case where the authentication module18in each MFP authenticates the user is referred to as “local authentication”. A case where the server1or the server2authenticates the user Q is referred to as “network authentication”. The authentication result of local authentication is valid only in the MFP that performed the authentication, but in the case of network authentication, the authentication result is valid in MFPs in the network defined in advance.

The authentication module18reports whether authentication is successful to the application. When the authentication is successful, the application receives settings of execution conditions of a job, and when the authentication is unsuccessful, the application displays a message such as “authentication is unsuccessful” on the display unit170.

The counter management module19counts the usage amount, and updates the usage amount in the usage amount limit information20. A description of the usage amount limit information20is given below.

The applications and modules in the control unit are objects having one or more methods, which are executed as processes on the OS22. The processes are executed in units of one or more threads, and the OS22assigns these threads to the CPU. The OS22manages the states of the threads (execution state, waiting state, executable state, etc.), and controls the thread to be assigned to the CPU among the threads that are in an executable state, according to a logic such as priority and round-robin. Accordingly, the processing speed of parallel execution is higher than that of parallel execution performed by switching processes. The applications and the modules transmit and receive messages by inter-process communications by executing the method.

Usage Amount Limit Information

FIG. 9illustrates an example of the usage amount limit information20. As described above, the usage amount limit information20includes user information. In the user information, a “user name”, a “user ID”, a “log-in name”, and a “password” are registered. The “user name” is a name or a nickname by which the user Q can be easily identified. The “user ID” is one or more numbers, symbols, or alphabetical letters, or a combination thereof, whose uniqueness is ensured in the device cooperation system. The “log-in name” is an identification name formed by one-byte letters and numbers that can be easily subjected to computer processing, for logging into the MFP. A “password” is one or more numbers, symbols, or alphabetical letters, or a combination thereof, by which the MFP authenticates the user Q.

In the usage amount limit information20, the “upper limit usage amount”, the “usage amount”, and the “possible usage amount” are registered. According to the charging format, an “upper limit usage amount”, a “usage amount”, and a “possible usage amount” are registered both for color and monochrome.

The “upper limit usage amount” is the usage amount that the user Q can use. The “upper limit usage amount” is defined for each user for a particular time period, such as one year, half a year, quarter of a year, a month, and a week. The “usage amount” is the amount that the user Q has already used within the time period defined for the “upper limit usage amount”. The “possible usage amount” is the amount that the user Q can use within the time period. The relationship of “possible usage amount”=“upper limit usage amount”−“usage amount” is satisfied.

The “possible usage amount” is updated every time a user Q uses a printing function, etc. When the “possible usage amount” becomes zero, the job management module17prohibits printing. InFIG. 9, the “upper limit usage amount”, the “usage amount”, and the “possible usage amount” are registered. However, as long as there is the “possible usage amount”, or the “upper limit usage amount” and the “usage amount”, the usage amount can be managed. When the user Q logs into the MFP and operates the operations panel130, the usage amount limit information20is displayed on the display unit170, and therefore the user Q can confirm the “possible usage amount”.

Device Management Information

FIG. 10illustrates an example of the device management information21. In the device management information21, functions of the MFP itself are registered. For example, for the function of “scan”, readable colors (full-color, black-and-white, two-color, or monochrome), the resolutions (100 through 600 dpi) that can be set at the time of scanning, and the original document type corresponding to the scanning operation (characters, photograph, characters/photograph) are registered.

As the editing functions, combining plural pages (2 in ¼ in ⅛ in 1), stamp printing for printing characters and symbols on an original document in a stamp format, copy guard for preventing fraudulent printing, magnification (25% through 200%) for reducing/enlarging by image processing, OCR for character recognition, and a PDF for converting the file format of image data, are registered.

As the outputting functions, fax and printing are registered. Furthermore, in the fax function, a storage transmission function is registered. In the printing function, the printing speed (60 pages/minute), power consumption (black-and-white printing, color printing, time of standup), stapling, punching, and Z-folding, are registered. As for stapling and punching, the positions on the sheet for performing these functions are also registered.

The MFP1and MFP2exchange their device management information21, so that the processes that the MFP1can request to the MFP2and the processes that the MFP2can request to the MFP1can be managed at the MFP1and MFP2. The MFP1and MFP2acquire the device management information21of the MFPs that are registered in a list of communication possible devices described below, and save the acquired information in the HDD105.

Process of Functional Blocks During Cooperation

FIG. 11illustrates the relationship between blocks when the MFP1and MFP2perform device cooperation. InFIG. 11, the same elements as those ofFIG. 10are denoted by the same reference numerals, and are not further described. Option trays24and26are sheet trays that can be additionally attached, and a finisher25is a device for performing stapling, punching, sorting, and binding.

List of Communication Possible Devices

The communication management module15includes a list of communication possible devices23of other MFPs and servers that are confirmed as being activated. There are the two following methods for acquiring the list of communication possible devices.

1) An administrator registers in advance in the MFP1, the MFPs2through4with which device cooperation is possible, and the MFP1registers the MFP with which communication is possible among the registered MFPs2through4, in the list of communication possible devices.

FIG. 12Aillustrates an example of IP addresses of MFPs with which device cooperation is possible. In order to be able to perform device cooperation, the MFP needs to have a function of device cooperation. Furthermore, the MFP is not to be intentionally excluded from the targets of device cooperation by the administrator, or the MFP is to be added as the target of device cooperation. Hereinafter, an MFP that can perform device cooperation is referred to as a “device cooperation-use MFP”. In each MFP, the IP addresses of device cooperation-use MFPs as viewed from itself are registered.

For example, when the MFP1is activated, the MFP1reports that is has been activated to the device cooperation-use MFPs that are registered in itself and in the network. Accordingly, when the device cooperation-use MFP is activated, the device cooperation-use MFP sends a response, and therefore the MFP1registers in the list of communication possible devices that the device cooperation-use MFP from which a response is received is able to communicate. Meanwhile, the device cooperation-use MFPs that are already activated receive that the MFP1has been activated and register the MFP1in their respective lists of communication possible devices.

FIG. 12Billustrates an example of a list of communication possible devices. The communication management module15registers, in the list of communication possible devices, the IP addresses of MFPs that are confirmed as being able to communicate, among the device cooperation-use MFPs. For the IP address of an MFP that cannot be confirmed as being able to communicate, data such as a “-” mark indicating that it is not confirmed as being able to communicate is registered.

2) The MFP1detects, in the network, the MFP2through4that can perform device cooperation.

For example, when the MFP1is activated, the MFP1broadcasts a broadcast packet requesting to report an IP address to the MFPs that are able to perform device cooperation. A broadcast packet in which all transmission addresses are “1” can inquire whether device cooperation is possible, to all devices in the LAN1.

Furthermore, for example, by specifying a directed broadcast address, it is possible to inquire whether device cooperation is possible, to MFPs having network addresses that are specified regardless of routers. The network addresses in a network to which the MFPs that can perform device cooperation belong, are known by the administrator, and therefore the search range can be easily identified.

More preferably, 1) and 2) are combined to detect the MFPs that can perform device cooperation. The MFP1registers the IP addresses of the detected MFPs2through4, in the list of communication possible devices.

Setting of Device Cooperation Job

When the user Q operates the MFP1to execute a device cooperation job, the user Q logs into the MFP1. Therefore, the copy application11sends an authentication request to the authentication module18. The authentication request includes a user name and a password input by the user Q. The authentication module18sends an authentication result indicating whether authentication is successful, to the copy application11and the communication management module15.

When the authentication is successful, the copy application11receives a setting of execution conditions of a job.

FIG. 13illustrates an example of a menu of a device cooperation job displayed on the display unit170. For example, when the user Q instructs copying by a device cooperation job, the user Q presses the copy button of the operations panel130, or calls a setting screen of the device cooperation job.

In the operations panel130, for example, a device search button301and a function search button302are displayed. The device search button301is a button for having the MFP1search for MFPs in the list of communication possible devices. That is to say, the communication management module15confirms that the device cooperation job is possible by communicating with MFPs in the list of communication possible devices, immediately before the device cooperation job. Meanwhile, the function search button302is for having the MFP1search for the MFPs2through4that can provide a function set by the user Q, from among the MFPs in the list of communication possible devices.

FIG. 13(b) illustrates an example of a “device cooperation job—device list” screen displayed when the user Q presses the device search button301. The MFP1displays a list of the MFPs2through4that have responded as being able to execute a device cooperation job, among the MFPs in the list of communication possible devices. A responding MFP sends its device name and IP address to the MFP1. At this time, the responding MFP sends the device management information21. The user Q confirms that a target MFP having the desired function is in the list, and presses a condition setting button311.

FIG. 13(d) is an example of a “cooperation job-scan setting” screen displayed when the user Q presses the condition setting button311. In this screen, a scan setting menu is displayed for each MFP. As illustrated inFIG. 13(d), device names are displayed in the tabs as “OWN DEVICE (referring to MFP1)”, “IMAGICS (MFP2)”, and “IPUKS (MFP3)”. The user Q can select a MFP for making a scan setting by selecting a tab.

When the user Q selects a tab of a device name, the MFP1displays only the valid menus (that can be selected) for the selected MFP, based on the device management information21.

The user Q can set scanning conditions such as color selection, original document type, and density, from the valid menus of the selected MFP. When the user Q sets the MFP for scanning the original document and the scanning conditions, the user Q sequentially selects an edit setting button322and a print setting button323. When the user Q selects the edit setting button322, a menu for selecting editing functions that the device can provide is displayed for each MFP and server. Similarly, when the user selects the print setting button323, a menu for selecting printing functions that the device can provide is displayed for each MFP. As for the scan setting, the user Q can set conditions for only one MFP, but as for the print setting and edit setting, the user Q can set conditions for plural MFPs or servers. Finally, by pressing an execute button324, the device cooperation job is started.

Furthermore,FIG. 13(c) is an example of a “cooperation job-function search” screen displayed when the user Q presses the function search button302. The MFP1displays a menu that can be set for each of the processes of “scanning conditions”, “editing conditions”, and “print conditions”, from the device management information21of other MFPs acquired in the past. The user Q selects an appropriate tab to set the “scanning conditions”, “editing conditions”, and “print conditions” which are search keys.

After setting the conditions, when the user Q presses a search button331, the MFP1searches the device management information21acquired from another MFP in terms of the “scanning conditions”, “editing conditions”, and “print conditions”. By doing so, it is possible to identify an MFP that can perform scanning according to the “scanning conditions” set by the user Q, an MFP or a server than can perform editing according to the “editing conditions”, and an MFP that can perform printing according to the “print conditions”.

There are cases where the search hits plural devices matching the “scanning conditions”, plural devices matching the “editing conditions”, and plural devices matching the “print conditions”. In this case, as shown inFIG. 13(d), the MFP1may display all devices for each of the “scanning conditions”, “editing conditions”, and “print conditions”, or may narrow down the number of devices to less than or equal to a predetermined number. To narrow down the number of devices to less than or equal to a predetermined number, a method of prioritizing the device itself (e.g., the MFP1), a method of prioritizing an MFP in which the resource load is decreasing, and a method of prioritizing an MFP that is positioned at a distance near the device itself (physical distance or communication distance) may be performed.

The MFP1displays the one or more MFPs or servers that are hit by the search on a screen similar toFIG. 13(d). That is to say, the MFP1displays the MFPs that match the conditions, by the “scan setting”, the “edit setting”, and the “print setting”. The “scanning conditions”, “editing conditions”, and “print conditions” are set inFIG. 13(c), and therefore the user Q does not need to set the conditions again. The user Q presses an “execution” button after confirming the MFPs of the processes and conditions. Accordingly, the MFP1starts the device cooperation job.

FIG. 14Aillustrates an example of a first screen of the print setting. InFIG. 14A, the user may select whether to set print conditions common to plural MFPs, or to set separate print conditions for the respective MFPs. In the case where common settings are selected, the user Q selects more than one MFP. In the case where separate settings are selected, the user Q sets print conditions for the respective MFPs in the next screen.

Furthermore, when the user Q sets a copy application or a printer application, the MFP1can acquire, from the MFPs in the list of communication possible devices, the elapsed time from the first printing operation and the power consumption for restoring the temperature at which printing is possible (print possible temperature), and display these elements. During printing, a large amount of power is necessary for increasing the temperature of a fixing unit to the print possible temperature (minimal printing temperature). Therefore, the power consumption may be reduced if the user Q selects an MFP with a short elapsed time since the last printing operation or an MFP having low power consumption for restoring the print possible temperature.

FIG. 14Billustrates an example of a screen for common settings in print conditions. When the user Q selects common settings, the user Q may set print conditions common to the MFPs, such as color/black-and-white, sheet size, number of copies, and magnification. The common print conditions are contents corresponding to the largest common denominator of device management information received from the MFPs in the list of communication possible devices. For example, when the MFP1can perform both color printing and black-and-white printing, and the MFP2can only perform black-and-white printing, color is not displayed in the “color/black-and-white” menu ofFIG. 14B. Similarly, in the “sheet size” menu, only the sheet sizes that can be selected both in the MFP1and the MFP2are displayed. In the magnification menu, only the magnification range that can be selected both in the MFP1and the MFP2can be set. Sorting and stapling is displayed only when they can be selected both in the MFP1and the MFP2.

Furthermore, the set number of copies (or number of pages) is allocated to the MFPs that are the target of common settings. The user Q may set whether to allocate a number of copies or a number of pages.

FIG. 14Cillustrates an example of a screen for separate settings in print conditions. When the user Q selects separate settings, general print conditions such as sheet size, number of copies, and magnification may be set for each MFP. The respective MFPs print out the number of set copies.

Counting Usage Amount

The counter management module19counts the usage amount by a method set in advance. The following counting methods are merely examples; different counting methods may be used by the devices.(1) Copy application, printer application(i) Separately count color printing and black-and-white printing(ii) Count printing on one side as one page(iii) Count printing on a sheet that is greater than or equal to a predetermined sheet size (for example, A3) as two pages(2) Fax application (use any of the following methods set by administrator)(i) Count number of pages at the time of transmission (color printing is rarely used in fax transmission, and sheet sizes greater than or equal to A3 are rare in fax transmission)(ii) Count one transmission destination as one, regardless of the number of pages being transmitted(iii) Count the gross number of transmitted pages (number of pages at the time of transmission×number of destinations)

In the case of a copy application or a print application, the engine management module16or the resource management module14counts the printing number by each page. Every time one page is printed or when the job is completed, the job management module17acquires the printing number, counts the printing number according to the above counting methods, and updates the usage amount and the possible usage amount of the usage amount limit information20. Similarly, in the fax application13, the engine management module16or the job management module17counts the number of scanned original documents or the number of pages of the image data. The job management module17acquires the number of pages when a job is completed, and updates the usage amount and the possible usage amount of the usage amount limit information20.

Job Information

When a setting of job execution conditions is received, the copy application11inFIG. 10sends a job execution request to the job management module17. The job management module17generates job information from the execution conditions.

FIGS. 15A through 15Eillustrate an example of job information. The device cooperation job is executed in the order of “1. input→2. edit→3. output”. For each process, a “device in charge” is registered, and input conditions, edit conditions, and output conditions are registered.

Copy Application

FIG. 15Aillustrates an example of a job of the copy application11in which only the MFP1performs printing, indicated as a matter of comparison. In the copy application, the device in charge of input is the MFP1, the device in charge of editing is the MFP2, and the device in charge of output (printing) is the MFP1.

FIG. 15Billustrates an example of a device cooperation job of the copy application11printed by the MFP1and the MFP2. In the copy application, the device in charge of input is the MFP1, the device in charge of editing is the MFP2, and the devices in charge of output (printing) are the MFP1and MFP2. As described above, in order to divide the printing operation between the MFP1and MFP2, “common settings” is selected in the “print settings”.

The allocated number determining unit31allocates a number of copies to the respective devices in charge (print number). The method of determining the number of allocated pages is described below.FIG. 15Cillustrates an example of the device cooperation job whose print number is allocated to the MFP1and MFP2. Compared toFIG. 15B, two output processes are created, and the MFP1and the MFP2are set as the respective devices in charge. The job management module17sends, to the MFP2, a print request of which the device in charge of output is the MFP2together with job information (the whole job information may be sent). In the “print setting”, when the user selects “separate settings”, the job information ofFIG. 15Cis directly generated.

The summary of procedures of the copy application11in the case ofFIG. 15Cis described below.

1. First, the job management module17sends a usage request of the scanner engine of the device itself to the resource management module14. The resource management module14confirms that the usage flag of the scanner engine is not indicating “in use”, and secures the scanner engine. Next, the resource management module14acquires scanning conditions (double-sided scanning, original document type (characters), 300 dpi, black-and-white) from the job management module17, sets the scanning conditions in the scanner engine, and scans an original document. The resource management module14detects that there are no more original documents in the ADF (automatic document feeder) with a sensor, and reports that scanning is completed to the job management module17. The generated image data of the original document is stored in the HDD105.

The job management module17confirms that the number of pages to be printed after editing is less than or equal to the possible usage amount, at least before printing all pages. Specifically, the counter management module19counts the number of pages to be printed, and compares this with the possible usage amount. When the counted number of pages is greater than the possible usage amount, the following control operations are implemented. It is defined in the setting of the MFP1as to which one of the following control operations is to be implemented.Print a number of pages according to the possible usage amount set as the upper limit (divide the number of print pages among plural MFPs so that each MFP prints a number of pages under the possible usage amount)Abort the device cooperation job without printing any pages

2. Because the device in charge of editing is the MFP2, the job management module17sends the image data and the editing conditions to the MFP2via the communication management module15. The MFP2performs a 4-in-1 process (combining four pages onto one sheet) on the image data and transmits the processed image data to the MFP1. The communication management module15reports to the job management module17that the image data has been received from the MFP2.

The job management module17sends, to the MFP2, the job information and image data whose device in charge is the MFP2.

3. The job management module17of the MFP1and the MFP2sends a usage request of the plotter engine of the device itself to the resource management module14. The resource management module14confirms that the usage flag of the plotter engine is not indicating “in use”, and secures the plotter engine. Next, the resource management module14acquires print conditions (black-and-white, three copies (MFP1) or two copies (MFP2), A4, punch) from the job management module17, sets the print conditions in the plotter engine, and executes printing. The resource management module14reports, to the job management module17, that printing of all pages has been completed.

Fax Application

FIG. 15Dillustrates an example of job information of a device cooperation job of a fax application. InFIG. 15D, the device in charge of input is the MFP1, the device in charge of editing is the MFP1, and the devices in charge of output (fax transmission) are the MFP1and MFP2. In order to divide the fax transmission operation into the MFP1and MFP2, the user Q sets, in the transmission setting of the scanner application, a plural number of destinations (fax numbers) corresponding to the number of copies of the copy application.

When there are plural destinations (in the case of broadcasting), the allocated number determining unit31determines the destinations for each device in charge, in units of destinations. For example, when there are two destinations, and there are two MFPs in charge of fax transmission, each MFP becomes in charge of one destination. When there are an N number of destinations, and there are an M number of MFPs in charge of fax transmission, each MFP become in charge of N/M number of destinations.

Furthermore, it is efficient to allocate a destination to an MFP that is near the destination. For example when the MFP1is in Tokyo and the MFP2is in Osaka, and the respective area codes are 03 and 06, a destination having an area code of 03 is allocated to the MFP1, and a destination having an area code of 06 is allocated to the MFP2. By doing so, communication costs can be reduced. In this case, a table in which the area codes of destinations to be handled by each MFP is prepared.

FIG. 15Eillustrates an example of a device cooperation job whose destinations are allocated to the MFP1and the MFP2. Compared toFIG. 15D, two output processes are created, and MFP1and MFP2are respectively set as the device in charge of each output process. The job management module17sends, to the MFP2, the job information whose device in charge of output is the MFP2(the whole job information may be sent).

In the case ofFIG. 15E, the procedures of the fax application are briefly described below.

1. The input process is the same as the case of the copy application. The image data of an original document generated by scanning is stored in the HDD105.

The job management module17confirms that the number of pages is less than or equal to the possible usage amount of the usage amount limit information20before starting fax transmission. When the number of pages is greater than the possible usage amount, the following control operations are implemented. It is defined in the setting of the MFP1as to which one of the following control operations is to be implemented.Perform fax transmission according to the possible usage amount set as the upper limitAbort the device cooperation job without performing fax transmission

2. The job management module17enlarges the image data by 120% because the device in charge of editing is the MFP1.

The job management module17sends, to the MFP2, the job information and image data whose device in charge is the MFP2.

3. The job management modules17of the MFP1and the MFP2send a usage request for using the FCU140in the device itself to the resource management module14. The resource management module14confirms that the usage flag of the FCU140is not indicating “in use”, and secures the FCU140. Next, the resource management module14acquires the fax transmission conditions (fax number of destination) from the job management module17, sets the fax transmission conditions in the FCU140, and executes printing. The resource management module14reports that fax transmission of all pages has been completed to the job management module17.

Operation Procedures when Allocating Usage Amount

FIGS. 16A and 16Bindicate a sequence diagram illustrating procedures of allocating the usage amount from the MFP1to the MFP2. Here, the copy application11is taken as an example.

The copy application requests the authentication module18to authenticate a user Q (step S10). The user Q sets execution conditions of a job.

When authentication is successful, the user Q sets job execution conditions. The copy application sends a job execution request for the device cooperation job to the job management module (step S20).

The job management module17executes an input process in cooperation with the resource management module14and the engine management module (step S30). By scanning an original document and generating image data, the number of pages of the image data is defined. Specifically, when the conditions include 50 sheets of original documents, double-sided scanning, combining 4-in-1, single-sided printing, and printing five copies, the number of pages per copy is calculated as follows.
50×2 (double-sided)/4=25 pages
Therefore, in the case of five copies, the number of pages is calculated as follows.
25 pages×5 copies=125 pages

Next, the job management module17requests the counter management module19to acquire the usage amount limit information20(step S40).

The counter management module19reads the possible usage amount from the usage amount limit information20, and sends the possible usage amount to the job management module17(step S50). Here, the usage amount determining unit32determines whether the total number of pages of the MFP1and the MFP2is less than or equal to the possible usage amount.

When the total number of pages is less than or equal to the possible usage amount, the job management module17requests the communication management module15to acquire the device management information21from the MFP2(step S60).

The communication management module15communicates with the communication management module15of the MFP2(step S70). The communication management module15of the MFP2requests the resource management module14to provide the device management information21(step S80). The resource management module14is not shown inFIGS. 16A and 16B. The resource management module14reads the device management information21and sends the device management information21to the communication management module15(step S90). The communication management module15of the MFP2sends the device management information21to the communication management module15of the MFP1(step S100). The communication management module15of the MFP1sends the device management information21of the MFP2to the job management module17(step S110).

The allocated number determining unit31of the job management module17determines the number of pages to be allocated to the MFP2, from the device management information21of the MFP1and the MFP2(step S120). After the number of pages to be allocated to the MFP2is determined, the number of pages to be allocated to the MFP1is determined.

a) Determining Number of Pages to be Allocated Based on Printing Speed

The allocated number determining unit31determines the number of pages to be allocated to the MFP2so that the printing is completed most quickly. The printing is completed most quickly when the MFP1and the MFP2complete printing at substantially the same time, and therefore the number of pages to be allocated to the MFP2may be determined by the following formula. It is assumed that the printing speed of the MFP1is n1 sheets/minute, the printing speed of the MFP2is n2 sheets/minute, and the total number of pages is N. The result is rounded up.
Number of pages to be allocated to MFP 2=N×{n2/(n1+n2)}

When one copy is printed, N=number of pages (25 pages as described above). When plural copies are printed, N=number of copies (five copies as described above), which is divided by the number of MFPs cooperating with each other, and the remainder is allocated to the MFP having a higher printing speed, so that the pages can be allocated in units of copies. That is to say, 5÷2=2.5, and therefore two copies are allocated to the MFP1and three copies are allocated to the MFP2(when the MFP2has a higher printing speed).

When plural copies are printed and N=number of pages, and the number of pages allocated to the MFP2is not an integral multiple of 25 pages, the 25 pages corresponding to one copy is allocated to the MFP1and the MFP2. That is to say, the quotient and remainder obtained from the number of pages allocated to the MFP2÷25 pages, and the quotient and remainder obtained from the number of pages allocated to the MFP1÷25 pages, are calculated. The MFP2prints a number of copies corresponding to the quotient and a number of pages corresponding to the remainder (for example, pages of low numbers), and the MFP1prints a number of copies corresponding to the quotient and a number of pages corresponding to the remainder (for example, pages of high numbers).

By determining the number of pages to be allocated according to the printing speed, the time taken to complete a job can be minimized.

When there are three devices used for printing, the following calculation is performed.
Number of pages allocated to MFP 1=N×{n1/(n1+n2+n3)}
Number of pages allocated to MFP 2=N×{n2/(n1+n2+n3)}
Number of pages allocated to MFP 3=N×{n3/(n1+n2+n3)}
b) Determining Number of Pages to be Allocated Based on Printing Power Consumption

When the power consumption is different when printing with the MFP1and the MFP2, the job can be executed by minimum power consumption by printing all of the pages with the MFP of lower power consumption. In this case, the printing cannot be divided among plural MFPs, and therefore the printing time is longer. However, when the printing is switched between color printing and black-and-white printing in units of copies, power consumption can be minimized by printing the copies specified as color with the MFP having low power consumption for color printing, and printing the copies specified as black-and-white with the MFP having low power consumption for black-and-white printing. For example, when the power consumption for color printing of the MFP1is 40 W·h, the power consumption for black-and-white printing of the MFP1is 10 W·h, the power consumption for color printing of the MFP2is 30 W·h, and the power consumption for black-and-white printing of the MFP2is 13 W·h, the allocated number determining unit31allocates the copies specified as color printing to the MFP2, and allocates the copies specified as black-and-white printing to the MFP1.

Furthermore, when monochrome printing of either color or black-and-white is performed, the printing speed can be weighted by the power consumption to determine the number of pages to be allocated to the MFP2. For example, assuming the power consumption of color or black-and-white of the MFP1is w1 W·h, and the power consumption of color or black-and-white of the MFP2is w2 W·h, the weighted printing speed is calculated as follows. That is to say, by weighting the printing speed by a lower weight as the power consumption is higher, it is possible to decrease the number of pages allocated to the MFP having high power consumption.
Printing speed of MFP 1=n1{w1/(w1+w2)}
Printing speed of MFP 2=n2{w2/(w1+w2)}
c) Determining Number of Pages to be Allocated Based On Equal Allocation

When the number of pages is allocated equally, the MFP1does not need to acquire the device information of the MFP2, and the total number of pages is to be divided by the number of MFPs.

The job management module17requests the communication management module15to send image data (step S130). The communication management module15sends image data to the communication management module15of the MFP2(step S140). The communication management module15of the MFP2sends the image data to the job management module17(step S150).

The job management module17of the MFP1requests the communication management module15to send job information of the output process among all the job information, including the allocated page number (step S160). The communication management module15sends the job information to the communication management module15of the MFP2(step S170). The communication management module15of the MFP2sends the job information to the job management module17(step S180).

The job management module17of the MFP2collaborates with the resource management module14and the engine management module16to print the allocated number of pages (step S190).

The job management module17of the MFP1also collaborates with the resource management module14and the engine management module16to print the allocated number of pages (step S200). The job management module17reports the print results in units of output to the counter management module19(step S201). The counter management module19updates the usage amount of the MFP1in units of output (step S202).

The job management module17of the MFP2sends the print execution result to the communication management module15(step S210). The communication management module15sends the print execution result to the communication management module15of the MFP1(step S220). The communication management module15of the MFP1sends the print execution result to the job management module17(step S230).

The job management module17reports the execution result of the MFP2to the counter management module19(step S240), and the counter management module19collectively updates the usage amount (or possible usage amount) of the MFP2(step S250).

The job management module17waits for the device itself to end printing, and sends the job execution result to the copy application (step S260).

As described above, the device cooperation system200according to the present embodiment can appropriately limit the usage amount of the user Q in a device cooperation job.

InFIGS. 16A and 16B, the copy application is taken as an example. In the case of a fax application also, the same procedures are performed except for the method of determining the allocated page number.

When Job Execution Error Occurs in MFP2

After the MFP1requests the MFP2to execute printing, there may be cases where an error occurs before the MFP2completes printing the allocated page number. For example, while the MFP2is printing, there may be cases where the MFP2runs out of paper of toner, or a paper jam occurs. Furthermore, a system error may occur due to a voltage decrease or noise. In this case, it is possible to reduce the job execution time by having the MFP1take over the printing operation instead of waiting for the MFP2to recover and resume printing.

FIGS. 17A and 17Bindicate a sequence diagram illustrating procedures of allocating the usage amount from the MFP1to the MFP2. InFIGS. 17A and 17B, the procedures up to executing the job are the same as those ofFIGS. 15A through 15E.

After the MFP2starts printing in step S190, an error occurs and printing cannot be continued (step S192).

The job management module17is counting the number of printed pages, and sends a non-completion report including the number of remaining pages to the communication management module15(step S194). Specifically, the number of printed pages is to be subtracted from the allocated page number.

The communication management module15of the MFP2sends a non-completion report including the remaining number of pages to the communication management module15of the MFP1(step S196). The communication management module15of the MFP1sends the non-completion report including the remaining number of pages to the job management module17(step S198). The job management module17performs printing of the incomplete printing after completing printing for the device itself (step S204).

The job management module17reports the execution result of the MFP2to the counter management module19(step S240), the counter management module19collectively updates the usage amount of the MFP2(step S250). The usage amount of the MFP2includes the number of pages printed by the MFP2and the number of pages allocated from the MFP1to the MFP2but printed by the MFP1.

When the incomplete printing is completed, the job management module17sends the device cooperation job execution result to the copy application (step S260).

As described above, by using device cooperation, even when an error occurs in the cooperating device, the job can be completed. InFIGS. 17A and 17B, the copy application is taken as an example, but the same process is performed in the case of a fax application. That is to say, when there is a destination to which no sheets have been sent, the MFP1sends all pages to this destination. When there is an destination to which some sheets have not been sent, the MFP1sends the remaining pages to this destination.

When Job Execution Error Occurs in MFP1

There may be a case where an error occurs in the MFP1. For example, while the MFP1is printing, there may be cases where the MFP1runs out of paper of toner, or a paper jam occurs. Furthermore, a system error may occur due to a voltage decrease or noise. In this case, it is possible to reduce the job execution time by having the MFP2take over the printing operation instead of waiting for the MFP1to recover and resume printing.

FIGS. 18A and 18Bindicate a sequence diagram illustrating procedures of allocating the usage amount from the MFP1to the MFP2. InFIGS. 18A and 18B, the procedures up to executing the job are the same as those ofFIGS. 15A through 15E.

After the MFP2starts printing in step S190, an error occurs and printing cannot be continued (step S200-2).

The job management module17is counting the number of printed pages, and sends a non-completion report including the number of remaining pages to the communication management module15(step S194). Specifically, the number of printed pages is to be subtracted from the allocated page number.

The communication management module15of the MFP1sends a reallocation report including the remaining number of pages to the communication management module15of the MFP2(step S196). The communication management module15of the MFP2sends the reallocation report including the remaining number of pages to the job management module17(step S198).

The job management module17of the MFP2performs printing of the reallocated pages from the MFP1after printing for the device itself (step S204).

The job management module17of the MFP2reports the execution result including the reallocated printing to the communication management module15(step S210). The communication management module15sends the execution result of the device cooperation job to the communication management module15of the MFP1(step S220). The communication management module15of the MFP1sends the job execution result to the job management module (step S230).

The job management module17reports the execution result of the MFP2to the counter management module19(step S240), and the counter management module19collectively updates the usage amount of the MFP2(step S250). The usage amount of the MFP2includes the number pages allocated to and printed by the MFP2and the number of pages reallocated from the MFP1to the MFP2and printed by the MFP2.

The job management module17sends an execution result of the device cooperation job to the copy application (step S260).

Therefore, even if an error occurs in either the MFP1or the MFP2, the MFP without an error takes over the printing operation, and therefore an increase in the printing time can be minimized.

Allocation in Units of Output

While executing a job in which the MFPs1and2are outputting a large amount of sheets, there may be cases where the user Q (who has instructed this job) operates other MFPs (for example, MFPs3and4) that are device-cooperating with the MFP1to perform printing, and the possible usage amount of the user Q decreases. Due to the decrease in the possible usage amount, the number of printed sheets may exceed the upper limit usage amount of the MFPs1and2. In order to prevent such inconveniences, it is efficient to confirm whether the possible usage amount of the MFP1is not zero every time a sheet is printed, and to request the MFP2to perform printing.

FIGS. 19A and 19Bindicate a sequence diagram illustrating procedures of allocating printing by each sheet from the MFP1to the MFP2. InFIGS. 19A and 19B, the procedures up to step S150are the same as those ofFIGS. 16A and 16B. That is to say, the job management module17requests the communication management module15to first send on the image data (steps S130through S150).

Next, the job management module17of the MFP1requests the communication management module15to send job information of one sheet to be output (step S310).

The communication management module15communicates with the communication management module15of the MFP2(step S320). The communication management module15of the MFP2sends the job information to the communication management module15(step S330).

The job management module17of the MFP2collaborates with the resource management module14and the engine management module16to perform printing of one sheet (step S340).

The MFP1and the MFP2execute printing in an asynchronous manner, and update the usage amount as necessary (steps S200through S202). Accordingly, the execution time of the job can be reduced.

The job management module17of the MFP2sends the print execution result of one sheet to the communication management module15(step S350). The communication management module15of the MFP2sends the print execution result of one sheet to the communication management module15of the MFP1(step S360). The communication management module15of the MFP1sends the print execution result of one sheet to the job management module17(step S370).

The job management module17reports the execution result of the MFP2to the counter management module19(step S380), and subtracts the usage amount of the MFP2from the possible usage amount (step S390).

Next, the job management module17determines whether a job has ended (step S400).

When the job has not ended, the job management module17determines whether the possible usage amount is zero (step S410). This is because the possible usage amount may decrease when the MFP1performs device cooperation with an MFP other than the MFP2. When the possible usage amount is zero, the job management module17ends the job.

When the possible usage amount is not zero, the job management module17determines whether the printing allocated to the MFP2has ended (step S420).

When the printing allocated to the MFP2has not ended, the MFP1and the MFP2repeats the process from step S310. The MFP1is executing printing in an asynchronous manner, and therefore the MFP1is likely to execute the printing allocated to the MFP2. However, if an error occurs in the MFP1, the process is repeated until the printing allocated to the MFP2is completed, and therefore printing of the allocated page number of the MFP2can be surely completed.

As described above, it is determined that the possible usage amount is not zero every time a sheet is output, and printing is allocated to the MFP2only when the possible usage amount is zero, and therefore it is possible to prevent the printed sheets from exceeding the upper limit usage amount of the user Q.

InFIGS. 19A and 19B, it is assumed that the MFP1performs device cooperation with the MFP3while the MFP1and the MFP2are executing a device cooperation job. However, to facilitate the operation of strictly limiting the usage amount, the MFP1may be prohibited from performing device cooperation with the MFP3while the MFP1and the MFP2are executing a device cooperation job. For example, the MFP1may prohibit plural device cooperation jobs from being executed in parallel, as follows.Do not accept plural device cooperation jobs requested by the same user that is logged in.When the start button is pressed, the job management module17executes the device cooperation jobs one by one in order.

By doing so, there is no need to determine that the possible usage amount is not zero every time one sheet is output, and therefore the time taken to complete the job can be reduced.

In the case of the fax application, the job management module17of the MFP1may allocate the fax transmission to MFPs in units of pages, or in units of destinations.

Reservation of Allocated Page Number

InFIGS. 16A and 16B, the updating of the usage amount based on the execution result of the MFP2is performed when the MFP1ends executing the job. By this method, there is a delay in the updating of the usage amount output by the MFP2, and there may be cases where the job cannot be executed in parallel. Therefore, it is effective to subtract the allocated page number of the MFP2from the possible usage amount before the MFP1starts printing.

FIGS. 20A and 20Bindicate is a sequence diagram illustrating procedures of subtracting the allocated page number of the MFP2from the usage amount limit information20before the MFP1starts executing the job. InFIGS. 20A and 20B, the procedures up to step S120are the same as those ofFIGS. 16A and 16B.

After the allocated number determining unit31determines the allocated page number of the MFP2, the allocated number determining unit31reports the number to the counter management module19(step S121). The counter management module19updates the usage amount of the MFP2at this time point (step S122). That is to say, it is ensured that the printed sheets do not exceed the usage limit even if the MFP2prints the allocated usage amount as the reservation amount. The sheets printed by the MFP1are to be updated every time printing is performed, similar toFIGS. 16A and 16B. The subsequent procedures are the same as those ofFIGS. 16A and 16B, and are thus not further described.

According to the procedures ofFIG. 20, the usage amount of the MFP2is reserved before the printing starts, and therefore the MFP1can execute a job by performing device cooperation with another MFP3within the remaining possible usage amount. The sheets printed by the MFP1may be updated before printing, similar to the MFP2. InFIG. 20, the copy application is taken as an example, but the same process is applicable to a fax application.

According to one embodiment of the present invention, a device cooperation system is provided, which provides a usage amount limiting device capable of limiting the usage amount at the time of device cooperation.

The device cooperation system, the image forming apparatus, and the function providing method are not limited to the embodiments described herein, and variations and modifications may be made without departing from the scope of the present invention.

The present application is based on Japanese Priority Patent Application No. 2011-194973, filed on Sep. 7, 2011, the entire contents of which are hereby incorporated herein by reference.