Application program, control method, and information processing device.

The standard driver with an authentication mechanism addresses the lack of authorization in standard scan drivers by integrating an application program to request and manage scanning permissions, enhancing security and compatibility across various scanning devices.

JP2026114099APending Publication Date: 2026-07-08CANON KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CANON KK
Filing Date
2024-12-26
Publication Date
2026-07-08

AI Technical Summary

Technical Problem

Standard scan drivers lack an authentication function to determine whether a scanning device is authorized to execute scanning functions, which is present in model-specific drivers but not universally applicable.

Method used

A standard driver with an application program that displays an authentication screen to accept necessary information and transmit it for executing scanning functions, integrating with an operating system to request permission.

Benefits of technology

Enables authentication for scanning function execution, ensuring secure and standardized operation across different scanning devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026114099000001_ABST
    Figure 2026114099000001_ABST
Patent Text Reader

Abstract

The objective is to provide a mechanism that allows authentication for permission to execute the scanning function when a scanning device is to perform the scanning function. [Solution] The extended application 204 is general-purpose scanning software 202 provided by the operating system provider, and supports the general-purpose scanning software 202 that is pre-installed in the operating system. The extended application 204 causes the computer (CPU 111) to display a detailed settings screen 300C (detailed settings screen 300D) that accepts authentication information necessary to cause the scanning device 102, which has a document reading function, to perform a reading function, and to perform a transmission step that transmits the authentication information accepted on the detailed settings screen 300C.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an application program, a control method, and an information processing apparatus.

Background Art

[0002] For a scanning device (scanner) that performs image reading, i.e., scanning, a host computer (information processing apparatus) capable of processing information with the scanning device is communicably connected. As control software for controlling the scanning device, for example, a scan driver installed from the scanning device to the host computer is used. With this scan driver, a scan instruction can be given from the host computer to the scanning device. An operating system (hereinafter referred to as "OS"), which is basic software, is pre-installed on the host computer. The scan driver has a configuration conforming to the specifications defined by the OS and can be called by the OS to operate. Also, such a scan driver is different for each vendor that supplies the scanning device, i.e., it is a model-specific scan driver suitable for each scanning device.

[0003] In recent years, in Windows (registered trademark), even for scanning devices supplied by a plurality of different vendors, a common standard class driver (hereinafter sometimes referred to as "standard driver") has been attempted to be provided. Such a standard driver is pre-embedded in the OS. By connecting an arbitrary scanning device to a host computer having the OS incorporated in the standard driver, the standard driver can be used. Thereby, it is possible to omit installing the model-specific scan driver. Also, the standard driver is assumed to be configured to be able to specify the scan function of the scanning device according to the scan function information generated based on the information acquired from the scanning device. Thereby, with one standard driver, the scan function can be specified for each scanning device.

[0004] Standard drivers can be used in common for scanning devices from multiple different vendors; however, for example, it may be impossible to perform some functions on a scanning device from a particular vendor. Patent Document 1 discloses an information processing device having a first program (dedicated scanning control program) and a second program (general-purpose scanning control program) different from the first program as control programs used for scanning. The information processing device disclosed in Patent Document 1 displays a setting screen that accepts scan settings used for scanning. The setting screen includes a first special setting as a scan setting, which can be specified in scanning processing using the first program but cannot be specified in scanning processing using the second program. When the first special setting is accepted on the setting screen, the control program is determined to be the first program, and then, if the user switches from the first special setting to scanning settings using the second program, the control program is changed to the second program. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2021-129155 [Overview of the Initiative] [Problems that the invention aims to solve]

[0006] As mentioned earlier, scan drivers differ depending on the vendor supplying the scanning device; in other words, they are model-specific scan drivers suited to each scanning device. Some of these scan drivers have an authentication function that prompts the scanning device for authorization (whether or not) to execute the scanning function. This authentication function determines, for example, whether or not the scanning device is allowed to execute the scanning function depending on the user or the group to which the user belongs. On the other hand, standard drivers do not have an authentication function. Therefore, there was a problem in that they could not prompt the scanning device for authorization to execute the scanning function.

[0007] This invention has been made in view of the above-mentioned problems. The purpose of this invention is to provide a mechanism that can request authentication for permission to execute a scanning function when a scanning device is to perform a scanning function. [Means for solving the problem]

[0008] To achieve the above objective, the application program of the present invention is a standard driver provided by an operating system provider, an application program that supports a standard driver pre-installed in the operating system, and is characterized by causing a computer to perform a display control step of displaying an acceptance screen that accepts authentication information necessary to cause an image processing device having a document reading function to execute the reading function, and a transmission step of transmitting the authentication information accepted on the acceptance screen. [Effects of the Invention]

[0009] According to the present invention, when a scanning device is to perform a scanning function, it is possible to request authentication for permission to perform the scanning function. [Brief explanation of the drawing]

[0010] [Figure 1]This is a block diagram showing the hardware configuration of the scanning system according to the first embodiment. [Figure 2] This is a block diagram showing the software configuration of the scanning system. [Figure 3] This figure shows an example of a screen displayed on the display unit of a scanning system. [Figure 4] This flowchart shows the process by which the scan function expansion unit edits scan function information. [Figure 5] This figure shows an example of a list of scan information. [Figure 6] This sequence diagram shows the processes that occur between the scan application, general-purpose scan software, extension applications, and scan device after the scan application accepts the scan settings. [Figure 7] This flowchart shows the processes performed by the extended application. [Figure 8] Figure 7 shows an example of the screen displayed on the display unit of the scanning system at step S710 of the flowchart shown in Figure 7. [Figure 9] This is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application according to the second embodiment receives the scan settings. [Figure 10] This is a flowchart showing the processes performed by the extended application according to the third embodiment. [Figure 11] This figure shows an example of the screen displayed on the display unit of the scanning system at step S1004 of the flowchart shown in Figure 10. [Figure 12] This is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application according to the fourth embodiment receives the scan settings. [Figure 13] This flowchart shows the processes performed by the extended application. [Figure 14] It is a diagram showing an example of a screen displayed on the display unit of the scanning system in step S1303 of the flowchart shown in FIG. 13. [Figure 15] It is a diagram showing an example of a screen displayed on the display unit of the scanning system according to the fifth embodiment. [Figure 16] It is a sequence diagram showing the processes executed among the scanning application, general-purpose scanning software, extended application, and scanning device after the scanning application receives a scanning setting. [Figure 17] It is a block diagram showing the software configuration of the scanning system according to the sixth embodiment. [Figure 18] It is a sequence diagram showing the processes executed among the scanning application, general-purpose scanning software, extended application, and scanning device after the scanning application receives a scanning setting. [Figure 19] It is a sequence diagram showing a modified example of the processes executed among the scanning application, general-purpose scanning software, extended application, and scanning device after the scanning application receives a scanning setting.

Mode for Carrying Out the Invention

[0011] Hereinafter, each embodiment of the present invention will be described in detail with reference to the drawings. However, the configurations described in the following embodiments are merely examples, and the scope of the present invention is not limited by the configurations described in each embodiment. For example, each part constituting the present invention can be replaced with any configuration that can exhibit the same function. Also, an arbitrary component may be added. Further, any two or more configurations (features) among the embodiments can be combined.

[0012] <First Embodiment> Hereinafter, the first embodiment will be described with reference to FIGS. 1 to 8.

[0013] <Scanning system hardware configuration> Figure 1 is a block diagram showing the hardware configuration of a scanning system according to the first embodiment. As shown in Figure 1, the scanning system 1000 includes a host computer 101, a scanning device (scanner) 102, a pointing device 117, a keyboard 118, and a display unit 119, which are connected to each other so as to be able to communicate with one another. The host computer 101 is an information processing device and includes an input interface 110, a CPU 111, a ROM 112, a RAM 113, an external storage device (storage medium) 114, an output interface 115, an input / output interface 116, and a NET interface 120. The host computer 101 can be, for example, a desktop personal computer, but is not limited to this, and can also be a notebook personal computer, a tablet terminal, a smartphone, etc.

[0014] The CPU 111 is a computer that executes programs stored in the ROM 112 and the external storage device 114. In this embodiment, the CPU 111 can execute the functions and processes of the host computer 101, i.e., the various processes (control methods) described later, by processing according to the code of the programs stored in the ROM 112. The ROM 112 stores an initialization program. The external storage device 114 stores application programs, an operating system (OS), print data generation software, and various other data. In this embodiment, Microsoft's Windows 11 is installed on the host computer 101 as the OS. The external storage device 114 is not particularly limited, and for example, an HDD (Hard Disk Drive) or SSD (Solid State Drive) can be used. The RAM 113 is used as work memory when executing various programs stored in the external storage device 114, enabling various programs to operate within the host computer 101. The input interface 110 is connected to input devices, namely a pointing device 117 and a keyboard 118. A display unit 119 is connected to the output interface 115 as a display device. The display unit 119 displays, for example, the scan setting screen 300A and the detailed setting screen 300C, which will be described later. The NET interface 120 is a network interface and controls data transfer to and from external devices via the network. A scanning device 102 is connected to the input / output interface 116. This allows the host computer 101 to communicate with scanning devices 102 from multiple manufacturers, regardless of the manufacturer of the scanning device 102, that is, to process information between scanning devices 102 from multiple manufacturers. The host computer 101 and the scanning device 102 may be connected by wire or wirelessly.

[0015] The scanning device 102 is an image processing device having an image processing unit 190, a CPU 191, a ROM 192, a RAM 193, an operation unit 194, a reading unit 195, a printing unit 196, a NET interface 197, an input / output interface 198, and an external storage device 199. The CPU 191 is a computer that executes programs stored in the ROM 192 and the external storage device 199, and comprehensively controls the scanning device 102. The ROM 192 is a memory that stores programs. The RAM 193 is a memory that temporarily stores programs and image data. The operation unit 194 can issue various operation instructions to the scanning device 102. The operation unit 194 is configured to display various information such as the status of the scanning device 102. The reading unit 195 reads (reads) the image of the original document. The printing unit 196 prints the image on a sheet, for example, based on the image data generated by reading the image of the original document in the reading unit 195. The printing unit 196 may be omitted. NETIF197 is a network interface that controls data transfer to and from external devices via the network. The input / output interface 198 is connected to the host computer 101. The image processing unit 190 receives image data generated, for example, by scanning the document image in the reading unit 195. The image processing unit 190 then performs various editing processes on the image data.

[0016] The scanning device 102 is not particularly limited as long as it has a scanning function to read documents, i.e., a scanning function, but for example, an image processing device such as a multi-function peripheral (MFP) can be used. The scanning device 102 also has a document tray (not shown) and a feeder (not shown). The document tray is a first placement section on which a single document to be scanned is placed. The feeder is located at a different position from the document tray and is a second placement section on which multiple documents to be scanned are placed. When a multi-function peripheral is used as the scanning device 102, the printing performed by the multi-function peripheral is electrophotographic printing in this embodiment, but is not limited to this, and can be inkjet printing, for example. Also, in this embodiment, the host computer 101 and the scanning device 102 are configured as separate devices, but are not limited to this. For example, the host computer 101 and the scanning device 102 may be configured as an integrated device.

[0017] <Configuration of a software-centric scanning system> Figure 2 is a block diagram showing the software configuration of the scanning system. Figure 2(a) shows a typical configuration when the extended application (application program) 204 is not associated with the general-purpose scanning software (standard driver) 202 and the scanning device 102. Figure 2(b) shows a configuration when the extended application 204 is associated with the general-purpose scanning software 202 and the scanning device 102. The general-purpose scanning software 202 is a standard driver provided by the OS provider and pre-installed in the OS. The standard driver is a class driver (general-purpose program) that can be used in common for scanning devices 102 from multiple manufacturers, for example, during scanning (image reading). The standard driver is provided together with the OS as one of the functions within the OS package. The standard driver can perform processing for various scanning devices by utilizing a standardized scanning method. As a result, the standard driver can generate and output instructions that can be interpreted by scanning devices from multiple manufacturers. Note that the standard driver is not particularly limited; for example, a program that operates based on IPP (Internet Printing Protocol) can be used. This general-purpose scanning software 202 is pre-installed (built into) the OS.

[0018] The extension application 204 is a program that supports, i.e., assists the general-purpose scan software 202 (a program that executes a control method to perform controls that support the general-purpose scan software 202). In this embodiment, the extension application 204 is an extension program that can extend functions that the general-purpose scan software 202 cannot perform on the scan device 102, but is not limited to this. For example, the extension application 204 may be a program that improves the convenience of the functions that the general-purpose scan software 202 can perform on the scan device 102. The extension application 204 is stored in the external storage device 114 together with the OS (general-purpose scan software 202), for example. As a result, the host computer 101 has the general-purpose scan software 202 and the extension application 204.

[0019] <Configuration when the extended application is not associated with general-purpose scanning software and scanning device> First, referring to Figure 2(a), the configuration when the extended application 204 is not associated with the general-purpose scanning software 202 and the scanning device 102 will be described. The scanning application 201 is software that captures content (image data) generated by scanning with the scanning device 102. The scanning application 201 is not particularly limited and can include, for example, a document creation application or an image editing application. The scanning application 201 issues a scan instruction to the OS, for example, when it receives a scan request from a user. The scan instruction includes scan setting information to instruct the operation of the general-purpose scanning software 202 and the scanning device 102. In order to issue a scan instruction, the scanning application 201 can display a scan setting screen 300A provided by the general-purpose scanning software 202, the OS, or the scanning application 201 on the display unit 119. In addition, by pressing the control 302B (see Figure 3(a)) within the scan setting screen 300A, for example, the detailed setting screen 300B (see Figure 3(b)) can be displayed on the display unit 119. The scan settings screen 300A, the detailed settings screen 300B, and the detailed settings screens 300C and 300D will be described later. The scan settings screen 300A includes setting items that indicate the configurable scan functions and control items that indicate the setting values, according to the capability information acquired by the general-purpose scan software 202, that is, the information that can be set as scan settings. "Capability information" refers to information such as the ability of the scan device 102 to perform scans. Furthermore, this capability information can also be used to determine, for example, whether or not it contains information that enables the display of the detailed settings screen 300C. If, as a result of this determination, it is determined that the information that enables the display of the detailed settings screen 300C is included, the detailed settings screen 300C can be displayed. On the other hand, if it is determined that the information that enables the display of the detailed settings screen 300C is not included, the detailed settings screen 300C will not be displayed.In this way, the extended application 204 can switch whether or not to display the detailed settings screen 300C depending on the capability information of the scanning device 102.

[0020] Scan function information 203 is data indicating the scan function, which includes all configurable scan functions, their settings, and mutual exclusion relationships between the settings. Scan function information 203 is included in the configuration file of the general-purpose scan software 202 and is placed in the external storage device 114 as an immutable file. Alternatively, scan function information 203 is dynamically generated by the general-purpose scan software 202. Specifically, the general-purpose scan software 202 obtains attribute data of the scan device 102 from the scan device 102. The general-purpose scan software 202 generates scan function information 203 according to the attribute information in this attribute data. When scan function information 203 is dynamically generated in this way, it is editable. The attribute data of the scan device 102 includes attribute information indicating the functions that can be specified by the scan device 102 (the capabilities of the scan device 102) and setting values ​​related to that attribute information, and these are stored in RAM 113.

[0021] With this configuration, the general-purpose scan software 202 allows the user to specify the scan functions available on the scan device 102, depending on the scan device 102 connected to the host computer 101. This makes it possible to specify the scan functions available on the scan device 102 regardless of the specific scan device 102, that is, even when connecting scan devices 102 with different functions or scan devices 102 developed by different scanner manufacturers. In this embodiment, the general-purpose scan software 202 is assumed to be a standard class driver that performs scanning based on a standard scan protocol called Mopria. Specifically, as mentioned above, the general-purpose scan software 202 is not a specific scan driver for each model of scan device 102, but a standard class driver that can be used in common with scan devices 102 from various scanner manufacturers, regardless of the scanner manufacturer. Furthermore, the general-purpose scan software 202 acquires capability information of the scan device 102 and generates scan function information 203 based on this information.

[0022] Furthermore, an extension application 204 can be associated with the general-purpose scan software 202. This allows the general-purpose scan software 202 to perform functions that are not available in the general-purpose scan software 202. For example, when the general-purpose scan software 202 causes the scan device 102 to perform a scan function, it cannot cause the scan device 102 to perform the authentication necessary for the execution of the reading function, i.e., the determination of whether or not to allow the execution of the scan function. Thus, the general-purpose scan software 202 does not support authentication processing settings that require the execution of authentication processing. This is because such authentication processing settings are functions that are unique to scan devices 102 manufactured by a predetermined scanner manufacturer. The extension application 204 can extend the general-purpose scan software 202 to enable the execution of functions that it cannot perform. In this embodiment, the general-purpose scan software 202 cannot perform authentication processing settings, and the extension application 204 can extend it to enable such authentication processing settings, but it is not limited to this. For example, the general-purpose scan software 202 may be able to perform a part of the authentication processing settings, and the extension application 204 may supplement the missing parts of those authentication processing settings to further extend the scope of execution.

[0023] <Configuration when an extended application is associated with general-purpose scanning software and scanning devices> Referring to Figure 2(b), the configuration in which the extended application 204 is associated with the general-purpose scan software 202 and the scan device 102 will be described. As shown in Figure 2(b), unlike Figure 2(a), the extended application 204 is added. That is, the host computer 101 has the scan application 201, the general-purpose scan software 202, the scan function information 203, and further has the extended application 204. The extended application 204 is software for extending the functionality of the general-purpose scan software 202, and is sometimes simply called "scan software". Note that the extended application 204 is software that is not pre-included (not bundled) with the OS. Therefore, the extended application 204 is downloaded from a server (not shown) via the Internet by the user operating the host computer 101 and installed on the host computer 101. Alternatively, the extended application 204 may be automatically installed on the host computer 101 based on the connection when the scan device 102 is connected to the host computer 101. Specifically, when a scanning device 102 is connected to the host computer 101, the OS obtains device identification information from the scanning device 102. The OS may also download and install an extended application 204 corresponding to this device identification information from a server via the internet. As a result, the host computer 101 maintains the general-purpose scanning software 202 and the extended application 204 as separate control programs. The general-purpose scanning software 202 and the extended application 204 may be updated and upgraded. In this case, the update process for the general-purpose scanning software 202 and the update process for the extended application 204 may occur at the same time or at different times. Furthermore, the trigger for the host computer 101 to acquire the general-purpose scanning software 202 and the trigger for the host computer 101 to acquire the extended application 204 may be the same trigger or different triggers.Furthermore, if the extended application 204 is installed, the OS associates the extended application 204 with the general-purpose scanning software 202 and the scanning device 102.

[0024] As shown in Figure 2(b), the extended application 204 can exchange information (send and receive information) with the general-purpose scan software 202 and the scan device 102, respectively. That is, the extended application 204 is associated with the general-purpose scan software 202 and the scan device 102. In this embodiment, the extended application 204 has a scan setting screen extension unit 205, a scan function extension unit 206, an image data editing unit 207, and a notification unit 209. The extended application 204 also has shared information 208 that can be accessed from each of the units: the scan setting screen extension unit 205, the scan function extension unit 206, the image data editing unit 207, and the notification unit 209. The shared information 208 is a file stored in the external storage device 114 or information stored in the RAM 113. The extended application 204 can write to and read the shared information 208 by using the API (Application Program Interface) provided by the OS.

[0025] Furthermore, the extended application 204 may terminate its overall operation when the processing of each unit from the scan settings screen extended unit 205 to the notification unit 209 is completed. In this case, the OS will start the extended application 204 each time it receives a processing execution request from each unit. Also, the extended application 204 may cancel processing while each unit from the scan settings screen extended unit 205 to the notification unit 209 is processing. In this case, the OS will delete the jobs currently being processed on the print queue. As mentioned above, the scan application 201 issues a scan command to the OS upon receiving a print request from the user. The scan application 201 can also display the scan settings screen. In the configuration shown in Figure 2(b), the scan application 201 can display the scan settings screen 300A (detailed settings screen 300C) provided by the scan settings screen extended unit 205 (extended application 204). The scan settings screen extended unit 205 can also save the detailed settings set by the user to the shared information 208.

[0026] The image data editing unit 207 acquires image data from the scanning device 102. After acquiring the image data, the image data editing unit 207 can also edit the image data. Furthermore, the image data editing unit 207 acquires detailed setting information from the shared information 208 and performs image editing on the image data according to the detailed setting information. The extended application 204 may also perform image editing on the image data acquired by the general-purpose scanning software 202 according to the detailed setting information.

[0027] The scan function expansion unit 206 can edit the scan function information 203 generated by the general-purpose scan software 202 or the OS. This allows for the addition of functions provided by the expansion application 204. It can also add functions that are executable on the scan device 102 but not on the general-purpose scan software 202 (e.g., authentication processing setting function), and add mutual exclusion relationships between scan function settings. The OS starts the scan function expansion unit 206 when the expansion application 204 is first associated with the scan device 102 and the general-purpose scan software 202. The OS may also start the scan function expansion unit 206 at other times (e.g., when the OS starts). Even if scanning-related functions are expanded later through such startup, the scan function expansion unit 206 can detect the expansion and add it to the scan function information 203.

[0028] The notification unit 209 can notify the user when an error occurs in the scanning device 102. For example, if a read jam error occurs in the scanning device 102, the general-purpose scanning software 202 detects this error. The OS uses a notification function called toast notification, which is one of the functions of the OS, to display the read jam error detected by the general-purpose scanning software 202 as a message on the display unit 119. When the user interacts with the toast notification, the notification unit 209 is called by the OS and the user interface screen (UI screen) of the notification unit 209 is displayed. The user interface screen can display, for example, detailed messages regarding the read jam error and instructions on how to clear the jam.

[0029] As described above, in this embodiment, the extended application 204 can be said to have the following four functions. The first function is to display a settings screen. This function is performed by the scan settings screen extended unit 205. The second function is to edit image data according to detailed setting information. This function is performed by the image data editing unit 207. The third function is to extend the functions that can be specified in the image data generation software. This function is performed by the scan function extended unit 206. The fourth function is to display a screen in response to an error occurring in the scanning device 102. This function is performed by the notification unit 209. Note that the configuration of the extended application 204 is not limited to a configuration having these four functions, and a configuration having at least one function is preferred, and a configuration having other functions is also possible.

[0030] <Example of scan settings screen / advanced settings screen> Figure 3 shows an example of a screen displayed on the display unit of the scan system. Figure 3(a) is the scan settings screen displayed by the scan application 201. Figure 3(b) is the detailed settings screen displayed when the extended application 204 is not associated. Figure 3(c) is the detailed settings screen displayed when the extended application 204 is associated. Figure 3(d) is the detailed settings screen accessed from the detailed settings screen shown in Figure 3(c). The units and modules that display each screen are not particularly limited. For example, the scan settings screen extension unit 205 may be configured only to generate the display screen. In that case, the scan settings screen extension unit 205 sends the generated display screen to the scan application 201 via the general-purpose scan software 202. The scan application 201 may be configured to display the acquired display screen.

[0031] The scan settings screen 300A shown in Figure 3(a) is a screen that allows settings related to scanning on the scanning device 102. This scan settings screen 300A includes control (buttons) 301, 302, 303, and 304. Control 301 allows you to select and set the scanner device to be used to read the document. In Figure 3(a), as an example, the scanner device used to read the document is set to "Scanner 001 (common driver)". Control 302 displays a screen that allows you to make detailed settings related to scanning. Control 303 allows you to instruct the scanning device 102 to start scanning. Control 304 allows you to instruct the scanning device 102 to cancel scanning.

[0032] If the extended application 204 is not associated with the configuration, operating control 302 will display the detailed settings screen 300B shown in Figure 3(b). The detailed settings screen 300B includes controls 305 and 306. Control 305 is a placement area selection unit for selecting and setting the document scanning destination in the scanner 102, that is, the placement area on which the document to be scanned is placed. As mentioned above, the scanner 102 has a document glass and a feeder as document scanning destinations. In this case, in control 305 in Figure 3(b), "document glass" is selected as an example. Control 306 allows you to finish the settings made in control 305. Also, operating control 306 will return you to the scan settings screen 300A shown in Figure 3(a).

[0033] In a configuration where the extended application 204 is associated, operating the control 302 displays the detailed settings screen (reception screen) 300C shown in Figure 3(c) (display control process). The detailed settings screen 300C is displayed together with the scan settings screen 300A, but its display configuration is not particularly limited. For example, the detailed settings screen 300C may be displayed overlaid on the scan settings screen 300A. Alternatively, the detailed settings screen 300C may be displayed adjacent to the scan settings screen 300A, or the scan settings screen 300A may disappear before the detailed settings screen 300C is displayed. The detailed settings screen 300C includes controls 305 and 306, similar to the detailed settings screen 300B. The detailed settings screen 300C also includes a control 307. The control 307 is an operation unit for receiving authentication information necessary to allow the scanning device 102 to perform the reading function.

[0034] By operating control 307, the authentication processing settings are activated, and the detailed settings screen (reception screen) 300D shown in Figure 3(d) is displayed. The display manner of the detailed settings screen 300D is not particularly limited. For example, the detailed settings screen 300D may be displayed overlaid on the detailed settings screen 300C. Alternatively, the detailed settings screen 300D may be displayed adjacent to the detailed settings screen 300C, or the detailed settings screen 300C may disappear before the detailed settings screen 300D is displayed. The detailed settings screen 300D is an input screen for entering authentication information. This detailed settings screen 300D includes controls 309 to 312. Control 309 is a username input section for entering the name of the user requesting permission to execute the reading function on the scanning device 102 as authentication information. The user name is not particularly limited and may include, for example, the user's full name, employee number, ID, or the name of the organization to which the user belongs. Control 310 is a password input unit that inputs the password of a user whose name is entered in Control 309 as authentication information. The password is not particularly limited and can be, for example, a password set by the user, a PIN code, etc. Input operations to Control 309 and Control 310 are performed, for example, using the keyboard 118. Note that the detailed settings screen 300C may include Control 309 and Control 310 instead of Control 307. In this case, the detailed settings screen 300D is omitted. Control 311 can save the input state in Control 309 and Control 310 and exit the detailed settings screen 300D. Control 312 can cancel the input state in Control 309 and Control 310 and exit the detailed settings screen 300D. After exiting the detailed settings screen 300D, the user returns to the detailed settings screen 300C. Note that after exiting the detailed settings screen 300D, the user may return to the scan settings screen 300A shown in 3(a). Furthermore, on the host computer 101, the detailed settings screen 300D may be displayed after the operation of control 302 on the scan settings screen 300A, or after the operation of control 303.In this case, control 307 is omitted from the detailed settings screen 300C.

[0035] Here, we will explain why the items included in the detailed settings screen 300B shown in Figure 3(b) and the items included in the detailed settings screen 300C shown in Figure 3(c) are different. In other words, we will explain why it is possible to switch between displaying the detailed settings screen 300B or the detailed settings screen 300C. The detailed settings screen 300B and the detailed settings screen 300C are each generated based on the scan function information (capability information). As mentioned above, the general-purpose scan software 202 does not support authentication processing settings. Therefore, the general-purpose scan software 202 alone cannot add the authentication processing setting function to the scan function information. Furthermore, even if the scan function information originally included the authentication processing setting function, the general-purpose scan software 202 cannot interpret the authentication processing setting function included in the scan function information. Therefore, it is not possible to display the authentication processing setting on the detailed settings screen. Thus, the scan function expansion unit 206 adds the authentication processing setting function to the scan function information 203. Then, the scan settings screen expansion unit 205 refers to the capability information and displays the detailed settings screen 300C. This detailed settings screen 300C is a screen where authentication processing can be configured. Note that the detailed settings screen 300C may also include additional settings items (control 307) other than authentication processing settings.

[0036] <Flowchart for editing scan function information on the scan function expansion unit> Figure 4 is a flowchart showing the process by which the scan function expansion unit edits scan function information. The program based on the flowchart shown in Figure 4 is executed by the CPU 111 controlling the scan function expansion unit 206. Figure 5 is a diagram showing an example of a list of scan information. As shown in Figure 4, in step S401, the scan function expansion unit 206 acquires capability information from the scan device 102. Capability information is capability information related to the ability to perform scan functions, and in this embodiment, it is attribute information indicating the functions that can be specified by the scan device 102 and setting values ​​related to said attribute information. Table 501 shown in Figure 5(a) shows a list of capability information acquired from the scan device 102. As shown in Table 501, functions such as authentication processing and options that can be set for each function can be acquired from the scan device 102. For example, for the authentication processing function, the options include "enabled," which means to enable the authentication processing function, and "disabled," which means to disable the authentication processing function.

[0037] In step S402, the scan function extension unit 206 retrieves the scan functions supported by the extension application 204 from the shared information 208. The shared information 208 stores a list of scan functions supported by the extension application 204. Table 502, shown in Figure 5(b), includes all scan functions that the extension application 204 can execute (support) and their settings. For example, the authentication processing function has two options: "Enabled," which enables the authentication processing function, and "Disabled," which disables the authentication processing function. Note that the scan functions that the extension application 204 can execute may be updated through updates to the extension application 204, etc.

[0038] In step S403, the scan function expansion unit 206 obtains scan function information 203 created by the general-purpose scan software 202 from the OS. The scan function information 203 is created by the general-purpose scan software 202 based on capability information obtained from the scan device 102. The scan function information 203 created by the general-purpose scan software 202 includes only the scan functions that the general-purpose scan software 202 can execute from the capability information obtained from the scan device 102. Table 503 shown in Figure 5(c) includes all scan functions that the general-purpose scan software 202 can execute and their settings. As shown in Table 503, the scan functions that the general-purpose scan software 202 can execute do not include authentication processing functions. Therefore, the scan function information 203 does not include authentication processing settings. By adding functions and options to the scan function information 203, the scan function expansion unit 206 enables the expansion application 204 to compensate for the lack of functionality in the general-purpose scan software 202. Furthermore, the scan function expansion unit 206 can also remove unnecessary functions and options from the scan function information 203 created by the general-purpose scan software 202.

[0039] Steps S404, S405, and S406 are repeated processes for the list of functions possessed by the capability information acquired from the scanning device 102 in step S401. In this embodiment, steps S404, S405, and S406 are repeated for all 11 options included in Table 501.

[0040] In step S404, the scan function extension unit 206 determines whether the function or option currently being processed exists in the scan function information 203 generated by the general-purpose scan software 202. If the determination in step S404 determines that it exists in the scan function information 203, the process ends if the last item among the options is being processed. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. On the other hand, if the determination in step S404 determines that it does not exist in the scan function information 203, the process proceeds to step S405. For example, in this embodiment, Table 501 includes the scanning destination "document glass," and Table 503 also includes the scanning destination "document glass." In this case, step S404 determines that the function or option currently being processed exists in the scan function information 203. In contrast, Table 501 includes the authentication processing setting "enabled," but Table 503 does not include the authentication processing setting "enabled." In this case, step S404 determines that the function or option currently being processed does not exist in the scan function information 203.

[0041] In step S405, the scan function extension unit 206 determines whether there is a function (option) currently being processed among the functions (options) supported by the extension application 204. If the determination in step S405 is made to determine that there is a function currently being processed, the process proceeds to step S406. On the other hand, if the determination in step S405 is made to determine that there is no function currently being processed, the process terminates if the last item among the options is being processed, similar to when "Yes" was determined in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again. For example, in this embodiment, if the authentication processing setting as the function currently being processed is "enabled", then "enabled" also exists in Table 502. Therefore, in step S405, it is determined that there is a function currently being processed.

[0042] In step S406, the scan function expansion unit 206 adds the currently processed function (option) to the scan function information 203. After step S406 is executed, if the last item among the options is being processed, the process is terminated, as in the case where "Yes" was determined in step S404. Alternatively, if the last item among the options is not being processed, the next item among the options is selected and step S404 is executed again.

[0043] As described above, the extended application 204 can add functions (options) to the scan function information 203 that are not supported by the general-purpose scan software 202, are supported by the scan device 102, and are also supported by the extended application 204. Based on the scan function information 203 edited through this addition process, capability information is generated. Furthermore, the scan setting screen extension unit 205 generates a display screen based on this capability information, thereby extending the functions not supported by the general-purpose scan software 202 and displaying the detailed setting screen 300C and the detailed setting screen 300D.

[0044] <Processing after the scan application accepts the scan settings> Figure 6 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application accepts the scan settings. Processing in scan application 201, general-purpose scan software 202, and extended application 204 is executed by the CPU 111 of the host computer 101. This processing program is stored in external storage device 114. Then, the CPU 111 reads the processing program from external storage device 114 into RAM 113 and executes it. Processing in scan device 102 is executed by the CPU 191 of scan device 102. This processing program is stored in external storage device 199. Then, the CPU 191 reads the processing program from external storage device 199 into RAM 193 and executes it. Note that processing in scan device 102 may also be executed by CPU 111 via CPU 191. The software configuration of the scan system 1000 is the software configuration shown in Figure 2(b).

[0045] As shown in Figure 6, in step S601, the scan application 201 accepts scan settings from the user. The user can, for example, operate the pointing device 117 or the keyboard 118 to instruct the scan application 201 to configure the scan settings.

[0046] In step S602, the scan application 201 displays the scan settings screen 300A shown in Figure 3(a) on the display unit 119.

[0047] In step S603, the scan application 201 accepts detailed setting instructions from the user. The user can provide detailed settings by, for example, operating the pointing device 117 or keyboard 118 to select control 302 on the scan setting screen 300A.

[0048] In step S604, the scan application 201 requests the general-purpose scan software 202 to display the detailed settings.

[0049] In step S605, the general-purpose scan software 202 requests the extended application 204 to display the detailed settings.

[0050] In step S606, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen 300C shown in Figure 3(c) on the display unit 119 in response to the request in step S605 (display control step). As described above, the scan function extension unit 206 adds authentication processing settings to the scan function information 203. The scan settings screen extension unit 205 can display the detailed settings screen 300C by referring to the capability information generated based on the scan function information 203 to which these authentication processing settings have been added. If there are settings such as image resolution, these settings may be displayed as needed, or their display may be suppressed or grayed out.

[0051] In step S607, the scan settings screen extension unit 205 accepts the user's detailed settings on the detailed settings screen 300C. As an example, let's assume that on the detailed settings screen 300C, with the scanning destination "Document Glass" selected in control 305, control 307 is pressed (see Figure 3(c)). As a result, the detailed settings screen 300D shown in Figure 3(d) is displayed on the display unit 119. The user's name is then entered in control 309 of the detailed settings screen 300D, and the user's password is entered in control 310. Subsequently, when control 311 of the detailed settings screen 300D is pressed, the input state in controls 309 and 310, i.e., the authentication information, is stored in RAM 113, and the detailed settings screen 300D is closed. The detailed settings screen 300C is then displayed again, and control 306 of the detailed settings screen 300C is pressed. Furthermore, this pressing operation may cause the input state of control 309 and control 310 to be stored in RAM 113.

[0052] In step S608, the scan setting screen extension unit 205 accepts that the user has finished the detailed settings based on the operation of control 306 in step S607. The user can, for example, use the pointing device 117 or keyboard 118 to select control 306 and signal the end of the detailed settings. As a result, the setting status on the detailed settings screen 300C is written to the scan function information 203. The information written to the scan function information 203 may include, for example, information that is suppressed or grayed out.

[0053] In step S609, the extended application 204 sends detailed configuration completion information to the general-purpose scan software 202, indicating that the detailed configuration in step S608 has been completed.

[0054] In step S610, the general-purpose scan software 202 receives the detailed configuration completion information sent from the extended application 204 in step S609. The general-purpose scan software 202 then sends this detailed configuration completion information to the scan application 201.

[0055] In step S611, the scan application 201 receives a scan command from the user. The user can issue a scan command, i.e., a document scanning command, by operating, for example, the pointing device 117 or the keyboard 118 and selecting control 303 on the scan settings screen 300A (see Figure 3(a)).

[0056] In step S612, the scan application 201 sends the scan command received in step S611 to the general-purpose scan software 202.

[0057] In step S613, the general-purpose scan software 202 receives the scan instruction made in step S612. The general-purpose scan software 202 then sends this scan instruction to the extended application 204.

[0058] In step S614, the extended application 204 transmits the authentication information stored in RAM 113 in step S607 to the scanning device 102 (transmission step). The scanning device 102 has a management function that manages whether or not to allow the use of the scanning device 102 based on the authentication information. The host computer 101 may also be configured to enable the operation of transmitting authentication information to the scanning device 102. This allows, for example, a user to transmit authentication information at any time.

[0059] In step S615, the CPU 191 of the scanning device 102 receives the authentication information transmitted in step S614. Based on this authentication information, the CPU 191 determines whether to permit or deny the use of the scanning device 102, that is, whether to permit or deny the execution of scanning (reading function) by the reading unit 195. Here, as an example, let's assume that it is determined that scanning by the reading unit 195 is permitted. Note that if the scan instruction in step S613 was given to the scanning device 102 from the general-purpose scanning software 202, the decision in step S615 will be to deny the execution of the scan.

[0060] In step S616, if the CPU 191 was authorized to perform the scan in step S615, it sends a notification to the extended application 204 to that effect.

[0061] In step S617, the extended application 204 receives the notification sent in step S616 granting permission to perform the scan (receiving step). Then, in step S608, the extended application 204 creates a scan command based on the scan function information 203 in which the settings status on the detailed settings screen 300C is written. This scan command includes the authentication processing setting information received on the detailed settings screen 300C. In addition, there are cases where the information that was suppressed or grayed out in step S608 is not written to the scan function information 203. In this case, in step S617, the extended application 204 may add the information not written to the scan function information 203 to the scan command, or it may be set as a default value.

[0062] In step S618, the extended application 204 sends the scan instruction command created in step S617 to the scanning device 102. This instructs the scanning device 102 to perform a scan (instruction step).

[0063] In step S619, the input / output interface 198 of the scanning device 102 receives the scan instruction command transmitted in step S618. The reading unit 195 of the scanning device 102 then analyzes the scan instruction command.

[0064] In step S620, the reading unit 195 performs a scan based on the analysis results from step S619, according to the settings in the detailed settings screen 300C. This obtains scanned image data (read image data) of the original document.

[0065] In step S621, the input / output interface 198 of the scanning device 102 transmits the image data obtained in step S620 to the extended application 204.

[0066] In step S622, the extended application 204 receives the scanned image data transmitted in step S621. The extended application 204 then transmits this scanned image data to the general-purpose scanning software 202.

[0067] In step S623, the general-purpose scanning software 202 receives the scanned image data transmitted in step S622. The general-purpose scanning software 202 then transmits this scanned image data to the scanning application 201.

[0068] In step S624, the scan application 201 receives the scanned image data transmitted in step S623. The scan application 201 then displays this image data on the display unit 119. As a result, the display unit 119 displays the scanned image data of the original document as a preview image.

[0069] Figure 7 is a flowchart showing the processes executed by the extended application. The program based on the flowchart shown in Figure 7 is stored in the external storage device 114. The CPU 111 can execute this program by reading it from the external storage device 114 into the RAM 113. Figure 8 shows an example of the screen displayed on the display unit of the scan system in step S710 of the flowchart shown in Figure 7. As shown in Figure 7, in step S701, the extended application 204 receives a request to display detailed settings from the general-purpose scan software 202 (see step S605).

[0070] In step S702, the scan settings screen extension unit 205 of the extended application 204 displays the detailed settings screen 300C shown in Figure 3(c) on the display unit 119 in response to the detailed settings display request received in step S701. As mentioned above, authentication processing settings are added to the scan function information 203. The scan settings screen extension unit 205 can display the detailed settings screen 300C by referring to the capability information generated based on this scan function information 203.

[0071] In step S703, the scan setting screen extension unit 205 determines whether or not detailed settings are being made on the detailed settings screen 300C, that is, whether or not a selection has been made on control 305 or an operation has been performed on control 307. If the determination in step S703 is that detailed settings are being made, the process proceeds to step S704. On the other hand, if the determination in step S703 is that detailed settings are not being made, the process proceeds to step S705.

[0072] In step S704, the scan setting screen extension unit 205 stores (saves) the settings (setting information) from the detailed setting screen 300C and the detailed setting screen 300D in the RAM 113. After step S704 is executed, the process proceeds to step S705.

[0073] In step S705, the scan setting screen extension unit 205 determines whether or not there is an instruction to end detailed settings on the detailed settings screen 300C, that is, whether or not there is an operation on the control 306. If the determination in step S705 is that there is an instruction to end detailed settings, the process proceeds to step S706. On the other hand, if the determination in step S705 is that there is no instruction to end detailed settings, the process returns to step S703 and executes the subsequent steps sequentially.

[0074] In step S706, the extended application 204 notifies the general-purpose scan software 202 that the detailed settings in step S705 have been completed.

[0075] In step S707, the extended application 204 determines whether there is a scan instruction from the general-purpose scan software 202 (see step S613). If the determination in step S707 is that there is a scan instruction, the process proceeds to step S708. On the other hand, if the determination in step S707 is that there is no scan instruction, the process remains in step S707 and waits.

[0076] In step S708, the extended application 204 instructs the scanning device 102 (CPU 191) to determine whether or not to allow the scanning function to be executed based on the authentication information (see step S615). The scanning device 102 then notifies the extended application 204 of this determination (see step S616).

[0077] In step S709, the extended application 204 receives the determination result from the scanning device 102 (reception step). Based on this determination result, the extended application 204 determines whether the authentication information is correct, that is, whether the execution of the scanning function is permitted. If the determination in step S709 determines that the authentication information is correct, the process proceeds to step S711. On the other hand, if the determination in step S709 determines that the authentication information is incorrect, the process proceeds to step S710.

[0078] In step S710, the extended application 204 controls the notification unit 209 to notify that the scanning function on the scanning device 102 is not permitted, i.e., that the scanning function cannot be executed (authentication error) (notification step). The authentication error screen 801 shown in Figure 8 is a screen that notifies the authentication error in step S710 and is displayed on the display unit 119. The authentication error screen 801 includes a message 802 and a control 803. Message 802 includes the message, "The current authentication information is incorrect, and scanning cannot be performed on the scanning device. Therefore, please check the authentication information." Thus, message 802 is a message prompting the user to reconfirm the authentication information. By operating the control 803, the authentication error screen 801 is closed. After that, the display unit 119 displays either the detailed settings screen 300C or the detailed settings screen 300D in order, or displays the detailed settings screen 300D. This allows the user to re-enter the authentication information on the detailed settings screen 300D. After step S710 is executed, the process ends.

[0079] In step S711, the extended application 204 creates a scan command based on the scan function information 203, which contains the settings from the detailed settings screen 300C (see step S617). One method for creating a scan command is to extend a standard protocol command. Another method of extension is to write a dedicated command in the extension area of ​​the standard protocol command. Other extension methods include adding a proprietary command to the end of the standard protocol command, or the extended application 204 overwriting the standard protocol command with its own command system. Furthermore, when issuing instructions from the extended application 204, instructions and communication may be performed using the manufacturer's proprietary protocol, regardless of the standard protocol.

[0080] In step S712, the extended application 204 sends the scan instruction command created in step S708 to the scanning device 102 (see step S618).

[0081] In step S713, the extended application 204 determines whether it has received all of the scanned image data (see step S622) from the scanning device 102. If the determination in step S713 is that all of the data has been received, the process proceeds to step S714. On the other hand, if the determination in step S713 is that not all of the data has been received, the process remains in step S713 and waits.

[0082] In step S714, the extended application 204 sends all scan image data from the scanning device 102, as determined in step S713, to the general-purpose scanning software 202 (see step S622). After step S714 is executed, the process ends.

[0083] As described above, in the scan system 1000, even if the general-purpose scan software 202 does not support authentication processing settings, the extended application 204 can perform the authentication processing settings. This allows the scan device 102 to be asked whether or not to allow the scan function to be executed, that is, to authenticate permission to execute the scan function, when the scan device 102 is to perform the scan function. If permission to execute the scan function is granted, the scan device 102 can be used to perform the scan function. On the other hand, if permission to execute the scan function is not granted, the authentication information can be re-entered. If this authentication information is correct, the scan device 102 can be used to perform the scan function.

[0084] Furthermore, the scan command in step S613 is issued from the general-purpose scan software 202 to the extended application 204, but is not limited to this. For example, the scan command may be issued from the scan application 201 to the extended application 204. Alternatively, a control for issuing a scan command may be placed on the detailed settings screen 300C. In this case, the user operates the control for issuing a scan command to the extended application 204. The scan image data may also be sent from the scan device 102 to the scan application 201 via the extended application 204 without going through the general-purpose scan software 202. Alternatively, the scan image data may be sent directly from the scan device 102 to the scan application 201. The scan system 1000 may also be configured to store the scan image data in an external storage device 114 and only allow the transfer of information about the file path where the data is stored. In addition, if there are multiple scan image data files, the scan system 1000 may send all scan image data at once, or it may send scan image data as it becomes available.

[0085] <Second Embodiment> The second embodiment will be described below with reference to Figure 9, focusing on the differences from the previously described embodiment, and omitting explanations of similar matters. When using the scanning device 102, depending on the usage environment, it may not be necessary to verify authentication information for each scan. An example of such a usage environment for the scanning device 102 is an environment in which a small number of users (e.g., two people) authorized to scan with the scanning device 102 use the host computer 101. In this embodiment, the scanning system 1000 in such an environment will be described.

[0086] Figure 9 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application receives the scan settings according to the second embodiment. Unlike the sequence diagram shown in Figure 6, the sequence diagram in Figure 9 includes a step S901 between steps S607 and S608. As shown in Figure 9, in step S901, the extended application 204 stores the authentication information included in the detailed settings received in step S607 (storage step). After this storage step, the scan can be executed without displaying the detailed settings screen 300D again, that is, without redisplaying the detailed settings screen 300D. In addition, in step S614, the extended application 204 can transmit the authentication information stored in step S901 to the scan device 102.

[0087] <Third Embodiment> The third embodiment will be described below with reference to Figures 10 and 11, focusing on the differences from the previously described embodiment, and omitting explanations of similar matters. When using the scanning device 102, depending on the usage environment, it may be desirable to limit the number of pages that can be scanned for each authentication information. An example of such a usage environment for the scanning device 102 is an environment in which the number of pages that can be scanned per user is set to a maximum of 100 pages per month. In this embodiment, the scanning system 1000 in such an environment will be described. The authentication information includes page count information regarding the number of remaining documents that can be scanned for each user requesting permission to perform a scan (see Table 1).

[0088] [Table 1]

[0089] As shown in Table 1, for example, if the user's username is "AAA", the number of pages allowed to be scanned per month is "100", and the number of documents that can be scanned as of the current month is "50". Therefore, the user "AAA" has already scanned 50 pages as of the current month. In this embodiment, the data in Table 1 is stored in the ROM 192 of the scanning device 102 or in the external storage device 199, but is not limited to this, and may be stored in a medium accessible from the scanning device 102, for example. Also, Table 1 may be divided into the number of pages allowed to be scanned for color printing and the number of pages for black and white printing, the number of pages allowed to be scanned may be omitted, or information about the organization to which the user belongs may be included.

[0090] Figure 10 is a flowchart showing the process performed by the extended application according to the third embodiment. Figure 11 is a diagram showing an example of the screen displayed on the display unit of the scanning system in step S1004 of the flowchart shown in Figure 10. Unlike the flowchart shown in Figure 7, the flowchart shown in Figure 10 has steps S1001 to S1005 added between steps S712 and S713. As shown in Figure 10, in step S1001, the extended application 204 obtains information regarding the number of sheets of paper used by the scanning operation of the scanning device 102. This information may be obtained from the scanning device 102, or it may be information regarding the number of used sheets (number of scanned sheets) counted by the CPU 111.

[0091] In step S1002, the extended application 204 compares the number of pages to be used, as included in the information obtained in step S1001, with the number of pages remaining that can be used for future scans (comparison step).

[0092] In step S1003, the extended application 204 determines, based on the comparison results in step S1002, whether the remaining number of sheets is less than the number of sheets to be used. If the determination in step S1003 is that the remaining number of sheets is less, the process proceeds to step S1004. On the other hand, if the determination in step S1003 is that the remaining number of sheets is not less, i.e., the number of sheets to be used is less, the process proceeds to step S1005.

[0093] In step S1004, the extended application 204 controls the notification unit 209 to display the error screen 1101 shown in Figure 11 on the display unit 119 (notification step). The error screen 1101 includes a message 1102 and a control 1103. Message 1102 includes the statement, "The number of pages to be used (number of pages that can be scanned) exceeds the remaining number." The error screen 1101 is closed by operating the control 1103. After that, it is preferable to perform another scan, for example, to make the remaining number of pages less than the number of pages to be used.

[0094] In step S1005, the extended application 204 stores the number of remaining sheets minus the number of sheets to be used as the new remaining number (storage step). After step S1005 is executed, the process proceeds to step S713.

[0095] Thus, in this embodiment, scanning can be performed for each user within the range of the maximum number of scannable pages.

[0096] <Fourth Embodiment> The fourth embodiment will be described below with reference to Figures 12 to 14, focusing on the differences from the previously described embodiments, and similar matters will be omitted. When using the scanning device 102, depending on the usage environment, it may be desirable to restrict the operation of the scanning device 102 based on judgments that include other restriction information for each authentication information. Examples of such usage environments for the scanning device 102 include environments where the content of the contract differs for each user, and functions that can be used by the scanning device 102 exist only for users with specific contracts. In this embodiment, the scanning system 1000 in such an environment will be described. For example, the authentication information includes the content of the contract for each user and the functions of the scanning device 102 that can be used based on that content (see Table 2).

[0097] [Table 2]

[0098] As shown in Table 2, for example, if the user's username is "AAA", the contract is "Plan A", and the function available on the scanning device 102 based on Plan A is "color scan". Thus, scanning includes multiple types of scans (e.g., color scan, black and white scan, etc.). The multiple types of scans differ depending on the contract of the user requesting permission to perform a scan. In this embodiment, the data in Table 2 is stored in the ROM 192 of the scanning device 102 or in the external storage device 199, but is not limited to this, and may be stored on a medium accessible from the scanning device 102, for example. Also, Table 2 may omit, for example, the functions available on the scanning device 102, or it may include information about the organization to which the user belongs.

[0099] Figure 12 is a sequence diagram showing the processing performed between the scan application, general-purpose scan software, extended application, and scan device after the scan application according to the fourth embodiment receives the scan settings. Unlike the sequence diagram shown in Figure 6, the sequence diagram in Figure 12 includes a step S1201 between steps S615 and S616. As shown in Figure 12, in step S1201, the CPU 191 of the scan device 102 obtains the contract details contained in the authentication information received in step S615, that is, it checks the contract details.

[0100] Figure 13 is a flowchart showing the process performed by the extended application. Figure 14 is a diagram showing an example of the screen displayed on the display unit of the scanning system in step S1303 of the flowchart shown in Figure 13. Unlike the flowchart shown in Figure 7, the flowchart shown in Figure 13 has steps S1301 to S1003 added between steps S709 and S711. As shown in Figure 13, in step S1301, the extended application 204 obtains information regarding the contract contents included in the authentication information and the functions of the scanning device 102 that can be used based on said contract contents (see step S1201).

[0101] In step S1302, the extended application 204 determines, based on the information obtained in step S1301, whether the user's contract corresponding to the authentication information is a scannable contract, that is, whether to perform a scan according to the contract contents (determination step). If the determination in step S1302 is that the contract is scannable, the process proceeds to step S711. This allows the scanning device 102 to be instructed to perform a scan according to the contract contents in step S712 (instruction step). On the other hand, if the determination in step S1302 is that the contract is not scannable, the process proceeds to step S1303.

[0102] In step S1303, the extended application 204 controls the notification unit 209 to display the error screen 1401 shown in Figure 14 on the display unit 119 (notification step). The error screen 1401 includes a message 1402 and a control 1403. Message 1402 states that "You do not have permission to perform a scan in accordance with the contract." By operating the control 1403, the error screen 1401 is closed. After that, it is preferable to change to, for example, performing a scan in accordance with the contract. After step S1303 is executed, the process ends.

[0103] Thus, in this embodiment, each user can be made to perform scans within the scope of their contract.

[0104] <Fifth Embodiment> The fifth embodiment will be described below with reference to Figures 15 and 16, focusing on the differences from the previously described embodiments, and similar matters will be omitted from the description. Figure 15 is a diagram showing an example of a screen displayed on the display unit of the scan system according to the fifth embodiment. Figure 15(a) is the scan settings screen displayed by the extended application 204. Figure 15(b) is the detailed settings screen accessed from the extended application 204 shown in Figure 15(a). The scan settings screen 1500A shown in Figure 15(a) is a screen that allows settings related to scanning on the scan device 102. This scan settings screen 1500A includes controls 301 to 304, and further includes control 1501. By operating control 1501, the detailed settings screen 1500B shown in Figure 15(b) is displayed on the display unit 119. The detailed settings screen 1500B includes controls 1502 to 1505. Control 1502 is a username input field where the user's name is entered as authentication information, similar to control 309 on the detailed settings screen 300D. Control 1503 is a password input field where the password for the user with the name entered in control 1502 is entered, similar to control 310. Control 1504 allows the input status from controls 1502 and 1503 to be saved to the extended application 204, and the detailed settings screen 1500B can be exited. Control 1505 allows the input status from controls 1502 and 1503 to be canceled, and the detailed settings screen 1500B can be exited. After exiting the detailed settings screen 1500B, the user returns to the scan settings screen 1500A.

[0105] Figure 16 is a sequence diagram showing the processes executed between the scan application, general-purpose scan software, extended application, and scan device after the scan application receives the scan settings. In the sequence diagram shown in Figure 16, step S1601 is added in place of step S614 in the sequence diagram shown in Figure 6. As shown in Figure 16, in step S1601, the extended application 204 receives input on the detailed settings screen 1500B and transmits the authentication information stored in the extended application 204 to the scan device 102.

[0106] In this embodiment, the input of authentication information for each scan execution can be omitted.

[0107] <Sixth Embodiment> The sixth embodiment will be described below with reference to Figures 17 to 19, focusing on the differences from the previously described embodiments, and similar matters will be omitted from the explanation. Figure 17 is a block diagram showing the software configuration of the scan system according to the sixth embodiment. As shown in Figure 17, the extended application 204 (notification unit 209) and the scan device 102 are each connected to the authentication server 1701 so as to be able to communicate with it. The authentication server 1701 is a management server that stores authentication information and performs judgments on the correctness of authentication information, that is, manages whether or not to permit the use of the scan device 102.

[0108] Figure 18 is a sequence diagram showing the processes executed between the scan application, general-purpose scan software, extended application, and scan device after the scan application accepts the scan settings. Unlike the sequence diagram shown in Figure 6, the sequence diagram in Figure 18 adds steps S1801 to S1803 in place of step S615. As shown in Figure 18, in step S1801, the scan device 102 receives the authentication information sent in step S614. The scan device 102 then sends this authentication information to the authentication server 1701 (transmission step).

[0109] In step S1802, the authentication server 1701 receives the authentication information transmitted in step S1801. Based on this authentication information, the authentication server 1701 determines whether or not to permit the use of the scanning device 102. Here, as an example, let's assume that it is determined that the use of the scanning device 102 is permitted, that is, permission to perform a scan is granted.

[0110] In step S1803, the authentication server 1701 sends a notification to the scanning device 102 indicating that the scan has been authorized as a result of the decision made in step S1802.

[0111] In step S616, following the execution of step S1803, the scanning device 102 receives the notification sent in step S1803. The scanning device 102 then sends this notification to the extended application 204.

[0112] Figure 19 is a sequence diagram showing a modified version of the processing performed between the scan application, general-purpose scan software, extension application, and scan device after the scan application accepts the scan settings. Unlike the sequence diagram shown in Figure 18, the sequence diagram in Figure 19 adds steps S1901 to S1903 instead of steps S614, S1801 to S1803, and S615. As shown in Figure 19, in step S1901, the extension application 204 sends authentication information to the authentication server 1701 (transmission step).

[0113] In step S1902, the authentication server 1701 receives the authentication information transmitted in step S1901. Based on this authentication information, the authentication server 1701 determines whether or not to permit the use of the scanning device 102. Here, as an example, let's assume that it is determined that the use of the scanning device 102 is permitted, that is, permission to perform a scan is granted.

[0114] In step S1903, the authentication server 1701 sends a notification to the extended application 204 indicating that the scan, which was determined in step S1902, is permitted to be performed.

[0115] In step S617, following the execution of step S1903, the extended application 204 receives the notification sent in step S1903. Then, the extended application 204 creates a scan instruction command based on the scan function information 203.

[0116] Thus, in this embodiment, instead of the scanning device 102, the authentication server 1701 can determine whether or not to permit the use of the scanning device 102.

[0117] Although preferred embodiments of the present invention have been described above, the present invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of its gist. The present invention can also be realized by supplying a program that implements one or more of the functions of the above embodiments to a system or device via a network or storage medium, and by having one or more processors in the computer of that system or device read and execute the program. Furthermore, the present invention can also be realized by a circuit (e.g., an ASIC) that implements one or more functions.

[0118] Each embodiment of the disclosure includes the following programs, methods, and configuration programs. (Program 1) A standard driver provided by the provider of the operating system, which is an application program that supports the standard driver pre-installed in the operating system, On the computer, A display control step that causes an image processing device having a document reading function to display a reception screen that accepts authentication information necessary to execute the reading function, An application program characterized by causing the program to perform a transmission step of transmitting the authentication information received on the reception screen. (Program 2) The application program according to Program 1, characterized in that the reception screen includes a username input section for inputting the name of the user requesting permission to execute the reading function as authentication information, and a password input section for inputting the user's password as authentication information. (Program 3) An application program according to Program 1 or 2, characterized in that, based on the authentication information transmitted in the transmission step, if the execution of the reading function is permitted, the computer is instructed to execute an instruction step instructing the image processing device to execute the reading function. (Program 4) When the execution of the reading function is permitted, the computer is instructed to perform a receiving step that allows it to receive a notification to that effect. The application program according to program 3, characterized in that, in the instruction step, when the notification is received in the reception step, the image processing device is instructed to execute the reading function. (Program 5) The authentication information includes information on the number of remaining documents on which the reading function can be executed for each user requesting permission to execute the reading function, To the aforementioned computer, A comparison step which compares the number of pages read using the reading function performed in the instruction step with the number of pages remaining. If, as a result of the comparison in the comparison step, the remaining number of sheets is less than the number of sheets already read, a notification step is performed to notify the user of that fact. An application program according to program 3 or 4, characterized in that, as a result of the comparison in the comparison step, if the remaining number of sheets is greater than or equal to the number of sheets already read, the program performs a storage step of storing the number obtained by subtracting the number of sheets already read from the remaining number of sheets as the new remaining number of sheets. (Program 6) The reading function includes multiple types of reading functions, and these multiple types of reading functions differ depending on the contract of the user requesting permission to execute the reading function. The aforementioned authentication information includes the details of the aforementioned contract, To the aforementioned computer, After the execution of the instruction step, a determination step is made to determine whether or not the reading function is to be executed in accordance with the contents of the contract, If, as a result of the judgment in the aforementioned judgment step, it is determined that the reading function is not being executed in accordance with the terms of the contract, then a notification step is performed to notify the system of that fact. An application program according to any one of programs 3 to 5, characterized in that, as a result of the determination in the determination step, if it is determined that the reading function is to be executed in accordance with the contents of the contract, the instruction step instructs the image processing device to execute the reading function. (Program 7) An application program according to any one of Programs 1 to 6, characterized in that, if the execution of the reading function is not permitted based on the authentication information transmitted in the transmission step, the computer is instructed to perform a notification step to notify the computer of that fact. (Program 8) If the execution of the read function is not permitted, the computer is instructed to perform a receiving step that allows it to receive a notification to that effect. The application program according to program 7, characterized in that, in the notification step, when the notification is received in the receiving step, the aforementioned fact is notified. (Program 9) The image processing device has a management function that manages whether or not to permit the use of the image processing device, The application program according to any one of programs 1 to 8, characterized in that the transmission step involves transmitting the authentication information to the image processing device. (Program 10) The permission or denial of use of the image processing device is managed by the management server. The application program according to any one of programs 1 to 9, characterized in that the transmission step involves transmitting the authentication information to the management server. (Program 11) Prior to the transmission step, the computer is instructed to perform a storage step for storing the authentication information. An application program according to any one of programs 1 to 10, characterized in that if the display control step is executed again after the storage step, the subsequent display control step can be omitted. (Method 1) A control method that performs control that supports a standard driver provided by the provider of the operating system and which is pre-installed in the operating system, A display control step that causes an image processing device having a document reading function to display a reception screen that accepts authentication information necessary to execute the reading function, A control method characterized by comprising a transmission step of transmitting the authentication information received on the reception screen. (Configuration 1) A standard driver provided by the provider of the operating system, which is a standard driver pre-installed in the operating system, An information processing device comprising an application program that supports the aforementioned standard driver, The application program is installed on the computer of the information processing device. A display control step that causes an image processing device having a document reading function to display a reception screen that accepts authentication information necessary to execute the reading function, An information processing device characterized by causing it to perform a transmission step of transmitting the authentication information received on the reception screen. [Explanation of Symbols]

[0119] 101 Host computer 102 Scanning device 111 CPU 204 Extended Applications 202 General-purpose scanning software 300C detailed setting screen 300D detailed settings screen

Claims

1. A standard driver provided by the provider of the operating system, and an application program that supports the standard driver pre-installed in the said operating system, On the computer, A display control step that causes an image processing device having a document reading function to display a reception screen that accepts authentication information necessary to execute the reading function, An application program characterized by causing the program to perform a transmission step of transmitting the authentication information received on the reception screen.

2. The application program according to claim 1, characterized in that the reception screen includes a username input section for inputting the name of the user requesting permission to execute the reading function as authentication information, and a password input section for inputting the user's password as authentication information.

3. The application program according to claim 1, characterized in that, based on the authentication information transmitted in the transmission step, if the execution of the reading function is permitted, the computer is instructed to execute an instruction step instructing the image processing device to execute the reading function.

4. If the execution of the aforementioned reading function is permitted, the computer is instructed to perform a receiving process that allows it to receive a notification to that effect. The application program according to claim 3, characterized in that, in the instruction step, when the notification is received in the reception step, the image processing device is instructed to execute the reading function.

5. The authentication information includes information regarding the number of remaining documents for which the reading function can be executed, for each user requesting permission to execute the reading function. To the aforementioned computer, A comparison step which compares the number of pages read using the reading function performed in the instruction step with the number of pages remaining, If, as a result of the comparison in the comparison step, the remaining number of sheets is less than the number of sheets already read, a notification step is performed to notify the user of that fact. The application program according to claim 3, characterized in that, as a result of the comparison in the comparison step, if the remaining number of sheets is greater than or equal to the number of sheets already read, the program performs a storage step of storing the number obtained by subtracting the number of sheets already read from the remaining number of sheets as the new remaining number of sheets.

6. The aforementioned reading function includes multiple types of reading functions, and these multiple types of reading functions differ depending on the contract of the user requesting permission to execute the aforementioned reading function. The aforementioned authentication information includes the details of the aforementioned contract, To the aforementioned computer, After the execution of the instruction step, a determination step is made to determine whether or not the reading function is to be executed in accordance with the contents of the contract, If, as a result of the judgment in the aforementioned judgment step, it is determined that the reading function was not executed in accordance with the terms of the contract, then a notification step is performed to notify the system of that fact. The application program according to claim 3, characterized in that, as a result of the determination in the determination step, if it is determined that the reading function should be executed in accordance with the contents of the contract, the instruction step instructs the image processing device to execute the reading function.

7. The application program according to claim 1, characterized in that, if the execution of the reading function is not permitted based on the authentication information transmitted in the transmission step, the computer is instructed to perform a notification step to notify the computer of that fact.

8. If the execution of the aforementioned reading function is not permitted, the computer is instructed to perform a receiving step that allows it to receive a notification to that effect. The application program according to claim 7, characterized in that, in the notification step, when the notification is received in the receiving step, the aforementioned fact is notified.

9. The aforementioned image processing device has a management function for managing whether or not to permit the use of the image processing device, The application program according to claim 1, characterized in that the transmission step involves transmitting the authentication information to the image processing device.

10. The permission or denial of use of the aforementioned image processing device is managed by a management server. The application program according to claim 1, characterized in that the transmission step involves transmitting the authentication information to the management server.

11. Prior to the transmission step, the computer is made to perform a storage step for storing the authentication information. The application program according to claim 1, characterized in that if the display control step is executed again after the storage step, the subsequent display control step can be omitted.

12. A standard driver provided by the provider of the operating system, and a control method that performs control supporting a standard driver pre-installed in the operating system, A display control step that causes an image processing device having a document reading function to display a reception screen that accepts authentication information necessary to execute the reading function, A control method characterized by comprising a transmission step of transmitting the authentication information received on the reception screen.

13. A standard driver provided by the operating system provider, which is a standard driver pre-installed in the said operating system, An information processing device comprising an application program that supports the aforementioned standard driver, The application program is installed on the computer of the information processing device. A display control step that causes an image processing device having a document reading function to display a reception screen that accepts authentication information necessary to execute the reading function, An information processing device characterized by causing it to perform a transmission step of transmitting the authentication information received on the reception screen.