The present invention will now be described in detail with reference to the drawings showing preferred embodiments thereof.
The multi function peripheral (hereinafter referred to as “the MFP”) 100 having a plurality of functions such as a copy function, a printer function, a scanner function, and a facsimile function is connected to a network 101 such as a LAN and also connected to a telephone line 104 as shown in
The server 102 is used as an electronic mail server, a document management server, and so on. The PC 103 is equipped with a printer driver for carrying out printing. The gateway device 105 is used for connection to an intranet, the Internet, and so on.
Next, a description will be given of the construction of the MFP 100 with reference to
As shown in
The automatic original feeder 200 is for automatically conveying originals to the scanner section 609. The scanner section 609 reads an original conveyed from the automatic original feeder 200 and outputs image data which represents an image on the read original. The printer section 611 is a printer that prints out image data output from the scanner section 609 or from the PC 103 or the server 102 on the network 103 by an electrophotographic process. Although not illustrated, the printer section 611 is comprised of an image forming section that forms a toner image, a transfer section that transfers the toner image onto a sheet, a fixing section that fixes the toner image, which has been transferred onto the sheet, on the sheet, and so on.
Next, a description will be given of the construction of the controller 402 with reference to
As shown in
Referring next to
As shown in
The controller 402 is comprised of a plurality of modules for controlling the respective functional modules included in the functional module group 301. The virtual machine 403 provides the optimum operation environment for operating a specific application and is realized by, for example, a Java®. The resource managing section 404 manages resources so that, when all the applications on the virtual machine 403, a framework 405, described later, or the OS 401 use resources, they do not use resources exceeding a predetermined amount.
The framework 405 is a framework for applications executed in the operation environment provided by the virtual machine 403. The framework 405 includes an application programming interface (hereinafter referred to as “the API”) 406. It is assumed here that the applications executed by the framework 405 consist of an application 407 (an application A), an application 408 (an application B), and an application 409 (an application C).
Required services to be shared, functional modules to be frequently used, library groups required to access the controller 402 and control various functions of the MFP 100, and so on are prepared in advance in the framework 405. Thus, the above-mentioned applications 407 to 409 and others can be efficiently developed and operated using the API 406. In the present embodiment, an energy-saving controller 602, an event processor 601, and an installation controller 703 are incorporated in the framework 405. Detailed description thereof will be given later.
Referring next to
In selecting functions provided by the applications 407 to 409, a user interface screen 500 as shown in
Also, the user interface screen 500 includes a panel control area 505 for inputting set values which are to be used by an application corresponding to a selected function. In the panel control area 505, input boxes 506, 507, 508, and 509 for inputting various set values to be used by an associated application are displayed. Also, on the user interface screen 500, a print button 510 for instructing the start of printing by a selected application in accordance with input set values is displayed. The panel control area 505 displayed here is associated with the “contents print” function provided by the application 407.
The illustrated applications 407 to 409 are of the type which uses a user interface, notably an applet, but applications executable by the framework 405 should not be limited to this type. For example, various applications such as an application such as a servlet which can provide a Web interface, and an application such as a service which continues processing in background can be executed.
Referring next to
As shown in
The energy-saving controller 602 incorporated in the framework 405 monitors an event notification 655 from the event processor 601 and issues a processing instruction 656 for controlling the energy-saving states of the functional modules via the controller 402.
Here, among the functional modules controlled by the controller 402, functional modules of which energy-saving state is to be controlled include a user interface section 608, the scanner section 609, a PDL processing section 610, and the printer section 611. In addition, functional modules of which energy-saving state is to be controlled also include a finishing device 612, an HDD 305, a network section 614, a facsimile section 615, and so on. Each of these functional modules is defined as the minimum unit of modules of which energy-saving state can be individually controlled by the energy-saving state controller 602. The printer section 611 is provided with a plurality of modules such as a sheet feed section, an image forming section, a fixing section, and a sheet discharge section. If the energy-saving states of these modules such as the sheet feed section, the fixing section, and the sheet discharge section can be controlled independently of one another, each of them is defined as the minimum unit of modules of which energy-saving state can be controlled. Conversely, if the energy-saving states of these modules such as the sheet feed section, the fixing section, and the sheet discharge section cannot be controlled independently of one another, the printer section 611 is defined as the minimum unit of modules of which energy-saving state can be controlled.
Referring next to
In the example illustrated in
First, the application 701 is installed on the framework 405 through the installation controller 703 (step S751). After the installation, the installation controller 703 expands necessary files, loads libraries, and loads the manifest 702 (step S752). The installation controller 703 notifies the energy-saving controller 602 of energy-saving control conditions in the loaded manifest (step S753). The energy-saving controller 602 notified of the energy-saving control conditions sets the energy-saving control conditions.
The installation controller 703 sends an application starting instruction to the application 701 to start the application 701 (step S754). The application 701 performs a necessary initializing process and others, and when normally started, the application 701 sends an event which notifies that the application 701 has been normally started to the event processor 601 (step S755). The event processor 601 notifies the energy-saving controller 602 of the event (step S756), and the energy-saving controller 602 starts energy-saving control for a functional module which is to be operated by the application 701 (step S757).
In halting the application 701, the installation controller 703 sends an application halting instruction to the application 701 (step S758). The application 701 performs a necessary process in preparation for halting and others and sends an event which notifies the halt of the application 701 to the event processor 601 and then halts (step S759). The event processor 601 notifies the energy-saving controller 602 of the event (step S760), and the energy-saving controller 602 stops energy-saving control for the functional module operated by the application 701 (step S761). The installation controller 703 then uninstalls the application 701 (step S762).
Referring net to
Examples of the manifest 702 of the application 701 include a manifest 800 described in XML (Extensible Markup Language) as shown in
Similarly, the illustrated manifest 800 includes a “Function” element 807 and an “Conditions” node thereof. Regarding this “Conditions” node, a “Wakeup” element 808 indicative of an energy-saving canceling condition, a “StartRestraint” element 809 indicative of an energy-saving restraint starting condition, an “EndRestraint” element 810 indicative of an energy-saving restraint ending condition, and a “StartSleep” element 811 indicative of an energy-saving starting condition are described. In this illustrated example, it is described that regarding a function module “Printer”, energy-saving is to be canceled on the condition that an event “UserLoggedIn” occurs, the restraint of energy-saving is to be started on the condition that an event “UserLoggedIn” occurs, the restraint of energy-saving is to be ended on the condition that an event “UserLoggedOff” occurs, and energy-saving is to be started on the condition that an event “UserLoggedOff” occurs. Also, a “level” property of the “StartSleep” element 811 can designate, for example, a level of energy-saving state in the case where there are various levels (graduated level) of energy-saving state. For example, with the “level” property, it is possible to determine the temperature to which the fixing section of the printer section 611 is to be lowered when the fixing section is in an energy-saving state. Thus, the reset time can be determined according to the user's usage environment within the range where usability is not degraded.
Here, in the above described manifest 800, identifiers corresponding to the respective functional modules 608 to 615 appearing in
Also, a manifest 900 as shown in
Also, in the manifest 900, a “Function” element 907 designates a function “Scan.” Also, “Module” functions 908 and 909 declare that modules to be used by the function “Scan” are “Scan” (the scanner section 609) and an “HDD” (the HDD 305).
Referring next to
In the following description, it is assumed that energy saving is controlled when an application 1100 including a manifest 1000 shown in
First, as shown in
Then, the application 1100 notifies the event processor 601 of an application-specific event “UserLoggedIn” (step S1154), and the event processor 601 notifies the energy-saving controller 602 of the event (step S1155). However, conditions relating to the event are not described in the manifest 1000, and hence no control process is carried out.
Then, the application 1100 notifies the event processor 601 of an application-specific event “SelectMenu1” (step S1156), and the event processor 601 notifies the energy-saving controller 602 of the event (step S1157). Here, the energy-saving controller 602 determines that the event matches the energy-saving canceling condition 1005 and cancels the energy-saving state of the scanner section 609 via the controller 402 (step S1158).
Then, the application 1100 notifies the event processor 601 of an application-specific event “SelectMenu2” (step S1159), and the event processor 601 notifies the energy-saving controller 602 of the event (step S1160). Here, the energy-saving controller 602 determines that the event matches the energy-saving canceling condition 1008 and cancels the energy-saving state of the scanner section 609 via the controller 402 (step S1161).
Then, the application 1100 notifies the event processor 601 of an application-specific event “UserLoggedOff” (step S1162), and the event processor 601 notifies the energy-saving controller 602 of the event (step S1163) Here, the energy-saving controller 602 determines that the event matches the energy-saving starting condition 1003 and starts causing the scanner section 609 to shift to an energy-saving state via the controller 402 (step S1164). Also, the energy-saving controller 602 determines that the event matches the energy-saving starting condition 1006 and starts causing the printer section 611 to shift to an energy-saving state via the controller 402 (step S1165). On this occasion, due to the “timewait” property of the energy-saving starting condition 1003, the energy-saving controller 602 waits for 30 seconds and then starts causing the user interface section 608 to shift to an energy-saving state (step S1166).
In the above description, it is assumed that the energy-saving state of a functional module as an object to be controlled is canceled in response to a user's power-on operation, but some functional modules as objects to be controlled are always in a non energy-saving state. In this case, even if a received event matches an energy-saving canceling condition, it is actually unnecessary to provide control for canceling the energy-saving state of an associated functional module. For this reason, the energy-saving controller 602 holds a table showing energy-saving states and energy-saving restrained states of functional modules. If a received event matches an energy-saving control condition, the energy-saving controller 602 refers to the table and provides control to cancel the energy-saving state of a functional module as an object to be controlled or causing the functional module to shift to an energy-saving state according to the current state of the functional module.
Referring to
The energy-saving controller 602 manages energy-saving states and energy-saving restrained states of functional modules using a table 1200 shown in
Here, regarding the energy-saving states 1201, the value “0” indicates an energy-saving canceled state, and other values indicate energy-saving states. The values “1”, “2”, “3”, etc. of energy-saving state indicate energy-saving levels. Regarding the energy-saving restrained states 1203, “ON” and “OFF” indicate whether the restraint of energy-saving is enabled or disabled. “ON” indicates that even when an energy-saving starting instruction is issued, an associated functional module is not caused to shift to an energy-saving state. On the other hand, “OFF” indicates that the restraint of energy-saving is disabled, and an associated functional module can be caused to shift to an energy-saving state in response to the issuance of an energy-saving starting instruction.
Referring next to
As shown in
If it is determined in the step S1303 that the energy-saving control condition is the energy-saving canceling condition, the energy-saving controller 602 refers to the energy-saving states 1202 of the table 1200 and determine the energy-saving state of a functional module of which energy-saving state is to be controlled (step S1304). If the value indicative of the energy-saving state of the functional module of which energy-saving state is to be controlled is a value other than “0”, the energy-saving controller 602 cancels the energy-saving state of the functional module (step S1305). Then, the energy-saving controller 602 terminates the present process. On the other hand, if the value indicative of the energy-saving state of the functional module of which energy-saving state is to be controlled is “0”, the energy-saving controller 602 determines that the functional module lies in a non energy-saving state and terminates the present process without canceling the energy-saving state of the functional module.
If it is determined in the step S1303 that the energy-saving control condition is the energy-saving restraint starting condition, the energy-saving controller 602 refers to the energy-saving restrained states 1203 of the table 1200 and determines the energy-saving restrained state of the functional module of which energy-saving state is to be controlled (step S1306). If the energy-saving restrained state 1203 of the functional module of which energy-saving state is to be controlled is “OFF”, the energy-saving controller 602 changes the energy-saving restrained state 1203 of the functional module to “ON” (step S1307). As a consequence, even if an energy-saving starting instruction is given for the functional module, the functional module is not caused to shift to an energy-saving state. Then, the energy-saving controller 602 terminates the present process. On the other hand, if the energy-saving restrained state 1203 of the functional module of which energy-saving state is to be controlled is “ON”, the energy-saving controller 602 terminates the present process without causing the functional module to shift to an energy-saving state even if an energy-saving starting instruction is given for the functional module.
If it is determined in the step S1303 that the energy-saving control condition is the energy-saving restraint canceling condition, the energy-saving controller 602 refers to the energy-saving restrained states 1203 of the table 1200 and determines the energy-saving restrained state of the functional module of which energy-saving state is to be controlled (step S1308). If the energy-saving restrained state 1203 of the functional module of which energy-saving state is to be controlled is “ON”, the energy-saving controller 602 changes the energy-saving restrained state 1203 of the functional module to “OFF” (step S1309) As a consequence, the restraint of energy saving for the functional module is canceled, and the shift of the functional module to an energy-saving state in response to the issuance of an energy-saving starting instruction is enabled. Then, the energy-saving controller 602 terminates the present process. On the other hand, if the energy-saving restrained state 1203 of the functional module of which energy-saving state is to be controlled is “OFF”, the energy-saving controller 602 terminates the present process without carrying out any processing.
If it is determined in the step S1303 that the energy-saving control condition is the energy-saving starting condition, the energy-saving controller 602 refers to the energy-saving restrained states 1203 of the table 1200 and determines the energy-saving restrained state of the functional module of which energy-saving state is to be controlled (step S1310). If the energy-saving restrained state 1203 of the functional module of which energy-saving state is to be controlled is “OFF”, the energy-saving controller 602 starts energy-saving for the functional module and causes the energy saving state thereof to shift to a designated energy-saving level (step S1311). Then, the energy-saving controller 602 terminates the present process. On the other hand, if the energy-saving restrained state 1203 of the functional module of which energy-saving state is to be controlled is “ON”, the energy-saving controller 602 terminates the present process without starting energy-saving for the functional module.
As described above, according to the present embodiment, it is optimally control the cancellation and starting of energy-saving for a functional module to be operated with respect to each application.
Also, with the above-described manifest, it is possible to set the period of time to elapse until the functional module operated by each application is caused to shift to an energy-saving state and the level of energy-saving state of the functional module operated by each application, and hence the degradation of usability can be prevented.
Next, a description will be given of a second embodiment of the present invention with reference to
In the present embodiment, without the need for a manifest, it is possible to directly call up the energy-saving controller 602 via the API 406. With the applications 407, 408, and 409, the cancellation of energy-saving states of functional modules in the MFP and the shift of functional modules in the MFP to an energy-saving state can be arbitrarily controlled.
However, with the above arrangement of the present embodiment, at the time of application development, instructions relating to energy-saving control have to be embedded in applications themselves using the API 406. Specifically, in the present embodiment, since the cancellation of energy-saving and the shift to an energy-saving state can be arbitrarily controlled using the API 406, it takes more time and effort to change energy-saving control conditions at a later time as compared with the first embodiment.
Since the same object can be attained and the same results can be obtained in the above described first and second embodiments, the frameworks 405 may be constructed suitably for the respective embodiments.
It is to be understood that the object of the present invention may also be accomplished by supplying a system or an apparatus with a storage medium in which a program code of software, which realizes the functions of any of the above described embodiments is stored, and causing a computer (or CPU or MPU) of the system or apparatus to read out and execute the program code stored in the storage medium.
In this case, the program code itself read from the storage medium realizes the functions of any of the above described embodiments, and hence the program code and the storage medium in which the program code is stored constitute the present invention.
Examples of the storage medium for supplying the program code include a floppy® disk, a hard disk, a magneto-optical disk, a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD-RAM, a DVD-RW, a DVD+RW, a magnetic tape, a nonvolatile memory card, and a ROM. Alternatively, the program code may be downloaded via a network.
Further, it is to be understood that the functions of any of the above described embodiments may be accomplished not only by executing a program code read out by a computer, but also by causing an OS (operating system) or the like which operates on the computer to perform a part or all of the actual operations based on instructions of the program code.
Further, it is to be understood that the functions of any of the above described embodiments may be accomplished by writing a program code read out from the storage medium into a memory provided on an expansion board inserted into a computer or in an expansion unit connected to the computer and then causing a CPU or the like provided in the expansion board or the expansion unit to perform a part or all of the actual operations based on instructions of the program code.
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 modifications, equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2006-145451, filed May 25, 2006, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2006-145451 | May 2006 | JP | national |