摘要:
Provided are techniques for static load balancing. For each data path in a network adapter team, a load balancing value is computed. A maximum value of the computed load balancing values is determined. A data path with the maximum value is selected for use in routing data. Also provided are techniques for dynamic load balancing in which, when a load balancing share of a data path is less than an actual load balancing share, the load balancing share of the data path is adjusted. Furthermore, provided are techniques for failover processing in which a command is routed through a second network adapter in response to determining that the command may not be routed through a first network adaptor.
摘要:
In a computer network having a plurality of nodes with one or more computer systems associated with a node a method for transmitting messages to and from a DOS application resident in a memory to and from the network. The messages to and from the DOS application are handled a virtual device driver resident in the memory which is monitoring the 5C interrupt. The virtual device driver converts an outgoing CCB1 message from the DOS application to a message in a CCB3 32-bit format and an incoming 32-bit CCB3 message to a CCB1 format. The virtual device driver transmits the CCB3 message to a physical device driver resident in system memory. The physical device converts messages between the CCB3 32-bit format and a CCB3 16-bit format. The physical device driver transmits and receives 16-bit CCB3 messages to and from a logical link control protocol driver resident in the memory. The logical link control protocol driver is preferably written to the ISO 8802-2 standards and passes and receives messages to and from the MAC layer and the LAN adapter. With an incoming message the virtual device driver arms a context hook which fires when the operating system has allocated sufficient memory to the DOS application resident Virtual 86 mode before transmitting the CCB1 message to the DOS application.
摘要:
A router can process the data received from the local area network at a network protocol stack local to the router, while processing data received from the wide area network normally. The offloading of the stack processing from the source of the data to the router reduces the number of network hops that both packets based on the received data, and acknowledgements from the destination of the packets, must travel, thereby reducing communication latency. In addition, offloading the stack processing to the router can reduce the processing load at the data source. Further, the router can implement different quality of service or other processing protocols for the local area and wide area traffic.
摘要:
An interceptor program at a computer device intercepts certain externally initiated communications intended for the peer program before those communications are placed on the network stack. Further, the interceptor program stores the received communications in a buffer in application space, rather than kernel space. The interceptor program can then intercept polling requests from the peer program inquiring if data for the peer program is located at the network stack, and provide the buffered communications to the peer program in response. Because the communications are stored in application space, rather than kernel space, the data can be rapidly provided to the peer program, improving the speed with which the program can respond to the client communications.
摘要:
A router can process the data received from the local area network at a network protocol stack local to the router, while processing data received from the wide area network normally. The offloading of the stack processing from the source of the data to the router reduces the number of network hops that both packets based on the received data, and acknowledgements from the destination of the packets, must travel, thereby reducing communication latency. In addition, offloading the stack processing to the router can reduce the processing load at the data source. Further, the router can implement different quality of service or other processing protocols for the local area and wide area traffic.
摘要:
The state of the communication socket is maintained at a network device and communicated to a device driver for the network device. The device driver can send messages to an interface program in application space, which stores the state information in dedicated application space memory. In response to a query from a peer program requesting the state of the communication socket, the interface program retrieves the state information from the dedicated memory. Because the state information and the interface program are located in application space, the number of kernel transitions required to determine the socket state is reduced, improving communication efficiency.
摘要:
A method of managing communication of messages via a network includes storing messages received from an application in a queue at a transport layer. The transport layer monitors the amount of information stored at the queue. When the amount of information exceeds a threshold amount, the transport layer provides a warning message to the application. In an embodiment, the transport layer provides the warning message before the queue assigned to store messages from the application is full, so that the application can continue to provide messages to the transport layer after the warning message. The application can take appropriate action in response to the message, such as reducing the amount or frequency of information provided at the transport layer, thereby reducing the likelihood of a communication bottleneck at the transport layer.
摘要:
A command is received, at a network storage driver, from an operating system storage stack, wherein the command is for communication with a target storage device over a connection across a network. The command is selectively executed, a plurality of times over the connection, for communicating with the target storage device, in response to a determination that the command failed to successfully communicate with the target storage device within a threshold period of time.
摘要:
An interceptor program at a computer device intercepts certain externally initiated communications intended for the peer program before those communications are placed on the network stack. Further, the interceptor program stores the received communications in a buffer in application space, rather than kernel space. The interceptor program can then intercept polling requests from the peer program inquiring if data for the peer program is located at the network stack, and provide the buffered communications to the peer program in response. Because the communications are stored in application space, rather than kernel space, the data can be rapidly provided to the peer program, improving the speed with which the program can respond to the client communications.
摘要:
A method of managing communication of messages via a network includes storing messages received from an application in a queue at a transport layer. The transport layer monitors the amount of information stored at the queue. When the amount of information exceeds a threshold amount, the transport layer provides a warning message to the application. In an embodiment, the transport layer provides the warning message before the queue assigned to store messages from the application is full, so that the application can continue to provide messages to the transport layer after the warning message. The application can take appropriate action in response to the message, such as reducing the amount or frequency of information provided at the transport layer, thereby reducing the likelihood of a communication bottleneck at the transport layer.