IP Library Granted Patent US 7,584,256
Granted Patent B2
US 7,584,256 · App. 11/103,061 · Granted Sep 1, 2009

Replicating message queues between clustered email gateway systems

Assignee: Borderware Technologies Inc.
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,584,256
App. No.
11/103,061
Granted
Sep 1, 2009
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 (35)

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

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;

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 email by the first email gateway server fail; and

relaying the email toward the destination by the first email gateway server or the second email gateway server, wherein the 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 server monitoring the receipt of the unique identifier from the first email gateway server and, upon determining that a pre-selected 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.

2. The method of claim 1 , further comprising upon detecting the relaying the email by the first email gateway server was successful, removing the email from the second email gateway server.

3. The method of claim 1 , further comprising acknowledging receipt of the email after successfully completing the copying.

4. The method of claim 1 , wherein the copying includes communicating the email via a secure dedicated network link between the first and second email gateway servers.

5. The method of claim 1 , further comprising detecting by the second email gateway server failure of the first email gateway server, and synchronizing the first and second email gateway servers after the first email gateway server is restored to service.

6. The method of claim 1 , further comprising processing the email in accordance with a policy before the relaying.

7. The method of claim 6 , wherein the policy includes virus scanning, content filtering, security processing, hygiene filters, or combinations thereof.

8. The method of claim 6 , wherein the processing the email is performed prior to copying the email to a second email gateway server.

9. The method of claim 8 , further comprising transmitting status information corresponding to the processing the email to the second email gateway server.

10. A method for replicating email messages in a stateful failover cluster, the method comprising:

receiving by a source email gateway system an email message to be transmitted to a destination;

assigning a unique identifier to the received email message;

transmitting 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;

acknowledging receipt of the email message by the source email gateway system;

forwarding the email message by the source email gateway system toward the destination;

if the source email gateway system successfully forwards the email message, notifying the one or more sink email gateway systems to recover storage resources associated with the email message by identifying the successfully forwarded message with the unique identifier; and

if the source server fails to successfully forward the email message as determined by the source email gateway system not notifying the one or more sink email gateway systems with the unique identifier, forwarding the message by the one or more sink email gateway systems.

11. The method of claim 10 , wherein the source email gateway system or the sink email gateway system utilize simple mail transfer protocol (SMTP).

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

13. The method of claim 10 , further comprising processing the email in accordance with a policy before the forwarding.

14. The method of claim 13 , wherein the policy includes virus scanning, content filtering, security processing, hygiene filters, or combinations thereof.

15. The method of claim 13 , wherein the processing the email is performed prior to copying the email to a second email gateway server.

16. The method of claim 15 , further comprising transmitting status information corresponding to the processing the email to the second email gateway server.

17. The method of claim 10 , further comprising managing the source email gateway system and the one or more sink email gateway systems as a cluster to share delivery configuration information.

18. The method of claim 10 , 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.

19. The method of claim 10 , further comprising monitoring and analyzing the source email gateway system to detect if it has failed.

20. The method of claim 10 , further comprising detecting a failure of the source email gateway system and synchronizing the one or more sink email gateway systems and the source email gateway system after the source email gateway system is restored to service to prevent duplicate message delivery.

21. The method of claim 10 , further comprising automatically delivering messages by the one or more sink email gateway systems when a failure of the source email gateway system is detected.

22. The method of claim 10 , further comprising delivering the email message by the sink email gateway system when manually commanded to do so upon a failure of the source email gateway system.

23. An email gateway cluster comprising:

a plurality of source email gateway servers, each of the source email gateway servers configured for receiving email messages and relaying the email messages toward a destination, each source email gateway server comprising a source message queue for storing the email messages, and a corresponding unique identifier assigned by the source email gateway server, from outside an email gateway cluster; and

one or more sink email gateway servers communicatively coupled to each of the source email gateway servers, each sink email gateway server comprising a backup message queue for storing email messages and the corresponding unique identifiers from at least one source email gateway server, the sink email gateway servers being configured for relaying email messages to the destination should the respective source email gateway server fail, including monitoring by said one or more sink email gateway servers the relaying of the email by at least one of said plurality of source email gateway servers; and, upon detecting that the relaying of the email by said at least one of said plurality of source email gateway servers was unsuccessful, by failing to receive a communication comprising the unique identifier from the at least one of said plurality of email gateway servers, relaying the email toward the destination by said one or more sink email gateway servers.

Assignments (17)
SECURITY INTEREST Recorded Jul 6, 2022
From: WATCHGUARD TECHNOLOGIES, INC.
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 060406/0682 →
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 Jul 6, 2022
From: WATCHGUARD TECHNOLOGIES, INC.
To: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS COLLATERAL AGENT
Reel/Frame 060406/0720 →
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 →
COURT ORDER Recorded May 27, 2020
From: WF FUND III LIMITED PARTNERSHIP
To: BORDERWARE TECHNOLOGIES INC.
Reel/Frame 052763/0469 →
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 →
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 →
RELEASE OF SECURITY INTEREST Recorded Jun 30, 2015
From: BANK OF MONTREAL, AS ADMINISTRATIVE AGENT
To: WATCHGUARD TECHNOLOGIES, INC.
Reel/Frame 035995/0466 →
RELEASE OF SECURITY INTEREST Recorded Jul 2, 2012
From: SILICON VALLEY BANK
To: WATCHGUARD TECHNOLOGIES, INC.; GLADIATOR CORPORATION
Reel/Frame 028477/0268 →
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 14, 2009
From: BORDERWARE TECHNOLOGIES, INC.
To: WATCHGUARD TECHNOLOGIES, INC.
Reel/Frame 023100/0537 →
SECURITY AGREEMENT Recorded Aug 13, 2009
From: WATCHGUARD TECHNOLOGIES, INC.; GLADIATOR CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 023098/0771 →
CONSENT AND AGREEMENT Recorded Sep 25, 2007
From: VENTURE LENDING & LEASING IV, INC.
To: BORDERWARE TECHNOLOGIES INC.; WELLINGTON FINANCIAL LP
Reel/Frame 019871/0494 →
CONFIRMATION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Mar 16, 2007
From: BORDERWARE TECHNOLOGIES INC.
To: WF FUND III LIMITED PARTNERSHIP
Reel/Frame 019024/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2005
From: BORDERWARE TECHNOLOGIES INC.
To: VENTURE LENDING & LEASING IV, INC.
Reel/Frame 017234/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2005
From: OSBORNE, ROBERT; SIMPSON, BILL; GILCHRIST, ROD
To: BORDERWARE TECHNOLOGIES INC.
Reel/Frame 016464/0663 →
Continuity (2)
Provisional Application 6056097000 · Apr 12, 2004
Related Publication 20050228867A1 · Oct 13, 2005