Information processing apparatus, control method for information processing apparatus, and program
Patent Information
- Application Number
- JP2022142195
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-11-10
- Filing Date
- 2022-09-07
- Publication Date
- 2025-08-29
AI Technical Summary
Existing technologies fail to provide a convenient and secure method for users to select the correct printer when using a company PC at home, leading to potential errors and information leakage due to the listing of both company and home printers without distinction, making it difficult to find the desired home printer.
An information processing apparatus with display and control mechanisms that determine whether a printer belongs to the same network as the device, displaying only available printers on the same network for selection, thereby preventing unintended printer selection.
Improves usability by ensuring only relevant printers are listed for selection, reducing the risk of errors and information leakage when using a company PC at home.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus, a control method for an information processing apparatus, and a program.
Background Art
[0002] In recent years, with the expansion of telework, the so-called telecommuting, which is a work style of working at home, has been increasing. As one form of telecommuting, there is a form in which a computer (hereinafter referred to as "PC"), such as a notebook PC used in a company, is taken home and the PC is connected to a home network to perform work. In this case, by connecting the company's network and the home network with a VPN (Virtual Private Network), it is possible to safely access the company's network even from home.
[0003] Also, when printing in telecommuting, by installing a printer driver corresponding to a printer connected to the home network on the PC, printing can be performed using the home printer. At this time, printing can be performed on both the company's printer and the home printer from the PC brought back from the company. In such a situation, if the company's printer is accidentally selected for printing during work at home, an error will occur when the VPN is not connected, and the output will be from the company's printer when the VPN is connected, so it cannot be retrieved, and there is a risk of information leakage.
[0004] Patent Document 1 discloses a technique for preventing a print instruction to a printer unintended by a user by obtaining and verifying the address of a relay device through which the print instruction is relayed to the target printer after receiving the print instruction.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of the Invention
[0006] However, with the technology described in Patent Document 1, if an unintended printer was selected, the user had to re-select the printer to use, which was not convenient for the user.
[0007] In use cases where a company PC is taken home for use, company printers and home printers are listed together without distinction, making it cumbersome to find the desired home printer. Furthermore, accidentally selecting a company printer can lead to errors and the risk of data leakage. Thus, in use cases such as taking a company PC home for use, the usability when users select a printer from the printer list is poor.
[0008] This invention was made to solve the above-mentioned problems. The purpose of this invention is to provide a mechanism that improves the usability when a user selects a printer to use for printing from a list of printers, for example, in use cases such as taking a company PC home to use. [Means for solving the problem]
[0009] The present invention relates to an information processing device having a display means for displaying a list of printers, characterized by comprising: a determination means for determining whether a printer belongs to the same network as the information processing device; and a control means for controlling the display of printers determined to belong to the same network as the information processing device as part of the printer list. [Effects of the Invention]
[0010] According to the present invention, the usability of the user when selecting a printer to use for printing from a list of printers can be improved. [Brief explanation of the drawing]
[0011] [Figure 1] A diagram showing a network configuration including an information processing device representing the first embodiment. [Figure 2] A block diagram showing the hardware configuration of a computer. [Figure 3] A block diagram showing the hardware configuration of the printer. [Figure 4] A block diagram showing the software configuration of a computer. [Figure 5] A diagram showing a UI screen for users to select the printer they want to use for printing. [Figure 6] A diagram showing the UI for configuring settings to exclude unintended printers from the selection. [Figure 7] A diagram showing the IP addresses of computers and printers on various networks. [Figure 8] A flowchart illustrating the process for determining the printer option in the first embodiment. [Figure 9] A flowchart illustrating the process for determining the printer selection in the second embodiment. [Figure 10] A flowchart illustrating the process for determining the printer selection in the third embodiment. [Figure 11] A flowchart illustrating the process for determining the printer selection in the fourth embodiment. [Figure 12] A flowchart illustrating the process for determining the printer option in the fifth embodiment. [Figure 13] A diagram showing an example of the output of the "ipconfig" command. [Figure 14] A diagram showing an example of executing the "ping" command. [Figure 15] This diagram shows the routing table obtained using the "route print" command. [Figure 16] A flowchart illustrating the process for determining the printer selection in the sixth embodiment. [Figure 17] This figure shows an example of the network configuration of the seventh embodiment. [Figure 18]Flowchart of the process for determining printer options in the seventh embodiment. [Figure 19] Diagram showing a setting screen for excluding unintended printers from options. [Figure 20] Diagram showing a setting screen for performing VPN connection.
Mode for Carrying Out the Invention
[0012] Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. 〔First Embodiment〕 FIG. 1 is a diagram showing an example of a network configuration including an information processing apparatus according to the first embodiment of the present invention. At home, there are a computer 1000 and a printer A 2000, which are connected by a home network 5000. It is assumed that the home network 5000 is connected to the external Internet via a router (not shown). On the other hand, at the company, there is a printer B 3000, which is connected to a company network 6000. It is assumed that the company network 6000 is connected to the external Internet via a router and a VPN server (not shown).
[0013] Furthermore, the computer 1000 is virtually connected to the company's network 6000 via a virtual private network (VPN) 7000. Thereby, the computer 1000 can safely access the data of the company network 6000 while passing through the Internet (not shown). Note that the computer 1000 can switch the ON / OFF of the connection to the virtual private network 7000 according to the user's designation. Note that the home network 5000 and the company network 6000 may be connected by wire or wirelessly.
[0014] FIG. 2 is a block diagram showing an example of the hardware configuration of the computer 1000. In computer 1000, a control unit 1040, which has a CPU 1041 and memory 1042, controls the entire system. The display unit 1010 represents an output device such as a display. The operation unit 1020 represents an input device such as a mouse or keyboard.
[0015] The memory unit 1030 is a storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive), and stores various software necessary for the operation of the computer 1000. This software is loaded into memory 1042 as needed and executed by the CPU 1041.
[0016] The network communication unit 1050 connects to an external network and performs data input and output with external devices. In this embodiment, the processing is achieved by loading the software stored in the storage unit 1030 into the memory 1042 of the control unit 1040, and then having the CPU 1041 execute it. CPU stands for Central Processing Unit.
[0017] Figure 3 is a block diagram showing the hardware configuration of printer A2000 and printer B3000. In printer A2000, the control unit 2040, which includes the CPU 2041 and memory 2042, controls the entire system. The display unit 2010 represents output devices such as an LCD panel. The operation unit 2020 represents input devices such as a touch panel and various buttons.
[0018] The memory unit 2030 is a storage device such as an HDD or SSD, and stores various software necessary for the operation of the printer A2000. This software is loaded into memory 2042 as needed and executed by the CPU 2041. The network communication unit 2050 connects to an external network and performs data input and output with external devices.
[0019] The printing unit 2060, in accordance with instructions from the control unit 2040, converts the digital data stored in the storage unit 2030 and memory 2042 into an image and prints it onto physical paper. The printing method can be an ink system, a toner system, or other methods. Since the configurations of printer A2000 and printer B3000 are the same, we will omit the explanation of the configuration of printer B3000.
[0020] Figure 4 is a block diagram showing an example of a module related to printing in the software configuration of computer 1000. Application 1100 refers to any software, such as word processing software or spreadsheet software, that has a printing function. By executing the printing function of Application 1100, the user can print information currently displayed on the display unit 1010 of the computer 1000 using printer A2000 or printer B3000. The printing function of Application 1100 is realized by calling the interface of GDI 1210, which will be described later.
[0021] OS1200 is an abbreviation for Operating System, and it is the software that controls the basic operation of Computer 1000. Applications 1100 and printer drivers 1221 and 1222 are all managed by OS1300 and become usable after being installed on OS1200.
[0022] GDI1210 stands for Graphics Device Interface and is an internal OS1200 component that provides external interfaces related to drawing, such as printing. The printer driver 1221 for printer A displays the print settings for printing with printer A2000 via a user interface and generates drawing data (PDL: Page Description Language) that printer A2000 can interpret during printing. The role of the printer driver 1222 for printer B is similar. Spooler 1230 processes the PDL generated above and sends it to printer A2000 or printer B3000.
[0023] Figure 5 shows an example of a user interface (UI) screen for selecting a printer to use for printing. The user interface (UI) shown in Figure 5 is displayed when printing from application 1100. Figure 5(a) shows the UI when the user can select the printer to use for printing from all printers registered in computer 1000. Figure 5(b) shows the UI when some printers are excluded from the selection.
[0024] In Figure 5(a), the combo box 1510 is the UI for printer selection. Pressing the arrow button (downward triangle button) 1511 displays the printer options shown from 1512 to 1514. Option 1512 for printer A is for printing to the home printer A2000. Option 1513 for printer B is for printing to the company printer B3000. On the other hand, option 1514 for "Print to PDF" is for generating a PDF file. This "Print to PDF" option 1514 is called a virtual printer because it does not actually output to a physical printer.
[0025] Additionally, option 1512 for printer A is associated with printer driver 1221 for printer A. Option 1513 for printer B is associated with printer driver 1222 for printer B. Option 1514 for Print to PDF is associated with a special printer driver for PDF generation (not shown).
[0026] The print button 1500 at the top is used to initiate printing. The user can select the desired printer from the combo box 1510 and then press the print button 1500 to initiate the actual printing process to the selected printer. When the print button 1500 is pressed, application 1100 calls the printer driver corresponding to the printer specified in the combo box 1510 and initiates the printing.
[0027] Figure 5(b) shows the UI when some printers are excluded from the options in the combo box 1520 for printer selection. The example in Figure 5(b) shows the case where the option 1513 for printer B is excluded to prevent unintentional printing from the home computer 1000 to the company printer B3000.
[0028] The options 1512 for printing to the home printer A2000 and 1514 for printing to PDF are both available without exclusion. The procedure for determining which printer to display in the combo box for printer selection will be described later using a flowchart.
[0029] Figure 6 shows an example of a UI for configuring settings to exclude unintended printers from the printer list selection. This setting can also be used to prevent the use of printers that are not located in the current location (where computer 1000 is located). Users can enable this setting by checking checkbox 1700. When this setting is enabled, printers that are not located in the current location (where computer 1000 is located) will be excluded from the printer selection during printing (combo boxes 1510 and 1520). Conversely, when this setting is not enabled, all printers registered on computer 1000 will be displayed as selectable.
[0030] This setting may be configured as an OS1200 setting on computer 1000, or as an individual application 1100 setting. If configured as an OS1200 setting, this setting will be effective when printing from all applications 1100. If configured as an individual application 1100 setting, this setting will be effective only when printing from that application 1100.
[0031] Figure 20 shows the settings screen of OS1200 on computer 1000 for connecting to virtual private network (VPN) 7000. Users can configure the OS1200 in advance for VPN connections and then enable (turn on) the VPN connection to initiate the specified VPN connection.
[0032] The following explains each setting item on the settings screen for establishing a VPN connection. Connection Name 2001 is the field to enter any name you want to give to the VPN connection you are setting up here. Server Name or Address 2002 is the field to enter the global address of the VPN server you want to connect to. Note that the VPN server (not shown) is located within company network 6000 and is a dedicated server provided for connecting to company network 6000 from outside. VPN Type 2003 is the field to specify the VPN protocol to communicate with the VPN server you are connecting to. VPN protocols include Point-to-Point Tunneling Protocol (PPTP) and L2TP / IPsec which uses a pre-shared key, and here you specify the communication protocol supported by the VPN server. Pre-shared Key 2004 is the field to enter the shared key that has been provided in advance for connecting with the VPN server. Username 2004 and Password 2005 are the fields to enter the authentication information for connecting to the VPN server.
[0033] When the Save button 2007 is pressed, OS1200 saves the VPN connection settings entered on the settings screen. The settings saved here are registered in OS1200 as a network adapter with the name entered in Connection Name 2001, as described later. The user can enable or disable the registered VPN connection at any time. In this embodiment, it is assumed that the routing table for connecting to the company network is properly configured along with the VPN registration. The routing table will be described later using Figure 15.
[0034] Figure 7 shows the IP addresses and subnet masks of computer 1000, printer A2000, and printer B3000 on the network in this embodiment. Network 1801 indicates the name of the target network. IP address 1802 indicates the IP address of the target device in each of the aforementioned networks. Subnet mask 1803 indicates the subnet mask that specifies the range of the network.
[0035] In this embodiment, the computer 1000 is connected to both the home network 5000 and the virtual private network (VPN) 7000, and therefore has an IP address for each network. The IP address and subnet mask on home network 5000 are shown in 1811 as "192.168.1.50" and "255.255.255.0". On the other hand, the IP address and subnet mask on the virtual private network (VPN) 7000 are shown in 1812 as "10.152.51.20" and "255.255.255.255". Here, an example is shown where the computer 1000 on the virtual private network (VPN) 7000 is connected to the company network via routing, and an IP address from a different segment than the company network is assigned to it. The case where the IP address of computer 1000 on the virtual private network (VPN) 7000 is assigned to an IP address from the same segment as the company network will be explained in the sixth embodiment described later.
[0036] Printer A2000 is connected only to home network 5000. The IP address and subnet mask are shown in 1813 as "192.168.1.46" and "255.255.255.0". Printer B3000 is connected only to company network 6000. The IP address and subnet mask are shown in 1814 as "172.26.178.127" and "255.255.248.0".
[0037] Next, we will explain the procedure for determining the list of printers (printer list) to be displayed in the printer selection combo boxes 1510 and 1520 in Figure 5, using the flowchart in Figure 8. Figure 8 is a flowchart showing an example of the process for determining the printer selection in the first embodiment. This process may be performed by application 1100 or OS 1200, but here it will be described as being performed by application 1100. Furthermore, this description will explain the flow when checkbox 1700 in Figure 6 is checked as ON. All the processes described here are realized by loading application 1100, which is stored in storage unit 1030, into memory 1042 and executing it by CPU 1041.
[0038] Application 1100 first obtains the IP address and subnet mask of computer 1000 (S1311). These values correspond to those exemplified in Figure 7, and can specifically be obtained using commands such as "ipconfig" provided by OS 1200. Figure 13 shows an example (excerpt) of the results of executing the "ipconfig" command. In the example shown here, multiple network adapters are registered for a single computer 1000, and the IP address and subnet mask are displayed for each network. A network adapter generally refers to a network card (NIC = Network Interface Card), which is hardware used to connect to a network. Network adapters exist for wired connections and wireless connections (such as Wi-Fi). In recent years, virtual NICs, which simulate network cards using software, have also been used, and these virtual NICs are used for connections to virtual private networks (VPNs). The VPN connection configured in the settings screen shown in Figure 20 is also registered in OS1200 as a virtual NIC with the name "Connection Name 2001".
[0039] In this embodiment, it is assumed that the virtual private network (VPN) 7000 is connected via network adapter A1851. Therefore, the IP address of computer 1000 in the virtual private network (VPN) 7000 can be obtained in association with network adapter A1851. Similarly, it is assumed that the home network 5000 is connected via network adapter B1852. Similarly, the IP address of computer 1000 in the home network 5000 can be obtained in association with network adapter B1852. In this way, when multiple network adapters are enabled on a single computer 1000, that computer will have multiple IP addresses. When a computer with multiple IP addresses connects to a network, the routing table in Figure 15 will be used to determine which IP address is used to exchange information, which will be described later.
[0040] Next, application 1100 obtains a list of available printers (S1312). This information can be obtained specifically using an API such as "EnumPrinters" provided by OS1200. This allows application 1100 to obtain a list of all printers (including virtual printers) available on OS1200. In this embodiment, three printers are obtained: "Printer A", "Printer B", and "Print to PDF".
[0041] Next, application 1100 targets the first printer, printer A2000, and obtains the IP address of the target printer from the printer's port information (S1313). Port information refers to the information held by the port to which the printer is connected, and if it is a network connection, it includes the IP address information in the TCP / IP protocol. In the case of a network connection, dedicated ports called WSD ports or IPP ports may be used. Even if these ports are used, the IP address will be identified using the information held by each port. Although not shown in the flowchart, if the printer in question is not a network connection, such as "Print to PDF", application 1100 will add the printer in the display list in S1315, which will be described later.
[0042] Next, application 1100 checks whether computer 1000 and the target printer are on the same network (S1314). Whether they are on the same network is determined using the IP address and subnet mask information obtained in S1311. Specifically, if the network address calculated by taking the AND of each IP address and subnet mask is the same, it is determined that they are on the same network. In other words, if the network segment identified from computer 1000's IP address matches the network segment identified from the target printer's IP address, it is determined that the target printer belongs to the same network as computer 1000. On the other hand, if they do not match, it is determined that the target printer and computer 1000 do not belong to the same network.
[0043] If it is confirmed that the printers are on the same network (if the answer is Yes in S1314), application 1100 adds the target printer to the display list (S1315) and proceeds to S1317.
[0044] On the other hand, if it is confirmed that the printer is not on the same network (the answer is No in S1314), application 1100 does not add the target printer to the display list (S1316) and proceeds to S1317.
[0045] For example, in the case of printer A2000, both computer 1000 and printer A2000 are included in the network address "192.168.1.0" within home network 5000, so it is determined that they are on the same network (Yes in S1314). Therefore, application 1100 adds "printer A" to the display list (S1315). Note that the IP address of home network 5000 is a different IP address from the IP address registered as a VPN among the IP addresses managed by the OS. On the other hand, the network to which printer B3000 belongs is "172.26.176.0", and the networks to which computer 1000 belongs are "192.168.1.0" and "10.152.51.20". Therefore, it is determined that printer B3000 is not on the same network as computer 1000 (No in S1314). For this reason, application 1100 does not add "printer B" to the display list (S1316). Regarding "Print to PDF," since it does not involve a network connection, application 1100 adds it to the display list as described above (S1315).
[0046] In S1317, application 1100 determines whether it has checked whether all printers are on the same network (S1313-S1316). If there are still printers that have not been checked (if the result in S1317 is No), application 1100 controls the system to perform the S1313-S1316 process on the unchecked printers.
[0047] On the other hand, if all printers are checked (Yes in S1317), application 1100 proceeds to S1318. In S1318, application 1100 displays the display list created by the above process and terminates the processing of this flowchart.
[0048] As described above, the system determines whether a printer belongs to the same network as computer 1000, and controls the display of printers determined to belong to the same network as a list of printers for the user to select the printer to use for printing. This ensures that only printers on the same network are listed at the time the user wants to print. Specifically, when printing from home, if checkbox 1700 in Figure 6 is OFF, the UI in Figure 5(a) is displayed. On the other hand, if checkbox 1700 in Figure 6 is ON, the UI in Figure 5(b) is displayed. Therefore, the risk of accidentally selecting a company printer when printing from home, or selecting a home printer when printing at the office, can be avoided. As a result, it is possible to reduce the occurrence of errors (when VPN is not connected) or information leakage risks (when the output is from a company printer, when VPN is connected) that may occur when accidentally selecting a company printer while working from home, thereby improving usability.
[0049] [Second Embodiment] In the second embodiment, we illustrate another method for generating a list of printer options for printing. In this embodiment, the configuration diagrams and UI examples are exactly the same as in the first embodiment, so we will omit their explanation. Here, we will only describe the flow for generating the list of printer options as a difference.
[0050] The following describes the procedure for determining the list of printers (printer list) to be displayed in the printer selection combo boxes 1510 and 1520 shown in Figure 5, using the flowchart in Figure 9. Figure 9 is a flowchart showing an example of the process for determining the printer selection in the second embodiment. Similar to the first embodiment, this process may be performed by application 1100 or OS 1200, but here it will be described as being performed by application 1100. Furthermore, this description will explain the flow when checkbox 1700 in Figure 6 is checked as ON. All the processes described here are realized by loading application 1100, which is stored in storage unit 1030, into memory 1042 and executing it by CPU 1041.
[0051] Application 1100 first obtains a list of available printers (S1321). This process is equivalent to the process in step S1312 of the first embodiment. Next, application 1100 targets the first printer, printer A2000, and obtains the IP address of the target printer from the printer's port information (S1322). This process is equivalent to the process in step S1313 of the first embodiment. Here again, although not shown in the flowchart, if the printer in question is not connected to a network, such as "Print to PDF", application 1100 will add the printer in question to the display list in S1325, which will be described later.
[0052] Next, application 1100 performs a connection check against the IP address of the target printer (S1323). Specifically, this connection check can be performed using a command such as "ping" provided by OS1200. An example of executing the "ping" command in the second embodiment is shown in Figure 14(a). By executing the "ping" command against the specified IP address, it is possible to confirm whether a network connection exists. Specifically, if a response is received from the destination IP address as a result of the "ping" command, application 1100 determines that a connection has been established. On the other hand, if the request times out as a result of the "ping" command, or if a result is returned indicating that the destination network or destination host could not be reached, application 1100 determines that a connection has not been established.
[0053] Next, application 1100 determines whether a connection was established based on the connection check in S1323 (S1324). If a connection is established (Yes in S1325), application 1100 adds the target printer to the display list (S1325) and proceeds to S1327. On the other hand, if the connection is not established (resulting in No in S1325), application 1100 proceeds to S1327 without adding the target printer to the display list (S1326).
[0054] For example, in the case of printer A2000, in the environment of this embodiment, since computer 1000 is located at home, connection is usually possible without any problems (S1324 is Yes). Therefore, application 1100 adds "Printer A" to the display list (S1325). Furthermore, in the case of printer B3000, if computer 1000 is connected to virtual private network (VPN) 7000, it can also connect to printer B3000 (resulting in Yes in S1324). In this case, application 1100 adds "Printer B" to the display list (S1325). On the other hand, if computer 1000 is not connected to virtual private network (VPN) 7000, it cannot connect to printer B3000 (resulting in No in S1324). In this case, application 1100 does not add "Printer B" to the display list (S1325). Regarding "Print to PDF," since it does not involve a network connection, application 1100 adds it to the display list as described above (S1325).
[0055] In S1327, application 1100 determines whether it has performed connection checks (S1322-S1326) for all printers. If there are still printers that have not been checked (if the result in S1327 is No), application 1100 controls the system to perform the S1322-S1326 processes for the unchecked printers.
[0056] On the other hand, if all printers are checked (Yes in S1327), application 1100 proceeds to S1328. In S1328, application 1100 displays the display list created by the above process and terminates the processing of this flowchart.
[0057] By performing the above process, only printers that have been confirmed to be connected at the time of printing will be listed. Specifically, when printing from home, if checkbox 1700 in Figure 6 is OFF, the UI in Figure 5(a) will be displayed. On the other hand, when checkbox 1700 in Figure 6 is ON, the display will change depending on whether computer 1000 is connected to the virtual private network (VPN) 7000. If computer 1000 is connected to the virtual private network (VPN) 7000, the UI as shown in Figure 5(a) will be displayed, and if it is not connected, the UI as shown in Figure 5(b) will be displayed. This avoids the risk of selecting a printer that is not connected to computer 1000 when printing from home. Therefore, it saves the user the trouble of re-selecting a printer, improves user convenience, and enhances usability.
[0058] [Third Embodiment] In the third embodiment, we illustrate yet another method for generating a list of printer options for printing. In this embodiment as well, the configuration diagrams and UI examples are exactly the same as in the first embodiment, so we will omit their explanation. Here again, only the flow for generating the list of printer options will be explained as a difference.
[0059] The following describes the procedure for determining the list of printers (printer list) to be displayed in the printer selection combo boxes 1510 and 1520 shown in Figure 5, using the flowchart in Figure 10. Figure 10 is a flowchart showing an example of the process for determining the printer selection in the third embodiment. Similar to the first embodiment, this process may be performed by application 1100 or OS 1200, but here it will be described as being performed by application 1100. Furthermore, this description will explain the flow when checkbox 1700 in Figure 6 is checked as ON. All the processes described here are realized by loading application 1100, which is stored in storage unit 1030, into memory 1042 and executing it by CPU 1041.
[0060] Application 1100 first identifies the networks available to computer 1000 that are not virtual private networks (non-VPN) (S1331). Specifically, application 1100 obtains the attributes of the network adapters used on each network from OS 1200 and determines whether they are for VPN connections. If a network adapter is managed by OS 1200 as a network adapter registered in the manner shown in Figure 20, it can be determined to be for a VPN connection. Alternatively, application 1100 may obtain the protocol used by that network adapter, and if a protocol used in VPNs, such as Point-to-Point Tunneling Protocol (PPTP) or L2TP / IPsec, is used, it may be determined to be a VPN connection. In the configuration of this embodiment, only the home network 5000 is a non-VPN network.
[0061] Next, application 1100 obtains the IP address of computer 1000 in the non-VPN network identified in S1331 (S1332). The command used here is equivalent to the command used in step S1311 of the first embodiment, but since multiple network adapters are registered, only the IP address corresponding to the network adapter associated with the non-VPN network is obtained. Application 1100 identifies the network adapter associated with the non-VPN network, for example, using VPN network information managed by OS 1200. Alternatively, the system may be configured to determine whether it is a VPN network or a non-VPN network based on network adapter information or network profile. In this embodiment, the IP address obtained by S1332 is "192.168.1.50" on the home network 5000.
[0062] Next, application 1100 obtains a list of available printers (S1333). This process is equivalent to the process in step S1312 of the first embodiment. Next, application 1100 targets the first printer, printer A2000, and obtains the IP address of the target printer from the printer's port information (S1334). This process is equivalent to the process in step S1313 of the first embodiment. Here again, although not shown in the flowchart, if the printer in question is not connected to a network, such as "Print to PDF", application 1100 will add the printer in question to the display list in S1337, which will be described later.
[0063] Next, application 1100 performs a connection check from the IP address of computer 1000 in the non-VPN network to the IP address of the target printer (S1335). This connection check can also be performed using a command such as "ping" provided by OS1200, similar to step S1323 in the second embodiment. An example of executing the "ping" command in the third embodiment is shown in Figure 14(b). Here, the source IP address is also specified by the " / S" option, as in "ping / S 192.168.1.50", which is different from Figure 14(a) in the second embodiment. In this embodiment, "192.168.1.50", which is the IP address of computer 1000 in the non-VPN network, is specified as the source IP address. By using this method, the connection check is successful only when the target printer is connected via the home network 5000, and fails if the target printer is connected via the virtual private network (VPN) 7000.
[0064] Next, application 1100 determines whether a connection was established based on the connection check in S1335 (S1336). If a connection is established (Yes in S1336), application 1100 adds the target printer to the display list (S1337) and proceeds to S1339. On the other hand, if the connection is not established (No in S1336), application 1100 proceeds to S1339 without adding the target printer to the display list (S1338).
[0065] For example, in the case of printer A2000, the connection is confirmed using the IP address of computer 1000 on a non-VPN network as the source, so in normal cases the connection is successful (resulting in Yes in S1336). Therefore, application 1100 adds "Printer A" to the display list (S1337). Furthermore, in the case of printer B3000, the connection fails because it is trying to verify the connection using the IP address of computer 1000 on a non-VPN network as the source (resulting in a "No" in S1336). In this case, application 1100 does not add "Printer B" to the display list (S1338). Regarding "Print to PDF," since it does not involve a network connection, application 1100 adds it to the display list as described above (S1337).
[0066] In S1339, application 1100 determines whether it has performed connection checks (S1334-S1338) for all printers. If there are still printers that have not been checked (if the result in S1339 is No), application 1100 controls the system to perform the S1334-S1338 processes for the unchecked printers.
[0067] On the other hand, if all printers are checked (Yes in S1339), application 1100 proceeds to S1340. In S1340, application 1100 displays the display list created by the above process and terminates the processing of this flowchart.
[0068] The above process verifies the connection from the IP address of computer 1000 to the IP address of the target printer in a non-VPN network. If the connection is confirmed, it is determined that the target printer belongs to the same network as computer 1000 and the target printer is added to the display list. On the other hand, if the connection cannot be confirmed, it is determined that the target printer does not belong to the same network as computer 1000 and the target printer is not added to the display list. By performing this process, the UI in Figure 5(b) is displayed regardless of whether computer 1000 is connected to the virtual private network (VPN) 7000. This avoids the risk of accidentally selecting the company printer B3000 when printing from home, and improves usability.
[0069] [Fourth Embodiment] In the fourth embodiment, we will illustrate yet another method for generating a list of printer options for printing. In this embodiment as well, the configuration diagram and UI examples are exactly the same as in the first embodiment, so we will omit their explanation. Here again, we will only explain the flow for generating the list of printer options as a difference.
[0070] The following describes the procedure for determining the list of printers (printer list) to be displayed in the printer selection combo boxes 1510 and 1520 shown in Figure 5, using the flowchart in Figure 11. Figure 11 is a flowchart showing an example of the process for determining the printer selection in the fourth embodiment. Similar to the first embodiment, this process may be performed by application 1100 or OS 1200, but here it will be described as being performed by application 1100. Furthermore, this description will explain the flow when checkbox 1700 in Figure 6 is checked as ON. All the processes described here are realized by loading application 1100, which is stored in storage unit 1030, into memory 1042 and executing it by CPU 1041.
[0071] Application 1100 first identifies the virtual private network (VPN) among the networks available to computer 1000 (S1351). In the configuration of this embodiment, only virtual private network (VPN) 7000 is applicable.
[0072] Next, application 1100 obtains the IP address of computer 1000 in the virtual private network (VPN) 7000 identified in S1351 (S1352). The command used here is equivalent to the command used in step S1332 of the third embodiment, and here only the IP address corresponding to the network adapter associated with the virtual private network (VPN) is obtained. In this embodiment, the IP address obtained in S1352 is "10.152.51.20" in the virtual private network (VPN) 7000.
[0073] Next, application 1100 obtains a list of available printers (S1353). This process is equivalent to the process in step S1312 of the first embodiment. Next, application 1100 targets the first printer, printer A2000, and obtains the IP address of the target printer from the printer's port information (S1354). This process is equivalent to the process in step S1313 of the first embodiment. Here again, although not shown in the flowchart, if the printer in question is not connected to a network, such as "Print to PDF", application 1100 will add the printer in question to the display list in S1357, which will be described later.
[0074] Next, application 1100 performs a connection check from the IP address of computer 1000 in the virtual private network (VPN) 7000 to the IP address of the target printer (S1355). This connection check can also be performed using a command such as "ping" provided by OS 1200. Figure 14(c) shows an example of executing the "ping" command in the fourth embodiment. Here, the " / S" option is used to specify "10.152.51.20", which is the IP address of computer 1000 in the virtual private network (VPN), as the source IP address, as in "ping / S 10.152.51.20". By using this method, the connection check will succeed only when the target printer is connected via the virtual private network (VPN) 7000, and will fail if the target printer is connected via the home network 5000.
[0075] Next, application 1100 determines whether a connection was established based on the connection check in S1355 (S1356). If a connection was not established (if the result in S1356 is No), application 1100 adds the target printer to the display list (S1357) and proceeds to S1359. On the other hand, if a connection is established (Yes in S1356), application 1100 proceeds to S1359 without adding the target printer to the display list (S1358).
[0076] For example, in the case of printer A2000, the connection fails because the connection check is performed using the IP address of virtual private network (VPN) 7000 as the source (resulting in a "No" at S1356). Therefore, application 1100 adds "Printer A" to the display list (S1357). In addition, in the case of printer B3000, the connection is successful because the IP address of virtual private network (VPN) 7000 is used as the connection source for the connection check (resulting in Yes in S1356). In this case, application 1100 does not add "Printer B" to the display list (S1358). Regarding "Print to PDF," since it does not involve a network connection, application 1100 adds it to the display list as described above (S1357).
[0077] In S1359, application 1100 determines whether it has performed connection checks (S1354-S1358) for all printers. If there are still printers that have not been checked (if the result in S1359 is No), application 1100 controls the system to perform the S1354-S1358 processes for the unchecked printers.
[0078] On the other hand, if all printers are checked (Yes in S1359), application 1100 proceeds to S1360. In S1360, application 1100 displays the display list created by the above process and terminates the processing of this flowchart.
[0079] The above process verifies the connection from the IP address of computer 1000 to the IP address of the target printer on the VPN network. If the connection cannot be confirmed, it is determined that the target printer belongs to the same network as computer 1000 and the target printer is added to the display list. On the other hand, if the connection is confirmed, it is determined that the target printer does not belong to the same network as computer 1000 and the target printer is not added to the display list. By performing this process, only printers that are accessible via the virtual private network (VPN) 7000 and on which computer 1000 is connected are excluded from the display list. In other words, if computer 1000 is connected to the virtual private network (VPN) 7000, the UI in Figure 5(b) is displayed, and if it is not connected, the UI in Figure 5(a) is displayed. This method also avoids the risk of accidentally printing from the company printer when printing at home, and improves usability.
[0080] [Fifth Embodiment] In the fifth embodiment, we will illustrate yet another method for generating a list of printer options for printing. In this embodiment as well, the configuration diagram and UI examples are exactly the same as in the first embodiment, so we will omit their explanation. Here again, we will only explain the flow for generating the list of printer options as a difference. The following describes the procedure for determining the list of printers (printer list) to be displayed in the printer selection combo boxes 1510 and 1520 shown in Figure 5, using the flowchart in Figure 12. Figure 12 is a flowchart showing an example of the process for determining the printer selection in the fifth embodiment. Similar to the first embodiment, this process may be performed by application 1100 or OS 1200, but here it will be described as being performed by application 1100. Furthermore, this description will explain the flow when checkbox 1700 in Figure 6 is checked as ON. All the processes described here are realized by loading application 1100, which is stored in storage unit 1030, into memory 1042 and executing it by CPU 1041.
[0081] Application 1100 first identifies the virtual private network (VPN) among the networks available to computer 1000 (S1371). This process is equivalent to the process in step S1351 of the fourth embodiment. In the configuration of this embodiment, only the virtual private network (VPN) 7000 is applicable.
[0082] Next, application 1100 obtains the IP address of computer 1000 in the virtual private network (VPN) 7000 identified in S1371 (S1372). This process is equivalent to the process in step S1352 of the fourth embodiment. In this embodiment, the IP address obtained in S1372 is "10.152.51.20" in the virtual private network (VPN) 7000.
[0083] Next, application 1100 retrieves the routing table of computer 1000 (S1373). The routing table is a table that describes a list of routes referenced when connecting from computer 1000 to individual network destinations. The routing table of computer 1000 can be obtained using commands such as "route print" provided by OS1200. An example of a routing table obtained with the "route print" command is shown in Figure 15.
[0084] Next, application 1100 obtains a list of available printers (S1374). This process is equivalent to the process in step S1312 of the first embodiment.
[0085] Next, application 1100 targets the first printer, printer A2000, and obtains the IP address of the target printer from the printer's port information (S1375). This process is equivalent to the process in step S1313 of the first embodiment. Here again, although not shown in the flowchart, if the printer in question is not connected to a network, such as "Print to PDF", application 1100 will add the printer in question to the display list in S1378, which will be described later.
[0086] Next, application 1100 refers to the routing table obtained above and checks whether the interface to the target printer is via the IP address of computer 1000 in the virtual private network (VPN) 7000 (S1376).
[0087] The following explanation of S1376 will be given using Figure 15. The interface used when connecting to a specific destination can be derived from the network destination 1911 and netmask 1912 information. Specifically, if the IP address of the target printer (the destination) and netmask 1912 are ANDed and a match is found with network destination 1911, the interface 1913 in that row will be the interface used when connecting to that destination. If multiple rows match, the longest match principle will be applied, and the row with the longest match will be selected.
[0088] For example, let's consider the case where printer A2000 is the destination. In this case, we take the AND operation between the IP address of the destination printer A2000, "192.168.1.46", and the netmask 1912 of each row in the routing table, and search for a match with the network destination 1911. As a result, rows 1902 and 1903 of the routing table match. Of these, row 1903 of the routing table has the longest match. From this, we can see that the interface used when printer A2000 is the destination is "192.168.1.50". This is different from the IP address of computer 1000, "10.152.51.20", obtained in S1372 on virtual private network (VPN) 7000. Therefore, we can see that the connection to printer A2000 is not a connection via virtual private network (VPN) 7000. Next, we will explain the case where printer B3000 is the destination. In this case, we take the AND operation between the IP address of the destination printer B3000, "172.26.178.127", and the netmask 1912 of each row in the routing table, and search for a match with network destination 1911. As a result, only row 1901 in the routing table matches. From this, we can see that the interface traversed when printer B3000 is the destination is "10.152.51.20". This matches the IP address "10.152.51.20" of computer 1000 in virtual private network (VPN) 7000 obtained in S1372. Therefore, we can see that the connection to printer B3000 is a connection via virtual private network (VPN) 7000.
[0089] Next, application 1100 determines whether the connection was made via the virtual private network (VPN) 7000, as confirmed in S1376 (S1377). If it was not made via the virtual private network (VPN) 7000 (the answer in S1377 is No), application 1100 adds the target printer to the display list (S1378) and proceeds to S1380.
[0090] On the other hand, if the connection is via a virtual private network (VPN) 7000 (if the answer is Yes in S1377), application 1100 proceeds to S1380 without adding the target printer to the display list (S1379).
[0091] For example, in the case of printer A2000, since the connection is not via virtual private network (VPN) 7000 (No in S1377), application 1100 adds "Printer A" to the display list (S1378). Furthermore, in the case of printer B3000, since the connection is via virtual private network (VPN) 7000 (Yes in S1377), application 1100 does not add "Printer B" to the display list (S1379). Regarding "Print to PDF," since it does not involve a network connection, application 1100 adds it to the display list as described above (S1378).
[0092] In S1380, application 1100 determines whether it has performed VPN verification (S1375-S1379) for all printers. If there are still printers that have not been verified (if the result in S1380 is No), application 1100 controls the system to perform the S1375-S1379 processes for the unverified printers.
[0093] On the other hand, if all printers are checked (and the answer is Yes in S1380), application 1100 proceeds to S1381. In S1381, application 1100 displays the display list created by the above process and terminates the processing of this flowchart.
[0094] The above process verifies whether the route to the target printer is via the IP address of computer 1000 in the VPN network. If it is not confirmed that the route is via the IP address of computer 1000 in the VPN network, it is determined that the target printer belongs to the same network as computer 1000 and the target printer is added to the display list. On the other hand, if it is confirmed that the route is via the IP address of computer 1000 in the VPN network, it is determined that the target printer does not belong to the same network as computer 1000 and the target printer is not added to the display list. By performing this process, only printers connected via the virtual private network (VPN) 7000, and which are connected via that network, are excluded from the display list. In other words, if computer 1000 is connected to the virtual private network (VPN) 7000, the UI in Figure 5(b) is displayed; otherwise, the UI in Figure 5(a) is displayed. This method also has the effect of avoiding the risk of accidentally printing from the company printer when printing at home, and since actual connection verification is not required, it can be processed faster than the method of the fourth embodiment and improves usability.
[0095] [Sixth Embodiment] The sixth embodiment describes an embodiment in which a part of the flow for generating the list of printer options shown in Figure 8 of the first embodiment has been modified. In this embodiment as well, the configuration diagram and UI examples are exactly the same as in the first embodiment, so their explanation will be omitted. Here, only the differences from the flow for generating the list of printer options shown in Figure 8 will be explained.
[0096] In the processing flow of the first embodiment, the IP addresses of all networks to which the computer 1000 is connected (in the example above, the home network 5000 and the virtual private network (VPN) 7000) were obtained. Then, using these IP addresses, it was checked whether each printer was on the same network and the printers to be added to the display list were determined. In contrast, in the sixth embodiment, as in the third embodiment, the non-VPN network among the networks to which the computer 1000 is connected is identified, and only the IP addresses of the non-VPN network are obtained. Then, using the IP addresses of the non-VPN network, it is checked whether each printer is on the same network and the printers to be added to the display list are determined.
[0097] The following describes the procedure for determining the list of printers (printer list) to be displayed in the printer selection combo boxes 1510 and 1520 shown in Figure 5, using the flowchart in Figure 16. Figure 16 is a flowchart showing an example of the process for determining the printer selection in the sixth embodiment. Similar to the first embodiment, this process may be performed by application 1100 or OS 1200, but here it will be described as being performed by application 1100. Furthermore, this description will explain the flow when checkbox 1700 in Figure 6 is checked as ON. All the processes described here are realized by loading application 1100, which is stored in storage unit 1030, into memory 1042 and executing it by CPU 1041.
[0098] Application 1100 first identifies the networks available to computer 1000 that are not virtual private networks (non-VPN) (S1601). This process is equivalent to the process in step S1331 of the third embodiment. In the configuration of this embodiment, only the home network 5000 is applicable.
[0099] Next, application 1100 obtains the IP address of computer 1000 in the non-VPN network identified in S1601 (S1602). This process is equivalent to the process in step S1332 of the third embodiment. In this embodiment, the IP address obtained in S1332 is "192.168.1.50" in the home network 5000. The processes from S1603 to S1609 are equivalent to the processes from S1312 to S1318 in Figure 3, so their explanation will be omitted.
[0100] Therefore, even if computer 1000 in the virtual private network (VPN) 7000 is assigned an IP address in the same segment as the company network, it is possible to list only printers located at the user's location.
[0101] For example, when bridging a home network to company network 6000, the IP address of computer 1000 in virtual private network 7000 is assigned an address in the same segment as the company network (172.26.176.0). In this case, according to the method of the first embodiment, the networks to which computer 1000 belongs are "192.168.1.0" and "172.26.176.0". Therefore, printer B3000 (172.26.178.127 / 21) is determined to be on the same network as computer 1000. However, according to the method of the sixth embodiment, the network to which computer 1000 belongs is only "192.168.1.0". Therefore, printer B3000 (172.26.178.127 / 21) is determined not to be on the same network as computer 1000 (No in S1605). Therefore, application 1100 does not add "Printer B" to the display list (S1607).
[0102] As a result, even when connecting to the company network from home, and even when the IP address of the home computer in the virtual private network is assigned an address in the same segment as the company network, only printers located at home will be listed. When checkbox 1700 in Figure 6 is OFF during home printing, the UI in Figure 5(a) will be displayed. Conversely, when checkbox 1700 in Figure 6 is ON, the UI in Figure 5(b) will be displayed. This avoids the risk of accidentally selecting a company printer when printing from home or selecting a home printer when printing at the company, even when using a bridge connection to the company network. As a result, it is possible to reduce the occurrence of errors (when VPN is not connected) or information leakage risks (when the output comes from a company printer, when VPN is connected) that may occur when accidentally selecting a company printer while working from home, thereby improving usability.
[0103] [Seventh Embodiment] One form of teleworking involves connecting to a company computer from a home computer via a VPN and remotely controlling the company computer from the home computer to perform work. For example, this includes using Windows Remote Desktop (registered trademark) from a home computer to connect to a company computer via a VPN. In such a situation, if an employee accidentally selects a company printer and prints a document while working from home, the document will be printed from the company printer and cannot be retrieved, resulting in a risk of information leakage. In other words, the same problems as in the above-described embodiment exist.
[0104] Figure 17 shows an example of a network configuration including an information processing device representing a sixth embodiment of the present invention. Components identical to those in Figure 1 are denoted by the same reference numerals. The company has a computer C4000 connected to the company network 6000. The hardware configuration of computer C4000 is the same as that of computer 1000 shown in Figure 2. The software configuration of computer C4000 is the same as that of computer 1000 shown in Figure 3, plus it has a remote host function. The remote host function is a function that provides its operating environment (desktop environment) to other devices that can communicate via the network, enabling remote operation from those other devices, and corresponds to, for example, the Windows Remote Desktop host function.
[0105] On the other hand, the home computer 1000 has a remote client function (for example, the Windows Remote Desktop client function) for connecting to the remote host function via the network.
[0106] Next, we will explain the procedure for determining the list of printers (printer list) using the flowchart in Figure 18. Figure 18 is a flowchart showing an example of the process for determining the printer selection in the seventh embodiment. This process may be performed by an application on the computer C4000 or by the OS, but here it will be described as being performed by an application. All the processes described here are realized by loading an application stored in the memory of the computer C4000 into memory and executing it by the CPU.
[0107] The application on computer C4000 (hereinafter simply referred to as "the application") first obtains the IP address and subnet mask of computer C4000 (S2801). This process is equivalent to the process in step S1311 of the first embodiment. Next, the application obtains a list of available printers (S2802). This process is equivalent to the process in step S1312 of the first embodiment.
[0108] Next, the application checks whether a device belonging to a different network from computer C4000 has established a connection to computer C4000's remote host function (S2803). If no connection to the remote host function is established (the answer in S2803 is No), the application adds all printers obtained in S2802 to the display list (S2810) and proceeds to S2809.
[0109] On the other hand, if a connection to the remote host function is established (Yes in S2803), the application proceeds to S2804.
[0110] In S2804, the application targets the first printer, printer A2000, and obtains the IP address of the target printer from the printer's port information. This process is equivalent to the process in step S1313 of the first embodiment. Although not shown in the flowchart, if the printer in question is not connected to a network, such as "Print to PDF", the application will add the printer in the display list in S2806, which will be described later.
[0111] Next, the application checks whether computer 1000 and the target printer are on the same network (S2805). This process is equivalent to the process in step S1314 of the first embodiment. If it is confirmed that they are on the same network (Yes in S2805), the application proceeds to S2808 without adding the target printer to the display list (S2807).
[0112] On the other hand, if it is confirmed that the printer is not on the same network (if the answer is No in S2805), the application adds the target printer to the display list (S2806) and proceeds to S2808.
[0113] For example, since printer B3000 belongs to the network "172.26.176.0" and computer C4000 also belongs to the network "172.26.176.0", it is determined that they are on the same network (Yes in S2805). Therefore, the application does not add "Printer B" to the display list (S2807). However, since "Print to PDF" does not use a network connection, the application adds it to the display list as described above (S2806).
[0114] In S2808, the application determines whether it has checked (S2804-S2807) whether all printers are on the same network. If there are still printers that have not been checked (if the answer in S2808 is No), the application controls the process to perform S2804-S2807 on the unchecked printers.
[0115] On the other hand, if all printers are checked (and the answer is Yes in S2808), application 1100 proceeds to S2809. In S2809, application 1100 displays the display list created by the above process and terminates the processing of this flowchart.
[0116] As described above, computer C4000, depending on whether a device (computer 1000) belonging to a different network is connecting to its remote host function, will not display printers belonging to the same network as itself in the printer list. This reduces the risk of accidental selection and printing to a company printer while remotely controlling a company computer from home, thus improving usability.
[0117] In this configuration as well, it would be possible to add a checkbox to the remote client's UI to control whether or not to use the printer on the remote host (the company's printer) and whether or not to display it.
[0118] Figure 19 shows an example of a user interface (UI) for excluding unintended printers from the printer list selection. This setting can also be used to prevent the use of printers that are not located in the current location (where computer 1000 is located). This UI is displayed by an application with remote client functionality installed on the home computer 1000. Alternatively, it may be displayed by the operating system. This UI is accessible to the user when remotely connecting from the home computer 1000 to the company computer C4000.
[0119] A user can enable this setting by checking checkbox 2900 and remotely connecting from computer 1000 to computer C4000. When a remote connection is established with computer 1000 in response to a remote connection request that includes information indicating that this setting is enabled, computer C4000 will exclude printer B3000, which is located on company network 6000, from the printer list for printer selection during printing. On the other hand, when a remote connection is established with computer 1000 in response to a remote connection request that does not include information indicating that this setting is enabled, computer C4000 will display all printers registered on computer C4000 as selectable. In other words, when the checkbox 2900 in Figure 19 is checked as ON and a remote connection is established, the process shown in the flowchart in Figure 18 is executed.
[0120] As a result, printers on the remote network will be excluded from the list at the time you want to print. Specifically, if you connect remotely from home to the company with checkbox 2900 in Figure 19 turned OFF, the UI screen displayed on the remotely controlled computer C4000 will be the same as Figure 5, as shown in Figure 5(a). On the other hand, if you connect with checkbox 2900 in Figure 19 turned ON, the UI screen displayed on the remotely controlled computer C4000 will be the same as Figure 5, as shown in Figure 5(b). By providing such a printer list screen to the user's computer 1000 remotely controlled from home, the risk of selecting a company printer when printing from home can be avoided. As a result, it is possible to reduce the risk of information leakage, such as accidentally selecting a company printer and printing while working from home, resulting in the output being from a company printer (when connected via VPN).
[0121] In the seventh embodiment, conversely, the user may enable a setting (not shown) that does not use the client-side printer (printer on home network 5000) and enable remote connection from computer 1000 to computer C4000. When computer C4000 remotely connects with computer 1000 in response to a remote connection request that includes information indicating that this setting is enabled, it excludes printer A2000 on home network 5000 from the printer list for printer selection during printing. On the other hand, when computer C4000 remotely connects with computer 1000 in response to a remote connection request that includes information indicating that this setting is disabled, computer C4000 includes printer A2000 on home network 5000 in the printer list. The seventh embodiment may include such a configuration.
[0122] As described above, in use cases where a company PC is taken home for use, the user is prevented from selecting a printer that is not located at their current location, thus eliminating the need to search for a printer at home. Furthermore, the risk of errors or data leaks caused by accidentally printing to a company printer (a printer located far from the user's location) can be prevented. For example, in use cases such as taking a company PC home to use, this reduces the risk of accidentally selecting an unintended printer, such as a company printer, and improves usability when users select a printer from a list of printers to print to.
[0123] The present invention has been described above using several embodiments. The APIs and commands shown here are merely examples, and similar implementations can be carried out using other means. Furthermore, while a printer has been used as an example of a peripheral device, the same implementations can be carried out for other peripheral devices. In addition, while the process of excluding unnecessary options has been described in all embodiments, similar effects can be obtained by moving options to the end of the list of choices to lower their priority without excluding them. Options with lower priority may also be marked. Furthermore, if the peripheral device is a shared object via a server, the IP address of the server may be considered as the destination address instead of the peripheral device's IP address, and the same processing may be performed. This allows the same effect to be obtained even in environments with a shared printer via a print server.
[0124] It should be noted that the structure and content of the various data described above are not limited to those mentioned, and it goes without saying that they can be composed of various structures and contents depending on the use and purpose. Although one embodiment has been described above, the present invention can take the form of, for example, a system, apparatus, method, program, or storage medium. Specifically, it may be applied to a system consisting of multiple devices, or to an apparatus consisting of a single device. Furthermore, any configurations combining the above embodiments are also included in the present invention.
[0125] [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, the present invention may be applied to a system consisting of multiple devices or to a device consisting of a single device. The present invention is not limited to the embodiments described above, and various modifications (including organic combinations of each embodiment) are possible based on the spirit of the invention, and these are not excluded from the scope of the invention. That is, all configurations that combine the above-described embodiments and their modified forms are included in the present invention. [Explanation of Symbols]
[0126] 1000 computers 1100 applications 1200 Operating Systems (OS) 2000 Printer A 3000 Printer B 5000 Home Network 6000 Company Network 7000 Virtual Private Network (VPN)
Claims
1. An information processing device that can be connected to a local area network using a first network address and can be connected to another network using a second network address for a remote access function, a determination unit that determines whether the printer registered in the information processing device is a printer connected to the other network; a control means for controlling the display unit not to display the printer as a candidate destination for print data when the determination means determines that the printer is a printer connected to the other network while the remote access function is enabled, and for controlling the display unit to display the printer as a candidate destination for print data when the determination means determines that the printer is not a printer connected to the other network; An information processing device comprising:
2. 2. The information processing apparatus according to claim 1, wherein the second network address is an address for a VPN.
3. 3. An information processing device according to claim 1, wherein when the determination means determines that the printer is not a printer connected to the other network, the printer is a printer connected to the information processing device via the local area network.
4. 4. The information processing apparatus according to claim 1, wherein the remote access function is enabled based on an instruction from a user.
5. The information processing device according to any one of claims 1 to 4, characterized in that the determination means determines whether the registered printer is a printer connected to the other network based on the IP address of the information processing device and the IP address of the printer.
6. A method for controlling an information processing device that is connectable to a local area network using a first network address and connectable to another network using a second network address for a remote access function, comprising: a determination step of determining whether the printer registered in the information processing device is a printer connected to the other network; a control step of controlling the display unit not to display the printer as a candidate destination for print data when it is determined in the determination step that the printer is a printer connected to the other network while the remote access function is enabled, and to display the printer as a candidate destination for print data when it is determined in the determination step that the printer is not a printer connected to the other network; 1. A method for controlling an information processing device, comprising:
7. A program installed on an information processing device that can connect to a local area network using a first network address and can connect to another network using a second network address for a remote access function, comprising: The information processing device includes: determining whether a printer registered in the information processing device is a printer connected to the other network; and when the remote access function is enabled, control is performed so that the printer is not displayed as a candidate destination for print data when it is determined that the printer is a printer connected to the other network, and the printer is displayed as a candidate destination for print data when it is determined that the printer is not a printer connected to the other network. A program characterized by:
8. The program described in Claim 7, characterized in that the second network address is an address for a VPN.
9. A program as described in claim 7 or 8, characterized in that when it is determined that the printer is not a printer connected to the other network, the printer is a printer connected to the information processing device via the local area network.
10. A program described in any one of claims 7 to 9, characterized in that the remote access function is enabled based on a user's instruction.
11. A program described in any one of claims 7 to 10, characterized in that it determines whether the registered printer is a printer connected to the other network based on the IP address of the information processing device and the IP address of the printer.