Patent Publication Number: US-9904493-B2

Title: Automatic access to high-level explanations of scheduling conflicts in print engine schedules

Description:
BACKGROUND 
     Systems and methods herein generally relate to scheduling items for print engines and more particularly to providing high-level explanations of scheduling conflicts in print engine schedules. 
     Modern printing systems provide various settings for complex flows of job submissions, print engine timing models, scheduling methods, etc. Such features greatly increase printing productivity. 
     However, some issues exist in the field or during system tests that are related to print engine productivity. For example, it can often be difficult to determine why print media sheets are not delivered at the correct time to various marking engine components (e.g., why a print engine skips a pitch). The answers depends on understanding complicated factors, such as the flow of job submission, the print engine timing model and scheduling method, etc.; and such answers, many times, are only known by highly trained programmers. In addition, a mismatch may exist between these models and the level of detail in the system logs&#39; record of scheduled events. Many times, answering this question involves expert programmers creating a tedious, time-consuming map from the recorded data to find the decisions made by the scheduler and the print engine modules. 
     SUMMARY 
     Exemplary methods herein receive, into a computerized device, scheduling constraints for sheets of print media being processed as a print job through a printing device having processing components. These methods prepare a timing schedule for each of the sheets of print media based on the scheduling constraints, using the computerized device. The timing schedule determines the location of each of the sheets of print media relative to the processing components of the printing device and relative to a linear time scale (e.g., a linear scale having sequential increments in milliseconds or other regular counting units). 
     Such methods augment the timing schedule to produce an augmented timing schedule by adding explanatory text to the timing schedule using the computerized device. The explanatory text can comprise natural language prose describing a processing activity occurring at a point along the linear time scale and can, for example, describe an intended location of each of the sheets of print media with respect to the processing components of the printing device at different times along the linear time scale. 
     Then, these methods can output a bar graph (e.g., Gantt chart) corresponding to the linear time scale and receive user input selecting a portion of the bar graph. Therefore, such methods can receive, into the computerized device, user input selecting a portion of the augmented timing schedule (e.g., selection using a cursor of a graphical user interface selecting a portion of a Gantt chart of the timing schedule). 
     In response to the user input that selects a portion of the augmented timing schedule, the methods output, from the computerized device, corresponding portions of the explanatory text that correspond to a location on the linear time scale represented by the selected portion of the augmented timing schedule. 
     Such methods also can process the print job according to the augmented timing schedule using the printing device. If the print job fails, such methods can output corresponding portions of the explanatory text from the computerized device that correspond to a location on the linear time scale where the processing the print job failed. 
     Exemplary computerized devices herein include, among other components a processor and a printing device operatively (meaning directly or indirectly) connected to the processor. The processor receives scheduling constraints for sheets of print media being processed as a print job through the printing device using processing components of the printing device. The processor prepares a timing schedule for each of the sheets of print media based on the scheduling constraints. The timing schedule determines the location of each of the sheets of print media relative to the processing components of the printing device and relative to a linear time scale. The processor augments the timing schedule to produce an augmented timing schedule by adding explanatory text to the timing schedule using the processor. The processor receives user input selecting a portion of the augmented timing schedule and, in response, outputs corresponding portions of the explanatory text corresponding to a location on the linear time scale represented by the portion of the augmented timing schedule. 
     The processor can process the print job according to the augmented timing schedule using the printing device. Upon failure of the print job, the processor can output corresponding portions of the explanatory text from the computerized device based on the processing the print job failing. These corresponding portions of the explanatory text corresponding to a location on the linear time scale where the processing the print job failed. 
     These and other features are described in, or are apparent from, the following detailed description. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Various exemplary systems and methods are described in detail below, with reference to the attached drawing figures, in which: 
         FIG. 1  is a schematic diagram illustrating a screenshot produced by methods and devices herein; 
         FIG. 2  is a schematic diagram illustrating a screenshot produced by methods and devices herein; 
         FIG. 3  is a schematic diagram illustrating a screenshot produced by methods and devices herein; 
         FIG. 4  is a schematic diagram illustrating a screenshot produced by methods and devices herein; 
         FIG. 5  is a flow diagram of various methods herein; 
         FIG. 6  is a schematic diagram illustrating systems herein; 
         FIG. 7  is a schematic diagram illustrating devices herein; and 
         FIG. 8  is a schematic diagram illustrating devices herein. 
     
    
    
     DETAILED DESCRIPTION 
     As noted above, it can often be difficult to determine why printing faults occur (such as why print media sheets are not delivered at the correct time to various marking engine components) without time-consuming investigation by expert programmers. Therefore, systems and methods herein generate explanations about why a particular sheet in a print engine job could not be delivered sooner to its destination, based on descriptive annotations of the print engine timing model. 
     The print engine scheduler is data-driven, and is based on software controls, such as the Scheduling Markup Language (SML). SML is used by machine module developers to describe an event model in terms of the module&#39;s timing and resource constraints. A sheet schedule is an instance of the model that satisfies these constraints. The constraints describe such events as when the sheet enters the module or when an image is placed on the sheet. Model parameters may be statically defined within SML text or set dynamically by the module when scheduling. The scheduler itself follows rules based on its method, for example “always deliver the next sheet as soon as possible.” 
     The systems and methods herein augment SML with explanations such that whenever a constraint goes into effect when scheduling a sheet, an explanation instance is recorded and associated with the schedule by the programmer creating the schedule (using SML). For example, the programmer can manually create such explanations while creating the schedule within SML, or the programmer can choose previously created explanations that can be stored in a library while creating the schedule. The scheduler itself is able to be configured with explanations associated with its method rules. The explanations are intended to be easily understood by someone having a basic knowledge of how the print engine works, but who is not necessarily an expert in SML. 
     The augmented schedule produced by systems and methods herein can then be manipulated by means of a tool that allows the user to reschedule a sheet delivery into an available time slot. For example, in some systems and methods herein a sheet delivery is represented by a bar in a Gantt chart (e.g., see  FIGS. 1-4 , discussed below). With systems and methods herein the user is allowed to drag the bar into an unoccupied area of the chart, whereupon the tools provided by systems and methods herein display a text window showing the explanations leading to any constraints violated by the new schedule. 
     Example conflict explanations can include, for example, “sheet  7  must be delivered after sheet  6 ”; “sheet  7  spends 500 milliseconds entering the stacker at 12500”; “sheet  7  spends 500 milliseconds entering the marker at 5500”; “the letter size sheet runs in pitch mode  10  (frame size=500 milliseconds)”; “the back side image occupies the 3rd pitch after the photoreceptor seam at 11500”; “the front side image occurs 11 pitches earlier at 6000”; “*Conflict* sheet  6  back side image occurs at 6000”; “sheet  7  is sent to the modules at 3000”; “the stacker must receive the schedule no later than 4500”; “the marker must receive the schedule no later than 4500”; “the feeder must receive the schedule no later than 4000”; “sheet  7  is planned at 2700”; etc. 
       FIGS. 1-4  illustrate a graphical user interface  110  screen illustrating different screenshots. As shown in  FIGS. 1-4 , with systems and methods herein clicking on a bar in the Gnatt chart brings up a text window containing explanations; references to sheets in a text window could be hyperlinks to other explanation windows, affording navigation throughout a print job schedule. 
     More specifically, as shown in  FIG. 1 , item  100  illustrates a Gantt chart depicting a series of sheet schedules (item  102 ) across a millisecond timeline which increases from left to right (item  104 ). Each horizontal entry, for example item  106  (Sheet #3), lays out a sheet schedule comprising successive printer operations applied to the Sheet#3 (item  108 ). In  FIG. 2 , item  120  represents the user&#39;s selection (through operation of a pointing device, such as a mouse, arrow keys, touch of a touch screen, etc.) of one sheet&#39;s operation item within the Gnatt chart  100  and the resulting pop-up display of explanations (item  122 ) for that operation item  120  within the Gnatt chart schedule  100 .  FIG. 3  shows the resulting display of explanations (item  132 ) for an operation item  130  within the schedule for a subsequent sheet. Note the delay between this sheet and its predecessor.  FIG. 4  illustrates how, after the user attempts to move the delivery of the delayed sheet from the original time (item  140 ) to an earlier time (item  142 ), the explanations are updated to indicate the resulting scheduling conflict (item  144 ). 
       FIG. 5  is flowchart illustrating exemplary methods herein. In item  150 , these methods receive, into a computerized device, scheduling constraints for sheets of print media being processed as a print job through a printing device having processing components. In item  152 , these methods prepare a timing schedule for each of the sheets of print media based on the scheduling constraints, using the computerized device. The timing schedule prepared in item  152  determines the location of each of the sheets of print media relative to the processing components of the printing device and relative to a linear time scale (e.g., a linear scale having sequential increments in milliseconds or other regular counting units). 
     In item  154 , such methods augment the timing schedule to produce an augmented timing schedule by adding explanatory text to the timing schedule using the computerized device. The explanatory text can comprise natural language prose describing a processing activity occurring at a point along the linear time scale and can, for example, describe an intended location of each of the sheets of print media with respect to the processing components of the printing device at different times along the linear time scale. 
     Then, in item  156 , these methods can output a bar graph (e.g., Gantt or other similar time-based type chart) corresponding to the linear time scale and receive user input selecting a portion of the bar graph in item  158 . Therefore, such methods can receive (into the computerized device in item  158 ) user input selecting a portion of the augmented timing schedule (e.g., selection using a cursor of a graphical user interface selecting a portion of a Gantt chart of the timing schedule). 
     In response to the user input that selects a portion of the augmented timing schedule in item  158 , the methods output, from the computerized device in item  160 , corresponding portions of the explanatory text (e.g., items  122 ,  132  and  144  in  FIGS. 2-4 ) that correspond to a location on the linear time scale represented by the selected portion (e.g., items  120 ,  130  and  142  in  FIGS. 2-4 ) of the augmented timing schedule. 
     Such methods also can process the print job according to the augmented timing schedule using the printing device in item  162 . If the print job fails, such methods can output corresponding portions of the explanatory text from the computerized device that correspond to a location on the linear time scale where the processing the print job failed in item  164 . 
     As shown in  FIG. 6 , exemplary systems and methods herein include various computerized devices  200 ,  204  located at various different physical locations  206 . The computerized devices  200 ,  204  can include print servers, printing devices, personal computers, etc., and are in communication (operatively connected to one another) by way of a local or wide area (wired or wireless) network  202 . 
       FIG. 7  illustrates a computerized device  200 , which can be used with systems and methods herein and can comprise, for example, a print server, a personal computer, a portable computing device, etc. The computerized device  200  includes a controller/tangible processor  224  and a communications port (input/output)  226  operatively connected to the tangible processor  224  and to the computerized network  202  external to the computerized device  200 . Also, the computerized device  200  can include at least one accessory functional component, such as a graphic user interface assembly  236  that also operate on the power supplied from the external power source  228  (through the power supply  222 ). 
     The input/output device  226  is used for communications to and from the computerized device  200 . The tangible processor  224  controls the various actions of the computerized device. A non-transitory computer storage medium device  220  (which can be optical, magnetic, capacitor based, etc.) is readable by the tangible processor  224  and stores instructions that the tangible processor  224  executes to allow the computerized device to perform its various functions, such as those described herein. Thus, as shown in  FIG. 3 , a body housing has one or more functional components that operate on power supplied from an alternating current (AC) source  228  by the power supply  222 . The power supply  222  can comprise a power storage element (e.g., a battery, etc). 
       FIG. 8  illustrates a computerized device that is a printing device  204 , which can be used with systems and methods herein and can comprise, for example, a printer, copier, multi-function machine, multi-function device (MFD), etc. The printing device  204  includes many of the components mentioned above and at least one marking device (printing engines)  210  operatively connected to the tangible processor  224 , a media path  216  positioned to supply sheets of media from a sheet supply  214  to the marking device(s)  210 , etc. After receiving various markings from the printing engine(s), the sheets of media can optionally pass to a finisher  208  which can fold, staple, sort, etc., the various printed sheets. Also, the printing device  204  can include at least one accessory functional component (such as a scanner/document handler  212 , etc.) that also operate on the power supplied from the external power source  228  (through the power supply  222 ). 
     Exemplary computerized devices herein include, among other components a processor  224  and a printing device  204  operatively (meaning directly or indirectly) connected to the processor  224 . The processor  224  receives scheduling constraints for sheets of print media being processed as a print job through the printing device  204  using processing components of the printing device  204 . The processor  224  prepares a timing schedule for each of the sheets of print media based on the scheduling constraints. The timing schedule determines the location of each of the sheets of print media relative to the processing components of the printing device  204  and relative to a linear time scale. The processor  224  augments the timing schedule to produce an augmented timing schedule by adding explanatory text to the timing schedule using the processor  224 . The processor  224  receives user input selecting a portion of the augmented timing schedule and, in response, outputs corresponding portions of the explanatory text corresponding to a location on the linear time scale represented by the portion of the augmented timing schedule. 
     The processor  224  can process the print job according to the augmented timing schedule using the printing device  204 . Upon failure of the print job, the processor  224  can output corresponding portions of the explanatory text from the computerized device based on the processing the print job failing. These corresponding portions of the explanatory text corresponding to a location on the linear time scale where the processing the print job failed. 
     As would be understood by those ordinarily skilled in the art, the printing device  204  shown in  FIG. 8  is only one example and the systems and methods herein are equally applicable to other types of printing devices that may include fewer components or more components. For example, while a limited number of printing engines and paper paths are illustrated in  FIG. 8 , those ordinarily skilled in the art would understand that many more paper paths and additional printing engines could be included within any printing device used with systems and methods herein. 
     While some exemplary structures are illustrated in the attached drawings, those ordinarily skilled in the art would understand that the drawings are simplified schematic illustrations and that the claims presented below encompass many more features that are not illustrated (or potentially many less) but that are commonly utilized with such devices and systems. Therefore, Applicants do not intend for the claims presented below to be limited by the attached drawings, but instead the attached drawings are merely provided to illustrate a few ways in which the claimed features can be implemented. 
     Many computerized devices are discussed above. Computerized devices that include chip-based central processing units (CPU&#39;s), input/output devices (including graphic user interfaces (GUI), memories, comparators, tangible processors, etc.) are well-known and readily available devices produced by manufacturers such as Dell Computers, Round Rock Tex., USA and Apple Computer Co., Cupertino Calif., USA. Such computerized devices commonly include input/output devices, power supplies, tangible processors, electronic storage memories, wiring, etc., the details of which are omitted herefrom to allow the reader to focus on the salient aspects of the systems and methods described herein. Similarly, scanners and other similar peripheral equipment are available from Xerox Corporation, Norwalk, Conn., USA and the details of such devices are not discussed herein for purposes of brevity and reader focus. 
     The terms printer or printing device as used herein encompasses any apparatus, such as a digital copier, bookmaking machine, facsimile machine, multi-function machine, etc., which performs a print outputting function for any purpose. The details of printers, printing engines, etc., are well-known and are not described in detail herein to keep this disclosure focused on the salient features presented. The systems and methods herein can encompass systems and methods that print in color, monochrome, or handle color or monochrome image data. All foregoing systems and methods are specifically applicable to electrostatographic and/or xerographic machines and/or processes. Further, the terms automated or automatically mean that once a process is started (by a machine or a user), one or more machines perform the process without further input from any user. 
     It will be appreciated that the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims. Unless specifically defined in a specific claim itself, steps or components of the systems and methods herein cannot be implied or imported from any above example as limitations to any particular order, number, position, size, shape, angle, color, or material.