Device management system, information processing apparatus, and information processing method

A device management system includes an information processing apparatus residing on a first network, a function providing apparatus residing on a second network and configured to provide a function to the information processing apparatus through a third network, and a log transfer apparatus residing on the first network and configured to communicate data with a providing-side device residing on the second network through a communication channel between the log transfer apparatus and the providing-side device. The information processing apparatus includes first circuitry to, in response to detecting a status in which the information processing apparatus is not able to communicate data with the function providing apparatus through the third network, generate an error log, and transmit the error log to the log transfer apparatus. The function providing apparatus includes second circuitry to acquire from the providing-side device the error log, and detect the state of the information processing apparatus.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is based on and claims priority pursuant to 35 U.S.C. § 119(a) to Japanese Patent Application Nos. 2015-197110, filed on Oct. 2, 2015, and 2016-167168, filed on Aug. 29, 2016 in the Japan Patent Office, the entire disclosures of which are hereby incorporated by reference herein.

BACKGROUND

Technical Field

The present disclosure relates to a device management system, an information processing apparatus, and an information processing method.

Description of the Related Art

Image processing apparatuses, such as printers or facsimiles that output digitized information and scanners that digitize documents, play an important role in a recent trend toward digitization of information. Multifunction peripherals (MFPs) are a typical example of such image processing apparatuses, which have multiple functions such as an imaging function, an image forming function, and a communication function to be used as a printer, a facsimile, a scanner, and a copier. Some multifunction peripherals extend their functions when operating in cooperation with a cloud server.

When the image forming apparatus such as the multifunction peripheral is in a status in which it is not able to communicate data with the cloud server due to improper communication settings and the like at the image forming apparatus, the image forming apparatus is not able to use functions provided by the cloud server.

In order to prompt the image forming apparatus to configure the proper settings, the cloud server managed by a service provider needs to recognize the error status of the image forming apparatus. However, when the image forming apparatus and the cloud server are not able to communicate data with each other, the cloud server is not able to directly recognize the error status of the image forming apparatus.

Such situation may occur not only in the image forming apparatus that uses the function provided by the cloud server but also in various devices that use functions provided through a network.

SUMMARY

A device management system includes an information processing apparatus, a function providing apparatus, and a log transfer apparatus. The information processing apparatus resides on a first network. The function providing apparatus resides on a second network and is configured to provide a function to the information processing apparatus through a third network to enable the information processing apparatus to perform the function provided by the function providing apparatus. The log transfer apparatus resides on the first network and is configured to communicate data with a providing-side device residing on the second network through a communication channel established between the log transfer apparatus and the providing-side device. The information processing apparatus includes first circuitry to, in response to detecting a status in which the information processing apparatus is not able to communicate data with the function providing apparatus through the third network, generate an error log containing information indicating a cause of the error, and transmit the error log to the log transfer apparatus. The function providing apparatus includes second circuitry to acquire from the providing-side device the error log transmitted via the communication channel between the log transfer apparatus and the providing-side device, and in response to acquiring the error log, detect that the information processing apparatus is in the state in which the information processing apparatus is not able to communicate data with the function providing apparatus through the third network.

DETAILED DESCRIPTION

An example embodiment of the present invention will be described hereinafter with reference to drawings. In this embodiment, a description is given of an example of a device management system including a function providing apparatus that provides a function with an information processing apparatus through a network. One of features of this embodiment is an operation and a configuration to enable the function providing apparatus to recognize an error status of the information processing apparatus, in which the function providing apparatus and the information processing apparatus are not able to communicate data with each other.

FIG. 1is a schematic view illustrating a configuration of the device management system according to this embodiment. As illustrated inFIG. 1, in the device management system according to this embodiment, a network A and a network B is connected via a network6. The network6is, for example, a public network such as the Internet. A multifunction peripheral (MFP)1, a log transfer apparatus2, and an MFP5are connected to the network A. A cloud server3and a log management server4are connected to the network B.

The network A is a user-side network, which is a network for a user who uses a service of the device management system according to this embodiment. The network B is a provider-side network, which is a network for a service provider. The network B and the network A are each a closed network such as a local area network (LAN). In each of the network A and the network B, a device or an apparatus is capable of communicating data with another device or apparatus in a relatively simple and secure manner.

By contrast, when devices such as the MFP1and the cloud server3that are connected to different networks communicate data with each other, a rooting setting of a router that manages the network or special setting for establishing secure communication between the devices should be configured. The device management system according to this embodiment deals with an error status in which the MFP1and the cloud server3are not able to communicate data with each other because those settings are not properly configured.

The MFP1is a multifunction peripheral including various functions such as a printer function as an image forming apparatus, a scanner function, a copier function, and a file-server function. The MFP1exchanges data with the cloud server3to use one or more functions provided by the cloud server3. Further, the MFP1according to this embodiment has a function of notifying the cloud server3of an error log detected by a self-diagnostic operation in a secure manner in a case in which the MFP1is not able to communicate data with the cloud server3. As a mode in which the MFP1uses the function of the cloud server3, the MFP1uses web applications installed on the cloud server3via a web browser of the MFP1. For example, the MFP1is configured on the premise that the MFP1is used while being connected to the cloud server3.

The MFP5is also a multifunction peripheral including various functions such as a printer function as an image forming apparatus, a scanner function, a copier function, and a file-server function. However, different from the MFP1, the MFP5is used on a stand-alone basis. When an error occurs in the MFP5, a content of the error is transmitted to the log management server4via the log transfer apparatus.

The log transfer apparatus2is an information processing apparatus capable of exchanging data with the log management server4in a secure manner through an encrypted transmission channel, which may be the virtual private network (VPN) encrypted transmission channel. Like the MFP1and the MFP5, the log transfer apparatus2is also connected to the network A. Accordingly, the log transfer apparatus2is capable of receiving data from the MFP1and the MFP5through the network A.

The cloud server3is a function providing apparatus that exchanges data with the MFP1to provide the MFP1with various functions. Further, in a case in which the MFP1is not able to communicate data directly with the cloud server3, the cloud server3according to this embodiment detects an error status of the MFP1through another path to manage the MFP1.

As described above, the log management server4exchanges data with the log transfer apparatus2in a secure manner to receive and manage log information. The log information managed by the log management server4includes log information of errors such as an error status of the MFP1and an error status of the MFP5. The log information managed by the log management server4also includes log information of usage history such as the number of sheets of paper printed out by the MFP1of the MFP5. Like the cloud server3, the log management server4is also connected to the network B. Accordingly, the log management server4is capable of exchanging data with the cloud server3via the network B.

Each of the log transfer apparatus2and the log management server4has a root certificate for verifying the certificate of the other. Accordingly, the log transfer apparatus2and the log management server4mutually authorize each other. Thus, in addition to the secure encrypted transmission channel described above, a communication channel that is highly reliable is configured between the log transfer apparatus2and the log management server4.

Hereinafter, a description is given of a hardware configuration of an information processing apparatus implementing any one of the MFP1, the MFP5, the log transfer apparatus2, the cloud server3, and the log management server4according to this embodiment.FIG. 2is a block diagram illustrating a hardware configuration of the information processing apparatus according to this embodiment.

As illustrated inFIG. 2, the information processing apparatus according to this embodiment has the similar or substantially the similar hardware configuration as that of a typical server or a typical personal computer. Specifically, the information processing apparatus according to this embodiment includes a central processing unit (CPU)10, a random access memory (RAM)20, a read only memory (ROM)30, a hard disc drive (HDD)40, and an interface (I/F)50, which are connected to one another via a bus90. In addition, the information processing apparatus includes a liquid crystal display (LCD)60, an operation unit70, and an engine80, which are connected to the I/F50.

The CPU10is a processor, which controls an entire operation of the information processing apparatus. The RAM20is a high-speed read/write volatile storage medium. The CPU10uses the RAM20as a work area in processing data. The ROM30is a read-only non-volatile storage medium that stores programs such as firmware. The HDD40is a read/write non-volatile storage medium that stores an operating system (OS), various control programs, and application programs.

The I/F50connects the bus90to various hardware resources or a network for control. The LCD60is a visual user interface that allows a user to recognize a status of the information processing apparatus. The operation unit70is a user interface that allows a user to input data to the information processing apparatus. The engine80is hardware such as a printer engine and a scanner engine dedicated to the MFP1or the MFP5. Note that the cloud server3and the log management server4each operate as a server. Accordingly, in the cloud server3or the log management server4, the user interface such as the LCD60and the operation unit70, and the engine80may be omitted.

With this hardware configuration, the CPU10executes processing according to a program that is stored in the ROM30, the HDD40or a recording medium such as an optical disc and loaded to the RAM20to function as a software controller. The software controller operates in cooperation with hardware to implement one or more functional blocks of the information processing apparatus such as the MFP1and the cloud server3as illustrated inFIGS. 6 and 7.

FIG. 3is a schematic diagram illustrating a network connection status of each apparatus or device constituting the device management system according to this embodiment. When the device management system operates normally, the MFP1, the log transfer apparatus2, and the MFP5respectively exchange data with the cloud server3, the log management server4, and the log transfer apparatus2, as illustrated inFIG. 3. Each of the data communications is performed in a secure manner while encrypted with the VPN and the like as described above. In this network connection status, for example, when an error due to the abnormality of the scanner engine or the printer engine occurs in the MFP1, the MFP1transmits a content of the error to the cloud server3. Accordingly, the cloud server3recognizes the content of the error occurred in the MFP1. Examples of the error due to the abnormality of the scanner engine or the printer engine include a paper jam, an out-of-paper, and an out-of-toner. By contrast, when the similar error occurs in the MFP5, the MFP5transmits the content of the error to the log transfer apparatus2. The log transfer apparatus2transmits the content of the error received from the MFP5to the log management server4.

By contrast, the device management system according to this embodiment deals with the error status in which, as illustrated inFIG. 4, the MFP1and the cloud server3are not be able to directly communicate data with each other due to improper communication settings at the MFP1. The error status as illustrated inFIG. 4is caused by, for example, improper communication settings such as improper proxy settings in the MFP1. Further, this error status occurs because necessary software is not installed on the MFP1, for example.

FIG. 5is a schematic diagram illustrating a communication channel configured to enable the cloud server3to detect the above-described error status. As illustrated inFIG. 5, the MFP1exchanges data with the log transfer apparatus2via the network A to notify the log transfer apparatus2of the error log.

As described above, the MFP1and the log transfer apparatus2are both connected to the network A. Accordingly, even when the MFP1is not able to communicate data with the cloud server3due to the improper communication settings, the MFP1is still able to communicate data with the log transfer apparatus2. In this case, to enhance information security of the error log, the MFP1verifies the log transfer apparatus2as a communication destination when the MFP1transmits the error log to the log transfer apparatus2.

The log transfer apparatus2transmits the error log received from the MFP1to the log management server4through the above-described secure communication. The log management server4stores the error log transmitted from the log transfer apparatus2in a storage medium such as the HDD40for to manage the error log. The cloud server3periodically monitors the error log managed in the log management server4. In response to detecting at least one new error log stored in the log management server4, the cloud server3acquires the new error log.

Thus, the device management system according to this embodiment notifies the network B side of the error log through the secure communication between the log transfer apparatus2and the log management server4when the MFP1and the cloud server3are not able to communicate data with each other. Accordingly, the cloud server3recognizes the error status of the MFP1.

Hereinafter, a description is given of a configuration of the MFP1implementing functions according to this embodiment with reference toFIG. 6. As illustrated inFIG. 6, the MFP1includes a communication controller100, which is implemented by the CPU10when executing the program loaded to the RAM20, to communicate data with external devices via a network interface (I/F)110of the MFP1. The communication controller100includes a security check unit101, an error log processor102, and a communication processor103.

The security check unit101is implemented by the CPU10when executing the program loaded to the RAM20. When the MFP1is activated, the security check unit101, checks a status and a communication function of the MFP1, and a communication status between the MFP1and the cloud server3. The security check unit101generates the error log based on the check result, and stores the generated error log. This error log is transferred to the log transfer apparatus2.

The error log processor102is implemented by the CPU10when executing the program loaded to the RAM20. The error log processor102attaches an electronic signature to the error log generated by the security check unit101, and encrypts the error log. The error log processor102has information of a secrete key for the electronic signature of the MFP1and a public key of the cloud server3, which may be previously stored in its internal memory.

The communication processor103is implemented by the CPU10when executing the program loaded to the RAM20. The communication processor103performs control for enabling the MFP1to communicate data with external devices. The communication processor103establishes a communication channel between the MFP1and the cloud server3, in a case in which the MFP1operates as intended. Further, the MFP1according to this embodiment authenticates the log transfer apparatus2when the MFP1communicates data with the log transfer apparatus2. The communication processor103has the root certificate of the log transfer apparatus2, which may be previously stored in its internal memory.

FIG. 7is a block diagram illustrating a configuration of the cloud server3implementing functions according to this embodiment. As illustrated inFIG. 7, the cloud server3includes a device management controller300, which is implemented by the CPU10when executing the program loaded to the RAM20, to communicate data with external devices via a network I/F310. The device management controller300includes a device management unit301, a log monitoring unit302, and a communication processor303.

The device management unit301is implemented by the CPU10when executing the program loaded to the RAM20. The device management unit301recognizes and manages the error status of the MFP1in the cloud server3. According to this embodiment, the device management unit301acquires the error log generated in the MFP1.

The log monitoring unit302monitors the management status of the error log in the log management server4via the network B. When a new error log is stored in the log management server4, the log monitoring unit302acquires the new error log via the network B. In response to acquiring the new error log, the log monitoring unit302decrypts the encrypted data and also verifies the electronic signature attached to the data. For this reason, the log monitoring unit302has information of a secrete key of the cloud server3and a public key of the MFP1.

The communication processor303is implemented by the CPU10when executing the program loaded to the RAM20. The communication processor303performs control for enabling the cloud server3to communicate data with external devices. The communication processor303establishes a communication channel between the MFP1and the cloud server3, in a case in which the MFP operates as intended. For this reason, the communication processor303has the root certificate of the MFP1.

Hereinafter, a description is given of example operations of the device management system according this embodiment. First, a description is given of an operation of checking an error by the security check unit101of the MFP1with reference toFIG. 8. As illustrated inFIG. 8, the security check unit101firstly checks a firmware (S801). Specifically, at S801, the security check unit101performs an electronic signature verification with a security chip, Trusted Platform Module (TPM) to check the tampering of the firmware.

Next, the security check unit101verifies an application program interface (API) group (S802). Specifically, at S802, the security check unit101performs the electronic signature verification with a security chip, Trusted Platform Module (TPM) to check the tampering of the API group.

Further, the security check unit101verifies a browser (S803). Specifically, at S803, the security check unit101performs a signature verification with a root certificate of an application distribution server to check the tampering of the browser.

Furthermore, the security check unit101checks the communication channel (S804). Specifically, at S803, the security check unit101authenticates a server with a server certificate, authenticates a client with a client certificate, and checks an encrypted channel with the transport layer security (TLS), for example.

Next, the security check unit101verifies web contents (S805). Specifically, at S805, the security check unit101performs a signature verification with the root certificate of the application distribution server to check the tampering of the web contents.

At a timing when the check result at any one of S801to S805indicates an error, the security check unit101generates an error log indicating a content of the check. The error log includes a date when the error has been detected, an identifier that identifies the MFP1in which the error has occurred, and an error identifier indicating the content of error. When the check at any one of S801to S805results in error, the MFP1is in the error status, in which the MFP1is not able to communicate data with the cloud server3.

Hereinafter, a description is given of an operation performed by the device management system when the error log is generated with reference toFIG. 9. As illustrated inFIG. 9, when the MFP1generates the error log (S901), the error log processor102attaches the electronic signature to the error log (S902). Further, the error log processor102encrypts the error log (S903).

Specifically, at S902, the error log processor102performs the electronic signature with the secrete key of the MFP1and attaches the public key for the verification of the electronic signature at the cloud server3. Thus, even in a case in which the cloud server3is not capable of acquiring data from the MFP1, the cloud server3is able to verify the electronic signature of the MFP1. Further, at S903, the error log processor102encrypts the error log with the public key of the cloud server3. Thus, the error log is encrypted such that only the cloud server3decrypts the error log.

After the attachment of the electronic signature to the error log and the encryption of the error log, the communication processor103requests the log transfer apparatus2to build the communication channel (S904). In response to receiving the request for building the channel from the MFP1, the log transfer apparatus2sends the electronic certificate of the log transfer apparatus2(S905). In response to receiving the electronic certificate from the log transfer apparatus2, the communication processor103of the MFP1authenticates the log transfer apparatus2with the root certificate of the log transfer apparatus2(S906).

After the communication channel is built between the MFP1and the log transfer apparatus2based on the verification at S906, the MFP1transmits, to the log transfer apparatus2, the error log to which the electronic signature has been attached and the encryption has been performed (S907). In response to receiving the error log from the MFP1, the log transfer apparatus2transfers the error log through the encrypted transmission channel between the log transfer apparatus2and the log management server4(S908). Thus, the error log of the MFP1is stored in the log management server4.

In the cloud server3, as described above, the log monitoring unit302monitors the error log stored in the log management server4via the network B. Accordingly, when a new error log is stored in the log management server4, the cloud server3acquires the new error log from the log management server4(S909). For example, the cloud server3retrieves the error log from the log management server4with the identifier of the MFP1included in the error log. Alternatively, for example, the MFP1attaches an identifier of the cloud server3as a connection destination to the error log, and the cloud server3retrieves the error log from the log management server4with the identifier of the cloud server3. When the cloud server3acquires the new error log, the log monitoring unit302decrypts the acquired new error log with the secrete key of the cloud server3(S910). Further, the log monitoring unit302verifies the electronic signature with the public key of the MFP1(S911).

The log monitoring unit302provides the device management unit301with the decrypted and verified error log. Thus, the device management unit301detects the device error of the MFP1(S912). Thus, the operation of detecting the error status of the MFP1by the device management system according to this embodiment ends.

When the MFP1requests the log transfer apparatus2to build the communication channel at S904, the MFP1needs to perform this operation of transmitting the request while recognizing the log transfer apparatus2. Hereinafter, a description is given of an operation of recognizing the log transfer apparatus2to transmit the request for building the communication channel. First, the communication processor103acquires a list of IP addresses existing in the LAN with the Ping command (S1001).

Next, the communication processor103acquires a media access control (MAC) address of each of the IP addresses acquired with the Ping command with the address resolution protocol (ARP) (S1002). Further, after the acquisition of the MAC addresses at S1002, the communication processor103selects one of the acquired MAC address and acquires an organizationally unique identifier (OUI) of the selected MAC address (S1003).

The communication processor103stores, in advance, the OUI of a vendor of a target device with which the communication channel is to be built, in order to identify the log transfer apparatus2to which the error log is to be transferred. The communication processor determines whether the OUI acquired at S1003matches with the OUI stored in advance. When the determination indicates that the OUI does not match the OUI of the target vendor stored in advance (S1004: NO), the operation returns to S1003to repeat the processing of S1003.

By the contrast, when the OUI acquired at S1003matches with the OUI of the target vendor stored in advance (S1004: YES), the communication processor103transmits the request for building the communication channel as at S904to the IP address corresponding to the OUI (S1005). In response to receiving the server certificate from the device (the log transfer apparatus2) to which the request for building the communication channel is transmitted, the MFP1verifies the certificate for server authentication. When the server authentication has succeeded (S1006: YES), the channel is built between the MFP1and the log transfer apparatus, and the processing ends. By contrast, when the server authentication has failed (S1006: NO), the processing returns to S1003to repeat the processing from S1003.

Hereinafter, a description is given of an operation performed by the device management system when the cloud server3detects the device error as at S912.FIG. 11is a flowchart illustrating an operation by the device management system in a case in which the improper proxy settings at the MFP1causes the error status. As illustrated inFIG. 11, in response to detecting the error, the device management unit301instructs the log management server4to take measures against the error in accordance with the error identifier contained in the error log. Specifically, the device management unit301transmits, to the log management server4, an instruction to change settings indicating an instruction to configure proxy settings (S1101).

The instruction transmitted at S1101includes the identifier of the target device, i.e., the MFP1on which the setting change is to be performed as well as the information indicating the content of the measures against the error such as the instruction to configure the proxy settings as described above. These information items are used as an instruction to take measures against the error in accordance with the content of error log.

The log management server4stores the new instruction to change the settings transmitted from the cloud server3. Further, the log management server4transfers the instruction to the log transfer apparatus2(S1102). At S1102, in the same or substantially the same manner as S908ofFIG. 9, the log management server4transfers the instruction to change the settings through the encrypted transmission channel between the log transfer apparatus2and the log management server4.

In response to receiving the instruction to change the settings indicating the instruction to configure the proxy settings, the log transfer apparatus2acquires the proxy settings of the log transfer apparatus2itself as a setting content of the proxy (S1103). In this embodiment, the same service provider is assumed to provide the cloud server3and the log management server4.

Because the log transfer apparatus2and the log management server4are able to communicate data with each other through the encrypted transmission channel, there is a high possibility that the communication between the MFP1and the cloud server3that resides on the network B is established with the same proxy settings as those of the log transfer apparatus2. Accordingly, the log transfer apparatus2acquires the proxy settings of the log transfer apparatus2itself to transmit the proxy setting to the MFP1.

After acquiring the proxy settings, the log transfer apparatus2acquires a destination to which the log transfer apparatus2transmits the proxy setting (S1104). Specifically, as S1104, the log transfer apparatus2acquires information of the destination based on the identifier of the device included in the instruction to change the settings. In a case in which an IP address is used as the identifier of the device, the identifier of the device is used as the transmission destination.

Alternatively, when the log transfer apparatus2receives the error log from the MFP1at S907ofFIG. 7, the log transfer apparatus2may store the IP address of the MFP1from which the error log is transmitted in association with the device identifier. In this case, at S1104ofFIG. 11, the log transfer apparatus2acquires, as the transmission destination, the IP address associated with the device identifier included in the instruction to change the settings based on the information associating the IP address with the device identifier.

After acquiring the destination to which the instruction to change the settings is to be transmitted, the log transfer apparatus2transmits the proxy settings received at S1103to the destination (S1105). In response to receiving the proxy settings from the log transfer apparatus, the communication processor103of the MFP1reflects the proxy settings (S1106), and restarts the communication function (S1107).

This restart of the communication function causes the security check unit101of the MFP1to perform the check operation described above with reference toFIG. 8again. In a case in which the MFP1and the cloud server3become able to communicate data with each other with the proxy settings reflected at S1106, the MFP1accesses the cloud server3(S1108). In response to accepting the access from the MFP1, the device management unit301of the cloud server3detects the restoration of the MFP1(S1109). Then, the device management unit301deletes the error log. Thus, the operation of restoring the communication between the cloud server3and the MFP1according to this embodiment ends.

FIG. 12is a flowchart illustrating an operation performed by the device management system in a case in which the error status is caused due to improper settings of applications in the MFP1or the lack of installation of necessary application in the MFP1. As illustrated inFIG. 12, in response to detecting the error, the device management unit301instructs the log management server4to take measures against the error in accordance with the error identifier contained in the error log. Specifically, the device management unit301transmits, to the log management server4, an instruction to change settings indicating an instruction to update the application (S1201).

The instruction transmitted at S1201includes the identifier of the target device, i.e., the MFP1on which the setting change is to be performed as well as the information indicating the content of the measures against the error such as the instruction to updating the application as described above.

The log management server4stores the new instruction to change the settings transmitted from the cloud server3. Further, the log management server4transfers the instruction to the log transfer apparatus2(S1202). At S1202, in the same or substantially the same manner as S908ofFIG. 9, the log management server4transfers the instruction to change the settings through the encrypted transmission channel between the log transfer apparatus2and the log management server4.

In response to receiving the instruction to change the settings indicating the instruction to update the application, the log transfer apparatus2downloads data of the application to be updated from an application management server (S1203). After downloading the application data of the target of update, the log transfer apparatus2acquires the destination to which the log transfer apparatus2transmits the application data in the same of the substantially same manner as S1104(S1204).

After acquiring the destination to which the instruction to change the settings is to be transmitted, the log transfer apparatus2transmits the application data downloaded at S1203to the destination (S1205). In response to receiving the application data, a service that manages installing applications performs an installation processing of the application to reflect the application data (S1206). After the application data is reflected, the service that manages applications restarts the function of managing the application.

This restart of the application management function causes the security check unit101of the MFP1to perform the check operation described above with reference toFIG. 8again. In a case in which the MFP1and the cloud server3become able to communicate data with each other with the update of the application at S1206, the MFP1accesses the cloud server3(S1208). After S1208, the same or substantially the same processing asFIG. 11is performed. Thus, the operation of restoring the communication between the cloud server3and the MFP1according to this embodiment ends.

As described heretofore, in a case in which the MFP1and the cloud server3are not able to communicate data with each other, the device management system according to this embodiment notifies the cloud server3of the error log through the encrypted transmission channel between the log transfer apparatus2and the log management server4. Accordingly, in a status in which the function providing apparatus and the information processing apparatus that is provided with the function by the function providing apparatus are not able to communicate data directly with each other, the function providing apparatus is able to recognize such status. Further, the data communication is performed through the encrypted transmission channel between the log transfer apparatus2and the log management server4, the information security of the error log is maintained.

In the embodiment described heretofore, a description is given of an example case in which the error log is transmitted to the log transfer apparatus2that communicates data with the log management server4through the encrypted transmission channel, the log management server4being connected to the network B, and the error log is transmitted to the cloud server3via the log management server4. In other words, a description is given heretofore of an example case in which the log management server4is a providing-side device, which is a device that resides on the same network B as the function providing apparatus (cloud server3). Alternatively, the encrypted communication channel may be established between the log transfer apparatus2and the cloud server3. In this case, the error log may be transmitted from the log transfer apparatus2directly to the cloud server3. In this case, the cloud server3functions as the providing-side device.

In other words, in the device management system according to this embodiment, when the error log is generated, the error log is transmitted to an apparatus having a communication path connected to a device residing on the network B to which the cloud server3is connected. Further, the error log is transmitted to the cloud server3via the communication path that the apparatus has.

Hereinafter, a description is given of an operation performed by the MFP1according to the above-described embodiment with reference toFIG. 13. As described heretofore, multiple types of error occur in an operation of the MFP1. Examples of the types of error include an error in the scanner engine or the printer engine of the MFP1. The MFP1detects an occurrence of error indicating an abnormal operation, including the error in the scanner engine or the printer engine and a communication error (S1301). The MFP1determines whether the error detected at S1301is the communication error. When the MFP1determines that the error detected at S1301is the error due to the abnormality of the scanner engine or the printer engine (S1302: NO), the MFP transmits the content of the error to the cloud server3(S1310).

By contrast, when the MFP1determines that the error detected at S1301in the communication error (S1302: YES), the communication processor103of the MFP1requests the log transfer apparatus2to build the communication channel (S1303).

The transmission of the request for building the communication channel at S1303is performed in the same or substantially the same manner as S904described above. In other words, when the MFP1requests the log transfer apparatus2to build the communication channel at S1303, the MFP1needs to perform this operation of transmitting the request while recognizing the log transfer apparatus2. For this reason, the communication processor103acquires the list of IP addresses existing in the LAN (network A) with the Ping command. Further, the communication processor103acquires the MAC address of each of the acquired IP addresses with the ARP. Subsequently, the communication processor103selects one of the acquired MAC addresses, and acquires the OUI of the selected MAC address. Further, the communication processor103determines whether the acquired OUI matches with the OUI stored in advance by the communication processor103. When the determination indicates that the OUI does not match the OUI of the target vendor, the communication processor103repeats the processing from the acquisition of the OUI. By the contrast, when the acquired OUI matches with the OUI of the target vendor, the communication processor103transmits the request for building the communication channel to the IP address corresponding to the OUI.

Subsequently, the communication processor103determines whether the communication processor103receives a response to the request for building the communication channel transmitted at S1303from the log transfer apparatus2(S1304). Specifically, the communication processor103determines whether the electronic certificate of the log transfer apparatus2is transmitted to determine whether the response is received from the log transfer apparatus2. When the communication processor103determines that the response is not received from the log transfer apparatus2(S1304: NO), this operation ends. By contrast, when the communication processor103receives the electronic certificate from the log transfer apparatus2(S1304: YES), the communication processor103verifies the log transfer apparatus2using the root certificate of the log transfer apparatus2(S1305). The MFP1connects to the log transfer apparatus2.

After the communication channel is built between the MFP1and the log transfer apparatus2based on the verification at S1305, the MFP1transmits, to the log transfer apparatus2, the error log to which the electronic signature has been attached and the encryption has been performed (S1306).

After transmitting the error log to the log transfer apparatus2at S1306, the MFP1keeps waiting until the MFP1receives restoration information from the log transfer apparatus2(S1307: NO). This restoration information includes the instruction to change the settings for changing the proxy settings at the MFP1, and the application data of the update target based on the instruction to change the settings indicating the update of the application.

In response to receiving the restoration information from the log transfer apparatus2(S1307: YES), the communication processor103performs a restoration processing of reflecting the restoration information (S1308). Specifically, in a case in which the restoration information received from the log transfer apparatus2is the proxy settings, the communication processor103reflects the proxy settings at S1308. Alternatively, in a case in which the restoration information received from the log transfer apparatus2is the application data, the service that manages installing applications performs an installation processing of the application to reflect the application data at S1308. After reflecting the proxy settings at S1308, the communication processor103restarts the communication function. Alternatively, after reflecting the application data at S1308, the service that manages applications restarts the function of managing the application.

This restart of the communication function or the application management function causes the security check unit101of the MFP1to perform the check operation described above with reference toFIG. 8again. In a case in which the MFP1and the cloud server3become able to communicate data with each other with the proxy settings reflected at S1308or with the application updated at S1308, the MFP1accesses the cloud server3(S1309).

Thus, the operation of transmitting the error log that is generated when the error occurs in the MFP1to the cloud server3ends. In response to accepting the access from the MFP1, the device management unit301of the cloud server3detects the restoration of the MFP1, and deletes the error log.

As described heretofore, according to this embodiment, even in a case in which the MFP1as the apparatus that uses function provided by the function providing apparatus is in a status in which it is not able to communicate data with the cloud server3as the function providing apparatus, the cloud server3is able to recognize the status of the MFP1.

Each of the functions of the described embodiments may be implemented by one or more processing circuits or circuitry. Processing circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), DSP (digital signal processor), FPGA (field programmable gate array) and conventional circuit components arranged to perform the recited functions.