IP Library Granted Patent US 12,212,637
Granted Patent B2
US 12,212,637 · App. 16/576,531 · Granted Jan 28, 2025

Delivery pacing systems and methods

Inventors: Sherri Renee Hiller (Colts Neck, NJ); Samuel N. Kamens (West Orange, NJ); Richard D. Shriver (Tinton Falls, NJ)
Assignee: Open Text Holdings, Inc.
H04L67/63
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 12,212,637
App. No.
16/576,531
Granted
Jan 28, 2025
Kind
B2
Abstract

Embodiments provide a delivery pacing solution to keep customers from affecting other customers. The delivery pacing solution need not be predefined or pre-configured for any customer or any particular job or job type and can be implemented in various ways, for instance, in a queue manager or a dynamic ticketing server. In some embodiments, an agent may obtain from a queue an item specifying a destination and determine whether the item has a concurrency parameter for a group associated with the destination. If so, the agent delivers the item to the destination. If not, the agent dynamically determines a concurrency parameter and returns the item to the queue with the concurrency parameter which controls a maximum number of items in the group that can be concurrently processed for delivery to the destination. A queue manager applies a concurrency rule to the item based on the concurrency parameter.

Claims (51)

1. A system for delivery pacing, comprising:

a processor;

a non-transitory computer readable medium storing thereon a set of computer instructions translatable by the processor for:

obtaining an item from a queue of a server machine, the item specifying a group associated with a destination;

determining whether the item has a concurrency parameter for the group associated with the destination, the concurrency parameter identifying a numeric limit on a number of items in the group that are concurrently processable for delivery to the destination;

if the item has the concurrency parameter for the group, delivering the item to the destination; and

if the item does not have the concurrency parameter for the group:

dynamically determining an updated concurrency parameter for the item in the group, thereby determining a dynamically determined concurrency parameter, wherein the dynamically determined concurrency parameter controls a maximum number of items for the group that are concurrently processable by the server machine;

returning the item to the queue with the dynamically determined concurrency parameter included in the item;

updating the other items of the group with the dynamically determined concurrency parameter; and

applying a concurrency rule to the item returned to the queue based on the dynamically determined concurrency parameter from the item returned to the queue, wherein applying the concurrency rule comprises determining whether processing the item returned to the queue would exceed the numeric limit provided by the dynamically determined concurrency parameter on an updated number of items in the group that are concurrently processable for delivery to the destination.

2. The system of claim 1 , wherein the item is a document, fax, file, message, or piece of information.

3. The system of claim 1 , wherein the group is one of a plurality of destination groups associated with different destinations, wherein the server machine is connected to a predetermined number of lines for servicing the different destinations, and wherein a respective concurrency parameter of each destination group of the plurality of destination groups controls a maximum number of items in each destination group that can be concurrently processed for delivery to a respective destination.

4. The system of claim 1 , wherein applying the concurrency rule to the item based on the dynamically determined concurrency parameter comprises applying the concurrency rule to the item independently of a priority value associated with the item.

5. The system of claim 1 , wherein the instructions are translatable by the processor for obtaining the item from the queue of the server machine, determining whether the item has the concurrency parameter for the group associated with the destination, dynamically determining the concurrency parameter for the group, and returning the item to the queue with the dynamically determined concurrency parameter in a background process that is one of a plurality of background processes on the server machine.

6. The system of claim 1 , wherein the set of computer instructions further comprise instructions translatable by the processor for setting a concurrency limit for the group associated with the destination to the dynamically determined concurrency parameter, and wherein applying the concurrency rule to the item based on the dynamically determined concurrency parameter comprises:

preventing the item from being dequeued if the concurrency limit for the group is met; and

allowing the item to be dequeued from the queue if the concurrency limit for the group is not met.

7. A method for delivery pacing, comprising:

obtaining, at a server machine, an item from a queue of the server machine, the item specifying a group associated with a destination;

determining whether the item has a concurrency parameter for the group associated with the destination, the concurrency parameter identifying a numeric limit on a number of items in the group that are concurrently processable for delivery to the destination; and

in response to determining that the item does not have the concurrency parameter for the group:

dynamically determining an updated concurrency parameter for the item in the group, thereby determining a dynamically determined concurrency parameter, wherein the dynamically determined concurrency parameter controls a maximum number of items for the group that are concurrently processable by the server machine;

returning the item to the queue with the dynamically determined concurrency parameter included in the item;

updating the other items of the group with the dynamically determined concurrency parameter; and

applying a concurrency rule to the item returned to the queue based on the dynamically determined concurrency parameter from the item returned to the queue, wherein applying the concurrency rule comprises determining whether processing the item returned to the queue would exceed the numeric limit provided by the dynamically determined concurrency parameter on an updated number of items in the group that are concurrently processable for delivery to the destination.

8. The method according to claim 7 , wherein the concurrency parameter for the group controls a maximum number of items in the group that can be concurrently processed for delivery to the destination.

9. The method according to claim 7 , wherein the item is a document, fax, file, message, or piece of information.

10. The method according to claim 7 , wherein the group is one of a plurality of destination groups associated with different destinations, wherein the server machine is connected to a predetermined number of lines for servicing the different destinations, and wherein a respective concurrency parameter of each destination group of the plurality of destination groups controls a maximum number of items in each destination group that can be concurrently processed for delivery to a respective destination.

11. The method according to claim 7 , further comprising:

prior to the obtaining, determining whether concurrency is enabled, wherein the determining whether the item has the concurrency parameter for the group is performed based on a determination that concurrency is enabled.

12. The method according to claim 7 , wherein the concurrency rule is applied to the item independently of a priority value associated with the item.

13. The method of claim 7 , wherein obtaining the item from the queue of the server machine, determining whether the item has the concurrency parameter for the group associated with the destination, dynamically determining the concurrency parameter for the group, and returning the item to the queue with the dynamically determined concurrency parameter are performed by a background process from a plurality of background processes running on the server machine.

14. The method of claim 7 , further comprising setting a concurrency limit for the group associated with the destination to the dynamically determined concurrency parameter and, wherein applying the concurrency rule to the item based on the dynamically determined concurrency parameter comprises preventing the item from being dequeued if the concurrency limit for the group is met.

15. A computer program product comprising a non-transitory computer readable medium storing instructions translatable by a processor to perform:

obtaining an item from a queue, the item specifying a group associated with a destination;

determining whether the item has a concurrency parameter for the group associated with the destination, the concurrency parameter identifying a numeric limit on a number of items in the group that are concurrently processable for delivery to the destination;

if the item has the concurrency parameter for the group, delivering the item to the destination; and

if the item does not have the concurrency parameter for the group:

dynamically determining an updated concurrency parameter for the item in the group, thereby determining a dynamically determined concurrency parameter, wherein the dynamically determined concurrency parameter controls a maximum number of items for the group that are concurrently processable by the server machine;

returning the item to the queue with the dynamically determined concurrency parameter included in the item;

updating the other items of the group with the dynamically determined concurrency parameter; and

applying a concurrency rule to the item returned to the queue based on the dynamically determined concurrency parameter from the item returned to the queue, wherein applying the concurrency rule comprises determining whether processing the item returned to the queue would exceed the numeric limit provided by the dynamically determined concurrency parameter on an updated number of items in the group that are concurrently processable for delivery to the destination.

16. The computer program product of claim 15 , wherein the queue is at a server machine, the group is one of a plurality of destination groups associated with different destinations, wherein the server machine is connected to a predetermined number of lines for servicing the different destinations, and wherein a respective concurrency parameter of each destination group of the plurality of destination groups controls a maximum number of items in each destination group that can be concurrently processed for delivery to a respective destination.

17. The computer program product of claim 15 , wherein the non-transitory computer readable medium further stores instructions translatable by the processor to perform:

determining whether concurrency is enabled; and

if the concurrency is not enabled, delivering the item to the destination without determining whether the item has the concurrency parameter for the group.

18. The computer program product of claim 15 , wherein the concurrency rule is applied to the item independently of a priority value associated with the item.

19. The computer program product of claim 15 , further comprising instructions translatable by the processor for setting a concurrency limit for the group associated with the destination to the dynamically determined concurrency parameter, and wherein applying the concurrency rule to the item based on the dynamically determined concurrency parameter comprises:

preventing the item from being dequeued if the concurrency limit for the group is met; and

allowing the item to be dequeued from the queue if the concurrency limit for the group is not met.

Assignments (3)
MERGER Recorded Oct 17, 2019
From: XPEDITE SYSTEMS, LLC
To: OPEN TEXT HOLDINGS, INC.
Reel/Frame 050751/0393 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2019
From: OPEN TEXT S.A.
To: XPEDITE SYSTEMS, LLC
Reel/Frame 050739/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2019
From: HILLER, SHERRI RENEE; KAMENS, SAMUEL N.; SHRIVER, RICHARD D.
To: OPEN TEXT S.A.
Reel/Frame 050739/0739 →
Continuity (3)
Continuation 14329232 · Jul 11, 2014
Provisional Application 61847933 · Jul 18, 2013
Related Publication 20200014776A1 · Jan 9, 2020
References Cited (28)
US 5659599A · Arumainayagam · 1997 [cited by applicant]
US 6574660B1 · Pashupathy · 2003 [cited by examiner]
US 6865185B1 · Patel · 2005 [cited by examiner]
US 6963417B1 · Saito · 2005 [cited by applicant]
US 7035212B1 · Mittal · 2006 [cited by applicant]
US 7500261B1 · Myers · 2009 [cited by applicant]
US 8656071B1 · Onufryk · 2014 [cited by applicant]
US 8843563B1 · Hartman · 2014 [cited by applicant]
US 10440150B2 · Hiller · 2019 [cited by applicant]
US 20030182464A1 · Hamilton · 2003 [cited by applicant]
US 20030236745A1 · Hartsell · 2003 [cited by applicant]
US 20070253411A1 · Arad · 2007 [cited by examiner]
US 20090234908A1 · Reyhner · 2009 [cited by examiner]
US 20090285217A1 · Frink · 2009 [cited by examiner]
US 20100157800A1 · Liu · 2010 [cited by examiner]
US 20120066313A1 · Ban · 2012 [cited by applicant]
US 20120201245A1 · Ogata · 2012 [cited by examiner]
US 20120207175A1 · Raman · 2012 [cited by examiner]
US 20140036865A1 · Camarda · 2014 [cited by examiner]
US 20140280819A1 · Gupta · 2014 [cited by examiner]
US 20150026294A1 · Hiller · 2015 [cited by applicant]
WO WO2005018178A1 · 2005 [cited by examiner]
Office Action for U.S. Appl. No. 14/329,232, mailed May 27, 2016, 18 pgs. [cited by applicant]
Office Action for U.S. Appl. No. 14/329,232, mailed Dec. 12, 2016, 24 pgs. [cited by applicant]
Office Action for U.S. Appl. No. 14/329,232, mailed Sep. 29, 2017, 23 pgs. [cited by applicant]
Office Action for U.S. Appl. No. 14/329,232, mailed May 8, 2018, 21 pgs. [cited by applicant]
Office Action for U.S. Appl. No. 14/329,232, mailed Jan. 3, 2019, 14 pgs. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 14/329,232, mailed May 23, 2019, 6 pgs. [cited by applicant]