H04L45/74591

Mapping database system for use with content chunks and methods of routing to content in an IP network

Retrieving content in an Internet Protocol version 6 (IPv6) network may be provided. A lookup request associated with content may be received from a network node at a server having a mapping database. A response having an ordered list of more than one IPv6 addresses may be generated. The ordered list of the more than on IPv6 addresses may include IPV6 prefixes. Each of the more than one IPv6 addresses may include a first portion having a content identifier and a second portion having an indication of a location of the content. The response may be transmitted to the network node.

Systems and methods for automatic individual misconception remediation
10997514 · 2021-05-04 · ·

Systems and methods for content selection with first and second recommendation engines are disclosed herein. The system can include a memory include a content library database and a model database. The system can include a user device having a first network interface and a first I/O subsystem. The system can include one or more servers that can include a packet selection system and a presentation system. These one or more servers can: receive response data from the user device; provide received response data to a first recommendation engine; alert a second recommendation engine when a selected next node is a placeholder node; retrieve at least one statistical model relevant to selection of next node content; and select next node content based on an output of the at least one statistical model.

Forwarding table management
11012358 · 2021-05-18 · ·

Disclosed herein are system, method, and computer program product embodiments for representing a forwarding information base (FIB) in a database. An embodiment operates by organizing forwarding entries of the FIB in a trie data structure. The embodiment determines that a first routing prefix of a first forwarding entry in the trie data structure is a less specific routing prefix than a second routing prefix in a second forwarding entry in the trie data structure based on the first forwarding entry being a parent of the second forwarding entry. The embodiment determines that a first next hop of the first routing prefix is equal to a second next hop of the second routing prefix. The embodiment removes the second forwarding entry from the trie data structure. The embodiment then inserts the first forwarding entry into the database based on a prefix length of the first routing prefix.

NETWORK SCALE EMULATOR

Systems, methods, and computer-readable media for scaling a source network. A system may be configured to receive a network configuration for a source network, wherein the source network comprising a plurality of nodes, receive and a scale target for a scaled network, and identify, based on the scale target, one or more selected nodes in the plurality of nodes in the source network for implementing in the scaled network. The system may further be configured to reconfigure data plane parameters and control plane parameters for each node in the one or more selected nodes.

SYSTEMS AND METHODS FOR AUGMENTING TCAM BANK PROCESSING WITH EXACT MATCH
20210119919 · 2021-04-22 ·

Systems and methods are provided for programming a network device. A method includes receiving a wild card entry at the network device, the network device including a ternary content addressable memory (TCAM) table and an exact match (EM) table. The method determines whether the wild card entry is compatible with the EM table. In response to determining that the wild card entry is compatible with the EM table, the method determines the available space in the EM table, the usage of the TCAM table, and at least one flow characteristic of the wild card entry. The method evaluates the determined available space in the EM table, usage of the TCAM table, and the at least one flow characteristic against a set of stored rules that select the EM table or the TCAM table. The method programs the wild card entry in the EM table or TCAM table based upon the selection.

IMPLEMENTING MULTI-TABLE OPENFLOW USING A PARALLEL HARDWARE TABLE LOOKUP ARCHITECTURE
20210119926 · 2021-04-22 ·

Techniques for implementing multi-table OpenFlow using a parallel hardware table lookup architecture are provided. In certain embodiments, these techniques include receiving, at a network device from a software-defined networking (SDN) controller, flow entries for installation into flow tables of the network device, where the flow entries are structured in a manner that assumes the flow tables can be looked-up serially by a packet processor of the network device, but where the flow tables are implemented using hardware lookup tables (e.g., TCAMs) that can only be looked-up in parallel by the packet processor. The techniques further include converting, by the network device, the received flow entries into a format that enables the packet processor to process ingress network traffic correctly using the flow entries, despite the packet processor's parallel lookup architecture, and installing the converted flow entries into the flow tables/hardware lookup tables.

Content delivery from home networks

A method for retrieving content on a network comprising a first device and a second device is described. The method includes receiving in the network a request for content from the first device, the request identifying the content using an IPv6 address for the content, and determining whether the content is stored in a cache of the second device. Upon determining the content is stored in the cache of the second device, a request is sent to the second device for the content using the IPv6 address of the content. The content is forwarded to the first device from the second device, wherein the first and second devices are part of the same layer 2 domain. Methods of injecting content to a home network and packaging content are also described.

Generating a hash table in accordance with a prefix length

Examples herein disclose a generation of a hash table. The examples identify a prefix length from a routing table of various prefix lengths and corresponding distribution of entries. The identified prefix length corresponds to a larger distribution of entries in the routing table. The examples generate the hash table in accordance with the identified prefix length.

FLOWLET SCHEDULER FOR MULTICORE NETWORK PROCESSORS
20210058187 · 2021-02-25 ·

Systems and methods of using a packet order work (POW) scheduler to assign packets to a set of scheduler queues for supplying packets to parallel processing units. A processing unit and the associated scheduler queue is dedicated to a specific flow until a queue-reallocation event, which may correspond to the associated scheduler queue being idle for at least a certain interval as indicated by its age counter, or the queue being the least recently used, when a new flow arrives. In this case, the scheduler queue and the associated processing unit may be reallocated to the new flow and disassociated with the previous flow. As a result, dynamic packet workload balancing can be advantageously achieved across the multiple processing paths.

Protocol-independent receive-side scaling
10951524 · 2021-03-16 · ·

A system and method for protocol independent receive side scaling (RSS) includes storing a plurality of RSS hash M-tuple definitions, each definition corresponding to one of a set of possible protocol header combinations for routing an incoming packet, the set of possible protocol header combinations being modifiable to include later-developed protocols. Based on initial bytes of the incoming packet, a pattern of protocol headers is detected, and used to select one of the plurality of RSS hash M-tuple definitions. The selected RSS hash M-tuple definition is applied as a protocol-independent arbitrary set of bits to the headers of the incoming packet to form a RSS hash M-tuple vector, which is used to compute a RSS hash. Based on the RSS hash, a particular queue is selected from a set of destination queues identified for the packet, and the packet is delivered to the selected particular queue.