IP Library Patent Application 14837533
Patent Application
App. No. 14/837,533

APPLICATION-SPECIFIC INTEGRATED CIRCUIT DATA FLOW ENTITY COUNTING

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 None
App. No.
14/837,533
Abstract

In some examples, a network switch includes a switch processing resource and a switch memory resource. The switch memory resource includes machine readable instructions to process a received data packet and to forward the received data packets to another device in a network. The switch further includes a programmable Application-Specific Integrated Circuit (ASIC) that includes an ASIC processing resource and an ASIC memory resource. The ASIC memory resource includes machine readable instructions to manage a plurality of flow entities stored on the memory resource and to count, with a single counter, data relating to data packets that match multiple flow entities of the plurality of flow entities.

Claims (37)

1 . A method comprising:

receiving, from a Software-Defined Networking (SDN) controller, instructions to associate a first flow entity with a counter of a programmable Application-Specific Integrated Circuit (ASIC) and to associate a second flow entity with the same counter;

receiving a first data packet having metadata corresponding to the first flow entity;

counting, with the counter, data relating to the first data packet in accordance with the association instructions received from the SDN controller;

receiving a second data packet having metadata corresponding to the second flow entity;

counting, with the counter, data relating to the second data packet in accordance with the association instructions received from the SDN controller; and

transmitting, to the SDN controller, data relating to the first and second received data packets.

2 . The method of claim 1 , wherein the first flow entity is a first flow table and the second flow entity is a second flow table.

3 . The method of claim 1 , wherein the first flow entity is a first flow entry and the second flow entity is a second flow entry.

4 . The method of claim 1 , wherein the first flow entity is a first flow queue and the second flow entity is a second flow queue.

5 . The method of claim 1 , wherein the instructions to associate a first flow entity with a counter and to associate a second flow entity with the counter includes:

reserving a counter of the ASIC; and

creating a pointer to the counter such that when a packet matches a flow entity, the counter is triggered via the pointer.

6 . The method of claim 1 , wherein counting data relating to a data packet includes counting a number of packets that trigger the counter.

7 . The method of claim 1 , wherein counting data relating to a data packet includes counting an amount of bytes of packets that trigger the counter.

8 . The method of claim 1 , wherein counting data relating to a data packet includes counting a number of packets that trigger the counter as well as an amount of bytes of packets that trigger the counter.

9 . The method of claim 1 , wherein the counter is in the form of a meter to obtain a rate relating to received data packets.

10 . The method of claim 1 , wherein the data relating to the first and second received data packets transmitted to the SDN controller is the data counted by the counter for the first and second received data packets.

11 . The method of claim 1 , wherein the data relating to the first and second received data packets transmitted to the SDN controller is created by processing data counted by the counter for the first and second received data packets for use with an SDN application.

12 . A non-transitory machine readable storage medium having stored thereon machine readable instructions to cause a computer processor to:

match a first received data packet with a first flow entity;

send a first set of data relating to the first received data packet to a counter of a programmable Application-Specific Integrated Circuit (ASIC);

match a second received data packet with a second flow entity;

send a second set of data relating to the second received data packet to the counter; and

transmit, to a Software-Defined Network (SDN) controller, data relating to the first and second sets of data.

13 . The medium of claim 12 , wherein the medium is housed within a housing of an SDN-capable network switch.

14 . A network switch comprising:

a switch processing resource;

a switch memory resource, wherein the switch memory resource includes machine readable instructions to:

process a received data packet; and

forward the received data packets to another device in a network; and

a programmable Application-Specific Integrated Circuit (ASIC), the ASIC including:

an ASIC processing resource and

an ASIC memory resource, wherein the ASIC memory resource includes machine readable instructions to:

manage a plurality of flow entities stored on the memory resource; and

count, with a single counter, data relating to data packets that match multiple flow entities of the plurality of flow entities.

15 . The network switch of claim 14 , wherein the programmable ASIC is configurable by a Software-Defined Network (SDN) controller in communication with the switch.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2015
From: VIQUEZ, CLAUDIO ENRIQUE; ALPIZAR, PEDRO ELIAS
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 036439/0671 →