Patent classifications
H04L45/7459
Reconfigurable dataflow unit with remote read/write functionality
A reconfigurable processing unit is disclosed, comprising a first internal network and a second internal network with different protocols, an interface to an external network with a different protocol, a first configurable unit sending a request to access an external memory over the first internal network, a second configurable unit receiving the request on the first internal network, obtaining a memory address, determining an identifier for the target reconfigurable processing unit, and sending the request, identifier, and memory address over the second internal network, and a third configurable unit receiving the request, identifier, and memory address on the second internal network, determining a routable address on the external network based on the identifier, synthesizing a payload with the request, address, and identifier, and sending the payload to the routable address on the external network.
Reconfigurable dataflow unit with remote read/write functionality
A reconfigurable processing unit is disclosed, comprising a first internal network and a second internal network with different protocols, an interface to an external network with a different protocol, a first configurable unit sending a request to access an external memory over the first internal network, a second configurable unit receiving the request on the first internal network, obtaining a memory address, determining an identifier for the target reconfigurable processing unit, and sending the request, identifier, and memory address over the second internal network, and a third configurable unit receiving the request, identifier, and memory address on the second internal network, determining a routable address on the external network based on the identifier, synthesizing a payload with the request, address, and identifier, and sending the payload to the routable address on the external network.
System and method of high volume rule engine
A rule engine configured with at least one hash table which summarizes the rules managed by the engine. The rule engine receives rules and automatically adjusts the hash table in order to relate to added rules and/or in order to remove cancelled rules. The adjustment may be performed while the rule engine is filtering packets, without stopping. The rules may be grouped into a plurality of rule types and for each rule type the rule engine performs one or more accesses to at least one hash table to determine whether any of the rules of that type match the packet. In some embodiments, the rule engine may automatically select the rule types responsive to a set of rules provided to the rule engine and adapt its operation to the specific rules it is currently handling, while not spending resources on checking rule types not currently used.
Apparatus and method for managing peer-to-peer connections between different service providers
In one embodiment of the invention, service providers generate bloom filters with the user ID codes of registered users and exchange the bloom filters with one another. In response to a request to locate a first user, a first service provider will query its own registration database to determine if the first user is registered with the first service provider. If the first user is not registered with the first service provider, then the first service provider will query its bloom filters to identify other service providers with which the first user may be registered. A positive response from a bloom filter indicates that the first user may or may not be registered with the service provider associated with that bloom filter, and a negative response indicates with certainty that the first user is not registered with the service provider associated with that bloom filter.
Duplicate address detection based on distributed bloom filter
In one embodiment, a method comprises: generating, by a first network device in a network, a Bloom filter bit vector representing device addresses of devices having attached to at least one of the first network device or a second network device in the network; and determining whether a new device address is not a duplicate of any of the device addresses in the network based on the Bloom filter bit vector.
SYSTEM AND METHOD OF HIGH VOLUME RULE ENGINE
A rule engine configured with at least one hash table which summarizes the rules managed by the engine. The rule engine receives rules and automatically adjusts the hash table in order to relate to added rules and/or in order to remove cancelled rules. The adjustment may be performed while the rule engine is filtering packets, without stopping. The rules may be grouped into a plurality of rule types and for each rule type the rule engine performs one or more accesses to at least one hash table to determine whether any of the rules of that type match the packet. In some embodiments, the rule engine may automatically select the rule types responsive to a set of rules provided to the rule engine and adapt its operation to the specific rules it is currently handling, while not spending resources on checking rule types not currently used.
Traffic-aware route encoding using a probabilistic encoding data
A network apparatus determines a route from an origin traversable map element (TME) to a target TME. The route comprises a list of route TMEs to be traveled from the starting location to the target location. The network apparatus identifies adjacent TMEs to the route, wherein an adjacent TME is a TME of the digital map that intersects the route and is not a route TME; determines an expected traffic delay for each adjacent TME based on traffic data; separates the adjacent TMEs into a plurality of delay groups based on the corresponding expected traffic delays; generates delay encoding data structures; and provides the delay encoding data structures and information identifying the route. Each delay encoding data structure encodes a map version agnostic identifier for the adjacent TMEs of one of the delay groups and is a probabilistic data structure configured to not provide false negatives.
Traffic-aware route encoding using a probabilistic encoding data
A network apparatus determines a route from an origin traversable map element (TME) to a target TME. The route comprises a list of route TMEs to be traveled from the starting location to the target location. The network apparatus identifies adjacent TMEs to the route, wherein an adjacent TME is a TME of the digital map that intersects the route and is not a route TME; determines an expected traffic delay for each adjacent TME based on traffic data; separates the adjacent TMEs into a plurality of delay groups based on the corresponding expected traffic delays; generates delay encoding data structures; and provides the delay encoding data structures and information identifying the route. Each delay encoding data structure encodes a map version agnostic identifier for the adjacent TMEs of one of the delay groups and is a probabilistic data structure configured to not provide false negatives.
WAN optimization using probabilistic data filters
Some embodiments of the invention provide a method for WAN (wide area network) optimization for a WAN that connects multiple sites, each of which has at least one router. At a gateway router deployed to a public cloud, the method receives from at least two routers at least two sites, multiple data streams destined for a particular centralized datacenter. The method performs a WAN optimization operation to aggregate the multiple streams into one outbound stream that is WAN optimized for forwarding to the particular centralized datacenter. The method then forwards the WAN-optimized data stream to the particular centralized datacenter.
Adaptive Network Systems and Methods For Identifying And Recovering Lost Packets
The technology generally relates to systems and methods for transmitting data within a network. In accordance with aspects of the disclosure, nodes of the network may be configured to maintain invertible bloom lookup tables (IBLTs) based on received data packets and receive IBLTs from other nodes based on transmitted data packets. The maintained and received IBLTs can vary in size, as needed, so as to sufficiently identify data packets that have been lost in transmission. In addition, nodes within the network can request lost data packets from upstream nodes within the network.