Printing apparatus, system, control method for printing apparatus, and program
Patent Information
- Application Number
- JP2024190848
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-07-24
- Estimated Expiration
- 2042-02-04
AI Technical Summary
The increasing number of information devices managed by users without specialized security knowledge leads to less secure security measures, making them more vulnerable to attacks, as users cannot determine the appropriate security settings for diverse usage environments.
An information processing device that estimates the usage environment through machine learning based on communication characteristics, using a learned model to notify users of appropriate security settings.
Enables users to make appropriate security settings by presenting an estimated usage environment, reducing the risk of vulnerabilities and enhancing security measures.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, a system, a control method for an information processing device, and a program. [Background technology]
[0002] As a security measure, various security-related functions of information devices must be properly configured. If an information device is used in a single, fixed environment, the settings that are tailored to that single environment can be applied at the time of shipment, allowing users to use the information device with properly implemented security measures without having to be aware of it.
[0003] For example, when we look at the usage environments of multifunction copiers, they are not limited to office environments, but are diversified to include telecommuting and use in public spaces shared by an unspecified number of people. Appropriate security settings differ depending on the usage environment, so it is necessary to set appropriate settings for the usage environment. Information device administrators with security expertise recognize that settings need to be changed for each usage environment, and take measures such as changing settings to suit the usage environment before using the device.
[0004] Patent Document 1 proposes a technology that supports security policy updates by linking and managing pre-set security policies with the characteristics of a network's operating status and detecting changes in the characteristics of the network's operating status. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2019-22099 A Summary of the Invention [Problem to be solved by the invention]
[0006] Due to the increase in information devices for personal use and the increase in telecommuting, there are an increasing number of cases where information devices are managed by users without specialized security knowledge. In recent years, personally managed information devices tend to have less adequate security measures than information devices within corporate networks where security administrators take measures, and this increases the possibility of information devices being attacked by attackers. It is conceivable to provide information devices with a function to assist in inputting recommended settings for security measures for each usage environment, but users who are not security experts may not be able to determine which usage environment their information devices fall into.
[0007] The present invention has an object to present an estimated device usage environment and to assist in appropriate settings related to security measures. [Means for solving the problem]
[0008] The information processing device according to the present invention is characterized in having an acquisition means for acquiring characteristic information of communications made by a first device, a trained model generated by performing machine learning based on characteristic information of communications made by a plurality of second devices and setting information of a usage environment set on the second devices, an estimation means for estimating the usage environment of the first device based on the acquired characteristic information of the communications related to the first device, and a notification means for notifying the estimated usage environment of the first device. Effect of the Invention
[0009] According to the present invention, it is possible to present an estimated device usage environment and to assist in appropriate settings related to security measures. [Brief description of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating a connection form between an MFP and a learning and estimation server. [Diagram 2] FIG. 2 illustrates an example of the configuration of a controller unit of the MFP. [Diagram 3] FIG. 1 is a diagram illustrating an example of the configuration of a learning / estimation server. [Figure 4] FIG. 2 illustrates an example of the functional configuration of a controller unit of the MFP. [Diagram 5] FIG. 2 is a diagram illustrating an example of a functional configuration of a learning / estimation server. [Figure 6] FIG. 13 is a diagram showing a screen configuration relating to security settings. [Figure 7] FIG. 13 is a diagram illustrating an input / output structure using a learning model. [Figure 8] FIG. 1 is a diagram illustrating the operation of a system that uses a learning model. [Figure 9] 13 is a flowchart illustrating an example of a data transmission process of the MFP. [Figure 10] 13 is a flowchart showing an example of a process for generating and updating a trained model in the learning and estimation server. [Figure 11] 13 is a flowchart illustrating an example of a data transmission process of the MFP. [Figure 12] 6 is a flowchart showing an example of a process in an estimation phase in the first embodiment. [Figure 13] 13 is a flowchart showing an example of a process in an estimation phase in the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0012] (First embodiment) 1 is a diagram for explaining the connection configuration of MFPs (Multi-Function Peripherals) 100, 132, 133, 134, gateways 111, 131, and a learning and estimation server 121 according to this embodiment. The MFPs 100 and the learning and estimation server 121 are connected via a LAN (Local Area Network) 110, the gateway 111, and the Internet 120. Similarly, the MFPs 132, 133, 134 and the learning and estimation server 121 are connected via a LAN 130, the gateway 131, and the Internet 120.
[0013] In the following, the MFP 100 will be described as an MFP (MFP to be estimated) that is directly used by a user of interest in this embodiment, and the MFPs 132, 133, and 134 will be described as MFPs that are used by other users somewhere. The learning and estimation server 121 is a server that is managed by an MFP vendor and can be used in common by users of the same vendor. Each of the MFPs 100, 132, 133, and 134 is managed for each user. For the sake of explanation, FIG. 1 illustrates three MFPs, 132, 133, and 134, as MFPs different from the MFP 100 that is directly used by the user of interest, but in reality, many MFPs are used and operated by many users. In addition, one MFP 100 is illustrated as an MFP that is directly used by the user of interest, but the user of interest may use multiple MFPs. In addition, for example, the LAN 110 and the gateway 111, and the LAN 130 and the gateway 131 are used separately for each user.
[0014] The MFP 100 has an operation unit 102 that inputs and outputs data to and from a user, a printer unit 103 that outputs electronic data to paper media, and a scanner unit 104 that reads paper media and converts it into electronic data. The operation unit 102, printer unit 103, and scanner unit 104 are connected to a controller unit 101, and function as a multifunction peripheral under the control of the controller unit 101. Although not shown in FIG. 1 for simplicity, the MFPs 132, 133, and 134 also have the controller unit 101, operation unit 102, printer unit 103, and scanner unit 104.
[0015] Gateway 111 is a network router that relays communications of MFP 100 between the Internet 120. Similarly, gateway 131 is a network router that relays communications of MFPs 132, 133, 134 between the Internet 120. Learning and estimation server 121 collects information on MFPs 100, 132, 133, 134 to learn trends, and performs estimation processing based on requests from MFPs 100, 132, 133, 134.
[0016] 2 is a block diagram showing an example of the configuration of the controller unit 101 of the MFP. A CPU (Central Processing Unit) 201 performs main arithmetic processing within the controller unit 101. The CPU 201 is connected to a DRAM (Dynamic Random Access Memory) 202 via a bus. The DRAM 202 is used by the CPU 201 as a working memory for storing program data representing arithmetic instructions in the process of calculation by the CPU 201 and data to be processed. The CPU 201 is connected to an I / O controller 203 via the bus. The I / O controller 203 performs input / output to and from various devices according to instructions from the CPU 201.
[0017] A SATA (Serial Advanced Technology Attachment) I / F 205 is connected to the I / O controller 203. A flash ROM (Read Only Memory) 211 is connected to the SATA I / F 205. The CPU 201 uses the flash ROM 211 to store programs and document files for implementing the functions of the MFP. A network I / F 204 is connected to the I / O controller 203. A wired LAN device 210 is connected to the network I / F 204. The CPU 201 realizes communication on the LAN 110 by controlling the wired LAN device 210 via the network I / F 204.
[0018] A panel I / F 206 is connected to the I / O controller 203. The CPU 201 realizes input / output for the user to the operation unit 102 via the panel I / F 206. A printer I / F 207 is connected to the I / O controller 203. The CPU 201 realizes output processing of paper media using the printer unit 103 via the printer I / F 207. A scanner I / F 208 is connected to the I / O controller 203. The CPU 201 realizes reading processing of paper media documents using the scanner unit 104 via the scanner I / F 208.
[0019] For example, when performing a copy function, the CPU 201 loads program data from the flash ROM 211 into the DRAM 202 via the SATA I / F 205. In accordance with the program loaded into the DRAM 202, the CPU 201 detects a copy instruction from the user via the panel I / F 206 on the operation unit 102. When the CPU 201 detects a copy instruction, it receives an original as image data from the scanner unit 104 via the scanner I / F 208 and stores it in the DRAM 202. The CPU 201 performs color conversion processing suitable for output on the image data stored in the DRAM 202. The CPU 201 transfers the image data stored in the DRAM 202 to the printer unit 103 via the printer I / F 207, and performs output processing onto paper media.
[0020] FIG. 3 is a block diagram showing an example of the configuration of a server 300 that realizes the learning / estimation server 121. A CPU 301 performs main arithmetic processing in the server 300. The CPU 301 is connected to a DRAM 302 via a bus. The DRAM 302 is used by the CPU 301 as a working memory for arranging program data representing arithmetic instructions in the process of calculation by the CPU 301 and data to be processed. The CPU 301 is connected to an I / O controller 303 via a bus. The I / O controller 303 performs input / output to various devices according to instructions from the CPU 301. A SATA I / F 304 is connected to the I / O controller 303. A storage device 305 is connected to the SATA I / F 304. The CPU 301 uses the storage device 305 to store programs and setting values for realizing various functions of the server. The storage device 305 is, for example, a hard disk drive (HDD) or a solid state drive (SSD).
[0021] In this way, the hardware such as the CPU 301, the DRAM 302, the storage device 305, etc. constitute a so-called computer. In this embodiment, for the sake of explanation, a case where one CPU 301 executes each process shown in the flowchart described later using one memory (DRAM 302) is illustrated, but other modes are also possible. For example, each process shown in the flowchart described later can be executed by making a plurality of processors, RAMs, and storage devices work together. Also, each process can be executed using a plurality of server computers. The server 300 can provide the function of a learning / estimation server to a plurality of different tenants by using containerization or virtualization technology.
[0022] 4 is a block diagram showing an example of a functional configuration realized by software executed by the controller unit 101 of the MFP. All the software executed by the controller unit 101 is executed after the CPU 201 reads a program stored in the flash ROM 211 into the DRAM 202.
[0023] The operation control unit 401 displays a screen image for the user on the operation unit 102, detects user operations, and executes processing associated with screen components such as buttons displayed on the screen. The data storage unit 402 writes and reads data to and from the flash ROM 211 at the request of another control unit. For example, when a user wants to change some device setting, the operation control unit 401 detects the content input by the user to the operation unit 102, and at the request of the operation control unit 401, the data storage unit 402 saves the content as a setting value in the flash ROM 211.
[0024] A job control unit 403 controls job execution according to instructions from the other control units. An image processing unit 404 processes image data into a format suitable for each purpose according to instructions from the job control unit 403. A print processing unit 405 prints an image on a paper medium via a printer I / F 207 according to instructions from the job control unit 403. A reading processing unit 406 reads an original via a scanner I / F 208 according to instructions from the job control unit 403.
[0025] A network control unit 407 performs network settings such as an IP address on a TCP / IP control unit 408 when the system is started or when a setting change is detected, in accordance with the setting values stored in the data storage unit 402. The TCP / IP control unit 408 performs transmission and reception processing of network packets via the network I / F 204 in accordance with instructions from other control units.
[0026] The security setting control unit 409 controls the security settings of the MFP. The security setting control unit 409 manages the correspondence between the usage environments, such as an in-house LAN, home, and public space, and the corresponding security-related setting items, and can set the corresponding security-related settings in a lump when the user specifies the usage environment. The security setting control unit 409 uses the data storage unit 402 to refer to and change the setting values.
[0027] The learning and estimation server communication unit 410 uses the network control unit 407 to exchange information between the learning and estimation server 121 and the MFP 100. For example, the learning and estimation server communication unit 410 instructs the network control unit 407 to transmit information such as a communication log extracted by the communication log extraction unit 411 to the learning and estimation server 121. Also, for example, the learning and estimation server communication unit 410 instructs the network control unit 407 in accordance with an instruction from the estimation processing unit 412 to transmit a request for an estimation result of the usage environment to the learning and estimation server 121 and receive the estimation result from the learning and estimation server 121.
[0028] The communication log extraction unit 411 utilizes the network control unit 407 to extract a communication log related to data transmission and reception performed by the MFP 100. For example, the communication log extraction unit 411 extracts destination and source IP addresses, TCP / UDP type, port number, and IP header information from information accompanying a network packet. The extraction process in this communication log extraction unit 411 excludes the content portion of the packet called the payload.
[0029] The estimation processing unit 412 performs estimation processing of the usage environment when a screen is displayed or when a certain period of time has passed. For example, as the estimation processing, the estimation processing unit 412 acquires an estimation result (information on the estimated usage environment) by requesting an estimation result of the usage environment from the learning / estimation server 121.
[0030] 5 is a block diagram showing an example of a functional configuration realized by software executed in the learning and estimation server 121. All of the software executed in the learning and estimation server 121 is executed after the CPU 301 loads a program stored in the storage device 305 into the DRAM 302.
[0031] The MFP communication unit 501 controls communication with the MFP that is communicatively connected. The MFP communication unit 501 stores information such as a communication log (characteristic information) received from the MFP and setting values (setting information) of the usage environment in the data storage unit 502, and receives a request for an estimation result from the MFP and transmits the result of estimation by the estimation unit 504 to the MFP. The data storage unit 502 stores and reads data in distributed resources on the cloud in response to requests from other functional units.
[0032] The learning unit 503 generates a trend of the communication log for the usage environment as a learned model by linking the communication log (characteristic information) stored in the data storage unit 502 with the setting values (setting information) of the usage environment. The generated learned model is held in the data storage unit 502. The estimation unit 504 estimates the usage environment of the MFP that requested the estimation result in response to a request for the estimation result received via the MFP communication unit 501. The estimation unit 504 estimates the usage environment based on the communication data of the MFP that requested the estimation result, which is stored in the data storage unit 502, and the generated learned model that models the trend of the communication log for the usage environment.
[0033] 6(a) and 6(b) are diagrams showing a recommended security setting screen 601 displayed on the operation unit 102. In FIG. 6(a) and FIG. 6(b), the usage environment corporate LAN button 602 is a button for collectively setting a series of security settings that are appropriate when the usage environment of the MFP to be set is an corporate LAN. The usage environment at home button 603 is a button for collectively setting a series of security settings that are appropriate when the usage environment of the MFP to be set is at home. The usage environment public space button 604 is a button for collectively setting a series of security settings that are appropriate when the usage environment of the MFP to be set is a public space. The isolated network button 605 is a button for collectively setting a series of security settings that are appropriate when the usage environment of the MFP to be set is an isolated network.
[0034] A selected usage environment display 606 displays the usage environment of the MFP set by buttons 602, 603, 604, and 605. Information on what was selected as the usage environment is stored in the data storage unit 402 at the timing when the corresponding button was pressed, together with date and time information on when the button was pressed. A usage environment estimation result display 607 displays the usage environment of the MFP estimated from the tendency of the communication log by estimation processing using a trained model. An information display unit 608 is a display area that notifies the user of various information.
[0035] 6(a) shows a display example in which the usage environment selected by buttons 602, 603, 604, and 605 differs from the estimated usage environment. In this case, since the user's selection of security settings is highly likely to be inappropriate, the information display unit 608 is used to notify the user as shown in FIG. 6(a) and prompt the user to review the settings on the recommended security settings screen 601.
[0036] Fig. 6(b) shows a display example in which the usage environment selected by buttons 602, 603, 604, and 605 matches the estimated usage environment. In this case, since the user's selection regarding security settings is highly likely to be appropriate, a notification as shown in Fig. 6(b) is displayed using information display section 608 to inform the user that the device can be used safely.
[0037] In the above example, the MFP usage environment is shown to have four patterns, namely, in-house LAN, home, public space, and isolated network, but is not limited to these. Other patterns may be set as the MFP usage environment, and it is preferable to set a security setting button according to at least four patterns of the usage environment.
[0038] In addition, in the present embodiment, an example has been shown in which the usage environment of the MFP is classified according to usage scenarios such as telecommuting, but it may be possible to simply provide several variations in strength such as security level 1 and security level 2. In that case, learning and estimation of the usage environment based on the communication log will be performed on the security strength, but since the security strength is also linked to the usage scenario, they are essentially doing the same thing.
[0039] 7 is a conceptual diagram showing an input / output structure using the learning model of this embodiment. A learning model (trained model) 701 receives a communication log (communication characteristic information) 702 as input and outputs a usage environment 703. In this embodiment, the usage environment 703 is configured according to the pattern shown in Table 1.
[0040] [Table 1]
[0041] The usage environment "corporate LAN" is a typical office environment where many people gather and are connected to the Internet to use cloud services. The number of connected information devices is the largest compared to other usage environments. In such environments, a managed firewall is generally installed at the boundary with the external network, and users are limited to employees only. In such cases, it is common to have a good balance between security measures implemented on the usage environment side and security measures implemented on each terminal side.
[0042] The "isolated network" usage environment is assumed to be an environment in which the connection to the Internet is blocked as a network topology due to reasons such as the use of old protocols, and the usage environment is an isolated network. The number of information devices connected is relatively small. In this case, by taking strong security measures on the usage environment side, the level of security measures on the terminal side can be relaxed.
[0043] The "Home" usage environment is a home network that is assumed for telecommuting, and assumes an environment in which a small-scale LAN used at home is used for telecommuting. The number of connected information devices is the smallest. In this case, security measures on the usage environment side are assumed to be unreliable, and security measures on the terminal side must be well-balanced.
[0044] The "public space" usage environment is assumed to be an open space where an unspecified number of people enter and exit and share the network. For example, airport lounges and co-working spaces available for guest use fall into this category, and are used under loose entry restrictions. The number of information devices connected is relatively large. In this case, security measures implemented on the usage environment side are basically not trusted, and security measures must be implemented on the terminal side, even if it means sacrificing some functionality.
[0045] In addition, the communication log 702 is configured with the data shown in Table 2 in this embodiment.
[0046] [Table 2]
[0047] The traffic volume is the number of communication packets sent and received per unit time. When a device is connected to a network, it can receive unicast communication addressed to itself, broadcast with no specified destination, and multicast. The traffic volume of broadcast and multicast increases in proportion to the number of information devices present in the network, so this information is useful for estimating the size of the network to which the device is connected. To more clearly identify the size of the network, unicast communication may be excluded. Depending on the value of the traffic volume, it can be estimated whether the usage environment is relatively likely to be a large-scale network (corporate LAN, isolated network), a medium-scale public space, or a small-scale home environment. For example, a large traffic volume value indicates a high probability that the network is a large-scale network with a large number of information devices present in the network. A small traffic volume value indicates a high probability that the network is a small-scale home environment, and a medium traffic volume value indicates a high probability that the network is a medium-scale public space.
[0048] The number of destination addresses is the number of variations of addresses that are the destination of communication packets sent and received per unit time. If a device uses various external services, the number of destination addresses will increase. If the number of destination addresses is extremely small, there is a relatively high possibility that the network is an isolated network with communication restrictions.
[0049] The number of source addresses is the number of variations of addresses that were used as the source of communication packets sent and received per unit time. When there are a large number of information devices in a network, the number of source addresses becomes large. The number of source addresses according to the usage environment shows a similar trend to the traffic volume. However, since the number of source addresses is essentially different from the traffic volume, the accuracy of estimating the usage environment can be improved by looking at the trend in combination with the traffic volume.
[0050] The number of protocol types is the number of protocol variations used by communication packets sent and received per unit time. The more information devices connected to the network, the larger the number of protocol types will be. Also, in network environments with strong functional restrictions, the number of protocol types will be small. A small number of protocol types is likely to indicate an isolated network or a public space.
[0051] The variation of the TTL (Time to Live) attribute in the IP header is the number of variations in the TTL value attached to communication packets sent and received per unit time. The TTL value is a value that is subtracted each time the packet passes through a router, so the value will be small for packets that arrive after passing through many routers. An environment in which there are uniformly large TTL values and little variation in the TTL attribute is likely to be a small network. An environment in which TTL values range from large to small and there is a lot of variation in the TTL attribute is likely to be a large network.
[0052] In this way, each parameter has a certain tendency with respect to characteristics such as the network size, but it is difficult to logically determine the threshold value for making that judgment. In addition, it is preferable to estimate the usage environment by combining multiple parameters and determining them in a composite manner. For this reason, in this embodiment, a learning algorithm is used to perform an estimation process from a combination of the usage environment and the communication log obtained there. By conducting many experiments, it is possible to determine the threshold value without using a learning algorithm, so this technology is applicable even to a method based on a threshold value that does not use such a learning algorithm.
[0053] For the input communication log (characteristic information of communication), each piece of information (data) obtained from the transmitted and received communication packets is processed to be converted into a numerical vector, thereby improving the accuracy of estimation. For the traffic volume and the variation of the TTL attribute, the number per unit time is histogrammed using information as learning data in advance, and a threshold value is determined for dividing the variation into, for example, five ranges so that each range contains the same amount of data. Based on the determined threshold value, the traffic volume per unit time and the variation of the TTL attribute are replaced with integer values from 1 to 5, which are the corresponding range values, and used as input. Note that although an example of dividing into five ranges is shown, the number of ranges to divide into is arbitrary, and may be set appropriately according to, for example, the value ranges of other parameters.
[0054] In addition, for the number of destination addresses, the number of source addresses, and the number of types of protocols, the variations of unique values are used after excluding those that occur only once or twice within a unit time. In this way, it is possible to see the trend of communication by excluding communications that occur infrequently. For example, for the number of destination addresses and the number of source addresses, the number of packets with the same value that are included in packets transmitted and received within a unit time are counted. Then, packets corresponding to the most overlapping values are selected in order, and when 1% of all packets remain, the number of values selected up to that point is used. In this way, the number of addresses when the top 99% of the destination addresses and source addresses of packets transmitted and received within a unit time are extracted is used. Similarly, for the number of types of protocols, the number of packets using the same protocol that are included in packets transmitted and received within a unit time are counted. Then, packets corresponding to the most overlapping protocols are selected in order, and when 1% of all packets remain, the number of types of protocols selected up to that point is used. In this way, the number of types of protocols when the top 99% of the protocol types used in packets transmitted and received within a unit time are extracted is used. Although it depends on how the unit time is calculated, this value generally falls within the range of 1 to 20, so this value is used. If the value is significantly greater than 20, you can round it down to 20.
[0055] Generally, when parameter values with widely different value ranges are input directly into a learning algorithm, the difference in value ranges can affect the estimation accuracy. For example, if only the traffic volume has a value range of 1 to 10,000 and the other parameters have a value range of 1 to 10, the estimation results will be strongly sensitive to the traffic volume. In order to use each parameter in a balanced manner, the estimation accuracy can be improved by converting them into numerical vectors and reducing the difference in the value ranges.
[0056] The learning model (trained model) 701 can be generated by collecting a large number of samples of combinations of the communication log 702, which is the input, and the usage environment 703 corresponding to the output in a real environment, and learning based on these. In this embodiment, the parameter array per unit time related to the communication log 702 is treated as a one-dimensional array, and a two-dimensional array is formed by sampling it multiple times and arranging it in chronological order. The trained model is generated using a general algorithm that generates a Convolutional Neural network (CNN) model using the information of this two-dimensional array and the setting values of the usage environment. Note that a classifier may be configured using an algorithm such as the k-nearest neighbor method or a support vector machine.
[0057] With reference to FIG. 8(a) and FIG. 8(b), the operation of the system using the structure of the learning model shown in FIG. 7 will be described. FIG. 8(a) is a diagram for explaining the operation of the system in the learning phase. The MFPs 132, 133, and 134 constantly transmit the setting values of the usage environment shown in Table 1 set in the devices using the recommended security setting screen 601 and the communication log including the information shown in Table 2 extracted by the communication log extraction unit 411 to the learning and estimation server 121 (P11). In this embodiment, only three devices are described for the sake of explanation, but in reality, data (setting values of the usage environment and communication logs) of a large number of devices (for example, millions of devices) operated elsewhere are collected. The combination of the setting values of the usage environment and the communication logs thus obtained is subjected to numerical vectorization as described in FIG. 7, and is calculated by a machine learning algorithm to generate a learned model. In this way, the setting values of the usage environment and the characteristics of the communication are linked and learned to generate a learned model (P12). In reality, there will be bias in the data obtained for each usage environment, so the data will be processed in such a way that the number of data samples is adjusted to prevent overlearning for a specific usage environment, and outlier data will be removed based on the standard deviation for each usage environment.
[0058] FIG. 8(b) is a diagram explaining the operation of the system in the estimation phase. The MFP 100 has completed connection to the network and has started communication to operate as an MFP. The MFP 100 transmits a communication log to the learning and estimation server 121 (P21). For example, the MFP 100 transmits a communication log including the extracted characteristic information shown in Table 2 to the learning and estimation server 121 at the timing when the communication log extraction unit 411 has collected, for example, 30 seconds' worth of communication logs. The communication log may be transmitted to the learning and estimation server 121 on the condition that a certain amount of communication, for example, 100 packets, has been collected, or may be transmitted one by one, or on the condition that some user operation is performed.
[0059] After that, the MFP 100 transmits a request for an inference result to the learning and estimation system 121 (P22). For example, the MFP 100 requests an inference result from the learning and estimation server 121 when a specific screen display or the like is triggered.
[0060] The learning and estimation server 121 estimates the usage environment of the MFP 100 based on the characteristics of communication in the MFP 100 (P23). When the learning and estimation server 121 receives a request for an estimation result from the MFP 100, it inputs the communication log received from the MFP 100 up to that point into the trained model generated in the learning phase, and acquires the usage environment as output.
[0061] The learning and estimation server 121 transmits the usage environment of the MFP 100 obtained as the output of the learned model to the MFP 100 as an estimation result (P24).
[0062] The MFP 100 supports settings for each usage environment based on the estimation results from the learning and estimation server 121 (P25). Based on the usage environment estimated by the learning and estimation server 121, the MFP 100 determines information to be displayed on the information display unit 608, such as the usage environment estimation result display 607 shown in Fig. 6 and the comparison result between the selected usage environment and the estimated usage environment.
[0063] By carrying out the series of operations described above, machine learning can be performed from the setting values and communication logs of the usage environments of other MFPs not used by the user, and setting values of the usage environment that are likely to be appropriate to set can be presented from the communication log of the MFP used by the user. This can prevent the user from being unable to make a decision when selecting a usage environment and abandoning the setting, or from using the wrong usage environment settings.
[0064] With reference to Fig. 9, a process in which the MFPs 132, 133, and 134 notify the learning / estimation server 121 of a communication log in the learning phase, as in process P11 in Fig. 8(a), will be described. Fig. 9 is a flowchart showing an example of data transmission processing of the MFPs 132, 133, and 134. The processing of the flowchart in Fig. 9 is realized by the CPU 201 reading a program stored in the flash ROM 211 into the DRAM 202 and then executing the program. Every time any communication is performed, the processing of the flowchart in Fig. 9 is started.
[0065] In step S901, the communication log extraction unit 411 determines whether or not the usage environment has been set. The communication log extraction unit 411 determines whether or not the usage environment has been set by checking that information regarding which usage environment has been set using the recommended security setting screen 601 is stored in the data storage unit 402. If it is determined that the usage environment has been set (YES in step S901), the process proceeds to step S902, and if it is determined that the usage environment has not been set (NO in step S901), the process of the flowchart in FIG. 9 ends.
[0066] In step S902, the communication log extraction unit 411 determines whether or not the user has consented to the data usage. In the MFPs 132, 133, and 134, a pop-up display or the like is displayed on the operation unit 102 at the timing of initial startup or network connection setting, and the like, to confirm with the user of the MFP whether data usage is permitted. The result of the user's consent or refusal to the data usage is stored in the data storage unit 402. In the process of step S902, the communication log extraction unit 411 determines whether or not the data usage has been consented to by checking the information on whether the data usage has been consented to or rejected, stored in the data storage unit 402. If it is determined that the data usage has been consented to (YES in step S902), the process proceeds to step S903, and if it is determined that the data usage has not been consented to (NO in step S902), the process of the flowchart in FIG. 9 ends.
[0067] In step S903, the communication log extraction unit 411 judges whether the MFPs 132, 133, and 134 have been in operation for a certain period of time. The communication log extraction unit 411 checks the data storage unit 402 and checks the date and time when the usage environment was set using the recommended security setting screen 601 to judge whether the MFPs have been in operation for a certain period of time. For example, if a predetermined threshold, such as one week, has passed since the usage environment was set, the communication log extraction unit 411 considers the MFP to have been in operation for a certain period of time. If it is judged that the MFPs have been in operation for a certain period of time (YES in step S903), the process proceeds to step S904, and if it is judged that the MFPs have not been in operation for a certain period of time (NO in step S903), the process of the flowchart in FIG. 9 is terminated. By not transmitting information from a device that has not yet been in operation for a certain period of time, data whose settings may be changed immediately after this can be excluded from the learning data, and the estimation accuracy can be improved. In this embodiment, the process is branched based on the condition of a certain period of time, but the process may be branched based on the condition of a certain amount of communication, a certain number of print jobs received, or some user operation.
[0068] In step S904, the communication log extraction unit 411 excludes communication logs related to communication with the learning and estimation server 121 from the communication log. If the IP address or URL (uniform resource locator) of the communication partner is one assigned to the learning and estimation server 121, the communication log extraction unit 411 deletes that communication log. Communication with the learning and estimation server 121 is always performed by the device that collects information for learning in this embodiment, and does not change depending on the usage environment of each device. By excluding communications that are invariant regardless of this usage environment, trend learning can be performed by focusing on parts that change for each usage environment, and improvement in estimation accuracy can be expected.
[0069] In step S905, the communication log extraction unit 411 extracts characteristic information. The communication log extraction unit 411 extracts characteristic information by performing a process of extracting the information shown in Table 2 from the communication packet data transmitted and received. The unit of information is a total value per predetermined unit time, such as every 30 seconds, so a process of collecting packets for a certain period of time is performed in this step. In this embodiment, the collection unit is time, but the collection unit may also be the amount of data, such as 100 packets.
[0070] In step S906, the communication log extraction unit 411 transmits a communication log consisting of the feature information extracted in step S905 to the learning and estimation server 121. The communication log extraction unit 411 transmits the communication log to the learning and estimation server 121 via the network control unit 407 by making a request to the learning and estimation server communication unit 410. At this time, the setting values of the usage environment stored in the data storage unit 404 are transmitted to the learning and estimation server 121 together with the communication log. As described above, by executing the process of the flowchart in FIG. 9, it is possible to collect the setting values of the usage environment and communication logs from many MFPs used in various locations.
[0071] With reference to Fig. 10, the process in which the learning and estimation server 121 receives communication characteristic information (communication log) and usage environment setting information (setting values) as learning data and generates and updates a trained model will be described. Fig. 10 is a flowchart showing an example of the trained model generation and update process in the learning and estimation server 121. The process of the flowchart in Fig. 10 is realized by the CPU 301 reading a program stored in the storage device 305 into the DRAM 302 and then executing the program. When the communication log is received from the MFPs 132, 133, and 134, the process of the flowchart in Fig. 10 is started.
[0072] In step S1001, the learning and estimation server 121 stores data received from the MFP (communication log and usage environment setting values). The process in step S1001 is a process of receiving data transmitted by the MFP in step S905 in FIG. 9 and storing it in the data storage unit 502. If the usage environment of the MFP is an isolated network described in Table 1, data cannot be collected via the Internet, so data may be collected, for example, as follows. For example, a VPN (Virtual Private Network) connection is established between the network to which the MFP is connected and the learning and estimation server 121, and data is collected by connecting to the network without going through the Internet. In addition, a service engineer may copy a communication log accumulated in the MFP when visiting a user to a portable storage medium or the like, and then transmit the data to the learning and estimation server 121 from a terminal at a service base or the like.
[0073] In step S1002, the learning and estimation server 121 determines whether a certain period has passed since a predetermined reference time. For example, when updating the learning model at a predetermined cycle such as once a week, the learning and estimation server 121 determines whether data collection from the MFP has been performed for one week. If it is determined that the certain period has passed (YES in step S1002), the process proceeds to step S1003, and if it is determined that the certain period has not passed (NO in step S1002), the process of the flowchart in FIG. 10 ends. Note that, although the certain period is set as a time condition in this embodiment, the amount of data, such as a predetermined number of data pieces of the received communication log, may also be set as a condition.
[0074] In step S1003, the learning and estimation server 121 converts the accumulated received data into a numerical vector. The learning and estimation server 121 performs the numerical vectorization process on the communication log, which is the input described as the explanation of FIG. 7, to convert the information of the received communication log into integer array data with a uniform value range. The communication log, which is this one-dimensional array data, is arranged in chronological order for each MFP to obtain two-dimensional array data. This two-dimensional array data is used as input data, and the setting values of the usage environment set in the MFP corresponding to the two-dimensional array data are used as teacher data to obtain one piece of learning data. A similar process is performed on the received data of all MFPs to obtain a learning data set consisting of multiple learning data.
[0075] In step S1004, the learning and estimation server 121 performs calculations using a learning algorithm. The learning and estimation server 121 calculates the learning data set generated in step S1003 using a Convolutional Neural Network (CNN).
[0076] In step S1005, the learning and estimation server 121 generates a trained model based on the calculation result in step S1004. The learning and estimation server 121 extracts the result of the calculation in step S1004, and stores the data of the trained model in the data storage unit 502 as a trained model candidate.
[0077] In step S1006, the learning and estimation server 121 measures the estimation accuracy of the trained model stored as the trained model candidate in step S1005. The learning and estimation server 121 uses collected MFP data to verify the accuracy of the trained model stored as the trained model candidate in step S1005. In the verification, the learning and estimation server 121 measures the estimation accuracy using data not used in learning, such as a hold-out method, for verification, and stores the obtained accuracy information in the data storage unit 502.
[0078] In step S1007, the learning and estimation server 121 determines whether the estimation accuracy of the trained model has improved. The learning and estimation server 121 determines whether the estimation accuracy of the trained model stored in step S1005 as a trained model candidate, measured this time in step S1006, has improved from the estimation accuracy of the trained model stored in the previous processing. If it is determined that the estimation accuracy has improved (YES in step S1007), the process proceeds to step S1008, and if it is determined that the estimation accuracy has not improved (NO in step S1007), the process of the flowchart in FIG. 10 ends. Note that in this embodiment, the determination is made uniformly as the process of the program, but in reality, there are cases where it is difficult to mechanically determine which performance is generally better, such as when the accuracy of a specific usage environment increases while the accuracy of another usage environment decreases. In consideration of such cases, the confirmation of accuracy may be determined by a human being as a result of comparison and consideration each time, and an instruction may be given to the learning and estimation server 121.
[0079] In step S1008, the learning and estimation server 121 updates the trained model. The learning and estimation server 121 overwrites and updates the trained model stored in the data storage unit 502 with the trained model stored as the trained model candidate in step S1005. As described above, by executing the processing of the flowchart in Figure 10, the learning / estimation server 121 can generate a learned model for performing estimation processing of the usage environment based on the collected MFP communication logs and learning data based on the settings of the usage environment.
[0080] With reference to Fig. 11, a process in which the MFP 100 notifies the learning / estimation server 121 of a communication log in the estimation phase, as in process P21 in Fig. 8(b), will be described. Fig. 11 is a flowchart showing an example of data transmission processing of the MFP 100. The processing of the flowchart in Fig. 11 is realized by the CPU 201 reading a program stored in the flash ROM 211 into the DRAM 202 and then executing the program. Every time any communication is performed, the processing of the flowchart in Fig. 11 is started.
[0081] In step S1101, the communication log extraction unit 411 excludes communication logs related to communication with the learning and estimation server 121 from the communication logs. If the IP address or URL of the communication partner is one assigned to the learning and estimation server 121, the communication log extraction unit 411 deletes the communication log. Since the communication logs related to communication with the learning and estimation server 121 are not used in the learning phase, higher estimation accuracy can be expected by excluding communication logs related to communication with the learning and estimation server 121 in the estimation phase as well.
[0082] In step S1102, the communication log extraction unit 411 extracts characteristic information. The communication log extraction unit 411 extracts characteristic information by performing a process of extracting the information shown in Table 2 from the communication packet data transmitted and received.
[0083] In step S1103, the communication log extraction unit 411 transmits a communication log consisting of the feature information extracted in step S1102 to the learning and estimation server 121. The communication log extraction unit 411 transmits the communication log to the learning and estimation server 121 via the network control unit 407 by making a request to the learning and estimation server communication unit 410. As described above, by executing the process of the flowchart in FIG. 11, it is possible to prepare a communication log that is input in the process of estimating the usage environment of MFP 100.
[0084] 12(a) and 12(b), a process when the learning and estimation server 121 receives a request for an estimation result or a communication log in the estimation phase, and a process when the MFP 100 acquires an estimation result of the usage environment will be described. FIG. 12(a) is a flowchart showing an example of processing by the learning and estimation server 121. The processing of the flowchart in FIG. 12(a) is realized by the CPU 301 reading a program stored in the storage device 305 into the DRAM 302 and then executing the program. When a communication log or a request for an estimation result is received from the MFP 100, the processing of the flowchart in FIG. 12(a) is started.
[0085] In step S1201, the learning and estimation server 121 determines whether the data received from the MFP 100 is a request for an inference result. Specifically, the learning and estimation server 121 determines whether the data received from the MFP is a request for an inference result or a communication log (feature information). If it is determined that the data is a request for an inference result (YES in step S1201), the process proceeds to step S1203, and if it is determined that the data is a communication log and not a request for an inference result (NO in step S1203), the process proceeds to step S1202.
[0086] In step S1202, which is reached when it is determined that a communication log has been received, the learning and estimation server 121 saves the feature information (communication log) received from the MFP 100. The learning and estimation server 121 saves the communication log transmitted by the MFP 100 in the data storage unit 502, but since a communication log received in the past has already been saved, it does not overwrite it but saves it by adding it together with the time of reception. After the processing of step S1202 is executed, the processing of the flowchart in FIG. 12(a) ends.
[0087] In step S1203, which is reached when it is determined that a request for an estimation result has been received, the learning and estimation server 121 numerically vectorizes the accumulated feature information (communication log). The learning and estimation server 121 numerically vectorizes the communication log corresponding to the MFP 100 that has been received up to now and stored in the data storage unit 502. The numerical vectorization process is the numerical vectorization process described as the explanation of FIG. 7, and executes the same process as that performed in the learning phase.
[0088] In step S1204, the learning and estimation server 121 executes an estimation process of the usage environment of the MFP 100. Using the trained model stored in the data storage unit 502 in step S1008 of Fig. 10, the learning and estimation server 121 inputs the numerically vectorized communication log created in step S1203 as input data to the trained model, and obtains an estimation result of the usage environment as an output.
[0089] In step S1205, the learning and estimation server 121 transmits the estimation result of the usage environment acquired in step S1204 to the MFP 100. After executing the process of step S1205, the process of the flowchart in FIG.
[0090] Fig. 12(b) is a flowchart showing an example of processing in which MFP 100 acquires an estimation result of the usage environment. The processing of the flowchart in Fig. 12(b) is realized by CPU 201 reading a program stored in flash ROM 211 into DRAM 202 and then executing the program. For example, the processing of the flowchart in Fig. 12(b) is started when recommended security setting screen 601 shown in Fig. 6 is displayed. Also, the processing of the flowchart in Fig. 12(b) may be started at regular intervals, such as once a day.
[0091] In step S1211, MFP 100 transmits a request for the estimation result of the usage environment to learning and estimation server 121. In step S1212, MFP 100 receives the estimation result of the usage environment transmitted from learning and estimation server 121 as a response to the request for the estimation result. The received estimation result of the usage environment is determined by the estimation process performed in step S1204 in Fig. 12(a) and transmitted from learning and estimation server 121 in step S1205 in Fig. 12(a).
[0092] In step S1213, MFP 100 displays the estimated result of the usage environment. For example, when MFP 100 acquires the estimated result of the usage environment triggered by displaying recommended security setting screen 601, MFP 100 displays the acquired estimated result in usage environment estimated result display 607. Also, for example, when MFP 100 acquires the estimated result periodically once a day, MFP 100 compares it with the current setting value and displays an appropriate message in information display unit 608. Note that, when the setting has not been made using recommended security setting screen 601, a display may be displayed to prompt the user to make the setting using recommended security setting screen 601. By executing the processes as described above, MFP 100 can obtain the estimated results of the usage environment and present them to the user, thereby assisting the user in setting an appropriate usage environment.
[0093] According to the first embodiment, even if a user does not have specialized knowledge of security, it is possible to select a usage environment that is likely to be appropriate as a usage environment based on the setting trends of many MFPs used by other users, and to set appropriate security settings. Also, for example, even if the usage environment recognized by the user is different from the usage environment recognized by the majority of other users, it is possible to present a usage environment that is likely to be appropriate, and prevent inappropriate security settings. Also, for example, if a security setting that was appropriate becomes inappropriate due to a change in the usage environment, it is possible to present a usage environment that is likely to be appropriate at present, and change the security setting to an appropriate setting.
[0094] Second embodiment In the first embodiment, the learning and estimation server 121 performs the estimation process of the usage environment, but in the second embodiment, an example will be described in which the estimation process of the usage environment is performed not by the learning and estimation server 121 but by an information device that is an edge device. The system configuration and the method of generating the trained model described with reference to Figs. 1 to 10 are the same as those in the first embodiment. In the second embodiment, the trained model stored in the data storage unit 502 of the learning and estimation server 121 in step S1008 of Fig. 10 is placed in the data storage unit 402 of the MFP 100 in advance. This is placed at the time of shipment of the device, but a mechanism for upgrading firmware may be provided so that the model can be updated at the same time as other programs are updated. Also, a mechanism for updating only the trained model individually may be provided.
[0095] The process in the estimation phase in the second embodiment will be described with reference to Fig. 13(a) and Fig. 13(b). Fig. 13(a) is a flowchart showing an example of data collection process of MFP 100 in the estimation phase. The process of the flowchart in Fig. 13(a) is realized by CPU 201 reading a program stored in flash ROM 211 into DRAM 202 and then executing the program. Every time any communication is performed, the process of the flowchart in Fig. 13(a) is started.
[0096] In step S1301, the communication log extraction unit 411 extracts characteristic information. The communication log extraction unit 411 extracts characteristic information by performing a process of extracting the information shown in Table 2 from the communication packet data transmitted and received. In step S 1302 , the communication log extraction unit 411 stores the characteristic information extracted in step S 1302 in the data storage unit 402 . By executing the processes as described above, MFP 100 can constantly acquire communication logs that serve as input data in the process of estimating the usage environment.
[0097] Fig. 13(b) is a flowchart showing an example of estimation processing of MFP 100 in the estimation phase. The processing of the flowchart of Fig. 13(b) is realized by CPU 201 reading a program stored in flash ROM 211 into DRAM 202 and then executing the program. For example, the processing of the flowchart of Fig. 13(b) is started when recommended security setting screen 601 shown in Fig. 6 is displayed. Also, the processing of the flowchart of Fig. 13(b) may be started at regular intervals, such as once a day.
[0098] In step S1311, the estimation processing unit 412 converts the accumulated feature information (communication log) into a numerical vector. The estimation processing unit 412 processes the communication log recorded in the data storage unit 402 in step S1302 by the method described as the explanation of Fig. 7, and converts it into an array structure that can be handled as an input by the trained model.
[0099] In step S1312, the estimation processing unit 412 executes a process of estimating the usage environment. The estimation processing unit 412 uses the trained model generated in the process shown in Fig. 10 and then stored in the data storage unit 404, inputs the numerically vectorized communication log generated in step S1311 to the trained model as input data, and obtains an estimation result of the usage environment as an output.
[0100] In step S1313, the estimation processing unit 412 displays the estimation result of the usage environment. For example, when the estimation result of the usage environment is acquired triggered by the display of the recommended security setting screen 601, the acquired estimation result is displayed in the usage environment estimation result display 607. Also, when the estimation result is acquired periodically, for example, once a day, the estimation result is compared with the current setting value and an appropriate message is displayed in the information display unit 608. By executing the process as described above, even in an environment where the MFP is not constantly connected to the learning and estimation server, it is possible to obtain and present to the user the estimation result of the usage environment, improving convenience. The user can select the usage environment that is most likely to be appropriate based on the presented estimation result, and can configure appropriate security settings.
[0101] In the first and second embodiments described above, the selection of the usage environment that is likely to be appropriate is determined using one trained model. Not limited to this, a trained model that outputs the suitability of each pattern of the usage environment may be prepared, a determination may be made based on the output suitability, and the pattern of the usage environment with the highest suitability may be selected as the usage environment with the highest suitability. For example, if there are four patterns of the usage environment, the suitability of each pattern may be obtained using four trained models corresponding to each pattern, and the most suitable one of the four may be selected as the usage environment. Furthermore, in the above-described first and second embodiments, an MFP has been described as an example, but the present invention is not limited to application to an MFP, and is applicable to information processing devices in general.
[0102] (Another embodiment of the present invention) The present invention can also be realized by a process in which a program for implementing one or more of the functions of the above-described embodiment is supplied to a system or device via a network or a storage medium, and one or more processors in a computer of the system or device read and execute the program. The present invention can also be realized by a circuit (e.g., ASIC) for implementing one or more of the functions.
[0103] It should be noted that the above-mentioned embodiments are merely examples of the implementation of the present invention, and the technical scope of the present invention should not be interpreted as being limited by these embodiments. In other words, the present invention can be implemented in various forms without departing from its technical concept or main features. [Explanation of symbols]
[0104] 100, 132, 133, 134: MFP 121: Learning and estimation server 401: Operation control unit 402: Data storage unit 403: Job control unit 407: Network control unit 408: TCP / IP control unit 409: Security setting control unit 410: Learning and estimation server communication unit 411: Communication log extraction unit 412: Estimation processing unit 501: MFP communication unit 502: Data storage unit 503: Learning unit 504: Estimation unit
Claims
1. A printing apparatus, comprising: an acquisition means for acquiring information on the network environment to which the printing apparatus is connected; a program that uses the acquired information on the network environment as input data and outputs set values as output data, and by executing a program using a learned model, specifies set values for which settings to the printing apparatus are recommended from the acquired information on the network environment; a display control means for causing a display means to display a recommendation of the specified set value for which the setting is recommended; a setting means for setting the set value to the printing apparatus in accordance with a user instruction instructing setting of the displayed set value; A printing apparatus having the above.
2. A printing apparatus, comprising: a printing means for performing printing; an acquisition means for acquiring information on the network environment to which the printing apparatus is connected; a program that uses the acquired information on the network environment as input data and outputs set values as output data, and by executing a program using a learned model, specifies set values for which settings to the printing apparatus are recommended from the acquired information on the network environment; a display control means for causing a display means to display a recommendation of the specified set value for which the setting is recommended; a setting means for setting the set value to the printing apparatus in accordance with a user instruction instructing setting of the displayed set value; A printing apparatus having the above.
3. Receiving a print job via the network, Printing data based on the print job by the printing means The printing apparatus according to claim 2, characterized in that.
4. The set value for which the setting is recommended is an environment setting value indicating an environment for which the setting is recommended, The setting means, in accordance with a user instruction instructing setting of the displayed environment setting value, sets, in addition to the environment setting value, a plurality of set values suitable for the environment for which the setting is recommended to the printing apparatus The printing apparatus according to any one of claims 1 to 3, characterized in that.
5. The set value serving as the output data is an environment setting value indicating an environment estimated as the usage environment of the printing apparatus The printing apparatus according to claim 4, characterized in that.
6. The environmental setting value is one of a plurality of environmental setting values including an environment in which the printing device is connected to a corporate network, an environment in which the connection between the printing device and the Internet is prohibited, an environment in which the printing device is used at home, and an environment in which the printing device is used in a public space. The printing device according to claim 4 or 5, characterized in that.
7. The printing device further includes receiving means for receiving from a user a selection of one environmental setting value from among the plurality of environmental setting values. The display control means performs a display recommending a set value that is recommended for the setting on a screen for receiving the selection of the one environmental setting value. The printing device according to claim 6, characterized in that.
8. The plurality of setting values are setting values related to security. The printing device according to any one of claims 4 to 7, characterized in that.
9. The information regarding the environment of the network is information regarding communication performed by the printing device. The printing device according to any one of claims 1 to 8, characterized in that.
10. The information regarding communication performed by the printing device is information based on communication packets. The printing device according to claim 9, characterized in that.
11. The communication packet includes at least one of a communication packet transmitted by the printing device and a communication packet received by the printing device. The printing device according to claim 10, characterized in that.
12. The information regarding the environment of the network includes at least one of an index representing the number of communication packets, an index representing the number of addresses included in the communication packets, an index representing the number of types of protocols used in the communication packets, and an index representing the number of variations of the Time to Live attribute included in the header information of the communication packets. The printing device according to any one of claims 1 to 11, characterized in that.
13. The information regarding the environment of the network is numerically vectorized and used for specifying the recommended set value. The printing device according to any one of claims 1 to 12, characterized in that.
14. The learned model is a model in which machine learning has been performed. The printing device according to any one of claims 1 to 13, characterized in that.
15. The machine learning uses, as input data, information on the network environment to which each of the plurality of printing devices is connected, and is machine learning performed using, as teacher data, the settings set for each of the plurality of printing devices as recommended setting values. The printing device according to claim 14, characterized in that.
16. The information on the network environment to which each of the plurality of printing devices is connected, which is used in the machine learning, is information on communication performed by the plurality of printing devices operated for a predetermined period. The printing device according to claim 15, characterized in that.
17. The display means is a panel of the printing device. The printing device according to any one of claims 1 to 16, characterized in that.
18. A system including a printing device, an acquisition means for acquiring information on the network environment to which the printing device is connected, a program that uses information on the network environment as input data and setting values as output data, and by executing the program using a learned model, identifies, from the acquired information on the network environment, setting values recommended for setting the printing device; a specifying means for a display control means for causing a display means to display a recommendation of the set value recommended for the specified setting; a setting means for setting the set value to the printing device according to a user instruction for instructing the setting of the displayed set value; A system having.
19. A control method for a printing device, an acquisition step of acquiring information on the network environment to which the printing device is connected, a specifying step of identifying, from the acquired information on the network environment, setting values recommended for setting the printing device by executing a program that uses information on the network environment as input data and setting values as output data and uses a learned model; a display control step of causing a display means to display a recommendation of the set value recommended for the specified setting; a setting step of setting the set value to the printing device according to a user instruction for instructing the setting of the displayed set value; A control method having.
20. A printing device, an acquisition means for acquiring information on the network environment to which the printing device is connected, A program that uses the learned model with information on the network environment as input data and setting values as output data, and by executing the program, specific means for identifying a setting value recommended for setting to the printing apparatus from the obtained information on the network environment, display control means for causing a display means to display a recommendation for the setting value recommended by the identified setting, setting means for setting the setting value to the printing apparatus according to a user instruction for instructing the setting of the displayed setting value, A program for functioning as such.