IP Library Granted Patent US 9,344,460
Granted Patent B2
US 9,344,460 · App. 13/570,528 · Granted May 17, 2016

High availability session reconstruction

Inventors: Kurt Haserodt (Westminster, CO); Thorsten Ohrstrom-Sandgren (Thornton, CO); Joel Ezell (Broomfield, CO); Don Gillespie (Boulder, CO)
Assignee: Avaya Inc.
H04L65/1069H04L65/1006H04L69/40
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 9,344,460
App. No.
13/570,528
Granted
May 17, 2016
Kind
B2
Abstract

A first message is received at a primary container that is replicated by a secondary container. The first message is an initial message to initiate a first session. The first message is processed by an application in the primary container. At a point in time, the primary container is unavailable and the system and method detect that the primary container is unavailable. A second message is received. The second message is associated with the first session. The second message is modified by moving at least a portion of a header in the second message into a different header in the second message and adding an additional header to the second message in response to the primary container being unavailable.

Claims (60)

1. A method comprising:

receiving, via a network, at a primary container being executed by a hardware processor, a first message, wherein the first message is an initial message to initiate a first communication session between a first communication device and a second communication device and wherein at least a portion of the primary container is replicated in a secondary container;

processing, by the hardware processor, the first message in an application of the primary container;

detecting, by a front end processor being executed by the hardware processor, that the primary container is unavailable, wherein the front end processor, is a hardware processor;

receiving, via the network and by the front end processor being executed by the hardware processor, a second message from the first communication device or second communication device, wherein the second message is associated with the first communication session; and

responsive to the primary container being unavailable, modifying, by the front end processor being executed by the hardware processor, the second message by moving at least a portion of a header in the second message into a different header in the second message and adding an additional header to the second message.

2. The method of claim 1 , wherein the first message is a first Session Initiation Protocol (SIP) message, the second message is a second SIP message, the modified second message is a modified second SIP message, and the first communication session is a first SIP communication session.

3. The method of claim 2 , wherein modifying the second message further comprises modifying a SIP To field in the second message.

4. The method of claim 3 , further comprising the steps of:

sending the modified second SIP message to a first message processor;

receiving the modified second SIP message at the first message processor;

forwarding the modified SIP message to a second message processor;

sending a response to the forwarded modified SIP message to the first message processor;

receiving the response to the forwarded modified SIP message at the first message processor;

in response to receiving the forwarded modified SIP message at the first message processor, encapsulating the modified SIP message into a new SIP INVITE message; and

sending the new SIP INVITE message to an application in the secondary container, wherein the application in the secondary container is a replicated version of the application in the primary container.

5. The method of claim 3 , further comprising the steps of:

creating a new SIP INVITE that comprises a correlation identifier which identifies the first SIP communication session in the primary container and wherein the new SIP INVITE does not have the SIP To tag;

sending the new SIP INVITE to the secondary container;

receiving the new SIP INVITE at an application in the secondary container;

restoring a state of the application in the secondary container based on the correlation identifier;

sending a 200 OK to reestablish the first SIP communication session;

changes a dialog identifier that identifies the reestablished first SIP communication session in the second message; and

sending the second message to the application in the secondary container.

6. The method of claim 5 , wherein the 200 OK is sent from the application in the secondary container.

7. The method of claim 5 , wherein the 200 OK is sent by the first communication device or the second communication device.

8. The method of claim 5 , further comprising the step of embedding the second message into the new SIP INVITE.

9. The method of claim 5 , further comprising the step of mapping the dialog identifier for any subsequent messages for the reestablished first SIP communication session.

10. The method of claim 2 , wherein the second SIP message is at least one of: an ACK request to a 2xx INVITE response, an ACK request for a 3xx-6xx INVITE response, an in-dialog INVITE request, an in-dialog non-INVITE request, a provisional response, a 2xx response to INVITE, a 3xx-6xx response to INVITE, a final response to a non-INVITE request, a final response to an in-dialog non-INVITE, a response of any kind in the failover group that is not associated with the session manager 110 that received the response, or a request of any kind that is not associated with the session manager 110 that received the response.

11. The method of claim 1 , wherein the primary container and the secondary container are JSR-289 containers.

12. A communication system comprising:

a primary container that receives a first message, via a network, wherein the first message is an initial message to initiate a first communication session between a first communication device and a second communication device and wherein at least a portion of the primary container is replicated in a secondary container;

an application in the primary container that processes the first message;

a front end-processor that detects that the primary container is unavailable, wherein the front end processor is a hardware processor, receives, via the network, a second message from the first or second communication device, wherein the second message is associated with the first communication session, modifies the second message by moving at least a portion of a header in the second message into a different header in the second message and adds an additional header to the second message in response to the primary container being unavailable.

13. The system of claim 12 , wherein the first message is a first Session Initiation Protocol (SIP) message, the second message is a second SIP message, the modified second message is a modified second SIP message, and the first communication session is a first SIP session, and wherein:

the front-end processor modifies the second message by changing a SIP To field in the second message and sends the modified second SIP message to the secondary container; and

a message processor in the secondary container receives the modified second SIP message, encapsulates the second SIP message into a new SIP INVITE message in response to receiving the modified second SIP message, and sends the new SIP INVITE message to an application in the secondary container, wherein the application in the secondary container is a replicated version of the application in the primary container.

14. The system of claim 12 , wherein the first message is a first Session Initiation Protocol (SIP) message, the second message is a second SIP message, the modified second message is a modified second SIP message, and the first communication session is a first SIP communication session, and wherein:

the front end processor creates a new SIP INVITE that comprises a correlation identifier which identifies the first SIP communication session in the primary container and wherein the new SIP INVITE does not have the SIP To tag, sends the new SIP INVITE to the secondary container, change a dialog identifier that identifies the reestablished first SIP communication session in the second message, and sends the second message to the application in the secondary container; and

an application in the secondary container that receives the new SIP INVITE, and restores a state of the application in the secondary container based on the correlation identifier.

15. The system of claim 14 , wherein the application in the secondary container sends a 200 OK.

16. The system of claim 14 , wherein a 200 OK is sent by the first communication device or the second communication device.

17. The system of claim 14 , wherein the front end processor embeds the second message into the new SIP INVITE.

18. The system of claim 14 , wherein the front end processor maps the dialog identifier for any subsequent messages for the reestablished first SIP communication session.

19. A computer readable medium, where the medium is not a signal, having stored thereon tangible and non-transitory instructions that comprising:

instructions to receive, via a network, at a primary container, a first Session Initiation Protocol (SIP) message, wherein the first SIP message is an initial SIP message to initiate a first SIP communication session between a first communication device and a second communication device and wherein at least a portion of the primary container is replicated in a secondary container;

instructions to process the first SIP message in an application in the primary container;

instructions to detect, by a front end processor, that the primary container is unavailable, wherein the front end processor is a hardware processor;

instructions to receive, via a network and by the front end processor, a second SIP message from the first communication device or the second communication device, wherein the second SIP message is associated with the first SIP communication session; and

instructions to modify, by the front end processor, the second SIP message by moving at least a portion of a header in the second SIP message into a different header in the second SIP message and add an additional header to the second SIP message in response to the primary container being unavailable.

20. A method comprising:

receiving, via a network, at a primary container, a first Session Initiation Protocol (SIP) message, wherein the first SIP message is an initial message to initiate a first SIP communication session between a first communication device and a second communication device and wherein at least a portion of the primary container is replicated in a secondary container;

processing the first SIP message in an application in the primary container;

detecting, by a front end processor, that the primary container is unavailable, wherein the front end processor is a hardware processor;

receiving, via the network and by the front end processor, a second SIP message from the first communication device or the second communication device, wherein the second SIP message is associated with the first SIP communication session; and

responsive to the primary container being unavailable, sending, via the network and by the front end processor, a SIP PUBLISH message to a message processor in the secondary container;

receiving, via the network and by the front end processor, a response to the SIP PUBLISH message;

in response to receiving the response to the SIP PUBLISH message, the front end processor doing one of the following:

i. modifying the second SIP message by moving at least a portion of a header in the second SIP message into a different header in the second SIP message and adding an additional header to the second SIP message; or

ii. changing a SIP To field in the second SIP message.

Assignments (21)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2024
From: AVAYA LLC
To: ARLINGTON TECHNOLOGIES, LLC
Reel/Frame 067022/0780 →
INTELLECTUAL PROPERTY RELEASE AND REASSIGNMENT Recorded Mar 25, 2024
From: CITIBANK, N.A.
To: AVAYA LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 066894/0117 →
INTELLECTUAL PROPERTY RELEASE AND REASSIGNMENT Recorded Mar 25, 2024
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: AVAYA LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 066894/0227 →
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: VPNET TECHNOLOGIES, INC.; AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION)
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2012
From: HASERODT, KURT; OHRSTROM-SANDGREN, THORSTEN; EZELL, JOEL; GILLESPIE, DON
To: AVAYA INC.
Reel/Frame 028798/0240 →
Continuity (1)
Related Publication 20140047122A1 · Feb 13, 2014