Information processing device, information processing method, and program

The information processing device addresses connection failures by identifying software mismatches and network issues through acquisition and determination units, enhancing connection reliability and security in electronic devices.

JP2025154468APending Publication Date: 2025-10-10SATO CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024057489
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-29
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

Identifying the cause of an electronic device's inability to connect to an information processing device is challenging due to various reasons such as outdated software or network issues, making it difficult to diagnose and resolve the connection failure.

Method used

An information processing device that manages electronic devices and software provision devices, utilizing first and second acquisition units to gather information, a determination unit to identify software identities, and a memory unit to store failure reasons, with features like hash value comparison and communication history analysis to determine the cause of connection failures.

Benefits of technology

Facilitates easy identification of connection failure causes, ensuring software compatibility and preventing unauthorized connections by comparing hash values and analyzing communication history, thereby improving connection reliability and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025154468000001_ABST
    Figure 2025154468000001_ABST
Patent Text Reader

Abstract

To make it easier to identify a cause of impossibility of connection when an electronic device cannot be connected to an information processing device.SOLUTION: An information processing device of an embodiment comprises: a first acquisition unit which acquires first information including first software which is software provided to an electronic device, and information related to communication with a software providing device from the electronic device; a second acquisition unit which acquires second information related to second software which is software to be provided to the electronic device, from the software providing device; a determination unit which determines the identity between the first software included in the first information and the second software when communication related to the provision of software between the electronic device and the software providing device is succeeded; and a storage unit which stores a reason for failure based on the information related to communication included in the first information when communication related to the provision of software between the electronic device and the software providing device is failed.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]

[0002] Electronic devices such as printers are sometimes connected to external information processing devices such as servers via a network, and the status of the electronic devices is managed by the information processing devices. In such cases, software for communicating with the information processing devices is installed in the electronic devices. The electronic devices update their software by, for example, obtaining the latest version from a software provider. Various methods for installing software into electronic devices have been proposed. For example, Patent Document 1 describes a print control device that acquires a driver program corresponding to a model specified by an input means from a server, and uses the acquired driver program to install a driver for the driver program corresponding to the specified model. [Prior art documents] [Patent documents]

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

[0004] However, there are various possible reasons why an electronic device cannot connect to a server, such as the electronic device's software not being updated to the latest version, or the network environment such as network load or a firewall, making it difficult to identify the cause.

[0005] Therefore, an object of the present invention is to make it easier to identify the cause of the inability to connect an electronic device to an information processing device when the electronic device cannot connect to the information processing device. [Means for solving the problem]

[0006] One aspect of the present invention is an information processing device that manages an electronic device and a software provision device that provides software to the electronic device, and includes: a first acquisition unit that acquires first information from the electronic device, the first information including first software that is software provided to the electronic device and information regarding communication with the software provision device; a second acquisition unit that acquires second information from the software provision device regarding second software that is software to be provided to the electronic device; a determination unit that, if communication regarding the provision of software between the electronic device and the software provision device is successful, determines the identity of the first software and the second software included in the first information; and a memory unit that, if communication regarding the provision of software between the electronic device and the software provision device fails, stores a reason for failure based on information regarding the communication included in the first information. [Effects of the Invention]

[0007] According to an aspect of the present invention, when an electronic device cannot connect to an information processing device, it is possible to easily identify the cause of the connection failure. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a diagram illustrating a schematic system configuration of a printer management system according to an embodiment. [Figure 2] FIG. 1 is a block diagram of a printer management system according to an embodiment. [Figure 3] FIG. 2 illustrates an example of a data configuration of a management database. [Figure 4] 10 is a sequence chart illustrating a process of a printer management system according to an embodiment. [Figure 5] 10 is a sequence chart illustrating a process of a printer management system according to an embodiment. [Figure 6] 10 is a sequence chart illustrating a process of a printer management system according to an embodiment. [Figure 7] 10 is a sequence chart illustrating a process of a printer management system according to an embodiment. [Figure 8] 10 is a sequence chart illustrating a process of a printer management system according to an embodiment. [Figure 9] 10 is a sequence chart illustrating a process of a printer management system according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0009] The embodiments described below are not limited to the drawings described by the brief description of the drawings.

[0010] A first aspect of the present invention is an information processing device that manages an electronic device and a software provision device that provides software to the electronic device, and includes: a first acquisition unit that acquires first information from the electronic device, the first information including first software that is software provided to the electronic device and information regarding communication with the software provision device; a second acquisition unit that acquires second information from the software provision device regarding second software that is software to be provided to the electronic device; a determination unit that, when communication regarding the provision of software between the electronic device and the software provision device is successful, determines the identity of the first software and the second software included in the first information; and a memory unit that, when communication regarding the provision of software between the electronic device and the software provision device fails, stores a reason for failure based on information regarding the communication included in the first information.

[0011] According to a first aspect of the present invention, when an electronic device cannot connect to an information processing device, it is possible to easily identify the cause of the inability to connect.

[0012] A second aspect of the present invention is an information processing device described in the first aspect, wherein each of the first information and the second information includes a hash value for identifying the change history of the software, and the determination unit determines the identity by comparing the hash values ​​based on each of the first information and the second information.

[0013] According to the second aspect of the present invention, it is possible to easily and reliably determine whether the first software and the second software are the same.

[0014] A third aspect of the present invention is an information processing device described in the first or second aspect, wherein the first information includes communication history information regarding the communication history between the electronic device and the software provision device, and the determination unit determines the communication status regarding the provision of software between the electronic device and the software provision device based on the communication history information.

[0015] According to a third aspect of the present invention, the first information includes communication history information, so that the communication status between the electronic device and the software providing device can be determined.

[0016] A fourth aspect of the present invention is an information processing device described in any one of the first to third aspects, wherein, when the software update by the electronic device fails, the determination unit determines, based on the communication history information, whether the update failure is due to a communication failure.

[0017] According to a fourth aspect of the present invention, the first information includes communication history information, so that it is possible to determine whether or not the update failure is due to a communication failure.

[0018] A fifth aspect of the present invention is an information processing device described in any one of the first to fourth aspects, which has an authentication unit that performs authentication processing on the electronic device and allows or denies connection to the electronic device based on the authentication result, and the authentication unit denies connection to the electronic device if the judgment unit determines that the first software is not identical to the second software. According to a fifth aspect of the present invention, when the software (first software) provided to the electronic device is not the software (second software) to be provided, connection from the electronic device to the information processing device can be prevented.

[0019] A sixth aspect of the present invention is an information processing device described in any one of the first to fifth aspects, wherein the information regarding communication included in the first information is information regarding communication with the software providing device after the electronic device communicates with the software providing device at startup, obtains information regarding the latest software, compares the obtained latest software with the software already installed on the electronic device, and, if there is a difference, sends information to the software providing device requesting the different software. According to a sixth aspect of the present invention, when the electronic device is started up, information relating to communication between the electronic device and the software providing device can be obtained.

[0020] A seventh aspect of the present invention is an information processing method executed by an information processing device to manage an electronic device and a software provision device that provides software to the electronic device, the information processing method comprising: obtaining first information from the electronic device, the first information including first software that is software provided to the electronic device and information regarding communication with the software provision device; obtaining second information from the software provision device, the second information including second software that is software to be provided to the electronic device; if communication regarding the provision of software between the electronic device and the software provision device is successful, determining the identity of the first software and the second software included in the first information; and if communication regarding the provision of software between the electronic device and the software provision device fails, storing a reason for the failure in a memory unit based on information regarding the communication included in the first information. According to the seventh aspect of the present invention, when an electronic device cannot be connected to an information processing device, it is possible to easily identify the cause of the inability to connect.

[0021] An eighth aspect of one aspect of the present invention is a program for managing an electronic device and a software provision device that provides software to the electronic device, the program causing a computer to execute the following steps: acquiring first information from the electronic device, the first information including first software that is software provided to the electronic device and information regarding communication with the software provision device; acquiring second information from the software provision device regarding second software that is software to be provided to the electronic device; determining, if communication regarding the provision of software between the electronic device and the software provision device is successful, the identity of the first software and the second software included in the first information; and, if communication regarding the provision of software between the electronic device and the software provision device fails, storing a reason for the failure in a memory unit based on information regarding the communication included in the first information. According to an eighth aspect of the present invention, when an electronic device cannot connect to an information processing device, it is possible to easily identify the cause of the inability to connect.

[0022] Hereinafter, the embodiments will be described in detail with reference to the drawings. First, a printer management system 1 for managing printers will be described with reference to Figures 1 to 3. Figure 1 is a diagram showing a schematic system configuration of the printer management system 1. Figure 2 is a block diagram of the printer management system 1. Figure 3 is a diagram showing an example of the data configuration of a management database stored in a printer management server 3, which will be described later.

[0023] The printer management system 1 shown in FIG. 1 manages a printer 2 connected via a network NW. In the example shown in FIG. 1, the printer management system 1 includes multiple printers 2-1 to 2-5, a printer management server 3, a version management server 4, and an administrator terminal 5. Note that while the example in FIG. 1 shows an example in which the printer management system 1 includes five printers, the number of printers can be set arbitrarily. In the following description, when referring to matters common to printers 2-1 to 2-5, they will be referred to as "printer 2." The devices included in the printer management system 1 can communicate with each other via a network NW. The network NW is not limited to, but may be, for example, a wireless or wired local area network (LAN), a wide area network (WAN), a mobile communication network, or the Internet.

[0024] The printer 2 can communicate with the printer management server 3 using a protocol such as HyperText Transfer Protocol Secure (HTTPS), Message Queuing Telemetry Transport (MQTT), or MQTT over WebSocket. For example, a communication agent is installed in the printer 2 (an example of an electronic device). The communication agent is software for communicating with the printer management server 3. In one embodiment, when the printer 2 starts up, the communication agent updates itself by downloading the latest communication agent from the version management server 4.

[0025] The printer management server 3 (an example of an information processing device) periodically receives operation information and the like from the printer 2, for example, and manages the operation status of the printer 2. The printer management server 3 is, for example, a cloud server. The printer management server 3 receives, from the printer 2, for example, operation information such as information about consumables used by the printer 2 and information indicating the operating status of the printer 2, and provides various information and services to the printer 2.

[0026] The version management server 4 (an example of a software providing device) manages the communication agent, which is software to be provided (e.g., the latest) to the printer 2, and the version (history information) of the latest communication agent. The version management server 4 is a hosting server for the version management system. The version management system is not limited to this, but an example is GitHub (registered trademark), a software development platform that uses Git. For example, in Git, every time the source code of a communication agent (hereinafter referred to as a "file") is edited, the edited content is committed and recorded in the repository as a different version. "Commit" means registering a changed file in Git. The registered file is referred to as a commit or a commit object. In the repository, each commit is managed using a directory tree containing multiple branches, each with a different branch name. When a commit is made, a hash value corresponding to the commit object is generated and used as identification information to identify the commit. In Git, for example, the latest file (the latest communication agent and its version information) is identified by the branch name and hash value in the directory tree.

[0027] The administrator terminal 5 is, for example, an information processing terminal operated by an administrator who manages the printers 2-1 to 2-5 shown in Fig. 1, and is, for example, a tablet terminal, a computer terminal, a smartphone, etc. An email application, which is software for receiving emails sent from the printer management server 3, is installed on the administrator terminal 5.

[0028] 2, the printer 2 has a control unit 21, a storage 22, and a communication unit 23. The control unit 21 has a central processing unit (CPU), read only memory (ROM), and random access memory (RAM), and controls various operations of the printer 2. Firmware and a communication agent are stored in the ROM, which is non-volatile memory. The firmware and communication agent are executed, for example, when the printer 2 is started. The RAM is memory for temporarily storing data when each program is executed.

[0029] In one embodiment, the communication agent of the printer 2 communicates with the version management server 4, for example, when the printer 2 is started, and requests header information as information about the latest communication agent. When the communication agent obtains the header information from the version management server 4, it compares it with the header information (information about the installed communication agent) recorded in the storage 22 and determines whether there is a difference between the two. If the communication agent determines that there is a difference between the two, it requests the version management server 4 to download the software containing the difference (i.e., the latest communication agent). After downloading the latest communication agent to be provided from the version management server 4, the communication agent updates itself. If the communication agent of the printer 2 is unable to download the latest communication agent from the version management server 4 and the update fails, it notifies the printer management server 3 of the reason for the update failure (reason for the update failure). The reason for the update failure is notified to the printer management server 3, for example, as communication history information with the version management server 4, along with the serial number of the printer 2, the branch name of the communication agent, etc.

[0030] Reasons for update failure include, for example, a timeout due to an unstable network or other reason ("timeout"), an incorrect repository name or branch name being specified when requesting a download to the version management server 4 ("command error"), a write error to the printer 2's storage 22 (for example, the downloaded communication agent file is corrupted) ("file I / O error"), an access point failure ("network failure"), a security failure ("SSL error"), an incorrect proxy server ID or user authentication error ("authentication error"), incorrect communication settings ("protocol error"), or, for example, GitHub being under maintenance ("error return from GitHub").

[0031] As described above, when updating itself, the communication agent of the printer 2 obtains header information of the communication agent to be provided from the version management server 4 before downloading the communication agent from the version management server 4. The header information includes, for example, the referenced branch name, the node ID of the GitHub REST API, the URL where the repository exists, the hash value of the Git repository, the object type (tree or commit), and the URL of the committed object. When the version of the communication agent is updated, at least the hash value changes, and therefore the header information becomes different, and the version of the communication agent can be identified by this hash value, etc.

[0032] The storage 22 is an SSD (solid state drive) such as a flash memory. The storage 22 stores the serial number of the printer 2, information about consumables used by the printer 2, information indicating the operating status of the printer 2, etc. Every time a communication agent downloaded from the version management server 4 is successfully updated, the header information of the communication agent is overwritten and saved in the storage 22. In other words, the storage 22 stores the header information of the latest communication agent (i.e., the currently installed communication agent) among the communication agents provided by the version management server 4.

[0033] The communication unit 23 is a communication interface that communicates with each of the printer management server 3 and the version management server 4. Any communication protocol may be used between the communication unit 23 and each server. Although not shown, the printer 2 is equipped with a control circuit for controlling the print head and a motor control circuit for transporting the print medium on which information is printed, in order to perform the printing function.

[0034] As shown in FIG. 2, the printer management server 3 includes a control unit 31, a storage 32, and a communication unit 33. The control unit 31 has a CPU, a ROM, and a RAM. For example, the control unit 31 executes software stored in the ROM to control various operations of the printer management server 3 to manage the printer 2. The software stored in the ROM includes a program for executing a server program and a mail system (e.g., SMS (Simple Mail Service)). The server program provides various services to the printer 2 after successful authentication of the printer 2. The mail system is configured to send e-mails containing messages to the administrator terminal 5 as necessary.

[0035] The control unit 31 is equipped with APIs (Application Programming Interfaces), such as an update failure notification API, a comparison API, and an authentication API. The update failure notification API receives communication history information from the printer 2 when the printer 2 is unable to download the latest communication agent from the version management server 4 and the update of the communication agent fails. For example, when the update failure notification API receives the communication history information, the server program updates the management database stored in the storage 32 based on the reason for the update failure contained in the communication history information. The comparison API receives the serial number and header information from the printer 2 and also receives header information from the version management server 4, and returns the hash value comparison result to the printer 2. The authentication API receives an authentication request from the printer 2 and returns the authentication result to the printer 2.

[0036] The update failure notification API is an example of a first acquisition unit that acquires communication history information (an example of first information) from the printer 2. The collation API is an example of a first acquisition unit that acquires header information and communication history information (an example of first information) of a communication agent (an example of first software) provided to the printer 2 from the printer 2. The collation API is also an example of a second acquisition unit that acquires a header request (an example of second information) of the latest communication agent (an example of second software) to be provided to the printer 2 from the version management server 4. The collation API is also an example of a determination unit that determines whether the communication agent provided to the printer 2 is the same as the latest communication agent when communication between the printer 2 and the version management server 4 regarding the provision of software is successful. The authentication API is an example of an authentication unit that performs authentication processing for the printer 2 and allows or denies connection to the printer 2 based on the authentication result. The authentication API denies connection to the printer 2 when it determines that the communication agent provided by the printer 2 is not the same as the latest communication agent.

[0037] The storage 32 stores a management database. The management database manages, for each printer 2, information such as the version information of the communication agent, the reason for the update failure when the communication agent update fails, and the connection status with the printer management server 3. The management database is accessed as appropriate by, for example, a server program. The communication unit 53 is a communication interface for communicating with each of the printer 2 and the version management server 4. The storage 32 is an example of a memory unit that, when communication between the printer 2 and the version management server 4 regarding the provision of software fails, stores the reason for the failure in the management database based on communication history information.

[0038] As shown in FIG. 2, the administrator terminal 5 has a control unit 51, a display unit 52, and a communication unit 53. The control unit 51 has a CPU, ROM, and RAM, and controls various operations of the administrator terminal 5. An email application is stored in the ROM, which is a non-volatile memory. The email application is configured to process emails sent from the printer management server 3. The display unit 52 includes a display panel and a display drive circuit, and displays, for example, emails processed by the email application. The communication unit 53 is a communication interface for communicating with the printer management server 3.

[0039] 3 shows an example of the data configuration of the management database stored in the storage 32 of the printer management server 3. In the example shown in Fig. 3, each record in the management database includes values ​​for the following fields for a user ID, which is identification information assigned to a user of the printer 2: "serial number," "version information," "communication history information reception time," "reason for update failure," "last connection time," and "contact information."

[0040] "Serial number" is a serial number that identifies the printer 2. "Version information" is information that identifies the version of the communication agent installed in the printer 2. It is also a hash value when the server program checks it successfully. "Version information" may indicate that the communication agent of the printer 2 is not the latest if it is not the latest. "Communication history information reception time" is the time when the communication history information was received from the communication agent of the printer 2. "Reason for update failure" is the reason for the update failure contained in the communication history information when it is received from the communication agent of the printer 2. "Last connection time" is the time when authentication for the communication agent of the printer 2 was successful and the communication agent last (previously) connected to the printer management server 3. "Contact information" is a contact (email address) for sending an email to the administrator terminal 5 if, for example, an update of the communication agent of the printer 2 fails.

[0041] In the management database, the serial number of the printer 2 is associated with the reason for update failure, and therefore it can also be used as statistical information showing the communication status of the printer 2. Based on the management database, information such as the frequency of communication failures for each printer 2 can be obtained.

[0042] Next, with reference to the sequence charts of FIGS. 4 to 9, processing in the printer management system 1 according to various situations will be described.

[0043] (I) Communication failure between Printer 2 and Version Control Server 4 (Figure 4) FIG. 4 is a sequence chart showing the processing when the communication agent cannot be updated due to a communication failure between the printer 2 and the version management server 4, for example. When printer 2 is started, the communication agent of printer 2 sends a header request to version management server 4 (step S2). In response to the header request, version management server 4 sends header information to printer 2 (step S4).

[0044] The communication agent of the printer 2 compares the header information recorded in the storage 22 with the header information received in step S4 and determines whether there is a difference between them (step S6). If the parts to be compared (for example, version information) are the same (step S6: NO), this means that the communication agent installed in the printer 2 is the latest version, and the communication agent does nothing. On the other hand, if there is a difference between the two (step S6: YES), it means that the communication agent installed in printer 2 is not the latest version. Therefore, the communication agent in printer 2 requests the version management server 4 to download the latest communication agent (step S8).

[0045] Here, as a download response from the version management server 4, there are cases where the version management server 4 cannot send the latest communication agent to the printer 2 due to, for example, the communication environment of the user of the printer 2. For example, the communication speed may be reduced due to the user's VPN (Virtual Private Network) environment, causing the transmission of the communication agent to the printer 2 to time out, or the operation may become unstable due to a wireless or other network environment, and the version management server 4 may not be able to send the latest communication agent to the printer 2 (step S9). If the printer 2 is unable to download the latest communication agent from the version management server 2, it sends communication history information including the reason for the update failure to the update failure notification API of the printer management server 3 (step S11). As described above, reasons for update failure include, for example, "timeout," "command error," "file I / O error," "network failure," "SSL error," "authentication error," "protocol error," and "error return from GitHub." The communication history information includes the serial number of the printer 2, the branch name included in the header information received in step S4, the reason for the update failure, etc.

[0046] The server program of the printer management server 3 updates the management database (management DB) based on the communication history information received by the update failure notification API (step S13). Specifically, the server program writes values ​​into each field, such as "communication history information reception time" and "reason for update failure," based on the received communication history information, in the record corresponding to the serial number of the printer 2 included in the communication history information. Next, the server program sends an update failure email generation request to the email system to notify the administrator of the printer 2 that the communication agent update could not be completed (step S17). The email system of the printer management server 3 generates an update failure email including the reason for the update failure (step S19) and sends it to the administrator terminal 5 (step S21). In this way, since the update failure email is automatically sent to the administrator terminal 5, the administrator can immediately identify and investigate the cause of the communication agent update failure.

[0047] As described above, if the printer management server 3's server program or the like is unable to update the printer 2's communication agent, it determines the communication status between the printer 2 and the version control server 4 based on the communication history information received from the communication agent. Based on the reason for the update failure contained in the communication history information, the printer management server 3's server program or the like can identify communication conditions such as "timeout," "command error," "file I / O error," "network failure," "SSL error," "authentication error," "protocol error," or "error return from GitHub," and determine whether the failure to update the communication agent was due to a communication failure. Therefore, if the printer management server 3 determines, based on the communication history information, that the reason for the update failure is a network failure, it can recognize that the latest communication agent could not be downloaded and the update was not possible due to a communication failure between the printer 2 and the version control server 4.

[0048] (II) When the communication agent update is successful (Figure 5) 5 is a sequence chart showing the process when the update of the communication agent is successful. In FIG. 5, the process of steps S2 to S8 is the same as in FIG. 5, in response to a download request received from the communication agent of printer 2, the version management server 4 transmits the latest communication agent to printer 2 (step S10). The communication agent of printer 2 updates itself based on the latest communication agent acquired from the version management server 4. After updating, the communication agent of printer 2 transmits the serial number of printer 2 and the branch name and hash value included in the header information received in step S4 to the collation API of the printer management server 3 (step S12). The collation API of the printer management server 3 transmits a header request to the version management server 4 (step S14). In response to the header request, the version management server 4 transmits the header information to the collation API of the printer management server 3 (step S16).

[0049] Next, the verification API of the printer management server 3 compares the hash value received in step S12 with the hash value included in the header information received in step S16 (step S18). Here, if the result of this comparison is OK, the server program updates the management database (step S20). In updating the management database, the server program sets the value of the "version information" field of the record corresponding to the serial number received in step S12 to the hash value for which the comparison result is OK. In other words, the management database is updated every time the communication agent of the printer 2 is updated. The verification API returns a verification OK notification to the communication agent (step S22) and also sends a verification OK notification to the authentication API (step S24). When the user of the printer 2 executes the communication agent to connect to the printer management server 3, the communication agent of the printer 2 sends an authentication request to the authentication API (step S26). Since the authentication API of the printer 2 received the verification OK notification in step S24, it returns authentication OK to the communication agent of the printer 2 (step S28). This allows the communication agent to connect to the printer management server 3.

[0050] (III) When the communication agent update fails (Figure 6) Fig. 6 is a sequence chart showing the processing when the update of the communication agent fails. In Fig. 6, the processing of steps S2 to S10 is the same as in Fig. 5, but differs from Fig. 5 in that immediately after step S10, the version management server 4 upgrades the communication agent to the latest version (step S11). As a result of the upgrade in step S11 in the version management server 4, the communication agent of the printer 2 received in step S10 becomes an older version.

[0051] The processing of steps S12 to S16 is the same as in FIG. 5. In step S18A, the verification API of the printer management server 3 verifies the hash value received in step S12 with the hash value included in the header information received in step S16. Here, due to the version upgrade of the version management server 4 in step S11, the hash value corresponding to the latest communication agent sent from the version management server 4 differs from the hash value sent in step S12, and therefore the verification fails (step S18A). The server program of the printer management server 3 updates the management database (step S20). The server program updates the management database by changing the value of the "version information" field of the record corresponding to the serial number received in step S12 to the hash value received in step S12 or a parameter indicating that the communication agent is not the latest.

[0052] The verification API of the printer management server 3 returns a verification NG notice to the communication agent of the printer 2 (step S22A) and sends a verification NG notice to the authentication API (step S24A). The server program then sends a verification NG email generation request to the mail system (step S25a), and the mail system generates a verification NG email and sends it to the administrator terminal 5 (step S25b). When sending the verification NG email, the contact information recorded in the management database is referenced. The verification NG email contains a message indicating that the current communication agent of the printer 2 is not up to date. When a user of the printer 2 runs the communication agent to connect to the printer management server 3, the communication agent of the printer 2 sends an authentication request to the authentication API of the printer management server 3 (step S26). Because the authentication API of the printer management server 3 received the verification NG notice in step S24A, it returns authentication NG to the communication agent of the printer 2 (step S28A). Therefore, the communication agent of the printer 2 cannot connect to the printer management server 3. If the administrator terminal 5 receives a verification failure email, the administrator may, for example, reset the printer 2 to its factory settings and restart it. After restarting the printer 2, the communication agent of the printer 2 will be in its factory settings, so the latest communication agent can be downloaded from the version management server 4 and updated.

[0053] (IV) Downloading an infected communication agent (Figure 7) For example, if a malicious third party contaminates the DNS (Domain Name System), the user may be directed to a repository containing malware on GitHub or a fake repository. In this case, the printer 2 may download an infected communication agent. FIG. 7 is a sequence chart showing the processing performed when an infected communication agent is downloaded. FIG. 7 differs from FIG. 5 in that the communication agent of the printer 2 sends a download request to a fake version management server (fake GitHub) (step S8A), and the printer 2 receives the infected communication agent from the fake version management server (step S10A). Thereafter, the processing in steps S12 to S16 is the same as in FIG. 5.

[0054] 7, the verification API of the printer management server 3 verifies the hash value received in step S12 with the hash value included in the header information received in step S16 (compares the hash values). In this case, the communication agent received by the printer 2 is infected and has different source code, so the hash value corresponding to the communication agent is different from the legitimate hash value included in the header information received in step S16. As a result, the verification fails (step S18A). That is, the matching API of the printer management server 3 compares the hash values ​​to determine whether the version control server that provided the communication agent to the printer 2 is the legitimate version control server 4 that provides the communication agent to be provided to the printer 2. This allows the printer management server 3 to easily determine whether the communication agent provided to the printer 2 was provided from a legitimate version control server.

[0055] Thereafter, as in the case of FIG. 6, authentication is denied (step S28A), and the communication agent of printer 2 cannot connect to the printer management server 3. That is, if the communication agent of printer 2 is not a communication agent that is provided to printer 2 by the version management server 4, the authentication API of printer management server 3 does not permit connection to printer 2. Therefore, it is possible to prevent connections from unauthorized communication agents to the printer management server 3. In this case, too, an administrator who sees the verification NG email can, for example, reset printer 2 to its factory default state and restart it. After restarting printer 2, the factory default communication agent can be updated by downloading the latest authorized communication agent from the version management server 4.

[0056] (V) When a fake communication agent is downloaded and the user is redirected to a phishing site (Figures 8 and 9) 8 and 9 are sequence charts showing the processing performed when a fake communication agent is downloaded and the user is directed to a phishing site. In FIG. 8, the communication agent of printer 2 sends a download request to a fake version management server (fake GitHub) (step S8B), and printer 2 receives the fake communication agent from the fake version management server (step S10B). The source code of the fake communication agent has been altered so that when a user of printer 2 attempts to connect to printer management server 3, the user accesses a phishing site instead of printer management server 3. The fake communication agent and the phishing site are configured so that the fake communication agent downloaded to printer 2 sends confidential information contained in printer 2 to the phishing site (step S30) and receives a normal response from the phishing site (step S32). The fake communication agent of printer 2 has been altered so that the source code corresponding to the process of accessing printer management server 3 is deleted, preventing the user from accessing printer management server 3. Therefore, the verification API of the printer management server 3 cannot verify the hash value, and there is no opportunity to send a verification failure notice to the administrator terminal 5.

[0057] 9, the server program of the printer management server 3 determines whether any of the printers 2 managed in the management database have not been connected to the printer management server 3 for a long period of time, based on the value of the last connection time recorded in the management database (step S36). Since each printer 2 normally connects to the printer management server 3 at relatively short intervals, if there is a printer 2 that has not been connected to the printer management server 3 for a predetermined period of time or longer, the server program of the printer management server 3 determines that the printer 2 has obtained a communication agent from a device other than the version management server 4.

[0058] If there is a printer that has not been connected for a long time in step S36, the server program sends a request to generate a long time unconnected email to the email system (step S38). The email system generates a long time unconnected email (step S40) and sends it to the administrator terminal 5 (step S42). The verification NG email contains a message from the communication agent indicating that the printer has not been connected to the printer management server 3 for a long time. When the administrator terminal 5 receives the long time unconnected email, the administrator can take action such as restoring the printer 2 to its factory default state and restarting it.

[0059] As described above, in the printer management system 1, when the printer 2 is started up, the printer management server 3 acquires from the printer 2 information about the communication agent that has already been provided to the printer 2 by the version management server 4 and about communication with the version management server 4 (i.e., header information and communication history information). The printer management server 3 acquires header information about the latest communication agent to be provided to the printer 2 from the version management server 4. The printer management server 3 determines the communication status between the printer 2 and the version management server 4 based on the communication history information acquired from the printer 2, the header information acquired from the printer 2, and the header information acquired from the version management server 4.

[0060] Therefore, if printer 2 cannot connect to printer management server 3, it is possible to identify the cause of the communication failure between printer 2 and printer management server 3. For example, it is possible to identify the reason for the update failure, which is due to a timeout, network failure, etc., based on the communication history information, which is information related to the communication between printer 2 and version management server 4. Also, if printer 2's communication agent is not up to date, it may not be possible to communicate with printer management server 3, but it is possible to determine whether printer 2's communication agent is up to date based on the header information.

[0061] In one embodiment, the control unit 31 determines whether the communication agent of the printer 2 is the same as the latest communication agent by comparing the header information of the communication agent of the printer 2 with the header information of the latest communication agent. This makes it easy to determine whether the communication agent of the printer 2 is the same as the latest communication agent.

[0062] In one embodiment, the header information of the printer 2's communication agent and the header information of the latest communication agent each contain a hash value for identifying the communication agent's change history. The control unit 31 compares the hash values ​​contained in each header information. This makes it possible to easily and reliably determine whether the printer 2's communication agent is the same as the latest communication agent.

[0063] Furthermore, in the printer management system 1, when the printer 2 is started up, the printer management server 3 acquires from the printer 2 header information of the communication agent provided to the printer 2, and acquires from the version management server 4 header information of the communication agent to be provided to the printer 2. By comparing the header information acquired from the printer 2 with the header information acquired from the version management server 4, the printer management server 3 can also determine whether the communication agent provided to the printer 2 is the communication agent to be provided to the printer 2 (for example, whether it is an infected or fake communication agent).

[0064] One embodiment is an information processing method executed by a printer management server 3 to manage a printer 2 and a version control server 4 that provides a communication agent for the printer 2, and includes the following steps. (I) A step of acquiring, from the printer 2 at the time of starting up the printer 2, the communication agent already provided to the printer 2 from the version management server 4 and information relating to communication with the version management server 4 (header information and communication history information). (II) Step of acquiring header information about the latest communication agent to be provided to the printer 2 from the version management server 4. (III) A step of determining whether the first software included in the header information is identical to the second software when communication between the printer 2 and the version management server 4 regarding the provision of software is successful. (IV) When communication between the printer 2 and the version management server 4 regarding the provision of software fails, a step of storing the reason for the failure in the management database based on the communication history information.

[0065] One embodiment is a program that is installed on the printer management server 3 and causes a computer to execute procedures corresponding to the above steps.

[0066] Although the embodiments of the information processing device, information processing method, and program of the present invention have been described above, the present invention is not limited to the above-described embodiments. Furthermore, the above-described embodiments can be improved or modified in various ways without departing from the spirit of the present invention.

[0067] The above-described processing by the printer management server 3, the printer 2, and the version management server 4 is merely an example. At least a portion of the processing by the printer 2 described above may be executed by the printer management server 3, or at least a portion of the processing by the printer management server 3 described above may be executed by the printer 2. At least a portion of the functions implemented by the printer 2 may be executed by the printer management server 3, or at least a portion of the functions implemented by the printer management server 3 may be executed by the printer 2. In other words, functions may be distributed as appropriate between the printer 2 and the printer management server 3. In the above-described embodiment, the printer management server 3 is described as having a management database, but this is not limited thereto; the management database may be stored in a database server provided separately from the printer management server. In this case, processing of the management database is performed in cooperation between the printer management server and the database server. [Explanation of symbols]

[0068] 1. Printer management system 2. Printer 21...Control unit 22…Storage 23…Communications Department 3...Printer management server 31...Control unit 32…Storage 33…Communications Department 4...Version control server 4 5...Administrator terminal 51...Control unit 53…Communications Department NW...Network

Claims

1. An information processing device that manages an electronic device and a software providing device that provides software to the electronic device, a first acquisition unit that acquires, from the electronic device, first information including first software that is software provided to the electronic device and information regarding communication with the software providing device; a second acquisition unit that acquires second information related to second software, which is software to be provided to the electronic device, from the software providing device; a determination unit that determines whether the first software included in the first information is identical to the second software when communication between the electronic device and the software providing device regarding the provision of software is successful; a storage unit configured to store a reason for a failure of communication between the electronic device and the software providing device in relation to the provision of software, based on information regarding the communication included in the first information, when the communication between the electronic device and the software providing device fails; An information processing device comprising:

2. each of the first information and the second information includes a hash value for identifying a modification history of the software; the determination unit determines the identity by comparing hash values ​​based on the first information and the second information. The information processing device according to claim 1 .

3. the first information includes communication history information relating to a communication history between the electronic device and the software providing device, the determination unit determines a communication status regarding the provision of software between the electronic device and the software provision device based on the communication history information.

3. The information processing device according to claim 1 or 2.

4. The determination unit If the software update by the electronic device fails, it is determined based on the communication history information whether the update failure is due to a communication failure. The information processing device according to claim 3 .

5. an authentication unit that performs authentication processing for the electronic device and permits or prohibits connection with the electronic device based on the authentication result; The authentication unit If the determination unit determines that the first software is not identical to the second software, connection with the electronic device is not permitted. The information processing device according to claim 1 .

6. The information regarding the communication included in the first information is the electronic device communicates with the software providing device at startup, acquires information about the latest software, compares the acquired latest software with the software already installed in the electronic device, and, if there is a difference, transmits information requesting the software providing device for the difference software, and the information is about communication with the software providing device after the electronic device has communicated with the software providing device. The information processing device according to claim 1 .

7. 1. An information processing method executed by an information processing device to manage an electronic device and a software providing device that provides software to the electronic device, comprising: acquiring, from the electronic device, first information including first software that is software provided to the electronic device and information regarding communication with the software providing device; acquiring second information relating to second software, which is software to be provided to the electronic device, from the software providing device; If communication between the electronic device and the software providing device regarding the provision of software is successful, determining whether the first software included in the first information is identical to the second software; When communication between the electronic device and the software providing device regarding the provision of software fails, a reason for the failure is stored in a storage unit based on information regarding the communication included in the first information. Information processing methods.

8. A program for managing an electronic device and a software providing device that provides software to the electronic device, a step of acquiring, from the electronic device, first information including first software that is software provided to the electronic device and information regarding communication with the software providing device; acquiring, from the software providing device, second information relating to second software that is software to be provided to the electronic device; a step of determining whether the first software included in the first information is identical to the second software when communication between the electronic device and the software providing device regarding the provision of software is successful; a step of storing a reason for the failure in a storage unit based on information regarding the communication included in the first information when communication between the electronic device and the software providing device regarding the provision of software fails; A program that causes a computer to execute the following.

Citation Information

Patent Citations

  • Printer, printer control method, and program

    JP2020157521A