Patent classifications
H04L49/9089
ZERO COPY SOCKET SPLICING
Some embodiments provide a novel method for splicing Transmission Control Protocol (TCP) sockets on a computing device that processes a kernel of an operating system. The method receives a set of packets at a first TCP socket of the kernel. The method stores the set of packets at a kernel memory location sends the set of packets directly from the kernel memory location out through a second TCP socket of the kernel.
BUFFER MANAGEMENT METHOD AND APPARATUS
A memory management method includes: determining that available storage space of a first memory in a network device is less than a first threshold, where the first threshold is greater than 0 and the first memory stores a first packet queue; and deleting at least one packet at the tail of the first packet queue from the first memory based on the available storage space of the first memory being less than the first threshold. When the available storage space of the first memory is less than the first threshold, a packet queue, namely, the first packet queue, is selected and a packet at the tail of the packet queue is deleted from the first memory.
Flow control device and method
A flow control device includes an analysis unit identifying a flow of a received packet, a plurality of queues temporarily storing packets sorted according to each flow, an allocation information storage unit storing allocation information regarding a queue allocated for each flow, a sorting unit deciding a queue to be a storage destination of the received packet and sorts the packet based on a result identified by the analysis unit and the allocation information, a saved packet holding unit saving a packet belonging to a flow determined to have no allocation information regarding the queue to be allocated by the sorting unit, and a transmission unit transmitting the packet temporarily stored in the plurality of queues and the packet saved in the saved packet holding unit to a processing unit that processes a packet.
Zero copy socket splicing
Some embodiments provide a novel method for splicing Transmission Control Protocol (TCP) sockets on a computing device that processes a kernel of an operating system. The method receives a set of packets at a first TCP socket of the kernel. The method stores the set of packets at a kernel memory location sends the set of packets directly from the kernel memory location out through a second TCP socket of the kernel.
METHODS AND SYSTEMS FOR TRANSMITTING DATA OVER A WIRELESS NETWORK
An aspect of the invention provides a method of transmitting data over a wireless network. The method includes maintaining a plurality of data packets within a first buffer and encoding at least some of the data packets within the first buffer inside a first broadcast packet. A broadcasting device transmits the first broadcast packet over the wireless network. The method further includes maintaining a plurality of data packets within a second buffer and encoding at least some of the data packets within the second buffer inside a second broadcast packet. The broadcasting device transmits the second broadcast packet over the wireless network. The method further includes, on detecting overflow of the first buffer, removing a data packet from the first buffer and adding the removed data packet to the second buffer.
Maintaining bandwidth utilization in the presence of packet drops
Examples describe a manner of scheduling packet segment fetches at a rate that is based on one or more of: a packet drop indication, packet drop rate, incast level, operation of queues in SAF or VCT mode, or fabric congestion level. Headers of packets can be fetched faster than payload or body portions of packets and processed prior to queueing of all body portions. In the event a header is identified as droppable, fetching of the associated body portions can be halted and any body portion that is queued can be discarded. Fetch overspeed can be applied for packet headers or body portions associated with packet headers that are approved for egress.
Congestion drop decisions in packet queues
A packet switch includes an ingress port; queue admission control circuitry connected to the ingress port; one or more egress queues configured to manage packet buffers; and an egress port connected to the packet buffers, wherein the packet buffers are managed such that already queued lower priority packets are discarded from the packet buffers when it is required to drop higher priority packets that should otherwise be accepted in the packet buffers. The queue admission control circuitry can be configured to determine if a packet should be dropped or not, and the queue admission control circuitry communicates to buffer reallocation circuitry that is configured to discard one or more lower priority packets to support enqueuing the higher priority packet.
Secure networking protocol optimization via NIC hardware offloading
Methods and apparatus for secure networking protocol optimization via NIC hardware offloading. Under a method, security offload entries are cached in a flow table or a security database offload table on a network interface coupled to a host that implements a host security database mapping flows to Security Association (SA) contexts. Each security offload entry includes information identify a flow and information, such as an offset value, to locate a corresponding entry for the flow in the host security database. Hardware descriptors for received packets that belong to flows with matching security offload entries are generated and marked with the information used to locate the corresponding entries in the host security database. The hardware descriptors are processed by software on the host and the location information is used to de-reference the location of applicable entries in the host security database.
System and method of a high buffered high bandwidth network element
A method and apparatus of a network element that processes a packet in the network element is described. In an exemplary embodiment, the network element receives a data packet that includes a destination address. The network element receives a packet, with a packet switch unit, wherein the packet was received by the network element on an ingress interface. The network element further determines if the packet is to be stored in an external queue. In addition, the network element identifies the external queue for the packet based on one or more characteristics of the packet. The network element additionally forwards the packet to a packet storage unit, wherein the packet storage unit includes storage for the external queue. Furthermore, the network element receives the packet from the packet storage unit and forwards the packet to an egress interface corresponding to the external queue.
Switching and load balancing techniques in a communication network
A source access network device multicasts copies of a packet to multiple core switches, for switching to a same target access network device. The core switches are selected for the multicast based on a load balancing algorithm managed by a central controller. The target access network device receives at least one of the copies of the packet and generates at least metric indicative of a level of traffic congestion at the core switches and feeds back information regarding the recorded at least one metric to the controller. The controller adjusts the load balancing algorithm based on the fed back information for selection of core switches for a subsequent data flow.