Communication devices and computer programs for communication devices

The communication device addresses the issue of character code handling in MIB values by converting between UTF and non-UTF formats, ensuring secure and efficient processing through HTTPS commands.

JP7865135B2Active Publication Date: 2026-05-26BROTHER KOGYO KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
BROTHER KOGYO KK
Filing Date
2022-07-29
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing communication devices do not consider character codes during processing, leading to inefficiencies in handling MIB values with different encoding formats.

Method used

The communication device includes a conversion mechanism to convert MIB values between UTF and non-UTF formats, ensuring appropriate handling and storage based on language settings and type, using HTTPS commands for secure communication.

Benefits of technology

Enables secure and efficient processing of MIB values by converting between UTF and non-UTF formats, enhancing compatibility and security in communication protocols.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007865135000001
    Figure 0007865135000001
  • Figure 0007865135000002
    Figure 0007865135000002
  • Figure 0007865135000003
    Figure 0007865135000003
Patent Text Reader

Abstract

To provide a communication device that can appropriately execute processing in consideration of character codes.SOLUTION: A communication device may include: a memory that stores, for each of a plurality of OIDs of an MIB, management information in which the OID is associated with a setting value; a setting command receiving unit that receives a setting command in accordance with TCP of the transport layer of the OSI reference model from a terminal device, in which the setting command includes a first OID and a first value written in UTF; a first conversion unit that converts the first value included in the setting command into a second value written in non-UTF when the setting command is received from the terminal device; and a writing unit that writes the converted second value into the management information in association with the first OID included in the setting command.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification discloses a technology related to a communication device that stores management information in which an OID (abbreviation for Object ID) and a set value are associated with each other.

Background Art

[0002] Patent Document 1 discloses that a PC acquires device information corresponding to an OID (abbreviation for Object ID) of a MIB (abbreviation for Management Information Base) from an office device according to HTTP (abbreviation for Hyper Test Tranfer Protocol).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the above technology, no consideration is given to character codes. This specification discloses a communication device that can appropriately execute processing in consideration of character codes.

Means for Solving the Problems

[0005] The communication device disclosed herein may include: a memory that stores management information associated with a setting value for each of a plurality of OIDs (Object IDs) of a MIB (Management Information Base); a setting command receiving unit that receives a setting command from a terminal device in accordance with TCP (Transmission Control Protocol) of the transport layer of the OSI (Open Systems Interconnection) reference model, wherein the setting command includes a first OID and a first value written in UTF (Unicode Transformation Format); a first conversion unit that converts the first value included in the setting command into a second value written in non-UTF when the setting command is received from the terminal device; and a writing unit that writes the converted second value to the management information in association with the first OID included in the setting command.

[0006] According to the above configuration, the communication device converts the first value, which is written in UTF, to a second value, which is written in a non-UTF, associates it with the first OID, and writes the second value to the management information. Therefore, the communication device can appropriately perform the writing process while taking the character encoding into consideration.

[0007] The communication device disclosed herein may include: a memory that stores management information associated with a setting value for each of a plurality of OIDs (Object IDs) of a MIB (Management Information Base); an acquisition command receiving unit that receives an acquisition command from a terminal device in accordance with TCP (Transmission Control Protocol) of the transport layer of the OSI (Open Systems Interconnection) reference model, wherein the acquisition command includes a second OID; an acquisition unit that, when the acquisition command is received from the terminal device, acquires a third value associated with the second OID included in the acquisition command from the management information in the memory, the third value which is written in non-UTF (Unicode Transformation Format); a second conversion unit that converts the acquired third value into a fourth value written in UTF; and a response command sending unit that sends a response command including the converted fourth value to the terminal device.

[0008] According to the above configuration, the communication device converts the third value, which is written in non-UTF, to a fourth value, which is written in UTF, and sends a response command containing the fourth value to the terminal device. Therefore, the communication device can appropriately perform response processing while taking the character encoding into consideration.

[0009] The computer program for realizing the above-mentioned communication device, and the computer-readable storage medium for storing the computer program, are both novel and useful. Furthermore, the method executed by the above-mentioned communication device is also novel and useful. [Brief explanation of the drawing]

[0010] [Figure 1] This shows the configuration of the communication system. [Figure 2] A flowchart of the command processing is shown. [Figure 3] A flowchart of the POST process is shown. [Figure 4] A flowchart of the GET process is shown. [Figure 5] This shows a sequence diagram for the case of communicating POST commands. [Figure 6] Examples of POST commands and response commands are shown below. [Figure 7] This shows a sequence diagram for the case of communicating using the GET command. [Figure 8] Examples of GET commands and response commands are shown below. [Modes for carrying out the invention]

[0011] (First embodiment) (Configuration of communication system 2; Figure 1) As shown in Figure 1, the communication system 2 comprises a printer 10 and a terminal device 100. Each device 10 and 100 is connected to a LAN (Local Area Network) 6 and can communicate with each other via the LAN 6. The LAN 6 may be a wired LAN or a wireless LAN. The terminal device 100 is a user terminal such as a desktop PC, notebook PC, tablet PC, or mobile phone (e.g., a smartphone). In this embodiment, the printer 10 writes or transmits setting values ​​in response to request commands (i.e., POST commands or GET commands described later) from the terminal device 100.

[0012] (Printer 10 configuration) The printer 10 is a peripheral device (for example, a peripheral device of terminal device 100) capable of performing printing functions. In a modified example, the printer 10 may be a multi-function device capable of performing scanning functions, fax functions, etc., in addition to printing functions. The printer 10 comprises an operation unit 12, a display unit 14, a LAN interface 16, a print execution unit 18, and a control unit 30. Each of the units 12 to 30 is connected to a bus line (not shown).

[0013] The control unit 12 is equipped with multiple keys. By operating the control unit 12, the user can input various instructions to the printer 10. The display unit 14 is a display that shows various information. The display unit 14 also functions as a so-called touch panel (i.e., a control unit that accepts user input). The LAN interface 16 is connected to LAN 6. The print execution unit 18 is equipped with a printing mechanism such as an inkjet or laser printer.

[0014] The control unit 30 includes a CPU 32, a non-volatile memory 34A, and a volatile memory 34B. The CPU 32 performs various processes according to the program 36 stored in the non-volatile memory 34A. The non-volatile memory 34A is a memory in which stored information is not erased even when the printer 10 is turned off. In addition to the program 36, the non-volatile memory 34A stores a management table 38, a decision list 40, a language setting 42, a language table 44, and multiple code tables 46. The volatile memory 34B is a memory in which stored information is erased when the printer 10 is turned off. The volatile memory 34B temporarily stores information necessary for the CPU 32 to perform processes.

[0015] The management table 38 is a table for storing various information about the printer 10. This information includes, for example, the remaining amount of consumables, MAC address, name (i.e., username), and IP address of the printer 10. Information not illustrated in Figure 1 also includes, for example, the installation location, access destination, error history, status (printing in progress, waiting, etc.), and print settings (e.g., default print resolution). The management table 38 stores the above various information using a tree structure (i.e., a hierarchical structure). This collection of various information with a tree structure is called "MIB (abbreviation for Management Information Base)".

[0016] Specifically, the management table 38 stores by associating the content, OID (abbreviation of Object ID), type, and MIB value. The content is a character string indicating the meaning of the information. The OID is an identifier for identifying the information. The type indicates the type of the MIB value. The MIB value indicates the specific value (i.e., the set value) of the information.

[0017] In the management table 38, many MIB values are described by the UTF-8 character code. UTF-8 is abbreviated as Unicode Transformation Format-8 in Unicode and as UCS Transformation Format 8 in ISO / IEC 10646. Hereinafter, UTF-8 will be simply referred to as "UTF". When the type of the MIB value is integer (i.e., integer) or hex string (i.e., hexadecimal), the MIB value is described by UTF. For example, the MIB value "80" corresponding to the remaining amount of consumables is described as "38 30" in UTF. When the type of the MIB value is string (i.e., character string), the MIB value may be described by UTF or by a character code different from UTF (hereinafter simply referred to as "non-UTF").

[0018] As described above, in the management table 38, some MIB values are described by non-UTF. This is based on the perspective of maintaining compatibility with various printers that have existed conventionally. In the example of FIG. 1, the MIB value corresponding to the name means a character string consisting of three Portuguese characters. The three characters include a character with cedilla attached to "C", a character with grave accent attached to "E", and a character with acute accent attached to "E". The MIB value indicating such a Portuguese character string is described by ISO8859-1, which is the non-UTF character code corresponding to Portuguese. For example, the above three characters are described as "C7 C8 C9" in ISO8859-1.

[0019] Non-UTF is not limited to ISO8859-1, and further includes ISO8859-2, ISO8859-3, and ISO8859-5. That is, in this embodiment, non-UTF is an ISO8859 character code, or in other words, an 8-bit character code. Which non-UTF the MIB value in the management table 38 is described in depends on the language setting 42 of the printer 10.

[0020] The determination list 40 is a list for determining whether the MIB value in the management table 38 is described in UTF or non-UTF. The information in the determination list 40 is predetermined by the vendor of the printer 10. The determination list 40 includes a plurality of OIDs. Each of these OIDs is an OID corresponding to the MIB value described in non-UTF. That is, the determination list 40 does not include the OID corresponding to the MIB value described in UTF. Therefore, it is possible to suppress the increase in the capacity of the determination list 40.

[0021] The language setting 42 is the language setting of the printer 10 and is usually specified by the user when the printer 10 is started for the first time. In this embodiment, any one of various languages such as English, Portuguese, Czech, Japanese, etc. is specified as the language setting 42.

[0022] The language table 44 indicates the non-UTF corresponding to each of various languages. For example, the non-UTF corresponding to English, German, Portuguese, etc. is ISO8859-1, and the non-UTF corresponding to Czech, Hungarian, etc. is ISO8859-2. Although not shown in FIG. 1, the non-UTF corresponding to Turkish, etc. is ISO8859-3, and the non-UTF corresponding to Russian, etc. is ISO8859-5. In this embodiment, Japanese, Chinese, and Korean are described in UTF. Therefore, Japanese, etc. do not exist in the language table 44.

[0023] The code table 46 includes a UTF code table and a non-UTF code table. The non-UTF code table includes code tables such as ISO8859-1, ISO8859-2, ISO8859-3, etc.

[0024] (Communication protocol between printer 10 and terminal device 100) A widely known communication protocol for communicating MIB values ​​between the printer 10 and the terminal device 100 is one that follows UDP (User Datagram Protocol) of the transport layer of the OSI (Open Systems Interconnection) reference model. Specifically, SNMP (Simple Network Management Protocol) is a well-known example. The inventors have created a communication protocol for communicating MIB values ​​that follows TCP (Transmission Control Protocol) of the transport layer of the OSI reference model, instead of UDP. Specifically, they have created a protocol that uses HTTPS (Hyper Text Transfer Protocol Secure). HTTPS employs user authentication and data encryption, thus offering higher security than SNMP. This prevents third parties from illegally writing or obtaining MIB values ​​from the printer 10.

[0025] The terminal device 100 can write MIB values ​​to the printer 10 using the HTTPS POST command and retrieve MIB values ​​from the printer 10 using the HTTPS GET command. Typically, HTTPS commands and their response commands use general-purpose formats such as JSON (Java Script Object Notation) and XML (Extensible Markup Language). In these general-purpose formats, information is written using UTF-8. Therefore, in this embodiment, communication between the printer 10 and the terminal device 100 is performed using HTTPS commands and their response commands, which have a JSON format in which information is written using UTF-8. In a modified example, the XML format may be used instead of the JSON format. Even in this case, communication is performed using HTTPS commands and their response commands in which information is written using UTF-8.

[0026] As described above, the management table 38 of the printer 10 can store MIB values ​​written in non-UTF format based on ISO8859, in order to maintain compatibility. Therefore, in this embodiment, the printer 10 performs conversion of MIB values ​​between UTF and non-UTF, stores the MIB values ​​in the management table 38, and communicates HTTPS commands with the terminal device 100. To achieve this, the printer 10 performs the processes shown in Figure 2 and later.

[0027] (Printer 10 command processing: Figure 2) Referring to Figure 2, the command processing performed by the CPU 32 of the printer 10 will be explained. The processing shown in Figure 2 is executed when the printer 10 is powered on.

[0028] In S10, the CPU 32 monitors for the reception of HTTPS commands from the terminal device 100. If the CPU 32 receives an HTTPS command from the terminal device 100, it determines YES in S10 and proceeds to S12.

[0029] In S12, the CPU 32 determines whether user authentication was successful or not. Specifically, the CPU 32 sends a response command to the terminal device 100 indicating that user authentication has not yet been successful (i.e., Unauthorized) in response to the HTTPS command received in S10. The CPU 32 then receives an HTTPS command containing authentication information (e.g., user password) from the terminal device 100 and determines whether the authentication information contained in the HTTPS command matches the authentication information stored in the printer 10. If these authentication information matches, the CPU 32 sends a response command indicating successful authentication to the terminal device 100, determines YES in S12, and proceeds to S14. In this way, the writing and transmission of MIB values ​​are performed conditionally on successful user authentication, thus enhancing the security of the printer 10. On the other hand, if these authentication information do not match, the CPU 32 determines NO in S12 and terminates the process shown in Figure 2.

[0030] In S14, the CPU 32 performs an encryption key exchange with the terminal device 100. As a result, information within HTTPS commands and response commands is encrypted in subsequent communications between the printer 10 and the terminal device 100 (e.g., S20, S150 in Figure 3, S250 in Figure 4). Since the information within the commands is encrypted in this way, the security of the printer 10 can be enhanced.

[0031] In S20, the CPU 32 monitors for the reception of an HTTPS command from the terminal device 100. The information in the HTTP command is encrypted (see S14). If the CPU 32 receives an HTTPS command from the terminal device 100, it determines YES in S20 and proceeds to S22.

[0032] In S22, CPU32 determines whether the HTTPS command received in S20 is a POST command or a GET command. CPU32 proceeds to S30 if the HTTPS command is a POST command, and to S40 if the HTTPS command is a GET command. A POST command is a command that follows the HTTP POST method. A GET command may be a command that follows the HTTP GET method, or it may be a command that follows the HTTP POST method with "X-HTTP-Method-Override “GET”" written in the header.

[0033] CPU32 executes a POST request (see Figure 3) in S30 and a GET request (see Figure 4) in S40. Once either the POST request or the GET request is completed, CPU32 terminates the process shown in Figure 2.

[0034] (POST processing: Figure 3) Next, referring to Figure 3, the contents of the POST processing in S30 of Figure 2 will be explained. In S100, CPU 32 identifies one item in the POST command received in S20. The item identified here includes an OID, a type, and an MIB value. The type is information indicating the type of the MIB value, such as string or integer. Hereafter, each piece of information included in the item identified in S100 will be referred to as "target OID," "target type," and "target MIB value."

[0035] In S110, the CPU 32 determines whether the target type is a string or not. If the target type is a string, the CPU 32 determines YES in S110 and proceeds to S112. On the other hand, if the target type is not a string, for example, if the target type is an integer, hex string, etc., the CPU 32 determines NO in S110 and proceeds to S130. In this way, the printer 10 can switch whether or not to perform the conversion of the target MIB value depending on the target type.

[0036] In S112, the CPU 32 determines whether or not the target MIB value is subject to conversion. Specifically, the CPU 32 determines whether or not the target OID is included in the decision list 40. If the target OID is included in the decision list 40, the CPU 32 determines YES in S112 and proceeds to S114. On the other hand, if the target OID is not included in the decision list 40, the CPU 32 determines NO in S112 and proceeds to S130. In this way, the printer 10 can switch whether or not to perform the conversion of the target MIB value depending on whether or not the target OID is included in the decision list 40.

[0037] In S114, the CPU 32 determines whether the language setting 42 is Japanese, Chinese, or Korean. That is, the CPU 32 determines whether the language setting 42 represents a language written in UTF or a language written in a non-UTF format. Japanese, Chinese, and Korean are not listed in the language table 44. Therefore, the process in S114 is equivalent to determining whether the language setting represents a language not listed in the language table 44. If the language setting 42 is Japanese, etc., the CPU 32 determines YES in S114 and proceeds to S130. If the language setting 42 is not Japanese, for example, if the language setting 42 is English, Portuguese, etc., the CPU 32 determines NO in S114 and proceeds to S120. In this way, the printer 10 can switch whether or not to perform the conversion of the target MIB value depending on the language setting 42.

[0038] In S120, the CPU 32 uses the language table 44 to identify the ISO character code (i.e., non-UTF) corresponding to the language setting 42. For example, if the language setting 42 is Portuguese, the CPU 32 identifies ISO 8859-1. Hereafter, the non-UTF code identified here will be referred to as the "target character code". In this way, the printer 10 identifies the target character code corresponding to the language setting 42 and can convert it to the appropriate character code according to the language setting 42.

[0039] In S122, the CPU32 identifies the UTF code table and the target character code table from the code table 46, and uses these code tables to convert the target MIB value from UTF to the target character code.

[0040] In S130, the CPU 32 writes the MIB value to the management table 38. In S130, after going through S122, the CPU 32 writes the MIB value converted in S122 (i.e., the MIB value written in the target character code) to the management table 38. In S130, after going through NO in S110, NO in S112, or YES in S114, the CPU 32 writes the target MIB value (i.e., the MIB value written in UTF) to the management table 38.

[0041] In S140, CPU32 determines whether the next item in the POST command exists. If the next item exists, CPU32 determines YES in S140, identifies the next item in S100, and repeats the processing from S110 onwards. If the next item does not exist, CPU32 determines NO in S140 and proceeds to S150.

[0042] In S150, the CPU 32 sends a response command to the terminal device 100. This response command includes the OID within each item identified in S100 and status information indicating that the writing of the MIB value is complete. The information in this response command is encrypted (see S14 in Figure 2). When S150 ends, the POST process shown in Figure 3 ends.

[0043] (GET process: Figure 4) Next, referring to Figure 4, the contents of the GET process in S40 of Figure 2 will be explained. In S200, CPU32 identifies one item within the GET command received in S20. The item identified here includes an OID. Hereafter, the OID included in the item identified in S200 will be referred to as the "target OID".

[0044] In S202, CPU32 reads the type and MIB value associated with the target OID from management table38. Hereafter, the type and MIB value read here will be referred to as "target type" and "target MIB value," respectively.

[0045] S210 to S220 are the same as S110 to S120 in Figure 3. In this way, the printer 10 can switch whether or not to perform conversion of the target MIB value depending on the target type (i.e., according to the decision in S210), whether or not the target OID is included in the decision list 40 (i.e., according to the decision in S212), and according to the language setting 42 (i.e., according to the decision in S214). In addition, since the printer 10 identifies the target character code corresponding to the language setting 42 (i.e., executes S220), it can convert to the appropriate character code according to the language setting 42.

[0046] In S222, CPU32 identifies the UTF code table and the target character code table from code table 46, and uses these code tables to convert the target MIB value from the target character code to UTF.

[0047] In S230, CPU32 writes the MIB value to the response command. In S230 after S222, CPU32 writes the MIB value converted in S222 (i.e., the MIB value written in UTF) to the response command. In S230 after NO in S210, NO in S212, or YES in S214, CPU32 writes the target MIB value (i.e., the MIB value written in UTF) to the response command.

[0048] In S240, CPU32 determines whether the next item in the GET command exists. If the next item exists, CPU32 determines YES in S240, identifies the next item in S200, and repeats the processing from S202 onwards. If the next item does not exist, CPU32 determines NO in S240 and proceeds to S250.

[0049] In S250, the CPU 32 sends a response command to the terminal device 100. This response command includes the OID within each item identified in S200, the MIB values ​​written in S230, and status information indicating that the writing of the MIB values ​​is complete. The information in this response command is encrypted (see S14 in Figure 2). When S250 ends, the GET process in Figure 4 ends.

[0050] (Specific cases) Next, with reference to Figures 5 to 8, we will explain specific cases realized by the processes shown in Figures 2 to 4. Figure 5 shows the case where a POST command is sent from terminal device 100 to printer 10. Figure 7 shows the case where a GET command is sent from terminal device 100 to printer 10. In the cases of Figures 5 and 7, the language setting 42 of printer 10 is Portuguese, and the MIB values ​​shown in Figure 1 are written in the management table 38.

[0051] (POST command case: Figure 5) Terminal device 100 accepts a write operation from the user at T10. The write operation includes specifying two pieces of information to be written, "name" and "IP address," and specifying the modified strings for each of the two pieces of information. In this case, terminal device 100 sends an HTTPS command to printer 10 at T12.

[0052] When printer 10 receives an HTTPS command from terminal device 100 in T12 (YES in S10 of Figure 2), it sends a response command indicating Unauthorized to terminal device 100 in T14 (S12).

[0053] When terminal device 100 receives a response command from printer 10 at T14, it displays a screen for entering authentication information (not shown), and at T20, it accepts an operation from the user to enter authentication information. In this case, terminal device 100 sends an HTTPS command containing the authentication information to printer 10 at T22.

[0054] When printer 10 receives an HTTPS command from terminal device 100 at T22, it sends a response command indicating successful authentication to terminal device 100 at T24 (YES at S12). Then, at T30, printer 10 exchanges encryption keys with terminal device 100 (S14).

[0055] When terminal device 100 exchanges encryption keys with printer 10 at T30, it sends a POST command 200 to printer 10 at T32 corresponding to the write operation at T10. Specifically, terminal device 100 stores information in association with its content, OID, and type, similar to the management table 38 of printer 10. Therefore, terminal device 100 can identify the OID ending in 4 and the type "string" from the information "name" specified in the write operation at T10, and write that information to POST command 200. Similarly, terminal device 100 can identify the OID ending in 5 and the type "string" from the information "IP address" specified in the write operation at T10, and write that information to POST command 200.

[0056] As shown in Figure 6, POST command 200 is written in JSON format and consists of a header and a body. The body contains two items 202 and 204. Item 202 contains an OID ending in 4 corresponding to the information "Name", a type "string", and an MIB value "C3,8D C3,93" written in UTF. Item 204 contains an OID ending in 5 corresponding to the information "IP Address", a type "string", and an MIB value "31 37 32..." written in UTF.

[0057] When printer 10 receives a POST command 200 from terminal device 100 in T32 (YES in S20, POST in S22), it processes the two items 202 and 204 in order.

[0058] Printer 10 determines that the type of item 202 is string (YES in S110 in Figure 3). Printer 10 determines that the MIB value is to be converted because the OID ending in 4 is included in the determination list 40 (YES in S112). Printer 10 determines that the language setting 42 is Portuguese (NO in S114) and identifies the non-UTF (i.e., ISO8859-1) corresponding to Portuguese from the language table 44 (S120). Printer 10 converts the MIB value "C3,8D C3,93" written in UTF in T40 to the MIB value "CD D3" written in ISO8859-1 (S122). Then, Printer 10 writes the MIB value "CD D3" written in ISO8859-1 to the management table 38, associating it with the OID ending in 4 (S130).

[0059] Printer 10 determines that item 204 is of type string (YES in S110). Printer 10 determines that the MIB value is not to be converted because the OID ending in 5 is not included in the judgment list 40 (NO in S112). Therefore, printer 10 does not convert the MIB value "31 37 32..." which is written in UTF. Printer 10 writes the MIB value "31 37 32..." which is written in UTF and associated with the OID ending in 5, to the management table 38 in T42 (S130).

[0060] When the printer 10 processes the two items 202 and 204 (NO in S140), it sends a response command 210 to the terminal device 100 in T44 (S150). As shown in Figure 6, the response command 210 is written in JSON format and comprises a header and a body. The body contains the two items 212 and 214. Item 212 contains the same OID as the last suffix 4 in item 202 of POST command 200, and the status information "success". Item 214 contains the same OID as the last suffix 5 in item 204 of POST command 200, and the status information "success".

[0061] When terminal device 100 receives a response command 210 from printer 10 at T44, it displays a message indicating that the writing process has been successfully completed (not shown). This allows the user to know that the writing process has been successfully completed.

[0062] As shown in the case of Figure 5, the printer 10 converts the MIB value "C3,8D C3,93" written in UTF to the MIB value "CD D3" written in non-UTF, associates it with the OID ending in "4", and writes the MIB value "CD D3" to the management table 38 (T40). Therefore, the printer 10 can appropriately execute the write process considering the character encoding in response to a POST command compliant with HTTPS.

[0063] (GET command case: Figure 7) Terminal device 100 accepts an acquisition operation from the user at T50. The acquisition operation includes specifying three pieces of information to be acquired: "consumable amount," "name," and "IP address." In this case, terminal device 100 sends an HTTPS command to printer 10 at T52. T52 to T80 are the same as T12 to T30 in Figure 5.

[0064] When terminal device 100 performs an encryption key exchange with printer 10 at T80, it sends a GET command 220 to printer 10 at T82 corresponding to the acquisition operation at T50. Terminal device 100 can identify the OID ending in 2 from the information "consumable amount" specified in the acquisition operation at T50 and write that information to the GET command 220. Similarly, terminal device 100 can identify the OID ending in 4 and the OID ending in 5 from the information "name" and "IP address" specified in the acquisition operation at T50, respectively, and write that information to the GET command 220.

[0065] As shown in Figure 8, the GET command 220 is written in JSON format and consists of a header and a body. The body contains three items 222, 224, and 226. Item 222 contains an OID ending in 2 corresponding to the information "Consumable Quantity". Item 224 contains an OID ending in 4 corresponding to the information "Name". Item 226 contains an OID ending in 5 corresponding to the information "IP Address".

[0066] When printer 10 receives a GET command 220 from terminal device 100 in T82 (YES in S20, GET in S22), it processes the three items 222, 224, and 226 in order.

[0067] Printer 10 reads the type "integer" and MIB value "38 30" associated with the OID ending in 2 from the management table 38 for item 222 (S202 in Figure 4). Printer 10 determines that the type is integer (NO in S210). Therefore, printer 10 does not convert the MIB value "38 30" which is written in UTF. In T90, printer 10 writes the OID ending in 2, the type "integer", and the MIB value "38 30" which is written in UTF to the response command (S230, see item 232 in response command 230 in Figure 8).

[0068] Printer 10 reads the type "string" and MIB value "C7 C8 C9" associated with the OID ending in 4 from the management table 38 for item 224 (S202). Printer 10 determines that the type is string (YES in S210). Printer 10 determines that the MIB value is to be converted because the OID ending in 4 is included in the determination list 40 (YES in S212). Printer 10 determines that the language setting 42 is Portuguese (NO in S214) and identifies the non-UTF (i.e., ISO8859-1) corresponding to Portuguese from the language table 44 (S220). Printer 10 converts the MIB value "C7 C8 C9" described in ISO8859-1 to the MIB value "C3,87 C3,88 C3,89" described in UTF in T92 (S222). Then, printer 10 writes the OID ending in 4, the type "string", and the MIB value "C3,87 C3,88 C3,89" written in UTF to the response command (S230, see item 234 in response command 230 in Figure 8).

[0069] Printer 10 reads the type "string" and MIB value "31 39 32..." associated with the OID ending in 5 from the management table 38 for item 226 (S202). Printer 10 determines that the type is string (YES in S210). Printer 10 determines that the MIB value is not to be converted because the OID ending in 5 is not included in the judgment list 40 (NO in S212). Therefore, Printer 10 does not convert the MIB value "31 39 32..." which is written in UTF. In T94, Printer 10 writes the OID ending in 5, the type "string", and the MIB value "31 39 32..." which is written in UTF to the response command (S230, see item 236 in response command 230 in Figure 8).

[0070] When the printer 10 processes the three items 222, 224, and 226 (NO in S240), it sends a response command 230 to the terminal device 100 in T96 (S250). As shown in Figure 8, the response command 230 is written in JSON format and comprises a header and a body. The body contains the three items 232, 234, and 236.

[0071] When terminal device 100 receives a response command 230 from printer 10 in T96, it displays the information contained in the response command 230 (not shown). Specifically, terminal device 100 displays the string "Consumable Quantity" identified from the last suffix 2 of the OID in item 232, and the string "80" identified from the MIB value "38 30" in item 232, associating them. Similarly, terminal device 100 displays the string "Name" associating it with the string identified from the MIB value "C3,87 C3,88 C3,89", and also displays the string "IP Address" associating it with the string "192..." identified from the MIB value "31 39 32...". This allows the user to know the various settings in printer 10.

[0072] As shown in the case of Figure 7, the printer 10 converts the MIB value "C7 C8 C9", which is written in non-UTF, to the MIB value "C3,87 C3,88 C3,89", which is written in UTF, and sends a response command 230 containing the converted MIB value to the terminal device 100 (T96). Therefore, the printer 10 can appropriately perform response processing considering the character encoding in response to an HTTPS GET command.

[0073] (Correspondence) Management table 38 is an example of "management information". POST command and GET command are examples of "setting command" and "retrieval command", respectively. Decision list 40 is an example of "specific information". Japanese, Chinese, and Korean are examples of "predetermined language settings". Type "string" and type "integer" are examples of "first data type" and "second data type", respectively. The OID in item 202 and the OID in item 204 of POST command 200 in Figure 6 are examples of "first OID". The MIB value in item 202 and the converted MIB value are examples of "first value" and "second value", respectively. The OID in item 224 and the OID in item 226 of GET command 220 in Figure 8 are examples of "second OID". The MIB value before conversion and the converted MIB value associated with the OID in item 224 are examples of "third value" and "fourth value", respectively.

[0074] S20 in Figure 2 and T32 in Figure 5 are examples of processes executed by the "setting command receiving unit". S122 in Figure 3 and T40 in Figure 5 are examples of processes executed by the "first conversion unit". S130 in Figure 3 and T40 and T42 in Figure 5 are examples of processes executed by the "writing unit". S20 in Figure 3 and T82 in Figure 7 are examples of processes executed by the "acquisition command receiving unit". S202 in Figure 4 is an example of a process executed by the "acquisition unit". S222 in Figure 4 and T92 in Figure 7 are examples of processes executed by the "second conversion unit". S250 in Figure 4 and T96 in Figure 7 are examples of processes executed by the "response command sending unit".

[0075] Although specific examples of the present invention have been described in detail above, these are merely illustrative and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes to the specific examples illustrated above. Modifications of the above embodiments are listed below.

[0076] (Modification 1) The judgment list 40, S112 in Figure 3, and S212 in Figure 4 may be omitted. That is, "specific information" can be omitted. Also, the "first (or second) conversion unit" may convert the first value (or third value) to the second value (or fourth value) regardless of whether the first OID (or second OID) is an associated OID or not.

[0077] (Modification 2) S114 in Figure 3 and S214 in Figure 4 may be omitted. In this case, in S220, for Japanese, for example, Shift-JIS may be specified. For Chinese, for example, GB2312-1980 may be specified. That is, the "first (or second) conversion unit" may convert the first value (or third value) to the second value (or fourth value) regardless of whether the language setting of the communication device is a predetermined language setting or not.

[0078] (Variation 3) For example, if the printer 10 supports only English (i.e., the printer 10 in which the user cannot specify the language setting 42), then the language table 44 is not necessary. In this example, the code table 46 only needs to contain the ISO8859-1 character code and the UTF character code. In other words, the "first (or second) conversion unit" does not need to identify the non-UTF character code corresponding to the language setting.

[0079] (Modification 4) S110 in Figure 3 and S210 in Figure 4 may be omitted. That is, the "first (or second) conversion unit" may convert the first value (or third value) to the second value (or fourth value) regardless of the type information.

[0080] (Variation 5) UTF is not limited to UTF-8, but may also be UTF-16, UTF-32, etc. Non-UTF is not limited to ISO8859-based character encodings, but may also be Shift-JIS, GB2312-1980, etc.

[0081] (Modification 6) The term "communication device" is not limited to printers, but may also refer to other devices such as scanners, facsimile machines, PCs, servers, etc.

[0082] (Modification 7) In the above embodiment, the CPU 32 executes the program 36 to realize the processes shown in Figures 2 to 5 and Figure 7. Alternatively, any of these processes may be realized by hardware such as logic circuits.

[0083] Furthermore, the technical elements described herein or in the drawings demonstrate technical usefulness individually or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technologies illustrated herein or in the drawings achieve multiple objectives simultaneously, and achieving even one of these objectives constitutes technical usefulness in itself.

[0084] Even if, in the claims of this patent application, each claim depends on only some of the claims, it is not limited to the claim being dependent only on those specific claims. To the extent that it is not technically contradictory, each claim may be dependent on other claims that were not dependent at the time of application. That is, the technologies of each claim can be combined in various ways as follows: (Item 1) A communication device, For each of the multiple OIDs (Object IDs) in the MIB (Management Information Base), there is a memory that stores the management information associated with that OID and its setting value. A configuration command receiving unit that receives configuration commands from a terminal device in accordance with TCP (Transmission Control Protocol) at the transport layer of the OSI (Open Systems Interconnection) reference model, wherein the configuration command includes a first OID and a first value written in UTF (Unicode Transformation Format), and the configuration command receiving unit When the setting command is received from the terminal device, a first conversion unit converts the first value included in the setting command into a second value written in non-UTF, A writing unit that writes the converted second value to the management information in association with the first OID included in the setting command, A communication device equipped with the following features. (Item 2) The memory further stores specific information for identifying the associated OID, which is an OID associated with the setting value to be converted. When the first OID included in the setting command is identified as the associated OID based on the identification information, The first conversion unit converts the first value to the second value, The writing unit writes the second value to the management information in association with the first OID. If the first OID included in the setting command is identified as not being the associated OID based on the identification information, The first conversion unit does not convert the first value to the second value. The writing unit is a communication device according to item 1, which writes the first value to the management information in association with the first OID. (Item 3) If the language setting of the communication device is not set to a predetermined language, The first conversion unit converts the first value to the second value, The writing unit writes the second value to the management information in association with the first OID. When the language setting of the communication device is the predetermined language setting, The first conversion unit does not convert the first value to the second value. The writing unit is a communication device according to item 1 or 2, which writes the first value to the management information in association with the first OID. (Item 4) The communication device according to any one of items 1 to 3, wherein the first conversion unit identifies the non-UTF character code corresponding to the language setting of the communication device and converts the first value to the second value which is written in the identified character code. (Item 5) The setting command further includes type information indicating the data type of the first value, When the type information included in the setting command indicates a first data type, The first conversion unit converts the first value to the second value, The writing unit writes the second value to the management information in association with the first OID. When the type information included in the setting command indicates a second data type different from the first data type, The first conversion unit does not convert the first value to the second value. The writing unit writes the first value to the management information in association with the first OID, as described in any one of items 1 to 4. (Item 6) The aforementioned communication device further, An acquisition command receiving unit that receives an acquisition command in accordance with TCP from the terminal device, wherein the acquisition command includes a second OID, and the acquisition command receiving unit When the acquisition command is received from the terminal device, the acquisition unit acquires from the management information in the memory a third value associated with the second OID included in the acquisition command, which is the third value described in non-UTF, A second conversion unit that converts the acquired third value into a fourth value described in UTF, A response command transmission unit that transmits a response command including the converted fourth value to the terminal device, A communication device comprising any one of items 1 to 5. (Item 7) A communication device, For each of the multiple OIDs (Object IDs) in the MIB (Management Information Base), there is a memory that stores the management information associated with that OID and its setting value. An acquisition command receiving unit that receives acquisition commands from a terminal device in accordance with TCP (Transmission Control Protocol) at the transport layer of the OSI (Open Systems Interconnection) reference model, wherein the acquisition command includes a second OID, and the acquisition command receiving unit... When the acquisition command is received from the terminal device, the acquisition unit acquires the third value associated with the second OID included in the acquisition command, which is written in non-UTF (Unicode Transformation Format), from the management information in the memory. A second conversion unit that converts the acquired third value into a fourth value written in UTF, A response command transmission unit that transmits a response command including the converted fourth value to the terminal device, A communication device equipped with the following features. (Item 8) The memory further stores specific information for identifying the associated OID, which is an OID associated with the setting value to be converted. When the second OID included in the acquisition command is identified as the associated OID based on the identification information, The second conversion unit converts the third value to the fourth value, The response command transmission unit transmits the response command, which includes the fourth value, to the terminal device. If the second OID included in the acquisition command is identified as not being the associated OID based on the identification information, The second conversion unit does not convert the third value to the fourth value. The communication device according to item 7, wherein the response command transmission unit transmits the response command including the third value to the terminal device. (Item 9) If the language setting of the communication device is not set to a predetermined language, The second conversion unit converts the first value to the second value, The response command transmission unit transmits the response command, which includes the fourth value, to the terminal device. When the language setting of the communication device is the predetermined language setting, The second conversion unit does not convert the third value to the fourth value. The communication device according to item 7 or 8, wherein the response command transmission unit transmits the response command including the third value to the terminal device. (Item 10) The communication device according to any one of items 7 to 9, wherein the second conversion unit identifies the non-UTF character code corresponding to the language setting of the communication device, and converts the third value described in the identified character code to the fourth value. (Item 11) If the data type of the third value associated with the second OID included in the acquisition command is the first data type, The second conversion unit converts the third value to the fourth value, The response command transmission unit transmits the response command, which includes the fourth value, to the terminal device. If the data type of the third value associated with the second OID included in the acquisition command is a second data type different from the first data type, The second conversion unit does not convert the third value to the fourth value. The communication device according to any one of items 7 to 10, wherein the response command transmission unit transmits the response command including the third value to the terminal device. (Item 12) The aforementioned UTF is UTF-8, The aforementioned non-UTF character encoding is an ISO 8859-based character encoding, and the communication device is one of the devices described in any one of items 1 to 11. [Explanation of symbols]

[0085] 2: Communication system, 6: LAN, 10: Printer, 12: Operation unit, 14: Display unit, 16: LAN interface, 18: Print execution unit, 30: Control unit, 32: CPU, 34A: Non-volatile memory, 34B: Volatile memory, 36: Program, 38: Management table, 40: Decision list, 42: Language setting, 44: Language table, 46: Code table, 100: Terminal device

Claims

1. A communication device, For each of the multiple OIDs (Object IDs) in the MIB (Management Information Base), there is a memory that stores management information associated with the OID and the setting value, A setting command receiving unit receives a setting command from a terminal device in accordance with the TCP (Transmission Control Protocol) of the transport layer of the OSI (Open Systems Interconnection) reference model, wherein the setting command includes a first OID and a first value described in UTF (Unicode Transformation Format), and the setting command receiving unit When the setting command is received from the terminal device, a first conversion unit converts the first value included in the setting command into a second value described in non-UTF, A writing unit that writes the converted second value to the management information in association with the first OID included in the setting command, A communication device equipped with the following features.

2. The memory further stores specific information for identifying the associated OID, which is an OID associated with the setting value to be converted. When the first OID included in the setting command is identified as the associated OID based on the identification information, The first conversion unit converts the first value to the second value, The writing unit writes the second value to the management information in association with the first OID. If the first OID included in the setting command is identified as not being the associated OID based on the identification information, The first conversion unit does not convert the first value to the second value, The communication device according to claim 1, wherein the writing unit writes the first value to the management information in association with the first OID.

3. If the language setting of the communication device is not set to a predetermined language, The first conversion unit converts the first value to the second value, The writing unit writes the second value to the management information in association with the first OID. When the language setting of the communication device is the predetermined language setting, The first conversion unit does not convert the first value to the second value, The communication device according to claim 1, wherein the writing unit writes the first value to the management information in association with the first OID.

4. The communication device according to claim 1, wherein the first conversion unit identifies the non-UTF character code corresponding to the language setting of the communication device and converts the first value to the second value described in the identified character code.

5. The setting command further includes type information indicating the data type of the first value, When the type information included in the setting command indicates a first data type, The first conversion unit converts the first value to the second value, The writing unit writes the second value to the management information in association with the first OID. When the type information included in the setting command indicates a second data type different from the first data type, The first conversion unit does not convert the first value to the second value, The communication device according to claim 1, wherein the writing unit writes the first value to the management information in association with the first OID.

6. The aforementioned communication device further, An acquisition command receiving unit that receives an acquisition command in accordance with the TCP from the terminal device, wherein the acquisition command includes a second OID, When the acquisition command is received from the terminal device, the acquisition unit acquires from the management information in the memory a third value associated with the second OID included in the acquisition command, which is the third value described in non-UTF format. A second conversion unit that converts the acquired third value into a fourth value described in the UTF, A response command transmission unit that transmits a response command including the converted fourth value to the terminal device, A communication device according to claim 1, comprising:

7. A communication device, For each of the multiple OIDs (Object IDs) in the MIB (Management Information Base), there is a memory that stores management information associated with the OID and the setting value, An acquisition command receiving unit receives acquisition commands from a terminal device in accordance with the TCP (Transmission Control Protocol) of the transport layer of the OSI (Open Systems Interconnection) reference model, wherein the acquisition command includes a second OID, and the acquisition command receiving unit receives the acquisition command. When the acquisition command is received from the terminal device, the acquisition unit acquires from the management information in the memory a third value associated with the second OID included in the acquisition command, which is a third value described in non-UTF (Unicode Transformation Format), A second conversion unit that converts the acquired third value into a fourth value described in UTF, A response command transmission unit that transmits a response command including the converted fourth value to the terminal device, A communication device equipped with the following features.

8. The memory further stores specific information for identifying the associated OID, which is an OID associated with the setting value to be converted. When the second OID included in the acquisition command is identified as the related OID based on the identification information, The second conversion unit converts the third value to the fourth value, The response command transmission unit transmits the response command, which includes the fourth value, to the terminal device. If the second OID included in the acquisition command is identified as not being the associated OID based on the identification information, The second conversion unit does not convert the third value to the fourth value, The communication device according to claim 7, wherein the response command transmission unit transmits the response command including the third value to the terminal device.

9. If the language setting of the communication device is not set to a predetermined language, The second conversion unit converts the third value to the fourth value, The response command transmission unit transmits the response command, which includes the fourth value, to the terminal device. When the language setting of the communication device is the predetermined language setting, The second conversion unit does not convert the third value to the fourth value, The communication device according to claim 7, wherein the response command transmission unit transmits the response command including the third value to the terminal device.

10. The communication device according to claim 7, wherein the second conversion unit identifies the non-UTF character code corresponding to the language setting of the communication device, and converts the third value described in the identified character code to the fourth value.

11. If the data type of the third value associated with the second OID included in the acquisition command is the first data type, The second conversion unit converts the third value to the fourth value, The response command transmission unit transmits the response command, which includes the fourth value, to the terminal device. If the data type of the third value associated with the second OID included in the acquisition command is a second data type different from the first data type, The second conversion unit does not convert the third value to the fourth value, The communication device according to claim 7, wherein the response command transmission unit transmits the response command including the third value to the terminal device.

12. The aforementioned UTF is UTF-8, The communication device according to any one of claims 1 to 11, wherein the non-UTF is an ISO 8859 character code.

13. A computer program for a communication device, The aforementioned communication device is For each of the multiple OIDs (Object IDs) in the MIB (Management Information Base), there is a memory that stores management information associated with the OID and the setting value, Equipped with a computer, The aforementioned computer program comprises the following components of the computer, namely: A setting command receiving unit receives a setting command from a terminal device in accordance with the TCP (Transmission Control Protocol) of the transport layer of the OSI (Open Systems Interconnection) reference model, wherein the setting command includes a first OID and a first value described in UTF (Unicode Transformation Format), and the setting command receiving unit When the setting command is received from the terminal device, a first conversion unit converts the first value included in the setting command into a second value described in non-UTF, A writing unit that writes the converted second value to the management information in association with the first OID included in the setting command, A computer program that functions as such.

14. A computer program for a communication device, The aforementioned communication device is For each of the multiple OIDs (Object IDs) in the MIB (Management Information Base), there is a memory that stores management information associated with the OID and the setting value, Equipped with a computer, The aforementioned computer program comprises the following components of the computer, namely: An acquisition command receiving unit receives acquisition commands from a terminal device in accordance with the TCP (Transmission Control Protocol) of the transport layer of the OSI (Open Systems Interconnection) reference model, wherein the acquisition command includes a second OID, and the acquisition command receiving unit receives the acquisition command. When the acquisition command is received from the terminal device, the acquisition unit acquires from the management information in the memory a third value associated with the second OID included in the acquisition command, which is a third value described in non-UTF (Unicode Transformation Format), A second conversion unit that converts the acquired third value into a fourth value described in UTF, A response command transmission unit that transmits a response command including the converted fourth value to the terminal device, A computer program that functions as such.