US20180167319A1 - Application identification cache - Google Patents
Application identification cache Download PDFInfo
- Publication number
- US20180167319A1 US20180167319A1 US15/580,549 US201515580549A US2018167319A1 US 20180167319 A1 US20180167319 A1 US 20180167319A1 US 201515580549 A US201515580549 A US 201515580549A US 2018167319 A1 US2018167319 A1 US 2018167319A1
- Authority
- US
- United States
- Prior art keywords
- packet
- application
- cache
- application identification
- entry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Definitions
- FIG. 1 shows an example of a device that may implement an application identification cache.
- FIG. 4 shows an example of a cache update by the cache manager.
- FIG. 5 shows another example of a cache update by the cache manager.
- FIG. 6 shows an example of logic that a network device may implement.
- FIG. 8 shows an example of a device that may maintain an application identification cache.
- the discussion herein may provide devices, circuitry, systems, logic, and methods to implement an application identification cache through a network device.
- the application identification cache may support identification of an application that network traffic (e.g., packets) belongs to or originates from.
- a cache hit in the application identification cache may support application recognition for a packet stream without, for example, deep packet inspection or other resource intensive processes.
- the application identification cache may reduce device resource usage and increase the efficiency and speed of packet routing and communication.
- FIG. 1 shows an example of a device 100 that may implement an application identification cache.
- the device 100 may be any computing or network device that communicates data.
- the device 100 may take the form of a router, server, switch, gateway, network edge device, client device, and more.
- the device 100 may include any circuitry or logic to perform packet routing, and according to any number of methods or protocols and across any number of communication networks types.
- the device 100 shown in FIG. 1 also includes a cache manager 110 , which may maintain, update, and access the application identification cache 108 .
- the cache manager 110 may be implemented by the device 100 through any combination of a sub-system, module, dedicated circuitry, logic, executable instructions stored on a machine-readable medium, and various other forms.
- the cache manager 110 may access the application identification cache 108 to identify a particular application that received network traffic belongs to, such as by identifying a received packet as part of a traffic flow of the particular application.
- the cache manager 110 includes the modules 115 , 116 , and 117 which may implement features that the cache manager 110 may provide. For instance, through the modules 115 , 116 , and 117 , the cache manager 110 may insert an entry into the application identification cache 108 correlating a particular application to a packet characteristic of a traffic flow of the particular application; parse a packet header of a received packet to identify the packet characteristic; and access the application identification cache 108 according to the packet characteristic to determine the received packet as part of the traffic flow of the particular application. Examples features of the application identification cache 108 and the cache manager 110 are discussed in greater detail next.
- the application identification cache 108 may store cache entries that respectively map an application to a packet characteristic for a traffic flow of the application.
- a traffic flow may refer to any data stream carrying application data of an application, such as a sequence of packets for a specific transport connection, a media data stream, and more.
- the application identification cache 108 may identify or track various applications through application identifiers, which may be configured by a network administrator or recognized across multiple network devices in a communication network.
- FIG. 2 shows an example of an application identification cache 108 that includes an “App ID” field for entries in the application identification cache 108 , which may specify an application identifier that corresponds to an application.
- the application identification cache 108 includes example entries for the applications identified as “App-1”, “App-2”, and “App-X”. These example entries map the application identifiers to respective packet characteristics.
- a packet characteristic of a traffic flow may be any attribute, parameter, value, or other characteristic that a packet in the traffic flow contains.
- the application identification cache 108 maps an application (e.g., through an application identifier) to a packet characteristic in the form of particular packet header values identifying a traffic flow of the application. Any combination of packet header values may be used by the application identification cache 108 as a packet characteristic.
- packer header values include a source address (e.g., a source internet protocol (IP) address or source Ethernet or media access control (MAC) address), a destination address (e.g., a destination IP or MAC address), a communication protocol in use (e.g., a transport layer protocol such as transmission control protocol (TOP), user datagram protocol (UDP), or others), or a communication port (e.g., a source port or destination port).
- IP internet protocol
- MAC media access control
- TOP transmission control protocol
- UDP user datagram protocol
- a communication port e.g., a source port or destination port
- packet header values the application identification cache 108 may map to an application include any quality of service (QoS) attributes of a packet, metadata values (e.g., a header metadata value of an application identifier itself), priority fields, network identification bits, and more.
- QoS quality of service
- the packet characteristic make take the form of a TCP connection 5-tuple or an OpenFlow 12-tuple.
- entries in the application identification cache 108 include a destination IP address field (shown as “DestIP”), protocol in use (shown as “Protocol”), and destination port (shown as “destPort”). These packet header values may together form an example packet characteristic that the application identification cache 108 maps to an application identifier.
- the application identification cache 108 may store any number of entries for a particular application.
- the application identification cache 108 may support identification of the particular application through multiple, different packet characteristics.
- the application identification cache 108 may include a first entry mapping a particular application (e.g., with application identifier “App-A”) to a particular TCP connection 5-tuple and a second entry mapping the particular application to a particular metadata value specified in a packet header.
- the application identification cache 108 may provide flexibility in a network device to select, configure, or vary which particular packet characteristic(s) to use in identifying an application.
- the cache manager 110 may identify a packet characteristic of the packet 201 .
- the packet 201 includes the packet header 202 and the cache manager 110 may parse the packet 201 to identify specific packet header values in the packet header 202 as the packet characteristic of the packet 201 (shown in FIG. 2 as the packet characteristic 210 ). Then, the cache manager 110 may perform a lookup into the application identification cache 108 according to the packet characteristic 210 of the packet 201 .
- the application identification cache 108 may return an application identifier 220 to the cache manager 110 .
- the cache manager 110 may identify the packet 201 as part of a traffic flow of an application corresponding to the returned application identifier 220 .
- the cache manager 110 may not receive an application identifier for the packet 201 .
- the cache manager 110 may reduce resource usage were such application recognition performed instead through deep packet inspection or other resource-intensive application recognition techniques.
- use of the application identification cache 108 may result in improved data routing performance, allowing network devices to determine and route packets more efficiently, quicker, and with less resource consumption (e.g., with reduced deep packet inspection).
- deep packet inspection processes may require decrypting of encrypted packet data to perform application recognition, such as through inspection of packet payload data for data signatures or other content. In such scenarios, using the application identification cache 108 may further reduce resource usage through bypassing such decryption processes as well.
- FIG. 3 shows an example of a cache manager 110 forwarding a packet 201 and application identifier 220 to packet forwarding circuitry 310 .
- the packet forwarding circuitry 310 may include any packet routing or forwarding logic, such as packet forwarding pipeline implemented by a network device. As such, the packet forward circuitry 310 may process packets according to various packet forwarding rules (e.g., policies), which may control the priority, bandwidth, resource allocation, or other processing characteristics by which the packet forwarding circuitry 310 processes different packet types for routing.
- packet forwarding rules e.g., policies
- the packet forwarding circuitry 310 may differentiate between network traffic from different applications, e.g., by applying different forwarding rules for traffic flows of the different applications.
- the packet forwarding circuitry 310 processes the packet 201 according to a particular forwarding rule set for the traffic flow of the application corresponding to the application identifier 220 .
- the application identification cache 108 may be implemented among network devices of a wide area network (WAN) employing software defined networking (SDN) techniques.
- the SDN WAN network may use the OpenFlow protocol to control routing policies of network devices, e.g., via packet forwarding rules.
- the application identification cache 108 may support application-specific routing by providing an efficient and flexible mechanism for application recognition and subsequent packet processing.
- a network device may implement the application identification cache 108 in combination with (e.g., as part of) an OpenFlow cache tracking various traffic flows.
- the cache manager 110 may add the application identifier as a metadata field of the OpenFlow cache, such as when a new entry is added to the OpenFlow cache.
- the application identification cache 108 may work in combination with communication networks employing SDN to provide increased efficiency and flexibility in packet routing.
- FIG. 4 shows an example of a cache update by the cache manager 110 .
- FIG. 4 may illustrate an out-of-band cache update to the application identification cache 108 , such as via a control plane of a network managed through SDN techniques.
- the cache manager 110 receives an entry insertion indication 410 .
- the entry insertion indication 410 may be any communication including entry data for the application identification cache 108 .
- the cache manager 110 may receive the entry insertion indication 410 from an entity external to a network device implementing the application identification cache 108 .
- the cache manager 110 may receive the entry insertion indication 410 from a network management entity (e.g., SDN controller), an application manager, or an application executing on a client device.
- a management entity such as an SDN controller or an application manager, may send the entry insertion indication 410 through an out-of-band data channel or via a network control plane to the cache manager 110 , which may cause the cache manager 110 to update its application identification cache 108 .
- the entry insertion indication 410 may include an application identifier, a corresponding packet characteristic, or both.
- the cache manager 110 may insert an entry into the application identification cache 108 , such as through the cache update 411 shown in FIG. 4 .
- the cache update 411 may be a cache insertion instruction (e.g., a memory write), and include an application identifier and corresponding packet characteristic provided in the entry insertion indication 410 .
- the entry insertion indication 410 includes the application identifier “App-Y” and a packet characteristic with destination IP address of “101.1.1.0.124”, protocol used as “UDP”, and destination port of “999”.
- the entry insertion indication 410 includes an accompanying forwarding rule for an application identifier.
- the entry insertion indication 410 may include a forwarding rule 412 for the application identifier “App-Y”.
- the cache manager 110 may set the forwarding rule 412 for the packet forwarding circuitry 310 .
- the forwarding rule 412 is provided separately from the entry insertion indication 410 .
- an SDN controller may send the forwarding rule 412 via a separate OpenFlow communication different from the entry insertion indication 410 .
- FIG. 5 shows another example of a cache update by the cache manager 110 .
- the cache manager 110 may perform an in-band cache update, e.g., without receiving an out-of-band instruction or control plane communication.
- the cache manager 110 may perform an in-band cache update to the application identification cache 108 in response to a cache miss.
- the cache manager 110 may receive the packet 501 which includes the packet header 502 .
- the cache manager 110 may parse the packet 501 (e.g., the packet header 502 ) to identify a packet characteristic of the packet 501 .
- the cache manager 110 determines a packet characteristic with a destination IP address of “121.1.1.0/24”, a protocol used as “UDP”, and a destination port of “50”. Using the determined packet characteristic, the cache manager 110 may perform a lookup into the application identification cache 108 , which may result in a cache miss when no entry is stored for this particular packet characteristic.
- the cache manager 110 may maintain and update an application identification cache 108 in various ways.
- the cache manager 110 may perform a combination in-band and out-of-band cache updates to the application identification cache 108 , flexibly allowing for configuration through a network management entity as well as dynamic identification of new application traffic flows received by a network device.
- FIG. 6 shows an example of logic 600 that a network device may implement.
- the network device may implement the logic 600 as hardware, executable instructions stored on a machine-readable medium, or combinations of both.
- the network device implements the logic 600 through the cache manager 110 , and the cache manager 110 may perform or execute the logic 600 as a method to support application identification for a traffic flow through an application identification cache 108 .
- the network device may parse a packet received by the network device to identify a packet header value of the packet ( 602 ).
- the network device may parse the packet to identify a predetermined set of packet header values. For instance, the network device may parse the packet by identifying, as the packet header value, a destination address, a source address, a transport layer communication protocol used to communicate the packet, a communication port, a metadata value for the packet, or any combination thereof.
- the network device may perform a lookup into an application identification cache 108 using the packet header value to identify the packet as part of a traffic flow of a particular application ( 604 ).
- FIG. 7 shows another example of logic 700 that a network device may implement.
- the network device may implement the logic 700 as hardware, executable instructions stored on a machine-readable medium, or combinations of both.
- the network device implements the logic 700 through combinations of the cache manager 110 , packet forwarding circuitry 310 , or other routing circuitry or modules.
- the network device may perform or execute the logic 700 as a method.
- the network device may parse a packet received by the network device to identify a packet header value of the packet ( 702 ).
- a packet header value (or set of packet header values) is used as a continuing example of a packet characteristic for the logic 700 of FIG. 7 .
- the network device may perform a lookup into an application identification cache 108 implemented by the network device according to the packet header value to determine an application the packet corresponds to ( 704 ).
- the lookup may return a cache hit or cache miss, depending on whether the application identification cache 108 includes an entry for the packet header value ( 706 ).
- the network device may determine the packet as part of a traffic flow of a particular application ( 708 ), e.g., the particular application corresponding to an application identifier returned by the application identification cache 108 .
- the network device may identify the particular application through the application identification cache 108 and without having to perform a deep packet inspection process to identify the corresponding application for the packet.
- the network device may process the packet according to a particular forwarding rule set for the traffic flow of the particular application ( 710 ).
- the network device may identify an application the packet corresponds to in other ways. For example, the network device may perform a deep inspection process for the packet to identify the packet as part of the traffic flow of the particular application ( 712 ). Doing so may consume greater resources or time as compared to a lookup into the application identification cache 108 . Accordingly, the network device may insert an entry into the application identification cache 108 correlating the packet header value of the packet (or any other packet characteristic) to the particular application ( 714 ). The network device may also set a particular forwarding rule for processing the traffic flow of the particular application ( 716 ) in response to inserting the entry into the application identification cache 108 and process the packet according to the particular forwarding rule ( 718 ).
- FIG. 8 shows an example of a device 800 that may maintain an application identification cache.
- the device 800 may be any network device, such as a router, server, switch, gateway, network edge device, and more.
- the device 800 may include a processor 810 .
- the processor 810 may include a central processing unit (CPU), microprocessor, or any hardware device suitable for executing instructions stored on a machine-readable medium.
- the device 800 may include a machine-readable medium 820 .
- the machine-readable medium 820 may be any non-transitory electronic, magnetic, optical, or other physical storage device that stores executable instructions, such as the application identification cache instructions 822 shown in FIG. 8 .
- the machine-readable medium 820 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disk, and the like.
- RAM Random Access Memory
- EEPROM Electrically-Erasable Programmable Read-Only Memory
- FIG. 8 the machine-readable medium 820 also stores an application identification cache 108 .
- the device 800 may execute instructions stored on the machine-readable medium 820 through the processor 810 . Executing the instructions may cause the device 800 to perform any combination of the features described herein. For example, executing the application identification cache instructions 822 may cause the device 800 to maintain the application identification cache 108 to store entries pairing application identifiers to packet characteristics of traffic flows. Executing the application identification cache instructions 822 may also cause the device 800 to parse a packet header of a packet to identify a particular packet characteristic of the packet; access the application identification cache 108 according to the particular packet characteristic to determine a particular application identifier for the packet; and process the packet according to a forwarding rule set for a traffic flow of a particular application corresponding to the application identifier.
- the application identification cache instructions 822 cause the device 800 to maintain the application identification cache 108 by receiving the particular application identifier and particular packet characteristic through a routing control plane (e.g., from a network management entity) and, in response, inserting an entry into the application identification cache 108 correlating the particular application identifier and the particular packet characteristic.
- the application identification cache instructions 822 causes the device 800 to maintain the application identification cache 108 by performing a deep packet inspection process for a previously received packet to identify the previously received packet as part of the traffic flow for the particular application, determining the previously received packet includes the particular packet characteristic, and inserting an entry into the application identification cache correlating the particular packet characteristic to the particular application identifier for the particular application.
- the methods, devices, circuitry, systems, and logic described above, including the application identification cache 108 ; cache manager 110 ; and packet forwarding circuitry 310 may be implemented in many different ways in many different combinations of hardware, logic, circuitry, and executable instructions stored on a machine-readable medium.
- the cache manager 110 may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits.
- a product, such as a computer program product may include a storage medium and machine readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above.
- the processing capability of the systems, devices, and circuitry described herein, including the cache manager 110 and the packet forwarding circuitry 310 , may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems.
- Parameters, databases, and other data structures, such as the application identification cache 108 may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms.
- Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL)).
- the DLL may store code that performs any of the system processing described above.
Abstract
Description
- High speed communication networks form part of the backbone of what has become indispensable worldwide data connectivity. Within these communication networks, network devices such as switching devices direct network traffic from source ports to destination ports, helping to eventually guide a data packet from a source to a destination. Improvements in the efficiency of such communication networks will increase the effectiveness of communicating data.
- Certain examples are described in the following detailed description and in reference to the drawings.
-
FIG. 1 shows an example of a device that may implement an application identification cache. -
FIG. 2 shows an example of a lookup into an application identification cache by a cache manager. -
FIG. 3 shows an example of a cache manager forwarding a packet and application identifier to packet forwarding circuitry. -
FIG. 4 shows an example of a cache update by the cache manager. -
FIG. 5 shows another example of a cache update by the cache manager. -
FIG. 6 shows an example of logic that a network device may implement. -
FIG. 7 shows another example of logic that a network device may implement. -
FIG. 8 shows an example of a device that may maintain an application identification cache. - The discussion herein may provide devices, circuitry, systems, logic, and methods to implement an application identification cache through a network device. The application identification cache may support identification of an application that network traffic (e.g., packets) belongs to or originates from. A cache hit in the application identification cache may support application recognition for a packet stream without, for example, deep packet inspection or other resource intensive processes. Thus, the application identification cache may reduce device resource usage and increase the efficiency and speed of packet routing and communication. These features may be particularly beneficial for encrypted application data flows, as application identification through the application identification cache without deep packet inspection may additionally reduce or eliminate resource usage for decrypting the application data flow as well.
-
FIG. 1 shows an example of adevice 100 that may implement an application identification cache. Thedevice 100 may be any computing or network device that communicates data. As examples, thedevice 100 may take the form of a router, server, switch, gateway, network edge device, client device, and more. Thedevice 100 may include any circuitry or logic to perform packet routing, and according to any number of methods or protocols and across any number of communication networks types. - In the example shown in
FIG. 1 , thedevice 100 includes anapplication identification cache 108. Thedevice 100 may implement theapplication identification cache 108 as any type of data structure, and any various physical and virtual implementations are possible. For example, theapplication identification cache 108 may take the form of a cache memory, table, database, or various other data storage entities. In operation, theapplication identification cache 108 may store entries correlating traffic flows to applications (e.g., client programs) originating these traffic flows. For instance, an entry of theapplication identification cache 108 may pair a packet characteristic of a traffic flow to an application identifier of the corresponding application that generated the traffic flow. Features and examples of theapplication identification cache 108 are discussed in greater detail below. - The
device 100 shown inFIG. 1 also includes acache manager 110, which may maintain, update, and access theapplication identification cache 108. Thecache manager 110 may be implemented by thedevice 100 through any combination of a sub-system, module, dedicated circuitry, logic, executable instructions stored on a machine-readable medium, and various other forms. Thecache manager 110 may access theapplication identification cache 108 to identify a particular application that received network traffic belongs to, such as by identifying a received packet as part of a traffic flow of the particular application. - In the particular example shown in
FIG. 1 , thecache manager 110 includes themodules cache manager 110 may provide. For instance, through themodules cache manager 110 may insert an entry into theapplication identification cache 108 correlating a particular application to a packet characteristic of a traffic flow of the particular application; parse a packet header of a received packet to identify the packet characteristic; and access theapplication identification cache 108 according to the packet characteristic to determine the received packet as part of the traffic flow of the particular application. Examples features of theapplication identification cache 108 and thecache manager 110 are discussed in greater detail next. -
FIG. 2 shows an example of a lookup into anapplication identification cache 108 by thecache manager 110. Thecache manager 110 may perform a lookup into theapplication identification cache 108 for network traffic received by a network device, such as packet data. In the example shown inFIG. 2 , thecache manager 110 performs a lookup into theapplication identification cache 108 for thepacket 201, allowing thecache manager 110 to determine an application for which thepacket 201 belongs to (e.g., is transporting application data for). - To support application identification for network traffic, the
application identification cache 108 may store cache entries that respectively map an application to a packet characteristic for a traffic flow of the application. A traffic flow may refer to any data stream carrying application data of an application, such as a sequence of packets for a specific transport connection, a media data stream, and more. Theapplication identification cache 108 may identify or track various applications through application identifiers, which may be configured by a network administrator or recognized across multiple network devices in a communication network.FIG. 2 shows an example of anapplication identification cache 108 that includes an “App ID” field for entries in theapplication identification cache 108, which may specify an application identifier that corresponds to an application. And as seen in the example inFIG. 2 , theapplication identification cache 108 includes example entries for the applications identified as “App-1”, “App-2”, and “App-X”. These example entries map the application identifiers to respective packet characteristics. - A packet characteristic of a traffic flow may be any attribute, parameter, value, or other characteristic that a packet in the traffic flow contains. In some examples, the
application identification cache 108 maps an application (e.g., through an application identifier) to a packet characteristic in the form of particular packet header values identifying a traffic flow of the application. Any combination of packet header values may be used by theapplication identification cache 108 as a packet characteristic. Examples of such packer header values include a source address (e.g., a source internet protocol (IP) address or source Ethernet or media access control (MAC) address), a destination address (e.g., a destination IP or MAC address), a communication protocol in use (e.g., a transport layer protocol such as transmission control protocol (TOP), user datagram protocol (UDP), or others), or a communication port (e.g., a source port or destination port). - Other examples of packet header values the
application identification cache 108 may map to an application include any quality of service (QoS) attributes of a packet, metadata values (e.g., a header metadata value of an application identifier itself), priority fields, network identification bits, and more. To provide even more examples, the packet characteristic make take the form of a TCP connection 5-tuple or an OpenFlow 12-tuple. In the specific example shown inFIG. 2 , entries in theapplication identification cache 108 include a destination IP address field (shown as “DestIP”), protocol in use (shown as “Protocol”), and destination port (shown as “destPort”). These packet header values may together form an example packet characteristic that the application identification cache 108 maps to an application identifier. - The
application identification cache 108 may store any number of entries for a particular application. In that regard, theapplication identification cache 108 may support identification of the particular application through multiple, different packet characteristics. Thus, theapplication identification cache 108 may include a first entry mapping a particular application (e.g., with application identifier “App-A”) to a particular TCP connection 5-tuple and a second entry mapping the particular application to a particular metadata value specified in a packet header. By supporting multiple entries for the same application, theapplication identification cache 108 may provide flexibility in a network device to select, configure, or vary which particular packet characteristic(s) to use in identifying an application. - To perform a lookup into the
application identification cache 108, thecache manager 110 may identify a packet characteristic of thepacket 201. InFIG. 2 , thepacket 201 includes thepacket header 202 and thecache manager 110 may parse thepacket 201 to identify specific packet header values in thepacket header 202 as the packet characteristic of the packet 201 (shown inFIG. 2 as the packet characteristic 210). Then, thecache manager 110 may perform a lookup into theapplication identification cache 108 according to thepacket characteristic 210 of thepacket 201. When the lookup results in a cache hit (e.g., when theapplication identification cache 108 includes an entry for the packet characteristic 210), theapplication identification cache 108 may return anapplication identifier 220 to thecache manager 110. In doing so, thecache manager 110 may identify thepacket 201 as part of a traffic flow of an application corresponding to thereturned application identifier 220. When the lookup results in a cache miss, thecache manager 110 may not receive an application identifier for thepacket 201. - To illustrate through the example shown in
FIG. 2 , thecache manager 110 may parse thepacket 201 to identify thepacket characteristic 210 as a destination IP address of “1.1.1.0/24”, a protocol as “UDP”, and a destination port as “1920”. Using these packet header values as thepacket characteristic 210, a lookup into theapplication identification cache 108 by thecache manager 110 returns a cache hit, and theapplication identification cache 108 may return theapplication identifier 220 as “App-1”. Thus, thecache manager 110 may identify thepacket 201 as part of a traffic flow for the application corresponding to the application identifier “App-1”, retrieved through theapplication identification cache 108. - By determining a corresponding application for network traffic through the
application identification cache 108, thecache manager 110 may reduce resource usage were such application recognition performed instead through deep packet inspection or other resource-intensive application recognition techniques. In that regard, use of theapplication identification cache 108 may result in improved data routing performance, allowing network devices to determine and route packets more efficiently, quicker, and with less resource consumption (e.g., with reduced deep packet inspection). Moreover, deep packet inspection processes may require decrypting of encrypted packet data to perform application recognition, such as through inspection of packet payload data for data signatures or other content. In such scenarios, using theapplication identification cache 108 may further reduce resource usage through bypassing such decryption processes as well. - Through application identification via the
application identification cache 108, a network device may support application-specific routing of traffic flows.FIG. 3 shows an example of acache manager 110 forwarding apacket 201 andapplication identifier 220 topacket forwarding circuitry 310. Thepacket forwarding circuitry 310 may include any packet routing or forwarding logic, such as packet forwarding pipeline implemented by a network device. As such, thepacket forward circuitry 310 may process packets according to various packet forwarding rules (e.g., policies), which may control the priority, bandwidth, resource allocation, or other processing characteristics by which thepacket forwarding circuitry 310 processes different packet types for routing. In some examples, thepacket forwarding circuitry 310 may differentiate between network traffic from different applications, e.g., by applying different forwarding rules for traffic flows of the different applications. InFIG. 3 , thepacket forwarding circuitry 310 processes thepacket 201 according to a particular forwarding rule set for the traffic flow of the application corresponding to theapplication identifier 220. - As an example of a particular networking environment, the
application identification cache 108 may be implemented among network devices of a wide area network (WAN) employing software defined networking (SDN) techniques. The SDN WAN network may use the OpenFlow protocol to control routing policies of network devices, e.g., via packet forwarding rules. In such an environment, theapplication identification cache 108 may support application-specific routing by providing an efficient and flexible mechanism for application recognition and subsequent packet processing. To illustrate, a network device may implement theapplication identification cache 108 in combination with (e.g., as part of) an OpenFlow cache tracking various traffic flows. In this illustration, thecache manager 110 may add the application identifier as a metadata field of the OpenFlow cache, such as when a new entry is added to the OpenFlow cache. Thus, theapplication identification cache 108 may work in combination with communication networks employing SDN to provide increased efficiency and flexibility in packet routing. - Next, some example techniques through which the
cache manager 110 may maintain or update theapplication identification cache 108 are presented.FIG. 4 shows an example of a cache update by thecache manager 110. In particular,FIG. 4 may illustrate an out-of-band cache update to theapplication identification cache 108, such as via a control plane of a network managed through SDN techniques. - In
FIG. 4 , thecache manager 110 receives anentry insertion indication 410. Theentry insertion indication 410 may be any communication including entry data for theapplication identification cache 108. Thecache manager 110 may receive theentry insertion indication 410 from an entity external to a network device implementing theapplication identification cache 108. As examples, thecache manager 110 may receive theentry insertion indication 410 from a network management entity (e.g., SDN controller), an application manager, or an application executing on a client device. A management entity, such as an SDN controller or an application manager, may send theentry insertion indication 410 through an out-of-band data channel or via a network control plane to thecache manager 110, which may cause thecache manager 110 to update itsapplication identification cache 108. - The
entry insertion indication 410 may include an application identifier, a corresponding packet characteristic, or both. In response to receiving theentry insertion indication 410, thecache manager 110 may insert an entry into theapplication identification cache 108, such as through thecache update 411 shown inFIG. 4 . Thecache update 411 may be a cache insertion instruction (e.g., a memory write), and include an application identifier and corresponding packet characteristic provided in theentry insertion indication 410. In the particular example shown inFIG. 4 , theentry insertion indication 410 includes the application identifier “App-Y” and a packet characteristic with destination IP address of “101.1.1.0.124”, protocol used as “UDP”, and destination port of “999”. After insertion through thecache update 411, theapplication identification cache 108 may include an entry with these values. When a network device subsequently receives network traffic from application “App-Y”, theapplication identification cache 108 may include this inserted entry for application “App-Y” through which thecache manager 110 may identify application “App-Y” instead of through performing deep packet inspection or other packet recognition processes. - In some examples, the
entry insertion indication 410 includes an accompanying forwarding rule for an application identifier. InFIG. 4 , theentry insertion indication 410 may include aforwarding rule 412 for the application identifier “App-Y”. Through a receivedforwarding rule 412, thecache manager 110 may set theforwarding rule 412 for thepacket forwarding circuitry 310. In some examples, theforwarding rule 412 is provided separately from theentry insertion indication 410. For instance, an SDN controller may send theforwarding rule 412 via a separate OpenFlow communication different from theentry insertion indication 410. -
FIG. 5 shows another example of a cache update by thecache manager 110. In the example shown inFIG. 5 , thecache manager 110 may perform an in-band cache update, e.g., without receiving an out-of-band instruction or control plane communication. - The
cache manager 110 may perform an in-band cache update to theapplication identification cache 108 in response to a cache miss. To illustrate throughFIG. 5 , thecache manager 110 may receive thepacket 501 which includes thepacket header 502. Thecache manager 110 may parse the packet 501 (e.g., the packet header 502) to identify a packet characteristic of thepacket 501. InFIG. 5 , thecache manager 110 determines a packet characteristic with a destination IP address of “121.1.1.0/24”, a protocol used as “UDP”, and a destination port of “50”. Using the determined packet characteristic, thecache manager 110 may perform a lookup into theapplication identification cache 108, which may result in a cache miss when no entry is stored for this particular packet characteristic. - When the lookup results in a cache miss, the
cache manager 110 may identify the corresponding application for thepacket 501 in other ways. For instance, thecache manager 110 may send thepacket 501 to a deep packet inspection (DPI)engine 510, which may include a processor of the network device. TheDPI engine 510 may employ any number of deep packet inspection processes to identify the particular application for which thepacket 501 stores application data. TheDPI engine 510 may provide the results of the application identification to thecache manager 110, e.g., through anapplication identifier 511. InFIG. 5 , theDPI engine 510 determines the application to whichpacket 501 belongs as having an application identifier of “App-Z”, which theDPI engine 510 provides to thecache manager 110 as theapplication identifier 511. - Upon receiving an
application identifier 511 or other application identification data from theDPI engine 510, thecache manager 110 may insert an entry into theapplication identification cache 108. Continuing the example shown inFIG. 5 , thecache manager 110 inserts such an entry through thecache update 512, which may include theapplication identifier 511 as “App-Z” and the packet characteristic extracted from thepacket 501. Through thecache update 512, theapplication identification cache 108 may thus include an inserted entry for “App-Z”, as shown inFIG. 5 . For subsequent packets in a traffic flow from the application identified as “App-Z”, thecache manager 110 may recognize the traffic flow as belonging to application “App-Z” through a lookup into theapplication identification cache 108 instead of through theDPI engine 510. - In some examples, the
cache manager 110 configures a forwarding rule for an entry inserted through an in-band cache update. Thecache manager 110 may set aforwarding rule 513 for thepacket forwarding circuitry 310 before, after, or concurrent to performing an in-band cache update. That is, thecache manager 110 may set theforwarding rule 513 prior to receiving any traffic from a particular application (e.g., as configured through a network management entity) or after receiving a identifying an application flow for a newly recognized application (e.g., in response to the cache miss and DPI application recognition). For a network employing SDN techniques, an SDN controller may send theforwarding rule 513 via an OpenFlow communication, through which a network device (e.g., via the cache manager 110) may configure itspacket forwarding circuitry 310. - As described above, the
cache manager 110 may maintain and update anapplication identification cache 108 in various ways. Thecache manager 110 may perform a combination in-band and out-of-band cache updates to theapplication identification cache 108, flexibly allowing for configuration through a network management entity as well as dynamic identification of new application traffic flows received by a network device. -
FIG. 6 shows an example oflogic 600 that a network device may implement. The network device may implement thelogic 600 as hardware, executable instructions stored on a machine-readable medium, or combinations of both. In some examples, the network device implements thelogic 600 through thecache manager 110, and thecache manager 110 may perform or execute thelogic 600 as a method to support application identification for a traffic flow through anapplication identification cache 108. - With regards to the
logic 600, the network device may parse a packet received by the network device to identify a packet header value of the packet (602). The network device may parse the packet to identify a predetermined set of packet header values. For instance, the network device may parse the packet by identifying, as the packet header value, a destination address, a source address, a transport layer communication protocol used to communicate the packet, a communication port, a metadata value for the packet, or any combination thereof. Then, the network device may perform a lookup into anapplication identification cache 108 using the packet header value to identify the packet as part of a traffic flow of a particular application (604). -
FIG. 7 shows another example oflogic 700 that a network device may implement. The network device may implement thelogic 700 as hardware, executable instructions stored on a machine-readable medium, or combinations of both. In some examples, the network device implements thelogic 700 through combinations of thecache manager 110,packet forwarding circuitry 310, or other routing circuitry or modules. The network device may perform or execute thelogic 700 as a method. - The network device may parse a packet received by the network device to identify a packet header value of the packet (702). A packet header value (or set of packet header values) is used as a continuing example of a packet characteristic for the
logic 700 ofFIG. 7 . The network device may perform a lookup into anapplication identification cache 108 implemented by the network device according to the packet header value to determine an application the packet corresponds to (704). The lookup may return a cache hit or cache miss, depending on whether theapplication identification cache 108 includes an entry for the packet header value (706). - When the
application identification cache 108 includes an entry for the packet header value, the network device may determine the packet as part of a traffic flow of a particular application (708), e.g., the particular application corresponding to an application identifier returned by theapplication identification cache 108. Thus, the network device may identify the particular application through theapplication identification cache 108 and without having to perform a deep packet inspection process to identify the corresponding application for the packet. Upon identifying the particular application, the network device may process the packet according to a particular forwarding rule set for the traffic flow of the particular application (710). - When the
application identification cache 108 does not include an entry for the packet header value, the network device may identify an application the packet corresponds to in other ways. For example, the network device may perform a deep inspection process for the packet to identify the packet as part of the traffic flow of the particular application (712). Doing so may consume greater resources or time as compared to a lookup into theapplication identification cache 108. Accordingly, the network device may insert an entry into theapplication identification cache 108 correlating the packet header value of the packet (or any other packet characteristic) to the particular application (714). The network device may also set a particular forwarding rule for processing the traffic flow of the particular application (716) in response to inserting the entry into theapplication identification cache 108 and process the packet according to the particular forwarding rule (718). -
FIG. 8 shows an example of adevice 800 that may maintain an application identification cache. Thedevice 800 may be any network device, such as a router, server, switch, gateway, network edge device, and more. Thedevice 800 may include aprocessor 810. Theprocessor 810 may include a central processing unit (CPU), microprocessor, or any hardware device suitable for executing instructions stored on a machine-readable medium. Thedevice 800 may include a machine-readable medium 820. The machine-readable medium 820 may be any non-transitory electronic, magnetic, optical, or other physical storage device that stores executable instructions, such as the applicationidentification cache instructions 822 shown inFIG. 8 . Thus, the machine-readable medium 820 may be, for example, Random Access Memory (RAM), an Electrically-Erasable Programmable Read-Only Memory (EEPROM), a storage drive, an optical disk, and the like. InFIG. 8 , the machine-readable medium 820 also stores anapplication identification cache 108. - The
device 800 may execute instructions stored on the machine-readable medium 820 through theprocessor 810. Executing the instructions may cause thedevice 800 to perform any combination of the features described herein. For example, executing the applicationidentification cache instructions 822 may cause thedevice 800 to maintain theapplication identification cache 108 to store entries pairing application identifiers to packet characteristics of traffic flows. Executing the applicationidentification cache instructions 822 may also cause thedevice 800 to parse a packet header of a packet to identify a particular packet characteristic of the packet; access theapplication identification cache 108 according to the particular packet characteristic to determine a particular application identifier for the packet; and process the packet according to a forwarding rule set for a traffic flow of a particular application corresponding to the application identifier. - In some examples, the application
identification cache instructions 822 cause thedevice 800 to maintain theapplication identification cache 108 by receiving the particular application identifier and particular packet characteristic through a routing control plane (e.g., from a network management entity) and, in response, inserting an entry into theapplication identification cache 108 correlating the particular application identifier and the particular packet characteristic. As another example, the applicationidentification cache instructions 822 causes thedevice 800 to maintain theapplication identification cache 108 by performing a deep packet inspection process for a previously received packet to identify the previously received packet as part of the traffic flow for the particular application, determining the previously received packet includes the particular packet characteristic, and inserting an entry into the application identification cache correlating the particular packet characteristic to the particular application identifier for the particular application. - The methods, devices, circuitry, systems, and logic described above, including the
application identification cache 108;cache manager 110; andpacket forwarding circuitry 310, may be implemented in many different ways in many different combinations of hardware, logic, circuitry, and executable instructions stored on a machine-readable medium. For example, thecache manager 110 may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits. A product, such as a computer program product, may include a storage medium and machine readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above. - The processing capability of the systems, devices, and circuitry described herein, including the
cache manager 110 and thepacket forwarding circuitry 310, may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Parameters, databases, and other data structures, such as theapplication identification cache 108, may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL)). The DLL, for example, may store code that performs any of the system processing described above. - While various examples have been described above, many more implementations are possible.
Claims (15)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/035509 WO2016200399A1 (en) | 2015-06-12 | 2015-06-12 | Application identification cache |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180167319A1 true US20180167319A1 (en) | 2018-06-14 |
Family
ID=57504142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/580,549 Abandoned US20180167319A1 (en) | 2015-06-12 | 2015-06-12 | Application identification cache |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180167319A1 (en) |
EP (1) | EP3281363A4 (en) |
CN (1) | CN107646187A (en) |
WO (1) | WO2016200399A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10218605B2 (en) * | 2017-04-21 | 2019-02-26 | Cisco Technology, Inc. | On-demand control plane redundancy |
US20190158464A1 (en) * | 2017-11-20 | 2019-05-23 | Forcepoint Llc | Inspection context caching for deep packet inspection |
WO2020252096A1 (en) * | 2019-06-12 | 2020-12-17 | Cisco Technology, Inc. | Intent based application fabric |
WO2021057325A1 (en) * | 2019-09-26 | 2021-04-01 | 北京字节跳动网络技术有限公司 | Methods for caching and reading content, client, and storage medium |
US11323512B2 (en) * | 2019-12-09 | 2022-05-03 | Hewlett Packard Enterprise Development Lp | Peer to peer infrastructure management architecture |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953552B (en) * | 2019-05-14 | 2022-12-13 | 华为技术有限公司 | Data flow classification method and message forwarding equipment |
CN111182072A (en) * | 2019-12-31 | 2020-05-19 | 奇安信科技集团股份有限公司 | Application identification method and device of session request and computer equipment |
KR20240027241A (en) * | 2022-08-23 | 2024-03-04 | 삼성전자주식회사 | Method and apparatus for transmitting data in mobile communication system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754662B1 (en) * | 2000-08-01 | 2004-06-22 | Nortel Networks Limited | Method and apparatus for fast and consistent packet classification via efficient hash-caching |
US20090328219A1 (en) * | 2008-06-27 | 2009-12-31 | Juniper Networks, Inc. | Dynamic policy provisioning within network security devices |
US20100095367A1 (en) * | 2008-10-09 | 2010-04-15 | Juniper Networks, Inc. | Dynamic access control policy with port restrictions for a network security appliance |
US20140258781A1 (en) * | 2013-03-11 | 2014-09-11 | Breakingpoint Systems, Inc. | Multi-Stage Application Layer Test Packet Generator For Testing Communication Networks |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7404040B2 (en) * | 2004-12-30 | 2008-07-22 | Intel Corporation | Packet data placement in a processor cache |
US8566531B2 (en) * | 2009-08-21 | 2013-10-22 | Google Inc. | System and method of selectively caching information based on the interarrival time of requests for the same information |
JP5300076B2 (en) * | 2009-10-07 | 2013-09-25 | 日本電気株式会社 | Computer system and computer system monitoring method |
CN102214172B (en) * | 2010-04-06 | 2013-05-08 | 腾讯科技(深圳)有限公司 | Caching method and caching equipment |
US8819227B1 (en) * | 2012-03-19 | 2014-08-26 | Narus, Inc. | Discerning web content and services based on real-time DNS tagging |
US9065780B2 (en) * | 2012-09-18 | 2015-06-23 | Cisco Technology, Inc. | Low latency networking device using header prediction |
US9071529B2 (en) * | 2012-10-08 | 2015-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for accelerating forwarding in software-defined networks |
US20140173018A1 (en) * | 2012-12-13 | 2014-06-19 | Futurewei Technologies, Inc. | Content Based Traffic Engineering in Software Defined Information Centric Networks |
KR102129481B1 (en) * | 2013-06-27 | 2020-07-02 | 에스케이텔레콤 주식회사 | Method for processing data in content delivery system and apparatus thereof |
-
2015
- 2015-06-12 US US15/580,549 patent/US20180167319A1/en not_active Abandoned
- 2015-06-12 EP EP15895115.2A patent/EP3281363A4/en not_active Withdrawn
- 2015-06-12 WO PCT/US2015/035509 patent/WO2016200399A1/en unknown
- 2015-06-12 CN CN201580079024.3A patent/CN107646187A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754662B1 (en) * | 2000-08-01 | 2004-06-22 | Nortel Networks Limited | Method and apparatus for fast and consistent packet classification via efficient hash-caching |
US20090328219A1 (en) * | 2008-06-27 | 2009-12-31 | Juniper Networks, Inc. | Dynamic policy provisioning within network security devices |
US20100095367A1 (en) * | 2008-10-09 | 2010-04-15 | Juniper Networks, Inc. | Dynamic access control policy with port restrictions for a network security appliance |
US20140258781A1 (en) * | 2013-03-11 | 2014-09-11 | Breakingpoint Systems, Inc. | Multi-Stage Application Layer Test Packet Generator For Testing Communication Networks |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10218605B2 (en) * | 2017-04-21 | 2019-02-26 | Cisco Technology, Inc. | On-demand control plane redundancy |
US20190158464A1 (en) * | 2017-11-20 | 2019-05-23 | Forcepoint Llc | Inspection context caching for deep packet inspection |
US10819683B2 (en) * | 2017-11-20 | 2020-10-27 | Forcepoint Llc | Inspection context caching for deep packet inspection |
WO2020252096A1 (en) * | 2019-06-12 | 2020-12-17 | Cisco Technology, Inc. | Intent based application fabric |
US10911330B2 (en) | 2019-06-12 | 2021-02-02 | Cisco Technology, Inc. | Intent based application fabric |
US11381478B2 (en) | 2019-06-12 | 2022-07-05 | Cisco Technology, Inc. | Intent based application fabric |
JP2022537669A (en) * | 2019-06-12 | 2022-08-29 | シスコ テクノロジー,インコーポレイテッド | Intent-based application fabric |
JP7304439B2 (en) | 2019-06-12 | 2023-07-06 | シスコ テクノロジー,インコーポレイテッド | Intent-based application fabric |
WO2021057325A1 (en) * | 2019-09-26 | 2021-04-01 | 北京字节跳动网络技术有限公司 | Methods for caching and reading content, client, and storage medium |
US11907121B2 (en) | 2019-09-26 | 2024-02-20 | Beijing Bytedance Network Technology Co., Ltd. | Methods for caching and reading content, client, and storage medium |
US11323512B2 (en) * | 2019-12-09 | 2022-05-03 | Hewlett Packard Enterprise Development Lp | Peer to peer infrastructure management architecture |
Also Published As
Publication number | Publication date |
---|---|
EP3281363A1 (en) | 2018-02-14 |
WO2016200399A1 (en) | 2016-12-15 |
EP3281363A4 (en) | 2018-02-21 |
CN107646187A (en) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180167319A1 (en) | Application identification cache | |
US9590907B2 (en) | Service chaining in a cloud environment using software defined networking | |
US9912788B2 (en) | Systems and methods of an enhanced state-aware proxy device | |
US8797874B2 (en) | Apparatus and system for packet routing and forwarding in an interior network | |
CA2947325C (en) | Protocol type identification method and apparatus | |
US20180083876A1 (en) | Optimization of multi-table lookups for software-defined networking systems | |
US10356037B2 (en) | Address resolution rewriting | |
US9590898B2 (en) | Method and system to optimize packet exchange between the control and data plane in a software defined network | |
EP2773073B1 (en) | Entry generation method, message receiving method, and corresponding device and system | |
US11909668B2 (en) | Programmable packet data processing system | |
US11616720B2 (en) | Packet processing method and system, and device | |
EP3844911B1 (en) | Systems and methods for generating network flow information | |
US9590922B2 (en) | Programmable and high performance switch for data center networks | |
US20200044957A1 (en) | Multicast distribution tree versioning for minimizing multicast group traffic disruption | |
WO2016062031A1 (en) | Table look-up method and device for openflow table, and storage medium | |
US11563698B2 (en) | Packet value based packet processing | |
US9356838B1 (en) | Systems and methods for determining network forwarding paths with a controller | |
RU2675212C1 (en) | Adaptive load balancing during package processing | |
CN109104437B (en) | Routing domain, method and device for processing IP message in routing domain | |
US20240015108A1 (en) | Method and system for efficient input/output transfer in network devices | |
US11792092B2 (en) | Network telemetry | |
US20230421473A1 (en) | Method and system for efficient input/output transfer in network devices | |
WO2023104292A1 (en) | System and method for accurate traffic monitoring on multi-pipeline switches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:QIAN, THEODORE;MALICOAT, DAVID;TSENG, YUNG-CHING;REEL/FRAME:044599/0797 Effective date: 20150611 Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:045048/0079 Effective date: 20151027 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |