IP Library Granted Patent US 10,498,612
Granted Patent B2
US 10,498,612 · App. 15/390,560 · Granted Dec 3, 2019

Multi-stage selective mirroring

Inventors: Gil Levy (Hod Hasharon, IL); Lion Levi (Yavne, IL); George Elias (Tel Aviv, IL)
Assignee: MELLANOX TECHNOLOGIES TLV LTD.
H04L43/028H04L41/0213H04L43/026H04L43/04H04L43/12H04L47/2441H04L47/2483H04L47/30H04L47/31H04L67/1095H04L43/0852H04L43/0894Y02D50/30
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 10,498,612
App. No.
15/390,560
Granted
Dec 3, 2019
Kind
B2
Abstract

Communication apparatus includes multiple interfaces connected to a packet data network and at least one memory configured as a buffer to contain packets received through the ingress interfaces while awaiting transmission to the network via respective egress interfaces. Processing circuitry is configured to identify data flows to which the data packets that are received through the ingress interfaces belong, to assess respective bandwidth characteristics of the data flows, and to select one or more of the data flows as candidate flows for mirroring responsively to the respective bandwidth characteristics. The processing circuitry selects, responsively to one or more predefined mirroring criteria, one or more of the data packets in the candidate flows for analysis by a network manager, and sends the selected data packets to the network manager over the network via one of the egress interfaces.

Claims (34)

1. Communication apparatus, comprising:

multiple interfaces configured to be connected to a packet data network so as to serve as ingress and egress interfaces in receiving and forwarding of data packets from and to the network by the apparatus;

at least one memory coupled to the multiple interfaces and configured as a buffer to contain packets received through one or more of the multiple interfaces while awaiting transmission to the network via others of the multiple interfaces; and

processing circuitry, which is configured to identify data flows to which the data packets that are received through the one or more of the multiple interfaces belong, to assess respective bandwidth characteristics of the data flows, and to select one or more of the data flows as candidate flows for mirroring responsively to the respective bandwidth characteristics, and which is further configured to select, responsively to one or more predefined mirroring criteria, one or more of the data packets in the candidate flows for analysis by a network manager, and to send the selected data packets to the network manager over the network via one of the multiple interfaces,

wherein the one or more predefined mirroring criteria comprise a plurality of mirroring criteria, and wherein the processing circuitry is configured to label the data packets in the candidate flows so as to indicate which of the mirroring criteria are applicable to each of the labeled data packets, and to select a given data packet for mirroring in response to a given mirroring criterion only when the given data packet is labeled to indicate that the given mirroring criterion is applicable to the given data packet.

2. The apparatus according to claim 1 , wherein the processing circuitry is configured to mirror the data packets only from the candidate flows, while the data packets in the data flows that were not selected as candidate flows are not mirrored.

3. The apparatus according to claim 1 , wherein none of the data packets in the candidate flows are sent to the network manager when the mirroring criteria are not satisfied.

4. The apparatus according to claim 1 , wherein the processing circuitry is configured to select the data flows that consume respective bandwidths in excess of a specified threshold as the candidate flows, while the data flows that consume respective bandwidths less than the specified threshold are not selected.

5. The apparatus according to claim 1 , wherein the processing circuitry is configured to label the data packets in the candidate flows as candidates for mirroring upon receipt of the data packets through the one or more of the multiple interfaces, before queuing the data packets in the buffer, and to select the data packets for analysis from among the labeled data packets that are held in the buffer.

6. The apparatus according to claim 1 , wherein the processing circuitry is configured to select one or more further candidate flows responsively to values of one or more fields in a header of the data packets.

7. The apparatus according to claim 1 , wherein the processing circuitry is configured to apply the one or more predefined mirroring criteria by monitoring a respective buffering parameter of the data packets in the candidate flows that have been queued in the buffer while awaiting transmission via the others of the multiple interfaces, and to select the one or more of the data packets for mirroring based on the respective buffering parameter.

8. The apparatus according to claim 7 , wherein the buffering parameter specifies at least one transmission characteristic of the candidate flows, selected from a group of transmission characteristics consisting of a degradation in quality of service, a level of buffer usage, a queue length, a packet transmission latency, and a congestion state.

9. Communication apparatus, comprising:

multiple interfaces configured to be connected to a packet data network so as to serve as ingress and egress interfaces in receiving and forwarding of data packets from and to the network by the apparatus;

at least one memory coupled to the multiple interfaces and configured as a buffer to contain packets received through one or more of the multiple interfaces while awaiting transmission to the network via others of the multiple interfaces; and

processing circuitry, which is configured to identify data flows to which the data packets that are received through the one or more of the multiple interfaces belong, to select and label one or more of the data flows as candidate flows for mirroring upon receipt of the data packets through the ingress interfaces and before queuing the data packets in the buffer, and which is further configured to select for analysis by a network manager, responsively to one or more predefined mirroring criteria, one or more of the data packets in the candidate flows from among the data packets that are held in the buffer, and to send the selected data packets to the network manager over the network via one of the multiple interfaces,

wherein the one or more predefined mirroring criteria comprise a plurality of mirroring criteria, and wherein the processing circuitry is configured to label the data packets in the candidate flows so as to indicate which of the mirroring criteria are applicable to each of the labeled data packets, and to select a given data packet for mirroring in response to a given mirroring criterion only when the given data packet is labeled to indicate that the given mirroring criterion is applicable to the given data packet.

10. The apparatus according to claim 9 , wherein none of the data packets in a given candidate flow are sent to the network manager when the mirroring criterion applicable to the given candidate flow is not satisfied.

11. The apparatus according to claim 9 , wherein the processing circuitry is configured to mirror the data packets only from the candidate flows, while the data packets in the data flows that were not selected as candidate flows are not mirrored.

12. A method for communication, comprising:

receiving and forwarding of data packets from and to a packet data network via ingress and egress interfaces of a network element;

identifying data flows to which the data packets that are received through the ingress interfaces belong;

assessing respective bandwidth characteristics of the data flows;

selecting one or more of the data flows as candidate flows for mirroring responsively to the respective bandwidth characteristics;

selecting, responsively to one or more predefined mirroring criteria, one or more of the data packets in the candidate flows for analysis by a network manager; and

sending the selected data packets to the network manager over the network via one of the egress interfaces,

wherein the one or more predefined mirroring criteria comprise a plurality of mirroring criteria, and wherein selecting the one or more of the data flows comprises labeling the data packets in the candidate flows so as to indicate which of the mirroring criteria are applicable to each of the labeled data packets, and wherein selecting the one or more of the data packets comprises choosing a given data packet for mirroring in response to a given mirroring criterion only when the given data packet is labeled to indicate that the given mirroring criterion is applicable to the given data packet.

13. The method according to claim 12 , wherein selecting the one or more of the data packets comprises mirroring the data packets only from the candidate flows, while the data packets in the data flows that were not selected as candidate flows are not mirrored.

14. The method according to claim 12 , wherein none of the data packets in the candidate flows are sent to the network manager when the mirroring criteria are not satisfied.

15. The method according to claim 12 , wherein selecting the one or more of the data flows comprises selecting the data flows that consume respective bandwidths in excess of a specified threshold as the candidate flows, while the data flows that consume respective bandwidths less than the specified threshold are not selected.

16. The method according to claim 12 , wherein selecting the one or more of the data flows comprises labeling the data packets in the candidate flows as candidates for mirroring upon receipt of the data packets through the ingress interfaces, before queuing the data packets in the buffer, and wherein selecting the one or more of the data packets comprises choosing the data packets for analysis from among the labeled data packets that are held in the buffer.

17. The method according to claim 12 , wherein selecting the one or more of the data flows comprises selecting one or more further candidate flows responsively to values of one or more fields in a header of the data packets.

18. The method according to claim 12 , wherein selecting the one or more of the data packets comprises applying the one or more predefined mirroring criteria by monitoring a respective buffering parameter of the data packets in the candidate flows that have been queued in the buffer while awaiting transmission via the egress interfaces, choosing the one or more of the data packets for mirroring based on the respective buffering parameter.

19. The method according to claim 18 , wherein the buffering parameter specifies at least one transmission characteristic of the candidate flows, selected from a group of transmission characteristics consisting of a degradation in quality of service, a level of buffer usage, a queue length, a packet transmission latency, and a congestion state.

Assignments (4)
MERGER Recorded Dec 15, 2021
From: MELLANOX TECHNOLOGIES TLV LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 058517/0564 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 42962/0859 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
Reel/Frame 046551/0459 →
SECURITY INTEREST Recorded Jun 23, 2017
From: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 042962/0859 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2016
From: LEVY, GIL; LEVI, LION; ELIAS, GEORGE
To: MELLANOX TECHNOLOGIES TLV LTD.
Reel/Frame 040763/0846 →
Continuity (2)
Continuation In Part 15276823 · Sep 27, 2016
Related Publication 20180091388A1 · Mar 29, 2018
Cited By (1)
US 12,425,352