Program, information processing device, and control method for the information processing device.
The program enhances device detection by managing unique identification information for connected devices, addressing issues with Bonjour's inability to differentiate between devices with the same identification on non-network interfaces.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-06
- Publication Date
- 2026-03-18
AI Technical Summary
Existing device detection technologies, such as Bonjour, struggle to differentiate between multiple devices connected via non-network interfaces like USB, leading to difficulties in identifying specific devices due to the same identification information being set for multiple devices.
A program that enables a computer to acquire and manage unique identification information for each connected device, prompting users to change the identification information if necessary, ensuring distinct identification for each device.
Enables more accurate and suitable use of devices even when the same identification information is set for multiple devices, improving device detection and functionality.
Smart Images

Figure 2026049203000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a program, an information processing apparatus, and a control method for an information processing apparatus.
Background Art
[0002] Conventionally, devices such as printers equipped with a connection interface compliant with a standard called USB (Universal Serial Bus) have been widely used. In the USB standard, it is possible to set a plurality of logical channels called endpoints. For example, different endpoints are assigned for each function provided by devices such as printers, such as printing and scanning, and each function can be used from a host computer via the USB connection interface. In addition, some printers have a Web server function or an IPP (Internet Printing Protocol) function. With such a printer, it is possible to change settings via a network using a Web browser or the like, or to perform printing or scanning using IPP. Also, a communication standard called IPP over USB has been defined that enables IPP, which is assumed to be used in a TCP / IP network, to be used between a host computer and a printer connected via USB. As software for controlling a printer having each of the above functions, printer-specific software provided by a printer vendor (hereinafter also referred to as a proprietary printer driver) is known. Also known is a technique in which an operating system (hereinafter referred to as an OS) provides a standard printing function (hereinafter also referred to as an OS standard printing function) without requiring a proprietary printer driver.
[0003] In addition, the aforementioned OS standard printing function sometimes uses zero-configuration networking technology, which enables computers, printers, and other terminals and devices to automatically connect to the network without human intervention. One example of this zero-configuration networking technology is Bonjour, developed by Apple Inc. Bonjour is a service that operates on TCP / IP and has the function of automatically detecting terminals, printers, and other devices connected to a LAN (Local Area Network). Furthermore, Bonjour also has the function of searching for devices that can provide the desired service from among the detected devices. Therefore, by using Bonjour, it becomes possible to automatically detect, for example, printers that provide IPP (Independent Printing Platform). On the one hand, Bonjour primarily detects devices that communicate via a network. Therefore, Bonjour may have difficulty detecting devices connected to the host computer via non-network connections such as USB interfaces. On the other hand, if the target device (printer) has the IPP over USB protocol, it may be possible for Bonjour to detect devices (printers) connected to the host computer via USB interfaces. Thus, technologies are being considered to enable the detection of devices that have been difficult to detect using only the basic configuration of Bonjour. Patent Document 1 discloses a technology for detecting nearby printers using Wi-Fi Direct. [Prior art documents] [Patent Documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2016-186774 [Overview of the project] [Problems that the invention aims to solve]
[0005] On the other hand, when devices such as printers are allowed to be connected via connection methods other than those that connect via a network, such as a USB connection interface, the same Bonjour service name may be set for multiple different devices. In such situations, when the detection of target devices is performed by specifying a service name (identification information) such as Bonjour, it may become difficult to detect some devices.
[0006] In view of the above problems, the present invention aims to enable the use of each device in a more suitable manner, even in situations where the same identification information can be set for multiple devices. [Means for solving the problem]
[0007] The program according to the present invention causes a computer to function as an information processing device comprising: a first acquisition means for acquiring a first type of identification information and a second type of identification information uniquely set for an external device to which a first type of identification information has been set as a connected and used device; a first determination means for determining whether there are multiple external devices to which the same first type of identification information has been set among a series of external devices from which the first type of identification information has been acquired by the first acquisition means; a second determination means for determining whether different second type of identification information has been set for each of the multiple external devices if the first determination means determines that there are multiple external devices to which the same first type of identification information has been set; and a notification means for notifying the user to change the first type of identification information set for at least one of the multiple external devices if the second determination means determines that different second type of identification information has been set for each of the multiple external devices. [Effects of the Invention]
[0008] According to the present invention, even in situations where the same identification information can be set for multiple devices, each device can be used in a more suitable manner. [Brief explanation of the drawing]
[0009] [Figure 1] This diagram shows an example of the system configuration. [Figure 2] This diagram shows an example of the software configuration of a host computer. [Figure 3] This diagram illustrates an example of the processing performed by the portal application. [Figure 4] This diagram illustrates an example of the processing performed by the portal application. [Figure 5] This diagram shows an example of a UI screen. [Figure 6] This diagram shows an example of a UI screen. [Figure 7] This diagram illustrates an example of the processing performed by the portal application. [Figure 8] This diagram shows an example of a UI screen. [Figure 9] This diagram illustrates an example of the processing performed by the portal application. [Figure 10] This figure shows an example of the display screen for the remote UI. [Figure 11] This diagram shows an example of a dialog box for information notification. [Figure 12] This diagram shows the structure of a DeviceURI. [Figure 13] This diagram shows an example of the URL structure for a remote UI. [Modes for carrying out the invention]
[0010] Preferred embodiments of this disclosure will be described in detail below with reference to the attached drawings. Note that the following embodiments are not intended to limit the scope of the claims of this disclosure, and not all combinations of features described in these embodiments are necessarily essential to the solutions of this disclosure.
[0011] <System Configuration> Referring to FIG. 1, an example of the system configuration of a system according to an embodiment of the present disclosure will be described. The system according to this embodiment includes a host computer 11, a printer 12, and a printer 13. Also, each of the host computer 11, the printer 12, and the printer 13 is connected so as to be able to communicate with each other via a communication bus 121 such as Ethernet (registered trademark) or USB. In the example shown in FIG. 1, an example of the case where two printers are connected to the host computer 11 via the communication bus 121 is shown, but the system configuration of the system according to this embodiment is not limited, and three or more printers may be connected.
[0012] The host computer 11 corresponds to an example of the information processing apparatus according to this embodiment. An operating system (hereinafter also referred to as "OS") is installed in the host computer 11. The OS includes an OS standard printing function unit 202, which is OS standard printing software described separately later with reference to FIG. 2. The host computer 11 is realized by, for example, a personal computer (PC) or the like, and includes a CPU 101, a ROM 102, a RAM 103, a display unit 104, an input unit 105, an external storage device 106, and an interface (I / F) unit 107. Note that the host computer 11 of this embodiment is not limited to a desktop PC, and may be realized by a notebook PC, a tablet PC, or a smartphone. The host computer 11 transmits an instruction, print data, a setting command, etc. for controlling the operation of the target printer to each of the printers 12 and 13.
[0013] The CPU 101 is a central processing unit that controls each part of the host computer 11, and executes control programs such as the OS and an OS print data conversion utility described later. The ROM 102 is realized by a read-only memory, and is a storage area in which programs, data, etc. for the CPU 101 to control each part of the host computer 11 are stored. RAM 103 is a storage area realized by a random access memory and used to temporarily hold various data. For example, it can be used as the working area of the CPU 101. The display unit 104 is realized by a display device such as a display, and serves as an output interface for presenting various information to the user by displaying the information. As a specific example, information received via the input unit 105, the user interface screens of the OS and applications, and various messages can be displayed on the display unit 104. The input unit 105 is realized by an input device such as a keyboard and a mouse, and serves as an input interface for receiving various instructions from the user to the host computer 11. The external storage device 106 is realized by a storage device such as an HDD, and stores various control programs such as application and OS print data conversion utilities. The I / F unit 107 is a communication module that transmits and receives data to and from external devices such as printers 12 and 13.
[0014] Each of the printers 12 and 13 corresponds to an example of an image forming device that forms an image on a recording medium such as paper. For example, an inkjet printer or the like can be applied. Note that substantially the same configuration can be applied to each of the printers 12 and 13. Therefore, here, an example of the configuration of the printer 12 will be described, and a detailed description of the configuration of the printer 13 will be omitted. The printer 12 includes a CPU 111, a ROM 112, a RAM 113, a print engine 114, and an I / F unit 115. The CPU 111 is a central processing unit that controls the operations of the respective components of the printer 12 described below. The ROM 112 is realized by a read-only memory and is a storage area that stores programs for controlling the print engine 114 and the like. RAM 113 is a memory area implemented by random access memory and used to temporarily hold various types of data. For example, it can hold programs related to the control of the operation of the print engine 114, or setting values received from the host computer 11. The print engine 114 forms an image on a recording medium such as paper (i.e., performs printing) based on the print data transmitted from the host computer 11. The I / F unit 115 is a communication module that receives various data, such as print data, from the host computer 11. The I / F unit 115 also has a function to transmit the current status information of the printer 12 from the printer 12 to the host computer 11. Status information corresponds to status data that represents the state of the printer 12. Status information is transmitted from the printer 12 to the host computer 11 in response to a request from the host computer 11 connected to the printer 12 via the I / F unit 115. Status data may include information to notify various things such as the operating status of the printer 12, such as "printing" and "standby," and the error status of the printer 12, such as "out of paper," "cover open," and "no consumables remaining." Status data may also include information such as the type of consumables installed in the printer 12, the display color for each consumable, and the remaining amount of each consumable. Since the interface unit 116 of printer 13 can be configured in essentially the same way as the interface unit 115 of printer 12, a detailed explanation will be omitted.
[0015] <Software Configuration> Referring to Figure 2, an example of the software configuration of the host computer 11 according to this embodiment will be described. The host computer 11 according to this embodiment includes a printing system 201 for providing printing functions. The printing system 201 also includes an OS standard printing function unit 202, a specific printer driver unit 203, and a printer management unit 204. The OS standard printing function unit 202 and the specific printer driver unit 203 are software that converts data output from an application into data for printing on a printer, and then causes the printer to execute printing based on that data. In order to enable the use of a printer via the printing system 201, the target printer must be registered in advance via the printer management unit 204. This registration process is performed for each printer or for each connection type. For example, even for the same printer, separate registrations and management may be performed for connections via USB (hereinafter also referred to as USB connection) and connections via a network such as a LAN (hereinafter also referred to as network connection).
[0016] The host computer also includes a printer portal application 211. The printer portal application 211 includes a printer information acquisition unit 212 and a function display unit 213. The printer portal application 211 is software that performs processes related to acquiring information about the printer 12, printing, scanning, etc., according to user instructions, the printer's connection status, etc. The printer information acquisition unit 212 acquires device information of printers (for example, printers 12, 13, etc.). As a specific example, the printer information acquisition unit 212 may acquire device information of printers registered in the printer management unit 204. The function display unit 213 presents various information, such as printer device information acquired by the printer information acquisition unit 212, to the user by displaying it in a predetermined display area. The function display unit 213 may also have a function to display a web page based on the printer device information acquired by the printer information acquisition unit 212. An example of a web page displayed by the function display unit 213 based on the printer device information is a web page (hereinafter also referred to as a remote UI) that allows the user to change the settings of the target printer via a network from a web browser.
[0017] <Overview of the Printer Management Department in the Printing System> The printer management unit 204 of the printing system 201 according to this embodiment is described below. Figure 6 shows an example of a screen provided by the printer management unit 204. The main window 601 shown in Figure 6(a) may be displayed in response to user instructions, for example, via a standard configuration application running on macOS®, Inc. The main window 601 includes a printer list section 611, a printer registration delete button 613, a printer preview section 614, a printer information section 615, a default printer setting section 616, and a default paper size setting section 617.
[0018] When a printer is to be registered with the printing system, the user can, for example, use the "+" button on the printer registration deletion button 613 to receive instructions regarding printer registration. When this "+" button is pressed, the connected printer list window 602 of the printer management unit 204, as shown in Figure 6(b), is displayed.
[0019] The connected printer list section 621 of the connected printer list window 602 displays a list of printers currently connected to the host computer 11. For printers that support multiple connection methods, information is displayed separately for each connection method. As a specific example, for a printer that supports both network and USB connections, information corresponding to each connection method will be displayed separately in the connected printer list section 621. In this embodiment, various explanations will be given assuming that a technology called Bonjour, provided by Apple Inc., is used to detect printers currently connected to the host computer 11.
[0020] When a user selects a number of printers from the list of connected printers displayed in the connected printer list section 621 and presses the registration button 622, the selected printers are registered to the printer management section 204. If the printer registration process is successful, the connected printer list window 602 of the printer management section 204 is closed, and the queue of registered printers is displayed in the printer list section 611 of the main window 601. For example, in the example shown in Figure 6(a), the queue of registered printers is displayed in area 612. In the example shown in Figure 6(a), the name displayed in the connected printer list section 621 is the Bonjour service name. In the case of network-connected printers, the name displayed in the connected printer list section 621 is the Bonjour service name set on the printer (main unit). In contrast, in the case of USB-connected printers, due to the Bonjour specifications, the default Bonjour service name is displayed regardless of the settings on the printer (main unit).
[0021] The printers displayed in the printer list section 611 of the printer management unit 204 are printers registered in the printing system 201 and correspond to printers that can print or scan. When a user selects a printer to use via the printer list section 611, a preview image of the selected printer is displayed in the printer preview section 614. In addition, the printer information section 615 displays information such as the connection type (USB), OS standard printing function, and printer status (standby). As shown in Figure 1, when the printer 12 is connected to the host computer 11 via USB, the printer registration process to the printer management unit 204 is automatically executed, and the printer 12 is registered in the printer list section 611 of the main window 601. The default Bonjour service name of the printer 12 is then set as the Bonjour service name for the printer 12 registered in the aforementioned printer list section 611. In some cases, the printer's model name may be set as the default Bonjour service name. In such situations, for example, if printer 12 and printer 13 are the same model, the same name may be set as the default Bonjour service name. As a specific example, suppose there is a printer 12 connected via network and a printer 13 connected via USB, and the default Bonjour service name is applied to printer 12. Under these circumstances, if printer 12 is registered in the printer list unit 611 first, and then printer 13 is registered in the printer list unit 611, both printer 12 and printer 13 will be registered with the same Bonjour service name.
[0022] The printing system 201 maintains information such as the printer queue name and DeviceURI for each printer queue registered in the printer management unit 204. Here, we will explain DeviceURI with reference to Figure 12. DeviceURI is a Uniform Resource Identifier that is uniquely set for a device in order to identify that device, and conforms to the basic URI structure of RFC3986. Therefore, as indicated by the reference numeral 1200 in Figure 12, DeviceURI can be divided into a Scheme part, a Host part, and a Query part. As indicated by the designation 1201, the strings included in the Scheme portion of DeviceURI distinguish between USB-connected printers and network-connected printers. Therefore, by analyzing the Scheme portion, it is possible to determine the connection type when registered with the printer management unit 204. Furthermore, the Host section is the service instance name for Domain Name System-based service discovery (hereinafter referred to as DNS-SD). As indicated by the code 1202, the Host section consists of the Bonjour service name (instance name), service type, and domain. As indicated by the designation 1203, the Query section includes a Universally Unique Identifier (hereinafter referred to as UUID). The UUID is applied as a unique value for each individual printer (in other words, identification information that identifies each individual printer).
[0023] Furthermore, the printing system 201 has a function to display the remote UI of a printer whose information has been acquired by the printer information acquisition unit 212. Figure 13 shows an example of the structure of the URL of the remote UI. As shown in Figure 13, the URL 1300 of the remote UI consists of a host name and port number indicated by the code 1301, and a fixed string indicated by the code 1302.
[0024] <First Embodiment> A first embodiment of this disclosure is described below. There is a situation in which a host computer 11 is connected to multiple printers that are separate units but have the same Bonjour service name set. Furthermore, there is a situation in which the host computer 11 is connected to these multiple printers by separate interfaces. Specifically, these separate interfaces are, for example, an interface for connection by USB (hereinafter referred to as the USB interface) and an interface for connection by wireless LAN (hereinafter referred to as the wireless LAN interface). Here, the multiple printers mentioned above are printer 12 and printer 13, printer 12 is connected to the host computer 11 by the USB interface, and printer 13 is connected to the host computer 11 by the wireless LAN interface. Hereinafter, this situation will be referred to as the specific situation. Furthermore, when the OS on the host computer 11 obtains the Bonjour service name from the printer, it also obtains other information from the printer, and therefore manages the Bonjour service name in association with this other information. The portal application on the host computer 11 can notify the OS of the host computer 11 of the Bonjour service name, and in doing so, obtain the information that is managed in association with the notified Bonjour service name from the OS. Specifically, this other information includes, for example, the URL for displaying the screen for configuring various printer settings (the remote UI described later). However, in certain situations, when a portal application attempts to obtain other information about printer 12 by notifying the OS of the Bonjour service name of printer 12, the OS also manages the Bonjour service name of printer 13, which is the same as that of printer 12. As a result, the portal application may obtain information about printer 13 instead of information about printer 12. For example, even if the application attempts to obtain a URL to display the screen for configuring various settings for printer 12, it may obtain a URL to display the screen for configuring various settings for printer 13 instead. In other words, in certain situations, the OS managing multiple identical Bonjour service names makes it difficult for the user to obtain the information they desire using the Bonjour service name information acquisition function (Bonjour service detection function). The information the user desires is, for example, information about the printer selected as the communication target, as described later. This is because the user selects the printer to communicate with. Furthermore, if the OS manages the Bonjour service name notified by the application in association with both printers connected via USB interface and printers connected via wireless LAN interface, it will prioritize notifying the application of information related to printers connected via wireless LAN interface over information related to printers connected via USB interface. The OS manages the Bonjour service name notified by the application in association with both printers connected via USB interface and printers connected via wireless LAN interface when the Bonjour service name obtained from the printer connected via USB interface and the Bonjour service name obtained from the printer connected via wireless LAN interface are the same. Therefore, if the information desired by the user concerns a printer connected via wireless LAN interface, the application may be able to obtain that information even in certain situations. In other words, obtaining the information desired by the user becomes difficult mainly when the information desired by the user concerns a printer connected via USB interface.
[0025] In light of the above circumstances, this embodiment describes an example of a technique that resolves the problem by prompting the user to change the Bonjour service name in specific situations. Furthermore, there are situations where multiple printers, each with the same Bonjour service name but distinct from the others, are connected to the host computer 11, and the host computer 11 is connected to all of these printers via the same interface. In this situation, the OS manages information with at least one of the Bonjour service names obtained from each printer partially modified. As a result, the OS manages each printer by associating it with a different Bonjour service name, and the portal application also obtains a different Bonjour service name, thus avoiding the issues that arise in specific situations.
[0026] Referring to Figure 3, an example of processing implemented by the printer portal application 211 will be described, in which the printer information acquisition unit 212 acquires information on printers registered in the printer management unit 204 and notifies the user of the information according to the result. In explaining the series of processes shown in Figure 3, Figure 5 will also be used as a reference. Figure 5 is an example of a UI screen generated by the function display unit 213 of the printer portal application 211. This UI screen includes a taskbar 500, a function shortcut placement area 501, selected printer information 502, and a notification area 503 prompting a change in the Bonjour service name. The notification area 503 displays notifications prompting a change in the Bonjour service name, etc. In the following, for convenience, each software and function block may be described as the main body of each process, but in reality, the corresponding function can be realized by the CPU 101 executing the corresponding program.
[0027] When the printer portal application 211 is launched, in S301, the printer portal application 211 retrieves the printer queue information registered in the printer management unit 204 from the OS in a batch. The printer queue information retrieved here is information managed by the OS. The printer queue information is composed of information obtained from printers that the host computer 11 has connected to in the past and printers that the host computer 11 is currently connected to. Note that the process related to retrieving the printer queue information registered in the printer management unit 204 may be executed at times other than when the application is launched. One example of when the S301 process starts is when the user operates the UI (User Interface) of the printer portal application and transitions to another screen. The application can also register printers corresponding to the printer queue information with the application by retrieving the printer queue information from the OS. The application can then select a printer to communicate with by accepting a selection from the user from among the multiple printers registered in the application. When a printer to communicate with is selected, the application can display buttons to display a screen for configuring various settings of the printer to communicate with using the remote UI function of the printer to communicate with. Therefore, for example, the processing of S301 may occur at the time the button in question is operated. Furthermore, printer queue information can be obtained, for example, by using standard OS functions. Also, the processing of S301 may be executed if there are multiple printers registered in the printer management unit 204. The information obtained in S301 includes the Bonjour service name, which is the first type of printer identification information, and the DeviceURI, which is the second type of printer identification information.
[0028] Next, as a loop process indicated by S302, the printer portal application 211 repeatedly executes the series of processes from S303 to S306, sequentially processing each of the series of printer queue information obtained in S301. The processes indicated as S303 to S306 will be explained in detail below.
[0029] In S303, the printer portal application 211 extracts information for individual printers from the printer queue information acquired collectively in S301. As a specific example, if printers 12 and 13 are registered with the printer management unit 204, printer queue information for both printer 12 and printer 13 will be acquired in S301. In this case, the printer portal application 211 extracts the set of printer queue information corresponding to the printer to be processed (for example, printer 12) from among printers 12 and 13. In S304, the printer portal application 211 obtains the DeviceURI of the target printer from the set of individual printer queue information for the printer to be processed extracted in S303. Note that the DeviceURIs of multiple separate printers will each have different content. Note that the identification information obtained here is not limited to the DeviceURI, as long as the information assigned to multiple separate printers has different content. For example, the identification information obtained here may be a serial number, etc. At this time, the printer portal application 211 may also obtain other printer queue information other than the DeviceURI from the set of printer queue information extracted in S303. Examples of information about the target printer to be managed as printer queue information include the printer name and model name. In S305, the printer portal application 211 extracts the Bonjour service name set for the target printer from the DeviceURI obtained in S304. Specifically, as described above with reference to Figure 12, the printer portal application 211 can extract the instance name described in the Host part of the DeviceURI as the Bonjour service name. In S306, the printer portal application 211 extracts the unique individual value of the target printer from the DeviceURI obtained in S304. Specifically, the printer portal application 211 should extract the unique individual value from the Query portion of the DeviceURI, as described above with reference to Figure 12. Note that the unique individual values of multiple printers of different units will each be different.
[0030] When the printer portal application 211 completes the loop process indicated by S302, it proceeds to S307. In S307, the printer portal application 211 determines whether there are multiple printers with the same Bonjour service name, based on the extraction results of the Bonjour service names for each of the series of printers processed in S305. A Bonjour service name shared by different individual printers is referred to below as a specific Bonjour service name. If the printer portal application 211 determines in S307 that there are no multiple printers with the same Bonjour service name, it terminates the series of processes shown in Figure 3. In this case, the Bonjour service detection function can be used without any problems. On the other hand, if the printer portal application 211 determines in S307 that there are multiple printers with the same Bonjour service name, it proceeds to S308.
[0031] In S308, the printer portal application 211 determines whether the individual values of all printers with the same Bonjour service name match. This process determines whether the same Bonjour service name was obtained from multiple separate printers because the host computer 11 was connected to multiple separate printers with the same Bonjour service name via separate interfaces, or whether the same Bonjour service name was obtained from a single printer because the host computer 11 was connected to one printer via two interfaces. If the printer portal application 211 determines in S308 that the individual unique values for all printers with the same Bonjour service name match, it terminates the series of processes shown in Figure 3. In this case, the Bonjour service detection function can be used without any problems. On the other hand, if the printer portal application 211 determines in S308 that at least some of the individual unique values differ among multiple printers that have the same Bonjour service name set, it proceeds to S309. In this case, as described above, the Bonjour service detection function may make it difficult to obtain the information desired by the user. In S309, the printer portal application 211 notifies the user to change the Bonjour service name of at least one of several printers that have the same Bonjour service name. For example, Figure 11 shows an example of a dialog box 1101 that the printer portal application 211 displays in a predetermined display area to prompt the user to change the Bonjour service name. By prompting the user to change the printer's Bonjour service name in this way, it is expected that the Bonjour service name will be changed, and as a result, the application will be able to obtain information about the printer from the OS using the Bonjour service detection function. The screen displayed in S309 may include information indicating the printer whose Bonjour service name should be changed. Specifically, for example, the screen displayed in S309 may display a specific Bonjour service name. In this embodiment, the Bonjour service name is the printer model number, so by displaying the Bonjour service name, the user can identify the printer whose Bonjour service name should be changed. The screen displayed in S309 may also include text prompting the user to change the Bonjour service name of one of several printers of the same model number connected to the host computer 11. The screen displayed in S309 may also include text indicating how to change the Bonjour service name. Specifically, the method of changing the Bonjour service name may be, for example, performing a predetermined operation on the printer to change the Bonjour service name, or performing an operation on a screen displayed by the remote UI. The remote UI will be described in detail in the second embodiment.
[0032] <Second Embodiment> A second embodiment of this disclosure is described below. In this embodiment, the description will focus on parts that are particularly different from the first embodiment described above, and detailed descriptions of parts that are substantially the same as those of the first embodiment will be omitted. As mentioned above, if the same Bonjour service name is assigned to different printers, and some of these printers are connected via USB, it becomes difficult to identify the USB-connected printers using Bonjour. In such situations, it may be difficult to use functions that rely on information acquisition via the Bonjour service detection function for those USB-connected printers. In light of the above circumstances, this embodiment describes an example in which a remote UI is displayed for a network-connected printer that can be detected by the Bonjour service detection function, and a notification is issued to the user prompting them to change the Bonjour service name. The remote UI is a screen for configuring various printer settings, and is displayed in the web browser based on screen information obtained from the printer when a URL is entered into the web browser.
[0033] Referring to Figure 4, an example of processing implemented by the printer portal application 211 will be described, which displays the remote UI of a network-connected printer detected by the Bonjour service detection function and prompts the user to change the Bonjour service name. In explaining the series of processes shown in Figure 4, please also refer to Figure 10. Figure 10 is a diagram showing an example of the remote UI screen 1000 of a network-connected printer that is displayed when the series of processes shown in Figure 4 is executed. The printer portal application 211 includes a Bonjour service name input unit 1001 for accepting input of the Bonjour service name to be set, and a setting information confirmation unit 1002. In the following, for convenience, each software and functional block may be described as the main body of each process, but in reality, the corresponding function can be realized by the CPU 101 executing the corresponding program.
[0034] The processing from S401 to S408 is substantially the same as the processing from S301 to S308 described with reference to Figure 3 in the first embodiment, so a detailed explanation is omitted. In this embodiment, if the printer portal application 211 determines in S408 that at least some of the individual unique values are different among multiple printers that have the same Bonjour service name set, the process proceeds to S409.
[0035] In S409, the printer portal application 211 identifies the network-connected printer from a series of printers with the same Bonjour service name. The connection type of each printer can be determined, for example, by referring to Figure 12, based on the description in the Scheme section of the DeviceURI obtained in S404, to determine whether it is a network connection or a USB connection. Of course, this method is merely an example, and the method is not limited to any method that can determine the connection type of the target printer. In S410, the printer portal application 211 notifies the user to change the Bonjour service name. The processing in S410 is substantially the same as the processing in S309 shown in Figure 3.
[0036] In S411, the printer portal application 211 searches for printers with the Bonjour service name specified in S409. In this process, the printer portal application 211 may also add the service type and domain extracted in S305 as search criteria in addition to the Bonjour service name. In S412, the printer portal application 211 determines whether or not a printer with the Bonjour service name specified in S411 has been detected. If the printer portal application 211 determines that it could not find the printer with the Bonjour service name specified in S412, it terminates the series of processes shown in Figure 4. In this case, the printer portal application 211 terminates the series of processes because it is difficult to obtain the URL information of the remote UI for changing the settings of the target printer over the network. On the other hand, if the printer portal application 211 determines that a printer with the Bonjour service name specified in S412 has been detected, it proceeds to S413.
[0037] In S413, the printer portal application 211 obtains the URL information of a remote UI for changing the settings of a printer via the network from the printer queue information of the printer detected by Bonjour in S411. In S414, the printer portal application 211 displays the remote UI of the target printer in the user's web browser based on the URL information obtained in S413. By applying this control, it becomes possible to prompt users to change the Bonjour service name of network-connected printers. Furthermore, it is expected that when the user changes the Bonjour service name via the remote UI, the Bonjour service detection function will be able to obtain the information desired by the user.
[0038] <Third Embodiment> A third embodiment of this disclosure is described below. In this embodiment, the description will focus on parts that are particularly different from the first and second embodiments described above, and detailed descriptions of parts that are substantially the same as those of the first and second embodiments will be omitted. If the same Bonjour service name is configured for both a network-connected printer (A) and a USB-connected printer (B), it may be difficult for Bonjour to identify the USB-connected printer. In such cases, the use of functions that rely on information acquisition via the Bonjour service discovery function may be restricted. This embodiment describes an example of a mechanism for solving such problems. Specifically, in this embodiment, when the Bonjour service name of a network-connected printer detectable by the Bonjour service detection function is changed, the printer portal application 211 detects the change. Then, the printer portal application 211 notifies the user via the UI that the Bonjour service name has been changed and that re-registration of the printer queue is required. Furthermore, when the Bonjour service name is changed, the procedure for displaying a badge on the printer portal application UI to inform the user that the Bonjour service name has been changed will be described in detail later, referring to Figure 7. Also, an example of the printer portal application 211 UI for notifying the user that the Bonjour service name has been changed and that re-registration of the printer queue is required will be described in detail later, referring to Figure 8. The remote UI is as described above, referring to Figure 10. In the following, for convenience, each software and functional block may be described as the main entity of each process, but in reality, the corresponding function can be realized by the CPU 101 executing the corresponding program.
[0039] First, let's explain the series of processes shown in the left diagram of Figure 7. Since the processes S701 to S714 are substantially the same as the processes S401 to S414 described in the second embodiment with reference to Figure 4, a detailed explanation will be omitted. In the series of processes shown in the left diagram of Figure 7, when the printer portal application 211 displays the remote UI page in process S714, it saves the Bonjour service name and unique value of the printer identified in S709. Specifically, in S715, the printer portal application 211 sets the Bonjour service name change flag to FLASE. The Bonjour service name change flag set here indicates whether or not the Bonjour service name of the network-connected printer detected in S709 has been changed. In S716, the printer portal application 211 saves the Bonjour service name of the network-connected printer detected in S709 to a predetermined storage area. In S717, the printer portal application 211 stores the unique individual values of the network-connected printer detected in S709 in a predetermined storage area.
[0040] Next, we will explain the series of processes shown in the right-hand diagram of Figure 7. In the series of processes shown in the right-hand diagram of Figure 7, if the Bonjour service name of the printer identified in S709 is changed, a badge indicating that the Bonjour service name has been changed will be displayed on the UI of the printer portal application. Specifically, as a loop process indicated by S718, the printer portal application 211 repeatedly executes the series of processes from S719 to S723 as long as the Bonjour service name change flag set in S715 is FALSE. The timing of the sequential execution of the series of processes from S719 to S723 is not particularly limited; for example, they do not have to be executed repeatedly immediately, but may be executed when any user action is detected. As a specific example, the series of processes from S719 to S723 may be executed when the printer icon displayed in the selected printer information 502 on the UI screen shown in Figure 5 is pressed, causing a screen transition. Another example is when the series of processes from S719 to S723 is executed when a printer is registered in the printer list section 611 of the main window 601 shown in Figure 6(a). Yet another example is when the printer portal application 211 is started or restarted, etc.
[0041] In S719, the printer portal application 211 obtains the DeviceURI of each printer by performing essentially the same processing as in S701 to S706, and extracts the Bonjour service name and individual unique values from the DeviceURI. In S720, the printer portal application 211 reads the unique individual values of the network-connected printers that were stored in a predetermined memory area in S717. Then, the printer portal application 211 determines whether these unique individual values match the unique individual values of each printer extracted in S719. If the printer portal application 211 determines in S720 that no printer with matching individual unique values has been detected, it terminates the series of processes shown in Figure 7 (left). In this case, it means that the problematic printer does not exist. On the other hand, if the printer portal application 211 determines in S720 that a printer with matching individual unique values has been detected, it proceeds to S721.
[0042] In S721, the printer portal application 211 reads the Bonjour service name of the network-connected printer that was stored in a predetermined memory area in S716. Then, the printer portal application 211 determines whether the Bonjour service name matches the Bonjour service name of each printer extracted in S719. If the printer portal application 211 determines in S721 that a printer with a matching Bonjour service name has been detected, it returns to the starting point of the loop process indicated by S718. In this case, since the Bonjour service name of the target printer has not been changed, the loop process will be executed again from the beginning. On the other hand, if the printer portal application 211 determines in S721 that no printer with a matching Bonjour service name was found, it proceeds to S722. In this case, the Bonjour service name of the target printer has been changed.
[0043] In S722, the printer portal application 211 displays a badge on the UI screen, indicated by the symbol 801, as illustrated in Figure 8, to show the user that the Bonjour service name has been changed. In the example shown in Figure 8, the user is notified of the change in the Bonjour service name through visual information such as a badge display, but the method of displaying the information for notification, the direction of expression, and the display position are not particularly limited. In S723, the printer portal application 211 sets the Bonjour service name change flag to TRUE because the Bonjour service name of the network-connected printer identified in S709 has been changed. By applying this control, users can visually recognize that the Bonjour service name has been changed and that this change has not been reflected in the printer portal application 211. Therefore, it is expected that users will re-register the network-connected printer identified in S709 via the printer registration deletion button 613 in the main window 601 shown in Figure 6(a).
[0044] <Fourth Embodiment> A fourth embodiment of this disclosure is described below. In this embodiment, the description will focus on parts that are particularly different from the first, second, and third embodiments described above, and detailed descriptions of parts that are substantially the same as the first, second, and third embodiments will be omitted. As mentioned above, if the same Bonjour service name is assigned to different printers, and some of these printers are connected via USB, it becomes difficult to identify the USB-connected printers using Bonjour. In such situations, it may be difficult to use functions that rely on information acquisition via the Bonjour service detection function for those USB-connected printers. In light of the above circumstances, this embodiment describes an example of a technology that enables some of the restricted functions of a USB-connected printer, for which information is difficult to identify using Bonjour. In this embodiment, various explanations will focus on the case where a function related to the display of a remote UI that enables printer settings via a network is made available, as shown in the process of S714 in Figure 7.
[0045] Referring to Figure 9, an example of processing implemented by the printer portal application 211 will be described, which involves obtaining the port number and hostname of the aforementioned USB printer, creating a remote UI URL, and turning on the remote UI display function. In explaining the series of processes shown in Figure 9, an example of the remote UI display screen mentioned above will also be shown in Figure 10. For convenience, in the following, each software and functional block may be described as the main entity of each process, but in reality, the corresponding function can be realized by the CPU 101 executing the corresponding program.
[0046] The processing from S901 to S908 is substantially the same as the processing from S301 to S308 described with reference to Figure 3 in the first embodiment, so a detailed explanation is omitted. In this embodiment, if the printer portal application 211 determines in S908 that at least some of the individual unique values are different among multiple printers that have the same Bonjour service name set, the process proceeds to S909.
[0047] In S909, the printer portal application 211 identifies USB-connected printers from a series of printers determined in S908 to have the same Bonjour service name. One method for distinguishing connection types is to differentiate between network and USB connections based on the Scheme portion of the DeviceURI obtained in S9044. Of course, the method is not limited to distinguishing the connection type of the target printer, as long as it is possible to do so.
[0048] In S910, the printer portal application 211 searches for the printer using Bonjour by specifying the same Bonjour service name as the USB-connected printer identified in S909, and a string indicating network connection as the service type. This makes it possible to search for network-connected printers with the same Bonjour service name as the USB-connected printer identified in S909 using Bonjour. In addition to the Bonjour service name, the domain name extracted in S905 may also be included in the search criteria when searching for the printer using Bonjour.
[0049] In S911, the printer portal application 211 determines whether a network-connected printer with the same Bonjour service name as the target printer identified in S910, i.e., the USB-connected printer identified in S909, has been detected. If the printer portal application 211 determines in S911 that the target printer was not detected, it proceeds to S916. In this case, it becomes difficult to use the function that displays the remote UI, which allows printer settings to be configured over the network. Therefore, in S916, the printer portal application 211 turns off the remote UI display function and terminates the series of processes shown in Figure 9. On the other hand, if the printer portal application 211 determines in S911 that the target printer has been detected, it proceeds to S912.
[0050] In S912, the printer portal application 211 identifies the unique individual value of the network-connected printer from the information of the network-connected printer detected by Bonjour in S910. In S913, the printer portal application 211 checks whether the unique identifier of the network-connected printer obtained in S912 matches the unique identifier obtained in S906 for the USB-connected printer identified in S909. In S914, the printer portal application 211 determines, as a result of the matching in S913, whether the unique values of the network-connected printer and the USB-connected printer match. If the printer portal application 211 determines in S914 that the unique values of the network-connected printer and the USB-connected printer do not match, it proceeds to S916. In S916, the printer portal application 211 turns off the remote UI display function and terminates the series of processes shown in Figure 9. On the other hand, if the printer portal application 211 determines in S914 that the unique values of the network-connected printer and the USB-connected printer match, it proceeds to S915.
[0051] In S915, the printer portal application 211 obtains the hostname and port number of the USB-connected printer identified in S909. The hostname and port number of the target printer can be obtained, for example, using a function provided by the operating system. As a specific example, if the target OS is macOS, a standard API (Application Programming Interface) is available for obtaining the hostname and port number of the target printer. Of course, the method for obtaining the hostname and port number of the target printer is not particularly limited, as long as it is possible to do so. In S917, the printer portal application 211 creates a remote UI URL by combining the hostname and port number obtained in S915 with a predetermined standard string. As shown in Figure 13, the remote UI URL consists of a string 1301 formed by the combination of the hostname and port number, and a standard string 1302. Therefore, it is possible to create a remote UI URL by embedding the target hostname and port number and the standard string into the URL template. For USB-connected printers, the printer information obtained in S909 does not include the remote UI URL, making it difficult to obtain the remote UI URL from this information. Even in such situations, the method shown in the S917 process makes it possible to obtain the URL (access information) for accessing the remote UI of the target USB-connected printer. Furthermore, even in situations where other connection methods different from network-based connections are applied, if the printer information is managed similarly, it may be possible to process the relevant device (printer, etc.) in the same way as in the case of a USB connection. In S918, the printer portal application 211 can display the remote UI of the target USB-connected printer using the URL created in S917, so the remote UI display function is set to ON.
[0052] As explained above, this embodiment makes it possible to use some functions (remote UI display function) that were previously restricted, without requiring the user to change the Bonjour service name.
[0053] <Other Embodiments> The present invention can also be realized by supplying a program that implements one or more of the functions of the above-described 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. It can also be realized by a circuit (e.g., an ASIC) that implements one or more functions. Furthermore, while the above-described embodiment explained an example of how a printer is detected using a technology called Bonjour, this does not limit the scope of application of the technology disclosed herein. Specifically, the technology disclosed herein can be applied similarly even when other types of external devices, not limited to printers, are to be detected. In addition, the technology disclosed herein can be applied similarly in any situation where a function is used to detect an external device using a service name assigned to that external device, not limited to Bonjour.
[0054] Furthermore, the disclosure of this embodiment includes the following programs, configurations, and methods. (Program 1) A program for causing a computer to function as an information processing device, comprising: a first acquisition means for acquiring a first type of identification information and a second type of identification information uniquely set for an external device to which a first type of identification information has been set as a connected and used device; a first determination means for determining whether there are multiple external devices to which the same first type of identification information has been set among a series of external devices from which the first type of identification information has been acquired by the first acquisition means; a second determination means for determining whether different second type of identification information has been set for each of the multiple external devices if the first determination means has determined that there are multiple external devices to which the same first type of identification information has been set; and a notification means for notifying the user to change the first type of identification information set for at least one of the multiple external devices if the second determination means has determined that different second type of identification information has been set for each of the multiple external devices. (Program 2) The program described in Program 1 for causing an information processing device to function as an information processing device, comprising: a second acquisition means for acquiring access information for accessing the user interface of an external device via a network based on information of the external device that has been notified by the notification means; and a display control means for controlling the display of the user interface at a predetermined output destination based on the access information acquired by the second acquisition means. (Program 3) The program described in Program 2 for causing an information processing device to function as such, comprising: a third determination means for determining whether there exists a second external device different from the first external device whose set first type identification information matches the first external device whose user interface is displayed by the display control means after the user interface has been displayed by the display control means, and the notification means notifying that the first type identification information of the first external device has been changed when the third determination means determines that the second external device does not exist. (Program 4) The program according to any one of Programs 1 to 3, characterized in that the first type of identification information is a Bonjour service name. (Program 5) The program according to any one of Programs 1 to 4, characterized in that the second type of identification information is a unique value of the external device included in the DeviceURI set on the external device. (Program 6) The program according to any one of Programs 1 to 5, characterized in that the external device is a printer. (Program 7) The program according to any one of Programs 1 to 6, characterized in that the multiple external devices to which the same first type identification information is set are devices connected to the host computer by USB and devices connected by wireless LAN. (Program 8) A computer, with respect to an external device to which a first type of identification information has been set as a connected and used device, a third acquisition means for acquiring information of the external device including the first type of identification information, a second type of identification information uniquely set for the external device, and a host name and port number set for the external device; a first determination means for determining whether there are multiple external devices to which the same first type of identification information has been set among a series of external devices from which the first type of identification information has been acquired by the third acquisition means; and if the first determination means determines that there are multiple external devices to which the same first type of identification information has been set, the same A program for functioning as an information processing device, comprising: a fourth determination means for determining whether or not a second type of identification information is set; and, if the fourth determination means determines that the same second type of identification information is set for a plurality of external devices to which the same first type of identification information is assigned, a generation means for generating access information for accessing the user interface of a third external device via a network, based on the host name and port number included in the information obtained by the third acquisition means, for a third external device among the plurality of external devices that is connected by a connection method other than a network connection method. (Configuration 1) An information processing device comprising: a first acquisition means for acquiring a first type of identification information and a second type of identification information uniquely set for an external device that has a first type of identification information set for it as a connected and used device; a first determination means for determining whether there are multiple external devices among a series of external devices from which the first type of identification information has been acquired by the first acquisition means that have the same first type of identification information set for them; a second determination means for determining whether different second type of identification information is set for each of the multiple external devices when the first determination means determines that there are multiple external devices that have the same first type of identification information set for them; and a notification means for notifying the user to change the first type of identification information set for at least one of the multiple external devices when the second determination means determines that different second type of identification information is set for each of the multiple external devices. (Method 1) A control method for an information processing device, comprising: a first acquisition means for acquiring a first type of identification information and a second type of identification information uniquely set for an external device to which a first type of identification information has been set as a connected and used device; a first determination means for determining whether there are multiple external devices to which the same first type of identification information has been set among a series of external devices from which the first type of identification information has been acquired by the first acquisition means; a second determination means for determining whether different second type of identification information has been set for each of the multiple external devices if the first determination means has determined that there are multiple external devices to which the same first type of identification information has been set; and a notification means for notifying the user to change the first type of identification information set for at least one of the multiple external devices if the second determination means has determined that different second type of identification information has been set for each of the multiple external devices. [Explanation of Symbols]
[0055] 11 Host computer 12 Printers 204 Printer Management Department 211 Printer Portal Application
Claims
1. Computers, Regarding an external device to which a first type of identification information has been set as a device to be connected and used, a first acquisition means for acquiring the said first type of identification information and a second type of identification information that is uniquely set for the said external device, A first determination means for determining whether there are multiple external devices among a series of external devices from which the first type of identification information has been acquired by the first acquisition means that have the same first type of identification information set on them, If the first determination means determines that there are multiple external devices to which the same first type identification information is set, a second determination means determines whether different second type identification information is set for each of the multiple external devices, If the second determination means determines that different second type identification information is set for each of the multiple external devices, the notification means provides a notification prompting the user to change the first type identification information set for at least one of the multiple external devices. A program for causing an information processing device to function, characterized by having the following features.
2. A second acquisition means for acquiring access information for accessing the user interface of an external device via a network, based on the information of the external device that was the subject of the notification by the notification means, A display control means that controls the display of the user interface at a predetermined output destination based on the access information acquired by the second acquisition means, The program according to claim 1 for causing an information processing device to function, characterized by having the following features.
3. After the user interface is displayed by the display control means, the third determination means determines whether there is a second external device different from the first external device whose set first type identification information matches the first external device that was the target of the display of the user interface. The notification means, when the third determination means determines that the second external device does not exist, notifies that the first type of identification information of the first external device has been changed. The program according to claim 2 for causing an information processing device to function as such.
4. The program according to claim 1, characterized in that the first type of identification information is a Bonjour service name.
5. The program according to claim 1, characterized in that the second type of identification information is an individual value of the external device included in the DeviceURI set on the external device.
6. The program according to claim 1, characterized in that the external device is a printer.
7. The program according to claim 1, characterized in that the plurality of external devices to which the same first type identification information is set are devices connected to the host computer by USB and devices connected by wireless LAN.
8. Computers, Regarding an external device to which a first type of identification information has been set as a connected and used device, a third acquisition means for acquiring information about the external device, including the first type of identification information, a second type of identification information uniquely set for the external device, and the host name and port number set for the external device. A first determination means for determining whether there are multiple external devices among a series of external devices from which the first type of identification information has been acquired by the third acquisition means, that have the same first type of identification information set on them, If the first determination means determines that there are multiple external devices to which the same first type identification information is set, a fourth determination means determines whether the same second type identification information is set for the multiple external devices, If the fourth determination means determines that the same type 2 identification information is set for multiple external devices to which the same type 1 identification information is assigned, the generation means generates access information for accessing the user interface of a third external device via a network, based on the hostname and port number included in the information obtained by the third acquisition means, for a third external device among the multiple external devices that is connected by a connection method other than a network connection method, A program for causing an information processing device to function, characterized by having the following features.
9. Regarding an external device to which a first type of identification information has been set as a device to be connected and used, a first acquisition means for acquiring the said first type of identification information and a second type of identification information that is uniquely set for the said external device, A first determination means for determining whether there are multiple external devices among a series of external devices from which the first type of identification information has been acquired by the first acquisition means that have the same first type of identification information set on them, If the first determination means determines that there are multiple external devices to which the same first type identification information is set, a second determination means determines whether different second type identification information is set for each of the multiple external devices, If the second determination means determines that different second type identification information is set for each of the multiple external devices, the notification means provides a notification prompting the user to change the first type identification information set for at least one of the multiple external devices. An information processing device characterized by having
10. A method for controlling an information processing device, Regarding an external device to which a first type of identification information has been set as a device to be connected and used, a first acquisition means for acquiring the said first type of identification information and a second type of identification information that is uniquely set for the said external device, A first determination means for determining whether there are multiple external devices among a series of external devices from which the first type of identification information has been acquired by the first acquisition means that have the same first type of identification information set on them, If the first determination means determines that there are multiple external devices to which the same first type identification information is set, a second determination means determines whether different second type identification information is set for each of the multiple external devices, If the second determination means determines that different second type identification information is set for each of the multiple external devices, the notification means provides a notification prompting the user to change the first type identification information set for at least one of the multiple external devices. A control method for an information processing device, characterized by having the following features.
Citation Information
Patent Citations
Method of searching for image forming apparatus, portable terminal, and program
JP2016186774A