CA2784699C - Distributed routing architecture - Google Patents

Distributed routing architecture Download PDF

Info

Publication number
CA2784699C
CA2784699C CA2784699A CA2784699A CA2784699C CA 2784699 C CA2784699 C CA 2784699C CA 2784699 A CA2784699 A CA 2784699A CA 2784699 A CA2784699 A CA 2784699A CA 2784699 C CA2784699 C CA 2784699C
Authority
CA
Canada
Prior art keywords
router
subset
level
components
hierarchy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA2784699A
Other languages
French (fr)
Other versions
CA2784699A1 (en
Inventor
Alan M. Judge
David J. Mcgaugh
James R. Hamilton
Justin O. Pietsch
David J. O'meara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CA2784699A1 publication Critical patent/CA2784699A1/en
Application granted granted Critical
Publication of CA2784699C publication Critical patent/CA2784699C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/33Flow control; Congestion control using forward notification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]

Abstract

A hierarchical distributed routing architecture including at least three levels, or layers, for receiving, processing and forwarding data packets between network components is provided. The core level router components receive an incoming packet from a network component and identify a distribution level router component based on processing a subset of the destination address associated with the received packet. The distribution level router components that receiving a forwarded packet and identify a transit level router component based a second processing of at least a subset of the destination address associated with the received packet. The transit level router components receive the forwarded packet and forward the packet to a respective network. The mapping, or other assignment, of portions of the FIB associated with the distributed routing environment is managed by a router management component.

Description

DISTRIBUTED ROUTING ARCHITECTURE
BACKGROUND
[0001] Generally described, computing devices utilize a communication network, or a series of communication networks, to exchange data. In a common embodiment, data to be exchanged is divided into a series of packets that can be transmitted between a sending computing device and a recipient computing device. In general, each packet can be considered to include two primary components, namely, control information and payload data.
The control information corresponds to information utilized by one or more communication networks to deliver the payload data. For example, control information can include source and destination network addresses, error detection codes, and packet sequencing identification, and the like.
Typically, control information is found in packet headers and trailers included within the packet and adjacent to the payload data.
[0002] In practice, in a packet-switched communication network, packets are transmitted between multiple physical networks, or sub-networks. Generally, the physical networks include a number of hardware devices that receive packets from a source network component and forward the packet to a recipient network component. The packet routing hardware devices are typically referred to as routers. Generally described, routers can operate with two primary functions or planes. The first function corresponds to a control plane, in which the router learns the set of outgoing interfaces that are most appropriate for forwarding received packets to specific destinations. The second function is a forwarding plane, in which the router sends the received packet to an outbound interface.
[0003] To execute the control plane functionality, routers can maintain a forwarding information base ("FIB") that identifies, among other packet attribute information, destination information for at least a subset of possible network addresses, such as Internet Protocol ("IP") addresses. In a typical embodiment, the FIB corresponds to a table of values specifying network forwarding information for the router. In one aspect, commercial level routing hardware components can include customized chipsets, memory components, and software that allows a single router to support millions of entries in the FIB. However, such commercial level routing hardware components are typically very expensive and often require extensive customization. In another aspect, commodity-based routing hardware components are made of more generic components and can be less expensive than commercial level routing hardware components by a significant order of magnitude. However, such commodity-based routing hardware components typically only support FIBs on the order of thousands of entries.
BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
[0005] FIGURE lA is a block diagram illustrative of one embodiment of a distributed routing environment including a router management component and a hierarchical, distributed routing component architecture;
[0006] FIGURE 1B is a block diagram illustrative of components of a router component utilized in accordance with the distributed routing environment of FIGURE 1A;
[0007] FIGURES 2A-2C are block diagrams illustrative of the distributed routing environment of FIGURE 1 A illustrating the routing of a received packet within the hierarchical distributed routing component architecture;
[0008] FIGURE 3 is a flow diagram illustrative of a distributed router architecture routing routine implemented within a distributed routing environment; and
[0009] FIGURE 4 is a flow diagram illustrative of a distributed router architecture routing routine implemented within a distributed routing environment DETAILED DESCRIPTION
[0010] Generally described, the present disclosure corresponds to a distributed routing architecture. Specifically, the present disclosure corresponds to a hierarchical distributed routing architecture including at least three logical levels, or layers, for receiving, processing and forwarding data packets between network components. In one embodiment, the three logical levels can corresponds to a core level, a distribution level and a transit level. Illustratively, the core level corresponds to one or more router components that receive an incoming packet from a network component and processes the destination address information associated with the received packet. The core level router component then identifies a distribution level router component based on a subset of the destination address associated with the received packet. The distribution level corresponds to one or more router components that receive a forwarded packet from a core level router component and further processes the destination address information associated with the received packet. The distribution level router component identifies a transit level router component based on at least a subset of the destination address associated with the received packet. Each distribution level router component is associated with, or otherwise corresponds to, a subset of the FIB associated with the distributed routing architecture. Finally, the transit level router components correspond to one or more router components that receive the forwarded packet from a distribution level router component and forward the packet "upstream" to a respective network, or network node. The mapping, or other assignment, of portions of the FIB associated with the distributed routing environment is managed by a router management component.
100111 In one embodiment, each of the router components associated with the core level, distribution level and transit level can correspond more closely to commodity based router components/hardware. In another embodiment, the core level, distribution level and transit level router components correspond to logical router components that do no necessarily have a corresponding hardware router component. For example, one or more logical router components within each level may be implemented in the same hardware router component. Likewise, the logical router components associated with different levels of the distributed routing architecture may be implemented in the same hardware router component. In both embodiments, however, because responsibility for maintaining the FIB associated with the distributed routing environment is divided among several router components, the processing and memory restraints associated with commodity based router components/hardware can be mitigated.
Various implementations, combination, and applications for dividing the FIB associated with the distributed routing environment will be described in accordance with the distributed routing environment. However, one skilled in the relevant art will appreciate that such embodiment and examples are illustrative in nature and should not be construed as limiting.

[0011a] In accordance with one disclosed aspect there is provided a system for routing packets. The system includes a router management component, executed on a computing device, for associating destination address information to a router hierarchy includes a plurality of levels, the router management component is configured to, for individual levels of the router hierarchy, dynamically allocate responsibility for portions of destination addresses of incoming packets to one or more router components of the individual level of the router hierarchy/ The system also includes one or more router components corresponding to a first level of the router hierarchy, the first level of the router hierarchy for receiving the incoming packets for routing and transmitting the incoming packets to router components of a second level of the router hierarchy. The system further includes one or more router components corresponding to the second level of the hierarchy, the second level of the router hierarchy for routing the incoming packets received from the first level of a router hierarchy to router components of a third level of the router hierarchy. At least one router component corresponding to the second level is dynamically allocated responsibility for a portion of a first subset of each destination address of each incoming packet by the router management component based at least in part on the incoming packets. The system further includes one or more router components corresponding to the third level of the router hierarchy, the third level of the router hierarchy for routing the incoming packets received from the second level of the router hierarchy, at least one router component corresponding to the third level is dynamically allocated responsibility for a portion of a second subset of each destination address of each incoming packet by the router management component based at least in part on the incoming packets. The one or more router components corresponding to the first level of the router hierarchy identify one or more router components from the second level of the router hierarchy to which to route each packet of the incoming packets based at least in part on the first subset of each destination address associated with each packet, the first subset is designated by the router management component. The one or more router components corresponding to the second level of the router hierarchy identify one or more router components of the third level of the router hierarchy to which to route each packet of the incoming packets based at least in part on the second subset of each destination address associated with each incoming packet, the second subset is designated by the router management component and the second subset is greater than the first subset.
[0011b] In accordance with another disclosed aspect there is provided a system for routing packets. The system includes a first set of logical router components for receiving an incoming set of packets for routing, a second set of logical router components for routing the set of packets received from the first set of router components, a third set of logical router components for routing the set of packets received from the second set of router components. The first set of logical router components identify a router component from the second set of logical router components to which to route a first packet of the set of packets based at least in part on a dynamic assignment by a router management component of portions of a first subset of destination addresses associated with the incoming set of packets to individual router components from the second set of logical router components. Each of the one or more router components corresponding to the second set of logical router components is dynamically assigned by the router management component to the portions of the first subset of the destination addresses associated with the incoming set of packets. The dynamic assignment is based at least in part on the set of packets. The second set of logical router components identify a router component from the third set of logical router components to which to route the first packet based at least in part on a dynamic assignment by the router management component of portions of a second subset of destination addresses associated with the incoming set of packets to individual router components from the third set of logical router components.
[0011cl In accordance with another disclosed aspect there is provided a method for routing packets. The method involves obtaining a routing request corresponding to a data packet received from a first communication network, identifying a first router corresponding to a first level of a router hierarchy, the first level of the router hierarchy corresponding to one or more router components, forwarding the received data packet to the identified first router, identifying a second router corresponding to a second level of the router hierarchy, the second level of the router hierarchy corresponding to one or more router components. The method also involves forwarding the received data packet to the identified second router, and identifying a third router corresponding to a third level of the router hierarchy, the third level of the router hierarchy corresponding to one or more router components. Identifying the second router is based at least in part on a dynamic assignment of the second router to a portion of a first subset of a destination address associated with the received data packet, and the dynamic assignment is based at least in part on a set of previously received data packets, and identifying a third router is based at least in part on a dynamic assignment of the third router to a portion of a second subset of the destination address associated with the received data packet, and the dynamic assignment is based at least in part on a set of previously received data packet.
[0012]
Turning now to FIGURE 1A, a distributed routing environment 100 for implemented a hierarchical distributed routing architecture will be described.
The distributed routing environment 100 includes a router management component 102 for controlling the routing information utilized by the distributed routing environment 100.
Specifically, the router managed component 102 can receive all upstream routing information to be used by the distributed routing environment 100 and allocate the assignment of the upstream routing information among the components of the distributed routing environment 100 as will be described. In one embodiment, the router management component 102 can correspond to a computing device in communication with one or more components of the distributed routing environment 100. Illustrative computing devices can include server computing devices, personal computing devices or other computing devices that include a processor, memory and other components for executing instructions associated with the function of the router management component 102. In another embodiment, the router management component 102 may be implemented as a software component that is executed on one or more of the router components described below. Illustratively, the router management component 102 maintains and updates the FIB associated with the distributed routing environment 100. Additionally, the router management component 102 can allocate responsibility for portions of the FIB
entries to the various layers of the distributed routing environment 100, as will be described below. In one embodiment, the router management component 102 can partition the FIB
according to the distribution to the various router components of the distributed routing environment 100 and distribute respective portions of the FIB to be maintained in a memory associated with the various router components.
[0013] With continued reference to FIGURE 1A, the distributed routing environment 100 includes a first communication network 104 that transmits data packets to the distributed routing environment 100. The first communication network 104 may encompass any suitable combination of networking hardware and protocols necessary to establish packet-based communications to the distributed routing environment 100. For example, the communication network 104 may include private networks such as local area networks (LANs) or wide area networks (WANs) as well as public or private wireless networks. In such an embodiment, the communication network 104 may include the hardware (e.g., modems, routers, switches, load balancers, proxy servers, etc.) and software (e.g., protocol stacks, accounting software, firewall/security software, etc.) necessary to establish a networking link with the distributed routing environment 100. Additionally, the communication network 104 may implement one of various communication protocols for transmitting data between computing devices. As will be explained in greater detail below, the communication protocols can include protocols that define packet flow information, such as network address information corresponding to the Internet Protocol version 4 (IPv4) and the Internet Protocol version 6 (IPv6) Internet Layer communication network protocols. One skilled in the relevant art will appreciate, however, that present disclosure may be applicable with additional or alternative protocols and that the illustrated examples should not be construed as limiting.
[0014] In communication with the first communication network 104 is a first level of the distributed routing environment 100, generally referred to as the core layer or core level. In one embodiment, the core level corresponds to one or more logical router components, generally referred to as core level routers 106A, 106B, and 106C. As previously described, within the distributed routing environment 100, the core level routers 106A, 106B, 106C
receive an incoming packet from a component from the network 104 and process the destination address by identifying a distribution level router component based on a subset of the destination address associated with the received packet. Illustratively, the subset of the destination address can correspond to less than the entire destination IP address, such as the highest most values of the IP
address. As previously described, the core level routers 106A, 106B, 106C can correspond to logical router components implemented on one or more hardware components. In one embodiment, each logical router component can correspond with a dedicated physical router component. In another embodiment, each logical router component can correspond to a physical router component shared by at least one other logical router component in the distributed router environment 100. In an alternative embodiment, at least some portion of the core layer may be implemented by components outside the distributed routing environment 100. In such an embodiment, such external components would directly address a distribution level router component (described below) of the distributed routing environment 100.
[0015] The distributed routing environment 100 can further include a second level of logical router components, generally referred to as the distribution layer or distribution level. In one embodiment, the distribution level corresponds to one or more router components, generally referred to as distribution level routers 108A, 108B, and 108C. As previously described, within the distributed routing environment 100 the distribution level routers 108A, 108B and 108C

receiving an incoming packet from a core routing component 102 and process the destination address by identifying a transit level router component based on at least a subset of the destination address associated with the received packet. Illustratively, the subset of the destination address can correspond to a larger subset of the destination IP
address used by the core level routers 106A, 106B, 106C. In this embodiment, the routing preformed by the distribution level can correspond to a more refined routing of the received packet relative to the core level routing. As described above with the core level routers 106A, 106B, 106C, the distribution level routers 108A, 108B, and 108C can correspond to logical router components implemented on one or more hardware components. In one embodiment, each logical router component can correspond with a dedicated physical router component. In another embodiment, each logical router component can correspond to a physical router component shared by at least one other logical router component in the distributed router environment 100.
[0016] In communication with the distribution level router components is a third level of router components, generally referred to as the transmit layer or transit level. In one embodiment, the transit level corresponds to one or more router components, generally referred to as transit level routers 110A, 110B, and 110C. As previously described, the transit level routers 110A, 110B, 110C receive the forwarded packet from a distribution level router component 108A, 108B, 108C and forward the packet "upstream" to another communication network 112 node. Illustratively, each transit level router 110A, 110B, 110C
can be configured to communicate with one or more upstream peers such that all packets destined for an associated peer network component will be transmitted through the assigned transit level router 110A, 110B, 110C (or a redundant router). As described above with the core level routers 106A, 106B, 106C and the distribution level routers 108A, 108B and 108C, the transit level routers 110A, 110B, and 110C can correspond to logical router components implemented on one or more hardware components. In one embodiment, each logical router component can correspond with a dedicated physical router component. In another embodiment, each logical router component can correspond to a physical router component shared by at least one other logical router component in the distributed router environment 100 [0017] Similar to communication network 102, communication network 112 may encompass any suitable combination of networking hardware and protocols necessary to establish packet-based communications to the distributed routing environment 100. For example, the communication network 112 may include private networks such as local area networks (LANs) or wide area networks (WANs) as well as public or private wireless networks.
In such an embodiment, the communication network 112 may include the hardware (e.g., modems, routers, switches, load balancers, proxy servers, etc.) and software (e.g., protocol stacks, accounting software, firewall/security software, etc.) necessary to establish a networking link with the distributed routing environment 100. As described above with regard to the communication network 104, the communication network 112 may implement one of various communication protocols for transmitting data between computing devices. One skilled in the relevant art will appreciate, however, that present disclosure may be applicable with additional or alternative protocols and that the illustrated examples should not be construed as limiting.
[00181 In an illustrative embodiment, the logical router components (106, 108, 110) in FIGURE 1A may correspond to a computing device having processing resources, memory resources, networking interfaces, and other hardware/software for carrying the described functionality for each of the logical router components. With reference now to FIGURE 1B, a block diagram illustrative of components of a router component 150 utilized in accordance with the distributed routing environment 100 of FIGURE 1A will be described. The general architecture of the router component 150 depicted in FIGURE 1B includes an arrangement of computer hardware and software components that may .be used to implement one or more logical router components 106, 108, 110. Those skilled in the art will appreciate that the router component 150 may include many more (or fewer) components than those shown in FIGURE 1B. It is not necessary, however, that all of these generally conventional components be shown in order to provide an enabling disclosure.
[00191 As illustrated in FIGURE 1B, the router component 150 includes a processing unit 152, at least one network interface 156, and at least one computer readable medium drive 158, all of which may communicate with one another by way of a communication bus. The processing unit 152 may thus receive information and instructions from other computing systems or services via a network. The processing unit 152 may also be associated with a first memory component 154 for recalling information utilized in the processing of destination address information, such as at least a portion of a FIB associated with the distributed routing environment 100. The memory 154 generally includes RAM, ROM and/or other persistent memory. The processing unit 152 may also communicate to and from memory 160.
The network interface 156 may provide connectivity to one or more networks or computing systems.
The at least one computer readable medium drive 158 can also correspond to RAM, ROM, optical memory, and/or other persistent memory that may persists at least a portion of the FIB
associated with the distributed routing environment 100. In an illustrative embodiment, the access time associated with the memory component 154 may be faster than the access time associated with the computer readable medium driver 158. Still further, the computer readable medium drive 158 may be implemented in a networked environment in which multiple router components 150 share access to the information persisted on the computer readable medium drive 158.
[0020] The memory 160 contains computer program instructions that the processing unit 152 executes in order to operate the dynamic classifier. The memory 160 generally includes RAM, ROM and/or other persistent memory. The memory 160 may store an operating system 162 that provides computer program instructions for use by the processing unit 152 in the general administration and operation of the router component 150. The memory 160 may further include computer program instructions and other information for implementing one or more of the logical router components in the distributed routing environment 100. For example, in one embodiment, the memory 160 includes a router module 164 that implements the functionality associated with any of the routers 106, 108, 110. In the event that multiple logical routers are implemented by the same router component 150, memory 160 may have each instance of a router module 164.
[0021] In an illustrative embodiment, each router component 150 may be embodied as an individual hardware component for implementing one or more logical routers 106, 108, 110. Alternatively, multiple router components 150 may be grouped and implemented together.
For example, each router component 150 may correspond to an application-specific integrated circuit (ASIC) having a processing unit 152, memory 154 and memory 160 (or other components with similar functionality). The router components 150 may share one or more components, such as the network interface 156 and computer readable medium 158, via a common communication bus.

[0022] With reference now to FIGURES 2A-2C, the processing of receiving packets by the distributed routing environment 100 will be described. With reference first to FIGURE 2A, an incoming packet is received from the communication network 104 to a core level router 106. The core level router 106 that receives the incoming packet may be selected according to a variety of techniques including, but not limited to, load balancing, random selection, round robin, hashing, and other packet distribution techniques.
Upon receipt, the core level router 106 processes destination IP address and utilizes a subset of the destination IP
address to identify a second level destination router component that will perform a second level of routing. In an illustrative embodiment, the core level router 106 utilizes the most significant bits of the IP address, such as the eight most significant bits of the destination address. The selection of the subset of IP addresses corresponding to a selection of the most significant bits is generally referred to as prefix. For example, selection of the eight most significant bits corresponds to a prefix length of "8." Selection of the sixteen most significant bits corresponds to a prefix length of "16." One skilled in the relevant art will appreciate that the number of bits utilized by the core level router 106 may vary. Additionally, in an alternative embodiment, the core level router 106 may use different methodologies to allocate, or otherwise subdivide, the address space serviced by the distributed routing environment 100.
[0023] Based on the processing of the first subset of the destination address, the core level router 106 forwards the packet to a distribution level router, in this case illustratively 108A.
As previously described, the receiving distribution level router 108A
processes the destination address of the received packet and also utilizes a subset of the destination IP address to identify a third level router component that will forward the packet to a next network destination (outside of the distributed routing environment 100). Similar to the core level router 106, the receiving distribution level router can be configured to utilize a selection of the most significant bits of the IP address (e.g., the prefix) to route the packet. In an illustrative embodiment, the prefix used by the distribution level router 108A is greater than the prefix used by the core level router 106.
Based on the processing by the distribution level router 106A, the transit level router 110B
receives the forwarded packet and forwards the packet to a designated designation associated with the communication network 112.

[0024] Turning now to FIGURES 2B and 2C, the allocation of IP
addresses or subsets of IP addresses within the distributed routing environment 100 will be described. With reference to FIGURE 2B, the core level router 106 distributes some portion of the subset of destination IP addresses to distribution level router 108A (illustrated at 202). Distribution level router 108A in turn further distributes the portions of the IP addresses to transit level routers 110A, 110B, and 110C (illustrated at 204, 206, and 208). With reference to FIGURE 2C, the core level router 106 distributes a different portion of the subset of destination IP addresses to distribution level router 108B (illustrated at 210). Distribution level router 108B in turn further distributes the portions of the IP addresses to transit level routers 110A and 110B (illustrated at 212 and 214).
[0025] In an illustrative embodiment, the router management component (FIGURE 1) can allocate responsibility of subsets of IP addresses to the distribution level routers in a variety of manners. In one embodiment, the router management component 102 can allocate responsibility for the entire set of IP addresses in accordance with assignment of IP addresses equally, or substantially equally, among available routers. In this embodiment, each distribution level router 108 becomes responsible for an equal subset of IP addresses or substantially equal if the IP addresses cannot be divided equally. In another embodiment, the router management component 102 can specify specific distribution level router 108 to handle high traffic IP
addresses or prefixes. In this example, the entire subset of IP addresses may be custom selected by the router management component 102. Alternatively, only the subset of IP
addresses meeting a traffic threshold may be custom selected with the remaining portions of IP address automatically distributed.
[0026] In still a further embodiment, multiple distribution level routers 108 may be selected for a subset of IP addresses. In this embodiment, each core level router 106 can select from multiple distribution level routers 108 based on an equal cost multi-path routing (ECMP) technique in which a specific distribution level router 108 is selected based on a standard load sharing technique. Other factors that can be utilized to select from multiple assigned distribution level router 108 include carrier preference, Internet weather, resource utilization/health reports, an allocated or determine routing cost, service level agreements (SLAs), or other criteria.

[0027] In one embodiment, each distribution router 108 can maintain the portion of the FIB that is associated with the subset of IP addresses assigned the respective distribution level router 108. In another embodiment, each distribution level router 108 can maintain the entire FIB associated with the distributed routing environment 100 in a memory component, such as computer readable medium 158 (FIGURE 1B). Once a subset of IP addresses are assigned to each respective distribution level router 108 (or otherwise updated), the applicable portions of the FIB are loaded in a different memory components, such as memory component 154 (FIGURE 1B) utilized by the router (e.g., a routing chip level content addressable memory or a processor level cache memory). The maintenance of the applicable portions of the FIB in a memory component facilitates better router performance by faster memory access times for the applicable portion of the FIB. However, in this embodiment, the allocation of FIBs to each distribution level router 108 can be modified by loading different portions of the stored FIB from a first memory component storing the entire FIB (e.g., the computer readable medium 158) to the memory component maintaining the portion of the FIB allocated to the distribution level router 108 (e.g., memory component 154). Accordingly, this embodiment facilitates the dynamic allocation of distribution level routers 108, the creation of redundant distribution level routers, and additional failover for distribution level routers. Additionally, one or more core level routers 106 can utilize a similar technique in performing the functions associated with the core level of the distributed routing environment 100.
[0028] In still a further embodiment, as a variation to the above embodiment, each distribution level router can be allocated a larger portion of the FIB
associated with the distributed routing environment 100 than is capable of being maintained in a first memory component of the router, such as memory component 154 (e.g., a processor level cache memory).
If a core level router 106 routes to a distribution level router 108 and the corresponding prefixes of the destination IP address do not correspond to the FIB maintained in the first memory component of the distribution level router, the distribution level router can recall the necessary information from the larger subset of the FIB maintained in a different memory component (e.g., computer readable medium 158 (FIGURE 1B)). The FIB maintained in the first memory component (e.g., memory component 152) may be updated to store the prefix in the primary memory component. Alternatively, the FIB in the first memory component may not be
-11-automatically updated based on a single request, but based on increases in traffic for a given prefix.
[0029]
In yet another embodiment, lower traffic prefixes may be assigned to multiple distribution level routers 108. In one example, each assigned distribution level router 108 does not maintain the lower traffic routing portion of the assigned FIB in the primary memory component. Rather, routing requests for the lower traffic prefixes can be directed to a specific distribution level router based on selection techniques, such as ECMP, and can be processed by a selected distribution level router 108 based on the larger FIB maintained in a different memory component within the selected distribution level router.
[0030]
With reference now to FIGURE 3, a routine 300 for routing packets and implemented in a distributed routing environment 100 will be described. At block 302, the distributed routing environment 100 obtains a routing request. As previously described, the routing request is received from a first network 102 (FIGURE 1) and includes information identifying a destination IP address. At block 304, a core level router 106 corresponding to a first level of the distributed routing environment 100 is selected and receives the routing request.
In an illustrative embodiment, each core level router 106 can perform the same function and can selected in accordance with standard selection techniques, including, but not limited to, random selection, round robin selection, load balancing selection and the like.
[0031]
At block 306, the selected core level router 106 identifies a distribution level router 108 corresponding to a second level of the distributed routing environment 100. The core level router 108 selects the distribution level router 108 based on processing the destination IP
address and utilizing a subset of the destination IP addresses (e.g., the prefix) to determine the appropriate distribution level router 108. Illustratively, in accordance with an embodiment corresponding to the IPv4 communication protocol, the core level router 106 processing can be based on consideration of a prefix of the eight most significant bits. At block 308, the selected distribution level router 108 identifies a transit level router 110 based on processing the destination IP address and utilizing a subset of the destination IP address to determine the appropriate transit level router 110.
Illustratively, in accordance with an embodiment corresponding to the IPv4 communication protocol, the distribution level router 108 processing can be based on a larger subset of IP address (e.g., a longer prefix such as 16 or 24 bits, as needed
-12-to select the appropriate transit level router 110). One skilled in the relevant art will appreciate, however, the blocks 306 and 308 may be implemented in a manner such the core level router 106 and distribution level router 108 may utilize additional or alternative attributes (including different portions of a destination IP address) of received packets in identifying the next router component to forward the received packet.
[0032] At block 310, the selected transit level router 110 transmits the receive packet to the destination recipient associated, or otherwise configured, with the transit level router 110.
At block 312, the routine 300 terminates.
[0033] With reference now to FIGURE 4, another routine 400 for routing packets and implemented in a distributed routing environment 100 will be described. In an illustrative embodiment, routine 400 may be implemented in embodiments in which less than all the FIB
associated with a particular distribution router 108 is maintained in a primary memory component. At block 402, a routing request is received at a distribution level router 108. The selection and routing to a distribution level router 108 was previously described above. Although routine 400 will be described with regard to implementation by a distribution level router 108, one skilled in the relevant art will appreciate that at least portions of routine 400 may be implemented by other components of the distributed routing environment 100, such as core level routers 106 or transit level router 110. At decision block 404, a test is conducted to determine whether the subset of the destination IP address associated with the routing request is in the portion of the FIB table maintained in the primary memory of the selected distribution level router 108. If so, at block 406, the distribution level router 108 obtains the transit layer routing information from the FIB maintained in the first memory component (e.g., memory component 152 (FIGURE 1B)). At block 408, the distribution level router 108 forwards the packet to the selected transit level router 110.
[0034] Alternatively, if at decision block 404 the subset of the destination IP address associated with the routing request is not maintained in the portion of the FIB table maintained in the primary memory of the selected distribution level router 108, at block 410, distribution level router 108 attempts to obtain additional transit routing information from a separate memory component associated with the distribution level router. At block 410, the distribution level router 108 can update the forwarding table information maintained in the primary memory
-13-component with the information obtained from the other memory component.
Alternatively, block 410 can be omitted or is otherwise optional. At block 412, the routine terminates.
[0035] While illustrative embodiments have been disclosed and discussed, one skilled in the relevant art will appreciate that additional or alternative embodiments may be implemented within the spirit and scope of the present disclosure. Additionally, although many embodiments have been indicated as illustrative, one skilled in the relevant art will appreciate that the illustrative embodiments do not need to be combined or implemented together.
As such, some illustrative embodiments do not need to be utilized or implemented in accordance with the scope of variations to the present disclosure.
[0036] Conditional language, such as, among others, "can," "could,"
"might," or "may," unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, or steps. Thus, such conditional language is not generally intended to imply that features, elements or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements or steps are included or are to be performed in any particular embodiment. Moreover, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey utilization of the conjunction "or" in enumerating a list of elements does not limit the selection of only a single element and can include the combination of two or more elements.
[0037] Any process descriptions, elements, or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those skilled in the art. It will further be appreciated that the data and/or components described above may be stored on a computer-readable medium and loaded into memory of the computing device using a drive mechanism associated with a computer-readable medium storing
-14-
15 PCT/US2010/060567 the computer executable components, such as a CD-ROM, DVD-ROM, or network interface.
Further, the component and/or data can be included in a single device or distributed in any manner. Accordingly, general purpose computing devices may be configured to implement the processes, algorithms, and methodology of the present disclosure with the processing and/or execution of the various data and/or components described above.
Alternatively, some or all of the methods described herein may alternatively be embodied in specialized computer hardware.
In addition, the components referred to herein may be implemented in hardware, software, firmware or a combination thereof [0038] It should be emphasized that many variations and modifications may be made to the above-described embodiments, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims (43)

THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A system for routing packets comprising:
a router management component, executed on a computing device, for associating destination address information to a router hierarchy comprising a plurality of levels, wherein the router management component is configured to, for individual levels of the router hierarchy, dynamically allocate responsibility for portions of destination addresses of incoming packets to one or more router components of the individual level of the router hierarchy;
one or more router components corresponding to a first level of the router hierarchy, the first level of the router hierarchy for receiving the incoming packets for routing and transmitting the incoming packets to router components of a second level of the router hierarchy;
one or more router components corresponding to the second level of the hierarchy, the second level of the router hierarchy for routing the incoming packets received from the first level of a router hierarchy to router components of a third level of the router hierarchy, and wherein at least one router component corresponding to the second level is dynamically allocated responsibility for a portion of a first subset of each destination address of each incoming packet by the router management component based at least in part on the incoming packets;
one or more router components corresponding to the third level of the router hierarchy, the third level of the router hierarchy for routing the incoming packets received from the second level of the router hierarchy, wherein at least one router component corresponding to the third level is dynamically allocated responsibility for a portion of a second subset of each destination address of each incoming packet by the router management component based at least in part on the incoming packets;
wherein the one or more router components corresponding to the first level of the router hierarchy identifies one or more router components from the second level of the router hierarchy to which to route each packet of the incoming packets based at least in part on the first subset of each destination address associated with each packet, wherein the first subset is designated by the router management component; and wherein the one or more router components corresponding to the second level of the router hierarchy identifies one or more router components of the third level of the router hierarchy to which to route each packet of the incoming packets based at least in part on the second subset of each destination address associated with each incoming packet, wherein the second subset is designated by the router management component and wherein the second subset is greater than the first subset.
2. The system as recited in Claim 1, wherein the one or more router components corresponding to the second level of the router hierarchy are dynamically allocated responsibility for approximately equal portions of the first subset of each destination address of each incoming packet.
3. The system as recited in Claim 1, wherein the one or more router components corresponding to the second level of the router hierarchy are dynamically allocated responsibility for portions of the first subset of each destination address of each incoming packet based on traffic volumes attributed to the portions of the first subset.
4. The system as recited in Claim 1, wherein the one or more router components corresponding to the first level of a router hierarchy are selected in accordance with one of random selection, round robin selection, hashing and load balancing.
5. The system as recited in Claim 1, wherein each destination address corresponds to an IP address.
6. The system as recited in Claim 5, wherein first subset of each IP address corresponds to the eight most significant bits of each IP address.
7. The system as recited in Claim 5, wherein the second subset of each IP
address corresponds to at least one of the sixteen or twenty four most significant bits of each IP address.
8. The system as recited in Claim 1, wherein at least two of the one or more router components corresponding to the first level of the router hierarchy are implemented in a common physical router component.
9. The system as recited in Claim 1, wherein at least two of the one or more router components corresponding to the second level of the router hierarchy are implemented in a common physical router component.
10. The system as recited in Claim 1, wherein at least one physical router component implements at least two of a router component corresponding to the first level of the router hierarchy, a router component corresponding to the second level of the router hierarchy and a router component corresponding to the second level of the router hierarchy.
11. A system for routing packets comprising:
a first set of logical router components for receiving an incoming set of packets for routing;
a second set of logical router components for routing the set of packets received from the first set of router components;
a third set of logical router components for routing the set of packets received from the second set of router components;
wherein the first set of logical router components identify a router component from the second set of logical router components to which to route a first packet of the set of packets based at least in part on a dynamic assignment by a router management component of portions of a first subset of destination addresses associated with the incoming set of packets to individual router components from the second set of logical router components;
wherein each of the one or more router components corresponding to the second set of logical router components is dynamically assigned by the router management component to the portions of the first subset of the destination addresses associated with the incoming set of packets, wherein the dynamic assignment is based at least in part on the set of packets; and wherein the second set of logical router components identify a router component from the third set of logical router components to which to route the first packet based at least in part on a dynamic assignment by the router management component of portions of a second subset of destination addresses associated with the incoming set of packets to individual router components from the third set of logical router components.
12. The system as recited in Claim 11, wherein the dynamic assignment of router components from the second set of router components to portions of the first subset of the destination addresses is based at least in part on a substantially equal allocation of the destination addresses.
13. The system as recited in Claim 11, wherein dynamic assignment of router components from the second set of logical router components to portions of the first subset of the destination addresses is based at least in part on traffic volumes associated with the portions of the first subset of the destination addresses.
14. The system as recited in Claim 11, wherein the dynamic assignment of router components from the second set of logical router components to portions of the first subset of the destination addresses is based at least in part on a combination of traffic volumes associated with some portions of the first subset of the destination addresses and an equal allocation of remaining portions of the first subset of the destination addresses.
15. The system as recited in Claim 11, wherein each of the router components from the second set of logical router components is associated with a threshold number of destination addresses and wherein the dynamic assignment of router components from the second set of logical router components to portions of the first subset of the destination addresses is based on allocation of portions of the first subset of the destination addresses including a number of destination addresses greater than the threshold number of destination addresses .
16. The system as recited in Claim 11, wherein the dynamic assignment of router components from the second set of logical router components to portions of the first subset of the destination addresses is based on low traffic volumes associated with one or more of the portions of the first subset of the destination addresses.
17. The system as recited in Claim 11, wherein the dynamic assignment of router components from the second set of logical router components to portions of the first subset of the destination addresses includes an assignment of a plurality of router components for the same portion of the first subset of destination addresses.
18. The system as recited in Claim 11, wherein the first set of router components are selected in accordance with one of random selection, round robin selection, hash selection and load balancing.
19. The system as recited in Claim 11, wherein the destination addresses correspond to IP addresses.
20. The system as recited in Claim 19, wherein the first subset of the destination addresses corresponds to the eight most significant bits of the IP
addresses.
21. The system as recited in Claim 20, wherein the second subset of the destination addresses corresponds to at least one of the sixteen or twenty four most significant bits of the IP addresses.
22. The system as recited in Claim 11, wherein each of the first set of logical router components correspond to a physical router component.
23. The system as recited in Claim 11, wherein two or more of the first set of logical router components correspond to a single physical router component.
24. The system as recited in Claim 11, wherein each of the second set of logical router components correspond to a physical router component.
25. The system as recited in Claim 11, wherein two or more of the second set of logical router components correspond to a single physical router component.
26. The system as recited in Claim 11, wherein each of the third set of logical router components correspond to a physical router component.
27. The system as recited in Claim 11, wherein two or more of the third set of logical router components correspond to a single physical router component.
28. The system as recited in Claim 11, wherein at least one of the first set of logical router components, at least one of the second set of logical router components, and at least one of the third set of logical router components correspond to a single physical router component.
29. A method for routing packets comprising:
obtaining a routing request corresponding to a data packet received from a first communication network;

identifying a first router corresponding to a first level of a router hierarchy, the first level of the router hierarchy corresponding to one or more router components;
forwarding the received data packet to the identified first router;
identifying a second router corresponding to a second level of the router hierarchy, the second level of the router hierarchy corresponding to one or more router components;
forwarding the received data packet to the identified second router; and identifying a third router corresponding to a third level of the router hierarchy, the third level of the router hierarchy corresponding to one or more router components;
wherein identifying the second router is based at least in part on a dynamic assignment of the second router to a portion of a first subset of a destination address associated with the received data packet, and wherein the dynamic assignment is based at least in part on a set of previously received data packets;
and wherein identifying a third router is based at least in part on a dynamic assignment of the third router to a portion of a second subset of the destination address associated with the received data packet, and wherein the dynamic assignment is based at least in part on a set of previously received data packet.
30. The method as recited in Claim 29, wherein each of the one or more router components corresponding to the second level of the router hierarchy is dynamically assigned to a portion of the first subset of the destination address associated with the received packet.
31. The method as recited in Claim 30, wherein the dynamic assignment of routers from the second level of the router hierarchy to portions of the first subset of the destination address is based at least in part on at least a substantially equal allocation of portions of the first subset of the destination address associated with the received packet.
32. The method as recited in Claim 30, wherein the dynamic assignment of routers from the second level of the router hierarchy to portions of the first subset of the destination address is based at least in part on traffic volumes associated with the dynamically assigned portion of the first subset of the destination address associated with the received packet.
33. The method as recited in Claim 30, wherein the dynamic assignment of routers from the second level of the router hierarchy to portions of the first subset of the destination address is based on a combination of traffic volumes associated with some portions of the first subset of the destination addresses and an equal allocation of remaining portions of the first subset of the destination address.
34. The method as recited in Claim 30, wherein each of the routers from the second level of the router hierarchy is associated with a threshold number of destination addresses and wherein the dynamic assignment of routers from the second level of the router hierarchy to portions of the first subset of the destination address is at least in part based on allocation of portions of the first subset of the destination addresses including a number of destination addresses greater than the threshold number of destination addresses .
35. The method as recited in Claim 30, wherein the dynamic assignment of routers from the second level of the router hierarchy to portions of the first subset of the destination address is based on low traffic volumes associated with one or more of the portions of the first subset of the destination address.
36. The method as recited in Claim 30, wherein the dynamic assignment of routers from the second set of router components to portions of the first subset of the destination address includes an assignment of a plurality of routers for the same portion of the first subset of the destination address.
37. The method as recited in Claim 29, wherein first set of router components are selected in accordance with one of random selection, round robin selection, hash selection and load balancing.
38. The method as recited in Claim 29, wherein the destination address corresponds to an IP address.
39. The system of Claim 1, wherein the router management component is further configured, for individual levels of the router hierarchy, to distribute portions of a routing table containing address information for the incoming packets to router components of the individual level of the router hierarchy.
40. The system of Claim 39, wherein the portions of the routing table distributed to the router components of the first level of the router hierarchy are selected based at least in part on the portion of the first subset of each destination address for which the router components of the first level of the router hierarchy are assigned responsibility.
41. The system of Claim 39, wherein the portions of the routing table distributed to the router components of the second level of the router hierarchy are selected based at least in part on the portion of the second subset of each destination address for which the router components of the second level of the router hierarchy are assigned responsibility.
42. The system of Claim 11, wherein the router management component is further configured to distribute portions of a routing table to individual router components of the second set of logical router components based at least in part on the portion of the first subset of destination addresses for which the individual router components have been dynamically assigned.
43. The method of Claim 29 further comprising:
dividing a routing table including address information for forwarding the received data packet between levels of the routing hierarchy based at least in part on the portion of the first subset of the destination addresses dynamically assigned to the identified second router and the portion of the second subset of the destination addresses dynamically assigned to the identified third router;
distributing a first part of the divided routing table to the identified second router, wherein the first part includes address information corresponding to the portion of the first subset of the destination addresses dynamically assigned to the identified second router; and distributing a second part of the divided routing table to the identified third router, wherein the second part includes address information corresponding to the portion of the second subset of the destination addresses dynamically assigned to the identified third router.
CA2784699A 2009-12-17 2010-12-15 Distributed routing architecture Expired - Fee Related CA2784699C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/641,260 2009-12-17
US12/641,260 US8331371B2 (en) 2009-12-17 2009-12-17 Distributed routing architecture
PCT/US2010/060567 WO2011084515A1 (en) 2009-12-17 2010-12-15 Distributed routing architecture

Publications (2)

Publication Number Publication Date
CA2784699A1 CA2784699A1 (en) 2011-07-14
CA2784699C true CA2784699C (en) 2016-02-02

Family

ID=43719558

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2784699A Expired - Fee Related CA2784699C (en) 2009-12-17 2010-12-15 Distributed routing architecture

Country Status (8)

Country Link
US (4) US8331371B2 (en)
EP (1) EP2514151B1 (en)
JP (2) JP5964239B2 (en)
CN (1) CN102763380B (en)
CA (1) CA2784699C (en)
ES (1) ES2583014T3 (en)
SG (1) SG181695A1 (en)
WO (1) WO2011084515A1 (en)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
ES2326203B1 (en) 2007-07-23 2010-07-09 GAMESA INNOVATION & TECHNOLOGY, S.L. AEROGENERATOR SHOVEL WITH ARCHABLE ALERONS.
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8031627B2 (en) 2008-07-10 2011-10-04 At&T Intellectual Property I, L.P. Methods and apparatus to deploy and monitor network layer functionalities
US8117306B1 (en) 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US8051166B1 (en) 2008-09-29 2011-11-01 Amazon Technologies, Inc. Service provider optimization of content management
US8286176B1 (en) 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US9491085B2 (en) 2010-05-24 2016-11-08 At&T Intellectual Property I, L.P. Methods and apparatus to route control packets based on address partitioning
US8699484B2 (en) 2010-05-24 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to route packets in a network
US8611349B1 (en) 2010-06-28 2013-12-17 Amazon Technologies, Inc. Methods and apparatus for internet-scale routing using small-scale border routers
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US8873409B2 (en) * 2011-08-30 2014-10-28 Cisco Technology, Inc. Installing and using a subset of routes for forwarding packets
US9419842B1 (en) 2011-10-04 2016-08-16 Amazon Technologies, Inc. Dynamic network device configuration
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9491098B1 (en) 2013-11-18 2016-11-08 Amazon Technologies, Inc. Transparent network multipath utilization through encapsulation
US9419855B2 (en) * 2014-03-14 2016-08-16 Nicira, Inc. Static routes for logical routers
US9647883B2 (en) 2014-03-21 2017-05-09 Nicria, Inc. Multiple levels of logical routers
US9503321B2 (en) 2014-03-21 2016-11-22 Nicira, Inc. Dynamic routing for logical routers
US9787499B2 (en) 2014-09-19 2017-10-10 Amazon Technologies, Inc. Private alias endpoints for isolated virtual networks
US9722932B1 (en) 2014-10-28 2017-08-01 Amazon Technologies, Inc. Packet path selection using shuffle sharding
US9509616B1 (en) 2014-11-24 2016-11-29 Amazon Technologies, Inc. Congestion sensitive path-balancing
US10038741B1 (en) 2014-11-24 2018-07-31 Amazon Technologies, Inc. Selective enabling of sequencing for encapsulated network traffic
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10129180B2 (en) 2015-01-30 2018-11-13 Nicira, Inc. Transit logical switch within logical router
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US9934273B1 (en) 2015-06-10 2018-04-03 Amazon Technologies, Inc. Metadata synchronization in flow management systems
US9998955B1 (en) 2015-06-10 2018-06-12 Amazon Technologies, Inc. Multi-tier stateful network flow management architecture
US10749808B1 (en) 2015-06-10 2020-08-18 Amazon Technologies, Inc. Network flow management for isolated virtual networks
US10097454B1 (en) * 2015-06-10 2018-10-09 Amazon Technologies, Inc. Flexible packet rewriting framework
US10021196B1 (en) 2015-06-22 2018-07-10 Amazon Technologies, Inc. Private service endpoints in isolated virtual networks
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10230629B2 (en) 2015-08-11 2019-03-12 Nicira, Inc. Static route configuration for logical router
US10057157B2 (en) 2015-08-31 2018-08-21 Nicira, Inc. Automatically advertising NAT routes between logical routers
US10095535B2 (en) 2015-10-31 2018-10-09 Nicira, Inc. Static route types for logical routers
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
CN107347035B (en) 2016-05-06 2020-05-08 华为技术有限公司 Route searching method and device, distribution node, searching node and entry node
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10153973B2 (en) 2016-06-29 2018-12-11 Nicira, Inc. Installation of routing tables for logical router in route server mode
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10454758B2 (en) 2016-08-31 2019-10-22 Nicira, Inc. Edge node cluster network redundancy and fast convergence using an underlay anycast VTEP IP
US10341236B2 (en) 2016-09-30 2019-07-02 Nicira, Inc. Anycast edge service gateways
US10616250B2 (en) 2016-10-05 2020-04-07 Amazon Technologies, Inc. Network addresses with encoded DNS-level information
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10447581B2 (en) * 2017-02-28 2019-10-15 Nicira, Inc. Failure handling at logical routers according to a non-preemptive mode
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
JP6743771B2 (en) 2017-06-23 2020-08-19 株式会社デンソー Network switch
JP6904846B2 (en) * 2017-08-07 2021-07-21 キヤノン株式会社 Communication equipment, control method of communication equipment, and programs
US10536383B2 (en) * 2017-09-19 2020-01-14 Nicira, Inc. Attribute enhancement for handling network packet traffic between micro segmented guests
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US11140020B1 (en) 2018-03-01 2021-10-05 Amazon Technologies, Inc. Availability-enhancing gateways for network traffic in virtualized computing environments
US11082338B1 (en) 2018-04-17 2021-08-03 Amazon Technologies, Inc. Distributed connection state tracking for large-volume network flows
US10805199B1 (en) 2018-06-27 2020-10-13 Amazon Technologies, Inc. Testing forwarding information in a network switch
US10812364B1 (en) 2018-06-27 2020-10-20 Amazon Technologies, Inc. Testing forwarding states of a network device using probe detection and reflection
US11563668B1 (en) 2018-06-27 2023-01-24 Amazon Technologies, Inc. Network devices using probes to test forwarding rules
US10700957B1 (en) 2018-06-27 2020-06-30 Amazon Technologies, Inc. Network devices using probes to test forwarding rules
US10785139B1 (en) * 2018-06-27 2020-09-22 Amazon Technologies, Inc. Network devices using probes to test forwarding rules
JP6939726B2 (en) * 2018-07-17 2021-09-22 日本電信電話株式会社 Attack response location selection device and attack response location selection method
CN108920728B (en) * 2018-08-03 2020-04-07 山东众阳健康科技集团有限公司 Data routing method, data routing network and data access method and system thereof
US11108687B1 (en) 2018-09-12 2021-08-31 Amazon Technologies, Inc. Scalable network function virtualization service
US10785146B2 (en) 2018-09-19 2020-09-22 Amazon Technologies, Inc. Scalable cell-based packet processing service using client-provided decision metadata
US10897417B2 (en) 2018-09-19 2021-01-19 Amazon Technologies, Inc. Automated route propagation among networks attached to scalable virtual traffic hubs
US10742446B2 (en) 2018-09-19 2020-08-11 Amazon Technologies, Inc. Interconnecting isolated networks with overlapping address ranges via scalable virtual traffic hubs
US10834044B2 (en) 2018-09-19 2020-11-10 Amazon Technologies, Inc. Domain name system operations implemented using scalable virtual traffic hub
US10797989B2 (en) 2018-09-19 2020-10-06 Amazon Technologies, Inc. Scalable virtual traffic hub interconnecting isolated networks
US10868748B1 (en) 2018-09-27 2020-12-15 Amazon Technologies, Inc. Testing forwarding states on multiple pipelines of a network device
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US10893004B2 (en) 2018-11-20 2021-01-12 Amazon Technologies, Inc. Configurable detection of network traffic anomalies at scalable virtual traffic hubs
US10742554B2 (en) 2018-11-20 2020-08-11 Amazon Technologies, Inc. Connectivity management using multiple route tables at scalable virtual traffic hubs
US10757009B2 (en) 2018-11-20 2020-08-25 Amazon Technologies, Inc. Global-scale connectivity using scalable virtual traffic hubs
US10931560B2 (en) 2018-11-23 2021-02-23 Vmware, Inc. Using route type to determine routing protocol behavior
US10797998B2 (en) 2018-12-05 2020-10-06 Vmware, Inc. Route server for distributed routers using hierarchical routing protocol
US10938788B2 (en) 2018-12-12 2021-03-02 Vmware, Inc. Static routes for policy-based VPN
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system
US10848418B1 (en) 2019-06-24 2020-11-24 Amazon Technologies, Inc. Packet processing service extensions at remote premises
US11088944B2 (en) 2019-06-24 2021-08-10 Amazon Technologies, Inc. Serverless packet processing service with isolated virtual network integration
US11296981B2 (en) 2019-06-24 2022-04-05 Amazon Technologies, Inc. Serverless packet processing service with configurable exception paths
US11108686B1 (en) 2019-06-28 2021-08-31 Amazon Technologies, Inc. Port allocation at distributed network address translators
CN111624910B (en) * 2020-05-20 2021-08-17 广州思林杰网络科技有限公司 Battery storage monitoring device and method and storage medium
US11153195B1 (en) 2020-06-08 2021-10-19 Amazon Techologies, Inc. Packet processing service configuration change propagation management
US11601365B2 (en) 2021-03-30 2023-03-07 Amazon Technologies, Inc. Wide area networking service using provider network backbone network
US11310155B1 (en) * 2021-03-30 2022-04-19 Amazon Technologies, Inc. Virtual router workload offloading
US11824773B2 (en) 2021-03-30 2023-11-21 Amazon Technologies, Inc. Dynamic routing for peered virtual routers
US11799950B1 (en) 2022-03-28 2023-10-24 Amazon Technologies, Inc. Seamless migration of packet processing workloads between exception path node groups
US11665090B1 (en) 2022-03-28 2023-05-30 Amazon Technologies, Inc. Using fast-path nodes of packet processing services as intermediaries for workload migration workflows
CN115118652A (en) * 2022-07-18 2022-09-27 中信百信银行股份有限公司 Route distribution method, device and equipment and storage medium

Family Cites Families (226)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04310188A (en) * 1991-03-01 1992-11-02 Internatl Business Mach Corp <Ibm> Library service method for document/image library
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
AU5386796A (en) 1995-04-11 1996-10-30 Kinetech, Inc. Identifying data in a data processing system
SE507138C2 (en) * 1996-10-14 1998-04-06 Mirror Image Internet Ab Procedure and apparatus for information transmission on the Internet
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6714975B1 (en) 1997-03-31 2004-03-30 International Business Machines Corporation Method for targeted advertising on the web based on accumulated self-learning data, clustering users and semantic node graph techniques
US6173322B1 (en) 1997-06-05 2001-01-09 Silicon Graphics, Inc. Network request distribution based on static rules and dynamic performance data
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
AU1940199A (en) 1997-12-24 1999-07-19 America Online, Inc. Asynchronous data protocol
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US7054935B2 (en) 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
US7949779B2 (en) 1998-02-10 2011-05-24 Level 3 Communications, Llc Controlling subscriber information rates in a content delivery network
US6438592B1 (en) * 1998-02-25 2002-08-20 Michael G. Killian Systems for monitoring and improving performance on the world wide web
US6243761B1 (en) 1998-03-26 2001-06-05 Digital Equipment Corporation Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server
US7466703B1 (en) 1998-05-01 2008-12-16 Alcatel-Lucent Usa Inc. Scalable high speed router apparatus
US7103640B1 (en) 1999-09-14 2006-09-05 Econnectix, Llc Network distributed tracking wire transfer protocol
US6256398B1 (en) * 1998-08-22 2001-07-03 Kenneth H. P. Chang Encoding and decoding a message within an image
US6529910B1 (en) 1998-09-18 2003-03-04 David E. Fleskes Apparatus and method for automatically generating worldwide web pages based on real world domain data
US6182125B1 (en) 1998-10-13 2001-01-30 3Com Corporation Methods for determining sendable information content based on a determined network latency
JP2000155736A (en) 1998-11-24 2000-06-06 Nec Corp Method for distributing service request and address converting device
US6473804B1 (en) 1999-01-15 2002-10-29 Grischa Corporation System for indexical triggers in enhanced video productions by redirecting request to newly generated URI based on extracted parameter of first URI
US6192051B1 (en) * 1999-02-26 2001-02-20 Redstone Communications, Inc. Network router search engine using compressed tree forwarding table
US20020135611A1 (en) 1999-03-04 2002-09-26 Trevor Deosaran Remote performance management to accelerate distributed processes
US6907566B1 (en) 1999-04-02 2005-06-14 Overture Services, Inc. Method and system for optimum placement of advertisements on a webpage
US6978418B1 (en) 1999-04-13 2005-12-20 Hewlett-Packard Development Company, L.P. Dynamic-adaptive client-side image map
US7096193B1 (en) 1999-05-21 2006-08-22 Servicemagic, Inc. Facilitating commerce among consumers and service providers by matching ready-to-act consumers and pre-qualified service providers
US6560610B1 (en) * 1999-08-10 2003-05-06 Washington University Data structure using a tree bitmap and method for rapid classification of data in a database
US20060179080A1 (en) 1999-08-30 2006-08-10 Meek Brian G System for management of source and derivative data
US7120871B1 (en) * 1999-09-15 2006-10-10 Actv, Inc. Enhanced video programming system and method utilizing a web page staging area
US6691604B1 (en) * 1999-09-28 2004-02-17 Caterpillar Inc Hydraulic system with an actuator having independent meter-in meter-out control
US6377257B1 (en) 1999-10-04 2002-04-23 International Business Machines Corporation Methods and apparatus for delivering 3D graphics in a networked environment
US7523181B2 (en) 1999-11-22 2009-04-21 Akamai Technologies, Inc. Method for determining metrics of a content delivery and global traffic management network
US7139728B2 (en) 1999-12-30 2006-11-21 Rod Rigole Systems and methods for online selection of service providers and management of service accounts
US7748005B2 (en) * 2000-01-28 2010-06-29 Hewlett-Packard Development Company, L.P. System and method for allocating a plurality of resources between a plurality of computing domains
US6553419B1 (en) * 2000-02-02 2003-04-22 International Business Machines Corporation System and method for computer system performance data pause and resume consuming minimum display area
US7327683B2 (en) * 2000-03-16 2008-02-05 Sri International Method and apparatus for disseminating topology information and for discovering new neighboring nodes
WO2001071556A1 (en) 2000-03-22 2001-09-27 British Telecommunications Public Limited Company Data access
US7650376B1 (en) * 2000-03-27 2010-01-19 Blumenau Trevor I Content distribution system for distributing content over a network, with particular applicability to distributing high-bandwidth content
US20050021862A1 (en) 2000-03-31 2005-01-27 Dickens Coal Llc Automatic selection of content-delivery provider using link mapping database
US7024466B2 (en) 2000-04-07 2006-04-04 Movielink, Llc Network configured for delivery of content for download to a recipient
US6697805B1 (en) 2000-04-14 2004-02-24 Microsoft Corporation XML methods and systems for synchronizing multiple computing devices
US7240100B1 (en) * 2000-04-14 2007-07-03 Akamai Technologies, Inc. Content delivery network (CDN) content server request handling mechanism with metadata framework support
US6996616B1 (en) * 2000-04-17 2006-02-07 Akamai Technologies, Inc. HTML delivery from edge-of-network servers in a content delivery network (CDN)
US7555542B1 (en) 2000-05-22 2009-06-30 Internap Network Services Corporation Method and system for directing requests for content to a content server based on network performance
US8719562B2 (en) 2002-10-25 2014-05-06 William M. Randle Secure service network and user gateway
US20030182413A1 (en) 2000-06-02 2003-09-25 Allen Matthew Robert System and method for selecting a service provider
EP1164752A1 (en) * 2000-06-13 2001-12-19 Motorola, Inc. Method for performing hierarchical address translation
US7346676B1 (en) 2000-07-19 2008-03-18 Akamai Technologies, Inc. Load balancing service
US7725602B2 (en) 2000-07-19 2010-05-25 Akamai Technologies, Inc. Domain name resolution using a distributed DNS network
US20020165912A1 (en) 2001-02-25 2002-11-07 Storymail, Inc. Secure certificate and system and method for issuing and using same
US6920498B1 (en) 2000-08-31 2005-07-19 Cisco Technology, Inc. Phased learning approach to determining closest content serving sites
US20020116491A1 (en) 2000-09-01 2002-08-22 Boyd Eric L. Method and system for probing a network
US6698013B1 (en) * 2000-10-04 2004-02-24 Mintaka Technology Group Real time monitoring system for tracking and documenting changes made by programmer's during maintenance or development of computer readable code on a line by line basis and/or by point of focus
US7756032B2 (en) * 2000-10-17 2010-07-13 Avaya Inc. Method and apparatus for communicating data within measurement traffic
US6983331B1 (en) 2000-10-17 2006-01-03 Microsoft Corporation Selective display of content
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US20020150094A1 (en) * 2000-10-27 2002-10-17 Matthew Cheng Hierarchical level-based internet protocol multicasting
US7111057B1 (en) 2000-10-31 2006-09-19 Akamai Technologies, Inc. Method and system for purging content from a content delivery network
US7117262B2 (en) 2000-11-01 2006-10-03 Inktomi Corporation Cooperative management of distributed network caches
US7009943B2 (en) * 2000-11-02 2006-03-07 Polycom, Inc. Conferencing network resource management for call connectivity
US20020112049A1 (en) 2000-12-14 2002-08-15 International Business Machines Corporation Measuring response time for a computer accessing information from a network
US6751673B2 (en) 2001-01-03 2004-06-15 Akamai Technologies, Inc. Streaming media subscription mechanism for a content delivery network
US7096266B2 (en) 2001-01-08 2006-08-22 Akamai Technologies, Inc. Extending an Internet content delivery network into an enterprise
TWI223942B (en) 2001-02-20 2004-11-11 Li Jian Min Contents transmission network system and creating method thereof
EP1388073B1 (en) 2001-03-01 2018-01-10 Akamai Technologies, Inc. Optimal route selection in a content delivery network
JP2002335274A (en) * 2001-03-06 2002-11-22 Fujitsu Ltd Packet relaying apparatus and relaying method
US7840652B2 (en) * 2001-03-21 2010-11-23 Ascentive Llc System and method for determining network configuration settings that provide optimal network performance
US7085825B1 (en) * 2001-03-26 2006-08-01 Freewebs Corp. Apparatus, method and system for improving application performance across a communications network
US7664119B2 (en) * 2001-03-30 2010-02-16 Intel Corporation Method and apparatus to perform network routing
US20020143798A1 (en) * 2001-04-02 2002-10-03 Akamai Technologies, Inc. Highly available distributed storage system for internet content with storage site redirection
US7149797B1 (en) 2001-04-02 2006-12-12 Akamai Technologies, Inc. Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP)
US7065587B2 (en) 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US20020178330A1 (en) 2001-04-19 2002-11-28 Schlowsky-Fischer Mark Harold Systems and methods for applying a quality metric to caching and streaming of multimedia files over a network
US20020161767A1 (en) 2001-04-30 2002-10-31 Shapiro Aaron M. System and method for updating content on a plurality of content server computers over a network
US7185052B2 (en) 2001-05-16 2007-02-27 Akamai Technologies, Inc. Meta content delivery network system
US7146560B2 (en) * 2001-05-18 2006-12-05 Xerox Corporation Systems and methods for managing identity information
US7159014B2 (en) * 2001-06-04 2007-01-02 Fineground Networks Method and system for efficient and automated version management of embedded objects in web documents
US7320131B1 (en) * 2001-06-06 2008-01-15 Cisco Technology, Inc. Methods and apparatus for selecting a server to process a request
US7343399B2 (en) * 2001-06-25 2008-03-11 Nortel Networks Limited Apparatus and method for managing internet resource requests
US7024477B2 (en) * 2001-06-29 2006-04-04 International Business Machines Corporation Service time analysis methods for the WSM QOS monitor
WO2003007186A2 (en) 2001-07-09 2003-01-23 Ad4Ever Inc. Method and system for allowing cross-communication between first and second areas of a primary web page
US6981029B1 (en) * 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US6633324B2 (en) * 2001-07-31 2003-10-14 Forgent Networks, Inc. System and method for video call configuration and scheduling
US7023465B2 (en) * 2001-07-31 2006-04-04 Tandberg Telecom As System and method for communication device configuration, scheduling and access control
JP3748216B2 (en) * 2001-08-02 2006-02-22 日本電信電話株式会社 Packet transfer method and packet transmitter / receiver
US7185084B2 (en) 2001-09-05 2007-02-27 Intel Corporation Server-side measurement of client-perceived quality of service
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
CA2408766A1 (en) 2001-10-17 2003-04-17 Telecommunications Research Laboratory Content delivery network bypass system
ITTO20011082A1 (en) 2001-11-19 2003-05-19 Telecom Italia Lab Spa PROCEDURE TO CHECK THE FUNCTIONALITY OF A CDN NETWORK, ITS SYSTEM AND IT PRODUCT.
US6954456B2 (en) 2001-12-14 2005-10-11 At & T Corp. Method for content-aware redirection and content renaming
US7257625B2 (en) 2001-12-21 2007-08-14 Nokia, Inc. Cache on demand
US20030135509A1 (en) 2002-01-11 2003-07-17 Davis Andrew Thomas Edge server java application framework having application server instance resource monitoring and management
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US7065496B2 (en) * 2002-02-13 2006-06-20 Tangoe, Inc. System for managing equipment, services and service provider agreements
US9167036B2 (en) * 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
EP1485827A2 (en) * 2002-02-14 2004-12-15 Transwitch Corporation Efficient ipv4/ipv6 best matching prefix method and apparatus
US7290008B2 (en) 2002-03-05 2007-10-30 Exigen Group Method to extend a uniform resource identifier to encode resource identifiers
US7096498B2 (en) 2002-03-08 2006-08-22 Cipher Trust, Inc. Systems and methods for message threat management
US7254634B1 (en) 2002-03-08 2007-08-07 Akamai Technologies, Inc. Managing web tier session state objects in a content delivery network (CDN)
US7088718B1 (en) 2002-03-19 2006-08-08 Cisco Technology, Inc. Server load balancing using IP option field approach to identify route to selected server
US7133905B2 (en) 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
US9137324B2 (en) * 2002-04-10 2015-09-15 International Business Machines Corporation Capacity on-demand in distributed computing environments
US7114160B2 (en) 2002-04-17 2006-09-26 Sbc Technology Resources, Inc. Web content customization via adaptation Web services
GB0208922D0 (en) 2002-04-19 2002-05-29 Ibm Cache memory arrangement and methods for use in a cache memory system
ITTO20020341A1 (en) 2002-04-19 2003-10-20 Telecom Italia Lab Spa PROCEDURE FOR CARRYING OUT THE INTERLAPHY BETWEEN NETWORKS OF THE CONTENT DELIVERY NETWORK -CDN- TYPE, RELATIVE NETWORK SET AND INTERFAC COMPONENT
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US20040194085A1 (en) * 2002-05-09 2004-09-30 Globespanvirata Incorporated Method and system for providing capability management and prioritization in a computer system
US7269657B1 (en) * 2002-05-10 2007-09-11 Rockwell Collins, Inc. Method and system for providing a mobile IP network with non-path dependent intra domain quality of service
CA2481029A1 (en) 2002-05-14 2003-11-27 Akamai Technologies, Inc. Enterprise content delivery network having a central controller for coordinating a set of content servers
US20030221000A1 (en) * 2002-05-16 2003-11-27 Ludmila Cherkasova System and method for measuring web service performance using captured network packets
US7899067B2 (en) * 2002-05-31 2011-03-01 Cisco Technology, Inc. Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match
US7747729B2 (en) 2002-06-14 2010-06-29 Hanoch Levy Determining client latencies over a network
JP3957570B2 (en) 2002-06-17 2007-08-15 日本電気株式会社 Router device
US7120874B2 (en) * 2002-06-18 2006-10-10 National Instruments Corporation Filtering graphical program elements based on configured or targeted resources
AU2002368059A1 (en) 2002-06-28 2004-01-19 Nokia Corporation Communicating information associated with provisioning of a service, over a user plane connection
US7395355B2 (en) 2002-07-11 2008-07-01 Akamai Technologies, Inc. Method for caching and delivery of compressed content in a content delivery network
US20030149581A1 (en) * 2002-08-28 2003-08-07 Imran Chaudhri Method and system for providing intelligent network content delivery
US6826661B2 (en) * 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
US7961736B2 (en) * 2002-09-26 2011-06-14 Sharp Laboratories Of America, Inc. Convergence and classification of data packets in a centralized communication system
US20040064558A1 (en) * 2002-09-26 2004-04-01 Hitachi Ltd. Resource distribution management method over inter-networks
US6975963B2 (en) * 2002-09-30 2005-12-13 Mcdata Corporation Method and system for storing and reporting network performance metrics using histograms
US7310686B2 (en) * 2002-10-27 2007-12-18 Paxfire, Inc. Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US7362772B1 (en) 2002-12-13 2008-04-22 Nvidia Corporation Network processing pipeline chipset for routing and host packet processing
US20040221034A1 (en) 2002-12-18 2004-11-04 Kausik Balas Natarajan Centralized measurement of web performance
US7782778B2 (en) 2002-12-24 2010-08-24 Samir Satish Sheth Apparatus and method for fibre channel distance extension embedded within an optical transport system
US7752301B1 (en) * 2003-01-23 2010-07-06 Gomez Acquisition Corporation System and interface for monitoring information technology assets
US20040167981A1 (en) 2003-02-25 2004-08-26 Douglas Christopher Paul Method and system for monitoring relationships between content devices in a content delivery network
US7483430B1 (en) * 2003-02-28 2009-01-27 Cisco Technology, Inc. Hierarchical hash method for performing forward route lookup
US20040205162A1 (en) 2003-04-11 2004-10-14 Parikh Jay G. Method of executing an edge-enabled application in a content delivery network (CDN)
WO2004104838A1 (en) 2003-05-21 2004-12-02 Fujitsu Limited Data access response system, storage system, client device, cache device, and data access response system access method
WO2005001739A2 (en) 2003-06-11 2005-01-06 Draeger Medical Systems, Inc. A portable patient monitoring system including location identification capability
US20050010668A1 (en) * 2003-07-07 2005-01-13 Shiwen Chen Traversable network address translation with hierarchical internet addressing architecture
US7581224B2 (en) * 2003-07-10 2009-08-25 Hewlett-Packard Development Company, L.P. Systems and methods for monitoring resource utilization and application performance
JP4421230B2 (en) * 2003-08-12 2010-02-24 株式会社日立製作所 Performance information analysis method
WO2005036820A1 (en) 2003-10-16 2005-04-21 Maxxian Technology Inc. Method and system for detecting and preventing unauthorized signal usage in a content delivery network
US8191160B2 (en) 2003-10-16 2012-05-29 Rene Juneau Method and system for auditing and correcting authorization inconsistencies for reception equipment in a content delivery network
US7565655B2 (en) * 2003-10-17 2009-07-21 International Business Machines Corporation Methods and systems for control discovery in computing systems
US7412709B2 (en) 2003-11-07 2008-08-12 International Business Machines Corporation Method and apparatus for managing multiple data processing systems using existing heterogeneous systems management software
JP4516306B2 (en) * 2003-11-28 2010-08-04 株式会社日立製作所 How to collect storage network performance information
US9032096B2 (en) * 2003-12-17 2015-05-12 Cisco Technology, Inc. Reducing the impact of network latency on application performance
US8694609B2 (en) 2004-02-18 2014-04-08 Alcatel Lucent Method and apparatus for improving wireless data networks performance
US7773596B1 (en) * 2004-02-19 2010-08-10 Juniper Networks, Inc. Distribution of traffic flow criteria
US7502036B2 (en) 2004-03-03 2009-03-10 Virtual Iris Studios, Inc. System for delivering and enabling interactivity with images
US20050229119A1 (en) 2004-04-07 2005-10-13 Nokia Corporation Method for the presentation and selection of document links in small screen electronic devices
US7606236B2 (en) * 2004-05-21 2009-10-20 Intel Corporation Forwarding information base lookup method
US20050273507A1 (en) * 2004-06-08 2005-12-08 Yong Yan Method and system for managing heterogeneous resources across a distributed computer network
US20060036720A1 (en) 2004-06-14 2006-02-16 Faulk Robert L Jr Rate limiting of events
US7921226B2 (en) 2004-07-20 2011-04-05 Alcatel-Lucent Usa Inc. User specific request redirection in a content delivery network
US20060020714A1 (en) 2004-07-22 2006-01-26 International Business Machines Corporation System, apparatus and method of displaying images based on image content
US7382260B2 (en) 2004-09-01 2008-06-03 Microsoft Corporation Hot swap and plug-and-play for RFID devices
US20060059246A1 (en) 2004-09-10 2006-03-16 Grove Adam J System and method for connection optimization
US20070271375A1 (en) 2004-09-27 2007-11-22 Symphoniq Corporation Method and apparatus for monitoring real users experience with a website capable of using service providers and network appliances
US20060085536A1 (en) 2004-09-30 2006-04-20 International Business Machines Corporation System and method for sharing data polling and buffering for multiple requesters
US7478429B2 (en) 2004-10-01 2009-01-13 Prolexic Technologies, Inc. Network overload detection and mitigation system and method
US8671457B2 (en) 2004-10-15 2014-03-11 Maxxian Technology Inc. Method and system for identifying and correcting location discrepancies for reception equipment in a content delivery network
CN101044463B (en) 2004-10-20 2010-08-18 意大利电信股份公司 Method and system for monitoring performance of a client-server architecture
US8145908B1 (en) 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
US20060120385A1 (en) 2004-12-02 2006-06-08 Atchison Darrell T Method and system for creating and managing multiple subscribers of a content delivery network
WO2006084071A2 (en) * 2005-02-04 2006-08-10 Level 3 Communications, Inc. Ethernet-based systems and methods for improved network routing
US8064467B2 (en) * 2005-02-04 2011-11-22 Level 3 Communications, Llc Systems and methods for network routing in a multiple backbone network architecture
US7703114B2 (en) 2005-02-25 2010-04-20 Microsoft Corporation Television system targeted advertising
US20060206586A1 (en) 2005-03-09 2006-09-14 Yibei Ling Method, apparatus and system for a location-based uniform resource locator
US8589561B2 (en) * 2005-03-22 2013-11-19 Alcatel Lucent Session level technique for improving web browsing performance on low speed links
JP2006279466A (en) * 2005-03-29 2006-10-12 Fujitsu Ltd System, program, and method for monitoring
US7685270B1 (en) * 2005-03-31 2010-03-23 Amazon Technologies, Inc. Method and apparatus for measuring latency in web services
GB0506560D0 (en) 2005-03-31 2005-05-04 Univ Court Of The Univeresity Method of operating a telecommunications network
US7519200B2 (en) * 2005-05-09 2009-04-14 Like.Com System and method for enabling the use of captured images through recognition
US20060259690A1 (en) 2005-05-10 2006-11-16 Cisco Technology, Inc. Methods and system for prepositioning frequently accessed web content
US7801881B1 (en) 2005-05-31 2010-09-21 Google Inc. Sitemap generating client for web crawler
US7853871B2 (en) * 2005-06-10 2010-12-14 Nokia Corporation System and method for identifying segments in a web resource
US8082348B1 (en) 2005-06-17 2011-12-20 AOL, Inc. Selecting an instance of a resource using network routability information
GB0513045D0 (en) 2005-06-27 2005-08-03 Vidus Ltd Resource scheduling method and system
KR100663546B1 (en) 2005-07-08 2007-01-02 주식회사 케이티 A malignant bot confrontation method and its system
US7707173B2 (en) 2005-07-15 2010-04-27 International Business Machines Corporation Selection of web services by service providers
US20070050703A1 (en) 2005-08-26 2007-03-01 Pierre Lebel Methods, systems and computer program products for analyzing a hypertext markup language (HTML) document
US7979509B1 (en) 2005-09-15 2011-07-12 Juniper Networks, Inc. Clustered network acceleration devices having shared cache
US7904875B2 (en) * 2005-12-12 2011-03-08 Microsoft Corporation Configuring and allocating software product technical services
US8140695B2 (en) 2005-12-12 2012-03-20 International Business Machines Corporation Load balancing and failover of distributed media resources in a media server
US20070174490A1 (en) 2006-01-25 2007-07-26 Greystripe Inc. System and methods for managing content in pre-existing mobile applications
US7873065B1 (en) 2006-02-01 2011-01-18 F5 Networks, Inc. Selectively enabling network packet concatenation based on metrics
WO2007091243A2 (en) 2006-02-07 2007-08-16 Mobixell Networks Ltd. Matching of modified visual and audio media
KR100781516B1 (en) 2006-02-21 2007-12-03 삼성전자주식회사 Apparatus and method for displaying object according to request order
US20070198982A1 (en) 2006-02-21 2007-08-23 International Business Machines Corporation Dynamic resource allocation for disparate application performance requirements
US20070220010A1 (en) 2006-03-15 2007-09-20 Kent Thomas Ertugrul Targeted content delivery for networks
US20070219795A1 (en) * 2006-03-20 2007-09-20 Park Joseph C Facilitating content generation via paid participation
US20070245010A1 (en) * 2006-03-24 2007-10-18 Robert Arn Systems and methods for multi-perspective optimization of data transfers in heterogeneous networks such as the internet
US20070250611A1 (en) * 2006-04-20 2007-10-25 Bhogal Kulvir S Method of and System for Providing Performance Information in a UDDI System
US20070253377A1 (en) 2006-04-28 2007-11-01 Motorola, Inc. Apparatus and method for name resolution in an aggregation of mobile networks
JP4961833B2 (en) 2006-05-19 2012-06-27 日本電気株式会社 Cluster system, load balancing method, optimization client program, and arbitration server program
US7522595B2 (en) * 2006-06-16 2009-04-21 Cisco Technology, Inc. Communicating packets between forwarding contexts using virtual interfaces
US7787380B1 (en) * 2006-06-30 2010-08-31 Juniper Networks, Inc. Resource reservation protocol with traffic engineering point to multi-point label switched path hierarchy
US7995576B2 (en) 2006-07-31 2011-08-09 Cisco Technology, Inc. Method and system for reducing latency in a multi-channel multicast streaming environment in content-delivery networks
WO2008046021A2 (en) 2006-10-11 2008-04-17 Stewart Jeffrey A System and method for conveying content changes over a network
US20080104502A1 (en) 2006-10-26 2008-05-01 Yahoo! Inc. System and method for providing a change profile of a web page
JP4317995B2 (en) * 2007-05-11 2009-08-19 テクトロニクス・インコーポレイテッド Stream analysis apparatus and stream analysis display method
US7889921B2 (en) 2007-05-23 2011-02-15 Eastman Kodak Company Noise reduced color image using panchromatic image
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US20090031376A1 (en) 2007-07-24 2009-01-29 The Directv Group, Inc. Method and system for managing content in a content processing system having multiple content delivery networks
US20090031367A1 (en) 2007-07-24 2009-01-29 The Directv Group, Inc. Method and system for utilizing multiple content delivery networks for distributing content
US10097291B2 (en) 2007-07-24 2018-10-09 The Directv Group, Inc. Method and system for distributing content using device-specific content delivery networks
US8793748B2 (en) 2007-07-26 2014-07-29 The Directv Group, Inc. Method and system for controlling communication between a user device and a content delivery network
JP4782100B2 (en) 2007-12-11 2011-09-28 株式会社日立製作所 Management computer for monitoring performance of storage system, computer system including the management computer, and control method thereof
US7937456B2 (en) * 2008-01-18 2011-05-03 Red Hat, Inc. Configuration profiling for remote clients
US7979447B2 (en) * 2008-01-18 2011-07-12 Sony Corporation Method and apparatus for use in providing information to accessing content
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) * 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US8078974B2 (en) 2008-06-27 2011-12-13 Microsoft Corporation Relating web page change with revisitation patterns
US20090327460A1 (en) 2008-06-27 2009-12-31 Microsoft Corporation Application Request Routing and Load Balancing
US7925782B2 (en) * 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US8718383B2 (en) 2008-08-06 2014-05-06 Obschestvo s ogranischennoi otvetstvennostiu “KUZNETCH” Image and website filter using image comparison
US20100070603A1 (en) 2008-09-18 2010-03-18 Eran Moss Method and Apparatus for Unifying Interfaces at Content Sources and Content Distributors
US8051166B1 (en) 2008-09-29 2011-11-01 Amazon Technologies, Inc. Service provider optimization of content management
US7930393B1 (en) * 2008-09-29 2011-04-19 Amazon Technologies, Inc. Monitoring domain allocation performance
US7865594B1 (en) * 2008-09-29 2011-01-04 Amazon Technologies, Inc. Managing resources consolidation configurations
US8122124B1 (en) 2008-09-29 2012-02-21 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US8117306B1 (en) * 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US8286176B1 (en) 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US20100128638A1 (en) * 2008-11-20 2010-05-27 Sap Ag Hierarchical shortest path first network routing protocol
US7936754B2 (en) * 2008-12-12 2011-05-03 At&T Intellectual Property I, L.P. Methods and apparatus to dynamically store network routes for a communication network
US20110040893A1 (en) 2009-08-14 2011-02-17 Broadcom Corporation Distributed Internet caching via multiple node caching management
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8331370B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment

Also Published As

Publication number Publication date
US20130010796A1 (en) 2013-01-10
JP5964239B2 (en) 2016-08-03
US20160254985A1 (en) 2016-09-01
SG181695A1 (en) 2012-07-30
US8331371B2 (en) 2012-12-11
US10063459B2 (en) 2018-08-28
US9282032B2 (en) 2016-03-08
WO2011084515A1 (en) 2011-07-14
US20150172178A1 (en) 2015-06-18
ES2583014T3 (en) 2016-09-16
CN102763380B (en) 2016-03-30
CN102763380A (en) 2012-10-31
JP2013514743A (en) 2013-04-25
US8971328B2 (en) 2015-03-03
EP2514151A1 (en) 2012-10-24
US20110149964A1 (en) 2011-06-23
CA2784699A1 (en) 2011-07-14
EP2514151B1 (en) 2016-07-06
JP2016174423A (en) 2016-09-29

Similar Documents

Publication Publication Date Title
CA2784699C (en) Distributed routing architecture
CA2784706C (en) Distributed routing architecture
CA2784707C (en) Distributed routing architecture
US7894456B2 (en) Routing data packets from a multihomed host
CN110300073B (en) Target selection method of cascade port, aggregation device and storage medium
EP3987751A1 (en) Large scale nat system

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20201215