8510409

Application-Specific Outbound Source Routing from a Host in a Data Network

PublishedAugust 13, 2013
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. 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.

2

2. The method as claimed in claim 1 , wherein the host computer has multiple network interface devices for transmitting data from the host computer to the data network, and execution of the application program by said at least one data processor specifies a particular one of the network interface devices to be used for transmission of data from the execution of the application program over the remote connection, and said at least one data processor executes the network layer program to transmit data from the execution of the application program through the particular one of the network interface devices upon finding that the remote connection has an application-specified outbound source path and the application-specified outbound source path for the remote connection includes the particular one of the network interface devices.

3

3. The method as claimed in claim 1 , wherein multiple gateways connect the host computer to the data network for transmission of data from the host computer to the data network, and execution of the application program specifies a particular one of the gateways to be used for transmission of data from the execution of the application program to the data network over the remote connection, and said at least one data processor executes the network layer program to transmit data from the execution of the application program through the particular one of the gateways upon finding that the remote connection has an application-specified outbound source path and the application-specified outbound source path for the remote connection includes the particular one of the gateways.

4

4. The method as claimed in claim 1 , wherein multiple gateways connect the host computer to the data network for transmission of data from the host computer to the data network, and the host computer has multiple network interface devices for transmitting data from the host computer to the gateways, and execution of the application program by said at least one data processor specifies a particular one of the network interface devices and a particular one of the gateways to be used for transmission of data from the execution of the application program over the remote connection, and said at least one data processor executes the network layer program to transmit data from the execution of the application program through the particular one of the network interface devices to the particular one of the gateways upon finding that the remote connection has an application-specified outbound source path and the application-specified outbound source path for the remote connection includes the particular one of the network interface devices and the particular one of the gateways.

5

5. The method as claimed in claim 1 , which further includes the data processor executing the application program to indicate to the network layer program that a particular outbound source path specified by the application program is to be used exclusively for transmission of data from the execution of the application program over the remote connection, and in response the execution of the network layer program excludes the particular outbound source path from the outbound source paths used by the network layer program for the transmission of data over other remote connections.

6

6. The method as claimed in claim 1 , wherein the network layer program includes an application program interface (API) function that is invoked by execution of the application program to specify that a particular one of the outbound source paths is to be used for transmission of data from the execution of the application program over a specified remote connection.

7

7. The method as claimed in claim 6 , wherein execution of the network layer program by said at least one data processor maintains, in the memory of the host computer, an index of the remote connections, and attributes of the remote connections, and execution of the network layer program by said at least one data processor responds to the invocation of the application program interface (API) function by setting an attribute of the specified remote connection to indicate that there is an application-specified outbound source path for the specified remote connection, and storing, in the memory of the host computer, a specification of the particular one of the outbound source paths that is to be used for the specified remote connection.

8

8. The method as claimed in claim 7 , wherein execution of the network layer program by said at least one data processor responds to data for transmission over the specified remote connection by searching the index of remote connections to find that the attribute of the specified remote connection indicates that there is an application-specified outbound source path for the specified remote connection, and in response to finding that the attribute of the specified remote connection indicates that there is an application-specified outbound source path for the specified remote connection, also finding the specification of the particular one of the outbound source paths that is to be used for the specified remote connection, and using the specification of the particular one of the outbound source paths that is to be used for the specified remote connection for routing the data for transmission over the specified remote connection from the host computer to the data network over the particular one of the outbound source paths that is to be used for the specified remote connection.

9

9. 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.

10

10. The method as claimed in claim 9 , wherein the host computer is a multi-homed host having multiple network interface devices for transmitting data from the host computer to the data network, and execution of the application program by said at least one data processor specifies a particular one of the network interface devices to be used for transmission of data from the execution of the application program over the remote TCP connection, and said at least one data processor executes the network layer program to transmit data from the execution of the application program through the particular one of the network interface devices upon finding that the remote TCP connection has an application-specified outbound source path and the application-specified outbound source path for the remote TCP connection includes the particular one of the network interface devices.

11

11. The method as claimed in claim 9 , wherein the host computer is in a multi-homed Internet site having multiple gateways connecting the host computer to the Internet for transmission of data from the host computer to the Internet, and execution of the application program specifies a particular one of the gateways to be used for transmission of data from the host computer to the Internet over the remote TCP connection, and said at least one data processor executes the network layer program to transmit data from the execution of the application program through the particular one of the gateways upon finding that the remote TCP connection has an application-specified outbound source path and the application-specified outbound source path for the remote TCP connection includes the particular one of the gateways.

12

12. The method as claimed in claim 9 , wherein the host computer is in a multi-homed Internet site having multiple gateways connect the host computer to the data network for transmission of data from the host computer to the Internet, and the host computer is a multi-homed host having multiple network interface devices for transmitting data from the host computer to the gateways, and execution of the application program by said at least one data processor specifies a particular one of the network interface devices and a particular one of the gateways to be used for transmission of data from the execution of the application program over the remote TCP connection, and said at least one data processor executes the network layer program to transmit data from the execution of the application program through the particular one of the network interface devices to the particular one of the gateways upon finding that the remote TCP connection has an application-specified outbound source path and the application-specified outbound source path for the remote TCP connection includes the particular one of the network interface devices and the particular one of the gateways.

13

13. 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.

14

14. The host computer as claimed in claim 13 , wherein the application program specifies a particular one of the network interface devices to be used by the execution of the network layer program for the transmission of data from the execution of the application program to the data network over the remote connection.

15

15. The host computer as claimed in claim 13 , wherein the application program specifies a particular gateway to be used by the execution of the network layer program by said at least one data processor for routing data from the execution of the application program to the data network over the remote connection.

16

16. The host computer as claimed in claim 13 , wherein the application program specifies a particular one of the network interface devices and a particular gateway to be used by the execution of the network layer program for the transmission of data from the execution the application program to the gateway and from the gateway to the data network over the remote connection.

17

17. The host computer as claimed in claim 13 , wherein the application program specifies that a particular one of the outbound source paths is to be used exclusively for the transmission of data from computer the execution of the application program to the data network over the remote connection, and the network layer program is executable by said at least one data processor to respond to the specification by the application program that the particular one of the outbound source paths is to be used exclusively for the transmission of data from the execution of the application program to the data network over the remote connection by excluding the particular one of the outbound source paths from the outbound source paths used by the network layer program for the transmission of data over other remote connections.

18

18. The host computer as claimed in claim 13 , wherein the network layer program includes an application program interface (API) function that is executable by said at least one data processor and called by the application program to specify that a particular one of the outbound source paths is to be used for transmission of data from execution of the application program over a specified remote connection.

19

19. The host computer as claimed in claim 18 , wherein execution of the network layer program by said at least one data processor maintains, in the memory of the host computer, an index of the remote connections, and attributes of the remote connections, and execution of the network layer program by said at least one data processor responds to invocation of the application program interface (API) function by setting an attribute of the specified remote connection to indicate that there is an application-specified outbound source path for the specified remote connection, and storing, in the memory of the host computer, a specification of the particular one of the outbound source paths that is to be used for the specified remote connection.

20

20. The host computer as claimed in claim 19 , wherein execution of the network layer program by said at least one data processor responds to data for transmission over the specified remote connection by searching the index of remote connections to find that the attribute of the specified remote connection indicates that there is an application-specified outbound source path for the specified remote connection, and in response to finding that the attribute of the specified remote connection indicates that there is an application-specified outbound source path for the specified remote connection, also finding the specification of the particular one of the outbound source paths that is to be used for the specified remote connection, and using the specification of the particular one of the outbound source paths that is to be used for the specified remote connection for routing the data for transmission over the specified remote connection from the host computer to the data network over the particular one of the outbound source paths that is to be used for the specified remote connection.

Patent Metadata

Filing Date

Unknown

Publication Date

August 13, 2013

Inventors

Arthur Harris
Dennis Ting
Himabindu Tummala

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “APPLICATION-SPECIFIC OUTBOUND SOURCE ROUTING FROM A HOST IN A DATA NETWORK” (8510409). https://patentable.app/patents/8510409

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

APPLICATION-SPECIFIC OUTBOUND SOURCE ROUTING FROM A HOST IN A DATA NETWORK — Arthur Harris | Patentable