Message delivery systems and methods
AssigneeMail Bypass, Inc.
InventorsSteve M. Mays, Ted B. Knudsen, Ian G. Moore
Life of this patent
Estimating the term…
Abstract
Embodiments of the present invention include systems and methods for handling large numbers of messages of one or more message types. In embodiments, the scalable messaging system reads from lists of recipient addresses and template messages, mergers them into messages, removes known blacklisted addresses, facilitates the rapid delivery of these messages via a dynamic queuing and dynamic message server deployment, and stores errors and other statistics. In embodiments, the scalable messaging system may include messaging system instances at different locations.
Claims20
A scalable messaging system for distributing messages comprising:
- a customer interface module that facilitates receiving of requests from and providing information to a customer;
- a data layer system comprising one or more databases that comprise data and log information of the messaging system;
- a dynamic server manager that contains a listing of resources within the scalable messaging system that should be available for use in generating messages, distributing messages, or both;
- a message delivery system comprising:
- a message data store system comprising:
- an address data store for storing address information for message recipients for a messaging campaign;
- and
- a message store that stores one or more message templates for the messaging campaign;
- a message abstraction system that performs pre-processing of messages for the message campaign by retrieving addresses and one or more message templates from the message data store system and generates queued messages, each pre-processed, queued message having an associated message type;
- and
- one or more message servers that receive the pre-processed, queued messages from the message abstraction system specific to the message type of the message server, forms messages of proper format for the message type, and distributes the messages, the message abstraction system and pre-processed, queued messages allowing the one or more message servers to operate asynchronously from the message data store system.
A scalable message delivery system for distributing messages comprising:
- a plurality of messaging systems at a plurality of datacenters, each messaging system comprising:
- a dynamic server manager that contains a listing of resources within the scalable message delivery system that should be available for use;
- a message generator that:
- responsive to receiving a messaging project to distribute a set of messages, identifies resources to use for the messaging project by querying the dynamic server manager;
- generates messages for the messaging project using at least some of the identified resources;
- and
- delivers the generated messages to a messaging system for distribution;
- and
- a message delivery system that receives generated messages from the message generator and uses the generated messages to distribute messages for receipt by message recipients;
- and
- a master reporting facility, for providing a centralized resource for reporting, that receives summaries of data from the plurality of messaging systems about message delivery activities.
A computer-implemented method for providing message delivery in a scalable messaging system comprising:
- creating a message abstraction layer between message data store comprising an address data store that stores address information for message recipients for a messaging campaign and a message store that stores one or more message templates for the messaging campaign and one or more message server resources that allows the one or more message servers resources to operate asynchronously from the message data store by performing the steps comprising:
- generating a queuing engine message from an address data store that stores address information for message recipients for a messaging campaign and a message store that stores one or more message templates for the messaging campaign, the queuing engine message representing a set of message recipients and a message template for a specific messaging type;
- and
- placing one or more queuing engines messages into one or more queues to await processing by a messaging server resource;
- monitoring performance-related data of the scalable messaging system to control how many of what types of resources should be in existence to balance system performance according to metrics and maintain a listing of resources within the scalable messaging system that should be available for use;
- responsive to a performance-related metric being above an overloaded threshold, creating another resource to assist in processing;
- and
- responsive to a performance-related metric being under an underutilized threshold, shutting down one or more resources.
Dependencies are inferred from the claim text.