Server, functional execution device, communication system, computer program for server, and computer program for functional execution device
The server-based system addresses the challenge of function execution restriction by targeting low-frequency devices for updates, ensuring secure and efficient operation of function execution devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2024-11-29
- Publication Date
- 2026-06-10
AI Technical Summary
Existing systems lack the ability to appropriately restrict the execution of specific functions in function execution devices based on their usage frequency, leading to inefficiencies and potential security vulnerabilities.
A server that receives history information on function execution frequencies and sends restriction instructions only to devices with low usage frequencies, while allowing frequent users to continue functioning, and provides update instructions to infrequent users for firmware updates.
This approach effectively restricts the execution of specific functions on low-frequency devices, prioritizing updates for frequently used devices, enhancing security and user convenience by minimizing unnecessary updates.
Smart Images

Figure 2026094761000001_ABST
Abstract
Description
Technical Field
[0004] , , , , , , , , , ,
[0005]
[0001] This specification relates to a technology for managing a function execution device.
Background Art
[0002] Patent Document 1 discloses a remote management system for a management device to transmit software for updating an electronic device to the electronic device. In this remote management system, the management device transmits the software for updating to an intermediary device. Then, the intermediary device that has received the software for updating transmits the software to the electronic device that requires software update.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Patent Document 2
Summary of the Invention
Problems to be Solved by the Invention
[0004] This specification discloses a technology that can appropriately restrict the execution of a specific function.
Means for Solving the Problems
[0005] This specification discloses a server. The server may include a history information receiving unit that receives history information representing the execution history of a specific function that each of the one or more function execution devices can execute. The server may include a selection unit that identifies a target function execution device from among the one or more function execution devices whose execution frequency of the specific function is below a predetermined threshold, based on the history information received from each of the one or more function execution devices. The server may also include a restriction instruction transmitting unit that transmits a restriction instruction to the target function execution device to restrict the execution of the specific function, wherein the restriction instruction is not transmitted to any function execution device other than the target function execution device among the one or more function execution devices.
[0006] According to the above configuration, the server receives history information representing the execution history of a specific function from each of one or more function execution devices, and based on each history piece of information, identifies the function execution device in which the execution frequency of the specific function is below a predetermined threshold. The server then sends a restriction instruction to the target function execution device, but does not send the restriction instruction to any other function execution device. In other words, the server sends a restriction instruction to function execution devices in which the specific function is executed relatively infrequently, and does not send a restriction instruction to function execution devices in which the specific function is executed relatively frequently. Therefore, the server can appropriately restrict the execution of the specific function.
[0007] This specification also discloses a function execution device. The function execution device may include a history information transmission unit that transmits history information representing the execution history of a specific function that the function execution device can execute to a server. The function execution device may include a restriction instruction receiving unit that receives a restriction instruction from the server to restrict the execution of the specific function when the server determines, based on the history information, that the execution frequency of the specific function is below a predetermined threshold. The function execution device may include a restriction unit that restricts the execution of the specific function when the restriction instruction is received from the server.
[0008] According to the above configuration, the function execution device sends history information representing the execution history of a specific function to the server. The function execution device receives a restriction instruction from the server when the server determines that the execution frequency of a specific function is below a predetermined threshold. When the function execution device receives a restriction instruction from the server, it restricts the execution of the specific function. In this way, the function execution device can appropriately restrict the execution of a specific function.
[0009] This specification also discloses a communication system. The communication system may include a server and one or more function execution devices. Each of the one or more function execution devices may include a history information transmission unit that transmits history information representing the execution history of a specific function that each of the one or more function execution devices can execute to the server. The server may include a history information receiving unit that receives the history information from each of the one or more function execution devices. The server may include a specification unit that identifies a target function execution device from among the one or more function execution devices whose execution frequency of the specific function is below a predetermined threshold, based on the history information received from each of the one or more function execution devices. The server may also include a restriction instruction transmission unit that transmits a restriction instruction to the target function execution device to restrict the execution of the specific function, wherein the restriction instruction is not transmitted to any function execution device other than the target function execution device among the one or more function execution devices. The target function execution device may include a restriction instruction receiving unit that receives the restriction instruction from the server. The target function execution device may include a restriction unit that restricts the execution of the specific function when the restriction instruction is received from the server.
[0010] According to the above configuration, the server receives history information representing the execution history of a specific function from each of one or more function execution devices, and based on each history piece of information, identifies a target function execution device whose execution frequency of the specific function is below a predetermined threshold. The server then sends a restriction instruction to the target function execution device, but does not send the restriction instruction to any other function execution device. In other words, the server sends a restriction instruction to function execution devices that execute the specific function relatively infrequently, and does not send a restriction instruction to function execution devices that execute the specific function relatively frequently. The target function execution device that receives a restriction instruction from the server then restricts the execution of the specific function. As a result, the execution of the specific function is appropriately restricted.
[0011] The computer program for the server described above, the computer-readable recording medium for storing the computer program, and the method executed by the server are also novel and useful. Furthermore, the computer program for the function execution device described above, the computer-readable recording medium for storing the computer program, and the method executed by the function execution device are also novel and useful. Here, the recording medium may be a single medium or multiple mediums. [Brief explanation of the drawing]
[0012] [Figure 1] This is a conceptual diagram of a communication system. [Figure 2] This is a block diagram illustrating the hardware configuration of each device. [Figure 3] This is a sequence diagram showing the specific process. [Figure 4] This is a sequence diagram showing the specific process. [Figure 5] This is a sequence diagram showing the specific process. [Modes for carrying out the invention]
[0013] (First embodiment) (Configuration of communication system 2; Figure 1) As shown in Figure 1, the communication system 2 comprises a server 10 and multiple printers 100A to 100D. Hereafter, printers 100A to 100D will be collectively referred to as "printer 100".
[0014] Server 10 is connected to the Internet 6. Printers 100A and 100B are connected to LAN 4A, and printers 100C and 100D are connected to LAN 4B, which is different from LAN 4A. LAN 4A and 4B may be wired LANs or wireless LANs. LAN 4A and 4B are connected to the Internet 6. Server 10 can communicate with printers 100A and 100B via the Internet 6 and LAN 4A. Server 10 can communicate with printers 100C and 100D via the Internet 6 and LAN 4B. The area where LAN 4A is built and the area where LAN 4B is built may be the same or different. Here, the area is, for example, a company office. In this embodiment, an example is described in which LAN 4A and LAN 4B are different networks built within the same office.
[0015] (Hardware configuration of each device; Figure 2) Next, with reference to Figure 2, the hardware configuration of each device 10,100 that constitutes the communication system 2 will be described.
[0016] (Server 10 configuration) Server 10 manages multiple printers, including printers 100A to 100D. Server 10 includes a communication interface 16 and a control unit 30. Hereafter, the interface will be referred to as "I / F". The communication I / F 16 is connected to the Internet 6. The control unit 30 controls each element within Server 10, including the communication I / F 16. The communication I / F 16 and the control unit 30 are connected to a bus line.
[0017] The control unit 30 includes a CPU 32 and a memory 34. The memory 34 includes a main storage device and an auxiliary storage device. As an example, the main storage device includes a RAM and a cache memory. As an example, the auxiliary storage device may be a ROM, a flash memory, a Solid State Drive (SSD), a Hard Disk Drive (HDD), or a combination thereof. A program 36 is stored in the auxiliary storage device of the memory 34. The CPU 32 realizes various processes according to the program 36 loaded from the auxiliary storage device to the main storage device.
[0018] The memory 34 further stores a device table 40 and a log table 42. The device table 40 stores information on a plurality of printers. For each of the plurality of printers, the device table 40 stores in association a serial number for identifying the printer, a model name of the printer, and a group ID for identifying the group to which the device belongs. In this embodiment, as shown in FIG. 2, information on at least four printers is stored. The serial numbers "x01", "x02", "y01", and "y02" are information for identifying printers 100A to 100D, respectively. Each of the printers 100A and 100B connected to the LAN 4A belongs to a group identified by the group ID "G01". Each of the printers 100C and 100D connected to the LAN 4B belongs to a group identified by the group ID "G02".
[0019] The administrator of the office where the printer 100 is installed, or the vendor that installed the printer 100 in the office, stores the serial numbers and model names of each of the printers 100A to 100D in the device table 40. Further, the administrator or the vendor assigns a group ID to each of the printers 100A to 100D and stores it in the device table 40. In a modification, the group ID may be assigned to each printer by the administrator of the server 10. As described above, in the present embodiment, the group ID assigned to the printers 100A and 100B connected to the LAN 4A is different from the group ID assigned to the printers 100C and 100D connected to the LAN 4B. In a modification, since the printers 100A to 100D are installed in the same office, the same group ID may be assigned to the printers 100A to 100D.
[0020] The log table 42 stores log information indicating the usage history of each of a plurality of printers. That is, the server 10 stores a log table 42 corresponding to the serial number that identifies each printer for each printer. FIG. 2 shows a log table 42 corresponding to the serial number "x01" that identifies the printer 100A. Each log information stored in the log table 42 includes the date and time when the printer was used, the user name of the user who used the printer, and information indicating the function used in the printer. In a modification, each log information may include the serial number of the printer used in addition to the above information. In this modification, the server 10 may not store a log table for each of a plurality of printers, and may store only one log table.
[0021] Here, referring to Figure 2, the method for updating the log table 42 will be explained. First, printer 100 (i.e., any of printers 100A to 100D) executes printing at T10 in response to an instruction from a user. Here, we will explain the case where printer 100A executes printing in response to an instruction from a user with the username "User1". In this case, printer 100A sends log information and the serial number "x01" to server 10 at T12. The log information includes the date and time when printing was performed, the username "User1", and information indicating that printing was performed.
[0022] When server 10 receives log information and serial number "x01" from printer 100A at T12, it updates log table 42 at T14. Specifically, server 10 first identifies the log table 42 corresponding to the received serial number "x01". Then, server 10 stores the received log information in that log table 42. That is, server 10 stores the date and time, username "User1", and function "Print" included in the log information in association with each other in log table 42.
[0023] Subsequently, at T20, printer 100 accepts access from a user to printer 100, which is functioning as a web server. Here, we describe the case where printer 100A accepts access from a user with the username "User2" to printer 100A, which is functioning as a web server. In this case, at T22, printer 100A sends log information and the serial number "x01" to server 10. The log information includes the date and time when printer 100A accepted the access, the username "User2", and information indicating that access to the web server was accepted.
[0024] When server 10 receives log information and serial number "x01" from printer 100A at T22, it updates log table 42 at T24. The specific processing at T24 is the same as that at T14, except that the stored log information is different.
[0025] As described above, the server 10 can store log information indicating the usage history of each printer 100. In the above example, log information is sent from the printer 100 to the server 10 each time the printer 100 is used. In a modified example, the printer 100 may store the log information in its own memory 134 instead of sending it to the server 10 each time it is used. Then, the printer 100 may send one or more log entries stored in memory 134 to the server 10 all at once when predetermined conditions are met, for example, every hour.
[0026] Server 10 is installed on the Internet 6 by the vendor of printer 100 (hereinafter simply referred to as "vendor"). Server 10 may be a physical server, a virtual server on the cloud, a virtual machine, etc. Server 10 may be a single server, or a collection of multiple servers. Server 10 may be a server on an intranet, or a cloud server on the Internet 6. In a modified example, server 10 may be installed on the Internet 6 by a different business operator than the vendor. In another modified example, the vendor may not prepare the hardware for server 10 themselves, but instead use an environment provided by an external cloud computing service. In this case, the vendor may realize server 10 by preparing a computer program (i.e., software) for server 10 and installing it in the above environment. In this embodiment, as an example, a configuration in which server 10 is a physical server will be described.
[0027] (Configuration of printer 100) The printer 100 is a peripheral device capable of performing printing functions. In a modified example, the printer 100 may be a multi-function device capable of performing scanning functions, facsimile functions, etc., in addition to printing functions. The printer 100 comprises an operation unit 112, a display unit 114, a communication interface 116, a print execution unit 118, and a control unit 130. Each of the units 112 to 130 is connected to a bus line.
[0028] The operation unit 112 is a user interface that allows the user to input various information to the printer 100. The operation unit 112 includes, for example, a touch panel, hardware keys, or both for displaying software keys (operation objects). Hardware keys include, for example, buttons or switches. The display unit 114 is a display or panel for displaying various information. The panel may or may not be a touch panel. The panel may also be, for example, a liquid crystal panel or an organic EL panel. The communication interface 116 is connected to LAN 4A or LAN 4B.
[0029] The printing execution unit 118 is an inkjet, electrophotographic, or thermal printing engine. An inkjet printing engine includes a print head that ejects ink droplets. An electrophotographic printing engine includes a photoreceptor and an exposure device that emits light to expose the photoreceptor. A thermal printing engine includes a print head that generates heat using a heater.
[0030] The control unit 30 comprises a CPU 32 and a memory 34. The memory 34 comprises a main memory and an auxiliary memory. For example, the main memory includes RAM and cache memory. For example, the auxiliary memory may be ROM, flash memory, SSD, HDD, or a combination thereof. A program 36 is stored in the auxiliary memory of the memory 34. The CPU 32 performs various processes according to the program 36 loaded from the auxiliary memory into the main memory.
[0031] (Specific processes performed by each device; Figure 3) Next, we will explain a specific case with reference to Figure 3. In the following, for the sake of ease of understanding, the processing performed by the CPUs (e.g., 32, 132) of each device (e.g., server 10, printer 100) will be described as being performed by each device, rather than each CPU. Furthermore, communication between each device is performed via a communication interface (e.g., 16, 116). Therefore, in the following explanation, the phrase "via the communication interface" will be omitted when describing communication.
[0032] Server 10 acquires update data at T110. This update data is for updating the firmware of the managed printer. The update data is provided to Server 10 from a firmware server installed by the printer vendor, for example, when a vulnerability is discovered in a particular function of the printer. That is, Server 10 acquires the update data from the firmware server at T110. In this case, the update data is for addressing a vulnerability in the printer's printing function. In a modified example, Server 10 may acquire the update data in response to receiving input of the update data from its administrator.
[0033] Server 10 analyzes the logs in T112 using log table 42. The analysis of T112 logs is performed to calculate the execution frequency of the function corresponding to the update data for each of the multiple printers. For example, if the update data is data to address a vulnerability in the printing function, Server 10 calculates the execution frequency of printing for each printer. As will be described in more detail later, Server 10 changes the information sent to each printer according to the execution frequency. Specifically, Server 10 performs the following processes.
[0034] First, server 10 identifies one serial number from device table 40. Next, server 10 identifies log table 42 corresponding to the identified serial number. Then, server 10 identifies one or more log entries containing the function "print" from the identified log table 42.
[0035] The server 10 then uses one or more identified log entries to determine the printing frequency of the printer identified by the identified serial number. Specifically, the server 10 identifies the number of log entries from the one or more identified log entries that include a date and time within a predetermined period (for example, the most recent month). This identified number is the printing frequency. The server 10 then determines whether the printing frequency is above a threshold (for example, 10 times).
[0036] Server 10 sequentially identifies all serial numbers stored in the device table 40 and sequentially performs the same processing as described above. In this case, Server 10 determines whether the printing frequency of each of the four printers 100A to 100D is above a threshold. In this case, Server 10 determines at T112 that the printing frequency of two printers 100A and 100C is above the threshold. On the other hand, Server 10 determines at T112 that the printing frequency of two printers 100B and 100D is below the threshold.
[0037] Server 10 sends update data to each of the two printers 100A and 100C, which T120 determines to have a printing frequency above a threshold. Note that the disabling instructions described later are not sent to printers 100A and 100C.
[0038] When printer 100A receives update data from server 10 at T120, it updates its firmware according to the update data. In this case, the firmware update for printer 100A is successful at T122. Therefore, the firmware of printer 100A is updated.
[0039] When printer 100C receives update data from server 10 at T120, it updates its firmware according to the update data. In this case, the firmware update for printer 100C is successful at T124. Therefore, the firmware of printer 100C is updated.
[0040] On the other hand, server 10 does not send update data to the two printers 100B and 100D, which are determined to have a print execution frequency below a threshold. Server 10 sends a disable instruction and notification information to printers 100B and 100D in T130. The disable instruction is an instruction to disable the print function. Here, "disabling" the print function means that even if the printer receives a print instruction from the user, it will not execute the print in accordance with that instruction. The notification information is information representing the notification screen SC1, which will be described later.
[0041] Printer 100B receives a disable instruction and notification information from server 10 at T130. In this case, printer 100B disables the printing function at T132 in response to the disable instruction. That is, printer 100B transitions to a state where it does not execute printing in response to a print instruction received from a user.
[0042] Furthermore, printer 100B displays a notification screen SC1, represented by notification information, on the display unit 114 in T133. Notification screen SC1 includes information indicating that the printing function has been disabled. Notification screen SC1 also includes a message indicating that the firmware of printer 100B needs to be updated in order to undo the disabling. Notification screen SC1 also includes an update button for updating the firmware. By viewing notification screen SC1, the user can learn that the printing function has been disabled and that the firmware needs to be updated to undo the disabling.
[0043] Printer 100D receives a disabling instruction and notification information from server 10 at T130. In this case, printer 100D executes processes T134 and T135. Processes T134 and T135 are the same as processes T132 and T133, respectively, except that printer 100D is the main entity performing the process.
[0044] Printer 100B accepts the user's selection of the update button in the notification screen SC1 at T140. In this case, printer 100B sends an update data request to server 10 at T142. The update data request is a signal requesting server 10 to send update data.
[0045] Server 10 receives an update data request from printer 100B at T142. In this case, server 10 sends the update data to printer 100B at T144.
[0046] Printer 100B receives update data from server 10 at T144. In this case, server 10 updates the firmware according to the update data. Thus, when the update button is selected, printer 100B sends an update data request to server 10. Therefore, printer 100B can receive update data from server 10 at the time of the update. Consequently, printer 100B does not need to unnecessarily store the update data. The following describes case A, where the update is successful, and case B, where the update fails.
[0047] (Case A) First, let's explain Case A. In Case A, the firmware update for printer 100B is successful at T146. Therefore, the firmware of printer 100B is updated. In this case, printer 100B sends update result information to server 10 at T147, indicating that the firmware update was successful.
[0048] Server 10 receives update result information from printer 100B at T147, indicating that the firmware update was successful. In this case, Server 10 sends a deactivation instruction to printer 100B at T148. The deactivation instruction is an instruction to reactivate the disabled printing function.
[0049] Printer 100B receives a deactivation instruction from server 10 at T148. In this case, printer 100B deactivates the deactivation at T149. That is, printer 100B transitions to a state where it receives a print instruction from a user and executes printing according to that instruction. In this way, printer 100B can deactivate its printing function.
[0050] (Case B) Next, let's explain Case B. In Case B, the firmware update for printer 100B fails at T150. One possible reason for the firmware update failure is that the printer 100B's memory 134 is insufficient. In this case, printer 100B sends update result information to server 10 at T151 indicating that the firmware update failed.
[0051] Server 10 receives update result information from printer 100B at T151 indicating that the firmware update failed. In this case, Server 10 sends a deactivation continuation instruction to printer 100B at T152. The deactivation continuation instruction is an instruction to continue deactivating the printing function.
[0052] Printer 100B receives a deactivation continuation instruction from server 10 at T152. In this case, printer 100B continues to deactivate the printing function. That is, even if printer 100B receives a print command from a user, it will maintain a state in which it does not execute printing in accordance with that command.
[0053] Furthermore, the same processes as T140-T149, or T140-T144 and T150-T152, are executed between printer 100D and server 10.
[0054] (Effects of the first embodiment) According to the above configuration, server 10 receives log information from each of the printers 100A to 100D (T12, T22, etc. in Figure 2). Based on the log information, server 10 identifies printers 100B and 100D whose print execution frequency is below a threshold (T112 in Figure 3). Server 10 then sends a disable command to printers 100B and 100D (T130), but does not send a disable command to printers 100A and 100C (see T120). In other words, server 10 sends a disable command to printers 100B and 100D, which have a relatively low print execution frequency, while not sending a disable command to printers 100A and 100C, which have a relatively high print execution frequency. Then, printers 100B and 100D, which have received a disable command from server 10, disable their printing function (T132, T134). In this way, the printing function is appropriately disabled.
[0055] In this embodiment, the update data is data to address vulnerabilities in the printing function. Therefore, allowing printing without updating the firmware is undesirable from a security standpoint. Accordingly, when the server 10 obtains the update data, it sends the update data to printers 100A and 100C, which are used relatively frequently for printing. As a result, the firmware of printers 100A and 100C is updated relatively quickly. In particular, the printing function is not disabled on printers 100A and 100C, so users do not need to perform any operations to reactivate it. This improves user convenience.
[0056] Furthermore, even if server 10 acquires update data, it does not immediately send the update data to printers 100B and 100D, which have a relatively low frequency of printing. Because printers 100B and 100D have a low frequency of printing, it is unlikely that they will receive a print command from a user even if their firmware is updated. If printing is not performed, there is no need to immediately update the firmware. Therefore, the execution of non-urgent processes (i.e., firmware updates) is suppressed.
[0057] Furthermore, when the printers 100B and 100D receive a selection of the update button in the notification screen SC1 from the user, they can send an update data request to the server 10 (T142 in Figure 3). This allows the user to update the firmware of the printers 100B and 100D at the time they wish to have the printers 100B and 100D perform printing.
[0058] (Correspondence) Server 10 is an example of a "server". Printers 100A to 100D are examples of "one or more function execution devices". In particular, printers 100B and 100D are examples of "target function execution devices". Also, printers 100A and 100C are examples of "function execution devices other than the target function execution devices". The printing function is an example of a "specific function". Log information is an example of "history information". The disabling instruction is an example of a "restriction instruction". The message in notification screen SC1 indicating that the firmware of printer 100B needs to be updated in order to release the disabling is an example of "condition information". The operation of selecting the update button in notification screen SC1 is an example of a "command related to the release of restrictions". The update data request is an example of "release-related information".
[0059] The correspondence between the processes executed by the "server" is as follows: Processes T12 and T22 in Figure 2 are examples of processes executed by the "history information receiving unit". Process T112 in Figure 3 is an example of a process executed by the "specification unit". Process T120 is an example of a process executed by the "first update data transmission unit". Process T130 is an example of a process executed by the "restriction instruction transmission unit" and the "notification information transmission unit". Processes T142 and T144 are examples of processes executed by the "release-related information receiving unit" and the "second update data transmission unit", respectively.
[0060] The correspondence between the processes executed by the "function execution device" is as follows: Processes T12 and T22 in Figure 2 are examples of processes executed by the "history information transmission unit". Process T130 in Figure 3 is an example of processes executed by the "restriction instruction receiving unit" and the "notification information receiving unit". Process T133 is an example of a process executed by the "output control unit". Processes T142, T144, T146, T147, T148, and T149 are examples of processes executed by the "release-related information transmission unit", "update data receiving unit", "first update unit", "update result transmission unit", "release instruction receiving unit", and "first restriction release unit", respectively.
[0061] (Second example; Figure 3) Next, a second embodiment will be described with reference to Figure 3. The second embodiment differs from the first embodiment in that the printer 100B can control whether or not to release the disablement of the printing function. In the second embodiment, first, the same process as in the first embodiment, T110 to T144 in Figure 3, is executed.
[0062] First, let's explain case A, where the firmware update is successful. At T146, the firmware update for printer 100B is successful. Therefore, the firmware of printer 100B is updated. In this case, printer 100B skips the processes at T147 and T148 and undoes the deactivation at T149. In this way, printer 100B can undo the deactivation of the printing function without receiving a deactivation instruction from server 10.
[0063] Next, we will explain Case B, in which the firmware update fails. In Case B, the firmware update for printer 100B fails in T150. In this case, printer 100B continues to disable the printing function without executing processes T151 and T152. In this way, printer 100B can continue to disable the printing function without receiving a command from server 10 to continue disabling it.
[0064] (Third embodiment; Figure 4) Next, a third embodiment will be described with reference to Figure 4. In the third embodiment, the information sent to each of the two printers 100B and 100D, which are determined to have a printing frequency below a threshold, is different from that in the first embodiment. Note that in Figure 4, the same reference numerals are used for processes similar to those in Figure 3, and their detailed explanation is omitted.
[0065] Server 10 sends a deactivation instruction, notification information, update data, and update instruction information to printers 100B and 100D respectively via T230. The update instruction information is information that instructs the printers to update the firmware according to the update data in response to the selection of the update button on the notification screen SC1. That is, printer 100B receives the update data from server 10 via T230, but does not immediately update the firmware.
[0066] At T130, printer 100B receives a disable instruction, notification information, update data, and update instruction information from server 10. In this case, printer 100B executes processes T132 and T133. Subsequently, at T240, printer 100B accepts the user's selection of the update button in the notification screen SC1. As described above, the update instruction information is information that instructs the printer to update the firmware in response to the acceptance of the update button selection. Therefore, printer 100B updates the firmware according to the received update data. In particular, since printer 100B has already received the update data at T230, it does not send an update data request to server 10. For this reason, printer 100B can quickly start the firmware update.
[0067] (Case C) Case C is the case where the firmware update is successful. The processes T246 to T249 are the same as the processes T146 to T149 in Figure 3.
[0068] Case D is a case where the firmware update fails. The processes T250 to T252 are the same as the processes T150 to T152 in Figure 3.
[0069] Furthermore, the same processes as T240-T249, or T240 and T250-T252, are performed between printer 100D and server 10. Update data and update instruction information are examples of "update-related information". The process of T230 in Figure 4 is an example of the process performed by the "update-related information transmission unit" of the "server" and the "update-related information receiving unit" of the "function execution device". The processes of T246 and T248 are examples of the processes performed by the "second update unit" and the "second restriction release unit," respectively, of the "function execution device".
[0070] (Fourth embodiment; Figure 4) Next, the fourth embodiment will be described with reference to Figure 4. The fourth embodiment differs from the third embodiment in that the printer 100B can control whether or not to release the disablement of the printing function. In the fourth embodiment, first, the same processes as in the third embodiment, such as T110~T124, T230, T132~T135, and T240 in Figure 4, are executed.
[0071] First, let's explain case C, where the firmware update is successful. At T246, the firmware update for printer 100B is successful. Therefore, the firmware of printer 100B is updated. In this case, printer 100B skips the processing at T247 and T248 and undoes the deactivation at T249. In the fourth embodiment, printer 100B can undo the deactivation of the printing function without receiving a deactivation instruction from server 10.
[0072] Next, we will describe Case D, in which the firmware update fails. In Case D, the firmware update for printer 100B fails in T250. In this case, printer 100B continues to disable the printing function without executing processes T251 and T252. In the fourth embodiment, printer 100B can continue to disable the printing function without receiving a command from server 10 to continue disabling.
[0073] (Fifth embodiment; Figure 5) Next, with reference to Figure 5, the fifth embodiment will be described. In the fifth embodiment, the timing of log analysis using the log table 42 differs from that of the first embodiment. The server 10 in the fifth embodiment analyzes the log when a predetermined timing arrives. This predetermined timing is, for example, the arrival of a predetermined cycle or the receipt of a log analysis request from a user. In particular, the server 10 in the fifth embodiment analyzes the log when no update data has been acquired.
[0074] The process of T312 in Figure 5 is the same as the process of T112 in Figure 3. Server 10 does not send information to printers 100A and 100C, respectively, if it is determined that the printing frequency is above a threshold.
[0075] Server 10 sends a disable command to printers 100B and 100D, respectively, which are determined to have a print execution frequency below a threshold in T330. The processing of T332 and T334 is the same as the processing of T132 and T134 in Figure 3, respectively.
[0076] In T333, printer 100B displays notification screen SC10 on the display unit 114. Notification screen SC10 includes information indicating that the printing function has been disabled. Notification screen SC10 further includes a release button to undo the disabling. The processing in T335 is the same as the processing in T333, except that the main entity performing the processing is printer 100D.
[0077] Printer 100B accepts a selection of the release button on the notification screen SC10 from the user at T340. In this case, printer 100B sends a deactivation request to server 10 at T342. The deactivation request is a signal to request the deactivation of the printing function.
[0078] Server 10 receives a deactivation request from printer 100B at T342. In this case, Server 10 sends a deactivation instruction to printer 100B at T344.
[0079] Printer 100B receives a deactivation command from server 10 at T344. In this case, printer 100B deactivates the deactivation at T346. The same process as T340-T346 is also performed on printer 100D. In this way, the user can deactivate the printing function on printers 100B and 100D by selecting the deactivation button. Selecting the deactivation button on notification screen SC10 is an example of a "command to release the restriction". The process at T346 in Figure 5 is an example of the process performed by the "third restriction release unit" of the "function execution device".
[0080] (Sixth embodiment; Figure 5) Next, the sixth embodiment will be described with reference to Figure 5. The sixth embodiment differs from the fifth embodiment in that the printer 100B can control the release of the disabled printing function. In the sixth embodiment, first, the same process as in the fifth embodiment, T312 to T3335 in Figure 5, is executed.
[0081] In T340, printer 100B accepts the user's selection of the release button in the notification screen SC10. In this case, printer 100B releases the disabling in T346 without sending a disabling release request to server 10. In the sixth embodiment, printer 100B can release the disabling of the printing function without receiving a disabling release instruction from server 10.
[0082] The specific examples of the technology disclosed herein have been described in detail above, but these are merely illustrative and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes to the specific examples illustrated above. Modifications of the above embodiments are listed below.
[0083] (Modification 1) In the above embodiment, an example was described in which the printing function is disabled based on the frequency of printing. In the modification, for example, access to a printer that functions as a web server may be disabled based on the frequency of access to that web server. In this modification, the web server function is an example of a "specific function". Other "specific functions" could be, for example, a facsimile function or a function that performs encrypted communication. Generally speaking, a "specific function" can be any function that the "function execution device" can perform.
[0084] (Modification 2) In the above embodiment, the printing function of printers whose printing frequency is below a threshold was disabled. Alternatively, for example, some functions of the printing function of printers whose printing frequency is below a threshold may be disabled, while other functions may not be disabled. For example, the communication of print data may be disabled, but printing itself may not be disabled. For example, receiving print data from a terminal and executing printing may not be permitted, but printing via the printer's operation unit 114 (e.g., copying) may be permitted. In this modification, disabling some functions while not disabling others is an example of "restricting the execution of a specific function".
[0085] (Modification 3) In Figure 3, at T130, the server 10 does not need to send notification information to the printer 100B. In this case, the printer 100B does not need to display the notification screen SC1. In this modification, the "notification information transmission unit" of the "server" and the "notification information receiving unit" of the "function execution device" can be omitted. Also, the "first output control unit" and the "second output control unit" of the "function execution device" can be omitted.
[0086] (Modification 4) In Figure 3, at T140, the printer 100B may accept an operation to release the deactivation instead of accepting the selection of the update button. The operation to release the deactivation is, for example, an operation via the operation unit 114. In this case, the printer 100B may send information to the server 10 at T142 indicating that the operation to release the deactivation has been accepted. In this case, the server 10 may send update data to the printer 100B. In this modification, the operation to release the deactivation is an example of a "command related to the release of restrictions". Also, the information indicating that the operation to release the deactivation has been accepted is an example of "release-related information".
[0087] (Modification 5) Printer 100B, etc. does not need to display notification screen SC1. In this case, instead of sending notification information to printer 100B, etc. at T130 in Figure 3, server 10 may send notification information to a terminal device. In this case, notification screen SC1 may be displayed on the terminal device. In this case, notification screen SC1 may include information indicating the printer (e.g., serial number) that the printing function has been disabled. When the terminal device accepts the selection of the update button from the user on notification screen SC1, it may send information to printer 100B, etc. indicating that the update button has been selected. When printer 100B receives this information, it may send an update data request to server 10 at T142. In this modification, the information indicating that the update button has been selected from the terminal device is an example of a "command related to the removal of restrictions". Similarly, printer 100B, etc. does not need to display notification screen SC10. In this case, notification screen SC10 may be displayed on the terminal device. Furthermore, when the terminal device receives a selection of the release button from the user on the notification screen SC10, it may send information indicating that the release button has been selected to the printer 100B or the like. When the printer 100B receives this information, it may send a deactivation request to the server 10 in T342. In this modified example, the information from the terminal device indicating that the release button has been selected is an example of a "command to release the restriction".
[0088] (Modification 6) In the above embodiment, the processing of each step in Figures 3 to 5 is implemented by software (for example, programs 36,136), but at least one of these processes may be implemented by hardware such as a logic circuit.
[0089] The technical elements described herein or in the drawings demonstrate technical usefulness individually or in various combinations, and are not limited to the combinations described in the claims at the time of filing. Furthermore, the technologies illustrated herein or in the drawings can achieve multiple objectives simultaneously, and achieving even one of these objectives constitutes technical usefulness in itself.
[0090] Even if, in the claims of this patent application, each claim depends on only some of the claims, it is not limited to the claim being dependent only on those specific claims. To the extent that it is not technically contradictory, each claim may be dependent on other claims that were not dependent at the time of application. That is, the technologies of each claim can be combined in various ways as follows: (Item 1) It is a server, A history information receiving unit receives history information representing the execution history of a specific function that each of the function execution devices can perform from each of the one or more function execution devices, Based on the history information received from each of the one or more function execution devices, an identification unit identifies a target function execution device from among the one or more function execution devices whose execution frequency of the specific function is below a predetermined threshold, A restriction instruction transmission unit that transmits a restriction instruction to the target function execution device to restrict the execution of the specified function, wherein the restriction instruction is not transmitted to any function execution device other than the target function execution device among the one or more function execution devices, A server equipped with the following features. (Item 2) The aforementioned identification unit identifies the target function execution device when update data is acquired from an external source. The update data is data for updating the software corresponding to the specific function, as described in item 1, on the server. (Item 3) The aforementioned server further, The system includes a first update data transmission unit that transmits the update data to a function execution device other than the target function execution device, The update data is not transmitted to the target function execution device, as specified in item 2. (Item 4) The aforementioned server further, The system includes a notification information transmission unit that transmits notification information to the target function execution device to notify that the software can be updated, The notification information is not transmitted to any of the function execution devices other than the target function execution device, as specified in item 2 or 3. (Item 5) The aforementioned server further, After the notification information has been transmitted to the target function execution device, if the target function execution device receives a command related to the release of the restriction, the release-related information receiving unit receives release-related information related to the release of the restriction from the target function execution device. A second update data transmission unit transmits the update data to the target function execution device when the release-related information is received from the target function execution device, A server as described in item 4, which is equipped with the following features. (Item 6) The aforementioned server further, The server according to item 2, comprising an update-related information transmission unit that transmits update-related information related to the update of the software to the target function execution device, wherein the update-related information includes the update data and update instruction information, and the update instruction information is information that instructs the software to be updated according to the update data in response to the acceptance of a command related to the removal of the restriction. (Item 7) A function execution device, A history information transmission unit transmits history information to a server that represents the execution history of a specific function that the function execution device can execute, A restriction instruction receiving unit receives a restriction instruction from the server when the server determines, based on the historical information, that the execution frequency of the specific function is below a predetermined threshold, in order to restrict the execution of the specific function. A restriction unit that restricts the execution of the specific function when the restriction instruction is received from the server, A functional execution device equipped with the following features. (Item 8) The aforementioned function execution device further, The function execution device according to item 7, further comprising a first output control unit that causes the output unit to output information indicating that the execution of the specified function has been restricted when the execution of the specified function is restricted. (Item 9) The aforementioned function execution device further, A notification information receiving unit that receives notification information from the server when the server acquires update data from an external source, wherein the update data is data for updating software corresponding to the specific function, and the notification information is information for notifying that the software can be updated, A second output control unit that causes a condition information unit to output condition information when the notification information is received from the server, wherein the condition information is information indicating that the restriction can be lifted on the condition that the software is updated, A function execution device as described in item 7 or 8, comprising the above. (Item 10) The aforementioned function execution device further, When a command related to the removal of the aforementioned restriction is received, a removal-related information transmission unit transmits removal-related information related to the removal of the aforementioned restriction to the server, After the aforementioned cancellation-related information is transmitted to the server, an update data receiving unit receives the update data from the server, When the update data is received from the server, a first update unit updates the software according to the update data, After the software is updated, a first restriction removal unit removes the restriction, A function execution device as described in item 9, comprising the features described in item 9. (Item 11) The aforementioned function execution device further, After the software has been updated, an update result transmission unit sends update result information to the server indicating that the software has been updated. After the update result information is transmitted to the server, a release instruction receiving unit receives a restriction release instruction from the server, Equipped with, The first restriction release unit is a function execution device according to item 10, which releases the restriction when it receives the restriction release instruction from the server. (Item 12) The aforementioned function execution device further, When the server acquires update data from an external source, the update-related information receiving unit receives update-related information related to software updates from the server, wherein the update data is data for updating the software corresponding to the specific function, and the update-related information includes the update data and update instruction information, wherein the update instruction information is information that instructs that the software should be updated according to the update data in response to the acceptance of a command related to the removal of the restriction, A second update unit updates the software according to the update data in response to the acceptance of the command relating to the removal of the restriction, After the software is updated, a second restriction removal unit removes the restriction, A function execution device as described in item 7 or 8, comprising the above. (Item 13) The aforementioned function execution device further, The function execution device according to item 7 or 8, further comprising a third restriction release unit that releases the restriction when, in a situation where the server has not acquired update data, the execution of the specific function is restricted in response to the server receiving the restriction instruction, and then a command to release the restriction is received. [Explanation of symbols]
[0091] 2: Communication system, 4A, 4B: LAN, 6: Internet, 10: Server, 16, 116: Communication I / F, 30, 130: Control unit, 32, 132: CPU, 34, 134: Memory, 36, 136: Program, 40: Device table, 42: Log table, 100, 100A~100D: Printer, 118: Print execution unit
Claims
1. It is a server, A history information receiving unit receives history information representing the execution history of a specific function that each of the function execution devices can perform from each of the one or more function execution devices, Based on the history information received from each of the one or more function execution devices, an identification unit identifies a target function execution device from among the one or more function execution devices whose execution frequency of the specific function is below a predetermined threshold, A restriction instruction transmission unit that transmits a restriction instruction to the target function execution device to restrict the execution of the specified function, wherein the restriction instruction is not transmitted to any function execution device other than the target function execution device among the one or more function execution devices, A server equipped with the following features.
2. The aforementioned identification unit identifies the target function execution device when update data is acquired from an external source. The server according to claim 1, wherein the update data is data for updating software corresponding to the specific function.
3. The aforementioned server further, The system includes a first update data transmission unit that transmits the update data to a function execution device other than the target function execution device, The server according to claim 2, wherein the update data is not transmitted to the target function execution device.
4. The aforementioned server further, The system includes a notification information transmission unit that transmits notification information to the target function execution device to notify that the software can be updated, The server according to claim 2, wherein the notification information is not transmitted to any of the function execution devices other than the target function execution device.
5. The aforementioned server further, After the notification information has been transmitted to the target function execution device, if the target function execution device receives a command related to the release of the restriction, the release-related information receiving unit receives release-related information related to the release of the restriction from the target function execution device. A second update data transmission unit transmits the update data to the target function execution device when the release-related information is received from the target function execution device, The server according to claim 4, comprising:
6. The aforementioned server further, The server according to claim 2, comprising an update-related information transmission unit that transmits update-related information related to the update of the software to the target function execution device, wherein the update-related information includes the update data and update instruction information, and the update instruction information is information that instructs the software to be updated according to the update data in response to the acceptance of a command related to the release of the restriction.
7. A function execution device, A history information transmission unit transmits history information to a server that represents the execution history of a specific function that the function execution device can execute, A restriction instruction receiving unit receives a restriction instruction from the server when the server determines, based on the historical information, that the execution frequency of the specific function is below a predetermined threshold, in order to restrict the execution of the specific function. A restriction unit that restricts the execution of the specific function when the restriction instruction is received from the server, A functional execution device equipped with the following features.
8. The aforementioned function execution device further, The function execution device according to claim 7, further comprising a first output control unit that causes the output unit to output information indicating that the execution of the specified function has been restricted when the execution of the specified function is restricted.
9. The aforementioned function execution device further, A notification information receiving unit that receives notification information from the server when the server acquires update data from an external source, wherein the update data is data for updating software corresponding to the specific function, and the notification information is information for notifying that the software can be updated, A second output control unit that causes the output unit to output conditional information when the notification information is received from the server, wherein the conditional information is information indicating that the restriction can be released on the condition that the software is updated, The function execution device according to claim 7, comprising:
10. The aforementioned function execution device further, When a command related to the removal of the aforementioned restriction is received, a removal-related information transmission unit transmits removal-related information related to the removal of the aforementioned restriction to the server, After the aforementioned cancellation-related information is transmitted to the server, an update data receiving unit receives the update data from the server, When the update data is received from the server, a first update unit updates the software according to the update data, After the software is updated, a first restriction removal unit removes the restriction, The function execution device according to claim 9, comprising:
11. The aforementioned function execution device further, After the software has been updated, an update result transmission unit sends update result information to the server indicating that the software has been updated. After the update result information is transmitted to the server, a release instruction receiving unit receives a restriction release instruction from the server, Equipped with, The function execution device according to claim 10, wherein the first restriction release unit releases the restriction when it receives the restriction release instruction from the server.
12. The aforementioned function execution device further, When the server acquires update data from an external source, the update-related information receiving unit receives update-related information related to software updates from the server, wherein the update data is data for updating the software corresponding to the specific function, and the update-related information includes the update data and update instruction information, wherein the update instruction information is information that instructs that the software should be updated according to the update data in response to the acceptance of a command related to the removal of the restriction, A second update unit updates the software according to the update data in response to the acceptance of the command relating to the removal of the aforementioned restriction, After the software is updated, a second restriction removal unit removes the restriction, The function execution device according to claim 7, comprising:
13. The aforementioned function execution device further, The function execution device according to claim 7, further comprising a third restriction release unit that releases the restriction when, in a situation where the server has not acquired update data, the execution of the specific function is restricted in response to the server receiving the restriction instruction, and then a command to release the restriction is received.
14. It is a communication system, Server and It comprises one or more functional execution devices, Each of the one or more function execution devices is: Each of the one or more function execution devices includes a history information transmission unit that transmits history information representing the execution history of a specific function that can be executed to the server. The aforementioned server, A history information receiving unit that receives the history information from each of the one or more function execution devices, Based on the history information received from each of the one or more function execution devices, an identification unit identifies a target function execution device from among the one or more function execution devices whose execution frequency of the specific function is below a predetermined threshold, A restriction instruction transmission unit that transmits a restriction instruction to the target function execution device to restrict the execution of the specified function, wherein the restriction instruction is not transmitted to any function execution device other than the target function execution device among the one or more function execution devices, Equipped with, The aforementioned target function execution device is A restriction instruction receiving unit that receives the restriction instruction from the server, A restriction unit that restricts the execution of the specific function when the restriction instruction is received from the server, A system that includes these features.
15. A computer program for a server, The computer of the aforementioned server consists of the following parts, namely: A history information receiving unit receives history information representing the execution history of a specific function that each of the function execution devices can perform from each of the one or more function execution devices, Based on the history information received from each of the one or more function execution devices, an identification unit identifies a target function execution device from among the one or more function execution devices whose execution frequency of the specific function is below a predetermined threshold, A restriction instruction transmission unit that transmits a restriction instruction to the target function execution device to restrict the execution of the specified function, wherein the restriction instruction is not transmitted to any function execution device other than the target function execution device among the one or more function execution devices, A computer program that functions as such.
16. A computer program for a functional execution device, The computer of the aforementioned function execution device comprises the following parts, namely: A history information transmission unit transmits history information to a server that represents the execution history of a specific function that the function execution device can execute, A restriction instruction receiving unit receives a restriction instruction from the server when the server determines, based on the historical information, that the execution frequency of the specific function is below a predetermined threshold, in order to restrict the execution of the specific function. A restriction unit that restricts the execution of the specific function when the restriction instruction is received from the server, A computer program that functions as such.