Information processing apparatus, method, storage medium storing a program, and program product
By monitoring network interface usage and prompting users for permission to access the local network, the problem of users not being aware of the need for permission is resolved, ensuring normal communication between the information processing device and external devices.
Patent Information
- Application Number
- CN202610008704.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-01-09
- Filing Date
- 2026-01-06
- Publication Date
- 2026-07-10
AI Technical Summary
When an information processing device connects to an external device, the user may not realize that permission to access the local network is required, resulting in communication functions being unavailable and affecting user convenience.
The privacy information management module monitors network interface usage, displays a screen showing permission to access the local network, and prompts the user to request permission in the connection method when access is determined to be denied.
It improves the convenience for users when connecting information processing devices to external devices and ensures the normal operation of communication functions.
Smart Images

Figure CN122363628A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to an information processing apparatus, a method, a storage medium for a stored program, and a program product. Background Technology
[0002] The known information processing device communicates with the image processing device that has not been assigned an IP address using a predetermined interface.
[0003] Japanese Patent Publication No. 2020-46756 discloses a technique for using an application to output web content from a USB-connected image processing device. Summary of the Invention
[0004] This disclosure provides an information processing apparatus that improves user convenience when the information processing apparatus establishes a connection with an external device via a connection to a local network, and also provides a method, a storage medium for storing programs, and a program product.
[0005] A first aspect of this disclosure provides an information processing apparatus, comprising: a first obtaining unit configured to obtain first information indicating whether access to a local network by an application is permitted; a second obtaining unit configured to obtain second information indicating a connection method between the information processing apparatus and an external device; and a display control unit configured to, in response to the first information obtained by the first obtaining unit indicating that access is not permitted, display information indicating that access is permitted in the connection method indicated by the second information, if it is determined based on the second information obtained by the second obtaining unit that the information processing apparatus is to connect to the external device via an internal network interface of the information processing apparatus.
[0006] A second aspect of this disclosure provides a method performed by an information processing apparatus, comprising: obtaining first information indicating whether access to a local network by an application is permitted; obtaining second information indicating a connection method between the information processing apparatus and an external device; and, if, based on the obtained second information, it is determined that the information processing apparatus intends to connect to the external device via an internal network interface of the information processing apparatus, in response to the obtained first information indicating that the access is not permitted, displaying information indicating that permission is required for the access in the connection method indicated by the second information.
[0007] A third aspect of this disclosure provides a non-transitory computer-readable storage medium storing a program configured to cause a computer to: obtain first information indicating whether access to a local network by an application is permitted; obtain second information indicating a connection method between the information processing device and an external device; and, in response to the first information indicating that the access is not permitted, display information indicating that permission is required for the access in the connection method indicated by the second information, if it is determined based on the obtained second information that the information processing device is to connect to the external device via an internal network interface of the information processing device.
[0008] A fourth aspect of this disclosure provides a stored program product, the program being configured to cause a computer to: obtain first information indicating whether access to a local network by an application is permitted; obtain second information indicating a connection method between the information processing device and an external device; and, in response to the first information indicating that access is not permitted, display information indicating permission for the access in the connection method indicated by the second information, if it is determined based on the obtained second information that the information processing device is to connect to the external device via the internal network interface of the information processing device.
[0009] According to this disclosure, user convenience can be improved when an information processing device establishes a connection with an external device via a connection to a local network.
[0010] The features of this disclosure will become clear from the following description of embodiments with reference to the accompanying drawings. The following description of embodiments is by way of example. Attached Figure Description
[0011] Figure 1 This is a diagram illustrating the system configuration.
[0012] Figure 2 This is a diagram showing the software configuration of the host computer.
[0013] Figure 3 This is a flowchart illustrating the processing within the host computer.
[0014] Figure 4 This is an image illustrating the user interface.
[0015] Figure 5 This is an image illustrating the user interface.
[0016] Figure 6 This is a diagram showing the software configuration of the host computer.
[0017] Figure 7 This is a flowchart illustrating the processing within the host computer.
[0018] Figure 8 This is a flowchart illustrating the processing within the host computer.
[0019] Figure 9 This is an image illustrating the user interface.
[0020] Figure 10 This is an image illustrating the user interface.
[0021] Figure 11 This is an image illustrating the user interface.
[0022] Figure 12 This is an image illustrating the user interface.
[0023] Figure 13A and Figure 13B This is a flowchart illustrating the processing within the host computer.
[0024] Figure 14 This is a flowchart illustrating the processing within the host computer.
[0025] Figure 15 This is a flowchart illustrating the processing within the host computer.
[0026] Figure 16 It is a diagram of a table.
[0027] Figure 17A and Figure 17B This is a flowchart illustrating the processing within the host computer.
[0028] Figure 18A and Figure 18B This is a flowchart illustrating the processing within the host computer.
[0029] Figure 19 This is a flowchart illustrating the processing within the host computer.
[0030] Figure 20 This is a flowchart illustrating the processing within the host computer. Detailed Implementation
[0031] In the following, embodiments will be described in detail with reference to the accompanying drawings. It should be noted that the following embodiments are not intended to limit the scope of the claims. Several features are described in the embodiments, but this does not mean that all such features are necessary, and multiple such features can be appropriately combined. Furthermore, in the drawings, the same or similar configurations are given the same reference numerals, and redundant descriptions thereof are omitted.
[0032] First Embodiment
[0033] System Configuration
[0034] First, we will use Figure 1Describe the configuration of the system according to this disclosure.
[0035] The host computer 101 is an example of an information processing device and includes a CPU 102, an external storage device 103, an input interface 104, an output interface 105, a ROM 106, and a RAM 107.
[0036] Furthermore, the host computer 101 includes a wired LAN interface 108, a wireless LAN interface 109, and a Universal Serial Bus (USB) interface 110.
[0037] CPU 102 is the system control unit and controls the entire host computer 101.
[0038] CPU 102 performs various types of processing by reading programs stored in storage media such as external storage device 103, ROM 106, etc., onto RAM 107, which serves as the working area, and executing the programs.
[0039] External storage device 103 is a storage device such as a hard disk drive (HDD), a solid-state drive (SSD), etc., and stores application groups, operating systems (OS), and various other types of data.
[0040] Keyboard 111 and mouse 112 are connected to input interface 104.
[0041] Input interface 104 receives information related to user operations received via input devices such as keyboard 111, mouse 112, etc. and transmits this information to CPU 102.
[0042] The display unit 113, which is a display device such as a monitor, is connected to the output interface 105.
[0043] ROM 106 is, for example, a non-volatile storage device, and stores an initialization program that can be executed by CPU 102.
[0044] The wired LAN interface 108 of the host computer 101 is an interface that can perform wired communication with external devices via router 151 and the like.
[0045] The wireless LAN interface 109 of the host computer 101 is an interface that can perform wireless communication with external devices through an external wireless LAN access point 152, etc.
[0046] The USB interface 110 of the host computer 101 is an interface that can perform local communication with external devices.
[0047] Note that the host computer 101 can be, for example, a desktop computer, smartphone, or laptop computer.
[0048] Next, the configuration of printer 121 as an external device will be described.
[0049] The printer 121 includes a CPU 122, ROM 123, RAM 124, input interface 125, output interface 126, wired LAN interface 127, wireless LAN interface 128, USB interface 129, and printer motor 130.
[0050] The operation unit 132 is connected to the input interface 125, and the display unit 133 is connected to the output interface 126.
[0051] CPU 122 is the system control unit and controls the entire printer 121.
[0052] CPU 122 performs various types of processing by reading programs stored in storage media such as ROM 123 onto RAM 124, which serves as the working area, and executing the programs.
[0053] The printing engine 130 controls the printing unit (not shown) to perform printing functions based on printing data sent from the host computer 101 and prints on printing media such as sheets.
[0054] In the example of this embodiment described herein, printer 121 is an inkjet printer that prints by ejecting ink onto a printing medium. However, printing can be performed via different methods (e.g., electrophotographic methods).
[0055] The image processing unit 131 performs various types of image processing, and, for example, scans a document placed on a glass plate (not shown) with an optical sensor based on a scan command sent from the host computer 101 and sends the scan data to the host computer 101.
[0056] The operation unit 132 is an interface that can receive operation commands from the user and inputs for various types of settings.
[0057] Web UI control unit 134 provides a remote UI to external devices such as host computer 101.
[0058] From the web browser application running on the host computer 101, the user can use a screen called the remote UI provided by the web UI control unit 134 to refer to the status of the printer 121, change various types of settings, etc.
[0059] The host computer 101 and the printer 121 can communicate with each other via an interface connection.
[0060] For example, the USB port 110 of the host computer 101 and the USB port 129 of the printer 121 can be connected via a USB cable.
[0061] When wired communication is performed between the wired LAN interface 108 of the host computer 101 and the wired LAN interface 127 of the printer 121, the host computer 101 and the printer 121 are connected via the router 151.
[0062] When wireless communication is performed between the wireless LAN interface 109 of the host computer 101 and the wireless LAN interface 128 of the printer 121, the host computer 101 and the printer 121 are connected via the wireless LAN access point 152.
[0063] When router 151 and wireless LAN access point 152 are on the same network, communication can be performed via both wired LAN and wireless LAN.
[0064] Therefore, the wired LAN interface 108 of the host computer 101 and the wireless LAN interface 128 of the printer 121 can be connected.
[0065] Furthermore, it can also connect to the wireless LAN interface 109 of the host computer 101 and the wired LAN interface 127 of the printer 121.
[0066] Note that router 151 and wireless LAN access point 152 are connected to the Internet, and host computer 101 and printer 121 can access the Internet via wired LAN interface or wireless LAN interface.
[0067] In the above example, the communication method between the host computer 101 and the printer 121 uses three types of interfaces: wired LAN, wireless LAN, and USB.
[0068] However, it is not necessary to provide all three types of interfaces; providing one type of interface is sufficient.
[0069] Furthermore, it can provide interfaces that are different from the three types mentioned above.
[0070] Due to increased security awareness recently, communication by applications via LAN may be restricted, and in order for applications to communicate with external devices via LAN, user permission to access the LAN may be required.
[0071] Furthermore, when the information processing device and external devices are connected via the internal network interface of the information processing device, user permission to access the LAN may be required in order for the application to communicate with the external devices.
[0072] For example, even if the external device and the information processing device are connected via a USB cable, the information processing device may request the user's permission to access the LAN if it is configured to also allow connection via an internal network interface.
[0073] However, in this case, the user has already connected the external device to the information processing device via USB cable and is unaware of the connection via the internal network interface.
[0074] Therefore, users may not realize that LAN access needs to be permitted and may not permit LAN access for unintended connection methods.
[0075] Therefore, the ability for the application to communicate with external devices may become unavailable.
[0076] In this embodiment, the user is appropriately guided to grant access to the LAN based on the connection method between the information processing device and the external device. This can improve user convenience related to using remote UI functions, etc.
[0077] Software configuration of host computer 101
[0078] Now will be used Figure 2 and Figure 6 An example describing the software configuration of host computer 101.
[0079] The OS running on host computer 101 is the system software that controls and manages the entire host computer 101.
[0080] The OS provides basic computer management and control, including the management of hardware such as memory and hard disk, as well as the management of processes such as applications and system functions.
[0081] The components that make up an OS include Figure 2 The privacy information management module 202 shown is Figure 6 The printing system 601 shown is illustrated.
[0082] First, the description Figure 2 .
[0083] The privacy information management module 202 is an OS module that monitors the use of network interfaces by processes such as applications and manages the restrictions and removal of communication by processes such as applications using network interfaces.
[0084] Processes such as applications cannot communicate with external devices unless the privacy information management module 202 removes the restriction on communication performed using the network interface.
[0085] The privacy information management module 202 initially restricts all processes, such as applications, from using the network interface for communication.
[0086] When a process, such as an application, uses the network interface for the first time, it displays... Figure 4 The screen shown is for obtaining permission to access a local network (e.g., a LAN).
[0087] Here, the network interfaces monitored by the privacy information management module 202 are the external network interface and the internal network interface 210.
[0088] The external network interface is a network interface used to communicate with external devices and includes a wired LAN interface 108 and a wireless LAN interface 109.
[0089] Furthermore, the internal network interface 210 is a network interface used for communication within the host computer 101 managed by the OS.
[0090] Figure 3 This is a flowchart illustrating the network interface monitoring process performed by the privacy information management module 202.
[0091] Figure 3 The processing is achieved, for example, by the CPU 102 reading the program stored in ROM 106 into RAM 107 and executing the program.
[0092] After startup, the OS causes the privacy information management module 202 to execute. Figure 3 The processing is used to monitor the network interface of processes such as applications.
[0093] The following describes the network interface monitoring process performed by the privacy information management module 202.
[0094] In S301, CPU 102 determines whether there is an access request to the network interface via privacy information management module 202.
[0095] If it is determined that there is no access request to the network interface, repeat the process that started from S301.
[0096] If it is determined that there is an access request to the network interface, in S302, the CPU 102 obtains information about the LAN access permission status of the process requesting access to the network interface via the privacy information management module 202.
[0097] Information about LAN access permission status includes, for example, the name of the process requesting access to the network interface and whether the user has granted permission.
[0098] The privacy information management module 202 reads the LAN access permission status information stored in the external storage device 103 of the host computer 101.
[0099] In S303, CPU 102 determines via privacy information management module 202 whether the LAN access permission status of the process requesting network access has not been set.
[0100] For example, if the name of the process requesting access to the network interface is not stored in the external storage device 103 as information about the LAN access permission status, it is determined that the LAN access permission status is not set.
[0101] If it is determined that the LAN access permission status of the process requesting access to the network interface is not set, the process proceeds to S308.
[0102] If it is determined that the LAN access permission status of the process requesting access to the network interface is not set, the process proceeds to S304.
[0103] In S304, CPU 102 obtains a LAN access permission message for the process requesting access to the network interface via privacy information management module 202.
[0104] In S305, CPU 102 determines whether it has obtained a LAN access permission message for the process requesting access to the network interface via privacy information management module 202.
[0105] If it is determined that no LAN access permission message has been obtained for the process requesting access to the network interface, the process proceeds to S306.
[0106] In S306, CPU 102 sets a pre-prepared default message as a LAN access permission message via privacy information management module 202.
[0107] For example, you can set a message such as "This app is not allowed to obtain data from devices on the network."
[0108] After S306, processing proceeds to S307.
[0109] If it is determined that a LAN access permission message has been obtained for the process requesting access to the network interface, the process proceeds to S307.
[0110] In S307, CPU 102 displays a screen for obtaining LAN access permission via privacy information management module 202.
[0111] Figure 4 This is an example of a screen displayed by the privacy information management module 202 in S307 for obtaining LAN access permission.
[0112] The LAN access permission screen 401 includes a main message 402 describing the name of the target application, supplementary messages 403 that can be specified by the application's vendor, a "Disallow" button 404, and a "Allow" button 405.
[0113] Here, supplementary message 403 is a message obtained in S304 or a default message set in S306.
[0114] These two messages can be the same, or they can be different.
[0115] When the LAN access permission screen 401 is displayed and the user presses the "Disallow" button 404, the privacy information management module 202 closes the LAN access permission screen 401.
[0116] Furthermore, the privacy information management module 202 sets the LAN access permission status of the target application to "not allowed".
[0117] Furthermore, when the user presses the "Allow" button 405 on the LAN access permission screen 401, the privacy information management module 202 closes the LAN access permission screen 401 and sets the LAN access permission status of the target application to "Allow".
[0118] Now let's go back to Figure 3 .
[0119] In S308, CPU 102 closes the LAN access permission screen 401 via privacy information management module 202 in response to user operation.
[0120] Subsequently, CPU 102 determines, via privacy information management module 202, whether the LAN access permission status of the process requesting access to the network interface is set to "allowed" or "disallowed".
[0121] If it is determined that the LAN access permission status of the process requesting access to the network interface is "allowed", the process proceeds to S309.
[0122] In S309, CPU 102 removes the restriction on processes requesting access to the network interface to communicate using the network interface via privacy information management module 202.
[0123] After S309, processing proceeds to S311.
[0124] If it is determined that the LAN access permission status of the process requesting access to the network interface is "not allowed", the process proceeds to S310.
[0125] In S310, CPU 102 restricts the use of the network interface for communication by processes requesting access to the network interface via privacy information management module 202.
[0126] After S310, processing proceeds to S311.
[0127] Through this process, when a process that is restricted from using the network interface uses the network interface, a communication error is generated indicating that communication using the network interface is restricted.
[0128] In S311, CPU 102 determines whether to end monitoring of the network interface via privacy information management module 202.
[0129] End monitoring of network interfaces, for example, by having the OS terminate the processing of such requests.
[0130] If it is determined that the monitoring of the network interface will not be terminated, repeat the process that started from S301.
[0131] Once it is determined that monitoring of the network interface will be terminated, then terminate. Figure 3 Network interface monitoring and processing.
[0132] You can change the LAN access permission settings from the OS settings screen.
[0133] Figure 5 This is an example of a settings change screen managed by the OS for granting access to the LAN, and for example, the privacy information management module 202 displays when the user operates the OS's settings change menu. Figure 5 The scene.
[0134] On the LAN access license settings change screen 501, the applications 201 that have performed access license settings on the LAN access license screen 401 are displayed in a list, and the user can confirm and change the access license settings.
[0135] Here, it can be confirmed that the LAN access permission setting 502 for "Application A" is set to "Allow" and the LAN access permission setting 503 for "Application B" is set to "Disallow".
[0136] Furthermore, the LAN access permission setting 502 for "Application A" can be changed from "Allow" to "Disallow" or from "Disallow" to "Allow" via a user-operated toggle control.
[0137] Furthermore, the LAN access permission setting 503 for "Application B" can be changed from "Allow" to "Disallow" or from "Disallow" to "Allow" via a user-operated toggle control.
[0138] When a user changes the LAN access permission setting for application 201 from "Allow" to "Disallow", the privacy information management module 202 restricts application 201 from using the network interface for communication.
[0139] Furthermore, when a user changes the LAN access permission setting for application 201 from "disallowed" to "allowed", the privacy information management module 202 removes the restriction on application 201's use of the network interface for communication.
[0140] Next, we will describe Figure 6 The printing system 601 shown is illustrated.
[0141] The printing system 601 is an OS module that provides the necessary functions for using the printer 121 from the host computer 101.
[0142] The printing system 601 provides an application programming interface (API) for the application 201 to use its functions.
[0143] The API may include providing information, printing instructions, etc., related to printer 121 registered in the OS.
[0144] Recent operating systems have the ability to print from the host computer without requiring the installation of driver software provided by the printer manufacturer's supplier within the operating system.
[0145] This capability is known as a driverless printing system, and examples of known protocols that support this capability include IPP Everywhere (registered trademark), which uses the Internet Printing Protocol (IPP) as its printing protocol.
[0146] In this embodiment, it is also assumed that the OS printing system 601 and printer 121 support IPP Everywhere.
[0147] Furthermore, in this embodiment, the printer 121 that supports IPP Everywhere is connected to the host computer 101 via a wired LAN interface 108 or a wireless LAN interface 109.
[0148] Furthermore, the use of the printer is registered in the OS and can be used from the configuration of application 201.
[0149] Furthermore, in this embodiment, both the printer 121 and the printing system 601 support the IPP over USB protocol, which extends the functionality of the IPP protocol to the USB interface.
[0150] In this embodiment, the printer 121 that supports IPP Everywhere is connected to the host computer 101 via a USB interface 110 and an internal network interface 210.
[0151] Furthermore, the use of printer 121 is registered in the OS and can be configured from application 201.
[0152] In this embodiment, when application 201 communicates with printer 121 using the API provided by printing system 601, no LAN access license is required.
[0153] However, when application 201 communicates with printer 121 without using the API provided by printing system 601, a LAN access license is required.
[0154] Application operation example
[0155] Next, the application 201 running on the host computer 101 will be described.
[0156] When application 201 is activated from the OS in response to a user action, execute... Figure 7 The startup process shown is displayed on the display unit 113 of the host computer 101. Figure 9 The image shown is 901.
[0157] For example, Figure 7 The processing is achieved by the CPU 102 reading the program stored in ROM 106 into RAM 107 and executing the program.
[0158] The following will describe the actions performed by application 201. Figure 7 The startup process of application 201 is shown.
[0159] In S701, CPU 102 obtains information about the printer selected during the last startup via application 201.
[0160] For example, when application 201 ends, it stores the information of the selected printer in the external storage device 103 of the host computer 101 and reads the information of the selected printer when application 201 starts.
[0161] In S702, CPU 102 determines whether the application 201 has already obtained information about the printer selected during the last startup.
[0162] If it is determined that information about the printer selected at the last startup has been obtained, in S708, CPU 102 sets the printer selected at the last startup to the printer selected at startup via application 201.
[0163] Then, CPU 102 displays information about the selected printer in the selected printer display area 904 via application 201.
[0164] After S708, processing proceeds to S709.
[0165] On the other hand, if it is determined that the information of the printer selected at the last startup is not obtained, in S703, CPU 102 obtains the information of the default printer registered in the OS via application 201.
[0166] In S704, CPU 102 determines whether the application 201 has obtained information about the default printer registered in the OS.
[0167] If it is determined that information about the default printer registered in the OS is not available, in S706, CPU 102 displays a message via application 201 indicating that the printer needs to be registered in the OS.
[0168] Figure 10 This is a diagram illustrating an example of a message screen displayed in S706.
[0169] like Figure 10 As shown, message screen 1001 displays a message indicating that the printer needs to be registered in the OS, and an end button 1002.
[0170] The end button 1002 is a button that can receive the instruction to end the application 201.
[0171] If the end button 1002 is pressed after the user confirms the content of the message screen 1001, then in S707, the CPU 102 performs application termination processing via the application 201.
[0172] After that, Figure 7 The application 201 startup process has ended.
[0173] If in S704 it is determined that the information of the default printer registered in the OS has been obtained, in S705, the CPU 102 sets the obtained default printer registered in the OS as the printer selected at startup via application 201.
[0174] Then, CPU 102 displays information about the selected printer in the selected printer display area 904 via application 201.
[0175] After S705, processing proceeds to S709.
[0176] In S709, CPU 102 obtains the number of printers registered in the OS via application 201.
[0177] Then, in S710, CPU 102 determines via application 201 whether two or more printers are registered in the OS.
[0178] If it is determined that two or more printers are registered in the OS, in the S711, the CPU 102 displays printer switching display buttons 902 and 903.
[0179] When the user presses the printer switching display button 902 or 903, the currently selected printer can be switched to another printer registered in the OS, and the application 201 displays the switched printer in the selected printer display area 904.
[0180] After S711 and in S710, if it is determined that two or more printers are not registered in the OS, processing proceeds to S712.
[0181] In S712, CPU 102 displays the print photo button 905 in an enabled state that can receive input from the user via application 201.
[0182] To print an image file using the currently selected printer displayed in the selected printer display area 904, the user presses the Print Photo button 905.
[0183] Image files can be, for example, Joint Image Experts Group (JPEG) files or Portable Web Graphics (PNG) files.
[0184] When the print photo button 905 is pressed, application 201 displays the file selection screen. After the user selects a file, a print command can be issued to the currently selected printer.
[0185] In S713, CPU 102 displays the print document button 906 via application 201 in an enabled state that can receive input from the user.
[0186] To print a portable document format (PDF) file, for example, using the currently selected printer displayed in the selected printer display area 904, the user presses the print document button 906.
[0187] When the print document button 906 is pressed, application 201 displays the file selection screen. After the user selects a file, a print command can be issued to the currently selected printer.
[0188] In the S714, via application 201, CPU 102 executes the following usage. Figure 8 The description of the remote UI button's display control processing and termination. Figure 7 Application 201 startup process.
[0189] Figure 8 This is a flowchart illustrating the display control process of the remote UI button in the S714 diagram.
[0190] In S801, CPU 102 obtains the display Uniform Resource Locator (URL) of the remote UI of the selected printer via application 201.
[0191] Specifically, for example, the display URL of the remote UI can be obtained using the known discovery protocol Bonjour.
[0192] In this embodiment, since printer 121 supports IPP as a protocol, "_ipp._tcp." is specified as the service type.
[0193] Furthermore, the target network interface corresponds to all network interfaces, including internal and external network interfaces.
[0194] As described above, when an application uses the network interface for the first time, the LAN access permission screen 401 is displayed because the application's LAN access permission status is not set.
[0195] When the user presses the "Disallow" button 404, if the application 201 performs printer service discovery via the Bonjour protocol, then a communication error indicating that communication using the network interface is restricted is obtained.
[0196] Furthermore, when the user presses the "Allow" button 405, even if the application 201 performs printer service discovery via the Bonjour protocol, it cannot obtain a communication error indicating that communication using the network interface is restricted.
[0197] Furthermore, if the application's network interface has been used two or more times, it is determined whether to generate a communication error indicating that communication using the network interface is restricted, based on the application's LAN access permission status.
[0198] If communication using the network interface is unrestricted, and application 201 uses the Bonjour protocol to perform printer service discovery, then the TXT record of the printer service can be obtained.
[0199] The value of the "adminurl" key in the TXT record of the printer service obtained by application 201 corresponds to the display URL of the remote UI.
[0200] In S802, CPU 102 determines whether the display URL of the remote UI has been obtained by application 201.
[0201] If the display URL of the remote UI has been obtained, in S803, the CPU 102 displays the remote UI button 907 in an enabled state that can receive input from the user via the application 201.
[0202] In order to display the remote UI screen of the currently selected printer in the selected printer display area 904, the user presses the remote UI button 907.
[0203] When the remote UI button 907 is pressed, application 201 will specify the display URL of the remote UI obtained in S801 as the URL. Then, after the web browser application has started, Figure 8 The remote UI button display process has ended.
[0204] For example, in S801, if the value of the "adminurl" key in the TXT record of the currently selected printer service is obtained as "http: / / PRINTERA.local. / index.html", then the value is displayed. Figure 11 The scene.
[0205] Figure 11 This is an example of a screen from a web browser application launched by Application 201.
[0206] The web browser application screen 1101 displays the web content specified in the display URL 1102 in the content display section 1103.
[0207] In the example illustrated here, the estimated ink level is displayed in content display section 1103 as the web content of “http: / / PRINTERA.local. / index.html”, which corresponds to the display URL of the remote UI.
[0208] In S802, if it is determined that the display URL of the remote UI has not been obtained, in S804, the CPU 102 displays the remote UI button 907 in a disabled state via the application 201, indicating that it cannot receive input from the user.
[0209] In S805, CPU 102 sends a query to privacy information management module 202 via application 201 and obtains its LAN access permission status.
[0210] Then, in S806, CPU 102 sends a query to printing system 601 via application 201 and obtains the connection method with the currently selected printer.
[0211] Specifically, for example, obtaining the device URI as a printer connection method.
[0212] For example, when printer 121 is connected to host computer 101 via a network, application 201 obtains the device URI that begins with the scheme "ipp: / / ".
[0213] Furthermore, when printer 121 is connected to host computer 101 via USB, application 201 obtains the device URI starting with the scheme "ippusb: / / ".
[0214] In S807, CPU 102 determines whether the OS is permitted to access the LAN via application 201.
[0215] With OS access to the LAN granted. Figure 8 The remote UI button display process has ended.
[0216] On the other hand, if it is determined that OS access to the LAN is not permitted, processing proceeds to S808.
[0217] In S808, via application 201, CPU 102 determines whether the selected printer is connected to host computer 101 via internal network interface 210.
[0218] If it is determined that the selected printer is not connected to the host computer 101 via the internal network interface 210 Figure 8 The remote UI button display process has ended.
[0219] On the other hand, if it is determined that the selected printer is connected to the host computer 101 via the internal network interface 210, the process proceeds to S809.
[0220] In S809, such as Figure 12 As shown, CPU 102 displays a message as a tooltip UI 1201 for the disabled remote UI button 907 via application 201.
[0221] After S809, Figure 8 The remote UI button display process has ended.
[0222] Tooltips are UI controls that appear when the mouse pointer overlaps with a button.
[0223] Furthermore, the displayed message indicates that a LAN access license is required for the current connection method of the selected printer.
[0224] For example, when printer 121 is connected to host computer 101 via USB, the user is unaware that printer 121 is connected to host computer 101 via internal network interface.
[0225] Therefore, even if the LAN access permission screen 401 is displayed when application 201 is running, it is reasonable for the user to press the "Disallow" button 404 since a USB connection has been formed with the host computer 101.
[0226] In this embodiment, even in this case, the user can be made aware of the request for permission to access the application's LAN via a message displayed on the tooltip UI 1201.
[0227] In this embodiment, when the application uses an internal network interface, a message indicating that permission to access the LAN is required in the current connection method is displayed.
[0228] However, even when the application uses an external network interface, a message indicating that permission to access the LAN is required in the current connection method can be displayed.
[0229] As described above, in this embodiment, a method based on the current connection with the external device is used to determine whether the external device is connected to the host computer via the internal network interface.
[0230] Furthermore, if it is determined that an external device is connected to the host computer via an internal network interface, a message is displayed requesting permission to access the application's LAN.
[0231] Therefore, for example, in the case where the printer and host computer 101 are connected via USB and access to the application's LAN is not permitted, the user can recognize that permission to access the LAN is required.
[0232] This can improve user convenience when using remote UI features, etc.
[0233] Second Embodiment
[0234] The differences between the second embodiment and the first embodiment will be described below.
[0235] In the first embodiment, based on the state of a communication error indicating that communication using the network interface is restricted, permission to access the LAN is not granted, and a message indicating a request for permission to access the LAN is displayed in S809.
[0236] In this embodiment, in such cases, if the display URL of the remote UI can be obtained by a different method than that used in S801, then the remote UI button 907 is displayed in an enabled state where it can receive input from the user.
[0237] Figure 13A and Figure 13B This is an example of a flowchart illustrating the remote UI button display process according to this embodiment.
[0238] For example, Figure 13A and Figure 13B The processing is achieved by the CPU 102 reading the program stored in ROM 106 into RAM 107 and executing the program.
[0239] Figure 13A S801 to S808 and Figure 8 S801 to S808 are the same, so their description will be omitted.
[0240] In S808, if it is determined that the selected printer is connected to the host computer 101 via the internal network interface 210, the process proceeds to S1301.
[0241] In S1301, CPU 102 determines whether the display URL of the remote UI of the selected printer can be obtained from the settings file when the printer is registered in the OS via application 201.
[0242] For example, as a printing system 601, the General Unix Printing System (registered trademark) (CUPS) can be used.
[0243] In this case, it is known that the value corresponding to the "adminurl" key in the PPD file (which is the configuration file when the printer is registered in the OS) corresponds to the display URL of the remote UI.
[0244] If it is determined that the display URL of the remote UI of the selected printer can be obtained from the configuration file when the printer is registered in the OS, the process proceeds to S1302.
[0245] In S1302, CPU 102 obtains the display URL of the remote UI of the selected printer from the configuration file when the printer is registered in the OS via application 201.
[0246] Then, in S1303, CPU 102 changes the remote UI button 907 to an enabled state that can receive input from the user via application 201.
[0247] After S1303, Figure 13A and Figure 13B The remote UI button display process has ended.
[0248] On the other hand, in S1301, if it is determined that the display URL of the remote UI of the selected printer cannot be obtained from the settings file when the printer is registered in the OS, the process proceeds to S809.
[0249] Figure 13B S809 and Figure 8 Since it is the same as S809, its description will be omitted.
[0250] As described above, in this embodiment, it is determined whether the display URL of the remote UI can be obtained through a method different from accessing the LAN.
[0251] Furthermore, if it is determined that the display URL can be obtained, the display URL of the remote UI is obtained, and the remote UI button 907 is displayed in an enabled state that can receive input from the user.
[0252] This can further improve user convenience when using remote user interface functions.
[0253] Third Embodiment
[0254] The differences from the first and second embodiments will be described below.
[0255] In the first embodiment, based on the state of a communication error indicating that communication using the network interface is restricted, permission to access the LAN is not granted, and a message indicating a request for permission to access the LAN is displayed in S809.
[0256] In this embodiment, a message indicating the need for access permission is displayed for each function only if the access permission status is obtained before accessing the LAN when performing each function and permission to access the LAN is required for the current connection method.
[0257] Figure 14 This is a flowchart illustrating the startup process of application 201 according to this embodiment.
[0258] For example, Figure 14 The processing is achieved by the CPU 102 reading the program stored in ROM 106 into RAM 107 and executing the program.
[0259] Figure 14 S701 to S711 and Figure 7 S701 to S711 are the same, so their description will be omitted.
[0260] In S710, if it is determined that two or more printers are not registered in the OS, or after S711, the process proceeds to S1401.
[0261] In S1401, CPU 102 executes the following usage via application 201. Figure 15 The described function buttons control the process.
[0262] After S1401, Figure 14 The processing is now complete.
[0263] Figure 15 This is a flowchart illustrating the function button display control process of S1401.
[0264] For example, Figure 15The processing is achieved by the CPU 102 reading the program stored in ROM 106 into RAM 107 and executing the program.
[0265] In S1501, CPU 102 obtains application function information via application 201.
[0266] Figure 16 This is a schematic diagram illustrating an example of application function information obtained by application 201 in S1501.
[0267] Application function information includes information 1601 to 1604.
[0268] Information 1601 is information indicating the function number that represents the display order of functions.
[0269] Information 1602 is information indicating the function name.
[0270] Information 1603 indicates whether LAN access permission is required when a USB connection is established.
[0271] Information 1604 indicates whether LAN access permission is required when connecting to a network.
[0272] in other words, Figure 16 The table can be considered as an indication of whether a LAN access license is required for each function for a given connection method.
[0273] In S1502, CPU 102 obtains the LAN access permission status of the application from the privacy information management module 202 via application 201.
[0274] Then, in S1503, CPU 102 obtains the connection method of the currently selected printer via application 201.
[0275] For example, you can obtain the device URI.
[0276] CPU 102 repeats the following processes from S1505 to S1510 by application 201 an equal number of times as the application function obtained in S1501.
[0277] In S1505, CPU 102 determines via application 201 whether the target function requires LAN access permission for the connection method of the currently selected printer.
[0278] If it is determined that the target function does not require a LAN access license for the connection method of the currently selected printer, the process proceeds to S1506.
[0279] In S1506, CPU 102 displays a menu button for the target function via application 201 in an enabled state that can receive input from the user.
[0280] On the other hand, if it is determined that the target function does require LAN access permission for the currently selected printer connection method, the process proceeds to S1507.
[0281] In S1507, CPU 102 determines whether the application is permitted to access the LAN via application 201.
[0282] In S1506, if it is determined that an application is authorized to access the LAN, the CPU 102 displays a menu button for the target function in an enabled state that can receive input from the user.
[0283] If it is determined that an application is not permitted to access the LAN, in S1508, CPU 102 displays the menu button of the target function via application 201 in a disabled state where input from the user cannot be received.
[0284] Furthermore, in S1509, via application 201, CPU 102 determines whether the selected printer is connected to host computer 101 via internal network interface.
[0285] If it is determined that the selected printer is not connected to the host computer 101 via the internal network interface, the processing in the loop is not performed, and the processing starting from S1505 is repeated for the next target function.
[0286] On the other hand, if it is determined that the selected printer is connected to the host computer 101 via an internal network interface, the S809 process is executed.
[0287] Figure 15 S809 and Figure 8 Since it is the same as S809, its description will be omitted.
[0288] Through application 201, CPU 102 will repeat the loop processing from S1504 to S1511 an equal number of times as the number of application functions, and then end. Figure 15 The function buttons display control processing.
[0289] After that, Figure 14 The application startup process has ended.
[0290] As described above, in this embodiment, an access permission status is obtained before accessing the LAN when performing each function.
[0291] Furthermore, for each function, a message indicating the need for access permission is only displayed if permission to access the LAN is required for the current connection method.
[0292] Therefore, for each function, the execution instructions control the display of messages requesting access permission for the current connection method. This further improves user convenience associated with using each function.
[0293] Fourth embodiment
[0294] The differences from the first to third embodiments will be described below.
[0295] In the first embodiment, when accessing an external device connected to the host computer 101 via an internal network interface without permission to access the LAN, a message indicating that access permission is required for the current connection method is displayed.
[0296] In this embodiment, the privacy information management module 202 monitors the use of the application's network interface and sets access permissions according to the type of network interface without requiring user operation.
[0297] Figure 17A and Figure 17B This is a flowchart illustrating the network interface monitoring process performed by the privacy information management module 202 according to this embodiment.
[0298] For example, Figure 17A and Figure 17B The processing is achieved by the CPU 102 reading the program stored in ROM 106 into RAM 107 and executing the program.
[0299] Figure 17A and Figure 17B S301 to S303 and Figure 3 S301 to S303 are the same, so their descriptions will be omitted.
[0300] In S303, if it is determined that the LAN access permission status of the process requesting access to the network interface is not set, the process proceeds to S1701.
[0301] In S1701, the CPU 102 determines, via the privacy information management module 202, whether the network interface to be accessed is an internal network interface.
[0302] If it is determined that the network interface to be accessed is an internal network interface, the process proceeds to S1702.
[0303] In S1702, via the privacy information management module 202, the CPU 102 sets the LAN access permission status of the requesting process to "allowed", and then executes the processing in S308.
[0304] On the other hand, if it is determined that the network interface to be accessed is not an internal network interface, the process proceeds to S304.
[0305] Figure 17B S304 to S311 and Figure 3 S304 to S311 are the same, so their description will be omitted.
[0306] Therefore, processes such as applications that use the internal network interface do not require user intervention for LAN access permissions. This further enhances user convenience related to using LAN access functionality.
[0307] Figure 18A and Figure 18B This is a flowchart illustrating another network interface monitoring process performed by the privacy information management module 202 according to this embodiment.
[0308] Executed via privacy information management module 202 Figure 18A and Figure 18B The processing shown can only be performed by trusted processes using the internal network interface without requiring user access permissions for the LAN.
[0309] For example, Figure 18A and Figure 18B The processing is achieved by the CPU 102 reading the program stored in ROM 106 into RAM 107 and executing the program.
[0310] Figure 18A S301 to S303 and Figure 18A S1701 and Figure 3 S301 to S303 and Figure 17B Since it is the same as S1701, its description will be omitted.
[0311] In S1701, if it is determined that the network interface to be accessed is an internal network interface, the process proceeds to S1801.
[0312] In S1801, the CPU 102 determines, via the privacy information management module 202, whether the process requesting access to the network interface is a trusted process, that is, whether it meets the trust-related conditions.
[0313] For example, if the application is certified by the OS vendor's authentication service to meet the security requirements set by the OS vendor and the privacy information management module 202 has obtained this information, the process is identified as a trusted process.
[0314] If it is determined that the process requesting access to the network interface is a trusted process, the process proceeds to S1702.
[0315] Figure 18A S1702 and Figure 17B Since it is the same as S1702, its description will be omitted.
[0316] On the other hand, if it is determined that the process requesting access to the network interface is not a trusted process, S304 processing is performed.
[0317] Figure 18A S304 to S311 and Figure 3 S304 to S311 are the same, so their description will be omitted.
[0318] Therefore, only trusted applications can use the internal network interface without requiring LAN access permissions.
[0319] This can further improve user convenience when using LAN access functionality with trusted applications.
[0320] Fifth embodiment
[0321] The differences from the first to fourth embodiments will be described below.
[0322] In this embodiment, before using the network interface, application 201 modifies the LAN access permission message displayed by privacy information management module 202 according to the connection method of the external device that is the access target.
[0323] Figure 19 This is a flowchart illustrating the startup process of application 201 according to this embodiment.
[0324] For example, Figure 19 The processing is achieved by the CPU 102 reading the program stored in ROM 106 into RAM 107 and executing the program.
[0325] Figure 19 S701 to S711 and Figure 7 S701 to S711 are the same, so their description will be omitted.
[0326] In S710, if it is determined that two or more printers are not registered in the OS, or after S711, execute the following usage. Figure 20 The S1901 access permission message setting process is described.
[0327] After S1901, processes S712 to S714 are executed.
[0328] Figure 19 S712 to S714 and Figure 7 S712 to S714 are the same, so their descriptions will be omitted.
[0329] Figure 20 This is a flowchart of the access permission message setting process shown in Figure S1901.
[0330] In S2001, CPU 102 obtains connection method information for the currently selected printer via application 201.
[0331] In S2002, via application 201, CPU 102 determines whether the selected printer is connected to host computer 101 via internal network interface based on the connection method information of the currently selected printer.
[0332] If it is determined that the printer is connected to the host computer 101 via an internal network interface, the process proceeds to S2003.
[0333] In S2003, via application 201, CPU 102 sets the message indicating that the current connection method for the selected printer requires LAN access permission as a LAN access permission message displayed by privacy information management module 202.
[0334] On the other hand, if it is determined that the printer is not connected to the host computer 101 via the internal network interface, the process proceeds to S2004.
[0335] In S2004, via application 201, CPU 102 sets the message indicating a request for LAN access permission to a LAN access permission message displayed by privacy information management module 202.
[0336] Following S2003 and S2004, Figure 20 The access permission message setting process has ended.
[0337] Note that the messages set in S2003 and S2004 can be the same or different.
[0338] As described above, in this embodiment, the application can set the LAN access permission message displayed by the privacy information management module based on whether the selected printer is connected via an internal network interface.
[0339] Other embodiments
[0340] It should be noted that the purpose of this disclosure can also be achieved by providing a system or device with a storage medium containing program code of software for implementing the functions of the above-described embodiments, and by having the computer (or CPU or MPU) of the system or device read out and execute the program code stored on the storage medium.
[0341] In this case, the program code read from the storage medium implements the functions of the above embodiments, and the storage medium storing the program code constitutes this disclosure.
[0342] Examples of storage media that can be used to provide program code include floppy disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, magnetic tapes, non-volatile memory cards, ROMs, DVDs, etc.
[0343] Moreover, the functions of the above-described embodiments can be achieved not only by executing the read program code on a computer, but also naturally by an operating system (OS) running on a computer performing some or all of the actual processing based on the instructions in the program code.
[0344] The embodiments of this disclosure can also be implemented by a computer that reads and executes computer-executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be more fully referred to as a "non-transitory computer-readable storage medium") to perform the functions of one or more embodiments of the above embodiments and / or includes one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing the functions of one or more embodiments of the above embodiments, and by a method executed by a computer of a system or device, for example, by reading and executing computer-executable instructions from the storage medium to perform the functions of one or more embodiments of the above embodiments and / or controlling one or more circuits to perform the functions of one or more embodiments of the above embodiments. The computer may include one or more processors (e.g., a central processing unit (CPU), a microprocessor unit (MPU)) and may include a network of individual computers or individual processors to read and execute computer-executable instructions. The computer-executable instructions may be provided to the computer, for example, from a network or storage medium. The storage medium may include, for example, a hard disk, random access memory (RAM), read-only memory (ROM), storage devices for distributed computing systems, optical discs (such as CDs, DVDs, or Blu-ray discs). TM One or more of the following: flash memory devices, memory cards, etc.
[0345] Other embodiments
[0346] The embodiments of the present invention can also be implemented by the following method: providing software (including computer program products of computer programs) that performs the functions of the above embodiments to a system or device via a network or various storage media, and the computer (central processing unit (CPU) or microprocessor unit (MPU) of the system or device) reads and executes the computer program.
[0347] While this disclosure has been described with reference to exemplary embodiments, it should be understood that this disclosure is not limited to the disclosed exemplary embodiments. The scope of the following claims should be given the broadest interpretation to cover all such modifications and equivalent structures and functions.
Claims
1. An information processing apparatus, comprising: The first obtaining unit is configured to obtain first information indicating whether the application's access to the local network is permitted; The second obtaining unit is configured to obtain second information indicating a connection method between the information processing device and an external device; as well as The display control unit is configured to, in response to the first information obtained by the first obtaining unit indicating that the access is not permitted, display information indicating that the access is permitted in the connection method indicated by the second information, if it is determined based on the second information obtained by the second obtaining unit that the information processing device wants to connect to the external device via the internal network interface of the information processing device.
2. The information processing apparatus according to claim 1, wherein... When displaying information indicating permission for the access request, the display control unit sets the receiving unit for receiving instructions to perform the functions of the external device to a receiving disabled state.
3. The information processing apparatus according to claim 2, further comprising: A third obtaining unit is configured to obtain information for displaying the receiving unit within the information processing device, and When the information for displaying the receiving unit is obtained by the third obtaining unit, the display control unit sets the receiving unit to a receiving enabled state and does not display information indicating permission for the access request.
4. The information processing apparatus according to claim 3, wherein The information used to display the receiving unit is a Uniform Resource Locator (URL).
5. The information processing apparatus according to claim 1, further comprising: A first determining unit is configured to determine, based on the second information obtained by the second obtaining unit, whether the information processing device should connect to the external device via the internal network interface.
6. The information processing apparatus according to claim 5, wherein For each function of the external device, the determination is performed by the first determining unit.
7. The information processing apparatus according to claim 6, wherein When the first determining unit determines that the information processing device needs to connect to the external device via the internal network interface, in response to the first information obtained by the first obtaining unit indicating that the access is not permitted, the display control unit sets the receiving unit for receiving instructions to perform the function of the external device corresponding to the determined target to a receiving disabled state when displaying information indicating that the access request is permitted.
8. The information processing apparatus according to claim 5, further comprising: The second determining unit is configured to determine whether, in the connection method between the information processing device and the external device indicated by the second information obtained by the second obtaining unit, permission to access the local network is required, and The first determining unit performs the determination if the second determining unit determines that permission to access the local network is required.
9. The information processing apparatus according to claim 8, further comprising: A storage unit configured to store information specifying whether permission to access the local network is required for each function of the external device, and The second determining unit determines whether permission to access the local network is required based on the information stored in the storage unit.
10. The information processing apparatus according to claim 1, wherein The first obtaining unit obtains the first information from the result of the settings of the program used to set whether to allow access to the local network.
11. The information processing apparatus according to claim 10, wherein The program is a program that displays a screen that can receive instructions to grant or deny access to the local network even before access to the local network is set.
12. The information processing apparatus according to claim 11, wherein The procedure is a process that sets permissions for accessing the local network if the application's access target is the internal network interface, provided that access to the local network has not yet been configured.
13. The information processing apparatus according to claim 12, wherein The procedure is a process that sets permission for access to the local network if the application meets trust-related conditions, provided that no permission has been set for access to the local network and the application's access target is the internal network interface.
14. The information processing apparatus according to claim 11, further comprising: A setting unit is configured to set information to be displayed on a screen that can receive instructions to grant or deny access to the local network.
15. The information processing apparatus according to claim 14, wherein The setting unit sets different information between the case where the information processing device is to be connected to the external device via the internal network interface and the case where the information processing device is not connected to the external device via the internal network interface.
16. The information processing apparatus according to claim 10, wherein The program in question is an operating system (OS) program.
17. The information processing apparatus according to claim 1, wherein The connection method between the information processing device and the external device is a Universal Serial Bus (USB) connection.
18. The information processing apparatus according to claim 1, wherein... The external device is a printer, and The application is one that can perform the functions of a printer.
19. The information processing apparatus according to claim 1, wherein The first obtaining unit, the second obtaining unit, and the display control unit are included in the application.
20. A method performed by an information processing device, comprising: Obtain first information indicating whether the application's access to the local network is permitted; Obtain second information indicating the connection method between the information processing device and the external device; as well as If, based on the obtained second information, it is determined that the information processing device needs to connect to the external device via the internal network interface of the information processing device, in response to the obtained first information indicating that the access is not permitted, information indicating that the access is permitted in the connection method indicated by the second information is displayed.
21. A non-transitory computer-readable storage medium storing a program, the program being configured to cause a computer to: Obtain first information indicating whether the application's access to the local network is permitted; Obtain second information regarding the connection method between the instruction information processing device and the external device; as well as If, based on the obtained second information, it is determined that the information processing device needs to connect to the external device via the internal network interface of the information processing device, in response to the obtained first information indicating that the access is not permitted, information indicating that the access is permitted in the connection method indicated by the second information is displayed.
22. A stored-program product, the program being configured to cause a computer to: Obtain first information indicating whether the application's access to the local network is permitted; Obtain second information regarding the connection method between the instruction information processing device and the external device; as well as If, based on the obtained second information, it is determined that the information processing device needs to connect to the external device via the internal network interface of the information processing device, in response to the obtained first information indicating that the access is not permitted, information indicating that the access is permitted in the connection method indicated by the second information is displayed.
Citation Information
Patent Citations
Information processing apparatus, method of controlling the same, and program
JP2020046756A