Patent classifications
H04L45/742
Hybrid first-fit K-choice insertions for hash tables, hash sets, approximate set membership data structures, and caches
A hybrid mechanism for operating on a data item in connection with an associative structure combines first-fit and K-choice. The hybrid mechanism leverages advantages of both approaches by choosing whether to insert, retrieve, delete, or modify a data item using either first-fit or K-choice. Based on the data item, a function of the data item, and/or other factors such as the load statistics of the associative structure, one of either first-fit or K-choice is used to improve operation on the associative structure across a variety of different load states of the associative structure.
DISTRIBUTED FLOW PROCESSING AND FLOW CACHE
The techniques disclosed herein improve the efficiency, reliability and scalability of flow processing systems by providing a multi-tier flow cache structure that can reduce the size of a flow table and also reduce replicated flow sets. In some configurations, a system can partition a flow space across workers and replicate the flows within a partition to a set of workers. In some configurations, a flow cache structure can include three tiers: (1) a scalable flow processing layer for executing the actions and transformations of a flow, (2) a flow state management layer for managing distributed flow state decisions, and (3) a flow decider layer for identifying actions and transformations needs to be executed on each packet of a flow. Flow replications allow other workers to pick up flows allocated to a particular worker that is taken offline in the event of a crash or update.
Delivering content over a network
A method of delivering content in one or more packets over a network is described. A content request packet comprising a request for content based on a first IPv6 address is received, the first IPv6 address identifying the content. The first IPv6 address is mapped to a second IPv6 address, the second IPv6 address being associated with the content at a physical location. The content requested in the content request packet is then received from the physical location associated with the second IPv6 address for delivery to a user. A further method includes routing a packet for requesting the content from a client to a content server storing an instant of the content, based on an IPv6 address of content being requested by the client. A communication session is then set up between the client and the content server; and the requested content is transmitted from the content server.
Metric computation for traceroute probes using cached data to prevent a surge on destination servers
Techniques for using traceroute with tunnels and cloud-based systems for determining measures of network performance are presented. Systems and methods include receiving a request, from a client, for one or more of a first trace of a tunnel and a second trace to a destination; checking a cache at the node for results from previous traces of the first trace and the second trace; responsive to the results not being in the cache, performing one or more of the first trace and the second trace; and providing the results to the client so that the client aggregates the results with details from one or more additional legs to provide an overall view of a service path between the client and the destination.
Transport protocol server relocation
A system and method for server relocation in a packet data network. A transport protocol session is established between a client 20 and server 14_1 to transfer content from the server to the client in data packets. As well as transmitting data packets to the client, the server additionally transmits declarative information as signaling packets. The declarative information includes an identifier of the content being transmitted in the ongoing session. This allows other servers 14_2 with the same content to identify the existence of the session and gives them the opportunity to volunteer to take over the session, for example if they can see that the client is now closer to them than the server currently serving the content. The two servers can then coordinate transfer of the session, whereafter the session continues with the second server transmitting content to the client.
Packet processing method and apparatus
A packet processing method and apparatus are presented. The method includes: generating, by a first node, a first packet based on first data of the first node, where the packet header of the first packet includes a service type, a final destination address, and residual times to aggregation (RTA); when the RTA of the first packet is not 0, determining, by the first node, a remaining capacity in a first cache corresponding to the service type and the final destination address; and when a data length of the first packet is not greater than the remaining capacity, aggregating, by the first node, the first packet and the second packet into a third packet, where the RTA of the third packet is a minimum value in the RTA of the second packet and a value obtained after 1 is subtracted from the RTA of the first packet.
Template-compatible encoding for content chunk aggregation and mapping
A method of enabling access to content in a network implementing Internet Protocol version 6 (IPv6) is described, the method including accessing a content addressing file including entries each comprising a content portion location associated with the content portion. The content portion location associated with the content portion is extracted for an entry and, based on the content portion location, a section of an IPv6 address for the content portion is formed. Methods of addressing content for storage and retrieving content are also described.
Establishment of Fast Forwarding Table
A method and apparatus for establishing a fast-forwarding table are provided. The method comprises: when a communication packet is received, determining, according to matching rules of services set in a packet processing policy, a target service matching the communication packet; if a fast-forwarding table corresponding to the communication packet is not stored locally, obtaining a preset target priority of the target service, and determining a target resource utilization threshold corresponding to the target priority according to a preset correspondence between priorities and resource utilization thresholds; determining whether a current resource utilization is greater than the target resource utilization threshold; and establishing a fast-forwarding table corresponding to the communication packet if the current resource utilization is not greater than the target resource utilization threshold. With this disclosure, the memory pressure of the network device can be reduced, and the network device can be avoided to hang or restart.
Single stage look up table based match action processor for data packets
A packet sub-engine coupled to a packet buffer determines which of multiple look up tables (LUTs) is to be searched for a matching entry that matches a received data packet. Each LUT corresponds to a different type of packet handling action and includes multiple entries, each with a match field and a corresponding collection of one or more actions for handling packets that match the match field. The packet sub-engine searches the determined LUT for a matching entry, processes the received data packet according to the action(s) in the matching entry, and determines whether a further LUT is to be searched for a further matching entry. The processed data packet is provided as an output if no further LUT is to be searched, or otherwise the packet sub-engine searches the further LUT and further processes the processed packet according to the action(s) in the further matching entry.
COMMUNICATION OF POLICY CHANGES IN LISP-BASED SOFTWARE DEFINED NETWORKS
Systems, methods, and computer-readable media for communicating policy changes in a Locator/ID Separation Protocol (LISP) based network deployment include receiving, at a first routing device, a first notification from a map server, the first notification indicating a change in a policy for LISP based communication between at least a first endpoint device and at least a second endpoint device, the first endpoint device being connected to a network fabric through the first routing device and the second endpoint device being connected to the network fabric through a second routing device. The first routing device forwards a second notification to the second routing device if one or more entries of a first map cache implemented by the first routing device are affected by the policy change, the second notification indicating a set of one or more endpoints connected to the second routing device that are affected by the policy change.