Image forming apparatus, control method, program
The image forming apparatus system addresses the issue of insufficient debug log collection by registering user data with query destinations and obtaining permission, ensuring legal compliance and effective bug verification through sensitive data handling.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- KONICA MINOLTA INC
- Filing Date
- 2021-12-10
- Publication Date
- 2026-05-11
AI Technical Summary
Conventional methods for collecting debug logs in image forming apparatuses are hindered when administrators refuse to allow data collection due to concerns about data leakage, leading to insufficient bug verification.
An image forming apparatus system that includes a table for registering user data with query destinations, sends communication messages requesting permission for data use, and decides whether to output debug logs based on replies, replacing sensitive data with hash values if necessary.
Enhances the collection of debug logs while adhering to legal requirements, allowing for effective bug verification by ensuring permission is obtained from registered users before outputting sensitive data.
Smart Images

Figure 0007855854000001 
Figure 0007855854000002 
Figure 0007855854000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to an image forming apparatus, a control method, and a program, and particularly to an improvement for smoothly performing bug verification of a program.
Background Art
[0002] An image forming apparatus forms an image by an electrophotographic method or an inkjet method. For example, image formation by the electrophotographic method includes a series of steps such as exposure of a photoreceptor, development of an electrostatic latent image obtained by exposure, transfer of a toner image developed onto a sheet, and fixing of the transferred toner image. The computer of the image forming apparatus executes an operating system and an application for ensuring basic functions as an information device, in addition to firmware for controlling such image forming steps. Since it is necessary to develop and maintain the quality of these firmware and applications, the burden on software development in manufacturers developing image forming apparatuses has been increasing year by year.
[0003] In order to smoothly perform defect analysis and debugging of a program, debug logs have been conventionally used. A debug log is a log indicating what processing has been performed inside each program and what the input values and output values were, and the debug log can be output by inserting a dedicated debug log output code into the program.By tracing a series of debug logs, the operation of the program can be followed, and the cause of defects in firmware and applications can be efficiently identified and debugging can be performed.
[0004] Incidentally, debug logs may contain data that could be subject to legal regulations. A typical example of data that could be subject to legal regulations is personal data. Personal data includes various types such as the names of natural persons, identification numbers, location data, email addresses, and online identifiers. In the EEA (European Economic Area), the processing and transfer of this personal data outside the EEA are regulated by the General Data Protection Regulation (GDPR), which has become a topic of discussion in the industry.
[0005] Due to various reasons, including legal regulations, some users do not wish to have debug logs output. Therefore, when an image forming machine was installed in a business premises, a screen like the one in Figure 15 was displayed to request permission from the image forming machine administrator to collect debug logs. If the user performs an action to grant permission for data collection on the screen in Figure 15, the image forming machine will collect debug logs. Conversely, if the user chooses not to grant permission, the debug logs will not be output. If the image forming machine administrator decides not to allow the output of debug logs for reasons such as the inclusion of personal data, and configures the screen in Figure 15 accordingly, debug logs containing personal data will not be output.
[0006] Furthermore, a technology for uniformly replacing and keeping private usernames and email addresses, which constitute personal data, is described in Patent Document 1 below. [Prior art documents] [Patent Documents]
[0007] [Patent Document 1] Japanese Patent Publication No. 2010-147942 [Overview of the project] [Problems that the invention aims to solve]
[0008] Conventional methods for requesting permission to use debug logs only require consent from the administrator managing the image forming machine. If the administrator refuses to collect debug logs, they cannot be collected. Even if there are many users of the same image forming machine who are cooperative and understanding of log collection for debugging purposes, if the administrator of the image forming machine is concerned about data leakage and sets the system to "not allow" log collection for debugging purposes, no debug logs will be collected from that image forming machine.
[0009] If the setting is set to "Do not allow," it becomes impossible to collect a sufficient number of debug logs from the image forming apparatus, which leads to insufficient bug verification of the program when a malfunction occurs in the image forming apparatus.
[0010] The purpose of this disclosure is to provide an image forming apparatus that can increase opportunities for collecting debug logs while meeting legal and regulatory requirements. [Means for solving the problem]
[0011] The above problem is solved by a system comprising: a table that shows the target data registered by a user's registration operation in association with the query destination when the data is used; communication means that sends and receives communication messages with the query destination as the other party; and a decision means that causes the communication means to send a communication message requesting permission to use the registered target data, and determines whether or not to output a debug log that includes the target data as is, in response to the reply received by the communication means to the sent message, wherein the communication message sent by the communication means indicates that permission is being requested to use the target data in debugging, and the query destination If This problem is solved by an image forming apparatus characterized by having an attached file containing debug logs extracted regarding the target.
[0013] The output of the debug log may be performed by generating the debug log in the device's memory and outputting it to the outside of the device, and the transmission of the communication message may be performed when the debug log generated in the memory contains data that matches the registered data.
[0014] The aforementioned table may represent multiple target data points in association with multiple query destinations, and when a debug log is generated in memory, it may be determined whether the data included in the generated debug log matches any of the registered target data points.
[0015] 1 The above If the target data has multiple inquiry destinations associated with it, the communication means will The aforementioned The communication message is sent to each of the multiple contacts, and from all of the multiple contacts Positive When a reply communication message is received, a debug log containing the aforementioned target data is output. It is decided that if no response is received from any of the aforementioned multiple contact points, a debug log containing the target data as is will not be output. That is also acceptable.
[0016] If the aforementioned reply communication message is not received, the target data included in the debug log may be replaced with confidential information and output.
[0017] The replacement of the aforementioned confidential information may be performed by converting the data contained in the debug log into a hash value.
[0018] The user who performed the aforementioned registration operation is a logged-in user registered by the administrator of the device, and the query destination shown in the table may be the communication address of the logged-in user registered by the administrator.
[0019] The user who performed the registration operation is a public user, and the query destination shown in the table may be the communication address of the administrator who manages the device.
[0020] A control method performed by the control unit of an image forming apparatus, comprising: a step in which the control unit displays the target data registered by a user's registration operation in a table, associating it with the query destination when using the data; a communication step in which the control unit sends and receives a communication message with the query destination as the other party; and a decision step in which the control unit sends a communication message requesting permission to use the registered target data, and in response to the reply received to the sent message, decides whether or not to output a debug log that includes the target data as is, wherein the communication message sent in the communication step indicates that permission is being requested to use the target data in debugging, and the query destination If A file containing the extracted debug logs related to the destination may also be attached. Furthermore, a control method executed by the control unit of an image forming apparatus, comprising: a step in which the control unit displays the target data registered by the user's registration operation in a table, associating it with the query destination when using the data; a communication step in which the control unit sends and receives a communication message with the query destination as the other party; and a decision step in which the control unit sends a communication message requesting permission to use the registered target data, and in response to the reply received to the sent message, decides whether or not to output a debug log containing the target data as is, wherein the output of the debug log is done by generating the debug log in the memory of the apparatus and outputting it to the outside of the apparatus, and the transmission of the communication message is done by the debug log generated in the memory being the registered subject It may be said that this is done if the data contains matching data.
[0021] The target data registered through the user's registration process will be used as the contact point for inquiries when using the data. A step of showing it in a table in association, a communication step of performing transmission and reception of a communication message with the inquiry destination as the other party, and a communication message for requesting permission to use the registered target data is transmitted, and according to the received reply to the transmitted message, a determination step of determining whether to output a debug log including the target data as it is is executed by a computer. The communication message transmitted in the communication step indicates that permission is requested for the use of the target data in debugging, and the If It may be attached with a file storing the debug log extracted regarding the inquiry destination. Also, a step of showing in a table the target data registered by a user registration operation in association with the inquiry destination when using the data, a communication step of performing transmission and reception of a communication message with the inquiry destination as the other party, and a communication message for requesting permission to use the registered target data is transmitted, and according to the received reply to the transmitted message, a determination step of determining whether to output a debug log including the target data as it is is executed by a computer of an image forming apparatus. The output of the debug log is made by generating the debug log on a memory in the image forming apparatus and outputting it outside the image forming apparatus. The transmission of the communication message may be made when the debug log generated on the memory includes data that matches the registered subject data.
Effect of the Invention
[0022] When outputting a debug log including target data, by transmitting a communication message to the inquiry destination registered together with the target data in the table, permission is requested from the above inquiry destination for the use of the registered data for debugging purposes. Therefore, among the users who registered the data, if there are cooperative users regarding the use of data for debugging purposes, a large number of debug logs using the target data as it is can be collected.
[0023] Furthermore, a communication message requesting permission to use the registered target data is sent to the communication device, and if the communication device receives an affirmative response to the sent message, a debug log containing the target data is output. Since the process of reaching an agreement with the user at the inquiry point becomes clear before the debug log is output, the risk of litigation regarding the inclusion of the target data in the debug log can be reduced. [Brief explanation of the drawing]
[0024] [Figure 1] This is a diagram showing a program debugging system. [Figure 2] The hardware configuration of the image forming apparatus 1 is shown. [Figure 3] This shows the programs installed on HDD23. [Figure 4] Figure 4(a) shows the administrator name stored in NVRAM24 and associated with the inquiry destination, and Figure 4(b) shows the username stored in NVRAM24 and associated with the inquiry destination. Figure 4(c) shows the fax recipient name and fax number stored in NVRAM24 and associated with the inquiry destination. Figure 4(d) is an example of the data format of the debug log file 5000, which is a file that stores debug logs. [Figure 5] This indicates that the Panel application 101 and the Login application 102 are loaded into RAM 22 and are available for use in a multitasking execution environment. [Figure 6] Figure 6(a) shows an example of template file 106. Figure 6(b) shows the variable area. [Figure 7] This shows the main routine of log file processing application 105. [Figure 8] Figure 8(a) is an example of a registration screen for usernames and contact information, and Figure 8(b) is an example of a registration screen 2200 for entering fax destinations and fax numbers. [Figure 9] This is a flowchart illustrating the details of step S121. [Figure 10]An example of an email created in step S205 of Figure 9 is shown. [Figure 11] This is a flowchart of the subroutine that shows the details of step S123. [Figure 12] Figure 12(a) shows the login screen, and Figure 12(b) shows the debug log file 5000 generated in RAM22 when login authentication is successful. Figure 12(c) shows the debug log file 5000 generated in RAM22 when login authentication fails. [Figure 13] This is an email sending and receiving sequence based on the email address listed in the debug log file 5000, showing the sequence of events when email 3100, indicating a reply, arrived from nakata@abc.jp. [Figure 14] This is an email sending and receiving sequence based on the email address listed in the debug log file 5000, showing a situation where email 3100, indicating a reply, has not arrived from nakata@abc.jp. [Figure 15] This shows a screen that appears to request the user's cooperation in collecting debug logs. [Modes for carrying out the invention]
[0025] Hereinafter, embodiments of the apparatus according to this disclosure will be described with reference to the drawings.
[0026] [1] Appearance of the image forming apparatus 1 This is used in the program debugging system shown in Figure 1. The program debugging system consists of an image forming apparatus 1, a personal computer (PC) 2, a server 3 for the program development department, and a program provision server 4.
[0027] The image forming apparatus 1 is a tandem-type color MFP (Multifunction Peripheral) that performs image formation using an electrophotographic method, and consists of a document transport unit 11, a scanner unit 12, a printer unit 13, a paper feed unit 14, and an operation unit 15. The document transport unit 11 feeds documents placed on a tray at the top of the device one by one to the scanner unit 12, and the scanner unit 12 optically reads the image recorded on the document. The printer unit 13 forms an image on the paper supplied from the paper feed unit 14 and ejects the image-formed paper from the output port 19. The operation unit 15 includes a display unit 16, a touch panel 17, and a key unit 18.
[0028] The display unit 16 is a liquid crystal display or the like, and is located on the front side of the image forming apparatus. It displays job-related information and other information to the user.
[0029] The touch panel 17 covers the surface of the display unit 16 and outputs the coordinates of the position on the display unit 16 that is touched by the user.
[0030] The key section 18 includes keys for accepting start and stop operations, and keys for accepting job selection, and accepts instructions to start a job, instructions to stop a job, and character input of a username and email address.
[0031] If a problem occurs with the image forming apparatus 1, a service technician who visits in response to a user's service call will use PC2 to retrieve the debug log created by the image forming apparatus 1. Methods for retrieving the debug log include: connecting the image forming apparatus 1 and PC2 with a serial cable 2C and capturing the debug log output from the terminal of the image forming apparatus 1; connecting PC2 to the image forming apparatus 1 via the USB connector (not shown) of the image forming apparatus 1 and transferring the debug log file from the image forming apparatus 1 to PC2; or copying the debug log file generated in the memory of the image forming apparatus 1 to non-volatile memory such as a USB memory stick and then transferring the debug log file from the non-volatile memory to PC2. The service technician transfers the debug logs collected by PC2 to the program development department's server 3, where they are stored in the server 3's storage 3S. The debugging staff in the development department examines the debug logs and the source code of the image forming apparatus 1's program to verify whether the malfunction that caused the service call was due to a program bug. If the malfunction is due to a bug, they create a bug-corrected version of the program and supply it to the program supply server 4. The image forming apparatus 1 downloads the bug-corrected version of program 4P provided by the debugging staff from the program supply server 4, replaces the program installed on its machine with the bug-corrected version, and completes the version upgrade.
[0032] A problem that arises during the debugging process described above is the inclusion of data subject to legal regulations in the debug log retrieval process. Legal regulations refer to domestic laws, enforcement regulations of domestic laws, ordinances, treaties, international agreements, and rules that impose some form of restriction on the external leakage of information. These include various types such as GDPR, Japan's Personal Data Protection Act, the Act on Access to Information Held by Administrative Agencies (Information Disclosure Act), legal systems prohibiting insider trading, and legal systems protecting patients. If the debug logs accumulated on server 3 of the development department contain data subject to these legal regulations, the manufacturer of image forming apparatus 1 may be held legally liable for violating these regulations. Therefore, when image forming apparatus 1 outputs debug logs, it applies a one-way transformation to the data subject to legal regulations so that the original data cannot be identified from the debug logs. Note that explaining all legal regulations would be complicated, so the following explanation will focus on GDPR as a representative legal system. [2] Hardware configuration of the image forming apparatus 1 Figure 2 shows the hardware configuration of the image forming apparatus 1. As shown in this figure, the image forming apparatus 1 includes a CPU 20, Flash ROM 21, RAM 22, HDD 23, NVRAM 24, communication interface 25, and serial device 26.
[0033] When power is turned on to the debug log file 1000, the CPU 20 reads the programs installed in the Flash ROM 21 and HDD 23 into the RAM 22 and executes them to realize the basic functions of the image forming apparatus 1. These basic functions include document transport by the document transport unit 11, document reading by the scanner unit 12, paper feeding by the paper feed unit 14, image formation by the printer unit 13, operation input from the operation unit 15, and screen output to the display unit 16. The programs installed in the Flash ROM 21 are multiple control programs that constitute the firmware, and they enable the document transport unit 11, scanner unit 12, printer unit 13, paper feed unit 14, operation unit 15, and display unit 16 to realize the above basic functions. The CPU 20 has an execution mode for executing these programs and an output mode for debugging. The execution mode and the output mode for debugging can be switched by setting the dual switch when a service technician visits.
[0034] There are two types of communication methods: a communication interface 25 and a serial device 26. The communication interface 25 consists of a NIC, modem, TA, and wireless LAN card for sending and receiving data to be printed and data read by the scanner unit 12. The serial device 26 is a communication method for connecting to an external PC via a serial cable when the CPU 20 is switched to debug mode and performs terminal output.
[0035] The image forming apparatus 1 can communicate with the service technician's personal computer (PC2 in Figure 1) via the serial device 26.
[0036] [3] Programs installed on HDD23 Figure 3 shows the programs installed on HDD23. As shown in this figure, HDD23 has the operating system 110 and its applications installed. Templates used by these applications are also installed. The applications include Panel application 101, which receives operations from the user through the operation unit 15 and displays them on the screen via the display unit 16; Login application 102, which allows users to log in; and Send application 103, which enables sending and receiving emails and fax functions via the communication interface 25. When Send application 103 performs data communication, it is possible to send and receive emails with a mobile terminal 5, which is a smartphone owned by a user working at the business office, as the recipient.
[0037] The operating system 110 includes a version control module 111 and a kernel 112.
[0038] The version control module 111 accesses the program provision server 4 to check whether the latest version of the firmware is available. If the latest version is available, it downloads the latest version of the firmware and updates the firmware installed on the FlashROM 21.
[0039] Kernel 112 manages individual applications and control programs loaded into RAM 22 as tasks, controlling the operation of multiple applications under a multitasking environment.
[0040] [4] Information necessary for implementing the basic functions The information necessary for implementing the basic functions is registered in NVRAM24. Specifically, as shown in Figure 4(a), the username 1001 (AdiminD in the figure) of the person with administrative privileges for the image forming apparatus 1 (administrator) is registered in NVRAM24, associated with the telephone number 1002 (012-3456-7890) and the email address 1003 (d@abc.jp in the figure), which serves as the contact point. In addition, as shown in Figure 4(b), the usernames 1101 (NAKATA, NISIDA, KIMURA in the figure) of users who can log in to the image forming apparatus 1 and use it are registered, along with their passwords, affiliations, and contact points 1102. The contact point here indicates where to inquire if you want to output personal data such as usernames for debugging purposes, and can be of various types, such as email addresses or URLs. In this embodiment, the email addresses assigned to the corresponding administrators and users (nakata@abc.jp, nisida@abc.jp, kimura@abc.jp in the figure) are described. These usernames 1101 and contacts 1102 form a single record in the NVRAM 24. By arranging multiple records consisting of usernames 1101 and contacts 1102, a database of usernames is constructed in the NVRAM 24. This registration is performed by the administrator when the image forming apparatus 1 is introduced to a business site and operation of the image forming apparatus 1 begins.
[0041] In addition to the usernames of administrators and users who can log in, NVRAM24 stores inquiry contacts 1203 associated with fax recipient names 1201 (DestA, DestB in the figure) and fax numbers 1202 (0120-1111, 0120-2222, 0120-3333 in the figure), as shown in Figure 4(c). By arranging multiple records consisting of fax recipient names 1201, fax numbers 1202, and inquiry contacts 1203, a database of fax numbers is constructed in NVRAM24.
[0042] We associate these contact details with each user name, fax recipient, fax number, and system administrator name, and we request permission to use the registered data for debugging.
[0043] [5] Tasks corresponding to the application Figure 5 shows the state where the Panel application 101 and the Login application 102 are loaded into RAM 22 and provided for use in a multitasking execution environment.
[0044] (5-1) Task Structure The task corresponding to the Panel application 101 (PanelTask201) and the task corresponding to the Login application 102 (LoginTask202) are located in sub-regions 210 and 220 of RAM 22, respectively. These tasks have a common configuration, consisting of variable regions 211 and 221 for each task, instruction codes 213 and 223 that perform task-specific processing, and log processing codes 214 and 224. These tasks operate in response to the issuance of interrupt signals to the CPU 20.
[0045] Log processing codes 214 and 224 output debug logs 301, 302, 303, 304, and 305 to the terminal, representing the processing content and results of each task. Terminal output is output via serial device 26 and is enabled when CPU 20 is set to debug mode. When creating an application using a high-level programming language such as C, the output of debug logs in the debug log generation code can be written using the fprintf function, which is a debug output function. In addition to terminal output, output to a file, RAM 22, or NVRAM 24 can be selected as the output method for debug logs. By setting the output destination of debug logs 301, 302, 303, 304, and 305 to a file, the debug logs output by log processing code 214, etc., can be stored in a single file 300 and handed over to the service technician's PC 2.
[0046] The debug logs generated by the log processing code are performed using the template file 106 shown in Figure 3. Template file 106 is a standard text that shows the typical processing content performed by each task using various variables. The log processing code embedded in each application selects a template that corresponds to the processing content performed by that application and expresses the processing content performed by the application by substituting specific strings into the variables of the template. An example of template file 106 is shown in Figure 6(a).
[0047] (5-2) Template structure The following describes the contents of the debug log templates used to represent the processing details of PanelTask201 to SendTask203.
[0048] PanelTask201 displays a login screen and an email address selection screen, and retrieves the string entered using the key type in key section 18 when the login screen is displayed, and the email address selected on the email address selection screen. Since different processing is performed when the login screen is displayed and when the email address selection screen is displayed, PanelTask201 is associated with templates 2011 and 2012, as shown in Figure 6(a). The first template 2011 is UserName:[username variable] was sent to[task name variable]., indicating that the value of the first variable, the username variable, is passed to the task specified by the second variable, the task name variable. The second template 2012 is get[email address variable] from NVRAM, indicating that the email address is retrieved from NVRAM24.
[0049] LoginTask202 is a task that retrieves a string representing the username from PanelTask and matches it against multiple usernames registered in NVRAM24. Two templates, 2021 and 2022, are associated with this task. The first template, 2021, is NVRAM: [username variable] verifying [username variable], indicating that the entered username was authenticated by a username stored in NVRAM24. The second template, 2022, is NVRAM: No matching, verifying [username variable], indicating that the entered username was not authenticated by any of the usernames stored in NVRAM24.
[0050] SendTask203 is a task that sends an email with image data scanned by the scanner unit 12 attached to the email address selected by the user on the email address screen, and two templates are associated with it. The first template 2031 is "send to Email Address:[email address variable] Send OK", indicating that the email was sent to the recipient specified in the email address variable and that the email reached the recipient. The second template 2032 is "send to Email Address:[email address variable] Send NG", indicating that the email was sent to the recipient specified in the email address variable and that the email did not reach the recipient.
[0051] (5-3) Obtaining the string to be applied to the template In templates 2011, 2012, 2121, 2022, 2031, and 2032, the string to be assigned to the username variable when representing the processing content of each task is obtained from the memory device of the variable area of each task. An example of the variable area is shown in Figure 6(b). As shown in this figure, the variable area includes a keyboard input memory device 261 for receiving strings entered on the keyboard of the key unit 18, and inter-task communication variables 262 for input / output with other tasks.
[0052] (5-4) Format of debug log files The format of the debug log file 5000 is as shown in Figure 4(d). Figure 4(d) shows the data format of the debug log file 5000, which is a file that stores debug logs. This data format consists of multiple sentences 5100, 5200, 5300, and 5400. Each of the multiple sentences corresponds to the debug log string 5010 and stores the inquiry target 5020 and the publication OK flag 5030.
[0053] [6] Processing details by log file processing application 105 (6-1) Main routine The log file processing application 105 consists of program code that performs the processing shown in the flowcharts in Figures 7 and 9. In this flowchart, the variable u indicates each username registered in NVRAM24. Umax indicates the total number of usernames listed in the debug log file.
[0054] When the log file processing application 105 is started, it creates a debug log file in the NVRAM 24 (step S101), and then repeatedly checks whether data has been registered in the NVRAM 24 (step S110), whether any task has finished (step S111), or whether a problem has occurred (step S112).
[0055] (6-2) User Registration When data registration is requested (Yes in step S110), it is determined whether the registration was made by the administrator when the image forming apparatus 1 was installed (step S102). If it is registered by the administrator (Yes in step S102), the registration screen 2100 for the login user's username and contact information is displayed as shown in Figure 8(a) (step S103). After that, the system waits for the registration of the username and contact information to be completed by entering text into the username input text box 2110 and the contact information input text box 2120 on the registration screen in Figure 8(a) (No in step S104). Once text has been entered into the username input text box 2110 and the contact information input text box 2120 using the soft keyboard 2130 or the keyboard on the key unit 18, and the entered username and contact information are registered in the NVRAM 24 (Yes in step S104), the system returns to the loop of steps S110 to S112.
[0056] If the registration of a fax destination is not performed by an administrator (No in step S102), the fax number registration screen is displayed as shown in Figure 8(b) (step S105). After that, the system waits for the registration of the fax destination and fax number to be completed by entering text into the fax destination text box 2210 and fax number text box 2220 (No in step S106). Once text has been entered into the fax destination text box 2210 and fax number text box 2220 using the soft keyboard 2230 or the keyboard on the key unit 18, and the registration of the fax destination and fax number is complete (Yes in step S106), the system determines whether the user who entered the text is a logged-in user (step S107). If the user is a logged-in user (Yes in step S107), the email address of the inquiry destination registered along with the username of the corresponding logged-in user is registered in the record of the debug log file 5000 in NVRAM 24 as the inquiry destination to be contacted when debugging the registered data (step S108). If the user attempting to register data in NVRAM24 is not logged in (a public user) (No in step S107), the email address of the contact person registered along with the administrator's username is registered in the NVRAM24 record as the contact person to be contacted when debugging the registered data (step S109). Then, the loop returns to steps S110-S112.
[0057] (6-3) Generating debug logs and searching using personal data When a task is completed (Yes in step S111), a sentence containing the debug log of the completed task is added to the debug log file 5000 created in NVRAM24 (step S114), and the variable u is initialized (step S115). Then, the personal data of the u-th user recorded in NVRAM24 is read (step S116), and it is determined whether the newly added debug log contains the u-th personal data read from NVRAM24 (step S117). If it does (Yes in step S117), the query destination for the personal data is written in the corresponding debug log of the debug log file 5000 in NVRAM24 (step S118).
[0058] Step S119 determines whether the variable u is less than the number of registered users Umax. Depending on the result of this determination, the program switches between continuing the loop consisting of steps S116 to S120 or exiting the loop. If the variable u is less than the number of registered users Umax (Yes in step S119), the variable u is incremented (step S120), and the program returns to step S116 to continue the loop. If the variable u is greater than or equal to the number of registered users Umax, the program exits the loop in steps S116 to S120. The loop continuation requirement in step S119 is that the variable u is less than the number of registered users Umax, so the program returns to step S116 until i is 1 and becomes Umax-1. Once i reaches Umax, the program exits the loop and returns to steps S110 to S112. By repeating the above process, the debug log containing personal data such as username and email address is copied to records 5100, 5200, and 5300 of the debug log file 5000, where the inquiry destination 1102, which is registered along with the username, is located.
[0059] (6-4) When a malfunction occurs in the image forming apparatus If a malfunction occurs in the image forming apparatus 1 (step S112 is Yes), an inquiry is made regarding the use of personal data (step S121). Figure 9 is a flowchart illustrating the details of step S121.
[0060] In this flowchart, the variable `i` indicates each email address listed as a notification destination in the debug log file. `Mmax` represents the total number of email addresses listed in the debug log file.
[0061] Extract all email addresses listed in the debug log file's notification destinations (step S201). If there is only one email address in the debug log file's query destinations, Mmax becomes 1. If there are three email addresses in the debug log file's query destinations, Mmax becomes 3. Subsequently, initialize the variable i to 1 (step S202), and execute the loop from steps S203 to S211.
[0062] Step S203 extracts debug logs addressed to email address i as the notification recipient, and stores the extracted debug log file in an archive file (a ZIP file in this embodiment) (Step S204). An email is created with the archive file attached, requesting permission to disclose personal data within T hours from the current time (Step S205), and the created email is sent to the email address (Step S206). An example of the email created in Step S205 is shown in Figure 10. The header of email 3000 includes a recipient 3011 indicating the email address registered in accordance with the username, a subject 3012 indicating that this email is an inquiry about the use of personal data for debugging purposes, and an archive file (a ZIP file in this embodiment) 3013 containing the compressed debug log files is attached. The email body includes sentence 3101 indicating that the sender is image forming apparatus 1, sentence 3102 indicating that the attached file is password protected and contains a zip file 3013 containing a debug log file using personal data, sentence 3103 clarifying the purpose of the attached file, sentence 3104 requesting the logged-in user to reply to this email within T hours from the current time, and sentence 3105 requesting that the user not reply to the email if they do not permit the use of personal data for debugging purposes. The email body requests permission for the use of the debug log and accepts the user's choice of whether or not to allow its publication. Step S207 is a determination of whether the variable i is less than Mmax. If it is less than Mmax (Yes in step S207), the variable i is incremented in step S208 and the process returns to step S203.
[0063] The criterion for step S207 is that the variable i falls below Mmax, so the program returns to step S203 until i changes from 1 to m-1. Once the variable i reaches Mmax, the program exits the loop from steps S203 to S208 and moves to the loop from steps S211 to S212.
[0064] In the loop of steps S211-S212, the system repeatedly checks whether T time has elapsed since sending (step S211) and whether all replies have been received (step S212). For emails, once all replies have been received (Yes in step S212), the system sets the public OK flag 5030 for all debug logs in the debug log file 5000 in NVRAM24 to OK (step S213), attaches an archive file, saves the sent email 3000 and the reply emails as a history of consensus formation (step S215), and returns to the flowchart in Figure 7.
[0065] If no replies are received from any of the contacts (No in step S212) and T time has elapsed since the initial transmission (Yes in step S211), step S214 determines whether at least one contact has responded. If no contacts have responded (No in step S214), the system returns to the flowchart in Figure 7 without updating the publication OK flag.
[0066] If some of the recipients to whom an email was sent have replied (Yes in step S214), the public OK flag 5030 for the recipients who replied in the debug log files 5100, 5200, and 5300 of the debug log file 5000 in memory is set to OK (step S216), the sent email and the reply emails are saved as a history of consensus formation (step S215), and then the system returns to the flowchart in Figure 7.
[0067] (6-5) External output of debug log files After a service technician arrives following notification of the malfunction, the system waits for the service technician to begin addressing the issue (No in step S122). Once the issue has been resolved (Yes in step S122), the system outputs a debug log file in step S123.
[0068] Figure 11 is a flowchart illustrating the details of step S123. In this flowchart, the variable j is a variable that indicates an individual debug log in the debug log file, and Lmax indicates the total number of debug logs written in the debug log file. In the flowchart of Figure 11, the variable j is initialized to 1 (step S301), and it is determined whether the disclosure OK flag for the j-th line of the debug log in the debug log file is OK (step S302). If it is not OK (No in step S302), the personal data of the j-th line of the debug log is replaced with a hash value (step S303). If it is not OK, the personal data of the j-th line of the debug log is not replaced (No in step S302 and step S303 is skipped).
[0069] Step S304 determines whether j falls below Lmax. If it does, step S305 increments the variable j and returns to step S302 to continue the loop. If it becomes greater than or equal to Lmax, the loop from steps S302 to S305 is exited. Step S304 is Yes until the variable i goes from 1 to Lmax-1, and the program returns to step S302. When the variable j reaches Lmax (No in step S304), the loop from steps S301 to S305 is exited, the debug log file is output to the externally connected PC2 (step S306), debug log file 5000 is deleted (step S307), a new debug log file is created (step S308), and the program returns to the loop from steps S110 to S112.
[0070] [7]Specific examples Let's assume that three users, NAKATA, NISIDA, and KIMURA, are registered in RAM24 by the administrator of the image forming machine. When they register their own email addresses as their contact information, NVRAM24 will look like the one in Figure 4(b).
[0071] (7-1) Generating debug logs upon login Let's assume that the image forming apparatus 1 is now in use. When a job starts, a debug log file 5000 is created on RAM 22 (step S101). To begin use, the operation unit 15 displays the login image shown in Figure 12(a) and accepts the input of a username and password. During this process, PanelTask 201 accepts the string input from the operation unit 15 and authenticates whether the input string matches any of the usernames registered in NVRAM 24. Each time these tasks are executed, step S111 becomes Yes, and the debug log file created in NVRAM 24 stores the debug logs corresponding to PanelTask 201 and LoginTask 202, respectively, as shown in Figures 12(b) and (c).
[0072] (7-2) Cases in which a debug log file containing a string entered by the user is generated. Figure 12(b) shows the debug log file 5000 generated in RAM22 when login authentication by typing the username is successful. The first line of debug log 5110 contains the message "UserName:UserA was sent to PanelTask", indicating that the username NAKATA was sent to LoginTask. Debug log 5120 contains the message "NV-RAM NAKATA, -verifying UserName:NAKATA", indicating that the username NAKATA matches the username registered in NVRAM24 and that the verification was successful. The search in steps S116 to S120 in Figure 7 is executed, determining that the username NAKATA stored in RAM24 matches NAKATA in the debug log, and the email address nakata@abc.jp, which was registered and associated with NAKATA, is entered into the debug log query destination 5020.
[0073] (7-3) Cases where a debug log file containing incorrectly entered strings by the user is generated Figure 12(c) shows the debug log file 5000 generated in RAM22 when login authentication by typing the username fails. The first line of the PanelTask debug log 5210 contains the message "UserName:NAKATAA was sent to LoginTask," indicating that the username NAKATAA was sent to LoginTask. The LoginTask debug log 5220 contains the message "NV-RAM NAKATAA, No matching verifying UserName:NAKATAA," indicating that the username NAKATAA did not match any of the usernames registered in NVRAM24 and therefore could not be verified. As the search in steps S116 to S118 of Figure 7 is performed, the "NAKATA" part of "NAKATAA" in the debug log matches the username "NAKATA" stored in RAM24 (Yes in step S117). Therefore, the email address nakata@abc.jp, which was registered and associated with NAKATA, is entered in the query destination 5030 of debug logs 5210 and 5220 (step S118).
[0074] When an email address is set as the query destination for the debug log file 5000 and a malfunction occurs in the image forming apparatus 1, the email sending and receiving sequence shown in Figure 13 is executed. Figure 13 shows the email sending and receiving sequence based on the email address listed as the query destination for the debug log file 5000. This sequence includes sending an email 3001, which involves attaching a Zip file 5100 containing the debug log to email 3000 and sending it, and receiving an email 3100, which is a reply to email 3000, in 3002.
[0075] If step S112 is Yes, then, after extracting the email address in step S201 and the debug log in step S203 in Figure 9, in step S204 in Figure 9, the debug log containing the personal data "NAKATA" is stored in a Zip file 5100 and attached to an email 3000 requesting permission to use the personal data for debugging (step S205). This email 3000 is sent to the email address nakata@abc.jp listed in the inquiry address 5020 of the debug log file 5000 (step S206). If, within T hours of sending email 3000, an email 3100 indicating a reply has reached the image forming apparatus 1 (step S212 is Yes), the public OK flag 5230 of the debug log 5200 is updated to indicate public OK 5231 (step S213).
[0076] Since debug logs with the "OK to publish" flag set to "OK" are not subject to replacement in step S303, in step S306, debug log file 5300, consisting of the unconverted personal data NAKATA5301, 5302, 5303, and 5304, is output to the service technician's PC.
[0077] Figure 14 shows the sequence of sending and receiving emails based on the email address listed in the debug log file 5000. In the sequence in Figure 14, email 3000 was sent to the email address nakata@abc.jp listed in the debug log file 5000's contact 5020, but no reply email was received from nakata@abc.jp within T hours of sending email 3000.
[0078] If a reply email 3100 does not arrive from nakata@abc.jp within T hours of sending (step S211 is Yes), the public OK flag 5230 of the debug log 5230 will not be OK (if there is no reply, it will be No in step S214 and return to the flowchart in Figure 7), and debug logs whose public OK flag is not OK will be replaced in step S303. Therefore, in step S303, the debug log file 5300 in which the personal data NAKATA has been replaced with hash values 5401, 5402, 5403, and 5404 is output to the service technician's PC.
[0079] [8] Summary As described above, according to this embodiment, an email requesting permission to use the username and email address registered in RAM24 is sent, and when a communication message is received as a reply to the sent message, a debug log including the username and email address is output. Since the process of reaching an agreement with the user to whom the inquiry was made becomes clear before the debug log is output to the service technician's PC2, the risk of litigation regarding the inclusion of target data in the debug log can be reduced.
[0080] Furthermore, if an email is sent to the contact person when personal data is registered in NVRAM24, and there are 1000 registered personal data entries, an inquiry email will be sent to 1000 contact persons, which is inefficient. In contrast, this disclosure has the advantage of being efficient because inquiries are made when debug logs using personal data are output.
[0081] [9] Variant Although the present invention has been described above based on embodiments, it goes without saying that the present invention is not limited to the embodiments described above, and the following modifications are possible.
[0082] (1) In step S117 of Figure 7, personal data registered in NVRAM24 was used as a keyword to determine which personal data was included in the generated debug log, but this is not the only way. The strings included in the debug log may be used to search for personal data registered in NVRAM24 and determine which personal data is included in the generated debug log.
[0083] (2) In the above embodiment, when a debug log is generated during processing by PanelTask201 and LoginTask202, the user is asked for permission to use the username for debugging purposes, but this is not limited to this. When a debug log is generated during processing by Send application103, the user may be asked for permission to use the FAX recipient name, FAX number, and email address for debugging purposes. In other words, when a debug log containing the FAX recipient name and FAX number is generated, the debug log is searched using the FAX recipient name and FAX number registered in NVRAM24. If the FAX recipient name and FAX number match, the contact information is written in the debug log file. Once the contact information is written, an email is sent to the contact email address, and when a reply is received, the debug log is output to PC2 without changing the username.
[0084] (3) In cases where a debug log contains a mistyped string, and that mistyped string partially matches registered personal data, permission will be sought from the person who registered the personal data for the use of that personal data, but this is not limited to such cases.
[0085] If a mistyped string included in the debug log is similar to registered personal data, the system may request permission from the person responsible for measuring the personal data to use the data. It is desirable to use the same technology used in search engines to determine whether the data is similar.
[0086] Specifically, one could calculate vectors generated by word2vec and char2vec (a method that converts individual characters into vectors, rather than entire words), and then determine whether the personal data registered in NVRAM24 is similar to the debug log data based on the shortness of the distance between these vectors.
[0087] A character-level CNN (a propagating neural network that uses each character's ASCII code directly as input) can be used to vectorize words, and the similarity between the personal data registered in NVRAM24 and the debug log data can be determined based on the shortness of the distance between these word vectors.
[0088] (4) In cases where the debug log contains a mistyped string and that mistyped string partially matches the registered personal data, permission to use the personal data should be sought from the person who registered the personal data. However, permission to use the personal data should only be sought from the person who registered the personal data if the mistyped string in the debug log and the registered personal data are an exact match.
[0089] (5) In the above embodiment, usernames and email addresses included in the debug log were replaced with hash values and output, but the embodiment is not limited to this. As described in Patent Document 1, they may also be replaced with asterisk characters and output.
[0090] (6) In the above embodiment, if consent for the use of debugging was not obtained from the contact person, the personal data was transformed using a hash function. It is desirable to use a perfect hash function. A minimal perfect hash function such as the Knuth multiplicative hash may be used as the perfect hash function. Alternatively, an imperfect hash function may be used if it does not impede practicality. MD5 can be used as the hash algorithm.
[0091] MD5 takes personal data and device-specific values as input, processes them, and outputs a fixed-length 128-bit value. Padding is applied so that the input message is a multiple of 512 bits (16 32-bit words).
[0092] The main part of MD5 repeats the following processes 1), 2), and 3) for 32-bit words A, B, C, and D. 1) Of A[i], B[i], C[i], and D[i], the first A[i] is subjected to a series of operations including transformation by a nonlinear function F, addition modulo 232, and bit rotation to the left, resulting in A'[i].
[0093] 2) Let D[i], A'[i], B[i], and C[i] be in that order, and let A[i+1]=D[i], B[i+1]=A'[i], C[i+1]=B[i], and D[i+1]=C[i].
[0094] 3) Change A[i+1], B[i+1], C[i+1], D[i+1] to A[i], B[i], C[i], D[i], and return to 1).
[0095] Not limited to hash operations, any function that has a one-to-one relationship and is unidirectional may be used.
[0096] (7) The data to be replaced with hash values is not limited to usernames and email addresses. Any other data may be replaced with hash values if it falls under the definition of personal data under the GDPR. For example, this could include the name of a natural person, identification number, location data, online identifiers (IP address, cookie identifier), or data indicating factors relating to physical, physiological, genetic, mental, economic, cultural, or social uniqueness.
[0097] Furthermore, data that is processed as personal data under the GDPR, such as customer contact information, customer names, data subject to employee performance evaluations by supervisors, and the names and job titles of all employees, may be converted into hash values.
[0098] The legal regulations are not limited to the GDPR; they could be other legal systems for data protection. For example, they could be personal data protected by Japan's Personal Data Protection Act.
[0099] (8) In the above embodiment, the image forming apparatus is an MFP, but it is not limited to this. It may be installed in a production printing machine. It may also be a single-function copier or a single-function peripheral device (printer) for a personal computer. In addition, it may be a label printer, postcard printer, or ticket machine. It may be a color image forming apparatus by providing exposure and developing units for Y, M, C, and K colors, or a monochrome type by providing an exposure and developing unit for K color. It may also be a two-color or three-color image forming apparatus by providing exposure and developing units for two or three of the Y, M, C, and K colors. Furthermore, it is not limited to an electrophotographic method, but may also be an inkjet method.
[0100] (9) When requesting permission to use personal data for debugging purposes via email, a checkbox may be included in the email to be sent, and permission to use personal data for debugging may be deemed granted only if a reply email is sent with the checkbox checked. Alternatively, permission to use personal data for debugging may be deemed granted only if the reply email includes wording that explicitly states that permission has been granted.
[0101] In such cases, the use of personal data during debugging can be handled with caution, making it easier to avoid litigation risks. [Industrial applicability]
[0102] This disclosure allows for the representation of processing details performed by embedded programs in a debug log, while still meeting legal and regulatory requirements. This significantly improves the efficiency of debugging by program developers, and therefore has potential applications in various industries, including office automation equipment and information technology, as well as retail, rental, real estate, advertising, transportation, and publishing.
Claims
1. A table that shows the target data registered through the user's registration operation, and associates it with the contact point used when accessing the data. A communication means that sends and receives communication messages with the aforementioned contact person as the other party, The system includes a communication means that sends a communication message requesting permission to use the registered target data, and a determination means that determines whether or not to output a debug log containing the target data as is, in response to the reply received by the communication means to the sent message, The communication message transmitted by the aforementioned communication means indicates a request for permission to use the target data in debugging, and includes an attached file containing the debug logs extracted for the aforementioned contact. An image forming apparatus characterized by the following features.
2. A table that shows the target data registered through the user's registration operation, and associates it with the contact point used when accessing the data. A communication means that sends and receives communication messages with the aforementioned contact person as the other party, The system includes a communication means that sends a communication message requesting permission to use the registered target data, and a determination means that determines whether or not to output a debug log containing the target data as is, in response to the reply received by the communication means to the sent message, The output of the debug log is performed by generating the debug log in the memory of the device itself and outputting it to the outside of the device. The aforementioned communication message is sent when the debug log generated in the memory contains data that matches the registered target data. An image forming apparatus characterized by the following features.
3. The aforementioned table shows multiple target data points associated with multiple query destinations, Once the debug log is generated in memory, a determination is made as to whether the data contained in the generated debug log matches any of the registered target data. The image forming apparatus according to feature 2.
4. The transmission of the aforementioned communication message is This is done when a portion of the data included in the generated debug log matches the registered target data. The image forming apparatus according to feature 3.
5. If multiple contacts are associated with the aforementioned target data in 1, The communication means sends the communication message to each of the multiple inquiry destinations, and decides to output a debug log containing the target data as is if it receives a positive reply from all of the multiple inquiry destinations, and decides not to output a debug log containing the target data as is if it does not receive a reply from any of the multiple inquiry destinations. The image forming apparatus according to any one of features 1 to 4.
6. If the aforementioned reply communication message is not received, it is decided not to output a debug log containing the target data as is, and instead the target data contained in the debug log is replaced with confidential information before outputting. The image forming apparatus according to any one of claims 1 to 5.
7. The aforementioned replacement with confidential information is done by converting the data contained in the debug log into a hash value. The image forming apparatus according to feature 6.
8. The user who performed the aforementioned registration operation is a registered login user by the device administrator, and the query destination shown in the table is the communication address of the login user registered by the administrator. The image forming apparatus according to any one of claims 1 to 7.
9. The user who performed the registration operation is a public user, and the contact information shown in the table is the communication address of the administrator managing the device. The image forming apparatus according to any one of claims 1 to 7.
10. A control method performed by the control unit of an image forming apparatus, The control unit includes the step of displaying the target data registered by the user's registration operation in a table, associating it with the query destination used when accessing the data. The control unit performs a communication step in which it sends and receives communication messages with the inquiry recipient as the other party, The control unit has a decision step of sending a communication message requesting permission to use the registered target data, and determining whether or not to output a debug log containing the target data as is, in response to the reply received to the sent message. The communication message transmitted in the aforementioned communication step indicates a request for permission to use the target data for debugging, and includes an attached file containing the debug logs extracted for the aforementioned contact. A control method characterized by the following:
11. A control method performed by the control unit of an image forming apparatus, The control unit includes the step of displaying the target data registered by the user's registration operation in a table, associating it with the query destination used when accessing the data. The control unit performs a communication step in which it sends and receives communication messages with the inquiry recipient as the other party, The control unit sends a communication message requesting permission to use the registered target data. The system includes a decision step of determining whether or not to output a debug log containing the target data as is, in response to a reply received to a sent message. The output of the debug log is performed by generating the debug log in the memory of the device itself and outputting it to the outside of the device. The aforementioned communication message is sent when the debug log generated in the memory contains data that matches the registered target data. A control method characterized by the following:
12. The steps include: displaying the target data registered through the user's registration operation in a table, associating it with the query destination used when accessing the data; A communication step in which communication messages are sent and received with the aforementioned contact person as the other party, This program causes a computer to execute a communication message requesting permission to use the registered target data, and a decision step in which it determines whether or not to output a debug log containing the target data as is, based on the reply received to the message. The communication message transmitted in the aforementioned communication step indicates a request for permission to use the target data for debugging, and includes an attached file containing the debug logs extracted for the aforementioned contact. A program characterized by the following features.
13. The steps include: displaying the target data registered through the user's registration operation in a table, associating it with the query destination used when accessing the data; A communication step in which communication messages are sent and received with the aforementioned contact person as the other party, This program causes the computer of an image forming apparatus to execute a communication message requesting permission to use the registered target data, and a decision step in which it determines whether or not to output a debug log containing the target data as is, based on the reply received to the message. The output of the debug log is performed by generating the debug log in the memory of the image forming apparatus and outputting it to the outside of the image forming apparatus. The aforementioned communication message is sent when the debug log generated in the memory contains data that matches the registered target data. A program characterized by the following features.