IP Library Granted Patent US 9,967,106
Granted Patent B2
US 9,967,106 · App. 14/923,327 · Granted May 8, 2018

Role based multicast messaging infrastructure

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,967,106
App. No.
14/923,327
Granted
May 8, 2018
Kind
B2
Abstract

Certain embodiments of the present invention provide techniques that enable messages to be sent to a processing entity within a computing device without knowing the network address of the processing entity. In certain embodiments, instead of using the network address of the processing entity, a message can be communicated to the processing entity using information indicative of a role or state or function performed by the processing entity.

Claims (45)

1. A network device comprising:

a plurality of ports for forwarding one or more packets;

a first processing entity configured to perform processing to facilitate the forwarding of the one or more packets from the network device;

the first processing entity further configured to:

transmit a packet, to a second processing entity, comprising destination information, the destination information comprising a destination identifier and role identification information, the destination identifier identifying a set of one or more destinations, the role identification information identifying a role;

receive an acknowledgement packet from the second processing entity, the acknowledgement packet indicating that the second processing entity was identified as a destination from the set of one or more destinations and the second processing entity operated in the role when the packet was received by the second processing entity; and

release resources associated with the packet after receiving the acknowledgement packet for the packet.

2. The network device of claim 1 , wherein the first processing entity is further configured to retransmit the packet upon expiry of a timer threshold, prior to receiving of the acknowledgement packet.

3. The network device of claim 1 , wherein the packet is transmitted using an Ethernet protocol implemented in a networking stack executing on the first processing entity.

4. The network device of claim 1 , wherein the packet is assigned a priority class from a plurality of priority classes.

5. The network device of claim 1 , wherein the packet is assigned a priority class from a plurality of priority classes and wherein the packet is delivered in the same order relative to other packets within the priority class to the second processing entity that the packet is transmitted from the first processing entity.

6. The network device of claim 1 , wherein the first processing entity is further configured to receive a congestion notification packet from the second processing entity, in response to the second processing entity determining that a memory buffer of the second processing entity is filled beyond a high threshold.

7. The network device of claim 1 , wherein the first processing entity is further configured to receive a clear notification packet from the second processing entity, in response to the second processing entity determining that a memory buffer of the second processing entity is cleared below a low threshold.

8. A network device comprising:

a plurality of ports for forwarding one or more packets;

a first processing entity configured to perform processing to facilitate the forwarding of the one or more packets from the network device;

the first processing entity further configured to:

receive a packet, from a second processing entity, the packet comprising destination information, the destination information comprising a destination identifier and role identification information, the destination identifier identifying a set of one or more destinations, the role identification information identifying a role;

transmit an acknowledgement packet to the second processing entity, the acknowledgement packet indicating that

the first processing entity was identified as a destination from the set of one or more destinations,

the first processing entity operated in the role when the packet was received by the first processing entity, and

the second processing entity is to release one or more resources associated with the packet after receiving the acknowledgement packet.

9. The network device of claim 8 , wherein the acknowledgement packet is transmitted using an Ethernet protocol implemented in a networking stack executing on the first processing entity.

10. The network device of claim 8 , wherein the packet belongs to a priority class from a plurality of priority classes and wherein the packet is received at the first processing entity in the same order relative to other packets within the priority class that the packet is transmitted from the second processing entity.

11. The network device of claim 8 , wherein the first processing entity is further configured to send a congestion notification packet to the second processing entity, in response to the first processing entity determining that a memory buffer of the first processing entity is filled beyond a high threshold.

12. The network device of claim 8 , wherein the first processing entity is further configured to send a clear notification packet to the second processing entity, in response to the first processing entity determining that a memory buffer of the first processing entity is cleared below a low threshold.

13. A method comprising:

generating, by a first processing entity, a packet comprising destination information, the destination information comprising a destination identifier and role identification information, the destination identifier identifying a set of one or more destinations, the role identification information identifying a role;

transmitting the packet from the first processing entity to a second processing entity;

receiving an acknowledgement packet from the second processing entity, the acknowledgement packet indicating that the second processing entity was identified as a destination from the set of one or more destinations and the second processing entity operated in the role when the packet was received by the second processing entity;

releasing resources associated with the packet, by the first processing entity, after receiving the acknowledgement packet for the packet.

14. The method of claim 13 , further comprises retransmitting the packet, by the first processing entity, upon an expiry of a timer threshold and prior to receiving of the acknowledgement packet.

15. The method of claim 13 , wherein the packet is assigned a priority class from a plurality of priority classes and wherein the packet is delivered, in the same order relative to other packets within the priority class, to the second processing entity, that the packet is transmitted from the first processing entity.

16. The method of claim 13 , further comprising receiving, at the first processing entity, a congestion notification packet from the second processing entity, in response to the second processing entity determining that a memory buffer of the second processing entity is filled beyond a high threshold.

17. The method of claim 13 , further comprising receiving, at the first processing entity, a clear notification packet from the second processing entity, in response to the second processing entity determining that a memory buffer of the second processing entity is cleared below a low threshold.

18. A method comprising:

receiving, by a first processing entity, a packet comprising destination information, the destination information comprising a destination identifier and role identification information, the destination identifier identifying a set of one or more destinations, the role identification information identifying a role;

transmitting an acknowledgement packet from the first processing entity, the acknowledgement packet indicating that

the first processing entity was identified as a destination from the set of one or more destinations,

the first processing entity operated in the role when the packet was received by a second processing entity, and

the second processing entity is to release resources associated with the packet, after receiving the acknowledgement packet for the packet.

19. The method of claim 18 , wherein the packet is assigned a priority class from a plurality of priority classes and wherein the packet is received, in the same order relative to other packets within the priority class, at the first processing entity, that the packet is transmitted from the second processing entity.

20. The method of claim 18 , wherein the first processing entity is further configured to:

send a congestion notification packet to the second processing entity, in response to the first processing entity determining that a memory buffer of the first processing entity is filled beyond a high threshold; and

send a clear notification packet to the second processing entity, in response to the first processing entity determining that the memory buffer of the first processing entity is cleared below a low threshold.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2018
From: CHIN, BILL YING; RETTER, DAN N.; MAHAJAN, MAYUR; PONNAVAIKKO, POONGOVAN
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 044875/0850 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →