Japanese Patent Application No. 2018-110311 filed on Jun. 8, 2018, including description, claims, drawings, and abstract the entire disclosure is incorporated herein by reference in its entirety.
The present disclosure relates to a timing to start virus scan in an image processing device.
In recent years, image processing devices such as MFP (Multi-Functional Peripheral), have a function of connecting to networks. Therefore, virus scan is executed even in image processing devices to securely avoid unintended data exfiltration onto the networks. Virus scan consumes resources such as a processor. Due to this, the performance of the image processing device is degraded during the execution of the virus scan, as with personal computers, etc., and a situation may take place where the image processing device cannot provide its intended functions, such as the print function.
For general information processing devices, conventionally, various technologies are proposed against the degradation in performance due to execution of virus scan. For example, Japanese Laid-Open Patent Publication No. 2012-141839 discloses a monitor station which requires authorization from a user to start virus scan. Japanese Laid-Open Patent Publication No. 2009-064271 discloses a technology in which information processing device, which includes multiple discs, executes virus scan in a period in which one of the discs is not being used, or a period in which disk utilization is below the threshold. Japanese National Patent Publication No. 2015-508927 discloses a technology of executing virus scan during an idle time of the system.
While there are various proposals made for general information processing devices as described above, a timing to start the virus scan in an image processing device still requires considerations.
According to a certain aspect of the present disclosure, an image processing device is provided. The image processing device includes a memory for storing a file; and a circuitry configured to execute a virus scan on the file stored in the memory. The memory stores information on priority levels set to one or more functions of the image processing device. The circuitry is configured to determine a timing to execute a virus scan in accordance with the priority levels upon receipt of a request for execution of the virus scan and at least one of the one or more functions in parallel.
According to another aspect of the present disclosure, a method for controlling an image processing device is provided. The image processing device includes a memory storing a file, and a circuitry configured to execute a virus scan on the file stored in the memory. The method including: determining, by the circuitry, whether the image processing device receives a request for execution of the virus scan and at least one of one or more functions of the image processing device in parallel; when the image processing device receives the request for the execution of the virus scan in parallel with the at least one of the one or more functions, reading, by the circuitry, from the memory, information on priority levels set to the at least one of the one or more functions; and determining, by the circuitry, a timing to execute the virus scan in accordance with the priority levels.
According to still another aspect of the present disclosure, a non-transitory computer-readable recording medium is provided, the non-transitory computer-readable recording medium storing a computer program including an instruction for execution by a computer included in an image processing device which executes one or more functions. The image processing device includes a memory storing a file. The instruction causes the computer to perform: determining whether the image processing device receives a request for execution of virus scan and at least one of the one or more functions of the image processing device in parallel; when the image processing device receives the request for the execution of the virus scan and the at least one of the one or more functions in parallel, reading, from the memory, information on priority levels set to the at least one of the one or more functions; and determining a timing to execute the virus scan in accordance with the priority levels.
The advantages and features provided by one or more embodiments of the invention will become more fully understood from the detailed description given hereinbelow and the appended drawings which are given by way of illustration only, and thus are not intended as a definition of the limits of the present invention.
Hereinafter, one or more embodiments of the present invention will be described with reference to the drawings. However, the scope of the invention is not limited to the disclosed embodiments.
Hereinafter, embodiments of an image processing device will be described, with reference to the accompanying drawings. In the description below, the same reference sign is used to refer to like parts and components, which are assigned the same name and have the same function. Thus, descriptions of these will not be repeated.
One example of an image processing device 1 is an MFP, that is, a device into which functions, such as copying, network printing, scanner, a FAX machine, or a document server, are combined together. Image processing device 1 includes a control panel 11, a scanner device 13, a printer device 14, a finisher device 15, which executes processing such as stapling and punching, a communication interface 16, a document feeder 17, a paper feeding device 18, a CPU (Central Processing Unit) 20, a ROM (Read Only Memory) 21, a RAM (Random Access Memory) 22, a storage unit 23, and a USB (Universal Serial Bus) interface 23A.
CPU 20 is one example of circuitry which executes processing for implementing the functions of image processing device 1. Image processing device 1 may include dedicated hardware resources (such as ASIC: Application Specific Integrated Circuit) for executing the processing for implementing the functions, instead of or together with CPU 20.
Control panel 11 includes a control device 11a and a display 11b. Control device 11a includes multiple keys for inputting numerals, text, and symbols, etc., a comment key which is depressed by a user to create a post, a sensor which recognizes various keys depressed, and a circuitry for transmitting, to CPU 20, a signal indicating a recognize key.
Display 11b displays a screen for giving a message or an instruction, a screen for allowing the user to input details of settings and process content, and a screen for showing an image formed by image processing device 1 and a result of processing. Display 11b may be a touch panel. In other words, display 11b and at least part of control device 11a may be integrally configured. Display 11b has a function of sensing the location touched by the user with a finger on the touch panel, and transmitting a signal indicating a result of the sensing to CPU 20.
Image processing device 1 is communicable with an external device (e.g., personal computer) via communication interface 16. An application program for giving commands to image processing device 1 and a driver therefore may be install in the external device. This allows the user to remotely operate image processing device 1, using the external device.
Scanner device 13 photoelectrically scans image information, such as images, text, and pictures, from a document to obtain image data. The obtained image data (depth data) is converted into digital data at an image processing unit (not shown), subjected to well-known various image processing, sent to printer device 14 or communication interface 16, and either provided fro printing of the image or transmission of the data, or store in storage unit 23 for future use.
Printer device 14 prints image data obtained by scanner device 13, image data received from the external device through communication interface 16, or images stored in storage unit 23 onto recording sheets such as papers and films Paper feeding device 18 is provided in the lower portion of image processing device 1, and is used to feed, to printer device 14, a recording sheet that is appropriate for an image to be printed. The recording sheet having the image printed thereon by printer device 14, that is, a printed article passes through finisher device 15, subjected to the processing, such as stapling and punching, in accordance with a mode setting, and output to tray 24.
Communication interface 16 is a device, which includes a transmitter unit and a receiver unit, for exchanging data with PCs and FAX machines. One example of communication interface 16 is a NIC (Network Interface Card), a modem, or a TA (Terminal Adapter).
CPU 20 controls the entirety of image processing device 1, controlling the basic functions of image processing device 1, such as the communication function, the print function, the scanning function, a file transmission function, the browser function, etc.
ROM 21 is a memory storing operational programs for CPU 20, for example
RAM 22 is a memory for providing a work area for CPU 20 to operate in based on the operational programs. CPU 20 loads the operational programs and various data from ROM 21, etc., and works on the data.
Storage unit 23 is configured of, for example, a non-volatile storage device, such as a hard disk drive (HDD), and is storing various applications and image data of documents scanned by scanner device 13, etc.
USB interface 23A is an interface, for USB memory 23X, detachable from image processing device 1. CPU 20 reads information stored in USB memory 23X via USB interface 23A. CPU 20 also writes information into USB memory 23X via USB interface 23A.
As shown in
Controller 20A controls the operation of image processing device 1 to adjust a timing to start, interrupt, and resume jobs, for example. Virus scan function 20B executes virus scan on storage unit 23. This executes a virus check on each file within storage unit 23.
Function (X) 20X, function (Y) 20Y, and function (Z) 20Z are each for implementing a service provided by image processing device 1 to the user. Function (X) 20X controls scanner device 13, printer device 14, document feeder 17, and paper feeding device 18 to implement for example, the copy function. Function (Y) 20Y controls scanner device 13 and document feeder 17 to implement, for example, the scanning function. Function (Z) 20Z controls printer device 14 and paper feeding device 18 to implement, for example, the print function. Note that the number of and types of functions provided by image processing device 1 are not limited to those shown in
The parallel execution availability information associates each function with “allowed” or “disallowed.” The “allowed” represents that a function of image processing device 1 is allowed to be executed in parallel with the virus scan. The “disallowed” represents that the function of image processing device 1 is not allowed to be executed in parallel with the virus scan. In the example of
In image processing device 1, CPU 20 can update the settings (“allowed” or “disallowed”) of each function in the parallel execution availability information, in accordance with information input via control panel 11. This allows the user to adjust a mode of execution of each function. For example, if the user wishes to maintain constant productivity in copying by image processing device 1, the user updates the parallel execution availability information so as to raise the priority level of the copy function.
The parallel execution availability information may be set so that the priority levels of functions that guarantee given productivity of image processing device 1 are raised. For example, if the manufacturer guarantees that the copy function of image processing device 1 can process a given number of copies in a minute, the parallel execution availability information is set so that the priority level of the copy function is raised.
In the example of
Preferably, functions related to image processing (the copy function, the print function, and the scanning function) are set to the high priority level. All or at least one of these three functions can be executed preferentially over the virus scan. In other words, CPU 20 may be configured so that at least one of the three functions is not executed in parallel with the virus scan.
In particular, preferably the copy function is set to the high priority level. The execution of the copy function is, often, started by the user directly operating image processing device 1. In other words, when the execution of the copy function is instructed, the user is, often, waiting for the completion of the copy function in front of the image processing device 1. In order not to increase such user stress, the priority level of the copy function can be set high.
At step S10, CPU 20 extracts functions being executed. In other words, CPU 20 identifies which function is currently being executed.
At step S12, CPU 20 queries the parallel execution availability information for information about the functions that are identified at step S10 as being executed.
At step S14, CPU 20 determines whether the virus scan is executable. In one example, CPU 20 determines that the virus scan is executable if all the functions that are identified at step S10 as being executed are associated with “permitted” in the parallel execution availability information, and determines that the virus scan is not executable if at least one of the functions is associated with “disallowed”. If CPU 20 determines that the virus scan is executable (YES at step S14), CPU 20 ends the process in
According to the process described with reference to
(Process upon Function Execution Request)
At step S20, CPU 20 determines whether virus scan is being executed. If CPU 20 determines that virus scan is being executed (YES at step S20), CPU 20 passes control to step S22, and, otherwise (NO at step S20), ends the process in
At step S22, CPU 20 refers to the parallel execution availability information for the requested function.
At step S24, CPU 20 determines whether the requested function is associated with “allowed” in the parallel execution availability information. If CPU 20 determines that the requested function is associated with “allowed” (YES at step S24), CPU 20 ends the process in
At step S26, CPU 20 suspends the virus scan, after which it ends the process in
(Process upon Completion of Function Execution)
At step S30, CPU 20 determines whether the virus scan is suspended. In one example, CPU 20 may set a given flag (suspension flag) to suspend the virus scan at step S26. At step S30, CPU 20 may determine whether the suspension flag is set. If CPU 20 determines that the virus scan is suspended (YES at step S30), CPU 20 passes control to step S32, and, otherwise (NO at step S30), ends the process in
At step S32, CPU 20 extracts functions being executed. For example, if the process in
At step S34, CPU 20 queries the parallel execution availability information for information about the function extracted at step S32.
At step S36, CPU 20 determines whether the virus scan is executable. For example, if all the functions extracted at step S32 are associated with “allowed” in the parallel execution availability information, CPU 20 determines that the virus scan is executable. For example, if at least one of the functions extracted at step S32 is associated with “disallowed” in the parallel execution availability information, CPU 20 determines that the virus scan is not executable. If CPU 20 determines that the virus scan is executable (YES at step S36), CPU 20 passes control to step S38, and, otherwise (NO at step S36), simply ends the process in
At step S38, CPU 20 resumes the virus scan.
CPU 20 may determine whether the virus check is executable, based on the importance level information, in addition to or instead of the parallel execution availability information. In one example, CPU 20 executes the virus check if the sum of importance levels of the functions being executed is less than “10”, and holds back from starting the virus check if the sum of the importance levels of the functions being executed is “10” or greater. In this example, “10” is one example of a threshold for the start of the virus check.
Preferably, the importance level information has a value greater than or equal to the threshold as an importance level of a function which guarantees the productivity of image processing device 1. This securely avoids execution of the function in parallel with the virus check. In one example, in image processing device 1, the productivity of the copy function is guaranteed, and the importance level information includes a value (10), the same value as the threshold, as an importance level of the copy function.
Initially, CPU 20 starts process PV11 for the virus scan.
CPU 20 then starts process PP11 for printing. The print function has an importance level of “6”. There are no other functions being executed. Thus, the sum of importance levels at the time of start of process PP11 is “6”, which is less than the threshold “10.” For this reason, CPU 20 continues process PV11, resulting in process PP11 and process PV11 being executed in parallel.
After the end of process PP11, CPU 20 start s process PS11 for the scanning function. The scanning function has an importance level of “4.” There are no other functions being executed. Thus, the sum of importance levels at the time of start of process PS11 is “4”, which is less than the threshold “10.” For this reason, CPU 20 continues process PV11, resulting in process PS11 and process PV11 being executed in parallel.
CPU 20 then starts process PP12 for the print function during execution of process PS11. This amounts the sum of importance levels of the functions being executed to “10.” Therefore, CPU 20 suspends process PV11 for the virus scan.
After the completion of process PP12, CPU 20 resumes process PV11 for the virus scan. Process PS11 ends thereafter.
Thereafter CPU 20 starts process PC11 for the copy function. The copy function has an importance level of “10.” Thus, CPU 20 suspends process PV11 for the virus scan. After the end of process PC11, CPU 20 resumes process PV11.
CPU 20 may prioritize the virus scan over any function under a given circumstance.
In the example of
Moreover, since process PV21 is being executed, even if CPU 20 receives a print request, CPU 20 delays the start of process PP21 for the print function, until the end of process PV21 for the virus scan.
Under a given circumstance, CPU 20 adjusts functions which are concurrently executed.
In image processing device 1, the number of functions which are executed concurrently with the virus scan is limited. For example, image processing device 1 may allow only a given number of functions (e.g., 1) to be executed during execution of the virus scan.
Initially, CPU 20 starts process PV31 for the virus scan. CPU 20 then starts process PP31 for the print function. There is no other functions being executed, and thus CPU 20 executes process PV31 and process PP31 in parallel.
After the end of process PP31, CPU 20 starts process PS31 in accordance with a scan request. There is no other functions being executed, and thus CPU 20 executes process PS31 and process PV31 in parallel.
Thereafter, upon receipt of a print request, CPU 20 defers the start of process PP32 in accordance with the request. This is because the print function is already being executed. After the completion of process PS31 for the scanning function, CPU 20 starts process PP32.
Although embodiments of the present invention have been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and not limitation, the scope of the present invention should be interpreted by terms of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2018-110311 | Jun 2018 | JP | national |