Patent Publication Number: US-8112520-B2

Title: Method of assigning service and information processing apparatus for implementing the method

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a method of assigning a service and an information processing apparatus for implementing the method. For example, the present invention relates to a method of assigning a service with which services distributed on a network are combined and provided as a service framework while taking power consumption into consideration, and an information processing apparatus for implementing the method. More specifically, the present invention relates to a method of assigning a service that efficiently consumes the power of devices that provide the service, and an information processing apparatus for implementing the method. 
     2. Description of the Related Art 
     Along with the advancement of network technologies in recent years, the number of server devices, as information processing apparatuses, that provide such a service framework is increasing. In such a service framework, services that are distributively provided over a network are combined and provided as a new service, or a plurality of services are provided as a workflow of tasks. 
     As a supply source of such services, not only servers and computers, but also image forming apparatuses increasingly provide a variety of services along with the trend toward image forming apparatuses with more functionality and higher performance. Examples of services provided by image forming apparatuses include, in addition to conventional services such as a print service and a fax service, an OCR (optical character recognition) service, a document format conversion service, and so on. 
     In terms of energy conservation, techniques for reducing power consumption are applied to image forming apparatuses, such as, for example, enabling the printer engine itself to operate at low power levels, or incorporating a mechanism that causes the apparatus to go into a sleep mode when not in use so as to achieve power conservation. 
     Sleep mode refers to a mode in which the image forming apparatus automatically reduces the power supplied to each component apparatus thereof when, for example, the image forming apparatus is not used for a prescribed period of time. The component apparatuses that are operated at reduced power are, for example, a display panel, a printer engine, and so on. When used during a sleep mode, the image forming apparatus restarts power supply to each component apparatus that was operating at reduced power and starts processing. 
     Moreover, the sleep mode may be a set of a plurality of modes according to the sleep status, rather than a single mode. For example, the image forming apparatus goes into a first sleep state when not in use for a prescribed period of time, and switches to a second sleep state when not in use for another prescribed period of time after the first sleep state. Here, the first sleep state is a mode that reduces power supply to the component apparatuses that can soon return from the sleep state when power supply is restarted. The second sleep state is a mode that reduces power supply to the component apparatuses that require a warm-up time or the like, or in other words, that require some time to return from the sleep state, such as a printer engine. Generally, power consumption of the second sleep state is reduced below that of the first sleep state, and the second sleep state requires more time from which to return. 
     A method for reducing the power consumption of a plurality of image forming apparatuses connected to a network is disclosed in, for example, Japanese Patent Laid-Open No. 2000-322161. According to this method, the load of an entire network to which a plurality of image forming apparatuses are connected is measured. The load is the amount of processing requested per unit time, and can be, for example, the number of printed pages per minute. Then, the image forming apparatuses connected to the network are controlled so as to go into a sleep state such that the load value does not fall below a value provided by the entire network while minimizing the power consumption. 
     The above conventional technique, however, controls the image forming apparatuses so as to go into a sleep state according to a load value that varies from time to time, and does not give consideration to the image forming apparatuses automatically going into a sleep mode. Accordingly, it is not possible to control power consumption so as to reduce it to a minimum according to the services provided by individual image forming apparatuses. 
     The above problem is not limited to image forming apparatuses, and such a problem occurs similarly in many apparatuses that have a sleep mode. 
     SUMMARY OF THE INVENTION 
     In view of the above problems, the present invention provides a method of assigning a service that is capable of reducing power consumption by selecting a device, when executing a service provided by devices connected to a network, with the minimum power consumption to execute the service from among the devices that provide the service according to sleep state and power consumption, and releasing the selected device from a sleep state; and an information processing apparatus for implementing the method. 
     In order to solve the above problems, an information processing apparatus of the present invention for controlling services provided by a plurality of devices connected to a network, the apparatus comprises: a service table that stores a combination of a service provided via the network and a device connected to the network and providing the service; a power consumption table that stores a device connected to the network and power consumption of the device; a service reception unit configured to receive a request of a service provided by a device connected to the network; a sleep check unit configured to check whether or not the device connected to the network and providing the requested service is in a sleep state; a device search unit configured to select a device to be used based on the sleep state of the device checked by the sleep check unit, the service table and the power consumption table under a condition of a time until the service is provided and power consumption of the selected device; and a service instruction unit configured to issue an instruction of providing the service to the device connected to the network and selected by the device search unit. 
     The present invention also provides a method of assigning a service to be provided to a plurality of devices connected to a network, in a case which a service table that stores a combination of a service provided via the network and a device connected to a network and providing the service, and a power consumption table that stores a device connected to the network and power consumption of the device are prepared, the method comprising: a service reception step of receiving a request of a service provided by a device connected to the network; a sleep check step of checking whether or not the device connected to the network and providing the requested service is in a sleep state; a device search step of selecting a device to be used based on the sleep state of the device checked in the sleep check step, the service table and the power consumption table under conditions of a time until the service is provided and power consumption of the selected device; and a service instruction step of issuing an instruction of providing the service to the device connected to the network and selected in the device search step. 
     According to the present invention, when executing a service provided by devices connected to a network, it is possible to select a device with the minimum power consumption to execute the service from among the devices that provide the service according to sleep state and power consumption, and release the selected device from a sleep state. Accordingly, power consumption can be reduced. 
     Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram showing an exemplary overall configuration of an image forming system according to an embodiment of the present invention. 
         FIG. 2  is a block diagram showing an exemplary overall configuration of an image forming apparatus according to an embodiment of the present invention. 
         FIG. 3  is an external perspective view of an input/output device of the image forming apparatus according to an embodiment of the present invention. 
         FIG. 4  is an external view of a display unit of the image forming apparatus according to an embodiment of the present invention. 
         FIG. 5  is a block diagram showing an exemplary configuration of a server apparatus according to an embodiment of the present invention. 
         FIG. 6  is a diagram showing an example of a service table according to an embodiment of the present invention. 
         FIG. 7  is a diagram showing an example of a power consumption table according to an embodiment of the present invention. 
         FIG. 8  is a flowchart showing an exemplary process procedure for making a request to a device with the minimum power consumption to execute a received service according to an embodiment of the present invention. 
         FIG. 9  is a diagram showing an example of a designated service table according to an embodiment of the present invention. 
         FIG. 10  is a diagram showing an example of an initial state of a workflow table according to an embodiment of the present invention. 
         FIG. 11  is a flowchart showing an exemplary process procedure for selecting a combination of devices with the minimum power consumption to execute a received workflow and requesting that the devices execute the workflow according to an embodiment of the present invention. 
         FIG. 12  is a diagram showing an example of a workflow table according to an embodiment of the present invention obtained after calculating total power consumption. 
         FIG. 13A  is a diagram showing an example of a sleep level list used to illustrate a specific example of an embodiment of the present invention. 
         FIG. 13B  is a diagram showing another example of a sleep level list used to illustrate a specific example of an embodiment of the present invention. 
         FIG. 14  is a diagram showing an example of a workflow table according to an embodiment of the present invention obtained after calculating required power consumption. 
         FIGS. 15A and 15B  are a flowchart showing an exemplary process procedure for executing an exceptional service with a device designated for the exceptional service according to an embodiment of the present invention. 
         FIG. 16  is a diagram showing an example of a workflow table that includes a device designated by an exceptional service according to an embodiment of the present invention obtained after calculating total power consumption. 
         FIG. 17A  is a diagram showing an example of a sleep level list used to illustrate a specific example of an embodiment of the present invention. 
         FIG. 17B  is a diagram showing another example of a sleep level list used to illustrate a specific example of an embodiment of the present invention. 
         FIGS. 18A-18C  are a flowchart showing an exemplary process procedure for presenting an alternative schema to execute an exceptional service with a device other than the device designated for the exceptional service according to an embodiment of the present invention. 
         FIG. 19  is a diagram showing an example of a workflow table according to an embodiment of the present invention obtained after calculating total power consumption in the case of presenting an alternative schema to execute a service with a device other than a designated device. 
         FIG. 20  is a diagram showing an example of a sleep level list used to illustrate a specific example of an embodiment of the present invention. 
         FIG. 21  is a flowchart showing an exemplary procedure for enqueuing a received workflow in the case of enqueuing a plurality of workflows according to an embodiment of the present invention. 
         FIG. 22  is a diagram showing an example of a workflow table in the case of enqueuing a plurality of workflows according to an embodiment of the present invention. 
         FIG. 23  is a flowchart showing an exemplary procedure for extracting a workflow from a queue and determining a device combination to execute the workflow in the case of enqueuing a plurality of workflows according to an embodiment of the present invention. 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
     Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. 
     Exemplary Configuration of Service Providing System According to Present Embodiment 
       FIG. 1  is a block diagram illustrating an overall configuration of a service providing system according to the present embodiment. 
     An image forming apparatus  100  includes a scanner unit  2070  serving as an image input device, a printer unit  2095  serving as an image output device, a control unit  2000 , and an operation unit  2012  that is a user interface. The scanner unit  2070 , the printer unit  2095  and the operation unit  2012  are each connected to the control unit  2000 . The control unit  2000 , which is connected to a network transmission path such as a LAN  2011 , a public line  2051  and the like, provides its functions to other devices as services. The public line  2051  is capable of transmitting and receiving data via G3 and G4 faxes, including the transmission of color images. 
     Also, other image forming apparatuses  120  and  130  that have the same device configuration as that of the image forming apparatus  100  are connected to the LAN  2011 . The image forming apparatuses  120  and  130  respectively include a scanner unit  2270 ,  2370 , a printer unit  2295 ,  2395  and an operation unit  2212 ,  2312 , which are connected to a control unit  2200 ,  2300 . The image forming apparatuses shown in  FIG. 1  have both a printer function and a scanner function, but it is also possible to use, for example, an image forming apparatus that has only a printer function or an image forming apparatus that has only a scanner function. 
     A personal computer (hereinafter referred to as PC)  140  that is capable of transmitting and receiving files using FTP, SMB protocol or the like as well as emails is also connected to the LAN  2011 . A server apparatus  150  organizes services provided by the plurality of image forming apparatuses that are connected to the LAN  2011 , combines them as a single service, or executes a workflow containing such services. 
     Although not illustrated, the apparatuses that provide services are not limited to image forming apparatuses, and another server that provides services may be connected to the LAN  2011 . Also, the services handled by the server apparatus  150  are not limited to services available through the LAN  2011 , and may include services available through the public line (WAN)  2051  such as the Internet. 
     Exemplary Control Configuration of Image Forming Apparatus According to Present Embodiment 
       FIG. 2  is a block diagram used to illustrate an exemplary control configuration of an image forming apparatus according to the present embodiment. 
     The control unit  2000  is connected to the scanner  2070  serving as an image input device and the printer  2095  serving as an image output device. The control unit  2000  is also connected to the LAN  2011  and the public line (WAN)  2051  so that image information and device information are input and output. 
     A CPU  2001  of the control unit  2000  is a controller that controls the entire system. A RAM  2002  is a system work memory for operating the CPU  2001 , and is also an image memory for temporarily storing image data. The RAM  2002  may be disposed so as to operate programs such as an operating system, system software and application software. A ROM  2003  is a boot ROM in which a system boot program is stored. In addition, a system program and an application program may also be stored in the ROM  2003 . A HDD  2004  is a hard disk drive on which system software, application software, image data and the like are stored. Although not illustrated, in the case of a small-format image forming apparatus, instead of the HDD  2004 , it is possible to employ a configuration without a hard disk by storing system software, application software and the like in the ROM  2003 . 
     A log memory  2100  is a memory for storing logs in which various logs such as an error log and an operating status log are stored. Instead of preparing the log memory  2100 , it is possible to use a mechanism in which part of the RAM  2002  is used as a log memory. An operation unit I/F  2006 , which is an interface unit with the operation unit (UI)  2012 , outputs image data to be displayed on the operation unit  2012  to the operation unit  2012 , and conveys information input through the operation unit  2012  by a user of the system to the CPU  2001 . A network  2010 , which is connected to the LAN  2011 , inputs and outputs information. A modem  2050 , which is connected to the public line (WAN)  2051 , inputs and outputs image information. The devices described thus far are located on a system bus  2007 . 
     An image bus I/F  2005  is a bus bridge that connects the system bus  2007  and an image bus  2008  for transferring image data at high speeds and that converts data structures. The image bus  2008  is configured of a PCI bus or the like. The following devices are located on the image bus  2008 . 
     A raster image processor (RIP)  2060  expands PDL code into a bitmap image. A device I/F unit  2020  connects the scanner  2070  serving as an image input device and the printer  2095  serving as an image output device to the control unit  2000 , and converts image data of synchronous systems and asynchronous systems. A scanner image processing unit  2080  corrects, processes and edits input image data. The scanner image processing unit  2080  also has a function of determining whether an input image is color or monochrome based on a chromatic signal of the image and storing the result. A printer image processing unit  2090  corrects, processes and edits image data to be output. 
     An image rotation unit  2030  reads an image from the scanner in cooperation with the scanner image processing unit. The image rotation unit  2030  is also capable of rotating an image and storing it in a memory, or printing out an image stored in a memory while rotating it in cooperation with the printer image processing unit. A resolution conversion unit  2031  performs resolution conversion processing on an image stored in a memory and stores it in the memory. A color space conversion unit  2032  converts, for example, a YUV image stored in a memory into a Lab image by a matrix operation, and stores the image in the memory. A tone conversion unit  2033  converts, for example, an 8-bit, 256-grayscale image stored in a memory into a 1-bit, 2-grayscale image by a technique such as an error diffusion process, and stores the 1-bit, 2-grayscale image in the memory. An image compression unit  2040  compresses and decompresses multi-valued image data into and from JPEG format, and compresses and decompresses binary image data into and from JBIG, MMR, MR or MH format. The image rotation unit  2030 , the resolution conversion unit  2031 , the color space conversion unit  2032 , the tone conversion unit  2033  and the image compression unit  2040  are capable of operating in conjunction with each other. For example, when an image rotation process and a resolution conversion process are performed on an image stored in a memory, both processes can be executed without the involvement of the memory. 
     In the above description, image processing such as image rotation is performed by a device connected to the image bus  2008 . However, such image processing may be executed by the CPU  2001  by storing image processing software on the HDD  2004  or the ROM  2003  and reading the software into the RAM  2002 . Also, it is needless to say that the software executed is not limited to software for image processing, and any processing software may be executed as long as the processing is required by the image forming apparatus. The programs stored in the ROM  2003  may be executed without being read into the RAM  2002 . 
     Exemplary Configuration of Image Forming Apparatus According to Present Embodiment 
       FIG. 3  is a perspective view showing an exemplary configuration of an image forming apparatus according to the present embodiment. 
     The scanner unit  2070  serving as an image input device illuminates an image on paper serving as an original, scans the image with a CCD line sensor (not shown) and thereby converts the image into an electrical signal as raster image data. An original paper is placed on a tray  2073  of an original feeder  2072 , and a user of the apparatus provides an instruction to read the original through the operation unit  2012 . Then, the CPU  2001  of the control unit  2000  provides an instruction to the scanner  2070 , the feeder  2072  feeds the original paper sheet by sheet, and an operation of reading the original image is performed. 
     The printer unit  2095  as an image output device is a unit that converts raster image data into an image on paper. As such a conversion method, there are an electrophotographic method that employs a photoconductive drum or photoconductive belt, an inkjet method that discharges ink from a micro-nozzle array to print an image directly onto paper, and so on, but any method can be used. A print operation starts with an instruction from the CPU  2001  of the control unit  2000 . The printer unit  2095  includes a plurality of paper supply trays so that different paper sizes and different paper orientations can be selected, and paper cassettes  2101 ,  2102  and  2103  that correspond to the trays. A paper discharge tray  2111  is a unit that receives printed paper. 
     (Example of Operation Unit  2012 ) 
       FIG. 4  shows an exemplary configuration of the operation unit  2012 . 
     An LCD display unit  2013 , in which a touch panel sheet  2019  is attached onto an LCD, displays system operation screens and soft keys and, when a displayed key is pressed, conveys the position information of the key to the CPU  2001  of the control unit  2000 . A start key  2014  is used when starting an operation of reading an original image, or the like. The center portion of the start key  2014  includes a two-color (green and red) LED  2018  that indicates whether the start key  2014  is ready for use by using the colors. A stop key  2015  functions to stop ongoing operation. An ID key  2016  is used when a user inputs a user identifier. A reset key  2017  is used when initializing settings through the operation unit. The configuration of the image forming apparatus is, of course, not limited to that shown in  FIGS. 2 ,  3  and  4  as long as the requirements of the present invention are satisfied. 
     Exemplary Sleep State of Image Forming Apparatus According to Present Embodiment 
     Transitioning to a sleep state and returning from the sleep state of an image forming apparatus of the present embodiment will be described now. 
     The CPU  2001  of the control unit  2000  monitors time by using a timer (not shown) incorporated in the control unit  2000 . When a prescribed period of time passes after the end of the preceding operation, the CPU  2001  issues an instruction to control power supply to a predetermined component apparatus of the control unit  2000 , which transitions to a sleep state. The time period after the end of the preceding operation, and the component apparatuses of the control unit  2000  to which such an instruction is issued have been preset as image forming apparatus settings, and recorded, for example, on the HDD  2004  or the like. Such setting can be made by the administrator or a user of the image forming apparatus. The number of setting items is not limited to one, and there can be a plurality of setting items according to the sleep mode, such as the time period after the end of the preceding operation, and the component apparatuses of the control unit  2000  in which power supply is to be controlled. 
     Returning from the sleep state is performed under the following conditions. When a user operates the image forming apparatus through the operation unit  2012 , a processing instruction is conveyed from the operation unit I/F  2006  to the CPU  2001 . In response to such an operation, the CPU  2001  transmits an instruction to return from the sleep state to each component apparatus in which power supply is controlled. The apparatus that has received the instruction to return from the sleep state prepares itself for the restart of power supply and to be used. Such an operation from the user may be performed not only through the operation unit  2012 , but also via the LAN  2011  or the WAN  2051 , such as, for example, by receiving a print instruction from the PC  140  through the network or receiving a fax. In the case of the LAN  2011 , a processing instruction is conveyed to the CPU  2001  via the network  2010 . In the case of the WAN  2051 , a processing instruction is conveyed to the CPU  2001  via the modem  2050 . 
     In the case where the CPU  2001  determines a return from a sleep state, the CPU  2001  itself cannot transition to a sleep state because the CPU  2001  needs to manage the sleep state. Accordingly, the apparatuses that receive operations from the user (the operation unit I/F  2006 , the network  2010  and the modem  2060 ) may each have a proxy response function for the CPU  2001 . In this case, even when the CPU  2001  is in a sleep state, an operation instruction is received by the proxy response function of one of the apparatuses, the CPU  2001  is caused to return from the sleep state, and a request for processing is made to the CPU  2001 . 
     At this time, one of the proxy response functions may determine whether or not to cause the CPU  2001  to return from the sleep mode according to the sleep state and the instructed operation. For example, if a print instruction is received via the LAN  2011 , the CPU  2001  is caused to return. If, on the other hand, an instruction to check the sleep state is received, the proxy response function of the network  2010  responds to the instruction without causing the CPU  2001  to return. Also, in the case where there are a plurality of sleep modes, a configuration may be employed in which, rather than completely escaping from a sleep state as a return from the sleep state, a transition may be made to a sleep state in which power consumption is more than the current state but is less than a normal state. For example, if a process that does not involve printing (e.g., data storage) is requested while the printer engine, the CPU and the HDD are in a sleep state, only the CPU and the HDD are caused to return from the sleep state without causing the printer engine to return from the sleep state. 
     It was stated above that the HDD  2004  of  FIG. 2  stores system software, application software and image data on the inside thereof, but the software and data stored thereon are not limited thereto, and the HDD  2004  is capable of storing general data files other than images such as data for image management, and data managed by the image forming apparatus. Examples of data managed by the image forming apparatus include setting information for transition to a sleep state described above, and so on. 
     Exemplary Configuration of Server Apparatus According to Present Embodiment 
       FIG. 5  is a block diagram showing an exemplary control configuration of a server apparatus as an information processing apparatus according to the present embodiment. 
     The server apparatus  150  includes a CPU  502  that controls the server apparatus  150 , a RAM  503  that is a system work memory used for the operation of a data work area, a program, an OS and the like, and a ROM  504  in which a program for booting the system, a fixed program and the like are stored. These elements are connected to a system bus  501 . 
     A hard disk drive (HDD)  505  in which system software, application software, data and the like are stored is also connected to the system bus  501 . A network I/F  506  that is connected to a LAN so as to communicate with the LAN, an input I/F  507  that connects input devices such as a mouse and a keyboard, and a screen output I/F  508  that connects a display and the like. 
     (Service Framework) 
     A service framework possessed by the server apparatus  150  will be described now. 
     A service framework manages which service is provided where in the network. Upon receiving an instruction to perform a service from a user, the server apparatus  150  makes a request for processing to a service supply source that provides the service. In addition, the server apparatus  150  not only provides individual services, but also functions as a server for processing a workflow in which a plurality of services are combined. 
     In an example of a workflow, a plurality of services are performed in a combined manner, such as, for example, scanning an original and converting the scanned data into JPEG format, and saving the scanned original on a predetermined server and transmitting it by fax. As a function of the service framework, the server apparatus  150  can distribute a workflow to other PCs and image forming apparatuses. The PCs and image forming apparatuses to which a workflow has been distributed make a request to the server apparatus  150  as a distribution source to execute the workflow when the workflow is executed by a user. 
     The present embodiment is described in the context where there is one server apparatus  150  in which such a service framework functions. However, it is also possible to employ a configuration in which the services and workflows provided by a plurality of server apparatuses are executed in cooperation with other server apparatuses by communicating with each other. With this configuration, for example, a server apparatus can execute a service provided by a server apparatus that is located on the Internet with the use of a protocol that enables communication through the Internet such as HTTP. 
     (Exemplary Configuration of Service Table) 
     The server apparatus  150  stores a service table that shows which service is provided where (in which device). An example of the service table will be described with reference to  FIG. 6 . The service table is generated by the RAM  503 , and stored on the HDD  505 . 
     A column  601  indicates an available service, and a column  602  indicates a service providing machine. In  FIG. 6 , an example is shown in which, for example, fax service providing machines are specified with network IP addresses, but the configuration is not limited to the use of an IP address, and other parameters can be used as long as it is possible to specify a machine. In the following description, providing machines are referred to as machine  1 , machine  2 , and so on. A column  603  indicates the model of a service providing machine. 
     A column  604  indicates a sleep level at which a return is necessary to carry out the service. As used herein, “sleep level” refers to a value for a component apparatus in which power supply is controlled. For the sake of simplicity, the present embodiment will be described by using three sleep levels. Sleep level “0” refers to a non-sleep state, or in other words, a state in which power is supplied to all component apparatuses of an image forming apparatus. Sleep level “1” refers to a state in which power supply to the printer engine that consumes a large amount of power is stopped, but power is supplied to other component apparatuses of an image forming apparatus. Sleep level “3” refers to a state in which power is not supplied to almost all component apparatuses of an image forming apparatus, and power is supplied only to the operation unit I/F  2006 , the network  2010  and the modem  2060  so as to enable a proxy response function. Such three states are merely an example of the present embodiment, and it is possible to more finely divide such sleep levels, or to have two levels that indicate a sleep state or a non-sleep state. 
     There are cases where the sleep level differs from device to device. In such a case, most detailed sleep levels are written in a service table, and different sleep levels are mapped into the already existing levels. For example, if there is a device that has only two levels indicating a sleep state or a non-sleep state, the sleep state corresponds to sleep level 2, and the non-sleep state corresponds to sleep level 0. 
     A column  605  indicates performance information for carrying out each service. 
     In the example shown in  FIG. 6 , two devices, namely, device A and device C, provide a fax service, and their IP addresses are 192.168.18.5 and 192.168.21.101, respectively. To implement the fax service, a transition to sleep level 1 is necessary. Fax services  606  indicate that, as regards performance, device A is capable of G3 fax transmissions, and device C is capable of G4 fax transmissions. Likewise, reference numeral  607  indicates an OCR service,  608  indicates a print service,  609  indicates a scan service,  610  indicates a send service, and  611  indicates a format conversion service. 
     Here, a service written in the column  601  is provided by the corresponding device written in the providing machine column  602  and the model column  603 . The apparatus in the last line of the table that provides a format conversion service  611  is not an image forming apparatus, but an ordinary PC, so PC is written in model  603 . It can be seen from this table that an image processing apparatus (machine  3 ) is capable of format conversion to PDF format from Adobe Systems Incorporated, and the PC (machine  5 ) is capable of format conversion to JPEG format, in addition to PDF format. In the following description, for the sake of simplicity, the process of the present embodiment will be described using only image processing apparatuses, but it is clear that the service providing machines are not limited to image processing apparatuses. 
     Such a service table is generated as follows, for example. The server apparatus  150  transmits, for example, a broadcast message that requires information necessary to create a service table to all devices on the network. Each service providing machine transmits information necessary to create a service table to the server apparatus  150 . A service table is generated from the thus-obtained information. Alternatively, the administrator of the server apparatus or service framework may manually input necessary information to construct a service table. 
     Exemplary Configuration of Power Consumption Table 
     The server apparatus  150  stores another table that shows power consumption for each device model, and this table is called a power consumption table. The power consumption table will be described with reference to  FIG. 7 . The power consumption table is also generated by the RAM  503  and stored on the HDD  505 . 
     A column  701  indicates the model of a service providing machine, which is the same as the model column  603  of the service table shown in  FIG. 6 . A column  702  indicates the same sleep level as in the sleep level column  604  of  FIG. 6 . In the power consumption table, the sleep levels that can be taken by each image forming apparatus are stored. A column  703  indicates power consumption, and the maximum power consumption for each sleep level  702  is written. 
     Specifically, a line  704  indicates three sleep levels that can be taken by device A including “0”, “1” and “2” with the maximum power consumptions being 1.8 KW, 800 W and 1 W, respectively. A line  705  indicates two sleep levels that can be taken by device B including “0” and “2” with the maximum power consumptions being 650 W and 1 W, respectively. A line  706  indicates three sleep levels that can be taken by device C including “0”, “1” and “2” with the maximum power consumptions being 1.4 KW, 600 W and 1 W, respectively. A line  707  indicates three sleep levels that can be taken by device D including “0”, “1” and “2” with the maximum power consumptions being 2.0 KW, 900 W and 1 W. 
     Such a power consumption table may be created by the administrator of a service framework by manually inputting values. Alternatively, because service providing machines, that is, image forming apparatuses, are determined in the service table of  FIG. 6 , an inquiry may be made to relevant image forming apparatuses so as to obtain the power consumption of each service level as device information, and a power consumption table may be generated automatically. 
     Example 1 of Power Conservation Service According to Present Embodiment 
     Exemplary Operation Procedure 1 of Power Conservation Service According to Present Embodiment 
     An exemplary operation procedure of a power conservation service in the assignment of a service to a device connected to the network of the present embodiment will be described below with reference to  FIG. 8 . The flowchart of  FIG. 8  is stored in the ROM  504  or on the HDD  505  of the server apparatus  150  of  FIG. 5 , and is executed by the CPU  502 . 
     First, in Step S 801 , the CPU  502  receives (service reception) an instruction (service instruction) to execute a service requested from a user. As used herein, “user” also encompasses a machine that utilizes a service of the server apparatus  150 , such as another server apparatus, a computer, or a device such as an image forming apparatus. In Step S 802 , the CPU  502  analyzes the service instruction received in Step S 801 , and determines whether or not a device for executing the service has been designated. If no device has been designated (No in Step S 802 ), the CPU  502  proceeds to Step S 805 . If a device has been designated (Yes in Step S 802 ), the CPU  502  proceeds to Step S 803 . 
     In Step S 803 , the CPU  502  checks (sleep check) the current sleep level of the device designated to execute the service from the result of analyzing the service instruction in Step S 802 . In Step S 804 , the CPU  502  checks the service table stored on the HDD  505 , and compares the sleep level of the designated device to provide the service and the current sleep level obtained in Step S 803 . As a result of comparison, if the current sleep level obtained in Step S 803  is less than or equal to the sleep level checked with the service table, it is unnecessary to change the sleep state to execute the service with the designated device (Yes in Step S 804 ). That is, if the current sleep level of the designated device is “0”, it means that it is also possible to provide services available at sleep levels “1” and “2”. If the sleep level is “1”, it means that it is also possible to provide a service available at sleep level “2”. In this case, the CPU  502  proceeds to Step S 809 . In Step S 809 , the CPU  502  requests that the device designated execute the service designated by the service instruction, and ends the process. In Step S 809 , a designated device is selected as having the highest priority to provide a service. 
     If, on the other hand, it has been determined in Step S 804  that the sleep level obtained in Step S 803  is larger than the sleep level of the service of the designated device (No in Step S 804 ), the CPU  502  proceeds to Step S 805  to change the sleep state of the device. In Step S 805 , the CPU  502  extracts only devices that provide the service designated in the service instruction from the service table stored on the HDD  505 , and generates a designated service table, a specific example of which will be described below with reference to  FIG. 9 . 
     In Step S 806 , the CPU  505  compares, for each item of the designated service table generated in Step S 805 , the combination of model name and sleep level against the power consumption table stored in the HDD  505 , and selects the device with the minimum power. In Step S 807 , the CPU  505  checks the current sleep level of the device selected in Step S 806 . In Step S 808 , the CPU  505  compares the sleep level checked in Step S 807  with the sleep level of the device selected from the designated service table generated in Step S 805 , and checks whether or not the device is in a state capable of executing the service. In Step S 808 , if it has been determined that the device selected in Step S 806  is at a service level at which the service can be executed (Yes in Step S 808 ), the CPU  502  proceeds to Step S 809 . In Step S 809 , the CPU  502  requests that the selected device execute the service and ends the process. In this case, a device capable of executing a service without changing sleep level is selected as having the highest priority to provide the service. 
     If it has been determined in Step S 808  that the device selected in Step S 806  is not at a service level at which the service can be executed (No in Step S 808 ), the CPU  502  proceeds to Step S 810 . In Step S 810 , the CPU  502  checks whether all of the devices included in the designated service table have been selected. If all of the devices have been selected (Yes in Step S 810 ), the CPU  502  proceeds to Step S 811 . In Step S 811 , the CPU  502  reselects a device with the minimum power consumption to execute the service designated in the designated service table, and proceeds to Step S 809 . 
     In this case, because all devices capable of executing the designated service are in a sleep state in which execution of the service is not possible, a device with the minimum power consumption is caused to execute the service. 
     If it has been determined in Step S 810  that all of the devices have not been selected (No in Step S 810 ), the CPU  502  proceeds to Step S 812 . In Step S 812 , the CPU  502  selects a device with the next minimum power consumption from the designated service table, and returns to Step S 807 , where whether the selected device can execute the service is checked again. 
     Specific Example 1 of Power Conservation Service According to Present Embodiment 
     The power conservation service of the present embodiment will be described through a specific example. 
     Here, it is assumed that the server apparatus  150  stores the service table of  FIG. 6  and the power consumption table of  FIG. 7 . If the server apparatus  150  receives a request to execute a fax service without designating a device for executing the service, the CPU  502  of the server apparatus  150  creates a designated service table from the service table of  FIG. 6  in Step S 805  of  FIG. 8 . 
     In this case, a designated fax service table as shown in  FIG. 9  is created. As shown in  FIG. 9 , the designated service table has the same columns as those of the service table of  FIG. 6 . Columns  901  to  905  of  FIG. 9  correspond to the columns  601  to  605  of  FIG. 6 . 
     The designated fax service table of this example includes data items  606   a  and  606   b  of two devices. That is, it can be seen that the fax service is provided by machine  1  and machine  3 , and their respective device models are device A and device C. In addition, in order to execute the service, both devices must be at sleep level “1”. In this example, the device and the model have a one-to-one correspondence with each other, but it is of course possible that a plurality of devices are of the same model. 
     An example in which it is assumed that machine  1  and machine  3  are both currently at sleep level “2” will be described. In this case, a search is performed for a device with the minimum power consumption from the designated service table of  FIG. 9 , as a result of which machine  3  is selected. This determination is made as follows. First, because the model of machine  1  is device A, by checking the power consumption table of  FIG. 7 , it can be found that 800 W is required at sleep level “1”, which is necessary to execute the fax service. Likewise, because the model of machine  3  is device C, it can be found that 600 W is required at the sleep level “1”, which is necessary to execute the fax service. Accordingly, because the power consumption of machine  3  is smaller, machine  3  is selected. 
     The current sleep state of machine  3  is then checked. Because the sleep level is “2” as described above, the fax service cannot be executed in the current state. So, machine  1  with the next minimum power consumption is selected, and the current sleep state is similarly checked. But the sleep level of machine  1  is also “2”, so the fax service cannot be executed. From this, it is found that, in either case, the fax service cannot be executed unless the sleep state is changed. So, machine  3  with the minimum power consumption to execute the fax service is selected, and an instruction to perform the fax service is issued to machine  3 . 
     Another example in which it is assumed that the sleep level of machine  1  is 0, and the sleep level of machine  3  is 2 will be described. In this case as well, as in the above-described example in which the current sleep levels of machine  1  and machine  3  are sleep level “2”, machine  3  is selected first. It is then found that machine  3  cannot execute the fax service in the current state. The operation up to here is the same as the above-described example. Then, machine  1  is selected, and the current service level of machine  1  is checked, as a result of which it is found that the current sleep level is “0”, which means it is possible to execute the fax service. Then, an instruction to execute the fax service is issued to machine  1 . 
     As described above, if a device capable of executing the service is found although the power consumption is not a minimum, the service is executed by using the device. With this configuration, it is possible to execute the service with an appropriate device with the minimum power consumption according to the sleep state of the device. That is, as described with reference to the flowchart of  FIG. 8 , in response to a request to execute a single service, a search is performed to find an optimal device with the minimum power consumption in consideration of the sleep state, and the service is executed. As described, according to the present embodiment, the services of a plurality of devices connected to the network are combined and provided. 
     A specific operation of  FIG. 8  has been described through two examples here, but it is obvious that it is possible to provide an appropriate service taking power consumption and service speed into consideration by the procedure of  FIG. 8  even when other assumptions are made. 
     Example 2 of Power Conservation Service when Workflow is Designated According to Present Embodiment 
     Next, a method of selecting an optimal device with the minimum power consumption when a workflow in which a series of multiple services are sequentially executed is designated will be described. 
     “Workflow” as used herein refers to a series of multiple processes that are collectively performed in the following manner. For example, a user reads a paper document with the scanner of an image forming apparatus and prints out the document. Then, the document is transmitted to a designated address by fax, and the electronic document data read by the scanner is stored in a predetermined location of a file server. Such a series of multiple operations are registered with a single button in advance, and can be performed simply by the button being pushed by the user. Such a series of operations refers to a workflow, and individual operations represent the execution of each service. 
     As an example of an embodiment, a workflow is registered in the server apparatus  150 , and the workflow registered in the server apparatus  150  is associated with a button in an image forming apparatus. When triggered by the user pressing the button, an instruction to start the workflow reaches the server apparatus  150 , and the process starts. It is needless to say that the configuration for implementing a workflow is not limited to that described in the present embodiment, and any configuration can be employed as long as the content of the present invention is satisfied. 
     (Exemplary Configuration of Workflow Table) 
       FIG. 10  shows an example of a configuration of a workflow table showing device combinations that is created in this example. 
     A workflow table includes the following fields: a device list field  1001  in which device combinations for implementing the workflow are stored; a total power consumption field  1002  in which a total power consumption required by each combination stored in the device list is written; and a required power consumption field  1003  in which a required amount of electrical power excluding a device that has already been activated is stored. It should be noted that because there is a device that is capable of executing a plurality of services, the number of device combinations written in the device list does not necessarily match the number of services included in a workflow. 
     Exemplary Operation Procedure 2 of Power Conservation Service when Workflow is Designated According to Present Embodiment 
     Next, an exemplary operation procedure for selecting an optimal device with the minimum power consumption when a workflow in which a series of multiple services are sequentially executed is designated will be described with reference to the flowchart of  FIG. 11 . The flowchart of  FIG. 11  is stored in the ROM  504  or the HDD  505  of the server apparatus  150  of  FIG. 5 , and is executed by the CPU  502 . 
     In Step S 901  of the flowchart of  FIG. 11 , the CPU  502  receives an instruction to execute a workflow from a client (e.g., an image forming apparatus or the like). In Step S 902 , the CPU  502  creates a designated service table for each service designated in the workflow. The designated service table is the same as that of  FIG. 9 , which was described in relation to Step S 805 , and such a table is generated for each of all the services designated in the workflow. 
     In Step S 903 , the CPU  502  obtains all device combinations necessary to implement the workflow from a service table as shown in  FIG. 6 . The CPU  502  calculates, for each obtained device combination, the total amount of power consumption required by the combination from a power consumption table as shown in  FIG. 7 . Then, all device combinations for implementing the workflow and the total amounts of power consumption for the device combinations are stored in a workflow table as shown in  FIG. 10 . In this manner, a workflow table in which the device list field  1001  and the total power consumption amount field  1002  are filled is created, a specific example of which will be described later with reference to  FIG. 12 . 
     In Step S 904 , the CPU  502  checks the sleep level of each of all the devices included in the device list of the created workflow table, and creates a sleep level list that is a correspondence table between each device and the sleep level thereof. Specific examples of such a sleep level list are shown in  FIGS. 13A and 13B . In Step S 905 , the CPU  502  selects a device combination that has a minimum value in the total power consumption field from the created workflow table. In Step S 906 , the CPU  502  checks whether all the devices included in the selected device combination have a sleep level for implementing a required service. 
     If the devices included in the selected combination have sleep levels at which all the services can be performed to implement the workflow, or in other words, if the workflow can be implemented without changing the sleep state of the selected devices (Yes in Step S 906 ), the CPU  502  proceeds to Step S 910 . In Step S 910 , the CPU  502  requests that each device of the selected combination execute a desired service. This request may be performed primarily by the server apparatus  150 , or by a mechanism in which workflow information in which devices to be requested are stored is transmitted and, after that, the workflow information is transferred to the next device after processing of a client device ends. 
     In Step S 906 , if even one device among all the selected devices is not at a sleep level at which a desired service can be implemented to implement the workflow (No in Step S 906 ), the CPU  502  proceeds to Step S 907 . In Step S 907 , the CPU  502  calculates the total sum of the power consumption required to change the sleep state of devices included in the combination with a sleep state that needs to be changed to implement the workflow from the power consumption table stored on the HDD  505 . Then, the CPU  502  stores the calculated value in the required power consumption field  1003  of the workflow table. In Step S 908 , the CPU  502  determines whether or not all device combinations have been selected from the workflow table. If all combinations have not been selected, the CPU  502  proceeds to Step S 909 . In Step S 909 , the CPU  502  selects a device combination with a total amount of power consumption smaller than that of the currently selected combination, and returns to Step S 906 . That is, when a desired workflow can be implemented with the processing from Step S 906  to Step S 910 , without generating additional power consumption (without changing the sleep level), the workflow is implemented with a device combination with the minimum power consumption from among the device combinations. 
     If it has been determined in Step S 908  that all device combinations of the workflow table have been selected (Yes in Step S 908 ), the CPU  502  proceeds to Step S 911 . In Step S 911 , because the amount of power consumption required to change the sleep level to implement the workflow is written in the required power consumption field of the workflow table, the CPU  502  selects a device combination with the minimum required power consumption. If there are a plurality of device combinations with a minimum required power consumption, a device combination with the minimum total amount of power consumption is selected from among the device combinations. If they have the same total amount, an arbitrary device is selected. In Step S 912 , the CPU  502  makes a request to the devices of the combination selected in Step S 911  to execute desired services, and ends the process. 
     Specific Example 2 of Power Conservation Service When Workflow is Designated According to Present Embodiment 
     The power conservation service when a workflow is designated according to the present embodiment will be described through a specific example. 
     It is assumed that the server apparatus  150  stores the service table of  FIG. 6  and the power consumption table of  FIG. 7 , and receives an instruction to execute a fax service and a send service as a workflow instruction. As used herein, the send service refers to a service in which an image is converted and transmitted to a file server or the like. It is also assumed here that devices for executing these services have not been designated. 
     A workflow table of  FIG. 12  is generated through the processing of Step S 903  of  FIG. 11  from the service table of  FIG. 6  and the power consumption table of  FIG. 7 . Because machine  1  and machine  3  provide a fax service, and machine  2  and machine  4  provide a send service, the following combinations are possible as device combinations that implement the services: “machine  1 , machine  2 ”, “machine  1 , machine  4 ”, “machine  2 , machine  3 ” and “machine  3 , machine  4 ”. The total sum of power consumption required at the sleep levels at which a fax service and a send service can be executed is stored in the total power consumption field. For example, in the case of a combination “machine  1 , machine  2 ”, the sleep level at which device A executes a fax service is sleep level “1”, and the sleep level at which device B executes a send service is sleep level “0”. Accordingly, from the power consumption table of  FIG. 7 , the total power consumption can be calculated by adding 800 W and 650 W to obtain 1450 W (1.45 KW). Such calculation is similarly performed for other device combinations. 
     Next, processing will be described by way of two exemplary sleep level lists generated in Step S 904  of  FIG. 11  in which the current sleep level of each device is stored.  FIGS. 13A and 13B  show two exemplary sleep level lists. In the sleep level lists, all the devices listed in the device list of the workflow table are stored in columns  1301   a  and  1301   b , and the sleep levels of the devices are stored in columns  1302   a  and  1302   b.    
     (First Example of Sleep Level List) 
     An example in which the sleep level list that indicates the sleep level of each device is as shown in  FIG. 13A  will be described. 
     First, a combination “machine  2 , machine  3 ” with the minimum total amount of power consumption, namely, 1250 W, is selected from the workflow table of  FIG. 12 . In this case, the sleep level of machine  2  is “2”, so machine  2  cannot execute a send service. Accordingly, the power consumption required to change the sleep level of machine  2  is calculated from the power consumption table of  FIG. 7  to be 650 W, and stored in the workflow table. Next, a combination “machine  1 , machine  2 ” with the next minimum total amount of power consumption is selected. In this case as well, machine  2  cannot execute a send service, 650 W is stored as the required power consumption in the same manner as above. Furthermore, a combination “machine  3 , machine  4 ” with the next minimum total amount of power consumption is selected. In this case, machine  4  cannot execute a send service, the power consumption required to change the sleep level of machine  4  is calculated from the power consumption table of  FIG. 7  to be 900 W, and stored in the workflow table. Finally, a combination “machine  1 , machine  4 ” is selected, but in this case as well, machine  4  cannot execute a send service, and the required power consumption is determined from the power consumption table of  FIG. 7  to be 900 W, and stored in the workflow table. As a result, a workflow table as shown in  FIG. 14  is obtained. 
     Because all combinations listed in the workflow of  FIG. 12  have been checked, a combination with the minimum required power consumption is selected. In this example, the combinations “machine  1 , machine  2 ” and “machine  2 , machine  3 ” both have a minimum required power consumption of 650 W. However, the total amount of power consumption of “machine  2 , machine  3 ” is 1250 W, which is smaller than that of “machine  1 , machine  2 ”, which is 1450 W. Accordingly, “machine  2 , machine  3 ” is selected, and a request to execute the fax service is issued to machine  3 , and a request to execute the send service is issued to machine  2 . 
     (Second Example of Sleep Level List) 
     Another example in which the sleep level list is as shown in  FIG. 13B  will be described. 
     In this case, a combination “machine  2 , machine  3 ” is selected first and a combination “machine  1 , machine  2 ” is selected next in ascending order of the total amount of power consumption, but in either case, machine  2  cannot execute a send service. Then, a combination “machine  3 , machine  4 ” with the next minimum total amount of power consumption is selected. Because both a fax service and a send service can be executed with this combination, requests to execute the respective services are sent to machine  3  and machine  4 . As described above, services are executed by devices with a small power consumption according to the sleep state of the devices. As described with reference to the flowchart of  FIG. 11 , when a workflow is requested, in order to implement a plurality of required services, it is possible to select an optimal device combination with the minimum power consumption in consideration of the sleep state and execute the services to execute the workflow. 
     Example 3 of Power Conservation Service when Exceptional Service is Designated According to Present Embodiment 
     Next, an operation performed when an exceptional service is designated according to the present embodiment will be described. 
     “Exceptional service” used herein refers to a service in which a specific device has been designated to execute the service and the service must be executed with the designated device. Examples of exceptional services include a print service that always designates an image forming apparatus installed in a location near the user&#39;s seat because the user wants to print with the nearby apparatus, a service that charges a fee to execute the service and that designates, for example, a device that provides a more inexpensive service although the processing speed is slow, and so on. 
     Exemplary Operation Procedure 3 of Power Conservation Service when Exceptional Service is Designated According to Present Embodiment 
     The flowchart of  FIGS. 15A and 15B  is a flowchart obtained by incorporating the processing of an exceptional service into the flowchart when a workflow in which a series of multiple services are sequentially executed is designated, described with reference to the flowchart of  FIG. 11 . Accordingly, the same processing steps as those of the flowchart of  FIG. 11  are given the same reference numerals as those of the flowchart of  FIG. 11 , and a description thereof is omitted here. For details, reference should be made to the description in relation to the same reference numerals of the flowchart of  FIG. 11 . 
     First, in Step S 1201 , in response to the workflow instruction received in Step S 901 , the CPU  502  creates designated service tables except for an exceptional service. Here, an exceptional service may be designated by a workflow instruction, or may be stored on the server apparatus  150  in advance. In the case where the server apparatus  150  stores an exceptional service, a mechanism may be employed in which an exceptional service is uniquely defined as an entire system, or a different exceptional service is stored for each user or the group to which each user belongs. In Step S 1201 , designated service tables except for an exceptional service are created and, as a result of the processing of Step S 903  and Step S 904 , a workflow table and a sleep level list are created. The workflow table created in Step S 903  does not include an exceptional service. 
     In Step S 1202 , the CPU  502  determines whether there is a device to execute the exceptional service designated by the workflow instruction among the devices stored in the sleep level list created in Step S 904 . If such a device is found, the sleep levels of all of such devices are changed to a sleep level at which the exceptional service can be executed. That is, the devices capable of executing the exceptional service included in the sleep level list are brought into a condition in which execution of the exceptional service is possible, whereby in the case where a service other than an exceptional service is provided by a device that can execute the exceptional service, the service can be executed without changing the sleep state. 
     In Step S 905 , the CPU  502  selects a device combination with the minimum total power consumption from the workflow table excluding the exceptional service created in Step S 903 . In Step S 906 , the CPU  502  checks whether the devices in the selected combination are at sleep levels at which all services excluding the exceptional service can be executed by referring to the consumption table. If the devices are at sleep levels at which all services can be executed (Yes in Step S 906 ), the CPU  502  advances to Step S 1203 , where the CPU  502  requests that the selected devices and the device designated with the exceptional service execute respective desired services, and ends the process. 
     In Step S 906 , if it has been determined that no services can be executed at the current sleep level of the devices selected by the server apparatus, the CPU  502  advances to Step S 907 . The processing from Step S 907  to Step S 911  is the same as that of the flowchart of  FIG. 11 , so a description thereof is omitted here. In Step S 1204 , the CPU  502  requests that the devices selected in Step S 911  and the device designated for the exceptional service execute respective desired services, and ends the process. 
     Specific Example 3 of Power Conservation Service When Exceptional Service is Designated According to Present Embodiment 
     The power conservation service when an exceptional service is designated according to the present embodiment will be described through a specific example. 
     It is assumed that the server apparatus stores the service table  FIG. 6  and the power consumption table of  FIG. 7 , and receives an instruction to execute a fax service and a print service as a workflow instruction. It is also assumed here that devices for executing the fax service have not been designated, but machine  1  has been designated to execute the print service as an exceptional service. 
     In Step S 903  of  FIG. 15A , a workflow table of  FIG. 16  is created from the service table of  FIG. 6  and the power consumption table of  FIG. 7 . 
     The total sums of power consumption required by device A and device C, which are the models of machine  1  and machine  3 , at the sleep levels at which a fax service and a print service can be respectively executed are stored as total power consumption amounts. For example, when machine  1  is at sleep level 0, it can execute both a fax service and a print service. Accordingly, 1800 W is obtained from the power consumption table of  FIG. 7 . Likewise, in the case of a combination “machine  1 , machine  3 ”, the sleep level at which machine  1  executes a print service is sleep level 0, and the sleep level at which machine  3  executes a fax service is sleep level 1. Accordingly, 2400 W is obtained from the power consumption table of  FIG. 7 . 
     An example in which the sleep level list that indicates the sleep level of each device is as shown in  FIG. 17A  will be described. It is assumed here that machine  1  and machine  3  are currently at sleep level 2, but machine  1  has been designated to execute the print service as an exceptional service. Accordingly, machine  1  is expected to be brought to sleep level 0 at which the print service is reliably executed. Accordingly, in Step S 1202  of  FIG. 15A , processing is performed to change the sleep level list of  FIG. 17A  to a sleep level list of  FIG. 17B . After this, the same processing as that described in relation to the specific example of the flowchart of  FIG. 11  is performed, so a description there of is omitted here. 
     In this specific example, machine  1  is selected to execute the fax service and the print service without considering the required power consumption, but this is merely an example, and when more candidate devices are selected in the workflow table of  FIG. 16 , the required power consumption is also taken into consideration. As described with reference to the flowchart of  FIGS. 15A and 15B , even when executing a specified exceptional service with a specified device, the transition of a device that executes an exceptional service to a sleep state in which the exceptional service is executed is considered. Then, an optimal device combination with the minimum power consumption is selected to execute the services, thereby executing the workflow. 
     Example 4 of Power Conservation Service that Presents Alternative Schema to User According to Present Embodiment 
     In the present embodiment, an example in which even when an exceptional service is designated, if the service can be executed with less power consumption by another combination, a user is notified of the fact will be described. 
     For example, even when a nearby image forming apparatus has been designated for printing as an exceptional service, if power consumption can be reduced through outputting through a remote image forming apparatus, an alternative schema is presented to the user to ask him/her about it. If the user accepts the alternative schema, the workflow can be executed by a device combination that uses less power consumption. 
     Exemplary Operation Procedure 4 of Power Conservation Service that Presents Alternative Schema to User According to Present Embodiment 
     The flowchart of  FIGS. 18A-18C  is a flowchart obtained by incorporating the processing of presenting an alternative schema to a user into the flowchart when a workflow in which a series of multiple services are sequentially executed is designated, described with reference to the flowchart of  FIG. 11 . Accordingly, the same processing steps as those of the flowchart of  FIG. 11  are given the same reference numerals as those of the flowchart of  FIG. 11 , and a description thereof is omitted here. For details, reference should be made to the description in relation to the same reference numerals of the flowchart of  FIG. 11 . 
     The processing from Step S 901  to Step S 905  is the same as that of the flowchart of  FIG. 11 . This flowchart handles an exceptional service, but presents an alternative schema to the user, in which point this flowchart differs from the flowchart of  FIGS. 15A and 15B . In Step S 906 , the CPU  502  determines whether the devices of the selected combination are at sleep levels at which the workflow can be implemented. The workflow table used in this flowchart includes an exceptional service as well. Accordingly, a selected device combination may not necessarily include a device designated by an exceptional service. 
     If the CPU  502  has determined in Step S 906  that the workflow can be executed with the selected device (Yes in S 906 ), the CPU  502  advances to Step S 1301 . In Step S 1301 , the CPU  502  checks whether the selected combination includes a device designated for the exceptional service. If the selected combination includes a device designated for the exceptional service (Yes in Step S 1301 ), the CPU  502  advances to Step S 910 , where the CPU  502  requests that the devices of the selected combination execute desired services and ends the process. This is the case where because the selected combination includes a device designated for the exceptional service, it is unnecessary to provide an alternative schema to the user. 
     If the CPU  502  has determined in Step S 1301  that the selected combination does not include a device designated for the exceptional service (No in Step S 1301 ), the CPU  502  advances to Step S 1302 . In Step S 1302 , the CPU  502  presents an alternative schema to the user indicating that power consumption can be reduced by executing the exceptional service with another device (a device included in the currently selected combination). This is performed by issuing an instruction to display such a message to the device that has requested execution of the workflow. In Step S 1303 , the CPU  502  receives a response indicating whether or not to accept the alternative schema from the user from the device that has requested execution of the workflow and makes a determination. Upon receipt of a result from the user indicating that the alternative schema has been accepted by the CPU  502  (Yes in Step S 1303 ), the CPU  502  proceeds to Step S 910 , where the CPU  502  requests that the devices of the selected combination execute desired services and ends the process. In Step S 1303 , upon receipt of a result from the user indicating that the alternative schema has not been accepted by the CPU  502  (No in Step S 1303 ), the CPU  502  proceeds to Step S 907 , where the CPU  502  selects another combination. 
     The processing from Step S 907  to Step S 909  and that of Step S 911  are the same as those of the flowchart of  FIG. 11 , so a description thereof is omitted here. 
     In Step S 1304  of  FIG. 18C , the CPU  502  checks whether the selected combination includes a device designated for the exceptional service. If the selected combination includes a device designated for the exceptional service (Yes in Step S 1304 ), the CPU  502  advances to Step S 912 , where the CPU requests that the devices of the selected combination execute desired services and ends the process. This is the case where because the selected combination includes a device designated for the exceptional service, it is unnecessary to provide an alternative schema to the user. 
     If the CPU  502  has determined in Step S 1304  that the selected combination does not include a device designated for the exceptional service (No in Step S 1304 ), the CPU  502  advances to Step S 1305 . In Step S 1305 , the CPU  502  presents an alternative schema to the user indicating that power consumption can be reduced by executing the exceptional service with another device (a device included in the currently selected combination). This is performed by issuing an instruction to display such a message to the device that has requested execution of the workflow. In Step S 1306 , the CPU  502  receives a response indicating whether or not to accept the alternative schema from the user from the device that has requested execution of the workflow and makes a determination. Upon receipt of a result from the user indicating that the alternative schema has been accepted by the CPU  502  (Yes in Step S 1306 ), the CPU  502  advances to Step S 912 , where the CPU requests that the devices of the selected combination execute desired services and ends the process. 
     In Step S 1306 , upon receipt of a result from the user indicating that the alternative schema has not been accepted by the CPU  502  (No in Step S 1306 ), the CPU  502  advances to Step S 1307 . In Step S 1307 , the CPU  502  recalculates the required power consumption of a combination that includes a device specified for the exceptional service within the workflow table assuming that it is at a service level necessary to execute services with the devices, whereby even when another service is executed by a device that executes the exceptional service, a combination with a minimum power consumption can be selected. In Step S 1308 , the CPU  502  selects a combination with a minimum required power consumption recalculated in Step S 1307  from among the combinations that include a device designated for the exceptional service of the workflow that are listed in the workflow table. If there are a plurality of combinations with a minimum required power consumption recalculated in Step S 1307 , a combination with the minimum total amount of power consumption is selected. If they have the same total amount of power consumption, an arbitrary device is selected. 
     Specific Example 4 of Power Conservation Service that Presents Alternative Schema to User According to Present Embodiment 
     The power conservation service that presents an alternative schema to a user according to the present embodiment will be described through a specific example. 
     It is assumed that the server apparatus stores the service table of  FIG. 6  and the power consumption table of  FIG. 7 , and receives an instruction to execute a fax service and a print service as a workflow instruction. It is also assumed here that devices for executing the fax service have not been designated, but machine  4  has been designated to execute the print service as an exceptional service. 
     A worktable created in Step S 903  without the designation of an exceptional service is as shown in  FIG. 19 . Referring to a combination “machine  1 , machine  3 ” in  FIG. 19 , (F) and (P) are written. This means that a device with (F) provides a fax service and a device with (P) provides a print service. If the exceptional service is executed as designated, a combination indicated by reference numeral  2801  or  2802  in  FIG. 19  is selected. In this case, a large amount of power consumption is required when machine  4  is not in a state in which it can execute a print service. 
     For example, if the sleep level list is as shown in  FIG. 20 , machine  4  cannot execute a print service. A combination “machine  2 , machine  3 ” with the minimum total power consumption is selected from the workflow table of  FIG. 19 . The machine  2  is in a state it which it can execute a print service, and machine  3  is in a state in which it can execute a fax service. However, machine  4  has been designated to execute the print service with the exceptional service. 
     Accordingly, the server apparatus notifies the user that power consumption is less when executing the print service by using machine  2  rather than machine  4 , and checks with the user whether or not to accept such a change. If the user accepts changing the device to execute the print service, the print service is executed by machine  2 . If the user does not accept the change, in the same manner as above, the server apparatus selects another combination, notifies the user that power consumption is less when executing the print service by using another device than when executing it by using machine  4 , and checks with the user. The user, however, may find it inconvenient if he/she is repeatedly asked. Accordingly, an option to not show any more inquiries, or a configuration that allows the user to check only once by showing all combinations in advance and presenting all alternate devices may be provided. 
     As described with reference to the flowchart of  FIGS. 18A-18C , even when a specified device has been designated to execute a specified exceptional service, it is possible to incorporate the processing of presenting an alternative schema to the user, whereby the workflow can be executed by selecting a device combination that uses less power consumption. 
     Example 5 of Power Conservation Service Considering Entire Workflow According to Present Embodiment 
     The foregoing description has discussed the method of selecting a device with the minimum power consumption to execute a single workflow. However, there are cases where, when the server apparatus  150  receives a plurality of workflows in close succession, because it cannot keep up with the incoming workflows, the server apparatus  150  enqueues the workflow instructions to temporarily store the workflows and executes the workflows. In such a case, it is efficient to select devices such that the power consumption is reduced to a minimum for the entirety of the plurality of enqueued workflows, rather than a single workflow. Accordingly, a method of selecting a device combination such that the power consumption is reduced to a minimum for the entirety of a plurality of enqueued workflows will be described now. 
     Exemplary Operation Procedure 5 of Power Conservation Service Considering Entire Workflow According to Present Embodiment 
     The flowchart of  FIG. 21  illustrates a process for enqueuing workflow instructions performed by the server apparatus  150 . This flowchart is obtained by modifying the flowchart of  FIG. 11  so as to cope with the enqueuing of a plurality of workflows. Accordingly, the same processing steps as those of the flowchart of  FIG. 11  are given the same reference numerals as those of the flowchart of  FIG. 11 , and a description thereof is omitted here. For details, reference should be made to the description in relation to the same reference numerals of the flowchart of  FIG. 11 . 
     The processing from Step S 901  to Step S 904  is the same as that of the flowchart of  FIG. 11 , but the workflow table and the sleep level list are shared by all enqueued workflows. Accordingly, when there is already a workflow, the workflow table generation of Step S 903  and the sleep level list registration of Step S 904  are performed by adding the total power consumption information and the sleep level information to the workflow table and the sleep level list, respectively. 
     As shown in  FIG. 22 , a field  1501  that indicates a corresponding workflow is added to the workflow table. In the workflow table generation of Step S 903 , the identifier (e.g., name, ID or the like) of a selected workflow is stored in this field. In  FIG. 22 , W 1 , W 2  and so on are written. A plurality of workflows can be stored when there is a combination of the same devices. 
     In Step S 1601 , the workflow instruction that has been added to the workflow table and the sleep level list is added in a queue, and the process ends. This flowchart ends because it is for enqueuing, and execution of a workflow is described with reference to the next flowchart shown in  FIG. 23 . 
     The flowchart of  FIG. 23  shows a process for extracting a workflow instruction from the queue and executing the workflow such that power consumption is reduced to a minimum for all the entire enqueued workflows. As in the flowchart of  FIG. 21 , this flowchart is obtained by modifying the flowchart of  FIG. 11  so as to cope with the enqueuing of a plurality of workflows. Accordingly, the same processing steps as those of the flowchart of  FIG. 11  are given the same reference numerals as those of the flowchart of  FIG. 11 , and a description thereof is omitted here. For details, reference should be made to the description in relation to the same reference numerals of the flowchart of  FIG. 11 . In addition, the workflow table and the sleep level list are shared by all enqueued workflows as in the flowchart of  FIG. 21 . 
     In Step S 1701 , the CPU  502  extracts a workflow instruction from the queue. Which workflow instruction is extracted from the queue is not essential to the principle of the present invention, so a workflow may be executed in the stored order, or the CPU  502  may select a workflow determined to be optimal by the CPU  502 . The processing from Step S 906  to Step S 909  and that of Step S 911  are the same as those of the same reference numerals of the flowchart of  FIG. 11 . 
     In Step S 906 , if it is possible to execute the workflow at the service levels of the devices of the selected combination (Yes in Step S 906 ), the CPU  502  proceeds to Step S 912 . In Step S 912 , the CPU  502  requests that the devices of the selected combination execute the services, and the CPU  502  advances to Step S 1702 . In Step S 1702 , the CPU  502  deletes the workflow instruction from the workflow table. If the workflow field is empty at this time, the combination is deleted. For example, in  FIG. 22 , when a workflow W 2  ends, for device combinations “machine  1 , machine  3 ” and “machine  4 , machine  7 ” of the device list, W 2  is deleted. However, because W 1  remains for the device combination “machine  1 , machine  3 ”, “machine  1 , machine  3 ” is not deleted. On the other hand, the device combination “machine  4 , machine  7 ” is deleted from the workflow table because there is no other workflow for “machine  4 , machine  7 ”, and the process ends. 
     As described with reference to the flowcharts of  FIGS. 21 and 23 , it is possible to select a device combination such that power consumption is reduced to a minimum for the entirety of a plurality of workflows stored in the queue of the server apparatus  150 , rather than a single workflow, whereby the workflows can be executed individually in consideration of the power consumption for the entire workflows. 
     Other Embodiments 
     As another embodiment, a configuration is possible that selects an optimal device by calculating the power consumption based on the actual processing content. When operating the workflow table, a total amount of power consumption and a required power consumption are obtained in consideration of the processing content. For example, it is assumed that, when there is a print service provided by an image forming apparatus, there is an apparatus to execute the print service at a high speed but consumes a large amount of power and an apparatus to execute the print service at a low speed but consumes a small amount of power. If the number of pages to be printed is small, power consumption would be smaller by printing with the low-speed apparatus. If the number of pages to be printed is large, there is a case where power consumption would be smaller in total by printing with the high-speed apparatus. Accordingly, the power consumption amount may be obtained in consideration of the processing content and the processing capability. This can be performed by using the information written under the performance column  605  of  FIG. 6 . That is, the power consumption may be obtained from the processing content by using the performance written in  FIG. 6 . 
     An example in which the present embodiment is implemented in the case of the flowchart of  FIG. 11  will be described. In Step S 903 , the server apparatus  150  obtains all device combinations necessary to implement the workflow. The processing up to here is the same. The server apparatus  150  further calculates, for each of the obtained device combinations, a total amount of power consumption required by the combination from the processing content of the services of the workflow and the power consumption table. Then, the server apparatus  150  stores device combinations for implementing all services of the workflow and the total amount of power consumption in the workflow table. Through execution of another processing of the flowchart of  FIG. 11  based on this workflow table, the power consumption is calculated based on the actual processing content of the services of the workflow, and an optimal device can be selected. 
     Thus far, various embodiments have been described in detail, but the present invention may be applied to a system comprising a plurality of devices, or may be applied to an apparatus comprising a single device, such as, for example, a scanner, a printer, a PC, a copy machine, a multifunction peripheral, a facsimile device, and so on. 
     Aspects of the present invention can also be realized by a computer of a system or apparatus (or devices such as a CPU or MPU) that reads out and executes a program recorded on a memory device to perform the functions of the above-described embodiment, and by a method, the steps of which are performed by a computer of a system or apparatus by, for example, reading out and executing a program recorded on a memory device to perform the functions of the above-described embodiment. For this purpose, the program is provided to the computer, for example, via a network or from a recording medium of various types serving as the memory device (e.g., computer-readable medium). 
     While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions. 
     This application claims the benefit of Japanese Patent Application No. 2008-321478 filed on Dec. 17, 2008, which is hereby incorporated by reference herein in its entirety.