Computer program for terminal device

The computer program for a terminal device switches communication paths to maintain functionality with an image processing device by adding a VPN adapter or updating routing tables, addressing VPN-induced communication failures.

JP7718111B2Active Publication Date: 2025-08-05BROTHER KOGYO KK
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2021098957
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-14
Publication Date
2025-08-05
Estimated Expiration
2041-06-14

AI Technical Summary

Technical Problem

Existing technologies do not account for multiple communication paths between an image processing device and a client device, particularly when a VPN connection is established, leading to communication failures with local devices.

Method used

A computer program for a terminal device that switches the communication path from a local area network to the Internet-based path by adding a VPN adapter, registering with a service provider server, or updating the routing table to facilitate communication with the image processing device via the Internet.

Benefits of technology

Ensures seamless functionality of the image processing device by switching the communication path to the Internet when a VPN is used, allowing remote access and preventing communication failures with local devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007718111000001
    Figure 0007718111000001
  • Figure 0007718111000002
    Figure 0007718111000002
  • Figure 0007718111000003
    Figure 0007718111000003
Patent Text Reader

Abstract

To provide a technology for allowing a function execution device to execute a specific function using an appropriate communication path in accordance with a communication environment of a terminal device.SOLUTION: A computer program for a terminal device may cause a computer of the terminal device to function as the following units: an instruction transmission unit which transmits a function execution instruction using a target communication path when receiving a function execution operation; and a related processing execution unit which executes related processing, when a predetermined condition including that a memory of the terminal device stores VPN communication information is satisfied, the processing relating to switching the target communication path from a first communication path which is a communication path for communicating with a function execution device over a local area network without using the Internet to a second communication path which is a communication path for communicating with the function execution device over the Internet.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology disclosed in this specification relates to a technology for causing a function performing device to perform a specific function using a terminal device. [Background technology]

[0002] Patent Document 1 discloses a printing system including a client device connected to a local network and an image processing device that is not connected to the local network. The image processing device can execute printing corresponding to a print job received from the client device by connecting to the local network to which the client device belongs using a VPN (short for Virtual Private Network) connection. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2020-154802 Summary of the Invention [Problem to be solved by the invention]

[0004] The above-mentioned technology does not take into consideration the situation where multiple communication paths exist between the image processing device and the client device. This specification provides a technology that can cause a function-executing device to execute a specific function by using an appropriate communication path according to the communication environment of the terminal device. [Means for solving the problem]

[0005] This specification discloses a computer program for a terminal device. The computer program may cause a computer of the terminal device to function as the following units: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction to the function executing device via a target communication path to cause the function executing device to execute the specific function; and an associated processing executing unit that, when a predetermined condition is satisfied, includes storing VPN communication information for using a VPN (Virtual Private Network) in a memory of the terminal device, executes associated processing related to switching the target communication path from a first communication path to a second communication path, where the first communication path is a communication path for communicating with the function executing device via a local area network without via the Internet, and the second communication path is a communication path for communicating with the function executing device via the Internet.

[0006] According to the above configuration, when a predetermined condition including storing VPN communication information is satisfied, the terminal device executes a process related to switching the target communication path from the first communication path to the second communication path. As a result, the target communication path can be switched to the second communication path. Therefore, in a communication environment in which a VPN may be used, the terminal device can cause the function executing device to execute a specific function using the second communication path via the Internet.

[0007] This specification also discloses another computer program for a terminal device. The computer program may cause a computer of the terminal device to function as the following units: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction to the function executing device using a target communication path to cause the function executing device to execute the specific function; and an associated process executing unit that, when a predetermined condition is satisfied, including that one or more network adapters in a memory of the terminal device include a specific adapter indicating communication via the Internet, executes associated processes related to switching the target communication path from a first communication path to a second communication path, where the first communication path is a communication path for communicating with the function executing device via a local area network without via the Internet, and the second communication path is a communication path for communicating with the function executing device via the Internet.

[0008] According to the above configuration, when a predetermined condition is satisfied, including that one or more network adapters in the memory include a specific adapter indicating communication via the Internet, the terminal device executes a process related to switching the target communication path from the first communication path to the second communication path. As a result, the target communication path can be switched from the first communication path to the second communication path. In this way, in a communication environment in which communication via the Internet may be performed, the terminal device can cause the function executing device to execute a specific function using the second communication path via the Internet.

[0009] This specification also discloses another computer program for a terminal device. The computer program may cause a computer of the terminal device to function as the following units: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction to the function executing device using a target communication path to cause the function executing device to execute the specific function; and an associated processing executing unit that, when a predetermined condition is satisfied, including the addition of a global IP address to a routing table in a memory of the terminal device, executes an associated processing related to switching the target communication path from a first communication path to a second communication path, the routing table being a table for storing information used by an OS (abbreviation for Operating System) program when determining a communication path for executing communication with another device, the first communication path being a communication path for communicating with the function executing device via a local area network without via the Internet, and the second communication path being a communication path for communicating with the function executing device via the Internet.

[0010] According to the above configuration, when predetermined conditions are satisfied, including the addition of a global IP address to a routing table, the terminal device executes processing related to switching the target communication path from the first communication path to the second communication path. As a result, the target communication path can be switched from the first communication path to the second communication path. Therefore, in a communication environment in which communication using a global IP address may be performed, the terminal device can cause the function executing device to execute a specific function using the second communication path via the Internet.

[0011] A computer-readable recording medium storing the computer program is also novel and useful. Also, the terminal device itself and the method executed by the terminal device are novel and useful. Also, a communication system including the terminal device and other devices (e.g., function-performing devices) is novel and useful. [Brief explanation of the drawings]

[0012] [Figure 1] 1 shows the configuration of a communication system. [Figure 2] The hardware configuration of the communication system is shown below. [Figure 3] A sequence diagram of case A of the first embodiment is shown. [Figure 4] The sequence diagram continues from Figure 3. [Figure 5] The sequence diagram continues from Figure 4. [Figure 6] A sequence diagram of case B of the first embodiment is shown. [Figure 7] A sequence diagram of case C of the first embodiment is shown. [Figure 8] 10 shows a sequence diagram of a second embodiment. [Figure 9] 10 shows a sequence diagram of Case D-1 and Case D2 of the third embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0013] (First Example) (Communication system configuration; Figure 1) 1, the communication system 2 includes a terminal 10, a router 50, an MFP (abbreviation for Multi-Function Peripheral) 100, an office server 200, a VPN (abbreviation for Virtual Private Network) server 300, and a service providing server 400. Hereinafter, the service providing server 400 will be referred to as the "SP server 400." In this specification, it is assumed that a user of the terminal 10 is working remotely from home and uses a VPN to access the office server 200 installed in the office.

[0014] The terminal 10, the router 50, and the MFP 100 are installed in a user's home. The terminal 10, the router 50, and the MFP 100 are connected to a LAN (abbreviation of Local Area Network) 4. In this embodiment, the LAN 4 is a wired LAN. In a modified example, the LAN 4 may be a wireless LAN. The LAN 4 is connected to the Internet 6. Therefore, the terminal 10, the router 50, and the MFP 100 are connected to the Internet 6 via the LAN 4.

[0015] The terminal 10 is a portable terminal device such as a mobile phone (e.g., a smartphone), a PDA, or a tablet PC. In a modified example, the terminal 10 may be a stationary terminal device. The router 50 is a device that relays communication between the LAN 4 and the Internet 6. The MFP 100 is a peripheral device (e.g., a peripheral device of the terminal 10) that can perform multiple functions such as printing, scanning, and faxing.

[0016] The office server 200 is connected to an intranetwork (not shown) within the office, which is connected to the Internet 6.

[0017] The VPN server 300 and the SP server 400 are installed on the Internet 6. The VPN server 300 is a server used by, for example, the terminal 10 to establish a VPN connection. The SP server 400 is a server for providing, for example, services related to the MFP 100 (e.g., a remote printing service, a remote scanning service, etc.).

[0018] Normally, an office intranetwork cannot be accessed from outside, so a user of terminal 10 cannot use terminal 10 to access office server 200 while working remotely from home. Therefore, terminal 10 establishes a VPN connection with the office intranetwork by using VPN server 300. As a result, terminal 10 becomes part of the office intranetwork. Therefore, even when terminal 10 is installed at the user's home, terminal 10 can access office server 200 using VPN.

[0019] When the VPN is not used, the terminal 10 can cause the MFP 100 to execute printing by sending a print instruction to the MFP 100 using the LAN 4. Specifically, when the terminal 10 receives a print operation from the user to instruct the MFP 100 to print, the terminal 10 sends the print instruction including the local IP address of the MFP 100 as the destination. As a result, the MFP 100 can execute printing in accordance with the print instruction.

[0020] Consider a situation in which terminal 10 uses a VPN and sends a print instruction to MFP 100 using LAN 4. In this situation, terminal 10 may be unable to communicate with devices within LAN 4 using LAN 4. Specifically, when terminal 10 uses a VPN, for example, the local IP address "192.168.0.0" of MFP 100 may be deleted from routing table 46 (described later). In this case, when terminal 10 receives a print operation to instruct MFP 100 to print, it sends the print instruction to a default gateway (e.g., router 50). The default gateway may not forward the print instruction to MFP 100, and therefore the print instruction is not sent to MFP 100. Thus, when terminal 10 uses a VPN, it may be unable to cause MFP 100 to execute printing using LAN 4. This embodiment provides a technology that allows MFP 100 to properly execute functions even when terminal 10 uses a VPN.

[0021] (Configuration of terminal 10; Figure 2) The terminal 10 comprises an operation unit 12, a display unit 14, a LAN interface 20, and a control unit 30. Each unit 12 to 30 is connected to a bus line (reference numerals omitted). Hereinafter, the interface will be referred to as "I / F." The operation unit 12 is a mouse, a keyboard, etc. A user can input various instructions to the terminal 10 by operating the operation unit 12. The display unit 14 is a display for displaying various information. A LAN cable is connected to the LAN I / F 20.

[0022] The control unit 30 includes a CPU 32 and a memory 34. The CPU 32 executes various processes in accordance with an OS (short for Operating System) program 40 and an application 42 stored in the memory 34. Hereinafter, the OS program 40 and the application 42 will be referred to as the "OS 40" and the "application 42," respectively. The OS 40 is a program for controlling the basic operations of the terminal 10. The application 42 is a program for causing the MFP (e.g., 100) to perform functions such as printing and scanning. The memory 34 is composed of a volatile memory, a non-volatile memory, etc.

[0023] The memory 34 further stores an adapter list 44 and a routing table 46. The adapter list 44 is a list of network adapters that indicate the communication environments available to the terminal 10. In other words, the terminal 10 stores information for executing each communication corresponding to each network adapter included in the adapter list 44. Each network adapter stored in the adapter list 44 indicates either "enabled," which indicates that the communication environment corresponding to the network adapter is being used, or "disabled," which indicates that the communication environment corresponding to the network adapter is not being used.

[0024] For example, in the example of Fig. 2, the memory 34 stores a wired LAN adapter and a VPN adapter. The wired LAN adapter is indicated as enabled, and the VPN adapter is indicated as disabled. The disabled VPN adapter has a gray background. That is, in the example of Fig. 2, the terminal 10 stores both information for performing communication using the wired LAN 4 and information for performing communication using a VPN, and uses the wired LAN 4 but does not use a VPN. When the terminal 10 begins to use a VPN, the wired LAN adapter remains enabled, and the VPN adapter is changed to enabled.

[0025] The routing table 46 stores information used by the OS 40 when determining a communication path for communication with another device. Specifically, the routing table 46 stores IP addresses in association with route information. Each IP address in the routing table 46 indicates the IP address of a device with which the terminal 10 can communicate. Each route information indicates a communication path for communication addressed to the IP address associated with the route information. In this embodiment, each route information indicates the destination of a relay device (i.e., a so-called next hop) with which the terminal 10 should first communicate, among one or more relay devices (e.g., routers) present on the communication path for communication addressed to the IP address associated with the route information.

[0026] For example, in the example of FIG. 2, the IP address "192.168.0.0" is the local IP address of the MFP 100. Because the MFP 100 is a device within the same LAN 4 as the terminal 10, the route information indicates "on-link," which means that direct communication with the MFP 100 is possible (i.e., communication is possible without going through the Internet 6). The IP address "10.250.0.0" is the global IP address of the VPN server 300 outside the LAN 4. Furthermore, the IP address "153.246.0.0" is the global IP address of the SP server 400 outside the LAN 4. Because both the VPN server 300 and the SP server 400 are devices outside the LAN 4, the route information indicates the IP address "192.168.0.1" of the router 50, which is the next hop.

[0027] (MFP100 configuration) The MFP 100 comprises an operation unit 112, a display unit 114, a print execution unit 116, a scan execution unit 118, a LAN I / F 120, and a control unit 130. Each unit 112 to 130 is connected to a bus line (reference numerals omitted). The operation unit 112 comprises a plurality of keys. A user can input various instructions to the MFP 100 by operating the operation unit 112. The display unit 114 is a display for displaying various information. The print execution unit 116 comprises a printing mechanism such as an inkjet system or a laser system. The scan execution unit 118 comprises a scanning mechanism such as a CCD or CIS. A LAN cable is connected to the LAN I / F 120.

[0028] The control unit 130 includes a CPU 132 and a memory 134. The CPU 132 executes various processes in accordance with a program 140 stored in the memory 134. The memory 134 is configured by a volatile memory, a non-volatile memory, or the like.

[0029] (Case A; Figures 3 to 5) Next, case A will be described with reference to Figures 3 to 5. In the initial state of Figure 3, communication can be performed between terminal 10 and MFP 100 via wired LAN 4. Also, VPN communication information related to the VPN is not stored. That is, in the initial state of Figure 3, adapter list 44 includes only wired LAN adapters that indicate they are enabled. Also, routing table 46 stores the IP address "192.168.0.0" of MFP 100 in association with the route information "on link."

[0030] In the following, for ease of understanding, the processes executed by the CPU (e.g., 32, 132) of each device (e.g., terminal 10, MFP 100) will be described as being mainly each device (e.g., terminal 10, MFP 100) rather than each CPU. In particular, for terminal 10, when describing processes executed by OS 40 without using application 42, OS 40 will be described as being mainly each device, and when describing processes executed by application 42, application 42 will be described as being mainly each device. Furthermore, all of the following communications executed by terminal 10 and MFP 100 are executed via LAN I / F 20 (or 120). Therefore, in the following, when describing processes related to communication, the expression "via LAN I / F 20 (or 120)" will be omitted.

[0031] At T100 in FIG. 3, the application 42 of the terminal 10 accepts a print operation from the user. At the stage T100, the default destination of the print instruction (i.e., the default print port) is set to the MFP 100. Here, the "default destination" refers to the destination that is used when the destination is not changed by the user. At T100, the user does not change the destination of the print instruction. Therefore, at T102, the application 42 refers to the routing table 46 and transmits a print instruction that includes the local IP address "192.168.0.0" of the MFP 100 as the destination. In particular, since the IP address "192.168.0.0" is associated with the route information "on link," the application 42 transmits the print instruction directly to the MFP 100 (i.e., without going through the router 50 or the Internet 6). The print instruction includes print data representing an image to be printed.

[0032] When the MFP 100 receives a print instruction from the terminal 10 in T102, it prints the image in accordance with the print data included in the print instruction in T104. Although not shown in the figure, when the MFP 100 completes printing, it sends a notification to the terminal 10 indicating that the printing is complete.

[0033] When OS 40 of terminal 10 accepts VPN information input from the user in T110, it stores the VPN information in T112. The VPN information is information (e.g., user ID, password, etc.) required for terminal 10 to use a VPN. As a result, a VPN adapter is added to adapter list 44. At this stage, OS 40 has not accepted an operation to establish a VPN connection (i.e., a VPN is not currently being used), so the VPN adapter indicates that it is invalid.

[0034] When the OS 40 accepts an operation to establish a VPN connection from the user in T114, it establishes a VPN connection with the VPN server 300 in T116 using the stored VPN information. As a result, the terminal 10 can communicate with the office server 200 via the VPN server 300. The OS 40 also changes the VPN adapter from a disabled state to a enabled state.

[0035] The application 42 monitors the status of the adapter list 44. When a VPN adapter is added to the adapter list 44 in T112, the application 42 detects this in T120. In this case, the application 42 sends a status request to the MFP 100 in T122. However, in this case, when a VPN connection is established in T116, the OS 40 deletes the local IP address "192.168.0.0" of the MFP 100 from the routing table 46. In this case, the application 42 sends a status request that includes the IP address of the default gateway (for example, the router 50) as the destination.

[0036] Even if a status request is sent to the default gateway, the status request is not forwarded to the MFP 100. Therefore, the terminal 10 does not receive status information from the MFP 100 as a response to the status request. If the application 42 does not receive status information from the MFP 100 even after a predetermined time has elapsed since sending the status request, the application 42 determines that communication with the MFP 100 via the LAN 4 is not possible. As will be described in detail later, in this case, the application 42 executes processing to switch the default destination of the print instruction. In a situation where the terminal 10 is unable to communicate with the MFP 100 via the LAN 4, it is necessary to switch the communication path for communicating with the MFP 100. Therefore, the application 42 can cause the MFP 100 to properly execute printing by switching the default destination (i.e., the communication path) of the print instruction.

[0037] Also, at the stage of T122, the terminal 10 has not registered information indicating that the MFP 100 is registered with the SP server 400. That is, the terminal 10 does not store a communication path for transmitting a print instruction to the MFP 100 via the SP server 400 (i.e., via the Internet 6). In this case, the application 42 displays a notification screen SC1 on the display unit 14 at T130. The notification screen SC1 includes a message urging the user to register the MFP 100 with the SP server 400. Once the MFP 100 is registered with the SP server 400, the terminal 10 can transmit a print instruction to the MFP 100 via the SP server 400. Therefore, the notification screen SC1 is a screen that urges the user to register, in the memory 34, information for transmitting a print instruction to the MFP 100 via the SP server 400. By viewing the notification screen SC1, the user can perform the task of registering the MFP 100 with the SP server 400.

[0038] (Continuation of Figure 3; Figure 4) 4, when the application 42 accepts a registration operation from the user, in T132, the application 42 transmits a registration request to the SP server 400 in T134. The registration operation includes input of a user ID, a password, and a device ID "AAA" that identifies the MFP 100. The registration request includes the various pieces of information already input in T132 (i.e., the user ID, the password, and the device ID "AAA").

[0039] When the SP server 400 receives a registration request from the terminal 10 in T134, it associates and registers the various pieces of information that have already been received in T136. Then, when the registration is complete, the SP server 400 transmits a registration completion notification to the terminal 10 in T138. The registration completion notification includes the various pieces of registered information (i.e., the user ID, password, and device ID "AAA").

[0040] When the application 42 receives a registration completion notification from the SP server 400 in T138, in T140, the application 42 registers various information included in the registration completion notification in the memory 34. As a result, the application 42 becomes able to transmit signals such as a print instruction to the MFP 100 via the SP server 400. Thereafter, in T142, the application 42 switches the default destination of the print instruction (i.e., the default print port) from the MFP 100 to the SP server 400.

[0041] In T150, the application 42 accepts a print operation from the user. As described above, at the stage of T150, the default destination of the print instruction is set to the SP server 400. Therefore, if the destination of the print instruction is not changed by the user, the application 42 sends the print instruction to the SP server 400 in T152. Specifically, the application 42 references the routing table 46 and sends a print instruction including the global IP address "153.246.0.0" of the SP server 400 as the destination. In particular, since the IP address "153.246.0.0" is associated with the route information "192.168.0.1" (i.e., the IP address of the router 50), the application 42 sends the print instruction to the SP server 400 via the router 50. The print instruction includes the device ID "AAA" registered in T140 and print data representing the image to be printed.

[0042] When the SP server 400 receives a print instruction from the terminal 10 in T152, it transmits the print instruction to the MFP 100 identified by the device ID "AAA" included in the received print instruction in T153.

[0043] When the MFP 100 receives a print instruction from the SP server 400 in T153, the MFP 100 executes printing of an image in accordance with the print data included in the print instruction in T154.

[0044] Thereafter, when OS 40 receives an operation to disconnect the VPN connection in T160, it disconnects the established VPN connection (see T116 in FIG. 3) in T162. As a result, terminal 10 is no longer able to communicate with office server 200. OS 40 also changes the VPN adapter from a status indicating valid to a status indicating invalid.

[0045] The application 42 monitors the status of the adapter list 44. When the VPN adapter is changed from a status indicating enabled to a status indicating disabled in T162, the application 42 detects this in T163. In this case, the application 42 displays a notification screen SC2 on the display unit 14 in T164, and switches the default destination of print instructions from the SP server 400 to the MFP 100 in T166. The notification screen SC2 includes a message indicating that the default destination of print instructions will be switched from the SP server 400 to the MFP 100. The user can know that the default destination of print instructions will be switched by looking at the notification screen SC2. Thereafter, the same processes as those in 100 to T104 of FIG. 3 are executed.

[0046] (Continuation of Figure 4; Figure 5) The processes of T170 and T172 in Fig. 5 are similar to the processes of T114 and T116 in Fig. 3. When the VPN adapter is changed from a disabled state to a enabled state in T172, the application 42 detects this in T173. In this case, the application 42 transmits a status request to the MFP 100 in T174. The process of T174 is similar to the process of T122 in Fig. 3.

[0047] At the stage of T174, the terminal 10 has registered information indicating that the MFP 100 is registered with the SP server 400 (see T140 in FIG. 4). That is, the terminal 10 stores a communication path for transmitting a print instruction to the MFP 100 via the SP server 400 (i.e., via the Internet 6). In this case, the application 42 displays a notification screen SC3 on the display unit 14 at T176, and switches the default destination of the print instruction from the MFP 100 to the SP server 400 at T178. The notification screen SC3 includes a message indicating that the default destination of the print instruction will be switched from the MFP 100 to the SP server 400. The user can know that the default destination of the print instruction will be switched by looking at the notification screen SC3. The processing from T180 to T184 is the same as the processing from T150 to T154 in FIG. 4.

[0048] (Case B; Figure 6) Next, case B will be described with reference to Fig. 6. Case B differs from case A in that the default destination is not switched even when a VPN connection is established. The initial state in Fig. 6 is the same as the initial state in Fig. 3. The processing from T200 to T220 in Fig. 6 is the same as the processing from T100 to T120 in Fig. 3.

[0049] In T222, the application 42 sends a status request to the MFP 100. In this case, even if a VPN connection is established in T216, the OS 40 does not delete the IP address "192.168.0.0" of the MFP 100 from the routing table 46. Therefore, the application 42 sends a status request that includes the IP address "192.168.0.0" as the destination. In particular, since the IP address "192.168.0.0" is associated with the route information "on link," the application 42 sends the status request directly to the MFP 100 (i.e., without going through the router 50 or the Internet 6).

[0050] When the MFP 100 receives a status request from the terminal 10 in T222, it transmits status information, which is a response to the status request, to the terminal 10 in T224. The status information includes the current status of the MFP 100 (for example, normal, error, etc.).

[0051] When the application 42 receives the status from the MFP 100 at T224, the application 42 determines that communication with the MFP 100 can be executed via the LAN 4. In this case, the application 42 does not switch the default destination of the print instruction (i.e., the default destination of the print instruction is maintained as the MFP 100). This is because, in a situation where the terminal 10 can communicate with the MFP 100 via the LAN 4, there is no need to switch the communication path to execute communication with the MFP 100. Therefore, it is possible to prevent the application 42 from executing unnecessary processing.

[0052] (Case C; Figure 7) Next, case C will be described with reference to Fig. 7. Case C differs from case A in that MFP 100 is made to perform scanning instead of printing. The initial state in Fig. 7 is the same as the initial state in Fig. 3.

[0053] At T300 in FIG. 7, the user of MFP 100 places a document to be scanned on scan execution unit 118.

[0054] In T302, the application 42 accepts a scan operation from the user. At the stage of T302, the default destination of the scan instruction (i.e., the default scan port) is set to the MFP 100. In T302, the user does not change the destination of the scan instruction. Therefore, in T304, the application 42 refers to the routing table 46 and transmits a scan instruction including the local IP address "192.168.0.0" of the MFP 100 as the destination. In particular, since the IP address "192.168.0.0" is associated with the route information "on link," the application 42 transmits the scan instruction directly to the MFP 100 (i.e., without going through the router 50 or the Internet 6).

[0055] When the MFP 100 receives a scan instruction from the terminal 10 in T304, it scans the document (see T300) placed on the scan execution unit 118 in T306 and generates scan data. Then, in T308, the MFP 100 transmits the generated scan data to the terminal 10. This allows the user to check the scan data using the terminal 10.

[0056] Thereafter, the same processes as T110 to T130 in Fig. 3 and T132 to T142 in Fig. 4 are executed. As a result, the default destination of the scan instruction is switched from MFP 100 to SP server 400. The process of T310 is the same as the process of T300.

[0057] In T312, the application 42 accepts a scan operation from the user. As described above, at the stage of T312, the default destination of the scan instruction is set to the SP server 400. Therefore, if the destination of the scan instruction is not changed by the user, the application 42 transmits a scan instruction to the SP server 400 in T314. Specifically, the application 42 refers to the routing table 46 and transmits a scan instruction including the global IP address "153.246.0.0" of the SP server 400 as the destination. In particular, since the IP address "153.246.0.0" is associated with the route information "192.168.0.1" (i.e., the IP address of the router 50), the application 42 transmits the scan instruction to the SP server 400 via the router 50. The scan instruction includes the registered device ID "AAA" (see T140 in FIG. 4).

[0058] When the SP server 400 receives a scan instruction from the terminal 10 in T314, it transmits the scan instruction to the MFP 100 identified by the device ID "AAA" included in the received scan instruction in T315.

[0059] When the MFP 100 receives a scan instruction from the SP server 400 in T315, it scans the document (see T310) placed on the scan execution unit 118 in T316 and generates scan data. Then, the MFP 100 transmits the generated scan data to the SP server 400 in T317.

[0060] When the SP server 400 receives the scan data from the MFP 100 in T317, it transmits the scan data to the terminal 10 in T318. This allows the user to check the scan data using the terminal 10.

[0061] (Effects of the first embodiment) As described above, when it is detected that a VPN adapter is being added (T120 in FIG. 3) or when the VPN adapter is changed from a disabled state to a enabled state (T173 in FIG. 5), the application 42 displays the notification screen SC1 (or SC3) on the display unit 14 (T130 in FIG. 3 and T176 in FIG. 5). As a result, the default destination of the print instruction is switched from the MFP 100 to the SP server 400 (T142 in FIG. 4 and T178 in FIG. 5). In this way, the application 42 can switch the default destination of the print instruction in response to the detection of the addition of a VPN adapter or the detection of the change of the VPN adapter from a disabled state to a enabled state. Therefore, in a communication environment in which communication via the Internet 6 may be performed, particularly in a communication environment in which a VPN may be used, the application 42 can cause the MFP 100 to execute printing using a communication path via the Internet 6 (i.e., via the SP server 400).

[0062] (Correspondence) Terminal 10 and MFP 100 are examples of a "terminal device" and a "function executing device," respectively. The print function and scan function are examples of a "specific function." The print operation T100 and the print instruction T102 in FIG. 3 are examples of a "function executing operation" and a "function executing instruction," respectively. A communication path for transmitting a print instruction (and a scan instruction) to MFP 100 is an example of a "target communication path." A communication path via LAN 4 only and a communication path via SP server 400 are examples of a "first communication path" and a "second communication path," respectively. A VPN adapter is an example of "VPN communication information" and a "specific adapter." From one perspective, adding a VPN adapter to adapter list 44 is an example of a "predetermined condition" being satisfied. From another perspective, changing the VPN adapter from a disabled state to a enabled state is an example of a "predetermined condition" being satisfied. Notification screens SC2, SC1, and SC3 are examples of a "first notification screen," a "second notification screen," and a "third notification screen," respectively. The processing of T130 in Fig. 3 is an example of a "specific processing." The various information registered in T140 in Fig. 4 (i.e., the user ID, password, and device ID "AAA") is an example of "setting information."

[0063] The processing of T102 in Fig. 3 is an example of processing executed by an "instruction sending unit." The processing of T122 is an example of processing executed by a "first determination unit." The processing of T130, the processing of T132 to T142 in Fig. 4, and the processing of T176 and T178 in Fig. 5 are examples of processing executed by an "associated processing executing unit." The processing of T164 in Fig. 4 is an example of processing executed by a "display control unit."

[0064] (Second embodiment; Figure 8) Next, a second embodiment will be described with reference to Figure 8. The second embodiment differs from the first embodiment in that it detects that a global IP address has been added to the routing table 46. The second embodiment does not use the adapter list 44. The initial state of Figure 8 is the same as the initial state of Figure 3, except that the adapter list 44 is not used.

[0065] The processes of T400 to T416 in Fig. 8 are the same as the processes of T100 to T116 in Fig. 3. The application 42 monitors the state of the routing table 46. In this case, when a VPN connection is established in T416, the OS 40 deletes the local IP address "192.168.0.0" of the MFP 100 from the routing table 46 and adds the global IP address "10.250.0.0" of the VPN server 300 to the routing table 46. When the global IP address "10.250.0.0" of the VPN server 300 is added to the routing table 46, the application 42 detects this in T420. In this case, the application 42 transmits a status request to the MFP 100 in T422. The process of T422 is the same as the process of T122.

[0066] The process of T430 is the same as the process of T130 in Fig. 3. After that, the same processes as T132 to T142 in Fig. 4 are executed. As a result, the default destination of the print instruction is switched from MFP 100 to SP server 400. The processes of T450 to T454 are the same as the processes of T150 to T154.

[0067] (Effects of the second embodiment) As described above, when a global IP address is added to the routing table 46 (T420 in FIG. 8), the application 42 displays the notification screen SC1 on the display unit 14 (T430 in FIG. 8). As a result, the default destination of the print instruction is switched from the MFP 100 to the SP server 400 (T142 in FIG. 4, which is cited in FIG. 8). In this way, the application 42 can switch the default destination of the print instruction in response to detecting that a global IP address is being added. Therefore, in a communication environment in which communication using a global IP address may be performed, the application 42 can cause the MFP 100 to execute printing using a communication path via the Internet 6 (i.e., via the SP server 400). The addition of a global IP address to the routing table 46 is an example of a "predetermined condition" being satisfied. The global IP address "10.250.0.0" of the VPN server 300 is an example of "VPN communication information."

[0068] (Third Example) Next, a third embodiment will be described with reference to Fig. 9. The third embodiment differs from the second embodiment in that the routing table 46 further stores metrics in association with IP addresses and route information. The metric is information indicating the priority of communication with the associated IP address as the communication destination. In this embodiment, the smaller the metric value, the higher the priority.

[0069] (Case D-1; Figure 9) First, case D-1, in which the default destination of the print instruction cannot be switched, will be described with reference to Fig. 9. In the initial state of case D-1, routing table 46 stores the local IP address "192.168.0.0" of MFP 100 and the global IP address "153.246.0.0" of SP server 400. That is, in the initial state of case D-1, terminal 10 has already executed the process of T140 in Fig. 4.

[0070] In case D-1, first, the same processes as those in T400 to T420 in FIG. 8 are executed. However, in this case, even if a VPN connection is established, the OS 40 does not delete the local IP address "192.168.0.0" of the MFP 100 from the routing table 46 (see first example case B in FIG. 6). In this case, the application 42 compares the metric value "100" associated with the local IP address "192.168.0.0" of the MFP 100 with the metric value "4000" associated with the global IP address "153.246.0.0" of the SP server 400. In this case, the application 42 determines in T510 in FIG. 9 that the former is smaller. That is, the application 42 determines that communication with the MFP 100 using a communication path via only the LAN 4 has a higher priority. In this case, the application 42 does not switch the default destination of the print instruction. This is because, in such a situation, it is highly likely that the application 42 does not need to switch the communication path for executing communication with the MFP 100. Therefore, it is possible to prevent the application 42 from executing a process that is highly likely to be unnecessary.

[0071] (Case D-2; Figure 9) Next, case D-2 in which the default destination is switched will be described with reference to Fig. 9. The initial state of case D-1 is the same as the initial state of case D-2.

[0072] In case D-2, the same processes as those in T400 to T420 in FIG. 8 are also executed first. However, in this case, even if a VPN connection is established, the OS 40 does not delete the local IP address "192.168.0.0" of the MFP 100 from the routing table 46 (see first example case B in FIG. 6). In this case, the application 42 compares the metric value "4000" associated with the local IP address "192.168.0.0" of the MFP 100 with the metric "100" associated with the global IP address "153.246.0.0" of the SP server 400. In this case, the application 42 determines in T520 in FIG. 9 that the latter is smaller. That is, the application 42 determines that communication with the MFP 100 using a communication path via the SP server 400 (i.e., via the Internet 6) has a higher priority.

[0073] In this case, the application 42 displays a notification screen SC3 in T522, and switches the default destination from the MFP 100 to the SP server 400 in T524. In such a situation, it is highly likely that the application 42 will not be able to communicate with the MFP 100 via only the LAN 4. That is, it is highly likely that the communication path for communicating with the MFP 100 will need to be switched. Therefore, the application 42 can cause the MFP 100 to appropriately execute printing by switching the default destination of the print instruction. The metric is an example of "priority information." The processing of T510 and the processing of T520 are examples of processing executed by a "second determination unit."

[0074] Although specific examples of the technology disclosed in this specification have been described in detail above, these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and variations of the specific examples exemplified above. Modifications of the above examples are listed below.

[0075] (Variation 1) When application 42 is launched in a situation where the default destination of a print instruction is MFP 100, application 42 may determine whether a VPN adapter has already been stored in adapter list 44. In this case, when application 42 determines that a VPN adapter has already been stored, application 42 may switch the default destination of a print instruction to SP server 400 regardless of whether the stored VPN adapter is in an enabled or disabled state (see T142 in FIG. 4). In this variation, the fact that a VPN adapter has already been stored is an example of a "predetermined condition" being satisfied.

[0076] (Variation 2) When the application 42 detects that a VPN adapter is deleted from the adapter list 44 in a situation where the default destination of a print instruction is the SP server 400, the application 42 may execute the processes of T164 and T166 in FIG. 4. In this variation, the deletion of the VPN adapter is an example of "changing a specific adapter from an enabled state to a disabled state." In another variation, when the default destination is the SP server 400, the application 42 may not switch the default destination of a print instruction even if the VPN adapter is changed from an enabled state to an disabled state (see T163). In this variation, the processes of T164 and T166 can be omitted. In this variation, the "display control unit" can be omitted.

[0077] 5, the application 42 may display an inquiry screen for inquiring of the user as to whether or not to switch the default destination of the print instruction, instead of the notification screen SC3. In this case, the application 42 may execute the process of T178 when an operation to instruct switching the default destination of the print instruction is accepted from the user on the inquiry screen. Generally speaking, the "related process" does not have to include the process of displaying, on the display unit of the terminal device, a third notification screen indicating that the target communication path will be switched from the first communication path to the second communication path.

[0078] (Variation 4) When detecting the addition of a VPN adapter at T120 in FIG. 3, the application 42 may not need to send a status request (see T122) to the MFF 100. In this case, for example, when accepting a print operation from a user after detecting the addition of a VPN adapter, the application 42 may send a print instruction to the MFP 100 (see T100 and T102), and when a notification indicating that printing has been completed is not received from the MFP 100 within a predetermined time period since the print instruction was sent, the application 42 may display a notification screen SC1 (see T130). In this variation, determining whether a notification indicating that printing has been completed has been received is an example of a process executed by the "first determination unit." Generally speaking, the method by which the "first determination unit" determines whether communication with the function executing device can be performed using the first communication path is not limited to the above-described embodiment.

[0079] (Modification 5) The "specific function" is not limited to the print function and scan function in the above embodiment, but may be, for example, a fax function.

[0080] (Variation 6) In the above embodiment, the processes in FIGS. 3 to 9 are implemented by software (for example, the OS 40, the application 42, etc.), but at least one of these processes may be implemented by hardware such as a logic circuit.

[0081] The technical elements described in this specification or drawings may exhibit technical utility either alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. Furthermore, the technologies illustrated in this specification or drawings may achieve multiple objectives simultaneously, and achieving one of those objectives alone is technically useful. The following items are elements of the claims as filed: (Item 1) A computer program for a terminal device, comprising: The computer of the terminal device is composed of the following parts: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction for causing the function executing device to execute the specific function, using a target communication path; an associated processing execution unit that executes associated processing related to switching the target communication path from a first communication path to a second communication path when a predetermined condition is satisfied, the related processing execution unit including the memory of the terminal device storing VPN communication information for using a VPN (short for Virtual Private Network), the first communication path being a communication path for communicating with the function performing device via a local area network without going through the Internet, and the second communication path being a communication path for communicating with the function performing device via the Internet; A computer program that functions as a (Item 2) 2. The computer program of claim 1, wherein the predetermined condition is met when one or more network adapters in the memory includes a specific adapter that indicates the VPN, and the memory stores the VPN communication information that is the specific adapter. (Item 3) When a global IP address of a VPN server is added to a routing table in the memory, the predetermined condition is satisfied, including that the memory stores the VPN communication information that is the global IP address; 3. The computer program according to claim 1, wherein the routing table is a table for storing information used by an OS (short for Operating System) program when determining a communication path for performing communication with another device. (Item 4) A computer program for a terminal device, comprising: The computer of the terminal device is composed of the following parts: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction for causing the function executing device to execute the specific function, using a target communication path; an associated process execution unit that executes associated processes related to switching the target communication path from a first communication path to a second communication path when a predetermined condition is satisfied, the associated process execution unit including a condition that one or more network adapters in a memory of the terminal device include a specific adapter indicating communication via the Internet, the first communication path being a communication path for communicating with the function performing device via a local area network without via the Internet, and the second communication path being a communication path for communicating with the function performing device via the Internet; A computer program that functions as a (Item 5) The computer program further causes the computer to: 5. The computer program of claim 2, further comprising: a display control unit configured to display, on a display unit of the terminal device, a first notification screen indicating that the target communication path will be switched from the second communication path to the first communication path when the specific adapter is changed from an enabled state to a disabled state after the target communication path is switched from the first communication path to the second communication path. (Item 6) A computer program for a terminal device, comprising: The computer of the terminal device is composed of the following parts: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction for causing the function executing device to execute the specific function, using a target communication path; an associated processing execution unit that executes associated processing related to switching the target communication path from a first communication path to a second communication path when a predetermined condition is satisfied, including the addition of a global IP address to a routing table in a memory of the terminal device, the routing table being a table for storing information used by an OS (abbreviation for Operating System) program when determining a communication path for executing communication with another device, the first communication path being a communication path for communicating with the function performing device via a local area network without going through the Internet, and the second communication path being a communication path for communicating with the function performing device via the Internet; A computer program that functions as a (Item 7) 7. The computer program product according to claim 1, wherein the associated processing includes a specific processing for registering, in the memory, setting information for transmitting the function execution instruction using the second communication path. (Item 8) 8. The computer program product according to claim 7, wherein the specifying process includes a process of displaying a second notification screen on a display unit of the terminal device, the second notification screen prompting a user to register the setting information in the memory. (Item 9) 9. The computer program according to claim 1, wherein the related processing includes processing for displaying a third notification screen on a display unit of the terminal device, the third notification screen indicating that the target communication path will be switched from the first communication path to the second communication path. (Item 10) The computer program further causes the computer to: a first determination unit that determines whether communication with the function executing device can be performed using the first communication path; 10. The computer program product according to claim 1, wherein the predetermined condition further includes determining that the communication with the function performing device cannot be performed using the first communication path. (Item 11) the memory stores a routing table for describing an IP address in association with priority information indicating a priority of a communication destination of the IP address; The routing table is a table for storing information used by an OS (abbreviation of Operating System) program when determining a communication path for executing communication with another device, The computer program further causes the computer to: a second determination unit that determines, by using the routing table, which of communication with the function executing device using the first communication path and communication with the function executing device using the second communication path has a higher priority; 11. The computer program product according to claim 1, wherein the predetermined condition further includes determining that communication with the function executing device using the second communication path has a high priority. (Item 12) the function executing device includes at least one of a print executing unit and a scan executing unit; The computer program product according to claim 1 , wherein the specific function is at least one of a printing function and a scanning function. [Explanation of symbols]

[0082] 2: Communication system, 4: LAN, 6: Internet, 10: Terminal, 12, 112: Operation unit, 14, 114: Display unit, 20, 120: LAN I / F, 30, 130: Control unit, 32, 132: CPU, 34, 134: Memory, 40: OS program, 42: Application, 44: Adapter list, 46: Routing table, 50: Router, 116: Print execution unit, 118: Scan execution unit, 140: Program, 200: Office server, 300: VPN server, 400: SP server

Claims

1. A computer program for a terminal device, comprising: The computer of the terminal device is composed of the following parts: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction for causing the function executing device to execute the specific function, using a target communication path; an associated processing execution unit that executes associated processing related to switching the target communication path from a first communication path to a second communication path when a predetermined condition is satisfied, including the memory of the terminal device storing VPN communication information for using a VPN (short for Virtual Private Network), wherein the first communication path is a communication path for communicating with the function performing device via a local area network without going through the Internet, and the second communication path is a communication path for communicating with the function performing device via the Internet, and when one or more network adapters in the memory include a specific adapter indicating the VPN, the predetermined condition is satisfied, including the memory storing the VPN communication information which is the specific adapter; a display control unit that displays, when the specific adapter is changed from an enabled state to a disabled state after the target communication path is switched from the first communication path to the second communication path, a first notification screen indicating that the target communication path will be switched from the second communication path to the first communication path on a display unit of the terminal device; A computer program that functions as a

2. A computer program for a terminal device, comprising: The computer of the terminal device is composed of the following parts: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction for causing the function executing device to execute the specific function, using a target communication path; an associated processing execution unit that executes associated processing related to switching the target communication path from a first communication path to a second communication path when a predetermined condition is satisfied, the related processing execution unit including that one or more network adapters in the memory of the terminal device include a specific adapter indicating communication via the Internet, the first communication path being a communication path for communicating with the function performing device via a local area network without via the Internet, and the second communication path being a communication path for communicating with the function performing device via the Internet; a display control unit that displays, when the specific adapter is changed from an enabled state to a disabled state after the target communication path is switched from the first communication path to the second communication path, a first notification screen indicating that the target communication path will be switched from the second communication path to the first communication path on a display unit of the terminal device; A computer program that functions as a

3. A computer program for a terminal device, comprising: The computer of the terminal device is composed of the following parts: an instruction sending unit that, when a function executing operation for causing a function executing device to execute a specific function is accepted, sends a function executing instruction for causing the function executing device to execute the specific function, using a target communication path; an associated processing execution unit that executes associated processing related to switching the target communication path from a first communication path to a second communication path when a predetermined condition is satisfied, including the addition of a global IP address to a routing table in a memory of the terminal device, the routing table being a table for storing information used by an OS (abbreviation of Operating System) program when determining a communication path for executing communication with another device, the first communication path being a communication path for communicating with the function performing device via a local area network without going through the Internet, and the second communication path being a communication path for communicating with the function performing device via the Internet; a display control unit that, when the global IP address is deleted from the routing table after the target communication path is switched from the first communication path to the second communication path, displays a first notification screen on a display unit of the terminal device, the first notification screen indicating that the target communication path will be switched from the second communication path to the first communication path; A computer program that functions as a

4. The computer program product according to claim 1 , wherein the associated processing includes a specifying processing for registering, in the memory, setting information for transmitting the function execution instruction using the second communication path.

5. The computer program product according to claim 4 , wherein the specifying process includes a process of displaying a second notification screen on a display unit of the terminal device, the second notification screen prompting the user to register the setting information in the memory.

6. 6. A computer program according to claim 1, wherein the related processing includes processing for displaying a third notification screen on a display unit of the terminal device, the third notification screen indicating that the target communication path will be switched from the first communication path to the second communication path.

7. The computer program further causes the computer to: a first determination unit that determines whether communication with the function performing device can be performed using the first communication path; The computer program product according to claim 1 , wherein the predetermined condition further includes a determination that the communication with the function performing device cannot be performed using the first communication path.

8. the memory stores a routing table for describing an IP address in association with priority information indicating a priority of a communication destination of the IP address; The routing table is a table for storing information used by an OS (abbreviation of Operating System) program when determining a communication path for executing communication with another device, The computer program further causes the computer to: a second determination unit that determines, by using the routing table, which of communication with the function executing device using the first communication path and communication with the function executing device using the second communication path has a higher priority; The computer program product according to claim 1 , wherein the predetermined condition further includes determining that communication with the function performing device using the second communication path has a high priority.

9. the function executing device includes at least one of a print executing unit and a scan executing unit; The computer program product according to claim 1 , wherein the specific function is at least one of a printing function and a scanning function.

Citation Information

Patent Citations

  • Communication system, communication method and communication apparatus

    JP2001308935A

  • Program and method for controlling communication and communication equipment

    JP2004129024A

  • METHOD FOR OPERATING LOCAL COMPUTER NETWORK CONNECTED TO REMOTE PRIVATE NETWORK BY IPsec TUNNEL, SOFTWARE MODULE AND IPsec GATEWAY

    JP2006238415A

  • Communication system

    JP2011077675A

  • Relay server and relay communication system

    JP2011082600A