Job setting adjustment mechanism

The print workflow manager system addresses the challenge of converting JDF attributes to printer formats by using a priority list to automatically resolve conflicts, enhancing efficiency in high-speed production printing.

JP2025118582AInactive Publication Date: 2025-08-13RICOH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025015097
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-31
Filing Date
2025-01-31
Publication Date
2025-08-13
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

High-volume printing systems face challenges in automatically converting Job Definition Format (JDF) job attributes to a format supported by the printer, leading to constraint violations that require manual intervention by operators to resolve.

Method used

A system with a print workflow manager that includes translation, violation detection, and adjustment logic to automatically convert JDF attributes to printer-supported formats, using a priority list to resolve conflicts by retaining high-priority attributes and adjusting lower-priority ones.

Benefits of technology

Automatically resolves constraint violations in print job attributes, reducing manual intervention and improving efficiency in high-speed production printing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025118582000001_ABST
    Figure 2025118582000001_ABST
Patent Text Reader

Abstract

To describe a system related to processing a print job.SOLUTION: A system includes at least one physical memory device to store print workflow manager and one or more processors coupled with the at least one physical memory devices. The one or more processors are configured to: execute the print workflow manager to receive a print job; receive a job ticket including first attributes; convert the first attributes included in the job ticket to second attributes of a format supported by a printer; and perform one or more adjustments to two or more second attributes based on a priority list when a conflict exists between the converted second attributes.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates generally to the field of print services, and more particularly to processing print jobs. [Background technology]

[0002] Entities with high-volume printing demands typically implement high-speed production printers for volume printing (e.g., 100 pages / minute or more). Production printers may include continuous forms printers that print on a web of print media (e.g., paper) stored on large rolls. Production printers typically include a localized print controller that controls the overall operation of the printing system and a print engine that includes one or more printhead assemblies, each assembly including a printhead controller and a printhead (or array of printheads). Summary of the Invention

[0003] In one embodiment, a system is disclosed that includes at least one physical memory device that stores a print workflow manager and one or more processors coupled to the at least one physical memory device, where the one or more processors receive a print job, receive a job ticket that includes first attributes, convert the first attributes included in the job ticket to second attributes in a format supported by the printer, and, if a conflict exists between the converted second attributes, perform one or more adjustments on two or more second attributes based on a priority list. [Brief explanation of the drawings]

[0004] In the following drawings, like reference numerals are used to refer to like elements. The following drawings depict various examples, however, one or more implementations are not limited to the examples depicted in the drawings.

[0005] [Figure 1]1 illustrates an embodiment of a system having a computing device employing a workflow manager.

[0006] [Figure 2] 1 illustrates one embodiment of a workflow manager.

[0007] [Figure 3] FIG. 1 is a flow diagram illustrating one embodiment for executing a print workflow.

[0008] [Figure 4] 1 illustrates an embodiment of a printing system.

[0009] [Figure 5] 1 illustrates one embodiment of a priority list.

[0010] [Figure 6] 1 illustrates one embodiment of job attribute conversion and adjustment.

[0011] [Figure 7] FIG. 10 is a flow diagram illustrating one embodiment of a process for performing job setting adjustments.

[0012] [Figure 8] 1 illustrates a computing device suitable for implementing embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0013] Job Definition Format (JDF) is the communication method of choice for managing the print production workflow between production printers, inserters, folders, cutters, and printing software. One advantage of JDF is the ability to define plex (e.g., duplex or simplex) settings for printing at the page level. Plex-level JDF settings enable the construction of Portable Document Format (PDF) files without the need to insert blank back pages to ensure the printed PDF output is correct, which is important for cut-sheet printers and therefore more costly to print as it charges the customer an extra click fee.

[0014] JDF job tickets are implemented to indicate desired attributes for a print job. However, the majority of printers are not capable of directly processing job attributes described in JDF. Therefore, the attributes reported in a JDF job ticket are often converted to a different protocol supported by the printer that will print the job. These converted job attributes are then transmitted to the printer. However, converting job attributes to a different format is a particularly difficult process because many job attributes do not have a one-to-one correspondence between protocols. For example, job attributes may be mapped many-to-few, or may not be mapped at all. As a result, the conversion process is subject to ambiguity, which protocol conversion systems attempt to address by inferring the presence (or absence) of job attributes.

[0015] In some cases, the conversion is performed without error. However, in other cases, the combination of job attributes selected by the protocol conversion system is not supported by the printer. For example, the combination of job attributes may result in a violation of constraints listed in the Postscript Printer Description (PPD) format supported by the printer. Constraint violations involve conflicts between job attributes, which can occur when one job attribute for a print job has a value that is not permitted based on the value of another job attribute for that print job. Resolving constraint violations typically requires significant time and attention from print shop operators, who may need to investigate the source of the constraint violation and manually adjust the job attributes for the print job until the attributes are compatible. Therefore, print shop operators continue to seek more efficient techniques to ensure that JDF job attributes are automatically converted to a format suitable for the printer.

[0016] According to one embodiment, a mechanism is provided for automatically adjusting print job attributes upon detecting a constraint violation. In such an embodiment, upon detecting a constraint violation, a priority list is provided indicating the priority of job attributes to implement. Thus, a constraint violation is resolved by retaining the highest priority job attribute among the conflicting job attributes and adjusting (e.g., removing and / or changing) lower priority job attributes. As used herein, a print job is defined as print data that includes data used by a printer (e.g., print engine 458) to print data on media. In embodiments, print data may include components (or objects used to print text, images, graphics, barcodes, etc.) and resources (e.g., page segments, overlays, fonts, form definitions, and page definitions). In further embodiments, print data may be included in a data file (or print file) that can be transmitted between computer systems.

[0017] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the underlying principles of the present invention.

[0018] In the specification, a reference to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification do not necessarily all refer to the same embodiment.

[0019] Throughout this document, terms such as "logic," "component," "module," "engine," "model," "interface," etc. may be referred to interchangeably and may include, by way of example, any combination of software and hardware, such as software, hardware, and / or firmware. Furthermore, any use of a particular brand, word, term, phrase, name, and / or acronym should not be read as limiting embodiments to the product or software or device that carries that label in literature outside of this document.

[0020] It is contemplated that any number and type of components may be added and / or removed to facilitate various embodiments, including the addition, removal, and / or enhancement of specific features. For the sake of brevity, clarity, and ease of understanding, many of the standard and / or well-known components, such as components of a computing device, are not shown or discussed herein. The embodiments described herein are not limited to any particular technology, topology, system, architecture, and / or standard, and are contemplated to be dynamic enough to incorporate and adapt to any future changes.

[0021] 1 illustrates a system 100 having a computing device 120 employing a workflow manager 110. In such an embodiment, the computing device 120 includes a print server computer that serves as a host machine for employing the workflow manager 110 to manage print workflows received from one or more computing devices 130 for printing on a printing system 150.

[0022] In one embodiment, computing device 120 includes an operating system ("OS") 106 that serves as an interface between one or more hardware / physical resources of computing device 120, one or more client devices 130 (e.g., 130A-130N), and printing system 150 via network 135. In other embodiments, network 135 may be implemented as a local area network (LAN). Computing device 120 further includes a processor 102, memory 104, input / output ("I / O") sources 108, such as a touchscreen, touch panel, touchpad, a virtual or conventional keyboard, and a virtual or conventional mouse.

[0023] FIG. 2 illustrates one embodiment of workflow manager 110 executing a print workflow, and FIG. 3 is a flow diagram illustrating one embodiment of a process for executing a print workflow. At processing block 310, a print file (e.g., in PDF format) containing one or more print jobs is received. At processing block 320, a job ticket is received that describes how the print job is to be printed. In one embodiment, the job ticket is a JDF ticket. In other embodiments, the job ticket may be generated by workflow manager 110. At processing block 330, the print job is processed. In one embodiment, processing includes detecting attribute constraint violations and adjusting print attributes to resolve constraint violations, as discussed in more detail below. At processing block 340, the job is submitted for printing by printing system 150.

[0024] 4 illustrates one embodiment of such a printing system 150. Printing system 150 includes a control unit 450 and a print engine 458. According to one embodiment, control unit 450 processes and renders objects received in print job data and provides a sheet map to print engine 458 for printing. Control unit (e.g., DFE or digital front end) 450 is implemented to process image objects received by control unit 450 with a raster image processor (RIP) to convert images described in a vector graphics format (e.g., shapes) into raster images (e.g., pixels) that are stored as scanline data in a memory array (not shown) for output to print engine 458.

[0025] Referring to FIG. 2, the workflow manager 110 includes a job setting adjustment mechanism (or adjustment mechanism) 200, which is implemented within the workflow to adjust print attributes upon detecting one or more constraint violations between the attributes. According to one embodiment, the adjustment mechanism 200 includes conversion logic 201, violation detection logic 202, a priority list 203, and adjustment logic 204.

[0026] As discussed above, the workflow manager 110 receives a print job to be printed by a printer and a generated job ticket. The translation logic 201 converts the job ticket into a printer formatting language. In one embodiment, the translation logic 201 receives the job ticket as a list of job attributes and values and converts the attributes included in the job ticket into job attributes in a format supported by the printing system 150, such as PostScript, Fiery, Kodak KDK, or Xerox XRX. In such an embodiment, the converted job attributes in the desired format are returned as attribute-value pairs. In a further embodiment, the translation logic 201 implements a protocol conversion system (e.g., a Fiery Application Program Interface (API)) to perform the conversion. The translation logic 201 may perform the job attribute conversion immediately before printing or as soon as the final job ticket for the print job is received.

[0027] Violation detection logic 202 examines the attribute-value pairs (or transformed attributes) produced by the transformation to determine whether the attributes violate one or more constraints. As described above, a constraint violation includes a combination of job attributes that is not supported by the printer that will print the print job. In one embodiment, violation detection logic 202 retrieves constraints from the PPD associated with the printer prior to print production. However, in other embodiments, violation detection logic 202 may query a test printer to retrieve the constraints. In a further embodiment, violation detection logic 202 generates priority list 203 upon receiving the constraints.

[0028] In one embodiment, priority list 203 lists a particular set of high priority job attributes by name. In this embodiment, high priority job attributes are considered more important than lower priority job attributes. In such an embodiment, important attributes are attributes that have a greater impact on the output of the print job. Specifically, attributes that control formatting in the converted format of the print job are considered important attributes. For example, if staple and face attributes (e.g., SameOrderFaceDown) conflict, it may be more important from a usage standpoint to keep the staple attribute and remove the SameOrderFaceDown attribute.

[0029] According to one embodiment, priority list 203 includes a list of low-priority job attributes associated with each high-priority job attribute that may cause a constraint violation. Priority list 203 also includes a solution for each low-priority job attribute when a constraint violation is determined. For example, the solution may include instructions for adjusting the low-priority job attribute. Such instructions may include removing the low-priority job attribute entirely, changing the value of the low-priority job attribute, or replacing the low-priority job attribute with one or more other job attributes. In an embodiment, priority list 203 may be hard-coded or configured based on input from a user. FIG. 5 illustrates one embodiment of a priority list.

[0030] When violation detection logic 202 detects a constraint violation, adjustment logic 204 performs the adjustments indicated in priority list 203. In one embodiment, adjustment logic 204 accesses priority list 203 and performs the adjustments based on one or more adjustment rules included in priority list 203. In such an embodiment, each adjustment rule retains the highest priority job attribute among the conflicting job attributes and adjusts (e.g., removes or changes) lower priority job attributes to correspond to the highest priority job attribute. In a further embodiment, adjustment logic 204 performs the adjustments included in solution instructions explicitly provided in the priority list by iteratively changing the lower priority job attribute that causes the constraint violation and checking to verify whether the constraint violation has been resolved.

[0031] In one embodiment, the print job (e.g., including the transformed and adjusted job attributes) is sent to the printer for printing after the constraint violations are resolved. In such an embodiment, the job attributes are sent to the printer in a Hypertext Transfer Protocol (HTTP) request as a hash map of key-value pairs. Figure 6 shows one embodiment of the adjusted attributes after the constraint violations are resolved.

[0032] In some cases, a constraint violation may not be automatically resolvable (e.g., because the constraint violation is unexpected, unsolvable, or has multiple possible solutions). Thus, in an embodiment, reconciliation mechanism 200 automatically provides a solution when it determines that multiple potential solutions exist. Additionally, reconciliation mechanism 200 may facilitate the display of a message in graphical user interface (GUI) 210 requesting input from a print shop operator. For unexpected or unsolvable constraint violations, reconciliation mechanism 200 may also display a message in GUI 210 for intervention by a print shop operator. Thus, valid constraints (e.g., constraints found in a common PostScript Printer Description (PPD) for printer drivers) may continue to be enforced to prevent printing if a print job is determined to have an error. In a further embodiment, GUI 210 may be implemented to allow an operator to view and modify a priority list.

[0033] 7 is a flow diagram illustrating one embodiment of a process 700 for performing job setting adjustments. Process 700 may be performed by processing logic, which may include hardware (e.g., circuitry, dedicated logic, programmable logic, etc.), software (e.g., instructions running on a processing device), or a combination thereof. In one embodiment, process 700 may be performed by adjustment mechanism 200. While process 700 is shown in a linear sequence for purposes of brevity and clarity of presentation, it is contemplated that any number of processes may be performed in parallel, asynchronously, or in a different order. For purposes of brevity, clarity, and ease of understanding, many of the details discussed with reference to FIGS. 1-6 will not be discussed or repeated here.

[0034] Process 700 begins at processing block 702, where a printer is set up and constraints are defined prior to print production. At processing block 704, a print job and job ticket are received. At processing block 706, the job ticket is converted into supported job attributes in a format supported by the printer. At decision block 708, a determination is made as to whether a constraint violation (e.g., a conflict between two or more attributes) has been detected. The priority list is accessed (processing block 710) upon determining that a constraint violation has occurred.

[0035] At process block 712, one or more adjustments are performed. As discussed above, the adjustments are performed based on the adjustment rules in the priority list, where the highest priority job attributes are retained and conflicting lower priority job attributes are adjusted. At process block 714, the job attributes and print data are sent to the printer. If at decision block 708 it is determined that no constraint violations were detected, the process proceeds directly to process block 714, where the transformed job attributes and print data are sent directly to the printer.

[0036] In an exemplary implementation of the coordination mechanism whereby a JDF booklet is created, many job attributes need to be set, including booklet finishing, imposition (2-up), duplex printing, and bi / saddle fold.

[0037] In some embodiments, the required booklet settings are contained in fewer attributes. Therefore, the transformation may result in additional job attributes that may cause constraint violations. In this example, the constraint reported is "(job attribute, value) is not allowed in combination with (job attribute, value)." These are typically specified in opposite directions, but with the same value. The specific constraint in this example is {(Duplex,TopBottom)=(RIPBooklet,TwoUp),(NUpOption,2ULH)=(RIPBooklet,TwoUp)}.

[0038] In this case, the adjustment mechanism 200 marks the attribute RIPBooklet with a value of TwoUp as the high priority ("dominant") attribute, and the lower priority ("subordinate") attributes that can be adjusted or removed are Duplex and NUpOption, thereby automatically resolving constraint violations that are not caused by invalid user settings, but are caused by problems related to converting JDF job attributes into a format that the printer supports.

[0039] For a booklet, the JDF section of the job ticket may contain:

number

number

number

[0040] 8 illustrates a computer system 900 in which computing device 120 may be implemented. Computer system 900 includes a system bus 920 for communicating information and a processor 910 coupled to bus 920 for processing information.

[0041] Computer system 900 further includes a random access memory (RAM) or other dynamic storage device 925 (herein referred to as main memory) coupled to bus 920 for storing information and instructions executed by processor 910. Main memory 925 may also be used for storing temporary variables or other intermediate information during execution of instructions by processor 910. Computer system 900 may also include a read-only memory (ROM) and / or other static storage device 926 coupled to bus 920 for storing static information and instructions used by processor 910.

[0042] A data storage device 927, such as a magnetic or optical disk and its corresponding drive, may also be connected to computer system 900 for storing information and instructions. Computer system 900 may also be connected to a second I / O bus 950 via an I / O interface 930. Multiple I / O devices may be connected to I / O bus 950, including a display device 924, input devices (e.g., a keyboard (or alphanumeric input device) 923 and / or a cursor control device 922). Communication device 921 is for accessing other computers (servers or clients). Communication device 921 may include a modem, a network interface card, or other well-known interface devices such as those used to connect to Ethernet, Token Ring, or other types of networks.

[0043] Embodiments may be implemented as any or a combination of one or more microchips or integrated circuits interconnected using a motherboard, hardwired logic, software stored by a memory device and executed by a microprocessor, firmware, application specific integrated circuits (ASICs), and / or field programmable gate arrays (FPGAs). The term "logic" may include, by way of example, software or hardware, and / or a combination of software and hardware.

[0044] Embodiments may be provided as a computer program product, which may include one or more machine-readable media storing machine-executable instructions that, when executed by one or more machines, such as, for example, a computer, a network of computers, or other electronic devices, may cause one or more machines to perform operations in accordance with the embodiments described herein. Machine-readable media may include, but are not limited to, floppy disks, optical disks, CD-ROMs (Compact Disc-Read Only Memory), and magneto-optical disks, ROMs, RAMs, EPROMs (Erasable Programmable Read Only Memory), EEPROMs (Electrically Erasable Programmable Read Only Memory), magnetic or optical cards, flash memory, or other types of media / machine-readable media suitable for storing machine-executable instructions.

[0045] Furthermore, embodiments may be downloaded as a computer program product that may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) over a communications link (e.g., a modem or network connection) using one or more data signals embodied in and / or modulated by a carrier wave or other propagation medium.

[0046] The drawings and the foregoing description provide examples of embodiments. Those skilled in the art will understand that one or more of the described elements may be combined into a single functional element. Alternatively, certain elements may be divided into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, the order of processes described herein may be changed and is not limited to the manner described herein. Furthermore, actions in any flow diagram need not be implemented in the order shown, nor do all actions necessarily need to be performed. Also, actions that are independent of other actions may be performed in parallel with other actions. The scope of the embodiments is in no way limited by these specific examples. Many variations are possible, whether or not expressly provided in the specification, such as differences in structure, dimensions, and use of materials. The scope of the embodiments is at least as broad as that provided by the following claims.

Claims

1. 1. A system comprising: at least one physical memory device that stores a print workflow manager; one or more processors connected to the at least one physical memory device, the one or more processors executing the print workflow manager to receiving a print job; receiving a job ticket including a first attribute; converting the first attribute included in the job ticket into a second attribute in a format supported by a printer; and if a conflict exists between the second attributes after transformation, performing one or more adjustments to two or more of the second attributes based on a priority list.

2. The system of claim 1 , wherein the reconciliation is performed based on reconciliation rules included in the priority list.

3. The system of claim 2 , wherein the adjustment rule retains the highest priority attribute among the conflicting attributes and adjusts lower priority attributes to correspond to the highest priority attribute.

4. The system of claim 3 , wherein the priority list further comprises one or more high priority attributes and a list of low priority attributes associated with each of the one or more high priority attributes.

5. The system of claim 4 , wherein performing reconciliation includes iteratively modifying the lower priority attribute that causes the conflict and determining whether the conflict is resolved.

6. The system of claim 5 , wherein the print workflow manager accesses the priority list when the conflict exists.

7. The print workflow manager receiving a constraint; The system of claim 1 , further comprising: generating the priority list based on the constraints.

8. The system of claim 1 , wherein the print workflow manager is responsible for sending the second attribute to the printer.

9. The system of claim 8 , wherein the printer receives the second attribute.

10. The system of claim 1 , wherein the job ticket comprises a Job Definition Format (JDF) job ticket.

11. When executed by one or more processors, the one or more processors: receiving a print job; receiving a job ticket including a first attribute; converting the first attribute included in the job ticket into a second attribute in a format supported by a printer; and if a conflict exists between the transformed second attributes, performing one or more adjustments on two or more of the second attributes based on a priority list.

12. The computer-readable medium of claim 11 , wherein the adjustment is performed based on adjustment rules included in the priority list.

13. 13. The computer-readable medium of claim 12, wherein performing reconciliation includes iteratively modifying a lower priority attribute that causes the conflict and determining whether the conflict is resolved.

14. 12. The computer-readable medium of claim 11 having stored thereon instructions that, when executed by the one or more processors, cause the one or more processors to access the priority list upon determining that the conflict exists.

15. When executed by the one or more processors, the one or more processors receiving a constraint; and generating the priority list based on the constraints.

16. receiving a print job; receiving a job ticket including a first attribute; converting the first attribute included in the job ticket into a second attribute in a format supported by a printer; and if a conflict exists between the transformed second attributes, performing one or more adjustments on two or more of the second attributes based on a priority list.

17. The method of claim 16 , wherein the adjustment is performed based on adjustment rules included in the priority list.

18. 20. The method of claim 17, wherein performing the reconciliation includes iteratively modifying a lower priority attribute that causes the conflict and determining whether the conflict is resolved.

19. The method of claim 16 further comprising accessing the priority list if the conflict exists.

20. receiving a constraint; The method of claim 16 , further comprising: generating the priority list based on the constraints.

Citation Information

Patent Citations

  • Printing control system, printing control program, and printing control method

    JP2008140031A

  • Print control unit, print control method, and storage medium

    JP2008310495A

  • Program, information processing apparatus, and system

    JP2016115013A

  • Printing system, program, information processing apparatus, print server, printer driver, and printer

    JP2022150569A