Patent classifications
H04L45/7453
IP Route Caching with Two Search Stages on Prefix Length
A data packet is received in a network element. The network element has a cache memory in which cache entries represent a portion of addresses stored in a main memory, The destination address and the cache entries each comprise a binary number. A first determination is made that a number M of the most significant bits of a cache entry and the destination address are identical. A second determination is made that an additional number M+L of the most significant bits of a cache entry and the destination address are identical. Routing information is then retrieved the cache memory, and the packet processed according to the routing information.
Autonomous data routing in a peer-to-peer computer network
A method is disclosed for autonomously routing data using in a peer-to-peer computer network includes automatically updating a peer-to-peer computer network. The method includes automatically sending pulse messages from a first node to neighbor nodes and candidate nodes, receiving return pulses by the first node from at least some of the neighbor nodes and the candidate nodes, calculating round-trip times (RTTs) between the first node and the neighbor nodes or the candidate nodes based on the pulse messages and the return pulses, sorting the nodes in the neighbor nodes and the candidate nodes into orbital bins based on RTTs, and automatically selecting and adding a node from one of the orbital bins based on the RTTs to updated neighbor nodes for the first node, and routing data from the first node to a second node via a relay node in the peer-to-peer computer network.
Autonomous data routing in a peer-to-peer computer network
A method is disclosed for autonomously routing data using in a peer-to-peer computer network includes automatically updating a peer-to-peer computer network. The method includes automatically sending pulse messages from a first node to neighbor nodes and candidate nodes, receiving return pulses by the first node from at least some of the neighbor nodes and the candidate nodes, calculating round-trip times (RTTs) between the first node and the neighbor nodes or the candidate nodes based on the pulse messages and the return pulses, sorting the nodes in the neighbor nodes and the candidate nodes into orbital bins based on RTTs, and automatically selecting and adding a node from one of the orbital bins based on the RTTs to updated neighbor nodes for the first node, and routing data from the first node to a second node via a relay node in the peer-to-peer computer network.
Reduced traversal for consistent hashing for packet flow load balancing
In general, techniques are described for reducing traversal when performing consistent hashing for packet flow load balancing. A computing device comprising a memory and a processor may be configured to perform the techniques. The memory may store a hash ring that includes a plurality of buckets, where a non-zero subset of the plurality of buckets each includes a different output value of a plurality of output values, and a remaining subset of the plurality of buckets each includes an empty value. The processor may prepopulate the remaining subset of the plurality of buckets with the respective different output value of the plurality of output values. The processor may receive a key value, and apply a hash function to the key value to identify a bucket of the plurality of buckets. The processor may next output the output value associated with the identified bucket.
Reduced traversal for consistent hashing for packet flow load balancing
In general, techniques are described for reducing traversal when performing consistent hashing for packet flow load balancing. A computing device comprising a memory and a processor may be configured to perform the techniques. The memory may store a hash ring that includes a plurality of buckets, where a non-zero subset of the plurality of buckets each includes a different output value of a plurality of output values, and a remaining subset of the plurality of buckets each includes an empty value. The processor may prepopulate the remaining subset of the plurality of buckets with the respective different output value of the plurality of output values. The processor may receive a key value, and apply a hash function to the key value to identify a bucket of the plurality of buckets. The processor may next output the output value associated with the identified bucket.
SYMMETRIC BI-DIRECTIONAL POLICY BASED REDIRECT OF TRAFFIC FLOWS
Disclosed are systems, methods, and computer-readable storage media for guaranteeing symmetric bi-directional policy based redirect of traffic flows. A first switch connected to a first endpoint can receive a first data packet transmitted by the first endpoint to a second endpoint connected to a second switch. The first switch can enforce an ingress data policy to the first data packet by applying a hashing algorithm to a Source Internet Protocol (SIP) value and a Destination Internet Protocol (DIP) value of the first data packet, resulting in a hash value of the first data packet. The first switch can then route the first data packet to a first service node based on the hash value of the first data packet.
Flow-Based Load Balancing
Methods and apparatuses are described for virtualizing routing of network traffic by offloading routing decisions to a controller in communication with a plurality of network devices. For load balancing applications, the controller may make up-front decisions as to both destination and route, rather than wait until traffic has been routed to a load balancing point before determining the destination.
Flow-Based Load Balancing
Methods and apparatuses are described for virtualizing routing of network traffic by offloading routing decisions to a controller in communication with a plurality of network devices. For load balancing applications, the controller may make up-front decisions as to both destination and route, rather than wait until traffic has been routed to a load balancing point before determining the destination.
Technologies for distributed routing table lookup
Technologies for distributed table lookup via a distributed router includes an ingress computing node, an intermediate computing node, and an egress computing node. Each computing node of the distributed router includes a forwarding table to store a different set of network routing entries obtained from a routing table of the distributed router. The ingress computing node generates a hash key based on the destination address included in a received network packet. The hash key identifies the intermediate computing node of the distributed router that stores the forwarding table that includes a network routing entry corresponding to the destination address. The ingress computing node forwards the received network packet to the intermediate computing node for routing. The intermediate computing node receives the forwarded network packet, determines a destination address of the network packet, and determines the egress computing node for transmission of the network packet from the distributed router.
MULTICAST MULTIPATHING IN AN OVERLAY NETWORK
The subject technology addresses a need for improving utilization of network bandwidth in a multicast network environment. More specifically, the disclosed technology provides solutions for extending multipathing to tenant multicast traffic in an overlay network, which enables greater bandwidth utilization for multicast traffic. In some aspects, nodes in the overlay network can be connected by virtual or logical links, each of which corresponds to a path, perhaps through many physical links, in the underlying network.