Patent classifications
H04L69/16
Memory allocator for I/O operations
Some embodiments provide a novel method for sharing data between user-space processes and kernel-space processes without copying the data. The method dedicates, by a driver of a network interface controller (NIC), a memory address space for a user-space process. The method allocates a virtual region of the memory address space for zero-copy operations. The method maps the virtual region to a memory address space of the kernel. The method allows access to the virtual region by both the user-space process and a kernel-space process.
ANOMALY DETECTION USING DEVICE RELATIONSHIP GRAPHS
Embodiments are directed to monitoring network traffic in a network. A device relation model that may be comprised of two or more nodes and one or more edges stored in memory of the network computer may be provided to a network monitoring computer (NMC), such that each node represents an agent and each edge represents a relationship between two agents. If error signals are detected by the NMC, the NMC perform further actions to process the error signals. The device relation model may be traversed to identify agents associated with the error signals. The network traffic associated with the error signals and the agents may be analyzed by the NMC. If the error signals are associated with anomalies in the network traffic, users may be notified. The device relation model may be updated upon discovery of new computing devices, new applications, or new associations between agents.
Application records using session information
Techniques are disclosed for the identification of applications from communication sessions of network traffic between client devices and the generation of application-specific metrics for network traffic associated with the applications. In one example, a router obtains metrics for a plurality of packets. The router determines a session of a plurality of sessions associated with each packet. For each determined session, the router generates metrics for the session from the metrics of the packets associated with the session and determines an application of a plurality of applications associated with the session. For each determined application, the router generates metrics for the application from the metrics of the sessions associated with the application and transmits, to a device, the metrics for the application. In some examples, the router generates the metrics for each application on a per-client, per-next-hop, or per-traffic class basis.
CONFIGURABLE PARSER AND A METHOD FOR PARSING INFORMATION UNITS
A packet processing technique can include receiving a packet, and parsing the packet based on a protocol field to generate a parse result vector. The parse result vector is used to select between forwarding the packet to a virtual machine executing on a host processing integrated circuit, forwarding the packet to a physical media access controller, multicasting the packet to multiple virtual machines executing on the host processing integrated circuit, and sending the packet to a hypervisor.
CONFIGURABLE PARSER AND A METHOD FOR PARSING INFORMATION UNITS
A packet processing technique can include receiving a packet, and parsing the packet based on a protocol field to generate a parse result vector. The parse result vector is used to select between forwarding the packet to a virtual machine executing on a host processing integrated circuit, forwarding the packet to a physical media access controller, multicasting the packet to multiple virtual machines executing on the host processing integrated circuit, and sending the packet to a hypervisor.
MULTI-PATH TRANSPORT DESIGN
Disclosed herein is a method including receiving, from a user application, data to be transmitted from a source address to a destination address using a single connection through a network; and splitting the data into a plurality of packets according to a communication protocol. For each packet of the plurality of packets, a respective flowlet for the packet to be transmitted in is determined from a plurality of flowlets. Assignment of the flowlets to the packets can be dynamically adjusted based on utilization of the flowlets.
MULTI-PATH TRANSPORT DESIGN
Disclosed herein is a method including receiving, from a user application, data to be transmitted from a source address to a destination address using a single connection through a network; and splitting the data into a plurality of packets according to a communication protocol. For each packet of the plurality of packets, a respective flowlet for the packet to be transmitted in is determined from a plurality of flowlets. Assignment of the flowlets to the packets can be dynamically adjusted based on utilization of the flowlets.
METHOD AND SYSTEM FOR NODE DISCOVERY AND SELF-HEALING OF BLOCKCHAIN NETWORKS
A method for automatic configuration of a communication network includes: generating a request message, the request message including a communication address associated; transmitting the generated request message as a broadcast message to a plurality of computing devices using a predefined user datagram protocol (UDP) port, the message being broadcast with a predetermined time to live; receiving agreement messages from computing devices transmitted by the respective computing device using the predefined UDP port, each agreement message including a communication address associated with the respective computing device and a specified transmission control protocol (TCP) port; identifying at least one of the one or more agreement messages for establishment of communication; and establishing a communication connection to the computing device associated with each identified agreement message using the specific TCP port.
METHOD AND SYSTEM FOR NODE DISCOVERY AND SELF-HEALING OF BLOCKCHAIN NETWORKS
A method for automatic configuration of a communication network includes: generating a request message, the request message including a communication address associated; transmitting the generated request message as a broadcast message to a plurality of computing devices using a predefined user datagram protocol (UDP) port, the message being broadcast with a predetermined time to live; receiving agreement messages from computing devices transmitted by the respective computing device using the predefined UDP port, each agreement message including a communication address associated with the respective computing device and a specified transmission control protocol (TCP) port; identifying at least one of the one or more agreement messages for establishment of communication; and establishing a communication connection to the computing device associated with each identified agreement message using the specific TCP port.
Network Interface Device
Roughly described: a network interface device has an interface. The interface is coupled to first network interface device circuitry, host interface circuitry and host offload circuitry. The host interface circuitry is configured to interface to a host device and has a scheduler configured to schedule providing and/or receiving of data to/from the host device. The interface is configured to allow at least one of: data to be provided to said host interface circuitry from at least one of said first network device interface circuitry and said host offload circuitry; and data to be provided from said host interface circuitry to at least one of said first network interface device circuitry and said host offload circuitry.