Program set, reading result acquisition method, and information processing device
The program set enables communication with scanners using different protocols, addressing compatibility issues and enhancing usability by activating a second program for seamless command and result transmission.
Patent Information
- Application Number
- JP2024195789
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-11-08
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2040-03-10
AI Technical Summary
Scanners incompatible with general-purpose communication protocols, such as IPP, cannot be used with information processing devices, and even compatible scanners require complex user interactions for setting changes, leading to reduced usability.
A program set comprising a first and second program allows a scanner compatible with a first protocol to communicate via a communication interface, activating the second program if necessary, and performing registration and transmission processes to issue commands and receive results using different protocols.
Enables the use of scanners not supporting general-purpose protocols by activating a second program, facilitating seamless communication and improving usability by allowing commands and results to be transmitted and received effectively.
Smart Images

Figure 2025013613000001_ABST
Abstract
Description
[Technical field]
[0001] The technical field disclosed in this specification relates to a program set for controlling a scanner, a method for obtaining a read result, and an information processing device. [Background technology]
[0002] In an information processing device capable of communicating with a device such as a scanner, a technology is known for performing data communication with the scanner using a predetermined general-purpose protocol. For example, Patent Document 1 discloses a configuration in which the information processing device and the scanner perform data communication using a protocol called IPP (Internet Printing Protocol). Patent Document 1 further discloses a configuration in which the IPP does not support a specific function such as setting the opening direction of a document because it is a general-purpose protocol, and thereby realizes the specific function by making it possible to set the specific function on the scanner side. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2016-111560 A Summary of the Invention [Problem to be solved by the invention]
[0004] In order for an information processing device to communicate with a scanner using a specific general-purpose communication protocol, the destination scanner must support the specific general-purpose communication protocol. Therefore, when a scanning system incorporated in an information processing device performs data communication using a specific general-purpose communication protocol, a scanner that does not support the specific general-purpose communication protocol cannot be used. For example, when an information processing device performs data communication using IPP as in Patent Document 1, a scanner that does not support IPP cannot be used.
[0005] Even if a scanner supports a specific general-purpose communication protocol, if the scanner uses settings that are not supported by IPP, the user has to switch settings on the scanner each time, or the scanner's user interface is difficult to use, which causes inconvenience to the user. The same problem occurs when scanning is performed using a general-purpose driverless scan function such as AirPrint (registered trademark), because a general-purpose communication protocol is used.
[0006] This specification discloses a technique for improving the availability of a scanner when the scanner is used from an information processing device. [Means for solving the problem]
[0007] A program set made for the purpose of solving this problem is a program set executable by a computer of a first information processing device, the program set including a first program and a second program, the first program causing the computer to execute a startup process for starting the second program when a scanner corresponding to a first protocol is capable of communicating through a communication interface of the first information processing device and the second program corresponding to the scanner is not running, and a first registration process for registering the second program as a scanner in an operating system of the first information processing device when the second program is started in the startup process, and the second program causing the computer to execute a transmission process for sending a scan command of the first protocol that the scanner can support to the scanner via the communication interface based on the scan job when the operating system accepts a scan job in which the second program registered in the operating system is specified as an output destination, the second program causing the computer to execute a reception process for receiving the reading result of the scanner reading an original in response to the scan command sent in the transmission process by the first protocol via the communication interface.
[0008] According to the program set disclosed in this specification, when the second program corresponding to the scanner corresponding to the first protocol is not running, the first information processing device starts the second program and registers it as a scanner in the operating system (hereinafter referred to as "OS"). This makes it possible to select the second program in the OS. Furthermore, when the OS receives a scan job by the second protocol that specifies the second program as an output destination, the second program transmits a scan command to the scanner by the first protocol based on the scan job, and receives the read result from the scanner. This makes it possible to issue a read instruction from the first information processing device to a scanner that does not support the second protocol, and to receive the read result.
[0009] A control method for implementing the above functions, an information processing device, and a computer-readable storage medium storing an application program are also novel and useful. Effect of the Invention
[0010] The program set disclosed in this specification realizes a technique for increasing the availability of a scanner when the scanner is used from an information processing device. [Brief description of the drawings]
[0011] [Figure 1] 1 is a schematic configuration diagram of a scan system according to an embodiment; [Diagram 2] FIG. 11 is a sequence diagram showing a procedure for starting and registering a scan server. [Diagram 3] FIG. 11 is a sequence diagram showing a procedure of a pull scan. [Figure 4] FIG. 11 is a sequence diagram showing a procedure of push scanning. [Diagram 5] FIG. 11 is a sequence diagram showing the procedure of a program capable of executing both pull scanning and push scanning. [Figure 6]FIG. 11 is a sequence diagram showing a procedure for starting and registering a scan server in a second embodiment. [Figure 7] FIG. 11 is a sequence diagram showing a procedure of push scanning in the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] A first embodiment of the scanning system will be described in detail below with reference to the accompanying drawings. This embodiment discloses a scanning system including a plurality of personal computers (hereinafter, referred to as "PCs") and a scanner connected to the PCs.
[0013] As shown in FIG. 1, the scan system 100 of this embodiment is a system including a PC1, a PC2, and a scanner 3, which are connected to a common network. The PC1 and the PC2 are devices that transmit scan execution instructions to the scanner 3, receive image data from the scanner 3, edit the received image data, and so on. Both the PC1 and the PC2 are examples of information processing devices, the PC1 being an example of a first information processing device, and the PC2 being an example of a second information processing device. The PC2 is a device having the same configuration and functions as the PC1, and the following description will be given of the PC1 as a representative device to the extent that there is no need to distinguish between them. Instead of the PC1 and the PC2, for example, a smartphone or a tablet computer may be used.
[0014] As shown in Fig. 1, the PC 1 of this embodiment includes a controller 10 including a CPU 11 and a memory 12. The PC 1 also includes a user interface (hereinafter referred to as "user IF") 13 and a communication interface (hereinafter referred to as "communication IF") 14, which are electrically connected to the controller 10. Note that the controller 10 in Fig. 1 is a collective term for hardware and software used to control the PC 1, and does not necessarily represent a single piece of hardware actually present in the PC 1.
[0015] The CPU 11 executes various processes according to the programs read from the memory 12 and based on the user's operations. The CPU 11 is an example of a computer. The memory 12 is a storage area that stores various programs such as a startup program for starting the PC 1 and various application programs (hereinafter, referred to as "apps") for using the scanner, various data such as image data and document data, and various setting information. The memory 12 is also used as a work area when various processes are executed.
[0016] The user IF 13 is, for example, a touch panel, and includes hardware for displaying a screen for notifying the user of information, and hardware for accepting input operations by the user. Note that the user IF 13 may be a combination of a display having a display function and a keyboard, mouse, trackball, or the like having an input acceptance function.
[0017] The communication IF 14 includes hardware for communicating with external devices such as the PC 2 and the scanner 3. The communication standard of the communication IF 14 includes, for example, Ethernet (registered trademark) and Wi-Fi (registered trademark), and may include wireless communication and wired communication, or may include a plurality of configurations corresponding to a plurality of communication standards. In the scan system 100 of this embodiment, the communication method between the PC 1 and the PC 2, the communication method between the PC 1 and the scanner 3, and the communication method between the PC 2 and the scanner 3 may be different from each other.
[0018] As shown in Fig. 1, the memory 12 of the PC 1 stores various data and programs including an OS 41, a scan application 42, a management program 43, and a scan server program 44. A general-purpose scan control program 45 is built into the OS 41. The OS 41 is, for example, iOS (registered trademark), Android (registered trademark), Microsoft Windows (registered trademark), macOS (registered trademark), or Linux (registered trademark). The management program 43 is an example of a first program, and the scan server program 44 is an example of a second program. A set of the management program 43 and the scan server program 44 is an example of a program set.
[0019] The scan application 42 receives user instructions such as designation of a device to execute a scan, designation of a location to save the read result, an instruction to execute a scan, various scan settings, etc. The scan application 42 may further receive an instruction to display or edit an image of the read result received from the scanner.
[0020] The generic scan control program 45 is a program that controls the operation of the scanner based on a predetermined standard. The generic scan control program 45 is a program that utilizes the scan control function of the OS 41, and is a standard program provided by the OS 41. The generic scan control program 45 is a general-purpose program that is compatible with multiple models of scanners that support a predetermined standard. Therefore, any scanner that has a function compatible with the generic scan control program 45 can perform scanning based on the standard, regardless of the manufacturer. Examples of scanning systems that utilize the generic scan control program 45 include AirPrint and Mopria (registered trademark).
[0021] Since the generic scan control program 45 is a generic program that supports multiple models, the scan settings that it can accept are limited to general ones, and therefore the generic scan control program 45 does not necessarily accept all scan settings that can be executed by the specified scanner.
[0022] The OS 41 of this embodiment uses a generic scan control program 45 to control the scanner, and is a version that does not accept the installation of an individual control program such as a scanner driver corresponding to an individual model. The scan application 42 of this embodiment is compatible with the generic scan control program 45, and can pass a scan job to the OS 41 using a predetermined generic protocol corresponding to the generic scan control program 45. The OS 41 generates a scan command using the generic scan control program 45 based on the passed scan job, and transmits the generated scan command to a specified scanner using the generic protocol. The generic protocol is, for example, IPP, which is an example of the second protocol.
[0023] The OS 41 also has a function of determining whether the scanner connected to the PC 1 is compatible with the generic scan control program 45, and registering information on the compatible scanner in the memory 12. The scan application 42 accepts the selection of a device to execute scanning from the scanners registered in the memory 12. Note that the scanner 3 of the scan system 100 of this embodiment does not support the standard used by the generic scan control program 45, and does not support the generic protocol, as an example. In other words, the scanner 3 cannot receive the scan command generated by the OS 41, or cannot process it correctly even if it receives it. Alternatively, the scanner 3 of the scanning system 100 of this embodiment, as an example, supports the standard used by the general-purpose scanning control program 45 and is also compatible with general-purpose protocols, but has functions that are not supported by the standard used by the general-purpose scanning control program 45.
[0024] The management program 43 is a program that manages the operation of the scanner 3 and the operation of the scan server program 44. Specifically, the management program 43 is a program that starts the scan server program 44 corresponding to the scanner 3, and causes the scan server configured by the scan server program 44 to be registered in the OS 41 as a virtual scanner. If the scan server is registered in the OS 41 as a virtual scanner, the virtual scanner, i.e., the scan server program 44, becomes selectable as a scanner in the scan application 42 etc.
[0025] The scan server program 44 is a program that receives the scan command generated by the OS 41 on behalf of the scanner. The scan server program 44 is a program that corresponds to the model of the scanner 3, and is compatible with both a dedicated protocol and a general-purpose protocol that are protocols that the scanner 3 can support. The dedicated protocol is an example of a first protocol. In the scan system 100 of this embodiment, when a virtual scanner registered in the OS 41 is selected, the OS 41 passes the generated scan command to the scan server program 44.
[0026] The scanner 3 of the scan system 100 of this embodiment is a device having a communication function with the PC 1 and the PC 2, and an image reading function for reading an image of an original document and acquiring image data. The scanner 3 is not limited to a device with a single scanning function, and may be, for example, a multifunction machine, a copier, or a fax machine.
[0027] Next, the procedure of the scan process executed by PC1 in scan system 100 of this embodiment will be described with reference to the sequence diagrams of Figures 2 to 5. Note that the processes and each processing step of the flowchart in the following description basically indicate the processing of CPU11 according to instructions written in programs such as management program 43 and scan server program 44. The processing by CPU11 also includes hardware control using an IF (also called API) for data exchange with other modules of OS41 of PC1. Note that in this specification, there are cases where the description of OS41 is omitted and the operation of each program is described.
[0028] First, the procedure for registering a virtual scanner before executing a scan will be described with reference to the sequence diagram of Fig. 2. First, the management program 43 is started (S101). The management program 43 is automatically started when the PC 1 is started, for example. The management program 43 may also be started based on a user instruction.
[0029] When the management program 43 is started, it first searches for scan servers operating on other PCs etc. included in the same scan system 100 as PC1 (S102). In this embodiment, the management program 43 inquires of PC2 of the scan system 100 whether or not the scan server program 44 is running. When there are multiple PCs etc. connected to the same system, the management program 43 of PC1 inquires of all the other PCs etc.
[0030] Then, the management program 43 receives response information from PC2 (S103). When the scan server program 44 of PC1 or PC2 receives an inquiry from another device while it is running, it responds with information indicating that it is running. If it determines that it has received information indicating that it is running ([Yes]), the management program 43 passes information indicating the scan server program 44 of PC2 to the OS 41 (S104), and requests the OS 41 to register it as a scanner. S104 is an example of a second registration process.
[0031] The management program 43 further transmits to PC2 a list registration request for adding information about the own device to the destination list of the scan server program 44 of PC2, together with the identification information of the own device (S105). S105 is an example of the second registration request process. The destination list is a list for registering devices that receive and store the results of scanning an image of an original by the scanner 3 via the scan server program 44.
[0032] Based on the information received in S104, the OS 41 registers the scan server program 44 running on the PC 2 as a scanner (S106). As a result, when an instruction to select a scanner is received by the scan application 42 or the like, the OS 41 passes information on the scan server program 44 running on the PC 2 to the scan application 42 or the like as one of the scanner options. By being able to use the scan server program 44 running on the PC 2, there is no need to start up multiple scan server programs 44 in the entire scan system 100 in which the scanner 3 is shared by multiple PCs, and there is less waste in the entire system.
[0033] On the other hand, if it is determined that no information indicating that execution is in progress has been received ([None]), the management program 43 instructs the scan server program 44 included in the own device to start up (S107). S107 is an example of a startup process and a startup step. For example, if the management program 43 does not receive response information within a predetermined time, such as when the PC 2 is not started, the management program 43 determines that it has not received information indicating that the PC 2 is running.
[0034] When the scan server program 44 is started, it executes initial settings based on its own information, such as model information and capability information of the scanner 3 (S108). The scan server program 44 acquires information on the scanner 3 at the time of installation or the previous execution, and stores it in a storage area managed by the scan server program 44. When the scan server program 44 completes starting, it notifies the management program 43 of the initial setting information (S109). Based on the received information, the management program 43 passes information on the scan server program 44 to the OS 41 (S110), and requests the OS 41 to register it as a scanner. S110 is an example of a first registration process, and an example of a registration process and a registration step.
[0035] The management program 43 further passes a list registration request to the started scan server program 44, requesting that the program create a destination list and register information about the program itself (S111). S111 is an example of a first registration request process. The scan server program 44 registers the device identification information of the program itself in the destination list based on the received request (S112). S112 is an example of a list registration process. If the scan server program 44 already has a destination list that it manages, it registers the requested information in the destination list. Furthermore, the OS 41 registers the started scan server program 44 as a scanner based on the information received from the management program 43 in S110 (S113). In S106 and S113, it is preferable to have the OS 41 register the scanner 3 with a name indicating the scanner 3.
[0036] The scan server program 44 running on PC1 may receive a scan server search or list registration request from other devices connected to the scan system 100, such as PC2. When a scan server search is received, the scan server program 44 sends information indicating that it is running to PC2 (S114). When a list registration request is received, the scan server program 44 registers the device identification information of the device that sent the list registration request in its own destination list (S115). S115 is an example of the list registration process.
[0037] This completes the preparations for the user of PC1 to use the scanner 3 to perform a scan. If the scan server program 44 is running on PC2 and information about the scan server program 44 is registered as a scanner in the OS 41, the scanner information will be lost when PC2 is shut down. For example, the management program 43 of PC1 may register the scan server program 44 of PC2 as a virtual scanner in the OS 41, and then periodically communicate with the scan server program 44 of PC2. If the running scan server program 44 is not found, the management program 43 may search for the scan server program 44 running on another PC, and if not found, start the scan server program 44 of PC1.
[0038] Also, instead of creating the destination list when the scan server program 44 is started, the destination list may be permanently stored in a storage area managed by the scan server program 44. For example, a destination list may be created in which information about the PCs and the like (in this embodiment, PC1 and PC2) included in the scan system 100 is registered in advance.
[0039] Next, a procedure for using the scanner 3 with the scan application 42 of PC1 when the procedure in Fig. 2 described above is completed and the scan server program 44 is running on PC1 or PC2 will be described. When the scan application 42 receives an instruction to select a scanner, it displays the information of the scanner registered in the OS 41 and accepts the user's selection. In S106 or S113 of Fig. 2, since the running scan server program 44 is registered in the OS 41, the scan server program 44 is displayed as one of the options.
[0040] The procedure for executing a scan, which is a so-called pull scan procedure, when a scan execution instruction is received by the scan application 42 of PC1 when the scan server program 44 is selected as the device to execute the scan will be explained with reference to the sequence diagram of Figure 3.
[0041] When the scan application 42 receives an instruction to execute a scan (S201), it passes the scan job to the OS 41 (S202). The OS 41 generates a scan command of the generic protocol using the generic scan control program 45 based on the received scan job, and passes the generated scan command to the scan server program 44, which is the selected device (S203). As a result, the scan server program 44 acquires the scan command. S203 is an example of an acquisition process and an acquisition step.
[0042] The scan server program 44 sends an instruction to the scanner 3 to check the status (S204). The scan server program 44 supports a dedicated protocol and can communicate with the scanner 3 using the dedicated protocol. Based on the received status check instruction, the scanner 3 responds with information indicating the status of its own device to the scan server program 44 of the device that sent the status check instruction (S205). The scanner status includes, for example, available and unavailable, and the scanner 3 may be able to respond with more detailed information.
[0043] If the scan server program 44 determines that it has received response information indicating availability ([OK]), it converts the scan command of the general-purpose protocol received in S203 into a scan command of the dedicated protocol (S206). The scan server program 44 transmits the converted scan command to the scanner 3 by the dedicated protocol (S207). S207 is an example of a transmission process and a transmission step.
[0044] The scanner 3 executes scanning based on the scan command of the dedicated protocol received in S207 (S208). In S208, the scanner 3 executes scanning in response to a scan start instruction from the user who set the document. The scanner 3 then transmits the results of reading the document to the scan server program 44 of the device that transmitted the scan command (S209).
[0045] The scan server program 44 receives the read result transmitted from the scanner 3 in S209. S209 is an example of a receiving process and a receiving step. The communication in S209 is also communication using a dedicated protocol. The scan server program 44 applies image correction to the received read result (S210). S210 is an example of an image correction process. As image correction, the scan server program 44 executes, for example, character recognition processing and moire removal processing. The scan server program 44 may receive a user instruction as to whether or not to perform image correction. By performing image correction, more suitable image data can be acquired.
[0046] The scan server program 44 passes the corrected image data to the OS 41 of the device that sent the scan command in S203 (S211). The OS 41 passes the received image data to the scan application 42, which is the program that accepted the scan job in S202 (S212). As a result, the scan application 42 receives the result of reading by the scanner 3.
[0047] On the other hand, if the response received in S205 is not available, or if no response is received from the scanner 3 even after a predetermined time has elapsed ([NG]), the scan server program 44 returns an error notification indicating that the scanner 3 is in an error state to the OS 41 (S213). When the OS 41 receives an error notification from the scan server program 44, it causes the user IF 13 to display a message informing the user of the error (S214).
[0048] As a result, by selecting the scan server program 44 in place of the scanner 3, even if the scanner 3 does not support the general-purpose protocol, the scan result can be obtained from the scan application 42 using the scanner 3. Note that image correction of the scan result or error notification in the event of an error does not have to be performed.
[0049] Next, the procedure for making the scanner 3 execute a scan will be further described with reference to the sequence diagram of Fig. 4. Fig. 4 is a sequence diagram showing the procedure for executing a scan when the scanner 3 receives an instruction to execute a scan, that is, the procedure for a so-called push scan. The general-purpose scan control program 45 does not support the push scan function, and the activated scan server program 44 is used.
[0050] When the scanner 3 receives an instruction to start scanning on its own operation panel without receiving a scan command (S301), it transmits a search request for a PC that can appropriately communicate with the running scanner 3 via the network of the scan system 100 (S302). In other words, the scanner 3 searches for a PC that can communicate using a dedicated protocol. In response to the search request from the scanner 3, the scan server program 44 responds with the device identification information of the scanner 3 (S303). S303 is an example of a response process.
[0051] In S303, the scan server program 44 also passes the save destination list stored in a memory area managed by the scan server program 44 to the scanner 3. The save destination list is, for example, a list created in S111 of Fig. 2, and is a list of devices that may communicate with the scanner 3 using the scan server program 44.
[0052] Based on the received save destination list, the scanner 3 displays a list of save destination information indicating the save destinations of the read results on the operation panel of the scanner 3 (S304), and accepts the user's selection (S305). The save destination information may be the save destination list itself, or may be the save destination list converted into information that is easy for the user to understand. Furthermore, upon receiving a user's instruction to start scanning, the scanner 3 scans and reads the image of the document (S306), and transmits the read result and the save destination information accepted in S305 to the scan server program 44 (S307).
[0053] The scan server program 44 associates the received read result with the storage destination information and stores them in a memory area managed by the scan server program 44 (S308). S308 is an example of a storage process. By receiving the read results together with destination information indicating the destination registered in the scanner 3, the scan server program 44 can store the read results separately for each device such as the PC 1. The memory area is provided in the memory (12 or 22, see FIG. 1) of the device on which the scan server program 44 is running.
[0054] The management program 43 periodically, or in response to a user instruction, passes an output request requesting the read results with its own device specified as the storage destination to the running scan server program 44 (S309). If the management program 43 and the scan server program 44 are running on the same device, the management program 43 inputs the output request to the scan server program 44. If the scan server program 44 is running on a device different from the management program 43, the management program 43 adds identification information of its own device to the output request and sends the output request to the device running the scan server program 44.
[0055] The scan server program 44 that has received the output request determines whether or not there is a read result addressed to the management program 43 that made the output request in the memory area that it manages (S310). In other words, the scan server program 44 determines whether or not there is a read result in which the identification information added to the received output request matches the destination information added to the read result.
[0056] If it is determined that there is a matching read result ([Yes]), the scan server program 44 passes the read result to the management program 43 that requested it (S311). If there are multiple matching read results, the scan server program 44 passes all of the read results. Since the read results pushed from the scanner 3 are temporarily stored by the scan server program 44 and later saved in the real storage destination, the real storage destination does not need to be running when the scan server program 44 receives the read result. Note that if it is determined that there is no read result in which the identification information added to the output request matches the storage destination information added to the read result, the scan server program 44 may return information indicating that there is none.
[0057] The management program 43 stores the received read result as a file (S312). S312 is an example of a save process. The management program 43 may notify that a file has been created. The management program 43 may save the file in a predetermined folder, such as a folder managed by the management program 43, or may determine a save destination folder based on a user's instruction. In this way, the image data of the document image for which a read instruction has been issued by the scanner 3 is appropriately saved by the management program 43, thereby realizing a so-called push scan. In addition, the management program 43 saves the read result as a file, so that the user can easily find and check the read result pushed from the scanner 3 in the folder in which the file is saved.
[0058] The scan server program 44 deletes the passed read results from the memory area it manages (S313). This saves the amount of data in the memory area. The scan server program 44 may delete the results after confirming that the management program 43 has completed saving the results, or may delete the results if they remain in the memory area for a certain period of time, or may delete the results based on a user instruction.
[0059] In Fig. 4, the procedure of push scan in which the management program 43 receives the read result has been described, but it is also possible to have the scan application 42 receive the read result of push scan. This procedure will be described with reference to the sequence diagram of Fig. 5. Note that, below, the same steps as those in Fig. 3 or 4 are denoted by the same reference numerals and description thereof will be omitted.
[0060] 3, first, in a state where the scan server program 44 is selected instead of the scanner 3, the scan application 42 of the PC 1 receives an instruction to execute a scan (S201). The scan application 42 passes a scan job to the OS 41 using a general-purpose protocol (S202). The OS 41 generates a scan command and passes it to the scan server program 44 (S203).
[0061] The scan server program 44 judges whether or not the read result with the identification information of the device that sent the received scan command is present in the memory area that it manages (S401). S401 is the same process as S310 in Fig. 4, but the scan server program 44 judges based on the information of the device that sent the scan command, instead of based on the identification information attached to the output request. If the OS 41 and the scan server program 44 are running on the same device, the scan server program 44 judges whether or not the read result with the identification information of its own device is present.
[0062] Note that a user who performs push scanning must execute scanning of an original with the scanner 3 before issuing a scan instruction in S201. In other words, in the case of push scanning, S301 to S308 in Fig. 4 have already been executed. In this case, the scan server program 44 does not delete the scanning result in S313, but stores it in a memory area managed by itself.
[0063] When the scan server program 44 determines that there is a corresponding read result ([Yes]), it passes the read result to the OS 41 that output the scan command (S402). S402 is an example of a read result response process. When the scan server program 44 is executed on a device other than the scan application 42, the scan server program 44 transmits the read result to the device that sent the scan command.
[0064] The OS 41 that has received the read result passes the received read result to the scan application 42 (S403). That is, by having the scanner 3 execute a scan in advance, the read result can be obtained using the scan application 42.
[0065] If the scan server program 44 determines that there are no corresponding read results ([None]), it executes a procedure similar to the pull scan procedure shown in Fig. 3. That is, the scan server program 44 sends a status confirmation to the scanner 3 (S204) and receives a response from the scanner 3 (S205). If the response is OK ([OK]), the scan server program 44 converts the received scan command (S206) and sends the converted scan command to the scanner 3 (S207). S207 in this figure is also an example of a sending process and a sending step.
[0066] The scanner 3 executes a scan based on the received scan command (S208), and transmits the read result to the scan server program 44 (S209). The scan server program 44 passes the received read result to the OS 41 that output the scan command (S404). S404 is the same process as S402. The OS 41 that has received the read result passes the received read result to the scan application 42 (S405). S405 is the same process as S403. Note that the scan server program 44 may also perform image correction before S402 or S404.
[0067] In other words, when the scan server program 44 receives a scan command, if the scan result of the push scan is stored, it returns the read result, and if not, it sends a scan command to the scanner 3. In either case, the user of the scan application 42 only needs to perform an operation indicating a read instruction, which provides excellent operability. Even if the scan server program 44 is executed on a device other than the scan application 42, the save destination of the read result can be determined based on the device identification information and save destination information, so the read result can be passed to an appropriate save destination.
[0068] On the other hand, if an OK response is not obtained from the scanner 3 ([NG]), the scan server program 44 returns an error notification to the OS 41 (S213), and the OS 41 causes the user IF 13 to display a message informing of the error (S214).
[0069] As a result, even if the scanner 3 does not support the generic protocol, it can execute a scan based on a scan command by the generic scan control program 45 and obtain the read results in the scan application 42 of the PC 1 or PC 2. Also, even if a generic scan control program 45 that does not support push scan is used, it is possible to realize a process similar to push scan in a pseudo manner.
[0070] The scan server program 44 may be continuously executed while the PC1 or PC2 is running, or may be terminated based on, for example, a user's instruction to terminate the program. Before terminating, the scan server program 44 may notify the management program 43 in which it is registered of the termination.
[0071] As described above in detail, according to the scan system 100 of this embodiment, when the system includes a scanner 3 compatible with a dedicated protocol, the management program 43 starts the scan server program 44 corresponding to the scanner 3 and registers the started scan server program 44 in the OS 41. This allows the scan server program 44 to be selected as a scanner in the OS 41. Furthermore, when the OS 41 receives a scan job in which the scan server program 44 is specified as an output destination, it passes a scan command based on the scan job to the scan server program 44. The scan server program 44 sends a scan command to the scanner 3 using the dedicated protocol, receives the scan result from the scanner 3, and returns it to the OS 41. This allows a scan instruction to be issued from the scan application 42 or the like and the scan result to be obtained even for a scanner 3 that does not support a general-purpose protocol.
[0072] Next, a second embodiment of the scan system will be described in detail with reference to the attached drawings. This embodiment discloses a scan system 100 having the same hardware configuration as the first embodiment, in which the scan server program 44 is not shared among multiple PCs. In other words, in the scan system 100 of this embodiment, each PC that uses the scanner 3 uses its own scan server program 44. In the following, the same configurations and procedures as those of the first embodiment will be denoted by the same reference numerals as those of the first embodiment, and description thereof will be omitted.
[0073] The registration procedure of the virtual scanner in the scan system 100 of this embodiment will be described with reference to the sequence diagram of Fig. 6. When the management program 43 is started (S101), the management program 43 starts the scan server program 44 of its own device without searching for other PCs (S107).
[0074] The scan server program 44 performs initial settings (S108) and notifies the management program 43 of the initial setting information (S109). Based on the information received from the scan server program 44, the management program 43 passes the information of the scan server program 44 to the OS 41 (S110). Based on the information received from the management program 43, the OS 41 registers the scan server program 44 as a scanner (S113).
[0075] In this embodiment, as described below, the scan results received by the scan server program 44 are limited to data addressed to the device itself. Therefore, the scan server program 44 of PC1 does not need to generate a save destination list, and does not accept list registration requests from other PCs. A user who wants to use the scanner 3 on PC2 starts the management program 43 on PC2, just like PC1, and starts the scan server program 44 of PC2, which is then registered in the OS 51 of PC2.
[0076] Following the procedure in Fig. 6, the procedure for using the scanner 3 with the PC 1 will be described. The procedure for so-called pull scanning is the same as that described in the sequence diagram of Fig. 3. That is, the scan server program 44 communicates with the scanner 3 using a dedicated protocol, checks the status of the scanner 3 (S204-S205), and sends a scan command (S206-S207). The scanner 3 sends the read result to the scan server program 44 (S208-S209). The scan server program 44 receives the read result and passes it to the OS 41 of its own device (S211). The scan server program 44 may also perform image correction.
[0077] Next, the procedure of so-called push scan will be described with reference to the sequence diagram of Fig. 7. Fig. 7 is a sequence diagram in which the procedure of Fig. 6 has been completed in each of PC1 and PC2, and the scan server program 44 of PC1 and the scan server program 44 of PC2 are both running.
[0078] The scanner 3 receives an instruction to start scanning from the operation panel (S301) and transmits a search request to each PC in the scan system 100 (S302). The search request of S302 is passed to both the scan server program 44 of PC1 and the scan server program 44 of PC2. Each scan server program 44 that receives the search request responds to the scanner 3. The scan server program 44 of PC1 responds to the scanner 3 via the communication IF 14 of PC1 (S501). The scan server program 44 of PC2 responds to the scanner 3 via the communication IF 24 of PC2 (S502). S501 and S502 are an example of response processing.
[0079] Based on the received response, scanner 3 displays a list of destination storage information as selectable devices (S304). Having received responses from scan server program 44 of PC1 and scan server program 44 of PC2, scanner 3 displays PC1 and PC2 as selectable destination storage information. Scanner 3 accepts the user's selection from the displayed list (S305), and upon receiving an instruction from the user to start scanning, reads the image of the original (S306).
[0080] If the selection accepted in S305 is PC1 ([PC1]), the scanner 3 transmits the read result to the scan server program 44 of PC1 (S503). The scan server program 44 of PC1 stores the received read result in the memory 12 (S504). In this embodiment, the scan server program 44 receives only the scan result for which the device itself is the destination, so the scanner 3 does not need to add destination information to the scan result before sending it. In addition, the management program 43 does not need to receive the read results from the scan server program 44 .
[0081] If the selection accepted in S305 is PC2 ([PC2]), the scanner 3 transmits the read result to the scan server program 44 of PC2 (S505). The scan server program 44 of PC2 stores the received read result in the memory 22 (S506). Thereafter, the processes of S309 to S311 and S313 shown in FIG. 4 may be executed, or the process shown in FIG. 5 may be executed.
[0082] As described above in detail, the scan system 100 of this embodiment also allows a scan application 42 or the like to issue a read instruction to a scanner 3 that does not support a general-purpose protocol, and allows the scan result to be obtained. Also, push scan, which is not supported by the general-purpose scan control program 45, can be realized in a pseudo manner. In this embodiment, communication between PC1 and PC2 is not required, and the communication load is small, compared to the first embodiment. Meanwhile, in the first embodiment, for example, by using the scan server program 44 of PC2, the processing load of PC1 is reduced.
[0083] It should be noted that each embodiment is merely an example and does not limit the present invention in any way. Therefore, the technology disclosed in this specification can be naturally improved and modified in various ways without departing from the gist of the present invention. For example, the number of PCs and printers constituting each embodiment is not limited to the illustrated examples. For example, the scan system 100 may include two or more scanners, and may include a scanner compatible with the general-purpose scan control program 45. Also, a PC not equipped with the scan server program 44 may be included.
[0084] Also, for example, in the push scan procedure, the scanner 3 transmits the read results to the scan server program 44, which stores them in a memory area managed by the scanner 3, but the read results may be stored in the memory of the scanner 3. In that case, the scan server program 44 may receive a request for the read results from the management program 43 or the OS 41, communicate with the scanner 3, and determine whether the read results are in the memory of the scanner 3.
[0085] Also, for example, the scanner 3 may accept registration of the save destination list on its own device and store it in advance instead of receiving it from the scan server program 44. For example, the save destination list may be accepted by direct input to the scanner 3 using an operation panel of the scanner 3 or the like, or the save destination list may be received from the scan application 42 or the like and stored. On the other hand, if the scanner 3 is configured to receive the save destination list from the scan server program 44, there is no need to store the save destination list in the scanner 3 in advance.
[0086] Also, for example, the scan server program 44 does not have to perform the correction process. There may be another program that performs the correction process.
[0087] In the second embodiment, the management program 43 may be included in the scan server program 44. That is, the scan server program 44 may have a function of registering itself in the OS 41 when started.
[0088] In addition, in any of the flowcharts disclosed in each embodiment, the execution order of multiple processes in any of the steps can be changed as desired or the processes can be executed in parallel, as long as no contradiction occurs in the process content.
[0089] The processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as ASIC, or a combination of these. The processes disclosed in the embodiments may be realized in various forms, such as a recording medium having a program for executing the processes recorded thereon, or a method. [Explanation of symbols]
[0090] 1, 2 PC 3. Scanner 11, 21 CPU 12, 22 Memory 13, 23 User Interface 14, 24 Communication IF 41, 51 OS 43 Management Program 44 Scan Server Program
Claims
1. a program set executable by a computer of a first information processing device, the program set including a first program and a second program; The first program, when a scanner compatible with a first protocol is capable of communicating through a communication interface of the first information processing device and the second program compatible with the scanner is not running, causes the computer to A start-up process for starting the second program; a first registration process for registering the second program as a scanner in an operating system of the first information processing apparatus when the second program is started in the start-up process; Run the command, When the operating system receives a scan job in which the second program registered in the operating system is specified as an output destination by a second protocol different from the first protocol, the second program causes the computer to perform a transmission process of transmitting a scan command in the first protocol that the scanner can support to the scanner via the communication interface based on the scan job; a receiving process of receiving a scan result obtained by the scanner reading the document in response to the scan command transmitted in the transmitting process via the communication interface using the first protocol; Execute the A program set characterized by:
2. 2. A program set according to claim 1, The second program causes the computer to when the first information processing device receives a read result from the scanner via the communication interface without transmitting the scan command to the scanner, executing a storage process of storing the received read result in a memory area managed by the second program. A program set characterized by:
3. A program set according to claim 2, When the operating system accepts the scan job in which the second program is specified as an output destination through the second protocol, the second program causes the computer to executes the transmission process when the read result is not stored in the memory area; and executes a read result response process for responding to the operating system with the read result stored in the memory area without executing the transmission process when the read result is stored in the memory area. A program set characterized by:
4. A program set according to claim 2, The first program causes the computer to inputting an output request for a read result to the second program, and when the read result is passed from the second program, executing a save process for saving the passed read result as a file, and when the output request is input from the first program to the second program, passing the read result stored in the memory area to the first program. A program set characterized by:
5. 2. A program set according to claim 1, a second information processing device is connected to the first information processing device, and the second program is also installed in the second information processing device; the first program does not cause the computer to execute the startup process when the second program of the second information processing device is running; Furthermore, when the first program does not start the second program of the first information processing device because the second program of the second information processing device is running, and the second program of the second information processing device is not registered in the operating system of the first information processing device, the first program causes the computer to causing the second program of the second information processing device to execute a second registration process for registering the second program in the operating system as a scanner; A program set characterized by:
6. A program set according to claim 5, The second program causes the computer to executes a response process for responding with device identification information for identifying the first information processing device when a search request is received from the scanner, the scanner is capable of having a plurality of pieces of destination information indicating a destination for storing the read result, and is capable of selecting a destination for storing the read result from among the plurality of pieces of destination information, and after receiving the device identification information for identifying the first information processing device, if the destination information indicating the first information processing device or the second information processing device is selected as a destination for storing the read result, transmits the read result together with the selected destination information to the first information processing device; The second program causes the computer to when the first information processing device receives the read result transmitted from the scanner via the communication interface using the first protocol, executes a storage process of associating the received read result with destination information received together with the read result and storing the result in a memory area managed by the second program; A program set characterized by:
7. A program set according to claim 6, When the first program executes the startup process to start the second program of the first information processing device, the first program causes the computer to executing a first registration request process for passing a list registration request to the second program of the first information processing device; Furthermore, when the first program does not start the second program of the first information processing device because the second program of the second information processing device is running, and the second program of the second information processing device is not registered in the operating system of the first information processing device, the first program causes the computer to causing the second program of the second information processing device to execute a second registration request process for transmitting the list registration request; Furthermore, the second program, when the list registration request is received, causes the computer to executes a list registration process for registering device identification information for identifying a device that has transmitted the list registration request in a list held by the second program; Furthermore, in the response process of the second program, When a search request is received from the scanner, the device identification information registered in the list is responded to the scanner, and the scanner that has received the device identification information by the response process stores the received device identification information as the storage destination information. A program set characterized by:
8. A program set according to claim 6 or 7, When the operating system of the second information processing apparatus accepts the scan job in which the second program is specified as an output destination by the second protocol, the second program causes the computer to executes the transmission process when the read result associated with the device identification information indicating the second information processing device is not stored in the memory area; when the read result associated with the destination information indicating the second information processing device is stored in the memory area, execute a read result response process for responding to the operating system of the second information processing device the read result associated with the device identification information indicating the second information processing device stored in the memory area without executing the transmission process; A program set characterized by:
9. A program set according to claim 6 or 7, The first program causes the computer to transmits an output request for the reading result to the second program of the second information processing device, and when the reading result is received from the second program, executes a saving process for saving the received reading result as a file, the first program transmits the save destination information indicating the first information processing device together with the output request, and the second program of the second information processing device that has received the output request transmits the reading result associated with the save destination information indicating the first information processing device received together with the output request, among the reading results stored in a memory area managed by the second program, to the first program of the first information processing device. A program set characterized by:
10. A program set according to any one of claims 1 to 9, The second program causes the computer to executing an image correction process for correcting the image of the read result received in the receiving process; A program set characterized by:
11. A method for acquiring a scanning result of a scanner corresponding to a first protocol by an information processing device, comprising: a start step of starting the scan server program in the information processing device when the scanner is capable of communicating with the information processing device and a scan server program corresponding to the scanner is not running in the information processing device; a registration step of registering the started scan server program as a scanner in an operating system of the information processing device when the scan server program is started in the start step; an acquisition step of having the scan server program acquire the scan job when the operating system accepts the scan job, which specifies the scan server program registered in the operating system as an output destination, by a second protocol different from the first protocol while the scan server program is running; a transmission step of causing the scan server program to transmit, from the information processing device to the scanner, a scan command of the first protocol that the scanner can support, based on the scan job acquired in the acquisition step; a receiving step in which the information processing device receives a read result obtained by the scanner reading the document in response to the scan command transmitted in the transmitting step, by using the first protocol; Including, The acquisition method according to claim 1,
12. A communication interface; A computer, In an information processing device comprising: The computer includes: a start-up process for starting a scan server program when a scanner compatible with a first protocol is capable of communicating via the communication interface and a scan server program compatible with the scanner is not running; a registration process for registering the started scan server program as a scanner in an operating system of the information processing apparatus when the scan server program is started in the start-up process; an acquisition process for causing the scan server program to acquire a scan job when the operating system accepts the scan job, which specifies the scan server program registered in the operating system as an output destination, by a second protocol different from the first protocol while the scan server program is running; a transmission process in which the scan server program transmits a scan command of the first protocol that the scanner can support to the scanner via the communication interface based on the scan job acquired in the acquisition process; a receiving process of receiving a scan result obtained by the scanner reading the document in response to the scan command transmitted in the transmitting process via the communication interface using the first protocol; Execute 23. An information processing apparatus comprising:
Citation Information
Patent Citations
Image reading device
JP2006139376A
Multifunction machine, multifunction machine control system, program and recording medium
JP2011124652A
Image reading system, image reader, control method thereof, and program
JP2012044420A
Image input system, information processing apparatus, method for controlling the same, and program
JP2012253515A
Program and information processing terminal
JP2018164217A