摘要:
Dynamic middleboxes include a network monitor module configured to determine a quality-affective factor in a connection between a client and a server in a network; a processor configured to compare the quality-affective factor to a threshold to determine whether the connection would benefit from a network processing function; and a network control module configured to reconfigure the network to redirect the connection to a middlebox that performs the network processing function if the connection would benefit and further configured to reconfigure the network to exclude the middlebox from the connection if the connection would not benefit.
摘要:
Techniques are provided for dynamically scheduling requests in data processing systems in accordance with differentiated service levels. In a first aspect of the invention, a technique for processing a request to at least one server comprises the following steps. A request is received. Then, submission of the request to the at least one server is scheduled based on: (i) a quality-of-service (QoS) class assigned to a client from which the request originated; (ii) a response target associated with the QoS class; and (iii) an estimated response time associated with the at least one server. The technique may further comprise the step of withholding the request from submission to the at least one server when the request originated from a client assigned to a first QoS class to allow a request that originated from a client assigned to a second QoS class to meet a response target associated therewith.
摘要:
A number of improvements in network adapters that offload protocol processing from the host processor are provided. Specifically, an improved mechanism for handling receipt of data packets in a system utilizing an offload network adapter. The offload network adapter may include logic that permits the offload network adapter to delay notification of data reception to the host system in different ways. The advantage of delaying the notice of data packet reception to the host system is the potential for aggregation of several data packets, which can arrive immediately after the first one, for example, in a single notification. Given a stream with continuous data packet arrival, a value may be set, either statically or dynamically, for notification delay and this value may be configurable for the host system per communication socket.
摘要:
A method for operating a server having a maximum capacity for servicing requests comprises the following steps: receiving a plurality of requests; classifying each request according to a value; determining a priority for handling the request according to the value, such that requests with higher values are assigned higher priorities; placing each request in one of multiple queues according to its priority value; and dropping the requests with the lowest priority when the plurality of requests are received at a rate that exceeds the maximum capacity. The server operates according to a session initiation protocol.Classifying each request comprises running a classification algorithm. The classification algorithm comprising steps of: receiving a rule set, each rule comprising headers and conditions; creating a condition table by taking a union of all conditions in the rules; creating a header table by extracting a common set of headers from the condition table; extracting the relevant headers from the header table; determining a matching rule; creating a bit vector table; selecting the matching rule according to data in the bit vector table; and applying the rule to place the message in the appropriate queue.
摘要:
Methods for inserting a middlebox into a network connection include monitoring network state information in a connection between a client and a server. When the connection is idle, a connection entry is created for each device and is initialized using state information gathered by monitoring the network connection. Redirection of the network connection is activated between the client and the server such that the middlebox mediates the connection. Methods for removing a middlebox from a network connection include determining a degree of mismatch between a sequence number in a first connection between the middlebox and a client and a sequence number in a second connection between the middlebox and a server, delaying acknowledgment signals from the middlebox on a connection to decrease the degree of mismatch, and establishing a direct connection between the client and the server without mediation by the middlebox when the degree of mismatch is zero.
摘要:
A number of improvements in network adapters that offload protocol processing from the host processor are provided. Specifically, a mechanism for improving connection establishment in a system utilizing an offload network adapter is provided. The connection establishment mechanism provides the ability to offload connection establishment and maintenance of connection state information to the offload network adapter. As a result of this offloading of connection establishment and state information maintenance, the number of communications needed between the host system and the offload network adapter may be reduced. In addition, offloading of these functions to the offload network adapter permits bulk notification of established connections and state information to the host system rather than piecemeal notifications as is present in known computing systems.
摘要:
A method, apparatus, and computer instructions for transferring data objects. A request for a data object is received at a communication adapter. A determination is made as to whether the data object is stored in a memory in the communication adapter in response to receiving the request. The data object is transferred from the memory to a receiver of the data object through the communication adapter in which transfer of the data across a bus connecting the communication adapter to the data processing system is unnecessary in response to the data object being present in the memory.
摘要:
Middlebox systems that can enter a connection include a monitoring module to monitor information in a connection between a client and a server, a processor to determine that the connection is idle, a table configured to create a first entry for the client and a second entry for the server, where the entries are initialized using information gathered by the monitoring module, and a control module to redirect the connection between the client and server to the middlebox. Middlebox systems that can exit a connection include a processor to determine a mismatch between sequence numbers in a first connection to a client device and in a second connection to a server device. A network control module delays acknowledgment signals from the middlebox on a connection to decrease the degree of mismatch and establishes a direct connection between the client device and the server device when mismatch is zero.
摘要:
In a computer system comprising a plurality of computing devices wherein the plurality of computing devices processes a plurality of tasks and each task has a task type, a method for determining overheads associated with task types comprises the following steps. Overheads are estimated for a plurality of task types. One of the plurality of computing devices is selected to execute one of the plurality of tasks, wherein the selection comprises estimating load on at least a portion of the plurality of computing devices from tasks assigned to at least a portion of the plurality of computing devices and the estimates of overheads of the plurality of task types. One or more of the estimates of overheads of the plurality of task types are varied.
摘要:
A number of improvements in network adapters that offload protocol processing from the host processor are provided. Specifically, mechanisms for handling memory management and optimization within a system utilizing an offload network adapter are provided. The memory management mechanism permits both buffered sending and receiving of data as well as zero-copy sending and receiving of data. In addition, the memory management mechanism permits grouping of DMA buffers that can be shared among specified connections based on any number of attributes. The memory management mechanism further permits partial send and receive buffer operation, delaying of DMA requests so that they may be communicated to the host system in bulk, and expedited transfer of data to the host system.