Abstract:
Methods and apparatuses of allocating resources in a network of computing service nodes to applications are provided. Based on a first service level agreement (SLA) for a first application, a number of physical central processing unit cores and respective quantities of additional physical resources needed are determined to satisfy the first SLA (510); one or more of the service nodes are selected that collectively have available the number of physical CPU cores and the respective quantities of the one or more additional physical resources wherein the one or more additional physical resources comprise a last level cache (LLC) (520); a first virtual machine on one of the selected service nodes is allocated for the first application (530); the number of physical CPU cores and the respective quantities of the one or more additional physical resources on the selected service nodes are reserved for use by the first virtual machine (540).
Abstract:
A method comprising receiving, by a network element, a data packet, searching, by the network element, the received data packet at a first hierarchical level to determine whether a substring of a string of a regular expression exists in the received data packet, searching, by the network element when the search of the received data packet at the first hierarchical level finds a match, the received data packet at a second hierarchical level to determine whether the string of the regular expression exists in the received data packet, and transmitting, by the network element, the received data packet to a next network element along an original path of the received data packet without searching the received data packet at a third hierarchical level when the search of the received data packet at the first or second hierarchical level does not find a match.
Abstract:
A method and apparatus for a scalable sorting of a data set in a database on a computer system. A number of contiguous ranges spanning the data set are defined. Each individual data value of the data set is assigned to a range to which it falls into. The values in the ranges are then sorted. The sorting can be performed by different nodes in parallel. Once the sorting is completed, the results are stored in contiguous memory locations. This results the overall data set being sorted.
Abstract:
An apparatus, such as a network element, comprises a receiver to receive a plurality of packets. A memory stores instructions and forms a first and second set of virtual queues to store the plurality of packets. A processor having one or more cores with one or more packet classifiers provides a classification of a packet in the plurality of packets. The processor in communication with the memory executes instructions to transfer the packet from the receiver to a virtual queue in the first set of virtual queues based on the classification. The processor also transfers the packet from the virtual queue to a transmitter based on a demand rate value and supply rate value associated with the virtual queue.
Abstract:
The disclosure relates to technology performing a cyclic redundancy check (CRC). Data is divided into a plurality of blocks, each of the plurality of blocks having a fixed size equal to a degree of a generator polynomial. A CRC computation is independently performed on each of the plurality of blocks, and the CRC computation for each of the plurality of blocks is combined by application of an exclusive or (XOR) operation.
Abstract:
A network verification system processes a network forwarding state into atomic predicates and compresses a network routing table into an atomic predicates indexes set. A transitive closure among all pairs of nodes in the network is calculated from the atomic predicates and atomic predicates indexes set to recursively generate for respective nodes an all-pair reachability matrix M n of the network, from which a reachability report for the network is generated. The reachability report may be used to dynamically program the network. The calculated all-pair reachability matrix M n identifies a loop in the network when any element on a diagonal of the all-pair reachability matrix M n is not an empty set and a black hole in the network when all elements in a row of the all-pair reachability matrix M n comprise an empty set. The all-pair reachability matrix M n may be updated by recalculating only elements affected by an update.
Abstract:
A computer-implemented method classifies a packet received from a network. The method comprises receiving the packet having header information and a rule-set that indicates a plurality of actions to perform on the packet. A geometric representation of the rule-set is constructed having a plurality of dimensions and rule boundaries. At least one rule boundary and dimension of the geometric representation is split to form a search structure having a plurality of nodes. Each node in the plurality of nodes is constrained to a predetermined memory threshold. The search structure is searched using the header information to obtain a rule in the rule-set that indicates an action to take on the packet.
Abstract:
A packet classification system is provided, including a first security database and a second security database for use in connection with packet classification in accordance with an Internet security protocol. The packet classification system further includes processing circuitry in communication with the first security database and the second security database, with the processing circuitry configured to identify at least one aspect of at least one packet received by the processing circuitry, select either the first security database or the second security database as a selected security database, based on the at least one aspect of the at least one packet, select at least one of a plurality of algorithms to classify the at least one packet, wherein the selection of the at least one algorithm is based on a criteria related to the at least one packet, and classify the at least one packet, utilizing the selected security database.
Abstract:
Methods and apparatuses for insertion, searching, deletion, and load balancing using a hierarchical series of hash tables are described herein. The techniques disclosed provide nearly collision free or deterministic hash functions using a bitmap as a pre-filter. The hash functions have different priorities and one hashing result will be used to perform main memory access. For the hash functions, two hash bitmaps are used to store valid data and collision information. There is no collision allowed in the hash tables except for the hash table with the lowest priority. The hash tables and bitmaps may be stored in one or more caches in (e.g., a cache of a CPU, Block RAMs in FPGAs, etc. ) which perform much faster than main memory.
Abstract:
A service level agreement (SLA) system is provided for multi-tenant cloud computing to enable provisioning of computing instances for tenants with a networking SLA. A networking SLA may specify a bandwidth requirement, for example, between instances to be scheduled for a tenant in a datacenter. The SLA system evaluates nodes in the datacenter based on a remaining capacity of links associated with nodes implementing the networking SLA. A modular system is provided to enable integration of the SLA system into existing cloud computing infrastructures. The cloud management system may query the SLA system to determine nodes in the datacenter capable of meeting a networking SLA. The list may be ordered to indicate nodes having better capacity to fulfill the networking SLA. The cloud management system can utilize the ordered list of nodes in scheduling instance deployments for tenant requests.