System and method of efficiently generating and sending bulk emails
First Claim
1. A method of efficiently generating and sending emails, comprising:
- creating an email template;
setting up a campaign query;
distributing the email template and a set of information associated with the campaign query to a plurality of server groups;
running the campaign query on each of the plurality of server groups and obtaining a plurality of matching users on each of the plurality of server groups;
dividing the plurality of matching users on each of the plurality of server groups into one or more batches;
merging the email template with a set of information corresponding to each of the plurality of matching users from a first batch for each of the plurality of server groups; and
sending the first batch of the merged emails directly from each of the plurality of server groups without saving copies of the merged emails.
11 Assignments
0 Petitions
Accused Products
Abstract
A method of efficiently generating and sending emails including creating an email template, setting up a campaign query, and distributing the email template and a set of information associated with the campaign query to a plurality of server groups. The method also includes running the campaign query on each of the plurality of server groups and obtaining a plurality of matching users; dividing the plurality of matching users into one or more batches; merging the email template with a set of information corresponding to each of the plurality of matching users from a first batch for each of the plurality of server groups, and sending the first batch of the merged emails directly from each of the plurality of server groups without saving copies of the merged emails.
112 Citations
26 Claims
-
1. A method of efficiently generating and sending emails, comprising:
-
creating an email template;
setting up a campaign query;
distributing the email template and a set of information associated with the campaign query to a plurality of server groups;
running the campaign query on each of the plurality of server groups and obtaining a plurality of matching users on each of the plurality of server groups;
dividing the plurality of matching users on each of the plurality of server groups into one or more batches;
merging the email template with a set of information corresponding to each of the plurality of matching users from a first batch for each of the plurality of server groups; and
sending the first batch of the merged emails directly from each of the plurality of server groups without saving copies of the merged emails.
-
-
2. The method of claim 1, further comprising distributing the email template and the set of information associated with the campaign query to an application server at each of the plurality of server groups.
-
3. The method of claim 2, further comprising replicating the email template and the set of information associated with the campaign query to two replication servers at each of the plurality of server groups.
-
4. The method of claim 3, further comprising running the campaign query on one of the replication servers in each of the server groups in parallel so that the campaign query runs on all of the plurality of server groups.
-
5. The method of claim 4, further comprising sending a periodic batch progress update to the application server at each of the plurality of server groups.
-
6. The method of claim 1, further comprising determining if a campaign status is active before running the campaign query.
-
7. The method of claim 1, further comprising queuing the merged e-mails in a memory buffer based on the matching users'"'"' email domains.
-
8. The method of claim 1, further comprising determining if a sent email was delivered to a particular user'"'"'s domain and making one or more subsequent delivery attempts if it is determined that the sent email was not delivered.
-
9. The method of claim 1, further comprising:
-
merging the email template with a set of information corresponding to each of the plurality of matching users from a second batch for each of the plurality of server groups, after an occurrence of at least one of a hardware failure or a software failure during the sending of the merged emails in the first batch, and wherein the merged emails in the first batch that were not sent prior to the hardware failure or software failure are not identified and not sent; and
sending the second batch of the merged emails directly from each of the plurality of server groups without saving copies of the merged e-mails.
-
-
10. The method of claim 1, further comprising:
-
marking a status of how much of the first batch was sent before a system shutdown; and
resuming the sending of the remaining e-mails in the first batch when the system is restarted after the system shutdown.
-
-
11. A method of efficiently generating and sending emails, comprising:
-
creating an email template;
setting up a campaign query;
distributing the email template and the set of information associated with the campaign query to an application server at each of a plurality of server groups;
replicating the email template and the set of information associated with the campaign query to one or more replication servers at each of the plurality of server groups;
running the campaign query on each of the one or more replication servers at each of the plurality of server groups and obtaining a plurality of matching users on each of the one or more replication servers;
dividing the plurality of matching users on each of the plurality of server groups into one or more batches;
merging the email template with a set of information corresponding to each of the plurality of matching users from a first batch for each of the plurality of server groups;
queuing the merged emails in a memory buffer based on the matching users'"'"' email domains; and
sending the first batch of the merged e-mails directly from each of the plurality of server groups without saving copies of the merged emails.
-
-
12. The method of claim 11, further comprising sending a periodic batch progress update from the one or more replication servers to the application server at each of the plurality of server groups.
-
13. The method of claim 11, further comprising determining if a campaign status is active before running the campaign query.
-
14. The method of claim 11, further comprising determining if a sent email was delivered to a particular user'"'"'s domain and making one or more subsequent delivery attempts if it is determined that the sent email was not delivered.
-
15. The method of claim 11, further comprising:
-
merging the email template with a set of information corresponding to each of the plurality of matching users from a second batch for each of the plurality of server groups after an occurrence of at least one of a hardware failure or a software failure during the sending of the merged emails in the first batch, and wherein the merged emails in the first batch that were not sent prior to the hardware failure or software failure are not identified and not sent to the corresponding matching users; and
sending the second batch of the merged emails directly from each of the one or more replication servers at each of the plurality of server groups without saving copies of the merged emails.
-
-
16. The method of claim 11, further comprising:
-
marking a status of how much of the first batch was sent before a system shutdown; and
resuming the sending of the remaining emails in the first batch when the system is restarted after the system shutdown.
-
-
17. A method of efficiently generating and sending emails, comprising:
-
creating an email template;
setting up a campaign query;
distributing the email template and the set of information associated with the campaign query to an application server at each of a plurality of server groups;
replicating the email template and the set of information associated with the campaign query to one or more replication servers at each of the plurality of server groups;
running the campaign query on each of the one or more replication servers at each of the plurality of server groups and obtaining a plurality of matching users on each of the one or more replication servers;
dividing the plurality-of matching users on each of the plurality of server groups into one or more batches;
merging the email template with a set of information corresponding to each of the plurality of matching users from a first batch for each of the plurality of server groups;
sending the first batch of the merged e-mails directly from each of the plurality of server groups without saving copies of the merged emails;
merging the email template with a set of information corresponding to each of the plurality of matching users from a second batch for each of the plurality of server groups after an occurrence of at least one of a hardware failure or software failure during the sending of the merged emails in the first batch, and wherein the merged emails in the first batch that were not sent prior to the hardware failure or software failure are not identified and not sent to the corresponding matching users; and
sending the second batch of the merged emails directly from each of the one or more replication servers at each of the plurality of server groups without saving copies of the merged emails.
-
-
18. The method of claim 17, further comprising sending a periodic batch progress update from the one or more replication servers to the application server at each of the plurality of server groups.
-
19. The method of claim 17, further comprising determining if a campaign status is active before running the campaign query.
-
20. The method of claim 17, further comprising determining if a sent email was delivered to a particular user'"'"'s domain and making one or more subsequent delivery attempts if it is determined that the sent email was not delivered.
-
21. The method of claim 17, further comprising queuing the merged e-mails in a memory buffer based on the matching users'"'"' email domains.
-
22. An email generation and transmission system, comprising:
an administrative server group communicatively coupled to one or more member server groups, each of the one or more member server groups including at least an application server and a replication server;
the administrative server group programmed to allow a user to store an email template and set up a campaign query associated with the email template;
the administrative server group programmed to facilitate the distribution of the email template and at least a portion of the associated campaign query to each of the application servers at each of the one or more member server groups;
each of the application servers at each of the one or more member server groups programmed to replicate the email template and the at least a portion of the associated campaign query to each of the replication servers at each of the one or more member server groups;
each of the replication servers at each of the one or more member server groups programmed to;
run the campaign query to obtain a plurality of matching members;
divide the plurality of matching users on each of the plurality of server groups into one or more batches;
merge the email template with a set of information corresponding to each of the plurality of matching users from a first batch for each of the plurality of server groups; and
send the first batch of the merged emails without saving copies of the merged emails.
-
23. The email generation and transmission system of claim 22, wherein each of the replication servers at each of the one or more member server groups is further programmed to merge the email template with a set of information corresponding to each of the plurality of matching users from a second batch for each of the plurality of server groups after an occurrence of at least one of a hardware failure or a software failure during the sending of the merged emails in the first batch, such that the merged emails in the first batch that were not sent prior to the hardware failure or the software failure are not identified and not sent to the corresponding matching users.
-
24. The email generation and transmission system of claim 23, wherein each of the replication servers at each of the one or more member server groups is further programmed to send the second batch of the merged emails directly from each of the one or more replication servers at each of the plurality of server groups without saving copies of the merged emails.
-
25. The method of claim 22, further comprising:
-
marking a status of how much of the first batch was sent before a system shutdown; and
resuming the sending of the remaining e-mails in the first batch when the system is restarted after the system shutdown.
-
-
26. The email generation and transmission system of claim 22, wherein each of the replication servers at each of the one or more member server groups is further programmed to queue the merged emails in a memory buffer based on the matching users'"'"' email domains.
Specification