Dynamic selection of network providers
First Claim
1. A method for an originating site to select a specific provider from a plurality of providers, for exchanging at least one set of application data with a first called site, the method comprising:
- the originating site establishing a first control channel between the originating site and the first called site for communicating setup parameters for a first set of application data, selecting the specific provider to handle all transmissions of the first set of application data, communicating to the first called site via the first control channel a first selection of the specific provider for a first connection used for transmitting the first set of application data;
making the first connection to the first called site using the specific provider, and routing all forward data of the first set of application data to the first called site on the first connection; and
the first called site sending all return data transmissions of the first set of application data to the originating site via the first connection.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus and system is provided by which two or more cooperating end-users of the Internet and/or other network can dynamically select and use a single Internet or other network service provider (ISP) from among a multitude of ISPs based on the application requirements. The service provider may be selected in a dynamic fashion. This overcomes the problem wherein traditionally most end-users, whether they are individuals or organizations, are connected to the Internet or other network through a single Internet and/or other network service provider. However, users generally may have more than a single connection to the Internet and/or other network. In such cases the routing of traffic over these multiple connections is handled by IP routers based on the routing information that they exchange with their peers. This information is relatively static in nature and is typically based on the state of links that interconnect the different routers. The invention provides a mechanism for the end-user to take advantage of different rates or services that might be provided by competing Internet and/or other network service providers. Furthermore, there are cases where the choice of which provider to use depends on the application. Thus this invention enables cooperating users (or sites of an organization) to dynamically select different providers on an application by application basis.
-
Citations
25 Claims
-
1. A method for an originating site to select a specific provider from a plurality of providers, for exchanging at least one set of application data with a first called site, the method comprising:
-
the originating site establishing a first control channel between the originating site and the first called site for communicating setup parameters for a first set of application data, selecting the specific provider to handle all transmissions of the first set of application data, communicating to the first called site via the first control channel a first selection of the specific provider for a first connection used for transmitting the first set of application data;
making the first connection to the first called site using the specific provider, and routing all forward data of the first set of application data to the first called site on the first connection; and
the first called site sending all return data transmissions of the first set of application data to the originating site via the first connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
the originating site forwarding the particular mapping to the first called site via the control channel, and the first called site using the particular mapping to form a mapping of a reverse destination address for sending the return application data via the first connection to the originating site, the reverse destination address being in the address space of specific provider.
-
-
4. A method as recited in claim 1, further comprising:
-
the originating site establishing a second control channel between the originating site and a second called site for communicating setup parameters for a second set of application data, selecting a second provider to handle all transmissions of the second set of application data, and communicating to the second called site via the second control channel a second selection of the second provider for a second connection for the second set of application data;
the originating site making the second connection to the second called site using the second provider, and routing all forward data of the second set of application data to the second called site via the second connection; and
the second called site sending all return data of the second set of application data to the originating site via the second connection.
-
-
5. A method as recited in claim 4, further comprising the originating site using a second mapping to translate a second arbitrary forward destination address for the second connection, into a second destination address for the second connection, wherein the second destination address belongs to an address space of the second provider.
-
6. A method as recited in claim 5, further comprising:
-
the originating site forwarding the second mapping to the second called site via the second control channel; and
the second called site using the second mapping to form the second mapping of a reverse destination address for sending the return application data via the second connection to the originating site, the reverse destination address being in the address space of the second provider.
-
-
7. A method as recited in claim 5, wherein the first called site and the second called site are at a common location.
-
8. A method as recited in claim 5, wherein the first provider and the second provider are common.
-
9. A method as recited in claim 5, wherein the first provider and the second provider are a same provider.
-
10. A method as recited in claim 1, further comprising the first called site confirming to the originating site via the control channel of receiving the first selection.
-
11. A method as recited in claim 4, further comprising the second called site confirming to the originating site via the second control channel of receiving the second selection.
-
12. A system enabling an originating site to select a specific provider from a plurality of providers, for exchanging at least one set of application data with a first called site, the system comprising:
-
an originating site interface module to establish a first control channel between the originating site and the first called site for communicating setup parameters for a first set of application data, a provider selector to select the specific provider to handle all transmissions of the first set of application data, and to communicate via the interface module with the first called site on the first control channel a first selection of the specific provider for a first connection for transmitting the first set of application data;
an originating site router making the first connection to the first called site using the specific provider, and to route all forward data of the first set of application data to the first called site via the first connection; and
a first called site router to route all return data transmissions of the first set of application data to the originating site on the first connection. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
the originating site router making the second connection to the second called site using the second provider, and to route all forward data of the second set of application data to the second called site on the second connection; and
a second called site router for routing all return data of the second set of application data to the originating site on the second connection.
-
-
16. A system as recited in claim 15, wherein the originating site translator is used to translate a second arbitrary forward destination address for the second connection into a second destination address for the second connection, wherein the second destination address belongs to an address space of the second provider.
-
17. A system as recited in claim 16, wherein the originating site interface module forwards the second mapping to the second called site via the second control channel;
- and further comprising a second called site translator to map a second mapping of a reverse destination address for sending the return application data on the second connection to the originating site, the reverse destination address being in the address space of second provider.
-
18. A system as recited in claim 16, wherein the first called site and the second called site are a same site.
-
19. A system as defined in claim 12, further comprising the first called site interface module to confirm to the originating site via the control channel of receiving the first selection.
-
20. A system as defined in claim 15, further comprising the second called site interface module to confirm to the originating site via the second control channel of receiving the second selection.
-
21. An article of manufacture comprising:
-
a computer usable medium having computer readable program code means embodied therein for causing an originating site to select a specific provider from a plurality of providers, for exchanging at least one set of application data with a first called site, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect;
the originating site establishing a first control channel between the originating site and the first called site for communicating setup parameters for a first set of application data, selecting the specific provider to handle all transmissions of the first set of application data, and communicating to the first called site via the first control channel a first selection of the specific provider for a first connection used for transmitting the first set of application data;
the originating site making the first connection to the first called site using the specific provider, and routing all forward data of the first set of application data to the first called site on the first connection; and
the first called site sending all return data transmissions of the first set of application data to the originating site via the first connection. - View Dependent Claims (22, 23, 24)
the originating site forwarding the particular mapping to the first called site via the control channel, and the first called site using the particular mapping to form a mapping of a reverse destination address for sending the return application data via the first connection to the originating site, the reverse destination address being in the address space of specific provider.
-
-
24. A method as recited in claim 22, further comprising the first called site confirming to the originating site via the control channel of receiving the first selection.
-
25. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for an originating site to select a specific provider from a plurality of providers, for exchanging at least one set of application data with a first called site, said method steps comprising:
-
the originating site establishing a first control channel between the originating site and the first called site for communicating setup parameters for a first set of application data, selecting the specific provider to handle all transmissions of the first set of application data, and communicating to the first called site via the first control channel a first selection of the specific provider for a first connection used for transmitting the first set of application data;
the first called site confirming to the originating site via the control channel of receiving the first selection;
the originating site making the first connection to the first called site using the specific provider, and routing all forward data of the first set of application data to the first called site on the first connection; and
the first called site sending all return data transmissions of the first set of application data to the originating site via the first connection.
-
Specification