Method, system and computer readable medium for notification delivery
First Claim
Patent Images
1. A method, comprising:
- a processor assigning a plurality of delivery ports to each of a plurality of delivery channels;
the processor receiving a plurality of message delivery jobs;
the processor assigning each of the message delivery jobs to one of the plurality of delivery channels;
the processor determining a delivery timeframe for each of the message delivery jobs;
the processor assigning a priority to each of the message delivery jobs, wherein each job'"'"'s priority is based at least in part on its delivery timeframe,the processor ordering the delivery jobs for delivery according to their priority;
in the case any of the prioritized jobs'"'"' delivery timeframe will not be met, increasing that job'"'"'s priority to ensure its delivery within its delivery timeframe, and reordering the delivery jobs for delivery;
in the case any of the reprioritized jobs'"'"' delivery timeframe will not be met, determining, by the processor, a number of ports required by each channel to ensure that each message assigned to that channel is delivered to its respective recipient within its delivery timeframe;
in the case the number of available ports is at least equal to the total number of required ports, reassigning the available ports so that each channel has at least the number of ports it requires; and
in the case the number of available ports is not at least equal to the total number of required ports, reassigning the available ports to maximize the total value of delivering the messages, including any penalties incurred by the inability to delivery every message within its timeframe.
8 Assignments
0 Petitions
Accused Products
Abstract
In a system, method and computer readable medium for managing message delivery, message delivery jobs are dynamically prioritized into a plurality of priority queues based on a delivery timeframe for each job. A delivery manager controls delivery of the message delivery jobs through a number of delivery channels and ports. A priority manager reviews jobs pending in the queues. If the priority manager determines that a message delivery job will not be completed within its delivery timeframe, the priority manager assigns a higher priority to the message delivery job.
8 Citations
16 Claims
-
1. A method, comprising:
-
a processor assigning a plurality of delivery ports to each of a plurality of delivery channels; the processor receiving a plurality of message delivery jobs; the processor assigning each of the message delivery jobs to one of the plurality of delivery channels; the processor determining a delivery timeframe for each of the message delivery jobs; the processor assigning a priority to each of the message delivery jobs, wherein each job'"'"'s priority is based at least in part on its delivery timeframe, the processor ordering the delivery jobs for delivery according to their priority; in the case any of the prioritized jobs'"'"' delivery timeframe will not be met, increasing that job'"'"'s priority to ensure its delivery within its delivery timeframe, and reordering the delivery jobs for delivery; in the case any of the reprioritized jobs'"'"' delivery timeframe will not be met, determining, by the processor, a number of ports required by each channel to ensure that each message assigned to that channel is delivered to its respective recipient within its delivery timeframe; in the case the number of available ports is at least equal to the total number of required ports, reassigning the available ports so that each channel has at least the number of ports it requires; and in the case the number of available ports is not at least equal to the total number of required ports, reassigning the available ports to maximize the total value of delivering the messages, including any penalties incurred by the inability to delivery every message within its timeframe. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable medium comprising instructions that, when read by a processor, cause the processor to perform:
-
assigning a plurality of delivery ports to each of a plurality of delivery channels; receiving a plurality of message delivery jobs; assigning each of the message delivery jobs to one of the plurality of delivery channels; determining a delivery timeframe for each of the message delivery jobs; assigning a priority to each of the message delivery jobs, wherein each job'"'"'s priority is based at least in part on its delivery timeframe, ordering the delivery jobs for delivery according to their priority; in the case any of the prioritized jobs'"'"' delivery timeframe will not be met, increasing that job'"'"'s priority to ensure its delivery within its delivery timeframe, and reordering the delivery jobs for delivery; in the case any of the reprioritized jobs'"'"' delivery timeframe will not be met, determining a number of ports required by each channel to ensure that each message assigned to that channel is delivered to its respective recipient within its delivery timeframe; in the case the number of available ports is at least equal to the total number of required ports, reassigning the available ports so that each channel has at least the number of ports it requires; and in the case the number of available ports is not at least equal to the total number of required ports, reassigning the available ports to maximize the total value of delivering the messages, including any penalties incurred by the inability to delivery every message within its timeframe. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
a processor; and memory; wherein the processor and the memory are communicably coupled; wherein the processor; assigns a plurality of delivery ports to each of a plurality of delivery channels; receives a plurality of message delivery jobs; assigns each of the message delivery jobs to one of the plurality of delivery channels; determines a delivery timeframe for each of the message delivery jobs; assigns a priority to each of the message delivery jobs, wherein each job'"'"'s priority is based at least in part on its delivery timeframe, orders the delivery jobs for delivery according to their priority; in the case any of the prioritized jobs'"'"' delivery timeframe will not be met, increasing that job'"'"'s priority to ensure its delivery within its delivery timeframe, and reordering the delivery jobs for delivery; in the case any of the reprioritized jobs'"'"' delivery timeframe will not be met, determines a number of ports required by each channel to ensure that each message assigned to that channel is delivered to its respective recipient within its delivery timeframe; in the case the number of available ports is at least equal to the total number of required ports, reassigns the available ports so that each channel has at least the number of ports it requires; and in the case the number of available ports is not at least equal to the total number of required ports, reassigns the available ports to maximize the total value of delivering the messages, including any penalties incurred by the inability to delivery every message within its timeframe. - View Dependent Claims (14, 15, 16)
-
Specification