IP Library Granted Patent US 9,342,764
Granted Patent B1
US 9,342,764 · App. 14/666,663 · Granted May 17, 2016

Methods and systems for performing queue-based routing of print jobs in a multi-site print production environment

Inventors: Eric Michael Gross (Rochester, NY); Tulia Plumettaz (Cambridge, MA); Pallavi Manohar (Maharashtra, IN); Manoj Gupta (Bangalore, IN)
Assignee: Xerox Corporation
G06K15/1806
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,342,764
App. No.
14/666,663
Granted
May 17, 2016
Kind
B1
Abstract

A system for performing queue-based routing of print jobs in a multi-site print production environment may include a computing device having a scheduling queue and a processor, and a computer-readable storage medium in communication with the computing device. The computer-readable storage medium may include one or more programming instructions that, when executed, cause the processor to receive a plurality of print jobs from one or more client computing devices, store the received print jobs in the scheduling queue, determine that a released print job has been released by a print production environment, identify a similar print job from the received print jobs in the scheduling queue, remove the identified similar print job from the scheduling queue, and route the identified similar print job to the print production environment.

Claims (78)

1. A system for performing queue-based routing of print jobs in a multi-site print production environment, the system comprising:

a computing device comprising a scheduling queue and a processor; and

a non-transitory computer-readable storage medium in communication with the computing device, wherein the non-transitory computer-readable storage medium comprises one or more programming instructions that, when executed, cause the processor to:

receive a plurality of print jobs from one or more client computing devices,

store the received print jobs in the scheduling queue,

determine that a released print job has been released by a print production environment,

determine a first value that represents a number of print job functions associated with the released print job,

determine a second value that represents a print job size associated with the released print job,

for each print job in the scheduling queue:

determine a third value that represents a number of print job functions associated with the print job;

determine a fourth value that represents a print job size associated with the print job;

determine a first weight;

determine a second weight;

determine a fifth value equal to a difference between the first value and the third value;

determine a sixth value equal to a difference between the second value and the fourth value;

determine a seventh value by multiplying the first weight by the fifth value;

determine an eighth value by multiplying the second weight by the sixth value; and

determine a similarity metric by summing the seventh value and the eighth value;

identifying the print job having the highest similarity metric as the similar print job as a similar print job,

remove the identified similar print job from the scheduling queue, and

route the identified similar print job to the print production environment.

2. The system of claim 1 , wherein the one or more programming instructions that, when executed, cause the processor to determine that a released print job has been released by a print production environment comprises one or more programming instructions that, when executed, cause the processor to receive a notification from the print production environment when the print production environment releases a print job.

3. The system of claim 1 , wherein the one or more programming instructions that, when executed, cause the processor to determine that a released print job has been released by a print production environment comprises one or more programming instructions that, when executed, cause the processor to monitor the print production environment.

4. The system of claim 1 , wherein the computing device is in communication with the print production environment and one or more other print production environments, wherein the print production environments are located remotely from one another.

5. The system of claim 1 , wherein the one or more programming instructions that, when executed, cause the processor to identify a similar print job comprise one or more programming instructions that, when executed, cause the computing device to:

determine whether any of the plurality of print jobs in the scheduling queue have a wait time that exceeds a threshold value, wherein the wait time represents an amount of time that the print job has been in the scheduling queue; and

in response to determining that a print job from the plurality of print jobs has a wait time that exceeds the threshold value, identifying a print production environment from a plurality of print production environments in communication with the computing device that has a released a print job similar to the print job having the wait time that exceeds the threshold value.

6. The system of claim 1 , wherein the computer-readable storage medium further comprises one or more programming instructions that, when executed, cause the computing device to cause one or more resources of the print production environment to process the similar print job by performing one or more processing steps that correspond to the print job type of the similar print job.

7. A system for routing print jobs to a print production environment, the system comprising:

a computing device comprising a scheduling queue and a processor, wherein the computing device is in communication with a plurality of client computing devices and a plurality of print production environments; and

a non-transitory computer-readable storage medium in communication with the computing device, wherein the non-transitory computer-readable storage medium comprises one or more programming instructions that, when executed, cause the processor to:

receive a plurality of print jobs from one or more client computing devices,

store the received print jobs in the scheduling queue,

determine that a released print job has been released by a print production environment,

determine a first value that represents a number of print job functions associated with the released print job,

determine a second value that represents a print job size associated with the released print job,

for each print job in the scheduling queue:

determine a third value that represents a number of print job functions associated with the print job;

determine a fourth value that represents a print job size associated with the print job;

determine a first weight;

determine a second weight;

determine a fifth value equal to a difference between the first value and the third value;

determine a sixth value equal to a difference between the second value and the fourth value;

determine a seventh value by multiplying the first weight by the fifth value;

determine an eighth value by multiplying the second weight by the sixth value; and

determine a similarity metric by summing the seventh value and the eighth value;

identify the print job having the highest similarity metric,

remove the identified similar print job from the scheduling queue, and

route the identified similar print job to the print production environment;

wherein the similarity.

8. The system of claim 7 , wherein the one or more programming instructions that, when executed, cause the processor to identify a similar print job comprise one or more programming instructions that, when executed, cause the computing device to:

determine whether any of the plurality of print jobs in the scheduling queue have a wait time that exceeds a threshold value, wherein the wait time represents an amount of time that the print job has been in the scheduling queue; and

in response to determining that a print job from the plurality of print jobs has a wait time that exceeds the threshold value, identifying a print production environment from a plurality of print production environments in communication with the computing device that has a released a print job similar to the print job having the wait time that exceeds the threshold value.

9. A method of performing queue-based routing of print jobs in a multi-site print production environment, the method comprising, by one or more processors:

receiving a plurality of print jobs from one or more client computing devices;

storing the received print jobs in the scheduling queue;

determining that a released print job has been released by a print production environment;

determining a first value that represents a number of print job functions associated with the released print job;

determining a second value that represents a print job size associated with the released print job;

for each print job in the scheduling queue:

determine a third value that represents a number of print job functions associated with the print job,

determine a fourth value that represents a print job size associated with the print job,

determine a first weight,

determine a second weight,

determine a fifth value equal to a difference between the first value and the third value,

determine a sixth value equal to a difference between the second value and the fourth value,

determine a seventh value by multiplying the first weight by the fifth value,

determine an eighth value by multiplying the second weight by the sixth value, and

determine a similarity metric by summing the seventh value and the eighth value;

identifying the print job having the highest similarity metric as a similar print job;

removing the identified similar print job from the scheduling queue; and

routing the identified similar print job to the print production environment.

10. The method of claim 9 , wherein determining that a released print job has been released by a print production environment comprises receiving a notification from the print production environment when the print production environment releases a print job.

11. The method of claim 9 , wherein determining that a released print job has been released by a print production environment comprises monitoring the print production environment.

12. The method of claim 9 , wherein identifying a similar print job comprises:

determining whether any of the plurality of print jobs in the scheduling queue have a wait time that exceeds a threshold value, wherein the wait time represents an amount of time that the print job has been in the scheduling queue; and

in response to determining that a print job from the plurality of print jobs has a wait time that exceeds the threshold value, identifying a print production environment from a plurality of print production environments in communication with the computing device that has a released a print job similar to the print job having the wait time that exceeds the threshold value.

13. The method of claim 9 , further comprising causing one or more resources of the print production environment to process the similar print job by performing one or more processing steps that correspond to the print job type of the similar print job.

Assignments (4)
SECURITY INTEREST Recorded Oct 19, 2021
From: CONDUENT BUSINESS SERVICES, LLC
To: U.S. BANK, NATIONAL ASSOCIATION
Reel/Frame 057969/0445 →
SECURITY INTEREST Recorded Oct 19, 2021
From: CONDUENT BUSINESS SERVICES, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 057970/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2017
From: XEROX CORPORATION
To: CONDUENT BUSINESS SERVICES, LLC
Reel/Frame 041542/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2015
From: GROSS, ERIC MICHAEL; PLUMETTAZ, TULIA; MANOHAR, PALLAVI; GUPTA, MANOJ
To: XEROX CORPORATION
Reel/Frame 035239/0739 →