Methods and systems for operating a printer apparatus

Various embodiments disclose a method for operating a printer apparatus. The method comprising monitoring a utilization rate of each heating element in a first set of heating elements defined by a print head arrangement. Further, the method comprises generating a utilization dataset based upon monitoring of the utilization rate of each heating element in the first set of heating elements print head arrangement. Furthermore, the method includes analyzing the utilization dataset to identify one or more overutilized heating elements of the first set of heating elements. Additionally, the method includes identifying a second set of heating elements defined by the print head arrangement. The second set of heating elements comprises a portion of the first set of heating elements exclusive of the one or more overutilized heating elements. The method further includes processing a print job. The processed print job utilized the second set of heating elements during printing.

TECHNOLOGICAL FIELD

Example embodiments of the present disclosure relate generally to printers and, more particularly, to methods and systems for operating a printer apparatus.

BACKGROUND

Traditionally, a printer may correspond to a peripheral device that is configured to reproduce graphics and/or text on a print medium. Some examples of the printer may include, but are not limited to, a toner-based printer, a laser printer, an ink-jet printer, a thermal printer, and/or the like. A typical thermal printer may include a print head arrangement that may include a plurality of heating elements. These heating elements may be heated and pressed against a ribbon or thermal paper to perform a print operation. Traditionally, each of the heating elements in the print head arrangement may have a predetermined life that is deterministic of a life of the print head arrangement as a whole. That is, the life of the print head arrangement is defined, in some examples, by the heating element having the shortest life. For example, the print head arrangement of the thermal printer may fail due to failure of a set of heating elements of the plurality of heating elements.

Applicant has identified a number of deficiencies and problems associated with conventional printer apparatuses and other associated systems and methods. Through applied effort, ingenuity, and innovation, many of these identified problems have been solved by developing solutions that are included in embodiments of the present disclosure, many examples of which are described in detail herein.

BRIEF SUMMARY

In accordance with various illustrated embodiments, a method for operating a printer apparatus is illustrated. The method includes monitoring a utilization rate of each heating element in a first set of heating elements defined by a print head arrangement. Further, the method comprises generating a utilization dataset based upon monitoring of the utilization rate of each heating element in the first set of heating elements print head arrangement. The method includes analyzing the utilization dataset to identify one or more overutilized heating elements of the first set of heating elements. Additionally, the method includes identifying, by the heating element identification unit, a second set of heating elements defined by the print head arrangement. The second set of heating elements includes a portion of the first set of heating elements exclusive of the one or more overutilized heating elements. The method includes processing, by a controller, a print job, wherein printing the processed print job includes utilizing the second set of heating elements such that an energization of the overutilized heating elements is minimized.

In accordance with various illustrated embodiments, a printer apparatus is illustrated. The printer apparatus includes a print head arrangement comprising a first set of heating elements. Further, the printer apparatus includes a controller coupled to the print head arrangement. The controller is configured to monitor a utilization rate of each heating element in the first set of heating elements defined by the print head arrangement. Further, the controller is configured to generate a utilization dataset based upon the monitoring of the utilization rate of each heating element in the first set of heating elements. Furthermore, the controller is configured to analyze the utilization dataset to identify one or more overutilized heating elements of the first set of heating elements. Additionally, the controller is configured to identify a second set of heating elements defined by the print head arrangement. The second set of heating elements comprises a portion of the first set of heating elements exclusive of the one or more overutilized heating elements. Further, the controller is configured to process a print job to determine a processed print job, wherein printing of the processed print job includes utilizing the second set of heating elements such that an energization of the overutilized heating elements is minimized.

In accordance with various illustrated embodiments, a computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instruction stored therein, is illustrated. The computer-executable program code instructions comprising program code instructions for monitoring a utilization rate of each heating element in a first set of heating elements defined by a print head arrangement. Further, the computer-executable program code instructions comprise the program code instructions for generating a utilization dataset based upon monitoring of the utilization rate of each heating element in the first set of heating elements print head arrangement. Furthermore, the computer-executable program code instructions comprise the program code instructions for analyzing the utilization dataset to identify one or more overutilized heating elements of the first set of heating elements. Additionally, the computer-executable program code instructions comprise the program code instructions for identifying a second set of heating elements defined by the print head arrangement, wherein the second set of heating elements comprises a portion of the first set of heating elements exclusive of the one or more overutilized heating elements. The computer-executable program code instructions further comprise the program code instructions for processing a print job to determine a processed print job, wherein printing of the processed print job includes utilizing the second set of heating elements such that an energization of the overutilized heating elements is minimized.

The above summary is provided merely for purposes of summarizing some exemplary embodiments to provide a basic understanding of some aspects of the disclosure. Accordingly, it will be appreciated that the above-described embodiments are merely examples and should not be construed to narrow the scope or spirit of the disclosure in any way. It will be appreciated that the scope of the disclosure encompasses many potential embodiments in addition to those here summarized, some of which are further explained within the following detailed description and its accompanying drawings.

DETAILED DESCRIPTION

Some embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the disclosure are shown. Indeed, these disclosures may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout. Terminology used in this patent is not meant to be limiting insofar as devices described herein, or portions thereof, may be attached or utilized in other orientations

In a thermal printer, the life of a print head arrangement may be determined based on, in some examples, a life of a first set of heating elements in the print head arrangement. If one or more heating elements in the print head arrangement fails, due to overutilization, the print head arrangement as a whole may not be utilizable to process future print jobs. In certain scenarios, an operator of the thermal printer may be unaware of an imminent failure of the print head arrangement, due to a lack of availability of data pertaining to utilization of the print head arrangement. Such sudden and uninformed failure of the print head arrangement may lead to a loss in productivity and efficiency.

Example embodiments described herein provide methods, apparatuses, and systems that may facilitate monitoring of a utilization rate of a first set of heating elements in a print head arrangement. In an example embodiment, the monitoring of the utilization rate of the first set of heating elements includes determining an energization count for each heating element in the first set of heating elements. In an example embodiment, the energization count may include the number of times each heating element in the first set of heating elements is energized to process a print job. Further, the monitoring may, in some embodiments, determine an energization duration for each heating element in the first set of heating elements during the processing of the print job.

The energization count and the energization duration for each heating element in the first set of heating elements may be storable in a memory, locally and/or remotely, and as a utilization dataset. Thereafter, the utilization dataset may be analyzed to identify the presence of one or more overutilized heating elements in the first set of heating elements. Said differently, the embodiments described herein may analyze the utilization dataset to predict a shortened life of the print head arrangement based upon identified overutilized heating elements.

In response to the identification of the one or more overutilized heating elements, a notification may be generated that informs one or more users of possible failure of the print head. In an example embodiment, the notification may include a histogram depicting the utilization of each heating element in the first set of heating elements. Further, the notification may include information pertaining to a life of each heating element of the first set of heating elements determined based on analysis of the utilization dataset. For example, the life of each heating element of the plurality of heating elements may be determined based on the energization count associated with each heating element in the first set of heating elements and/or based upon the energization duration associated with each heating element in the first set of heating elements.

The generation of a notification may allow an operator of the thermal printer to proactively adjust the thermal printer or print hob such that the productivity and/or the efficiency of the process (in which the thermal printer is being used) is not compromised. By way of example, the operator of the thermal printer may, in response to a notification, proactively replace the print head arrangement of the thermal printer or take other such steps to extend the life of the thermal printer.

Alternatively or additionally, in response to the identification of the one or more overutilized heating elements, a second set of heating elements in the print head may be identified. In some example embodiments, the second set of heating elements includes a portion of the first set of heating elements. For example, the second set of heating elements may include heating elements that are underutilized in comparison to the utilization of the one or more overutilized heating elements described above. Further, a print job (e.g., a pending request to print content by the thermal printer) may processed to determine a processed print job such that at least the second set of heating elements are energized during printing of the processed print job. In some example embodiments, the processing of the print job may include modifying the print job (e.g., currently or previously performed by the thermal printer) to generate modified print job (e.g., the processed print job). Printing the modified print job (e.g., processed print job) may utilize the second set of heating elements such that the overutilization of the one or more overutilized heating elements minimized. For example, position of data in the print job, may be modified such that only a portion of the second set of heating elements will be energized during the printing of the modified print job. Alternately, the print job may be modified such that the second set of heating elements and a portion of the one or more overutilized heating elements are utilized to print the print job.

Such modification of the print job to minimize the overutilization of the one or more overutilized heating elements may function to extend the life of the print head arrangement; therefore, providing improved cost savings. Having described example embodiments of the present disclosure generally, particular features and functionality of the various devices are hereinafter described.

With reference toFIG. 1a system environment100where various embodiments of the disclosure may be implemented is shown. The system environment includes a computing device102, a network104, and a printer apparatus106. Further, the printer apparatus106includes a print head arrangement108and a control system110. The computing device102and the printer apparatus106may be communicatively coupled with each other through the network104.

The computing device102may include one or more processors and one or more memories. The one or more memories may include computer readable code that may be executable by the one or more processors to perform predetermined operation. For example, the one or more processors may be configured to execute the computer readable code to generate a print job and determine a processed print job. In an example embodiment, the print job may include data to be printed by the printer apparatus106. Some examples of the data may include text and/or graphics. Further, the print job may define the location in which the data is to be printed on a print medium (e.g., a position). For example, the print job may include coordinates of the text, which define the position of the text on the print medium, when printed. In an example embodiment, the print job is created by a driver software installed on the computing device102. In an example embodiment, the driver software includes a set of computer readable code that allows the computing device102to create the print job, modify the print job, process the print job and/or determine a processed print job. In some embodiments, the driver software may be specifically configured for use with the related printer and may include printer data including printer specifications. For example, the driver software may include details pertaining to the heating elements in the print head arrangement108(e.g., type, configuration, size, or the like). The computing device102may, for example, generate the print job in accordance to the data pertaining to the heating elements included in the driver software. After the generation of the print job, the computing device102may be further configured to transmit the print job to the printer apparatus106through the network104. The operation and structure of the computing device102has been further described in conjunction withFIGS. 12, 13, 14, and 15. Some examples of the computing device102may include a desktop computer, a laptop, a tablet computer, a mobile phone, or any other computing device that may be capable of generating and transmitting the print job.

The network104as illustrated refers to any medium through which content and messages may flow between various devices in the system environment100(e.g., the computing device102and the printer apparatus106). Examples of the network104may include, but are not limited to, a Wireless Fidelity (Wi-Fi) network, a Wireless Area Network (WAN), a Local Area Network (LAN), or a Metropolitan Area Network (MAN). Various devices in the system environment100may connect to the network104in accordance with various wired and wireless communication protocols such as Transmission Control Protocol and Internet Protocol (TCP/IP), User Datagram Protocol (UDP), and 2G, 3G, or 4G communication protocols.

The printer apparatus106may refer to a peripheral device that is capable for reproducing text and graphics on a print medium. Said differently, the printer apparatus106may be configured to perform a print operation associated with the print job provided by the computing device102. In an example embodiment, the print head arrangement108in the printer apparatus106may be configured to perform the print operation. Some examples of the printer apparatus106may include, but are not limited to, an ink-jet printer, a laser printer, and a thermal printer. For the purpose of ongoing description, the printer apparatus106is described with reference to a thermal printer. However, the present disclosure contemplates that the embodiments described herein may be equally applicable to other types of printer apparatuses without departing from the scope of the disclosure.

The print head arrangement108may refer to a component of the printer apparatus106that is configured to print data on a print medium. In an example embodiment, the print head arrangement108may include a first set of heating elements112that is energized (hereinafter interchangeably referred to as heated) and pressed against a ribbon or other print medium, such as a thermal paper, to perform a print operation. In an example embodiment, during the print operation, only one or more heating elements in the first set of heating elements are energized to perform the print operation. The one or more heating elements may be selected by the control system110based on the position of the data defined in the print job. To energize the one or more heating elements, a voltage signal is applied across the one or more heating elements, causing the heating elements to heat up. In an example embodiment, the heating of the one or more heating elements corresponds to the energization of the one or more heating elements. In an embodiment, the print head arrangement may include one or more switches (implemented using one or more relays or transistors) through which the voltage is applied across the one or more heating elements.

The control system110may be configured to control the operation of various components of the printer apparatus106. For example, the control system110may be configured to control the operation of the print head arrangement108. In an example embodiment, the control system110may be further configured to monitor and record a utilization rate of the first set of heating elements112, of the print head arrangement108, during a print operation (as described below with reference toFIG. 3). For example, the control system110may be configured to monitor and record an energization count and an energization duration for each heating element in the first set of heating elements112, during the printing of the one or more print jobs (hereinafter interchangeably referred to as previous print jobs). In an example embodiment, the energization count may define a number of times each heating element of the first set of heating elements is energized during printing of one or more previous print jobs. In an example embodiment, the energization duration may define a time period during which each heating element in the first set of heating elements is energized during printing of the one or more previous print jobs.

While description herein is provided with reference to the energization count and the energization duration as one or more monitored parameters of the first heating elements112used to determine utilization, the present disclosure contemplates that additional parameters may alternatively or additionally be considered. In some embodiments, the one or more parameters may further include information pertaining to a position of each heating element (in the first set of heating elements) of the print head arrangement108, without deviation from the scope of the present disclosure. In an example embodiment, the position of a heating element may correspond to a coordinate of the heating element on the print head arrangement108. By way of specific example, the heating element may be positioned at the coordinate (x1, y1) on the print head arrangement108. Further, based on the monitoring of the one or more parameters (e.g., energization count and/or energization duration), the control system110may be configured to generate a utilization dataset pertaining to the utilization of the heating element, positioned at the coordinate (x1, y1), of the first set of heating elements112. Based on the utilization dataset, the control system110may be configured to identify one or more overutilized heating elements, such as the heating element described above that is positioned at the coordinate (x1, y1), of the first set of heating elements112. Further, the control system110may be configured to modify the print job based on the identification of the one or more overutilized heating elements. The structure of the control system110has been described hereafter in conjunction withFIG. 2.

With reference toFIG. 2a block diagram of the control system110, in accordance with the one or more embodiments of the present disclosure is illustrated.

In some embodiments, the control system110may include a controller202, a first memory device204, a first communications interface first communication interface206, a monitoring unit208, a heating element identification unit210, a notification unit212, and a print job modification unit214. Each of the first memory device204, the first communication interface206, the monitoring unit208, the heating element identification unit210, the notification unit212, and the print job modification unit214may be communicatively coupled to the controller202.

The controller202may include one or more microprocessors with accompanying digital signal processor(s), one or more processor(s) without an accompanying digital signal processor, one or more coprocessors, one or more multi-core processors, one or more controllers, processing circuitry, one or more computers, various other processing elements including integrated circuits such as, for example, an application specific integrated circuit (ASIC) or field programmable gate array (FPGA), or some combination thereof. Accordingly, although illustrated inFIG. 2as a single controller, in an example embodiment, the controller202may include a plurality of processors and signal processing modules. The plurality of processors may be embodied on a single electronic device or may be distributed across a plurality of electronic devices collectively configured to function as the circuitry of the control system110. The plurality of processors may be in operative communication with each other and may be collectively configured to perform one or more functionalities of the circuitry of the control system110, as described herein. In an example embodiment, the controller202may be configured to execute instructions stored in the first memory device204or otherwise accessible to the controller202. These instructions, when executed by the controller202, may cause the circuitry of the control system110to perform one or more of the functionalities, as described herein.

Whether configured by hardware, firmware/software methods, or by a combination thereof, the controller202may include an entity capable of performing operations according to embodiments of the present disclosure while configured accordingly. Thus, for example, when the controller202is embodied as an ASIC, FPGA or the like, the controller202may include specifically configured hardware for conducting one or more operations described herein. Alternatively, as another example, when the controller202is embodied as an executor of instructions, such as may be stored in the first memory device204, the instructions may specifically configure the controller202to perform one or more algorithms and operations described herein.

Thus, the controller202used herein may refer to a programmable microprocessor, microcomputer or multiple processor chip or chips that can be configured by software instructions (applications) to perform a variety of functions, including the functions of the various embodiments described above. In some devices, multiple processors may be provided dedicated to wireless communication functions and one processor dedicated to running other applications. Software applications may be stored in the internal memory before they are accessed and loaded into the processors. The processors may include internal memory sufficient to store the application software instructions. In many devices, the internal memory may be a volatile or nonvolatile memory, such as flash memory, or a mixture of both. The memory can also be located internal to another computing resource (e.g., enabling computer readable instructions to be downloaded over the Internet or another wired or wireless connection).

The first memory device204may include suitable logic, circuitry, and/or interfaces that are adapted to store a set of instructions that is executable by the controller202to perform predetermined operations. Some of the commonly known memory implementations include, but are not limited to, a hard disk, random access memory, cache memory, read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, a compact disc read only memory (CD-ROM), digital versatile disc read only memory (DVD-ROM), an optical disc, circuitry configured to store information, or some combination thereof. In an example embodiment, the first memory device204may be integrated with the controller202on a single chip, without departing from the scope of the disclosure.

The first communication interface206may correspond to a communication interface that may facilitate transmission and reception of messages and data to and from various devices operating in the system environment100through the network104. For example, the first communication interface206is communicatively coupled with the computing device102through the network104. Examples of the first communication interface206may include, but are not limited to, an antenna, an Ethernet port, a USB port, a serial port, or any other port that can be adapted to receive and transmit data. The first communication interface206transmits and receives data and/or messages in accordance with the various communication protocols, such as, I2C, TCP/IP, UDP, and 2G, 3G, or 4G communication protocols.

The monitoring unit208may include suitable logic and circuitry that may allow the control system110to monitor a utilization rate of the first set of heating elements112, during a print operation. As discussed, the monitoring of the utilization rate includes monitoring the one or more parameters associated with the first set of heating elements112. For example, the monitoring unit208may be configured to monitor the energization count and the energization duration associated with each heating element of the first set of heating elements112, during printing of the one or more previous print jobs as described in detail below with reference toFIG. 3. Based on the monitoring of the one or more parameters associated with the first set of heating elements112, the monitoring unit208may be configured to generate the utilization dataset. In an example embodiment, the utilization dataset may include a cumulative count of times each heating element of the first set of heating elements112has been energized during printing of the one or more previous print jobs (hereinafter referred to as a cumulative energization count). Alternately or additionally, the utilization dataset may include a cumulative duration of energization of each heating element, in the first set of heating elements112, during printing of the one or more previous print jobs (hereinafter referred to as a cumulative energization duration). While reference is made herein to the utilization dataset including only the cumulative energization count and the cumulative energization duration, associated with each heating element of the first set of heating elements112, the present disclosure contemplates that additional parameters may be equally considered. In an example embodiment, the utilization dataset may further include, for each of the one or more previous print jobs, the energization count corresponding to a number of times each heating element in the first set of heating elements112has been energized, and the energization duration associated with each heating element in the first set of heating elements. Further, the monitoring unit208may be configured to store the utilization dataset in the first memory device204. In an example embodiment, the monitoring unit208may be further configured to update the utilization dataset during or upon completed for each print job is printed by the printer apparatus106. The monitoring unit208may be implemented using one or more technologies, such as, but not limited to, FPGA, ASIC, and the like.

The heating element identification unit210may include any suitable logic and/or circuitry that may enable the control system110to identify the one or more overutilized heating elements from the first set of heating elements112in the print head arrangement108, as is further described below with reference toFIG. 3. In an example embodiment, the heating element identification unit210may be configured to analyze the utilization dataset (stored in the first memory device204) to identify the one or more overutilized heating element. The heating element identification unit210may be further configured to determine and store the one or more parameters associated with each of the one or more overutilized heating elements in the first memory device204. Further, based on the identification of the one or more overutilized heating elements, the heating element identification unit210may be configured to identify a second set of heating elements in the print head arrangement108, as is further described inFIG. 3. In some example embodiments, the second set of heating elements may include a portion of the first set of heating elements. For example, the second set of heating elements may include heating elements (of the first set of heating elements) that are underutilized in comparison to the one or more overutilized heating elements and, in some embodiments, the second set of heating elements may be exclusive of the overutilized heating elements. The heating element identification unit210may be implemented using one or more technologies, such as, but not limited to, FPGA, ASIC, and the like.

The notification unit212may include any suitable logic and/or circuitry that may enable the control system110to generate a notification, in response to the identification of the one or more overutilized heating elements, as is further described with reference toFIG. 3. Further, the notification unit212may be configured to generate a graphical representation, such as a histogram, indicative of the utilization of each heating element of the first set of heating elements112, based on the analysis of the utilization dataset, as is illustratedFIG. 7. In an example embodiment, the notification unit212may be configured to include the histogram in the notification. Additionally or alternately, the notification unit212may be configured to include information pertaining to a life of each heating element of the first set of heating elements112in the notification. In an example embodiment, the life associated with each heating element of the first set of heating elements112may include information pertaining to a second count of times each heating element of the first set of heating elements112is energizable (hereinafter referred to as second energization count) and the second duration of energization for the which each heating element of the first set of heating elements112is energizable (hereinafter referred to second energization duration). The determination of the life of each heating element in the first set of heating elements has been further described in conjunction withFIG. 6below. Further, the notification unit212may be configured to transmit the notification to the computing unit102. In an alternate embodiment, the notification unit212may be configured to display the notification on a display device (not shown) associated with the printer apparatus106. In yet another alternate embodiment, the notification unit212may be configured to activate a light emitting diode (LED) on the printer apparatus106to indicate the notification. The notification unit212may be implemented using one or more technologies such as, but not limited to, FPGA, ASIC, and the like.

The print job modification unit214may include any suitable logic and/or circuitry that enables the control system110to process the print job (received from the computing device102) such that the processed print job utilizes the second set of heating elements during printing, as is further described below with reference toFIG. 8. To process the print job, the print job modification unit214may be configured to determine one or more possible modifications that can be made to one or more characteristics of the data included in the print job (determine a processed print job), as is further described inFIG. 8. In an example embodiment, the one or more characteristics associated with the data may include, but are not limited to, a position of the data, a size of the data, and a font type of the data. Further, the print job modification unit214may be configured to generate one or more print job recommendations corresponding to the one or more possible modifications, as is further described inFIG. 8. Further, the print job modification unit214may be configured to display the one or more print job recommendations on the display device (not shown) of the printer apparatus106. Alternately, the print job modification unit214may be configured to transmit the one or more print job recommendations to the computing device102through the notification unit212. Further, the print job modification unit214may be configured to receive an input from the operator of the printer apparatus106to select a recommendation from the one or more print job recommendations, through the notification unit212. Based on the selected recommendation, the print job modification unit214may be configured to modify the print job, as is further described inFIG. 8(e.g., a processed print job). In an alternate embodiment, the print job modification unit214may be configured to automatically select the recommendation from the one or more print job recommendations, as is further described inFIG. 8. The print job modification unit214may be implemented using one or more technologies such as, but not limited to, FPGA, ASIC, and the like. In another alternate embodiment, the print job modification unit214may be configured to receive an input from the operator of the printer apparatus106that does not selected a recommendation from the one or more print job recommendations, through the notification unit212.

In an example embodiment, the controller202may be configured to control the operation of the various units of the control system110. One of ordinary skill in the art would appreciate that the scope of the disclosure is not limited to having separate units in the control system110. In some example embodiments, each of the first memory device204, the first communication interface206, the monitoring unit208, the heating element identification unit210, the notification unit212, and the print job modification unit214, may be embedded in the controller202. In such a scenario, the controller202may be configured to perform the operation of each unit in the control system110. The operation of the control system110has been described in conjunction withFIG. 3. In some embodiments, the control system110may be partially or fully implemented on the computing device102, without departing from the scope of the disclosure.

FIGS. 3-6 and 8illustrate example flowcharts of the operations performed by an apparatus, such as printer apparatus106ofFIG. 2in accordance with example embodiments of the present invention. It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, one or more processors, circuitry and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory of an apparatus employing an embodiment of the present invention and executed by a processor in the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus provides for implementation of the functions specified in the flowcharts' block(s). These computer program instructions may also be stored in a non-transitory computer-readable storage memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage memory produce an article of manufacture, the execution of which implements the function specified in the flowcharts' block(s). The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowcharts' block(s). As such, the operations ofFIGS. 3-6 and 8, when executed, convert a computer or processing circuitry into a particular machine configured to perform an example embodiment of the present invention. Accordingly, the operations ofFIGS. 3-6 and 8define an algorithm for configuring a computer or processor, to perform an example embodiment. In some cases, a general purpose computer may be provided with an instance of the processor which performs the algorithm ofFIGS. 3-6 and 8to transform the general purpose computer into a particular machine configured to perform an example embodiment.

FIG. 3illustrates a flowchart300depicting a method for operating the printer apparatus106, in accordance with one or more embodiments of the present disclosure.

At step302, the printer apparatus106may include means, such as the control system110, the monitoring unit208, or the like for monitoring the utilization rate of the first set of heating elements112during the printing of the one or more previous print jobs. As discussed above, the monitoring of the utilization rate includes monitoring of the one or more parameters associated with the first set of heating elements. Therefore, during the printing of the previous print jobs, the monitoring unit208may be configured to monitor the one or more parameters associated with the first set of heating elements112. For example, the monitoring unit208may be configured to monitor the energization count corresponding to the number of times each heating element of the first set of heating elements112has been energized, during printing of each of the previous print jobs. In another example, the monitoring unit208may be further configured to monitor the energization duration of each heating element of the first set of heating elements112in the print head arrangement108, during the printing of the previous print jobs. The energization duration associated with each heating element in the first set of heating elements may correspond to a time period for which a heating element has been energized during the printing of a print job. For example, during the printing of a previous print job, the monitoring unit208may determine that a heating element of the first set of heating elements112has been energized twice, the first for “0.1” seconds to print a first character and the second for “0.2” seconds to print a second character. Therefore, in such an example, the monitoring unit208may determine that the energization count associated with the heating element is “2”, and the energization duration associated with the heating element is “0.3” seconds.

In an example embodiment, to determine the energization count, the monitoring unit208may be configured to determine a count of times a voltage signal has been applied to a specific heating element. The count of the number of times the voltage signal is applied to the heating element may correspond to the energization count associated with the heating element. Similarly, the monitoring unit208may be configured to determine a duration for which the voltage signal is applied on the heating element. The duration of the voltage signal may correspond to the energization duration associated with the heating element. In some embodiments, the duration for each instance in which a voltage signal is applied to a heating element may be consistent between individual heating elements (e.g., each voltage signal is applied to each heating element for the same duration). In such an embodiment, the energization count between heating elements may be uniformly compared.

Similarly, the monitoring unit208may monitor the energization count and the energization duration for other heating elements in the first set of heating elements112. Further, the monitoring unit208may be configured to determine the cumulative energization count for each heating element in the first set of heating elements112, and the cumulative energization duration for each heating element in the first set of heating elements112, based on the energization count and the energization duration determined during the printing of the previous print jobs. For example, the monitoring unit208may determine that a heating element was energized “2” times for a period of “0.3” seconds during processing of a first print job. Further, the monitoring unit208may determine that the same heating element was energized “5” times for a duration of “1.0” second during processing of a second print job. In such an example, the monitoring unit208may determine the cumulative energization count for heating element as “7”. Further, in such an embodiment, the monitoring unit208may determine the cumulative energization duration for the heating element as “1.3” seconds.

At step304, the printer apparatus106may include means, such as the control system110the monitoring unit208, or the like for generating the utilization dataset. In an example embodiment, the monitoring unit208may be configured to store the one or more parameters associated with the first set of heating elements112, as the utilization dataset. For example, the monitoring unit208may be configured to store the energization count associated with each heating element in the first set of heating elements112and the energization duration associated with each heating element in the first set of heating elements112, as the utilization dataset. Additionally, or alternately, the monitoring unit208may be further configured to store the cumulative energization count and the cumulative energization duration (determined in the step302), associated with each heating element in the first set of heating elements112, as the utilization dataset.

It may be contemplated that the scope of the disclosure is not limited to generating the utilization dataset only based on the monitoring steps performed during the printing of the previous print jobs. In an example embodiment, the monitoring of the one or more parameters associated with each heating element in the first set of heating elements112may define a continuous process, and the monitoring unit208may be configured to perform the monitoring operation during printing of the print job received from the computing device102(hereinafter interchangeably referred the current print job). Further, based on the monitoring of the one or more parameters during the printing of the current print job, the monitoring unit208may be configured to update the utilization dataset concurrent with performing the print job.

At step306, the printer apparatus may include means, such as the control system110, the heating element identification unit210, or the like for analyzing the utilization dataset pertaining to utilization of the first set of heating elements112. Based on the analysis of the utilization dataset, the heating element identification unit210may be configured to identify the one or more overutilized heating elements from the first set of heating elements112. Various embodiments pertaining to the analysis of the utilization dataset and identification of the one or more overutilized heating elements have been described in conjunction withFIGS. 4, 5, and 6.

FIG. 4illustrates a flowchart306of a method for analyzing the utilization dataset, in accordance with one or more embodiments of the present disclosure.

At step402, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for retrieving the energization count associated with each heating element of the first set of heating elements112from the utilization dataset. As discussed above, the energization count, which may be associated with each heating element, may correspond to number of times each heating element has been energized during processing of a print job. Additionally, the heating element identification unit210may be further configured to retrieve the cumulative energization count corresponding to a total number of times each heating element of the first set of heating elements112has been energized from the utilization dataset. In an example embodiment in which the utilization dataset does not include the cumulative energization count for each heating element, the heating element identification unit210may be configured to determine the cumulative energization count for each heating element based on the energization count associated with respective heating element of the first set of heating elements112. For example, the heating element identification unit210may be configured to add the energization count (determined during printing of each of the one or more previous print jobs) associated with a heating element to determine the cumulative energization count associated with the heating element.

At step404, the printing apparatus may include means, such as the control system110the heating element identification unit210, or the like for comparing the cumulative energization count associated with each heating element with a predetermined threshold energization count. In an example embodiment, the predetermined threshold energization count may correspond to a predefined value of the energization count, which is defined during an initial configuration or manufacturing of the printer apparatus106. Further, the first threshold value of the energization count may correspond to an upper limit of the energization count that is defined in such a manner that if the cumulative energization count associated with a heating element exceeds the predetermined threshold energization count, the heating element corresponds to the one or more overutilized heating elements. For example, if the predetermined threshold energization count is 10,000 and if the energization count associated with a heating element is 11,000, the heating element is determined to be overutilized.

At step406, the printer apparatus106may include means such as, the control system110, the heating element identification unit210, or the like for determining, for a heating element of the first set of heating elements112, whether the respective cumulative energization count exceeds the predetermined threshold energization count. If the heating element identification unit210determines that the cumulative energization count for a heating element has exceeded the predetermined threshold energization count, the heating element identification unit210may perform the step408. However, if the heating element identification unit210determines that the cumulative energization count for the heating element has not exceeded the predetermined threshold energization count, the heating element identification unit210may repeat the step406for the next heating element of the first set of heating elements112.

At step408, the printer apparatus106may include means such as, the control system110, the heating element identification unit210, or the like for identifying the heating element as an overutilized heating element. Thereafter, the heating element identification unit210may be configured to repeat the step406for the next heating element of the first set of heating elements112.

In an example embodiment, by repeating the steps406and408, the heating element identification unit210may be configured to identify other overutilized heating elements from the first set of heating elements112.

FIG. 5illustrates another flowchart306of a method for analyzing the utilization dataset, in accordance with one or more embodiments of the present disclosure.

At step502, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for retrieving the energization duration associated with each heating element of the first set of heating elements112(during the printing of the previous print jobs) from the utilization dataset. Additionally, the heating element identification unit210may be further configured to retrieve the cumulative energization duration for each heating element of the first set of heating elements112from the utilization dataset.

At step504, the printer apparatus106may include means, such as the control system110the heating element identification unit210, or the like for comparing, for each heating element, the cumulative energization duration with a predetermined threshold energization duration.

In an example embodiment, the predetermined threshold energization duration may correspond to a predefined value of duration, which is defined during initial configuration or during manufacturing of the printer apparatus106. Further, the predetermined threshold energization duration may correspond to an upper limit of duration that is defined in such a manner that if the duration of energization associated with a heating element exceeds the predetermined threshold energization duration, the heating element is determined to be overutilized. For example, if the predetermined threshold energization duration is 50 hours and if the energization duration associated with a heating element is 51 hours, the heating element is determined to be overutilized.

At step506, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for determining whether the energization duration associated with the heating element exceeds the predetermined threshold energization duration. If the heating element identification unit210determines that the energization duration associated with the heating element exceeds the predetermined threshold energization duration, the heating element identification unit210performs the step508. However, if the heating element identification unit210determines that the cumulative energization duration for the heating element has not exceeded the predetermined threshold energization duration, the heating element identification unit210repeats the step506for the next heating element of the first set of heating elements112.

At step508, the printer apparatus106may include means, such as the control system110the heating element identification unit210, or the like for identifying the heating element as an overutilized heating element. Thereafter, the heating element identification unit210may repeat the step506for the next heating element. In an example embodiment, by repeating the steps506and508, the heating element identification unit210may be configured to identify other overutilized heating elements from the first set of heating elements112.

It may be contemplated that the scope of the disclosure is not limited to identifying the one or more overutilized heating elements based on either the comparison performed in the step404(i.e., comparison between the cumulative energization count and the predetermined threshold energization count) or the comparison performed in the step504(i.e., comparison between the cumulative energization duration and the predetermined threshold energization duration). In another example embodiment, the heating element identification unit210may identify the one or more overutilized heating elements when both the energization count and the energization duration exceed the respective threshold values (i.e., the predetermined threshold energization count and the predetermined threshold energization duration). In other embodiments, the energization count associated with a heating element exceeds the predetermined threshold energization count; however, the energization duration associated with the heating element has not exceeded the predetermined threshold energization duration. In such an embodiment, the heating element identification unit210may not identify the heating element as the overutilized heating element. Said differently, the heating element identification unit210may only identify the heating element as the overutilized heating element in an instance in which both the energization count and the energization duration, associated with the heating element, exceed their respective threshold values.

In yet another example embodiment, the heating element identification unit210may prioritize between the comparison of the energization count with the predetermined threshold energization count, and the comparison of the energization duration with the predetermined threshold energization duration, to identify the one or more overutilized heating elements. For example, the heating element identification unit210may prioritize the comparison of the energization duration of energization with the predetermined threshold energization duration, over the comparison of the energization count with the predetermined threshold energization count. In such an embodiment, the heating element will be determined to be overutilized only in an instance in which the energization duration of energization associated with the heating element exceeds the predetermined threshold energization duration. If, for example, the energization count associated with the heating element exceeds the predetermined threshold energization count, while the energization duration associated with the heating element has not exceeded the predetermined threshold energization duration, the heating element identification unit210may not identify the heating element as the overutilized heating element.

While described above with reference to energization count and duration, the present disclosure further contemplates that, in some embodiments, cycle on time may be used to determine if a heating element is overutilized. By way of example, in some embodiments, heating elements may be arranged in rows in conjunction with a stepping motor such that a printing operation is performed by energizing a first row of heating elements, stepping the motor to the next row of heating elements, and energizing the next row (e.g., and subsequent rows) of heating elements to perform the printing job (e.g., any print operation that applies an image to physical media). In such an embodiment, a cycle refers to the time between steps performed by the stepping motor and on time refers to the period of time during each step in which the heating elements of the corresponding row are energized. In this way, count on time refers to a percentage of the time in which a heating element is energized during a step such that a higher percentage value is indicative of a shorter resting time for the heating element. As would be evident to one of ordinary skill in the art, the larger the cycle on time percentage, the more likely the heating element is overutilized in that the heating element has less time to cool down between operations.

It may be noted that the scope of the disclosure is not limited to the analysis of the utilization dataset including the comparison of the energization count and the energization duration with respective threshold values. In alternate embodiment, the heating element identification unit210may be configured to analyze the utilization dataset to determine a likelihood to fail for each heating element of the first set of heating elements112. Further, based on the determined likelihood to fail associated with each heating element of the first set of heating elements112, the heating element identification unit210may be configured to identify the one or more overutilized heating elements. The identification of the one or more overutilized heating elements based on the likelihood to fail has been described in conjunction withFIG. 6.

FIG. 6illustrates another flowchart306of a method for analyzing the utilization dataset, in accordance with one or more embodiments of the present disclosure. At step602, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for retrieving the cumulative energization count associated with each heating element of the first set of heating elements112and the cumulative energization duration associated with each heating element of the first set of heating elements112, from the utilization dataset.

At step604, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for determining a second energization count and a second energization duration for each heating element of the first set of heating elements112. In an example embodiment, the second energization count associated with a heating element may correspond to a remaining number of times the heating element is energizable (e.g., may be energized). Similarly, the second energization duration may correspond to a remaining time period for which the heating element is energizable. In an example embodiment, the second energization count and the second energization duration may be deterministic of a remaining life of the first set of heating elements112. To determine the life of each heating element of the first set of heating elements112, the heating element identification unit210may be configured to retrieve information pertaining to a maximum energization count that a heating element can be energized and a maximum energization duration for which the first set of heating elements112may be energized. In an example embodiment, the maximum energization count and the maximum energization duration may be predefined during manufacturing of the printer apparatus106. Further, the maximum energization count and the maximum energization duration correspond to values of count and duration, respectively, beyond which the heating element will fail. In an example embodiment, if the cumulative energization count and the cumulative energization duration associated with a heating element exceeds the maximum energization count and the maximum energization duration, respectively, the heating element fails. In an example embodiment, the maximum energization count and the maximum energization duration may be different from the predetermined threshold energization count and the predetermined threshold energization duration, respectively. In alternate embodiment, the maximum energization count and the maximum energization duration may be the same as the predetermined threshold energization count and the predetermined threshold energization duration, respectively.

At step606, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for determining a first difference between the cumulative energization count associated each heating element and the maximum energization count, and a second difference between the cumulative energization duration and the maximum energization duration. In such an example embodiment, the first difference may be indicative of the second energization count for which a heating element of the first set of heating elements112is energizable. In an example embodiment, the second difference may be indicative of the second energization duration for which the heating element of the first set of heating elements112is energizable. As is evident by the difference determination above, in an instance in which the energization count exceeds the maximum energization count, the first difference may be a negative value. This negative value may, in some embodiments, indicate that the heating element has failed (e.g., has exceeded the maximum energization count for the heating element). Said differently, the likelihood to fail determined at step608below may in some embodiments only be calculated for heating elements that have not exceed the maximum energization count (e.g., have not already failed).

At step608, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for determining the likelihood to fail for each heating element of the first set of heating elements112, based on the first difference and the second difference, associated with each heating element of the first set of heating elements112. In an example embodiment, the heating element identification unit210may utilize one or more known techniques such as, but not limited to, naïve Bayes theorem, to determine the likelihood to fail for each heating element based on the first difference and the second difference (determined for each heating element of the first set of heating elements112). In an example embodiment, the likelihood to fail for a heating element is inversely proportional to the first difference and the second difference determined for each heating element of the first set of heating elements112. For example, the first difference for a first heating element is 10, and the first difference for a second heating element is 5, the likelihood of the second heating element to fail is greater than the likelihood of the first heating element to fail.

At step610, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for determining whether the likelihood to fail, associated with a heating element of the first set of heating elements112exceeds a predetermined likelihood failure threshold. In an example embodiment, the predetermined likelihood failure threshold may correspond to a predefined value of likelihood, which is defined during initial configuration or during manufacturing of the printer apparatus106. Further, the predetermined likelihood of failure threshold may correspond to an upper limit of likelihood that is defined in such a manner that if the likelihood to fail associated with a heating element exceeds the predetermined likelihood of failure threshold, the heating element is determined to be overutilized. For example, if the predetermined likelihood failure threshold 0.6 and the likelihood to fail associated with a heating element is 0.7, the heating element identification unit210determines that the heating element is overutilized.

If the heating element identification unit210determines that the likelihood to fail associated with the heating element exceeds the predetermined likelihood failure threshold, the heating element identification unit210, at step612, may determine that the heating element is overutilized. However, if the heating element identification unit210determines that the likelihood to fail associated with the heating element has not exceeded the predetermined likelihood failure threshold, the heating element identification unit210may repeat the steps610for other heating elements of the first set of heating elements112.

It may be understood by a person having ordinary skills in the art that aforementioned embodiments for analyzing the utilization dataset have been provided for illustrative purposes. In an example embodiment, various other techniques for analyzing the utilization dataset may be employed without departing from the scope of the disclosure.

Referring backFIG. 3, at step308, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, for identifying the second set of heating elements. In an example embodiment, the heating element identification unit210may identify the heating elements in the first set of heating elements112, exclusive of the one or more overutilized heating elements, as the second set of heating elements. In an example embodiment, the second set of heating elements includes heating elements that are underutilized in comparison the utilization of the one or more overutilized heating elements.

At step310, the printer apparatus106may include means, such as the control system110, the heating element identification unit210, or the like for generating a notification, in response to the identification of the one or more overutilized heating elements. In an example embodiment, prior to generating the notification, the notification unit212may be configured to retrieve the one or more parameters associated with the first set of heating elements112from the memory device204. As discussed above, the one or more parameters associated with the first set of heating elements112include the position of each of the first set of heating elements112in the print head arrangement108, the energization count associated with each heating element of the first set of heating elements112, the energization duration associated with each heating element of the first set of heating elements112, and the likelihood to fail associated with each heating element of the first set of heating elements112.

Thereafter, the notification unit212may be configured to represent the values of the one or more parameters in form of a graphical representation such as, but not limited to, a histogram. For example, the notification unit212may be configured to generate at least one histogram, indicative of the utilization of the first set of heating elements112, based on the energization count associated with each heating element of the first set of heating elements112, and the position associated with each heating element of the first set of heating elements112. In another example, the notification unit212may be configured to generate another histogram based on the energization duration associated with each heating element of the first set of heating elements112and the position associated with each heating element of the first set of heating elements112. An exemplary histogram is illustrated inFIG. 7.

Referring toFIG. 7, a histogram700is illustrated. It can be observed that the histogram700includes an X-axis702, a Y-axis704, and a Z-axis706. In an example embodiment, the X-axis702and the Y-axis704define an X-Y plane708. Each point on the X-Y plane708represents a heating element of the first set of heating elements112. Further, the points in the X-Y plane are arranged in accordance with a position of the corresponding heating element on the print head arrangement108. For example, if a first heating element is positioned adjacent to a second heating element on the print head arrangement108, the point representing the first heating element in histogram700will be positioned adjacent to a point representing the second heating element. The Z-axis706represents the energization count associated with a heating element (represented by a point in the X-Y plane708). Further, it can be observed that the histogram700includes a plane710that is parallel to the X-Y plane708. In an example embodiment, the Z-coordinate of the plane710represents the predetermined threshold energization count.

Further, it can be observed that the histogram700includes a plurality of bars (depicted by712) that originate from the points in the X-Y plane708. Each bar of the plurality of bars represents the energization count associated with a heating element represented by a point in the X-Y plane708. For example, the bar712arepresents the energization count associated with a heating element represented by a point714in the X-Y plane708. Further, it can be observed that one or more bars of the plurality of bars (depicted by712) surpass the plane710. In an example embodiment, the energization count represented by the one or more bars is greater than the predetermined threshold energization count represented by the plane710. In an example embodiment, the heating elements associated with the one or more bars correspond to the one or more overutilized heating elements in the print head arrangement108.

It may be contemplated that the scope of the disclosure is not limited to generating the histogram to represent in the utilization of the first set of heating elements112. In other example embodiments, other graphical representations may be used to represent the utilization of the first set of heating elements112.

With continued reference toFIG. 3, after generating the at least one histogram, the notification unit212may be configured to generate the notification. In an example embodiment, the notification may include the generated histogram.

Additionally or alternatively, the notification may further include information pertaining to the life of each heating element of the first set of heating elements112(determined in the step604). As discussed above, the information pertaining to the life of the first set of heating elements112includes the second energization count associated with each heating element of the first set of heating elements112and the second energization duration associated with each heating element of the first set of heating elements112. In some embodiments, the information pertaining to the life may further include the likelihood to fail associated with heating element of the first set of heating elements112.

In an example embodiment, the notification may further include information pertaining to the life of the print head arrangement108as whole. In an example embodiment, the life of the print head arrangement108may be determined based on the likelihood to fail associated with each heating element of the first set of heating elements112in the print head arrangement108. In an example embodiment, the notification unit212may be configured to determine the life of the print head arrangement112as a whole. For example, to determine the life of the print head arrangement108, the notification unit212may be configured to determine a cumulative likelihood of the first set of heating elements112based on the individual likelihood to fail associated with each heating element of the first set of heating elements112. In an example embodiment, the cumulative likelihood may be indicative of the life of the print head arrangement108. For example, the cumulative likelihood associated with the first set of heating elements112is “0.8”. Therefore, the likelihood of the print head arrangement108to fail is “0.8”. Such information pertaining to the likelihood of the print head arrangement108to fail is included in the notification.

Further, the notification unit212may be configured to transmit the generated notification to the computing device102. In an example embodiment, the notification unit212may be further configured to activate the LED on the printer apparatus106. Additionally, the notification unit212may be configured to display the histogram on the display device of the printer apparatus106.

In an example embodiment, in response to the identification of the one or more overutilized heating elements, the control system110may be configured to process the incoming print jobs. The processing of the print jobs has been described in conjunction withFIG. 8.

FIG. 8aillustrates a flowchart800of a method for processing a print job, in accordance with one or more embodiments.

At step802, the printer apparatus106may include means, such as the control system110, the controller202, or the like for receiving a print job. As discussed above, the print job may include data to be printed along with the information pertaining to the position or location to which the data in the print job is to be printed on the print medium.

At step804, the printer apparatus106may include means, such as the control system110, the print job modification unit214, or the like for determining whether the one or more overutilized heating elements have been identified. In an example embodiment, the print job modification unit214may be configured to retrieve the one or more parameters associated with the one or more overutilized heating elements from the memory device204. If the information pertaining to the one or more parameters associated with the one or more overutilized heating elements is present in the first memory device204, the print job modification unit214may determine that the one or more overutilized heating elements have been identified. If the information pertaining to the one or more parameters associated with the one or more overutilized heating elements is not present in the first memory device204, the print job modification unit214determines that the one or more overutilized heating elements have not yet been identified. If the print job modification unit214determines that the one or more overutilized heating elements have not been identified, the print job modification unit214may be configured to perform the step806. If the print job modification unit214determines that the one or more overutilized heating elements have been identified, the print job modification unit214may be configured to perform the step808. At step806, the printer apparatus106may include means, such as the control system110, the controller202, or the like for printing the print job.

At step808, the printer apparatus106may include means, such as the control system110, and the print job modification unit214, for determining whether the printing of the print job requires energization of the one or more overutilized heating elements. In an example embodiment, the print job modification unit214may be configured to retrieve the position of the data to be printed from the print job (for example, the position of the data is (5,6)). Thereafter, the print job modification unit214may be configured to identify an original set of heating elements of the first set of heating elements112that will be utilized to print the data in the print job, based on the position of the data retrieved from the print job. For example, the print job modification unit214determines that to print the data at the position (5,6), the heating element at the position (2,2) needs to be energized. Therefore, the print job modification unit214identifies the heating element at the position (2,2) as the original set of heating elements that will be used to print the print job. Similarly, the print job modification unit214identifies other heating elements that will utilized to print the print job, along with their position on the print head arrangement108.

Subsequently, the print job modification unit214determines whether the original set of heating elements include heating elements that corresponds to the one or more overutilized heating elements. In an embodiment, the print job modification unit214may be configured to cross reference the position of each heating element in the original set of heating elements with the position of the one or more overutilized heating elements (stored as the one or more parameters) to determine whether the one or more heating elements include the one or more overutilized heating elements. For example, the print job modification unit214may determine that the heating element at the position (2,2) corresponds to an overutilized heating element.

For example, (with reference toFIG. 7), the print job modification unit214may determine that data is to be printed at the position (x1, y1) on the print medium. Based on the position of the data to be printed on the print medium, the print job modification unit214may determine that at least the heating element depicted by the point714(referring toFIG. 7) will be energized to print the print job. From the histogram700, it can be observed that the heating element depicted by the point714is overutilized. Therefore, the print job modification unit214may determine that the printing of the print job requires the energization of the one or more overutilized heating elements. If at step808, the print job modification unit214determines that the printing of the print job requires energization of the one or more overutilized heating elements, the print job modification unit214may perform the step810. However, if the print job modification unit214determines that printing of the print job does not require the energization of the overutilized heating element, the print job modification unit214performs the step806.

It may be noted that the step808is optional. In an alternate embodiment, the print job may be modified without determining whether the printing of the print job requires the energization of the one or more overutilized heating elements. In such an embodiment, in response to the identification of the one or more overutilized heating elements, the step810is performed for every print job.

At step810, the printer apparatus106may include means, such as the control system110, the print job modification unit214, or the like for processing the print job. The processing of the print job has been further described in conjunction withFIG. 8b.

FIG. 8billustrates a flowchart810of a method for processing the print job, in accordance with one or more embodiments.

At step810a, the printer apparatus106may include means, such as the control system110, the print job modification unit214, or the like for generating the one or more print job recommendations. In an example embodiment, the one or more print job recommendations may entail possible modifications to the print job.

To generate the one or more print job recommendations, the print job modification unit214may be configured to determine the one or more characteristics of the data in the print job that can be modified. In an example embodiment, the one or more characteristics associated with data may include, but are not limited to, a size of the data, and a position of the data. When the data includes text data, the one or more characteristics may further include a font type of the data.

For example, originally, the print job modification unit214may determine that the position of the data is such that the printing of the data (defined in the print job) will require energization of the original set of heating elements that includes the one or more overutilized heating elements. To avoid overutilization of the one or more overutilized heating elements, the print job modification unit214may determine that the position of the data to be printed can be shifted left or right of the original position such that a different set of heating elements is energized during the printing of the modified print job. In an example embodiment, the print job modification unit214may be configured to identify available space to the left and right of position of the data. In an example embodiment, the available space may be identified based on the print job. As discussed above, the print job defines the position where the data is to be printed on the print medium. Therefore, based on the print job, the print job modification unit214determines position where the data is not to be printed. Such positions constitute available space. Based on the position of the data defined in the print job, the print job modification unit214may be configured to identify the available space, left and right of the position of the data, on the print medium. Accordingly, the print job modification unit214may determine that the position of the print job can be shifted in such a manner that a portion of the data is printed in the available space (identified by the print job modification unit214). The shifting of the data in the print job has been described later in conjunction withFIG. 9.

In another example, the print job modification unit214may be configured to determine that the size of the data can be modified such that a portion of the data of modified size is printed in the available space. In yet another example, the print job modification unit214may be configured to determine that the font type of the data can be modified. Therefore, by modifying the one or more characteristics of the data, the different set of heating elements will be energized during printing of the modified print job.

In some example embodiments, the different set of heating elements may include one or more heating elements from the second set of heating elements and one or more heating elements from the one or more overutilized heating elements. In another example embodiments, the different set of heating elements may only include heating elements selected from the second set of heating elements. Various examples of selection of the different set of heating elements have been illustrated inFIGS. 9-11.

In an example embodiment, the print job modification unit214may consider the aforementioned modifications, which can be made to the one or more characteristics of the data in the print job, as the one or more print job recommendations. A person having ordinary skills in the art would appreciate that the scope of the disclosure is not limited to considering only the aforementioned possible modifications as the one or more print job recommendations. In an example embodiment, the print job modification unit214may be configured to determine additional modifications that can be made to the data in the print job based on a combination of the aforementioned modifications. For example, an additional modification may include modifying the size of the data to be printed along with shifting the position of the data. In an example embodiment, the print job modification unit214may consider such additional modifications as the one or more print job recommendations. Various examples of the possible modification that can be made to the print job have been described in conjunction withFIGS. 9, 10, and 11.

After the generation of the one or more print job recommendations, the print job modification unit214may determine a percentage of the one or more overutilized heating elements in the different set of heating elements (that will be energized during printing of the modified print job). For example, the print job modification unit214may determine that, for a recommendation corresponding to shifting of the position of the data, 40% of the different set of heating elements correspond to the one or more overutilized heating elements. Similarly, the print job modification unit214may be configured to determine the percentage of overutilized heating elements in the different set of heating elements corresponding to the other recommendations. Thereafter, the print job modification unit214may be configured to store the one or more print job recommendations in the first memory device204.

At step810b, the printer apparatus106may include means, such as the control system110, the notification unit212, or the like for transmitting the one or more print job recommendations to the computing device102. In addition to the one or more print job recommendations, the notification unit212may further transmit the information pertaining to the percentage of the one or more overutilized heating elements in the different set of heating elements associated with the respective recommendations. In alternate embodiment, the notification unit212may be configured to display the one or more print job recommendations along with the information pertaining to the percentage of the overutilized heating elements on the display device associated with the printer apparatus106.

At step810c, the printer apparatus106may include means, such as the control system110, the notification unit212, or the like for receiving an input from the operator to select a print job recommendation of the one or more print job recommendations. On receiving the input, the notification unit212may be configured to transmit the selected print job recommendation to the print job modification unit214.

At step810d, the printer apparatus106may include means, such as the control system110, the notification unit212, or the like for modifying the print job. In an example embodiment, the print job modification unit214may be configured to modify the print job in accordance with the selected print job recommendation. For example, the print job recommendation selected by the operator of the printer apparatus106corresponds to shifting of the position of the data. Therefore, the print job modification unit214may shift the position of the data in the print job. Various examples of modifying the print job have been illustrated inFIGS. 9-11

In some example embodiments, the scope of the disclosure is not limited to presenting the one or more print job recommendations to the operator and accordingly receiving input to select the print job recommendation. In alternate embodiment, the print job modification unit214may be configured to automatically select the print job recommendation of the one or more print job recommendations based on the percentage of the one or more overutilized heating elements in the different set of heating elements associated with each of the one or more print job recommendations. For instance, the print job modification unit214may select a print job recommendation having minimum percentage of overutilized heating elements in the respective different set of heating elements. For example, the print job modification unit214may determine that the different set of heating elements corresponding to a first print job recommendation (for example, shifting of position of data) includes 40% overutilized heating elements. Further, the print job modification unit214may determine the different set of heating elements corresponding to a second print job recommendation (for example, changing the size of the data) includes 30% overutilized heating elements. In such a scenario, the print job modification unit214may select the second print job recommendation to modify the print job.

Referring back toFIG. 8a, at step814, the printer apparatus106may include means, such as the control system110, the controller202, or the like for printing the processed print job.

FIG. 9illustrates an exemplary scenario900depicting a modification that can be made to the print job, in accordance with one or more embodiments. The exemplary scenario900has been described in conjunction withFIGS. 1-8.

The exemplary scenario900illustrates the print head arrangement108. FromFIG. 9, it can be observed that the print head arrangement108includes the first set of heating elements112. Further, it can be observed fromFIG. 9that the one or more heating elements of the first set of heating elements112are darkened (depicted by902). The darkened heating elements (depicted by902) correspond to the one or more overutilized heating elements. A person having ordinary skill in the art would appreciate that the heating elements have been darkened for distinctive purposes only.

For the purpose of the exemplary scenario900, in some example embodiments, a print job904is received. The print job904includes a character “0” that needs to be printed. Further, the position of the character “0” defined in the print job904is such that an original set of heating elements (encompassed by an outline906) that needs to be energized to print the character “0” includes the one or more overutilized heating elements (depicted by902).

To reduce the overutilization of the one or more overutilized heating elements (depicted by902), the print job modification unit214shifts the position of the character “0” to left of the original position of the character “0”. Printing of the shifted character “0” requires energization of the different set of heating elements (encompassed by an outline908). The different set of heating elements (encompassed by the outline908) includes the one or more overutilized heating elements (for example902a,902b, and902c) and the second set of heating elements (depicted by910).

A person having ordinary skill in the art would appreciate that the scope of the disclosure is not limited to shifting the position of the data in the print job to left of the original position. In an example embodiment, the position of the data can be shifted to any other position, without departing from the scope of the disclosure. Further, the person having ordinary skills in the art would appreciate that the scope of the disclosure is not limited to automatically shifting the position of the data in the print job. In an alternate embodiment, the control system110may receive an input from the operator of the printer apparatus106to shift the position of the data in the print job.

FIG. 10illustrates another exemplary scenario1000depicting a modification that can be made to the print job, in accordance with one or more embodiments.

The exemplary scenario1000illustrates an exemplary modification where the font size of the character “0” (in the print job1004) is reduced from the original font size. Further, fromFIG. 10, it can be observed that the printing of the character “0” of original font size requires energization of the one or more overutilized heating elements1002(encompassed by outline1006). However, the printing of the reduced sized character “0” requires energization of the different set of heating elements1008(encompassed by an outline1010).

It can be observed that the heating elements in the different set of heating elements includes the one or more overutilized heating elements (for example1002a,1002b, and1002c) and the second set of heating elements1012.

FIG. 11illustrates another exemplary scenario1100depicting a modification that can be made to the print job, in accordance with one or more embodiments.

The exemplary scenario1100illustrates a modification in which both the position of the data and the size of the data to be printed are modified. In the exemplary scenario1100, it can be observed that the printing of the character “0” of original font size requires energization of the one or more overutilized heating elements1002(encompassed by the outline1006). In the exemplary scenario1100, it can be observed that the font size of the character “0” is reduced from the original font size as well as the position of the character “0” is shifted to the left of the original position of the character. The printing of such modified character requires energization of different set of heating elements1102(encompassed by an outline1104). The first set of heating elements includes heating elements only from the second set of heating elements (for example1106a,1106b, and1106c).

Having described the architecture of the printer apparatus106and various processes performed by the printer apparatus106, the operation and the architecture of the computing device102has been described hereafter.

FIG. 12illustrates a block diagram of a computing device102, in accordance with the one or more embodiments of the present disclosure. The computing device102includes a processor1202, a second memory device1204, a second communication interface1206, and a driver unit1208. Each of the second memory device1204, the second communication interface1206, and the driver unit1208, are communicatively coupled to the processor1202.

The processor1202may include suitable logic, circuitry, and/or interfaces that are operable to execute one or more instructions stored in the second memory device1204to perform a predetermined operation. The processor1202may be implemented using one or more processor technologies known in the art. Examples of the processor1202include, but are not limited to, an x86 processor, an ARM processor, a Reduced Instruction Set Computing (RISC) processor, an Application-Specific Integrated Circuit (ASIC) processor, a Complex Instruction Set Computing (CISC) processor, or any other processor.

The second memory device1204may include suitable logic, circuitry, and/or interfaces that are adapted to store a set of instructions that is executable by the processor1202to perform the predetermined operation. Some of the commonly known memory implementations include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a hard disk drive (HDD), and a secure digital (SD) card.

The second communication interface1206may correspond to a communication interface that facilitates transmission and reception of messages and data to and from various devices operating in the system environment100through the network104. For example, the second communication interface1206is communicatively coupled with the printer apparatus106through the network104. Examples of the second communication interface1206may include, but are not limited to, an antenna, an Ethernet port, a USB port, a serial port, or any other port that can be adapted to receive and transmit data. The second communication interface1206transmits and receives data and/or messages in accordance with the various communication protocols, such as, I2C, TCP/IP, UDP, and 2G, 3G, or 4G communication protocols.

The driver unit1208may include suitable logic and circuitry that enables the driver unit1208to communicate with one or more peripheral devices. For example, the driver unit1208may be configured to communicate with the printer apparatus106. In an example embodiment, the driver unit1208may be further configured to translate the instructions received from the processor202to another instruction that is executable by the peripheral device. For example, the driver unit1208may be configured to generate the print job based on an instruction received to print the data. In an example embodiment, the printer apparatus106can comprehend the print job to process the print job. Further, the driver unit1208is configured to receive the utilization dataset pertaining to the utilization of the first set of heating elements112from the printer apparatus106. Additionally, the driver unit1208may be configured to receive the notification from the printer apparatus106. The operation of the driver unit1208has been described in conjunction withFIGS. 13, 14, and 15.

FIGS. 13-15illustrate example flowcharts of the operations performed by an apparatus, such as computing device102ofFIG. 12in accordance with example embodiments of the present invention. It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, one or more processors, circuitry and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory of an apparatus employing an embodiment of the present invention and executed by a processor in the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus provides for implementation of the functions specified in the flowcharts' block(s). These computer program instructions may also be stored in a non-transitory computer-readable storage memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage memory produce an article of manufacture, the execution of which implements the function specified in the flowcharts' block(s). The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowcharts' block(s). As such, the operations ofFIGS. 13-15, when executed, convert a computer or processing circuitry into a particular machine configured to perform an example embodiment of the present invention. Accordingly, the operations ofFIGS. 13-15define an algorithm for configuring a computer or processor, to perform an example embodiment. In some cases, a general purpose computer may be provided with an instance of the processor which performs the algorithm ofFIGS. 13-15to transform the general purpose computer into a particular machine configured to perform an example embodiment.

FIG. 13illustrates a flowchart1300of a method for operating the printer apparatus106, in accordance with one or more embodiments. The flowchart1300has been described in conjunction withFIGS. 1 through 12.

At step1302, the computing device102may include means such as the driver unit1208, for receiving the notification from the printer apparatus106. As discussed above, the notification is indicative of the identification of the one or more overutilized heating elements. Further, as discussed, the notification may include the at least one histogram (for example, the histogram700), and information pertaining to the life of each heating element of the first set of heating elements112. Further, the notification may include the information pertaining to the life of the print head arrangement108.

At step1304, the computing device102may include means such as the driver unit1208for displaying the information included in the notification is displayed on a display device (not shown) of the computing device102. In an example embodiment, the driver unit1208may be configured to display the notification on a first user interface. An exemplary first user interface has been described below in conjunction withFIG. 16.

At step1306, the computing device102may include means such as the driver unit1208for transmitting the print job to the printer apparatus106.

At step1308, the computing device102may include means such as the driver unit1208for receiving the one or more print job recommendations from the printer apparatus106. As discussed, the one or more print job recommendations correspond to possible modifications that can be made to the print job. On receiving the one or more print job recommendations, the driver unit1208may be configured to display the one or more print job recommendations on a second user interface on the display device. The second user interface has been described later in conjunction withFIG. 17.

At step1310, the computing device102may include means such as the driver unit1208for receiving an input to select a recommendation from the one or more print job recommendations.

At step1312, the computing device102may include means such as the driver unit1208for transmitting the selected recommendation to the printer apparatus106.

A person having ordinary skills in the art would appreciate that the scope of the disclosure is not limited to receiving the one or more print job recommendations and the transmitting the selected recommendation. In an example embodiment, the computing device102may be configured to edit the one or more print job recommendations. In such a scenario, the computing device102may provide one or more tools on the second user interface to edit the one or more print job recommendations. For example, a recommendation of the one or more print job recommendations correspond to changing the size of the data in the print job. In such a scenario, driver unit1208may be configured to display tools on the second user interface using which the operator may provide the input to modify the size of the data. In an example embodiment, the driver unit1208may be further configured to display a preview of the data on the second user interface. The preview allows the operator to validate whether the recommendations, selected or modified by the operator, is in accordance with the needs of the operator.

It may be contemplated that the scope of the disclosure is not limited to the printer apparatus106generating the one or more print job recommendations and accordingly modifying the print job. In an example embodiment, the computing device102may be configured to generate the one or more print job recommendations and modify the print job. One such example method has been described in conjunction withFIG. 14.

FIG. 14illustrates a flowchart1400of a method for modifying the print job, in accordance with one or more embodiments. The flowchart1400has been described in conjunction withFIGS. 1 through 12.

At step1402, the computing device102may include means such as the driver unit1208for receiving the utilization dataset pertaining to the first set of heating elements112from the printer apparatus106.

At step1404, the computing device102may include means such as the driver unit1208for analyzing the utilization dataset to identify the one or more overutilized heating elements. In an example embodiment, the driver unit1208may be configured to analyze the utilization dataset using the methodology described in step306of flowchart300. Further, the driver unit1208may be configured to store the one or more parameters associated with the one or more overutilized heating elements in the second memory device1204.

At step1406, the computing device102may include means such as the driver unit1208for generating the print job In an example embodiment, the driver unit1208may be configured to generate the print job based on the data (to be printed) received from the processor202. Thereafter, the driver unit1208may be configured to generate the print job. As discussed, the print job includes at least the position of the data to be printed, and the data, itself

At step1408, the computing device102may include means such as the driver unit1208for determining whether printing of the print job requires energization of the one or more overutilized heating elements. In an example embodiment, the driver unit1208may be configured to perform the check using the methodology described in the step808of the flowchart800. If at step1408, it is determined by the driver unit1208that the printing of the print job requires the energization of the one or more overutilized heating elements, the driver unit1208may perform the step1410. On the other hand, if the driver unit1208determines that the printing of the print job does not require the energization of the one or more overutilized heating elements, the driver unit1208performs the step1418.

At step1410, the computing device102may include means such as the driver unit1208for generating the one or more print job recommendations. In an example embodiment, the driver unit1208may employ similar methodologies, to generate the one or more print job recommendations, as described in the step810.

At step1412, the computing device102may include means such as the driver unit1208for displaying the one or more print job recommendations on the second user interface on the display device of the computing device102.

At step1414, the computing device102may include means such as the driver unit1208for receiving an input from the operator of the computing device102to select a recommendation from the one or more print job recommendations.

At step1416, the computing device102may include means such as the driver unit1208for modifying the print job based on the selected recommendation.

At step1418, the computing device102may include means such as the driver unit1208for transmitting an instruction to print the modified print job to the printer apparatus106.

Additionally or alternately, the driver unit1208may be further configured to generate the notification based on the identification of the one or more overutilized heating elements (determined in the step1404). In an example embodiment, the driver unit1208may be further configured to display the notification on the first user interface.

It may be contemplated that the scope of the disclosure is not limited to modifying the print job in response to the identification of the one or more overutilized heating elements. In an example embodiment, the print job may be modified proactively or preemptively. One such method of proactively modifying the print job has been described in conjunction withFIG. 15. For the purpose of describingFIG. 15, in some example embodiments, the one or more overutilized heating elements have not yet been identified.

FIG. 15illustrates another flowchart1500of method for modifying the print job, in accordance with one or more embodiments.

At step1502, the computing device102may include means such as the driver unit1208for receiving the utilization dataset pertaining to the first set of heating elements. As discussed, the utilization dataset includes the one or more parameters associated with the first set of heating elements112.

At step1504, the computing device102may include means such as the driver unit1208for creating the print job based on the data to be printed (received from the processor1202).

At step1506, the computing device102may include means such as the driver unit1208for analyzing the print job to identify the original set of heating elements that will be energized to print the print job. In an example embodiment, as discussed above in the step808, the analysis of the print job includes determining the position of the data define the print job. Further, based on the position of the data, the driver unit1208may determine the original set of heating elements that will be energized to print the print job. Further, the driver unit1208may analyze the print job to determine a third energization count for which each heating element of the first set of heating elements112will be energized to print the print job. Furthermore, the driver unit1208may analyze the print job to determine a third energization duration for which each heating element will be energized to print the print job.

At step1508, the computing device102may include means such as the driver unit1208for determining whether, during the printing of the print job, at least one heating element in the original set of heating elements will get overutilized.

In an example embodiment, the driver unit1208may retrieve the cumulative energization count and the cumulative energization duration, associated with each heating element in the original set of heating elements. Thereafter, driver unit1208may be configured to add the third energization count and the third energization duration to the cumulative energization count and cumulative energization duration, respectively, for each heating element in the original set of heating elements. Thereafter, the updated cumulative energization count and the updated cumulative energization duration are compared with the predetermined threshold energization count and the predetermined threshold energization duration, respectively, to determine whether at least one heating element in the original set of heating elements will get overutilized during printing of the print job.

For example, the cumulative energization count and the cumulative energization duration associated with a heating element in the original set of heating elements is “15” and “10” seconds, respectively. Further, the driver unit1208determines that during the printing of the print job, the heating element will get energized “5” times for a period of “2” seconds. Thereafter, the driver unit1208may be configured to determine updated cumulative energization count and the updated cumulative energization duration as “20” and “17” seconds, respectively.

Subsequently, the driver unit1208may be configured to check whether the updated cumulative energization count (determined as “20”) and the updated energization duration (determined as 17 seconds) exceed the respective threshold values (i.e., predetermined threshold energization count and the predetermined threshold energization duration). For instance, if the predetermined threshold energization count is “17” and predetermined threshold energization duration is “15” seconds, the driver unit1208determines that the heating element will get overutilized during the printing of the print job. While described above with reference to units of seconds, as would be understood by one of ordinary skill in the art, energization duration may in operation be in units on the order of microseconds. For example, a heating element may be energized in some embodiments for a period between 50 microseconds and 400 microseconds.

If the driver unit1208determines that the at least one heating element will get overutilized during printing of the print job, the driver unit1208may perform the step1416(described in flowchart1400). However, if the driver unit1208determines that none of the heating elements will get overutilized during printing of the print job, the driver unit1208performs the step1418to transmit the instruction to print the print job without modification.

The method described in the flowchart1500facilitates preemptive identification of the heating elements that might get overutilized during printing of the print job. Further modifying the print job on identification of such heating elements (that might get overutilized in the future) minimizes the utilization of such heating elements.

FIG. 16illustrates an exemplary first user interface1600, in accordance with one or more embodiments. The first user interface1600has been described in conjunction withFIGS. 13, 14, and15.

The first user interface1600includes a first portion1602, a second portion1604, and a third portion1606. The first portion1602is adapted to display an alert message that is indicative of a warning. For instance, the first portion1602is utilized to display the alert message “print head arrangement overutilization alert” (depicted by1608). The second portion1604may be adapted to display the histogram (included in the notification). For instance, the second portion1604may be adapted to display the histogram700. Further, the third portion1606may be configured to display information pertaining to the life of the print head arrangement108. As discussed above, the life of the print head arrangement may correspond to the likelihood of the print head arrangement108to fail. For instance, the third portion1606displays a message “60% likelihood of the print head arrangement to fail” (depicted by1610).

FIG. 17illustrates an exemplary second user interface1700, in accordance with one or more embodiments. As discussed, the second user interface1700may be configured to display the one or more print job recommendations to the operator on the display device of the computing device102.

The second user interface1700includes a list section1702that is configured to display the list of the one or more print job recommendations received from the printer apparatus106. For instance, the list section1702displays the one or more print job recommendations in a tabular form, wherein the first column (depicted by1704) illustrates the name of the recommendation and the second column (depicted by1706) illustrates the percentage of the overutilized heating elements in the different set of heating elements associated with respective recommendations. For instance, the list section1702display that the recommendation-1 (depicted by1708) has 60% overutilized heating elements (depicted by1710) in the different set of heating elements associated with the recommendation-1 (depicted by1708).

In an example embodiment, the one or more print job recommendations listed in the list section1702are selectable. The operator may provide an input to select the recommendation from the one or more print job recommendations (listed in the list section1702).

Further, the second user interface1700includes a select button1712. When an input is provided to push the select button1712, the selected recommendation is transmitted by the computing device102to the printer apparatus106.

It may be contemplated that the first user interface1600and the second user interface1700are illustrations and the scope of the disclosure should not be limited to the designs of the user interfaces illustrated inFIG. 16andFIG. 17. A person having ordinary skills in the art would appreciate that the first user interface1600and the second user interface1700may have any other design, without departing from the scope of the disclosure.

The disclosed embodiments encompass numerous advantages. The aforementioned embodiments disclose generation and display of the notification pertaining to the identification of the one or more overutilized heating elements. Such notification enables the operator of the printer apparatus106to timely change the print head arrangement108for seamless operation of the printer apparatus106. Further, as discussed supra, the print job is being modified in such a manner that the utilization of the one or more overutilized heating elements is reduced, therefore, extending the life of the print head arrangement.

FIGS. 3-8 and 13-15illustrate example flowcharts describing operations performed in accordance with example embodiments of the present invention. It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, one or more processors, circuitry and/or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions residing on a non-transitory computer-readable storage memory. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory of an apparatus employing an embodiment of the present invention and executed by a processor of the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus provides for implementation of the functions specified in the flowchart blocks. When executed, the instructions stored in the computer-readable storage memory produce an article of manufacture configured to implement the various functions specified in flowchart blocks. Moreover, execution of a computer other processing circuitry to perform various functions converts the computer or other processing circuitry into a particular machine configured to perform an example embodiment of the present invention. Accordingly, the operations set forth in the flowcharts define one or more algorithms for configuring a computer or processor, to perform an example embodiment. In some cases, a general purpose computer may be provided with an instance of the processor which performs algorithms described in one or more flowcharts to transform the general purpose computer into a particular machine configured to perform an example embodiment.

Accordingly, the described flowchart blocks support combinations of means for performing the specified functions and combinations of operations for performing the specified functions. It will also be understood that one or more flowchart blocks, and combinations of flowchart blocks, can be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware that execute computer instructions.

In some example embodiments, certain ones of the operations herein may be modified or further amplified as described below. Moreover, in some embodiments additional optional operations may also be included. It should be appreciated that each of the modifications, optional additions or amplifications described herein may be included with the operations herein either alone or in combination with any others among the features described herein.

The hardware used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may include a general purpose processor, a digital signal processor (DSP), a special-purpose processor such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA), a programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively or in addition, some steps or methods may be performed by circuitry that is specific to a given function.

In one or more example embodiments, the functions described herein may be implemented by special-purpose hardware or a combination of hardware programmed by firmware or other software. In implementations relying on firmware or other software, the functions may be performed as a result of execution of one or more instructions stored on one or more non-transitory computer-readable media and/or one or more non-transitory processor-readable media. These instructions may be embodied by one or more processor-executable software modules that reside on the one or more non-transitory computer-readable or processor-readable storage media. Non-transitory computer-readable or processor-readable storage media may in this regard comprise any storage media that may be accessed by a computer or a processor. By way of example but not limitation, such non-transitory computer-readable or processor-readable media may include RAM, ROM, EEPROM, FLASH memory, disk storage, magnetic storage devices, or the like. Disk storage, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray Disc™, or other storage devices that store data magnetically or optically with lasers. Combinations of the above types of media are also included within the scope of the terms non-transitory computer-readable and processor-readable media. Additionally, any combination of instructions stored on the one or more non-transitory processor-readable or computer-readable media may be referred to herein as a computer program product.

Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of teachings presented in the foregoing descriptions and the associated drawings. Although the figures only show certain components of the apparatus and systems described herein, it is understood that various other components may be used in conjunction with the supply management system. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, the steps in the method described above may not necessarily occur in the order depicted in the accompanying diagrams, and in some cases one or more of the steps depicted may occur substantially simultaneously, or additional steps may be involved. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.