Application-specific outbound source routing from a host in a data network
AssigneeEMC Corporation
InventorsArthur Harris, Dennis Ting, Himabindu Tummala
Life of this patent
Estimating the term…
Abstract
An application program of a multi-homed host computer at a multi-homed Internet site specifies a destination IP address, a local network interface device and a local site gateway to the network layer of the host computer when establishing a remote TCP connection to the destination IP address, and then the network layer of the operating system of the host computer uses only this specified outbound source path for the remote TCP connection instead of an outbound source path from an operating system supplied routing table. This allows the host application to have control over its remote output paths and provides the host application with the ability to create private remote connections.
Claims20
A computer-implemented method of routing data to a data network from a host computer, the host computer having memory and at least one data processor coupled to the memory for executing programs in the memory, the host computer being connected to the data network to provide a plurality of outbound source paths for transmission of data from the host computer to the data network, said method comprising:
- said at least one data processor executing a network layer program in the memory to establish a remote connection for transmission of data from execution of an application program in the memory to a remote destination in the data network, and to select a particular outbound source path for transmission of the data from the execution of the application program over the remote connection when the execution of the application program does not specify a particular outbound source path for the transmission of data from the execution of the application program over the remote connection, and to use an application-specified outbound source path for transmission of the data from the execution of the application program over the remote connection when the execution of the application program specifies a particular outbound source path for the transmission of data from the execution of the application program over the remote connection.
A computer-implemented method of routing data to the Internet from a host computer, the host computer having memory and at least one data processor coupled to the memory for executing programs in the memory, the host computer being connected to the Internet to provide a plurality of outbound source paths for transmission of data from the host computer to the Internet, said method comprising:
- said at least one data processor executing a network layer program in the memory to establish a remote Transmission Control Protocol (TCP) connection for transmission of data from execution of an application program in the memory to a remote destination in the Internet, and to select based on current loading conditions a particular outbound source path for transmission of the data from the execution of the application program over the remote TCP connection when the execution of the application program does not specify a particular outbound source path for the transmission of data from the execution of the application program over the remote TCP connection, and to use an application-specified outbound source path for transmission of the data from the execution of the application program over the remote TCP connection when the execution of the application program specifies a particular outbound source path for the transmission of data from the execution of the application program over the remote TCP connection.
A host computer comprising:
- at least one data processor;
- a plurality of network interface devices coupled to said at least one data processor for connecting the host computer to a data network for providing a plurality of outbound source paths for transmission of data from the host computer to the data network;
- and
- memory storing an application program and a network layer program, the memory being coupled to said at least data processor for execution of the application program and the network layer program by said at least one data processor;
- the network layer program begin executable by said at least one data processor to establish a remote connection for transmission of data from execution of the application program to a remote destination in the data network, and to select a particular outbound source path for transmission of the data from the execution of the application program over the remote connection when the execution of the application program does not specify a particular outbound source path for the transmission of data from the execution of the application program over the remote connection, and to use application-specified outbound source path for transmission of the data from the execution of the application program over the remote connection when the execution of the application program specifies a particular outbound source path for the transmission of data from the execution of the application program over the remote connection.
Dependencies are inferred from the claim text.