US 11,757,803 B2
High availability application messaging layer
Bill Ying Chin, San Jose, CA (US); Poongovan Ponnavaikko, Santa Clara, CA (US); Dan N. Retter, Cupertino, CA (US); and Mayur Mahajan, San Francisco, CA (US)
Assigned to Avago Technologies International Sales Pte. Limited, Singapore (SG)
Filed by Avago Technologies International Sales Pte. Limited, Singapore (SG)
Filed on Feb. 3, 2020, as Appl. No. 16/779,678.
Application 16/779,678 is a continuation of application No. 13/840,540, filed on Mar. 15, 2013, granted, now 10,581,763.
Claims priority of provisional application 61/704,281, filed on Sep. 21, 2012.
Prior Publication US 2020/0177526 A1, Jun. 4, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 51/00 (2022.01); H04L 51/23 (2022.01)
CPC H04L 51/00 (2013.01) [H04L 51/23 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A network device comprising:
a first processing entity configured to operate in a first role, to transmit a message for an intended destination and to block control of an application at the first processing entity in response to transmission of the message, to receive an acknowledgement from the intended destination when the message is received at the intended destination, in response to receipt of the acknowledgement, to transmit a notification to a second processing entity to remove the message stored at the second processing entity, to receive another acknowledgment that the message was received at the second processing entity, and unblock control of the application at the first processing entity in response to receipt of the other acknowledgment; and
the second processing entity configured to operate in a second role, to receive and store the message, to receive the notification, and in response to receipt of the notification, to remove the message stored at the second processing entity,
wherein upon occurrence of a failure event at the first processing entity, the second processing entity is configured to switch to operating in the first role to determine that the second processing entity is a source of the message based on the second processing entity operating in the first role, and to transmit the message to the intended destination, wherein the intended destination is separate from the first and second processing entities.