Patent classifications
H04L49/9089
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.
Service overload attack protection based on selective packet transmission
A first computing system receives a user request. The user request includes a first set of data. The first computing system determines that one or more resources have exceeded at least one resource utilization threshold. In response to the determining that one or more resources have exceeded the at least one utilization threshold, a first data transfer rate is modified to a second data transfer rate based on transmitting a first subset of the first set of data to one or more host devices, wherein a second subset of the first set of data is not transmitted to the one or more host devices. The one or more host devices validate the user request against one or more security policies in order to complete or terminate the user request.
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.
System and method for memory deallocation
A method for deallocating memory in a first network device is described. A multicast packet is received and stored in memory cells. Egress descriptors corresponding to the multicast packet are generated for transmission of the multicast packet. A final count of the egress descriptors is determined. The egress descriptors are processed for transmission of the multicast packet and a value of a signed reference counter corresponding to the multicast packet is updated in a first direction before the final count has been determined and after a copy of the multicast packet has been received by an egress port of the first network device. The value of the signed reference counter is updated in a second direction opposite the first direction by the final count after determination of the final count. The memory cells are deallocated when cumulative first direction updates are equal to the second direction update.
Service overload attack protection based on selective packet transmission
A first computing system receives a user request. The user request includes a first set of data. The first computing system determines that one or more resources have exceeded at least one resource utilization threshold. In response to the determining that one or more resources have exceeded the at least one utilization threshold, a first data transfer rate is modified to a second data transfer rate based on transmitting a first subset of the first set of data to one or more host devices, wherein a second subset of the first set of data is not transmitted to the one or more host devices. The one or more host devices validate the user request against one or more security policies in order to complete or terminate the user request.
Routerless networks-on-chip
The disclosed technology concerns methods, apparatus, and systems for designing and generating networks-on-chip (NoCs), as well as to hardware architectures for implementing such NoCs. The disclosed NoCs can be used, for instance, to interconnect cores of a chip multiprocessor (aka a multi-core processor). In one example implementation, a wire-based routerless NoC design is disclosed that uses deterministically specified wire loops to connect the cores of the chip multiprocessor. The disclosed technology also comprises network interface architectures for use in an NoC. For example, a core can be equipped with a low-area-cost interface that is deadlock-free, uses buffering sharing, and provides low latency.
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.
Information processing apparatus and distributed processing method
An information processing apparatus includes a memory and a processor coupled to the memory. The processor is configured to identify a reducible message string by using state transition information. The reducible message string is used to reduce a message string held in a message queue. The state transition information indicates a relationship between a message for executing a service and transition of a state of the service. The processor is configured to detect the reducible message string included in the message string. The processor is configured to reduce the message string held in the message queue by using the reducible message string.
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. In effect, the lookup of matching flows in the host security database is offloaded to the network hardware device.
High-performance garbage collection in a network device
Efficient garbage collection techniques for network packets and other units of data are described. Constituent portions of a data unit are stored in buffer entries spread out across multiple distinct banks. Linking data is generated and stored on a per-bank basis. The linking data defines, for each bank in which data for the data unit is stored, a chain of all entries in that bank that store data for the data unit. When the data unit is dropped or otherwise disposed of, a chain's head entry address may be placed in a garbage collection list for the corresponding bank. A garbage collector uses the linking data to gradually follow the chain of entries for the given bank, and frees each entry in the chain along the way. Optionally, certain addresses in the chain, including each chain's tail address, are immediately freed for the corresponding bank, without waiting to follow the chain.