This application is based upon and claims the benefit of priority of Japanese Patent Application No. 2012-056195, filed on Mar. 13, 2012, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention generally relates to a control apparatus to control an apparatus that is a control target, and to a method of starting such a control apparatus.
2. Description of the Related Art
Conventionally, proposals have been made to increase the start (or boot) speed of an information processing apparatus. Particularly in the case of an MFP (Multi-Function Peripheral) and an embedded computer that is embedded in a projector and the like, a user may desire to utilize various functions immediately after the power is turned ON. For this reason, there are demands to increase the start speed of the information processing apparatus.
However, as the scale of the information processing apparatus becomes larger, it may take more time to read all of an OS (Operating System) or kernel, middleware, application, and the like from a program memory to a RAM (Random Access Memory), and the start time may tend to increase. As a result, the user needs to wait until all of the programs are read from the program memory to the RAM.
For example, Japanese Laid-Open Patent Publication No. 2011-151806 proposes an image processing apparatus having a plurality of functions. This proposed image processing apparatus stores the functions to be started with preference over others, for each user information. When the power is turned ON or when resuming an original state from a power save state, the user is urged to input the user information. This proposed image processing apparatus performs a control in order to read and start a program for executing a function that is to be started with preference and corresponds to the input user information, before other programs.
However, when the user desires to first utilize a certain function other than the functions stored within the proposed image processing apparatus at the time of starting the proposed image processing apparatus, the start of the certain program cannot be advanced or quickened.
Accordingly, it is a general object in one embodiment of the present invention to provide a novel and useful control apparatus and method of starting the control apparatus, in which the problem described above may be suppressed.
Another and more specific object in one embodiment of the present invention is to provide a control apparatus and a method of controlling the control apparatus, which may start a function desired by a user with preference over other functions, in order to improve the utilization ease or convenience to the user.
According to one aspect of the present invention, a control apparatus may include a processor configured to execute one or more programs in order to control a control target; and an accepting unit configured to accept a user input, wherein the processor starts a first program to cause the accepting unit to function at a time of starting the control apparatus, and thereafter starts a second program for executing a function selected by the user input accepted by the accepting unit, amongst a plurality of functions executable by the control target, with preference over programs for executing other functions.
Other objects and further features of the present invention will be apparent from the following detailed description when read in conjunction with the accompanying drawings.
A description will be given of embodiments of the control apparatus and the method of starting the control apparatus according to the present invention, by referring to the drawings.
An image forming apparatus and a system in one embodiment of the present invention will be described hereunder.
[Hardware Structure, Etc.]
Each of the image forming apparatuses 1000, 2000, 2100, 2200, 2300, and 2400 may be formed by a MFP that includes a copy function, a print function, a facsimile function, a scan function, and the like. In addition, the image forming apparatuses 1000, 2000, 2100, 2200, 2300, and 2400 may share information via the network 3000, in order to mutually coordinate (or link) each of the functions thereof.
The information processing apparatus 2500 may instruct various function settings with respect to each of the image forming apparatuses 1000, 2000, 2100, 2200, 2300, and 2400, may perform remote operations, and may monitor a state of the network 300. More particularly, the information processing apparatus 2500 may instruct the function to be started with preference (or priority) at the time of the starting, with respect to each of the image forming apparatuses 1000, 2000, 2100, 2200, 2300, and 2400, and may instruct printing of contents of a desired file.
The SoC 1200 may include hardware, such as a CPU (Central Processing Unit), a memory, a bus connecting the CPU and the memory, and the like, that are mounted on a single chip. The serial bus 1300 may connect the SoC 1200 to a PCI (Peripheral Component Interconnect) device, a peripheral device, and the like. The LAN port 1400 may connect the SoC 1200 to the network 3000.
The HDD 1500 may store image data, one or more programs, font data, firmware, and the like.
The operation unit 1600 may include a display and buttons, a touchscreen panel, or the like. The operation unit 1600 may accept an input operation made by the user, and may display various screens in order to provide information with respect to the user.
The facsimile control unit 1700 may include hardware for controlling facsimile communications. The engine unit 1800 may include a plotter 1810 that is an example of hardware for making a printed output, and a scanner 1820 that is an example of hardware for making a scanner input. Since the hardware included in the engine unit 1800 is known, a description thereof will be omitted.
In this embodiment, the core-11211 may execute interactive functions between users or between apparatuses, such as a UI (User Interface), communication, and the like. On the other hand, the core-21212 may control the functions of the image forming apparatus 1000, such as the copy function, the print function, the facsimile function, the scan function, and the like. The interrupt controller 1214 may control an inter-core interrupt, accept an external interrupt signal, and the like.
The SoC 1200 may include, as hardware to be mainly utilized by the core-11211, a bus-11220, a serial controller 1221, a nonvolatile memory-11222, and a GMAC (Gigabit Ethernet Media Access Controller) 1223. For example, the nonvolatile memory-11222 may be formed by an EEPROM (Electrically Erasable Programmable Read Only Memory), a flash memory, and the like, and may store an OS (or kernel), an application program, and the like of the core-11211. The nonvolatile memory-11222 may include a mask ROM (Read Only Memory). The bus-11220 may form a transfer path for the data and address, provided exclusively for processes of the core-11211. The core-11211 may read the OS and application program from the nonvolatile memory-11222 via the bus-11220, and load the read OS and application program to a RAM (Random Access Memory) 1270 in order to start the OS and the application program. The serial controller 1221 may be connected to the serial bus 1300, and control the PCI device, the peripheral device, and the like. The GMAC 1223 may be connected to the LAN port 1400, and form a communication controller to control communications with other image forming apparatuses or the information processing apparatus 2500 via the network 3000. The core-11211 may cooperate with other image forming apparatuses via the GMAC 1223.
In addition, the SoC 1200 may include, as hardware to be mainly utilized by the core-21212, a bus-21230, a nonvolatile memory-21231, and an image processing circuit 1232. For example, the nonvolatile memory-21231 may be formed by an EEPROM, a flash memory, and the like, and may store an OS (or kernel), an application program, and the like of the core-21212. The nonvolatile memory-21231 may include a mask ROM. The bus-21230 may form a transfer path for the data and address, provided exclusively for processes of the core-21212. The core-21212 may read the OS and application program from the nonvolatile memory-21231 via the bus-21230, and load the read OS and application program to the RAM 1270 in order to start the OS and the application program. The image processing circuit 1232 may form a circuit dedicated to executing a copy application, a print application, and the like at a high speed.
Furthermore, the SoC 1200 may include, as hardware to be shared by the core-11211 and the core-21212, a memory controller 1260 and the RAM 1270. The memory controller 1260 may arbitrate access requests, such as read, write, and the like with respect to the RAM 1270. The RAM 1270 may be utilized as a plotting memory of the image forming apparatus 1000, a data storage region for the data shared between the core-11211 and the core-21212, a temporary data storage region for the application program, and the like. An LCDC (Liquid Crystal Display Controller) 1241, a Video Out 1242, and a Video IN 1243 may be connected to the memory controller 1260 via a bus-31240. The bus-31240 may provide a transfer path for the data input and output between the SoC 1200 and each of the operation unit 1600 and the engine unit 1800. The LCDC 1241 may form a hardware circuit to control a video signal output to the operation unit 1600. The Video Out 1242 and the Video IN 1243 may form hardware circuits to output image information to the plotter 1810 and to input image information from the scanner 1820.
[Functional Structure]
The start control unit 3500 may control initialization of devices, and loading of the OS and the application. The power and mechanism control unit 3600 may control power supply and the like to each part of the image forming apparatus 1000.
For example, the function units that function when the UI and communication application 4000 is executed may include an operation screen control unit 4010, an operation screen display unit 4020, a preferred start information managing unit 4030, an apparatus cooperation control unit 4040, a user authentication unit 4050, a cooperation information managing unit 4060, a performance exchanging unit 4070, an inter-core communication unit 4080, a communication server 4090, and a communication client 4100.
The operation screen control unit 1410 may control a screen transition in response to an action event, such as pushing of a button by the user, in order to request the operation screen display unit 4020 to make a display on the operation unit 1600. The operation screen display unit 4020 may display a screen on the operation unit 1600 in response to receiving the request from the operation screen control unit 4010.
The preferred start information managing unit 4030 may store a degree of association between the function to be started with preference and other functions. The degree of association will be described later in conjunction with
Based on the function and the cooperating destination selected by the user from the operation screen control unit 4010, the apparatus cooperation control unit 4040 may send a request to execute the specified function with respect to the cooperating destination, via the communication client 4100.
The user authentication unit 4050 may execute the user authentication. When the user authentication is executed, the start control unit 3500 and the operation screen control unit 4010 may be notified of an authentication result. In a case in which the user authentication is successful, the start control unit 3500 may acquire the preferred start information computed from the usage log of each user, from the preferred start information managing unit 4030, in order to execute a preferred start (or preferred boot).
The cooperation information managing unit 4060 may manage the apparatus cooperation information 6010, as will be described later in more detailed.
The performance exchanging unit 4070 may form a function unit to exchange in advance the information required for the cooperation between the apparatuses. It is assumed for the sake of convenience that the performance exchange may be executed periodically at timings specified by the user. Information that is exchanged may include a state of the apparatus, a list of usable functions, a communication time, and the like. When the cooperation is to be made within the same network, a performance exchange request may be broadcast, so that the performance exchange request may be detected automatically and set to the cooperating destination, without requiring the user to specify the cooperating destination.
The inter-core communication unit 4080 may control the write to the shared memory region of the RAM 1270, the generation of the interrupt signal, and the like, in order to communicate with the core-21212.
The communication server 4090 may accept a request to execute a function (hereinafter also referred to as “function execution request”) from another image forming apparatus. When the function execution request is accepted, the apparatus cooperation control unit 4040 may judge whether the requested function is executable. The corresponding application may be executed when the judgment result indicates that the requested function is executable, and the communication server 4090 may send the execution result to the other image forming apparatus.
The communication client 4100 may send a function execution request with respect to another image forming apparatus. The apparatus cooperation control unit 4040 may be notified of the communication result, and the communication result may be displayed on the operation unit 1600 via the operation screen control unit 4010 and the operation screen display unit 4020.
On the other hand, the function part that functions when the image processing application 5000 is executed may include a printer unit 5010, a scanner unit 5020, a facsimile unit 5030, a copy unit 5040, and an inter-core communication unit 5050. The printer unit 5010, the scanner unit 5020, the facsimile unit 5030, and the copy unit 5040 may perform a control to execute the print function, the scan function, the facsimile function, and the copy function of the image forming apparatus 1000, respectively. The inter-core communication unit 5050 may control the write to the shared memory region of the RAM 1270, the generation of the interrupt signal, and the like, in order to communicate with the core-11211.
[Process at Time of Starting]
Next, a description will be given of the process at the time of starting the image forming apparatus. The time of starting the image forming apparatus may include the time when the power is turned ON, the time when the original state is resumed from a dormant state, and the like. In the following description, it is assumed for the sake of convenience that the time of starting the image forming apparatus is the time when the power is turned ON.
First, when the user operates a power switch to turn the power ON, the hardware of the core-11211 is started (step S100).
The core-11211 initializes hardware devices, such as the memory controller 1260, the image processing circuit 1232, and the like (step S101).
Next, the core-11211 starts the core-21212 (step S102). Then, the core-11211 loads the general-purpose OS 4200 (step S103), and loads the UI and communication application 4000 (step S104). On the other hand, the core-21212 loads the real-time OS 5200 (step S105).
When the loading of the UI and communication application 4000 is completed, the core-11211 displays a user request accepting screen on the operation unit 1600 (step S106).
It is assumed in this example that the user selects a function A, namely, the scan function in
Next, the core-11211 displays on the operation unit 1600 an executable apparatus list screen that indicates the image forming apparatuses that may execute the selected function A (step S110).
In
It is assumed in this example that the user selects the image forming apparatus 2000 from the executable apparatus list screen illustrated in (B) of
When the process described above is performed and the execution request is accepted, the core-11211 sends an execution request requesting execution of the function A to the image forming apparatus 2000 (step S112). In
The image forming apparatus 2000 executes the function A in response to the received execution request for the function A (step S113). While the image forming apparatus 2000 executes the function A, a screen illustrated in (E) of
When the function A is executable in the image forming apparatus 2000 by making the data transfer from the image forming apparatus 1000 to the image forming apparatus 2000, the execution of the function is automatically transferred to the image forming apparatus 2000. However, in the case of a process that requires the user to perform a manual operation in the image forming apparatus, such as copying from a paper document, the process of step S112 may request that the image forming apparatus 2000 assume a state in which the function A is executable, and in this case, the user may go to the setup location of the image forming apparatus 2000 to perform the manual operation.
When the loading of the program for executing the function A is completed and the function A becomes executable, the core-21212 notifies the core-11211 by an interrupt signal that the function A is executable (step S115). Thereafter, the core-21212 starts a function having a high degree of association to the function A, with preference over other functions (step S116). The function having the high degree of association to another function will be described later.
[Other Processes at Time of Starting]
In a case in which the user does not select another image forming apparatus from the executable apparatus list screen, or in a case in which the image forming apparatus at the coordinating destination is not registered, the process becomes different from that illustrated in
In
When the user does not select the image forming apparatus 2000 and the core-21212 completes the loading of the program for executing the function A so that the function A is executable, the core-21212 notifies the core-11211 by an interrupt signal that the function A is executable (step S120). In this case, the core-11211 adds the image forming apparatus 1000 to which the core-11211 belongs to the list of executable apparatuses, and displays the updated executable apparatus list screen on the operation unit 1600 (step S121). In
[Registering Coordinating Destination]
[Evaluation of Degree of Association]
As described above, the core-21212 may start the function having the high degree of association to the function selected by the user, with preference over other functions. The core-21212 may learn the decree of association of each function by counting the number of times each function of the image forming apparatus 1000 is continuously used, for each user, and save the learned degree of association as a part of the preferred start information 6020.
[Case in which user does not Select Function]
In a case in which the loading of the UI and communication application 4000 by the core-11211 is completed and the user request accepting screen is displayed on the operation unit 1600, but the user does not select a function, the core-21212 may determine a program starting order based on the utilization frequency and the like of the function for each user.
[Performance Exchange]
The image forming apparatus 1000 in this embodiment may exchange functions, give functions, and receive functions, with other image forming apparatuses.
[Conclusion]
According to the SoC 1200 of the image forming apparatus 1000 in this embodiment, after starting the UI and communication application 4000 for making the operation unit 1600 function as the user interface, at the time of starting the image forming apparatus 1000, that is, at the time of starting the SoC 1200, the program for executing the function selected by the user from the operation unit 1600 may be started with preference over programs for executing other functions. For this reason, the preferred start of the function desired by the user may be realized, in order to improve the utilization ease or convenience to the user.
In addition, because the core-11211 starts the UI and communication application 4000 and the core-21212 starts the program for executing the function selected by the user from the operation unit 1600, a distributed processing may be realized, in order to reduce the start time.
Moreover, after the core-21212 starts the program with preference, the function of the program started with preference and the program for executing the function having a high degree of association are started with preference in succession to the program started by the core-21212 with preference. Accordingly, when the user wishes to continuously use a plurality of functions, these functions may be started with preference in order to further reduce the wait time of the user.
Furthermore, the user may be provided with information related to image forming apparatuses other than the image forming apparatus 1000 and having the function to communicate with other image forming apparatuses and capable of executing the function selected by the user from the operation unit 1600. Hence, the user may judge whether to wait until the selected function is started in the image forming apparatus 1000, or to make the other image forming apparatuses perform the function as a substitute. In addition, because the operating state of the other image forming apparatuses may be acquired and provided to the user, the user may use the operating state as a criterion for judging whether the other image forming apparatuses are to perform the function as the substitute.
The function may be exchanged, given, received, and the like between the image forming apparatus 1000 and the other image forming apparatuses. As a result, a free functional arrangement may be realized in a system formed by a group of image forming apparatuses.
In the described embodiment, the SoC 1200 may form an example of a control apparatus. This SoC 1200 is formed by a multi-core processor in the example described above, however, this SoC 1200 may be formed by a multiprocessor provided with a main memory for each processor.
Further, the present invention is not limited to these embodiments, but various variations and modifications may be made without departing from the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2012-056195 | Mar 2012 | JP | national |