Path selection system
First Claim
Patent Images
1. A network device adapted for processing a service request, comprising:
- a processor; and
a memory, at least one of the processor or the memory being adapted for;
receiving a service request;
sending a plurality of response packets in response to receiving the service request, each of the plurality of response packets identifying a different type of service via which to send a corresponding one of the plurality of response packets, wherein the type of service directly corresponds to a Service Provider of the Internet such that each of the plurality of response packets is sent via a different one of a plurality of Service Providers of the Internet;
maintaining a mapping of each different type of service to an IP address, thereby enabling the service request to be processed via an IP address associated with a type of service identified in a first one of the plurality of response packets to be received, wherein the type of service identified in the first one of the plurality of response packets to be received identifies one of the plurality of Service Providers of the Internet; and
providing the IP address of the one of the plurality of Service Providers of the Internet that is mapped to the type of service identified in the first one of the plurality of response packets to be received;
wherein maintaining the mapping comprises maintaining a plurality of A-records, each of the A-records having a type of service field adapted for indicating a type of service that corresponds to one of the plurality of Service Providers of the Internet and wherein receiving the request comprises receiving a DNS A-record request.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for processing a service request received from a client are disclosed. When a service request is received, a plurality of packets are transmitted, where each of the plurality of packets identify a different type of service via which to send the corresponding packet. In addition, a mapping of each different type of service to an IP address is preferably maintained, thereby enabling the service request to be processed via an IP address associated with a type of service identified in a first one of the plurality of packets to be received.
94 Citations
31 Claims
-
1. A network device adapted for processing a service request, comprising:
-
a processor; and a memory, at least one of the processor or the memory being adapted for; receiving a service request; sending a plurality of response packets in response to receiving the service request, each of the plurality of response packets identifying a different type of service via which to send a corresponding one of the plurality of response packets, wherein the type of service directly corresponds to a Service Provider of the Internet such that each of the plurality of response packets is sent via a different one of a plurality of Service Providers of the Internet; maintaining a mapping of each different type of service to an IP address, thereby enabling the service request to be processed via an IP address associated with a type of service identified in a first one of the plurality of response packets to be received, wherein the type of service identified in the first one of the plurality of response packets to be received identifies one of the plurality of Service Providers of the Internet; and providing the IP address of the one of the plurality of Service Providers of the Internet that is mapped to the type of service identified in the first one of the plurality of response packets to be received; wherein maintaining the mapping comprises maintaining a plurality of A-records, each of the A-records having a type of service field adapted for indicating a type of service that corresponds to one of the plurality of Service Providers of the Internet and wherein receiving the request comprises receiving a DNS A-record request. - View Dependent Claims (2, 3)
-
-
4. In a network device, a method of processing a service request, comprising:
-
receiving a service request; sending a plurality of packets in response to receiving the service request, each of the plurality of packets identifying a different type of service via which to send a corresponding one of the plurality of response packets, wherein the type of service identifies a Service Provider of the Internet such that each of the plurality of response packets identifies a different one of a plurality of Service Providers of the Internet; and maintaining a mapping of each different type of service to an IP address, thereby enabling the service request to be processed via an IP address associated with a type of service identified in a first one of the plurality of packets to be received, wherein the type of service identified in the first one of the plurality of packets to be received identifies one of the plurality of Service Providers of the Internet; and providing the IP address of the one of the plurality of Service Providers of the Internet that is mapped to the type of service identified in the first one of the plurality of response packets to be received; wherein maintaining the mapping comprises maintaining a plurality of A-records, each of the A-records having a type of service field adapted for indicating a type of service that corresponds to one of the plurality of Service Providers of the Internet and wherein receiving the request comprises receiving a DNS A-record request.
-
-
5. A non-transitory computer-readable medium comprising memory, the computer readable medium storing thereon instructions for processing a service request in a network device, the computer-readable medium storing thereon:
-
instructions for sending a plurality of response packets in response to receiving a service request, each of the plurality of response packets identifying a different type of service via which to send a corresponding one of the plurality of response packets, wherein the type of service identifies a Service Provider of the Internet such that each of the plurality of response packets identifies a different one of the plurality of Service Providers of the Internet; instructions for maintaining a mapping of each different type of service to an IP address, thereby enabling the service request to be processed via an IP address associated with a type of service identified in a first one of the plurality of response packets to be received, wherein the type of service identified in the first one of the plurality of response packets to be received identifies one of the plurality of Service Providers of the Internet; and instructions for providing the IP address of the one of the plurality of Service Providers of the Internet that is mapped to the type of service identified in the first one of the plurality of response packets to be received; wherein maintaining the mapping comprises maintaining a plurality of A-records, each of the A-records having a type of service field adapted for indicating a type of service that corresponds to one of the plurality of Service Providers of the Internet and wherein receiving the request comprises receiving a DNS A-record request.
-
-
6. A network device adapted for processing a service request, comprising:
-
a processor and a memory; means for sending a plurality of packets in response to receiving a service request, each of the plurality of packets identifying a different type of service via which to send a corresponding one of the plurality of response packets, wherein the type of service identifies a Service Provider of the Internet such that each of the plurality of response packets identifies a different one of a plurality of Service Providers of the Internet; means for maintaining a mapping of each different type of service to an IP address, thereby enabling the service request to be processed via an IP address associated with a type of service identified in a first one of the plurality of packets to be received, wherein the type of service identified in the first one of the plurality of packets to be received identifies one of the plurality of Service Providers of the Internet; and means for providing the IP address of the one of the plurality of Service Providers of the Internet that is mapped to the type of service identified in the first one of the plurality of packets to be received; wherein maintaining the mapping comprises maintaining a plurality of A-records, each of the A-records having a type of service field adapted for indicating a type of service that corresponds to one of the plurality of Service Providers of the Internet and wherein receiving the request comprises receiving a DNS A-record request.
-
-
7. A network device adapted for processing a DNS request, comprising:
-
a processor; and a memory, at least one of the processor or the memory being adapted for; receiving a DNS request indicating a domain name for which an IP address is requested; transmitting a plurality of DNS responses in response to the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies or is mapped to a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; and wherein transmitting a plurality of DNS responses comprises transmitting the plurality of DNS responses to a client DNS server associated with a client initiating the DNS request; wherein the client DNS server is configured to identify a first one of the plurality of DNS responses to be received from the network device and to respond with an IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses, thereby enabling the IP address of the one of the plurality of Service Providers of the Internet via which the first one of the plurality of DNS responses has been received to be provided; wherein the client DNS server is further configured to obtain the type of service from the first one of the plurality of DNS responses and obtain an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table. - View Dependent Claims (8, 9, 10)
-
-
11. A method of processing a DNS request, comprising:
-
receiving by a network device a DNS request indicating a domain name for which an IP address is requested; transmitting by the network device a plurality of DNS responses in response to the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies or is mapped to a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; and providing an IP address of the one of the plurality of Service Providers of the Internet via which a first one of the plurality of DNS responses to be received has been transmitted; wherein transmitting a plurality of DNS responses comprises transmitting the plurality of DNS responses to a client DNS server associated with a client initiating the DNS request; wherein the client DNS server is configured to identify a first one of the plurality of DNS responses to be received from the network device and to respond with an IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses; wherein the client DNS server is further configured to obtain the type of service from the first one of the plurality of DNS responses and obtain an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-readable medium comprising memory storing thereon instructions for processing a DNS request in a network device, the computer-readable medium storing thereon the following instructions:
-
instructions for processing a DNS request that has been received, the DNS request indicating a domain name for which an IP address is requested; instructions for transmitting a plurality of DNS responses in response to the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies or is mapped to a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; and instructions for providing an IP address of the one of the plurality of Service Providers of the Internet via which a first one of the plurality of DNS responses to be received has been transmitted; wherein transmitting a plurality of DNS responses comprises transmitting the plurality of DNS responses to a client DNS server associated with a client initiating the DNS request; wherein the client DNS server is configured to identify a first one of the plurality of DNS responses to be received from the network device and to respond with an IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses; wherein the client DNS server is further configured to obtain the type of service from the first one of the plurality of DNS responses and obtain an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table.
-
-
19. A system adapted for processing a DNS request, comprising:
-
a processor and a memory; means for receiving a DNS request indicating a domain name for which an IP address is requested; means for transmitting a plurality of DNS responses in response to the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies or is mapped to a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; and means for providing an IP address of the one of the plurality of Service Providers of the Internet via which a first one of the plurality of DNS responses to be received has been transmitted; wherein transmitting a plurality of DNS responses comprises transmitting the plurality of DNS responses to a client DNS server associated with a client initiating the DNS request; wherein the client DNS server is configured to identify a first one of the plurality of DNS responses to be received from the network device and to respond with an IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses; wherein the client DNS server is further configured to obtain the type of service from the first one of the plurality of DNS responses and obtain an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table.
-
-
20. A system for selecting an Internet Service Provider via which to process a client request, comprising:
-
a network device comprising a processor adapted for receiving a DNS request indicating a domain name for which an IP address is requested and transmitting a plurality of DNS responses to a client DNS server associated with a client initiating the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; one or more intermediate routers configured to perform next-hop policy based routing based on the type of service; and a client DNS server associated with a client initiating the DNS request, the client DNS server being configured to identify a first one of the plurality of DNS responses to be received from the network device and to respond to the client with an IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses; wherein the client DNS server is further configured to obtain the type of service from the first one of the plurality of DNS responses and obtain an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table.
-
-
21. A method, comprising:
-
receiving a plurality of DNS responses from a network device by a client DNS server, the plurality of DNS responses being transmitted by the network device in response to a DNS request indicating a domain name for which an IP address is requested, wherein the client DNS server is associated with a client initiating the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies or is mapped to a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; and providing by the client DNS server an IP address of the one of the plurality of Service Providers of the Internet via which a first one of the plurality of DNS responses to be received has been transmitted; wherein the client DNS server is configured to identify a first one of the plurality of DNS responses to be received from the network device and to respond with an IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses; wherein the client DNS server is further configured to obtain the type of service from the first one of the plurality of DNS responses and obtain an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table.
-
-
22. A method, comprising:
-
receiving a plurality of DNS responses from a network device by a client DNS server, the plurality of DNS responses being transmitted by the network device in response to a DNS request indicating a domain name for which an IP address is requested, wherein the client DNS server is associated with a client initiating the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies or is mapped to a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; identifying by the client DNS server a first one of the plurality of DNS responses to be received from the network device; obtaining by the client DNS server the type of service from the first one of the plurality of DNS responses to be received from the network device; obtaining by the client DNS server an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table; and providing by the client DNS server the IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses, thereby providing an IP address of the one of the plurality of Service Providers of the Internet via which a first one of the plurality of DNS responses to be received has been transmitted. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
30. An apparatus, comprising:
-
a processor; and a memory, at least one of the processor or the memory being adapted for; receiving a plurality of DNS responses from a network device by a client DNS server, the plurality of DNS responses being transmitted by the network device in response to a DNS request indicating a domain name for which an IP address is requested, wherein the client DNS server is associated with a client initiating the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies or is mapped to a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; identifying by the client DNS server a first one of the plurality of DNS responses to be received from the network device; obtaining by the client DNS server the type of service from the first one of the plurality of DNS responses to be received from the network device; obtaining by the client DNS server an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table; and providing by the client DNS server the IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses, thereby providing an IP address of the one of the plurality of Service Providers of the Internet via which a first one of the plurality of DNS responses to be received has been transmitted.
-
-
31. An apparatus, comprising:
-
a processor and a memory; means for receiving a plurality of DNS responses from a network device by a client DNS server, the plurality of DNS responses being transmitted by the network device in response to a DNS request indicating a domain name for which an IP address is requested, wherein the client DNS server is associated with a client initiating the DNS request, each of the plurality of DNS responses being transmitted via a different path associated with a different type of service, wherein the type of service identifies or is mapped to a Service Provider of the Internet such that each of the plurality of DNS responses is transmitted via a different one of a plurality of Service Providers of the Internet; means for identifying by the client DNS server a first one of the plurality of DNS responses to be received from the network device; means for obtaining by the client DNS server the type of service from the first one of the plurality of DNS responses to be received from the network device; means for obtaining by the client DNS server an IP address of the one of the plurality of Service Providers corresponding to the type of service from a mapping table; and means for providing by the client DNS server the IP address of the one of the plurality of Service Providers of the Internet corresponding to the type of service identified in the first one of the plurality of DNS responses, thereby providing an IP address of the one of the plurality of Service Providers of the Internet via which a first one of the plurality of DNS responses to be received has been transmitted.
-
Specification