Patent Publication Number: US-9886226-B2

Title: Image forming device, image forming method, and non-transitory computer readable medium

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2015-023150 filed Feb. 9, 2015. 
     BACKGROUND 
     Technical Field 
     The present invention relates to an image forming device, an image forming method, and a non-transitory computer readable medium. 
     SUMMARY 
     According to an aspect of the invention, there is provided an image forming device that includes a communication device, the image forming device including a class judging unit, a number-of-times determination unit, and a retry execution unit. The communication device transmits data to a management device through a first communication network provided by a communication carrier. The class judging unit judges a class under which a first error having occurred in data transmission falls, the class being predetermined according to a probability of a successful transmission retry. The number-of-times determination unit determines the number of times a retry is performed in response to the first error, such that the number of times the retry is performed is decreased as the probability of a successful transmission retry becomes low. The retry execution unit causes the communication device to execute the retry in response to the first error the determined number of times. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       An exemplary embodiment of the present invention will be described in detail based on the following figures, wherein: 
         FIG. 1  is a block diagram illustrating a configuration example of an image forming device; 
         FIG. 2  is a table illustrating an example of contents of a notification type list; 
         FIG. 3  is a table illustrating an example of contents of a communication error type list; 
         FIG. 4  is a table illustrating an example of contents of a retry operation list; 
         FIG. 5  is a chart illustrating an example of a retry operation; 
         FIG. 6  is a chart illustrating an example of a retry operation; 
         FIG. 7  is a flowchart illustrating an example of operation of the image forming device; 
         FIG. 8  is a flowchart illustrating an example of operation of the image forming device; 
         FIG. 9  is a flowchart illustrating an example of operation of the image forming device; and 
         FIG. 10  is a flowchart illustrating an example of operation of the image forming device. 
     
    
    
     DETAILED DESCRIPTION 
     An exemplary embodiment of the present invention will be described with reference to the drawings. 
       FIG. 1  is a block diagram illustrating a configuration example of an image forming device  1 . The image forming device  1  is connected to a communication network provided by a communication carrier (hereinafter, referred to as a carrier communication network) and is also connected to a management device  100  through the carrier communication network and the Internet. 
     The image forming device  1  includes a controller  11 , a random access memory (RAM)  12 , a memory  13 , a non-volatile memory (NVM)  14 , a user interface (UI)  15 , a communication adapter  16 , and a network interface (IF)  17 . 
     The controller  11  includes a central processing unit (CPU) and executes various computing processes in accordance with a program stored in the memory  13  or the NVM  14 . The RAM  12  is utilized as a work memory for the controller  11 . 
     The program may be provided using a computer readable information recording medium such as a compact disc read only memory (CD-ROM) or through a communication network such as the Internet. 
     The memory  13  is, for example, a hard disk drive (HDD), and the NVM  14  is, for example, a flash memory. The memory  13  and the NVM  14  are used to store data necessary for operation of the controller  11 . 
     The UI  15  includes, for example, a touch panel and has an image displaying function and a location inputting function. 
     The communication adapter  16  is a communication device that transmits data to the management device  100  through the carrier communication network. The carrier communication network is, for example, a mobile communication network that is held by a mobile communication carrier and through which wireless communication services may be provided. 
     The network IF  17  is connected to the Internet through a firewall. The image forming device  1  may also transmit data from the network IF  17  to the management device  100  through the Internet. 
     On designated scheduled date and time, or when a predetermined calling condition is satisfied, the image forming device  1  notifies the management device  100  of information regarding operation of the image forming device  1  (such as a billing meter, consumables, and an error history) through the carrier communication network. 
     A maintenance and management service provider having the management device  100  uses the notified operation information to provide various services such as billing, automatic consumables-delivery arrangement based on life prediction, and maintenance. 
     Meanwhile, if retries using the carrier communication network are performed without limitation in response to an error having occurred in notification data transmission in the image forming device  1  including the communication adapter  16  as described above, a charge might increase. 
     Hence, the image forming device  1  according to the present exemplary embodiment prevents a charge increase by performing an operation described below. 
     Example of Held Data 
     Data held in the memory  13  and the NVM  14  will first be described. The memory  13  is used to store notification data and the like to be transmitted to the management device  100 . The notification data is operation information such as a billing meter, consumables, and an error history. 
     The NVM  14  is used to store a notification type list, a communication error type list, and a retry operation list. 
     In the notification type list, for example, types of the notification data pieces to be transmitted to the management device  100  are classified according to the priority of notification. The notification type list represents what priorities are assigned to the notification data pieces. 
     In the example illustrated in  FIG. 2 , the notification types are classified into (1) notification for starting a service, (2) notification for periodic monitoring, and (3) notification for presenting a communication result to a user, in this order from the highest priority. Failure alert notification, consumables life notification, and billing meter cutoff notification are associated with (1) notification for starting a service. Periodic billing meter notification and periodic diagnosis data notification are associated with (2) notification for periodic monitoring. User-instruction-based communication and software version identification are associated with (3) notification for presenting a communication result to a user. 
     Note that the reason for associating the user-instruction-based communication with (3) notification for presenting a communication result to a user is the following, rather than its low priority. Specifically, if a communication error occurs, notifying the user at that time of the detail regarding the error is more desirable than performing a retry for a successful communication. 
     In the communication error type list, for example, the detail regarding each of communication errors possibly occurring in notification data transmission is ranked according to the probability of a successful transmission retry, and classes of the probabilities to which the communication errors belong are listed. More specifically, each class is determined depending on, for example, the length of an estimated period until communication recovery. 
     In the example illustrated in  FIG. 3 , the communication error types are classified into (A) an error recoverable in a short time, (B) an error that is recoverable, (C) an error that is not recoverable within a short time, and (D) an error that is recoverable through communication path change, in this order from the highest probability of a successful transmission retry (more specifically, from the shortest estimated period until communication recovery). A phone busy-tone error and a detection of a high load on the management device are associated with (A) an error recoverable in a short time. Communication quality deterioration is associated with (B) an error that is recoverable. An error not caused by a communication environment, reception of an internal error in the management device despite a successful communication, and a possible device malfunction are associated with (C) an error that is not recoverable within a short time. A communication adapter failure is associated with (D) an error that is recoverable through communication path change. 
     The retry operation list, for example, as illustrated in  FIG. 4 , lists associations among the notification data priority (1, 2, or 3), the class (A, B, C, or D) representing the probability of a successful transmission retry, and the number of times a retry is performed in response to a communication error. 
     The number of times a retry is performed in response to a communication error is set in such a manner that, for example, the number of times a retry is performed is decreased as the priority of notification data becomes low (that is, approaches 3 among 1 to 3). The number of times a retry is performed in response to a communication error is also set in such a manner that, for example, the number of times a retry is performed is decreased as the probability of a successful transmission retry becomes low (that is, approaches D among A to D). 
     More specifically, the number of times a retry is performed in response to a communication error is set, for example, in such a manner that a group of retries repeated a predetermined number of times in short periods (hereinafter, the retries repeated in short periods are referred to as short-period retries) is repeated a predetermined number of times in long periods (hereinafter, the retries repeated in long periods are referred to as long-period retries), as illustrated in  FIGS. 5 and 6 . The term “long” in “long period” and “short” in “short period” are used as lengths relative to each other. The term “short-period retry” is used to refer to a retry repeated a predetermined number of times in short periods, and the example in  FIG. 5  illustrates a retry repeated four times at an interval of 45 seconds. The term “long-period retry” is used to refer to a retry repeated a predetermined number of times in long periods, and the example in  FIG. 6  illustrates a retry repeated four times at an interval of 30 minutes. 
     The number of times a retry is repeated in long periods in response to a communication error is set in such a manner that, for example, the number of times a retry is repeated in long periods is decreased as the priority of notification data becomes low (that is, approaches 3 among 1 to 3), as illustrated in  FIG. 4 . Accordingly, if the number of times a retry is repeated in long periods is increased as the priority of notification data becomes high, notification data may thereby be more reliably transmitted to the management device  100 . In addition, if the number of times a retry is repeated in long periods is decreased as the priority of notification data becomes low, unnecessary retries may thereby be prevented. 
     The number of times a retry is repeated in short periods in response to a communication error is set in such a manner that, for example, the number of times a retry is repeated is decreased as an estimated period until communication recovery becomes long (that is, approaches D among A to D), as illustrated in  FIG. 4 . Accordingly, if the number of times a retry is repeated in short periods is increased as an estimated period until communication recovery becomes short, a retry may thereby succeed early. In addition, if the number of times a retry is repeated in short periods is decreased as the estimated period until communication recovery becomes long, unnecessary retries may thereby be prevented. 
     For example, as illustrated in  FIG. 4 , in a case where the communication error type falls under the class of the lowest probability of a successful transmission retry (more specifically, the class of the longest estimated period until communication recovery, that is, D), a communication path different from the carrier communication network connected to the communication adapter  16  is used to execute a retry in response to the error. The different communication path is, for example, the Internet connected to the network IF  17 . 
     Example of Operation at Communication Start 
       FIG. 7  is a flowchart illustrating an example of operation of the image forming device  1 . 
     After communication for transmitting notification data to the management device  100  is started, the controller  11  judges whether the communication has succeeded (S 11 ). The term “communication” in this processing is used to refer to transmission of notification data from the communication adapter  16  to the management device  100  through the carrier communication network. 
     If the communication has succeeded (S 11 : YES), the controller  11  terminates the communication. 
     If the communication has not succeeded (S 11 : NO), that is, if a communication error has occurred, the controller  11  detects and discriminates a communication error (S 12 ). As in the example illustrated in  FIG. 3 , a communication error includes a phone busy-tone error, a high load on the management device, and a communication environment error such as communication quality deterioration. The communication error also includes an error in the management device  100  and an error due to a failure of the communication adapter  16 . 
     The controller  11  identifies a notification type from the notification data by referring to the notification type list ( FIG. 2 ) (S 13 : an example of functioning as a priority judging unit). Since the notification type is classified according to the priority, identifying the notification type from the notification data leads to identifying the priority of notification data. 
     The controller  11  identifies a communication error type from the detail regarding the communication error by referring to the communication error type list ( FIG. 3 ) (S 14 : an example of functioning as a class judging unit). Since the communication error type is classified according to the class representing the probability of a successful transmission retry, identifying the communication error type from the detail regarding the communication error leads to identifying the class of the detail regarding the communication error. 
     The controller  11  identifies a retry operation from the notification type and the communication error type by referring to the retry operation list ( FIG. 4 ) (S 15 : an example of functioning as a number-of-times determination unit). The retry operation is set in such a manner that the number of times a long-period retry is performed is decreased as the priority of notification data becomes low and that the number of times a short-period retry is performed is decreased as the estimated period until communication recovery becomes long. 
     The controller  11  judges whether the identified retry operation is a communication-path changing operation (S 16 ). The case where the retry operation is a communication-path changing operation is a case where, for example, as illustrated in  FIG. 4 , the communication error type falls under the lowest probability of a successful transmission retry (more specifically, the class of the longest estimated period until communication recovery, that is, D). 
     If the retry operation is not the communication-path changing operation (S 16 : NO), the controller  11  starts a short-period retry and a long-period retry the numbers of times of which are predetermined for the retry operation, by using the communication adapter  16  and repeats the execution until the communication succeeds (S 17 , S 18 : an example of functioning as a retry execution unit). 
     If the retry operation is the communication-path changing operation (S 16 : YES), the controller  11  changes the used communication device from the communication adapter  16  to the network IF  17 , starts a short-period retry and a long-period retry the numbers of times of which are determined for the retry operation, and repeats the execution until the communication succeeds (S 19  and S 20 : an example of functioning as a second-network using unit). 
     Example of Operation During Retry Execution 
       FIGS. 8 to 10  are flowcharts of examples of a first, second, and third operations, respectively, of the image forming device  1  during retry execution. 
     The first operation example illustrated in  FIG. 8  will be described. Upon executing a retry, the controller  11  judges whether the communication has succeeded (S 21 ). 
     If the communication has succeeded (S 21 : YES), the controller  11  terminates the communication. 
     If the communication has not succeeded (S 21 : NO), that is, if a communication error has occurred, the controller  11  identifies the communication error type from the detail regarding the communication error that has currently occurred by referring to the communication error type list ( FIG. 3 ) (S 22 ). 
     The controller  11  judges whether the identified communication error type is the same as a previously identified communication error type (S 23 ). 
     If the communication error type is the same as the previously identified communication error type (S 23 : YES), the controller  11  still repeats the retry (S 24 ). In other words, the controller  11  executes a short-period retry and a long-period retry, the numbers of times of which are determined for the retry operation identified in S 15  described above, until the communication succeeds. 
     If the communication error type is not the same as the previously identified communication error type (S 23 : NO), the controller  11  newly identifies a retry operation from the notification type and the communication error type by referring to the retry operation list ( FIG. 4 ) (S 25 ). 
     If the newly identified retry operation is not the communication-path changing operation (S 26 : NO), the controller  11  starts a new short-period retry and a new long-period retry the numbers of times of which are determined for the retry operation, by using the communication adapter  16  (S 27 ). 
     If the newly identified retry operation is the communication-path changing operation (S 26 : YES), the controller  11  changes the used communication device from the communication adapter  16  to the network IF  17  and starts a short-period retry and a long-period retry the numbers of times of which are determined for the retry operation (S 28 ). 
     The second operation example illustrated in  FIG. 9  will be described. In the example, S 31  to S 35  correspond to S 21  to S 25  in the first operation example described above, respectively. 
     The controller  11  subtracts the number of times a short-period retry has been executed from the number of times the short-period retry is performed that is determined for the newly identified retry operation. The controller  11  also subtracts the number of times a long-period retry has been executed from the number of times the long-period retry is performed that is determined for the newly identified retry operation (S 36 ). 
     The controller  11  judges whether to still repeat the retry on the basis of each calculated difference (S 37 ). Specifically, if the calculated difference has a positive value, the controller  11  judges that the retry is to be still repeated (S 37 : YES), and the processing proceeds to S 38 . If the calculated difference has a value of 0 or a negative value, the controller  11  judges that the retry is not to be still repeated (S 37 : NO) and terminates the communication. 
     The newly identified retry operation is not the communication-path changing operation (S 38 : NO), the controller  11  still repeats the short-period retry and the long-period retry the numbers of times of which correspond to the calculated differences, by using the communication adapter  16  (S 39 ). 
     If the newly identified retry operation is the communication-path changing operation (S 38 : YES), the controller  11  changes the used communication device from the communication adapter  16  to the network IF  17  and still repeats the short-period retry and the long-period retry the numbers of times of which correspond to the calculated differences (S 40 ). 
     The third operation example illustrated in  FIG. 10  will be described. In the example, S 41  to S 49  and S 51  correspond to S 31  to S 40  in the second operation example described above, respectively. 
     If the newly identified retry operation is the communication-path changing operation (S 47 : YES), and if the controller  11  judges that the retry is not to be still repeated (S 50 : NO) because the corresponding calculated difference has a value of 0 or a negative value, the controller  11  changes the used communication device from the communication adapter  16  to the network IF  17  and executes the short-period retry only once (S 52 ). 
     The foregoing description of the exemplary embodiment of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiment was chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.