IP Library Granted Patent US 7,970,844
Granted Patent B2
US 7,970,844 · App. 12/548,286 · Granted Jun 28, 2011

Replicating message queues between clustered email gateway systems

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 7,970,844
App. No.
12/548,286
Granted
Jun 28, 2011
Kind
B2
Abstract

A method of “stateful failover” is provided that allows email gateway systems in a cluster to deliver email messages that have been accepted for delivery by a member of the cluster, but has failed with out delivering the messages. The method involves creating a backup copy of the messages that have been accepted for delivery by one email gateway system in the stateful failover cluster on one or more other email gateway systems in the stateful failover cluster. Upon detecting the failure of the email gateway system that accepted the message, another member of the stateful failover cluster that has access to the backup copy of the message queue takes responsibility for the delivery of the messages on the mirrored queue.

Claims (34)

1. An email gateway server configured for coupling to an email gateway cluster for processing an email, said cluster comprising at least a second email gateway server, said email gateway server comprising:

a network connection for receiving the email; and

a processor configured to relay the email toward a destination and to assign a unique identifier to the email;

said processor further configured to copy the email and the unique identifier to said second email gateway server, the second email gateway server being configured to relay the email toward the destination should the relay of the email by the email gateway server fail; and

said processor further configured to relay the email toward the destination or the second email gateway server, wherein the relaying includes the email gateway server sending the second email gateway server the unique identifier when the email gateway server has relayed the email toward the destination, the second email gateway server being configured to cooperate with the email gateway server by:

monitoring the receipt of the unique identifier from the email gateway server; upon determining that a pre-selected time period has passed without receiving the unique identifier, deeming the relaying of the email toward the destination by the email gateway server to have failed; and relaying the email toward the destination.

2. The email gateway server of claim 1 , wherein the copying includes communicating the email via a secure dedicated network link between the email gateway server and the second email gateway server.

3. The email gateway server of claim 1 , wherein said second email gateway server is further configured to detect failure of the email gateway server, and wherein said email gateway server is further configured to synchronize with the second email gateway server after the email gateway server is restored to service.

4. The email gateway server of claim 1 wherein the email gateway server is further configured to process the email in accordance with a policy before the relaying.

5. The email gateway server of claim 4 , wherein the policy includes at least one of virus scanning, content filtering, security processing, hygiene filters, and combinations thereof.

6. The email gateway server of claim 4 , wherein the processing the email is performed prior to the copying the email to said second email gateway server.

7. The email gateway server of claim 6 , wherein the email gateway server is further configured to transmit status information corresponding to the processing the email to the second email gateway server.

8. A source email gateway system for replicating email messages in a stateful failover cluster, the source email gateway system comprising:

a network connection for receiving an email message to be transmitted to a destination; and

a processor for assigning a unique identifier to the received email message;

the processor further configured to transmit the email message and the unique identifier from the source email gateway system to one or more sink email gateway systems in the stateful failover cluster;

the processor further configured to acknowledge receipt of the email message by the source email gateway system;

the processor further configured to forward the email message toward the destination;

the processor further configured to determine if the email message was successfully forwarded;

when the email message was successfully forwarded, the processor notifies the one or more sink email gateway systems to recover storage resources associated with the email message by identifying the successfully forwarded email message with the unique identifier; and

when the email message was not successfully forwarded, as determined by the processor not notifying the one or more sink email gateway systems with the unique identifier, the one or more sink email gateway systems forward the email message by the one or more sink email gateway systems.

9. The source email gateway system of claim 8 , wherein the source email gateway system and the one or more sink email gateway systems utilize simple mail transfer protocol (SMTP).

10. The source email gateway system of claim 8 , wherein the acknowledging is performed after the transmitting to the one or more sink email gateway systems is complete.

11. The source email gateway system of claim 8 , wherein the source email gateway system is further configured to process the email message in accordance with a policy before the forwarding.

12. The source email gateway system of claim 11 , wherein the policy includes at least one of virus scanning, content filtering, security processing, hygiene filters, and combinations thereof.

13. The source email gateway system of claim 11 , wherein the processing the email message is performed prior to the transmitting the email message to the one or more sink email gateway systems.

14. The source email gateway system of claim 13 , wherein the source email gateway system is further configured to transmit status information corresponding to the processing the email message to the one or more sink email gateway systems.

15. The source email gateway system of claim 8 , wherein the source email gateway system is further configured to share delivery configuration information with other servers in the cluster.

16. The source email gateway system of claim 8 , wherein the transmitting is performed via a secure dedicated communications link between the source email gateway system and the one or more sink email gateway systems.

17. The source email gateway system of claim 8 , wherein the source email gateway system is further configured to send a command to the one or more sink email gateway systems to deliver the email message upon a failure of the source email gateway system.

18. A system for processing an email by a plurality of email gateway servers coupled in a cluster, the system comprising:

means for receiving the email by a first email gateway server, the first email gateway server being configured to relay the email toward a destination and to assign a unique identifier to the email;

means for copying the email and the unique identifier to a second email gateway server, the second email gateway server being configured to relay the email toward the destination should the relay of the first email by the first email gateway server fail; and

means for relaying toward the destination by the first email gateway server or the second email gateway server, wherein relaying includes the first email gateway server sending the second email gateway server the unique identifier when the first email gateway server has relayed the email toward the destination, the second email gateway server monitoring the receipt of the unique identifier from the first email gateway server and, upon determining that a determined time period has passed without receiving the unique identifier, the second email gateway server deeming the relaying of the email toward the destination by the first email gateway server to have failed, and relaying the email toward the destination by the second email gateway server.

Assignments (11)
SECURITY INTEREST Recorded Jul 6, 2022
From: WATCHGUARD TECHNOLOGIES, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 060406/0682 →
SECURITY INTEREST Recorded Jul 6, 2022
From: WATCHGUARD TECHNOLOGIES, INC.
To: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS COLLATERAL AGENT
Reel/Frame 060406/0720 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2022
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: WATCHGUARD TECHNOLOGIES, INC.
Reel/Frame 060406/0751 →
SECURITY INTEREST Recorded Jun 1, 2020
From: WATCHGUARD TECHNOLOGIES, INC.
To: GOLDMAN SACHS BANK USA
Reel/Frame 052801/0668 →
RELEASE OF SECURITY INTEREST Recorded Jun 1, 2020
From: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P.
To: WATCHGUARD TECHNOLOGIES, INC.
Reel/Frame 052801/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2020
From: OSBORNE, ROBERT; SIMPSON, BILL; GILCHRIST, ROD
To: BORDERWARE TECHNOLOGIES INC.
Reel/Frame 052727/0421 →
CHANGE OF ADDRESS FOR ASSIGNEE Recorded Aug 28, 2019
From: GOLDMAN SACHS SPECIALTY LENDING GROUP. L.P.
To: GOLDMAN SACHS SPECIALTY LENDING GROUP. L.P.
Reel/Frame 050195/0673 →
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2015
From: BANK OF MONTREAL, AS ADMINISTRATIVE AGENT
To: WATCHGUARD TECHNOLOGIES, INC.
Reel/Frame 035995/0466 →
SECURITY INTEREST Recorded Jun 30, 2015
From: WATCHGUARD TECHNOLOGIES, INC.
To: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS COLLATERAL AGENT
Reel/Frame 036038/0455 →
SECURITY AGREEMENT Recorded Jul 2, 2012
From: WATCHGUARD TECHNOLOGIES, INC.
To: BANK OF MONTREAL, AS ADMINISTRATIVE AGENT
Reel/Frame 028488/0917 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2009
From: BORDERWARE TECHNOLOGIES INC.
To: WATCHGUARD TECHNOLOGIES, INC.
Reel/Frame 023169/0256 →