U.S. patent application number 16/429634 was filed with the patent office on 2019-09-26 for data transport using geographical location.
The applicant listed for this patent is Media Network Services AS. Invention is credited to Tarik Cicic, Ahmed Elmokashfi, Jan Marius Evang.
Application Number | 20190297003 16/429634 |
Document ID | / |
Family ID | 45788710 |
Filed Date | 2019-09-26 |
United States Patent
Application |
20190297003 |
Kind Code |
A1 |
Cicic; Tarik ; et
al. |
September 26, 2019 |
DATA TRANSPORT USING GEOGRAPHICAL LOCATION
Abstract
A public network links a plurality of nodes, each associated
with at least one network address. A transport network connects a
plurality of routers, each of which is also connected to the public
network. A database holds geographical location information
associated with respective network addresses on the public network.
The database is used to determine which of the routers is closest
to geographical locations associated with the network addresses.
Information is stored that identifies these closest routers. The
information is suitable for use in a routing protocol for routing
data packets through the transport network to a destination outside
the transport network.
Inventors: |
Cicic; Tarik; (Oslo, NO)
; Evang; Jan Marius; (Oslo, NO) ; Elmokashfi;
Ahmed; (Oslo, NO) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Media Network Services AS |
Oslo |
|
NO |
|
|
Family ID: |
45788710 |
Appl. No.: |
16/429634 |
Filed: |
June 3, 2019 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14371299 |
Jul 9, 2014 |
10355973 |
|
|
PCT/GB2013/050040 |
Jan 10, 2013 |
|
|
|
16429634 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04L 45/04 20130101;
H04L 45/72 20130101; H04L 45/58 20130101; H04L 47/283 20130101;
H04L 45/745 20130101; H04L 45/06 20130101; H04L 47/2425 20130101;
H04L 45/121 20130101; H04L 45/122 20130101 |
International
Class: |
H04L 12/733 20060101
H04L012/733; H04L 12/775 20060101 H04L012/775 |
Foreign Application Data
Date |
Code |
Application Number |
Jan 10, 2012 |
GB |
1200350.5 |
Claims
1. A method of operating a data transport system, wherein the data
transport system comprises: a private transport network comprising
a plurality of routers, wherein each router of the plurality of
routers has a connection to the private transport network and also
has a connection to the Internet; and a route server, connected to
the private transport network, the method comprising: the route
server accessing a database comprising geographical location
information associated with respective IP prefixes on the Internet,
to determine respective routers of said plurality of routers that
are closest, according to a predetermined geographical proximity
metric, to respective geographical locations associated with
respective IP prefixes on the Internet outside the private
transport network; and the route server configuring the private
transport network for routing data packets, addressed to
destinations outside the private transport network, through the
private transport network, so that each data packet exits the
private transport network at a respective router of said plurality
of routers that is closest, according to the predetermined
geographical proximity metric, to a respective geographical
location associated with an IP prefix of the respective destination
to which the data packet is addressed.
2. The method of claim 1, further comprising routing data packets,
addressed to destinations outside the private transport network,
through the private transport network to respective routers, of
said plurality of routers, that are closest to the geographical
locations associated with IP prefixes of the respective
destinations outside the transport network to which the data
packets are addressed.
3. The method of claim 1, comprising the route server determining
respective routers of said plurality of routers that are closest,
according to a predetermined geographical proximity metric, to
respective geographical locations associated with every respective
IP prefix in a global Border Gateway Protocol (BGP) routing
table.
4. The method of claim 1, wherein the private transport network
connecting the plurality of routers is configured to provide a
quality of service guarantee for data on the private transport
network.
5. The method of claim 1, further comprising using authentication
to control access to the private transport network.
6. The method of claim 1, wherein the private transport network is
an autonomous system (AS).
7. The method of claim 1, wherein the predetermined geographical
proximity metric is straight-line distance or orthodromic
distance.
8. A data transport system comprising: a private transport network
comprising a plurality of routers, wherein each router of the
plurality of routers has a connection to the private transport
network and also has a connection to the Internet; and a route
server, connected to the private transport network, wherein: the
route server is configured to access a database comprising
geographical location information associated with respective IP
prefixes on the Internet, and to use the database to determine
respective routers of said plurality of routers that are closest,
according to a predetermined geographical proximity metric, to
respective geographical locations associated with respective IP
prefixes on the Internet outside the private transport network; and
the route server is configured to configure the private transport
network for routing data packets, addressed to destinations outside
the private transport network, through the private transport
network, so that each data packet exits the private transport
network at a respective router of said plurality of routers that is
closest, according to the predetermined geographical proximity
metric, to a respective geographical location associated with an IP
prefix of the respective destination to which the data packet is
addressed.
9. The data transport system of claim 8, wherein the private
transport network is configured to provide a quality of service
guarantee for data on the private transport network.
10. The data transport system of claim 8, wherein the predetermined
geographical proximity metric is straight-line or orthodromic
distance.
11. The data transport system of claim 8, wherein the route server
is configured to determine respective routers of said plurality of
routers that are closest, according to a predetermined geographical
proximity metric, to respective geographical locations associated
with every respective IP prefix in a global Border Gateway Protocol
(BGP) routing table.
12. The data transport system of claim 8, wherein each router of
the plurality of routers is configured to advertise a common IP
address on the Internet.
13. The data transport system of claim 8, wherein the private
transport network is configured to use authentication to control
access to the private transport network.
14. The data transport system of claim 8, wherein the private
transport network is an autonomous system (AS).
15. A route server for use in a private transport network which
comprises a plurality of routers, wherein each router of the
plurality of routers has a connection to the private transport
network and also has a connection to the Internet, the route server
being configured: to access a database comprising geographical
location information associated with respective IP prefixes on the
Internet, and to use the database to determine respective routers
of said plurality of routers that are closest, according to a
predetermined geographical proximity metric, to respective
geographical locations associated with respective IP prefixes on
the Internet outside the private transport network; and to
configure the private transport network for routing data packets,
addressed to destinations outside the private transport network,
through the private transport network, so that each data packet
exits the private transport network at a respective router of said
plurality of routers that is closest, according to the
predetermined geographical proximity metric, to a respective
geographical location associated with an IP prefix of the
respective destination to which the data packet is addressed.
16. The route server of claim 15, wherein the predetermined
geographical proximity metric is straight-line distance or
orthodromic distance.
17. The route server of claim 15, wherein the route server is
configured to determine respective routers of said plurality of
routers that are closest, according to a predetermined geographical
proximity metric, to respective geographical locations associated
with every respective IP prefix in a global Border Gateway Protocol
(BGP) routing table.
Description
[0001] This application is a continuation under 35 U.S.C. .sctn.
120 of U.S. patent application Ser. No. 14/371,299 filed Jul. 9,
2014, which is a 35 U.S.C. .sctn. 371 national phase filing of
International Application No. PCT/GB2013/050040 filed on Jan. 10,
2013, and further claims priority to United Kingdom Patent
Application No. 1200350.5 filed on Jan. 10, 2012. The disclosures
of the foregoing applications are hereby incorporated herein by
reference in their respective entireties, for all purposes.
[0002] This invention relates to systems and methods for
transporting data packets.
[0003] The Internet does not provide quality of service (QoS)
guarantees, but merely routes packets using a "best effort"
approach. Data packets can be delayed or lost completely. This
situation can result in inadequate performance, especially when
using real-time Internet services, such as video-conferencing,
multi-player gaming or live television transmission, for which
significant delays due to buffering and the retransmission of lost
packets are unacceptable.
[0004] International Publication Nos. WO 2009/084967 and WO
2009/084968, by the present Applicant, recognise this problem and
describe architectures for improving the quality of service
provided to a user of a network service. They describe a dedicated
transport network which connects retransmission devices (routers or
transport relays) located at multiple points of presence (PoPs)
using guaranteed bandwidth channels. This dedicated transport
network is connected to multiple Internet Service Providers (ISPs)
so that time-sensitive traffic can be routed from one ISP to
another via the guaranteed channels, reducing or dispensing with
the need for it to travel over less reliable public Internet
links.
[0005] An application-specific selective forwarding device diverts
time-sensitive packets onto the dedicated transport network. The
packets are directed to a retransmission device in the dedicated
transport network by using a mapping between a destination address
space and the addresses of the re-transmission devices in the
dedicated network. This mapping can be based on Border Gateway
Protocol (BGP) routing information collected in the transport
network from the connected ISPs; on network load in the transport
network; or on network distance, i.e. which re-transmission device
is closest to the destination address or source address.
[0006] Data packets will typically enter the dedicated transport
network at the closest PoP to the source of the data packet, due to
the "hot potato" routing methodologies employed across the
Internet. However, the Applicant has found that naively using BGP
routing information collected from connected ISPs in such a mapping
can result in data packets leaving the dedicated transport network
undesirably early, thereby taking longer to reach their destination
than if they were able to travel on the dedicated transport network
for a greater proportion of their journey.
[0007] Basing the mapping on load statistics for the dedicated
transport network can also lead to packets exiting the network
prematurely, while basing it on network distance can necessitate
time-consuming manual adjustments to the standard BGP routing
information. For example, if a customer on the west coast of the
USA reports that it is receiving data packets which have exited the
transport network at a PoP on the east coast of the USA, an
adjustment can be made to the mapping so as to link the customer's
Internet Protocol (IP) address range to a west-coast PoP. Such an
approach is not scalable with increasing customer numbers.
[0008] The Applicant has now devised a better approach.
[0009] From one aspect, the present invention provides a method of
configuring a data transport system, wherein the system comprises:
[0010] a public network linking a plurality of nodes, wherein each
node is associated with at least one network address on the public
network; [0011] a plurality of routers and a transport network
connecting the routers, wherein each router is also connected to
the public network; and [0012] a database comprising geographical
location information associated with respective network addresses
on the public network,
[0013] the method comprising: [0014] for each of a plurality of
said network addresses, using the database to determine a closest
one of said routers to a geographical location associated with the
network address, according to a predetermined proximity metric; and
[0015] storing information identifying the closest router for each
of said plurality of network addresses, said information being
suitable for use in a routing protocol for routing data packets
through the transport network to a destination outside the
transport network.
[0016] Thus it will be seen by those skilled in the art that, in
accordance with the invention, routing decisions for packets
traversing the transport network can exploit a database of
geographical information to ensure that, when desired, a data
packet remains within the transport network until it reaches the
nearest possible exit point to its destination. In this way, a
packet can be relayed to its destination making efficient use of
the transport network, which is preferably a network providing a
quality of service (QoS) guarantee.
[0017] The public network may relay data packets using the Internet
Protocol (IP). The public network may be any network which can be
used by multiple entities, or which does not enforce access
control. It is preferably distinct from the transport network.
Preferably the public network is the Internet.
[0018] The nodes may be routers or gateways, which may belong to
different autonomous systems (AS)--i.e. networks having registered
autonomous system numbers (ASNs). Nodes may be associated with a
network address by being reachable by data packets sent to that
address. The network address may be advertised on the network as
identifying the associated node.
[0019] In other embodiments, the nodes may themselves be respective
autonomous systems. The method may thus comprise, for each of a
plurality of autonomous systems which are associated with one or
more network addresses, using the database to determine a closest
one of said routers to a location associated with these network
addresses, according to a predetermined proximity metric.
[0020] At present, complete BGP routing information for the
Internet contains approximately 400,000 different IP prefixes (sets
or ranges of IP addresses associated with particular nodes). Any
single prefix may relate to a relatively small or relatively large
geographical area. The database may comprise geographical location
information for any number of network addresses, but preferably
comprises geographical information for at least 100,000 IP
prefixes; more preferably for substantially every IP prefix in the
global BGP routing table. In some preferred embodiments the
database comprises geographical location information in respect of
all geographical areas with Internet presence to a resolution of
equal to or finer than 10,000, 1,000, 100 or 10 square
kilometres.
[0021] A network address may be a single address (e.g. a single IP
address), or it may be a set or range of addresses (e.g. specified
by an IP prefix). For example, one ISP may advertise a range of IP
addresses, all of which have the same associated geographical
location.
[0022] The geographical location information may take any suitable
form; it may comprise one or more points, or a region (e.g. a town,
city, state or country), or some other location identifier such as
a street within a city. Databases which provide geographical
coordinates (e.g. latitude and longitude) associated with an IP
address or prefix in the Internet global routing table are
commercially available and are typically used for providing
location-based services to customers, such as showing
location-specific advertising banners on websites.
[0023] The geographical locations associated with the network
addresses are preferably the physical locations of the nodes
associated with those addresses (e.g. which advertise, or are
identified on the network by, those addresses). For example, the
location might be the city in which the data centre containing a
particular router is located. The skilled person will appreciate
that the geographical information in the database is not
necessarily always entirely accurate, and so some of the locations
associated with network addresses may only be the approximate
locations of the associated nodes; e.g. a neighbouring town or
city, or in the same country, or on the same continent. Benefits
can still be obtained by routing data to the router closest to the
geographical location associated with a destination network
address, even when the location corresponds only approximately to
the true physical location of the associated node.
[0024] The database may be accessible from, or located on, the
public network, or it may be accessible only on the transport
network; e.g. hosted on a private server.
[0025] The database may be used to determine a closest router for
just a few network addresses (e.g. two, ten, one hundred, or so) or
for substantially every address in the global BGP routing
table.
[0026] The geographical information in the database is not
necessarily static; in some embodiments, it may be updated
periodically, for example using active measurements or manual
entries. For instance, an incorrect or out-of-date entry may be
corrected manually. Large IP subnets may cover large geographical
areas and the database may therefore be amended by dividing such
subnets into smaller portions, to provide more accurate
geographical information.
[0027] For compactness, the database may store location information
against sets or ranges of addresses (e.g. an IP prefix), rather
than individual IP addresses.
[0028] The proximity metric may be straight-line distance or
orthodromic distance (i.e. distance around a great circle) between
two points, or any other suitable function of two locations. In
some embodiments, the geographical location information may define
one or more regions. The proximity metric may additionally be able
to give a distance, under the metric, between a point and a region,
or between two regions (e.g. between the centroids of the regions,
or between the closest points on the respective boundaries). It may
take account of additional geographic information, such as the
locations of other network nodes or links. Different metrics could
be used for different addresses; however, the same predetermined
proximity metric is preferably applied in respect of each of the
network addresses.
[0029] Geographical information relating to the routers, such as
their locations, may be included in the database or may be
determined by other means, such as from a different database in
order to determine the closest router for a given network
address.
[0030] The transport network may be the same as, or similar to, a
dedicated transport network as described in International
Publication Nos. WO 2009/084967 and WO 2009/084968, the contents of
which are hereby incorporated by reference. It may be a private
network, i.e., a network whose nodes are not necessarily visible to
the public. It may be an autonomous system (AS). It may have access
control. Such access control could, for example, take the form of a
password, key or the like; or could comprise identity
authentication, e.g. by means of an IP address or the like.
[0031] The transport network preferably comprises by one or more
links between routers that support a guaranteed quality of service
(QoS); for example, that offer a guaranteed maximum latency,
minimum bandwidth for traffic, maximum jitter, or maximum packet
loss. The routers may be connected by any number of intermediate
nodes on the transport network; in some embodiments, the shortest
path between a pair of the routers may comprise at least two or
more intermediate nodes within the transport network.
[0032] Two or more of the routers may be connected to different
respective IP networks on the public network. These different
networks may, for example, be different Internet Service Provider
networks (ISPs). Two or more of the routers may have connections to
distinct physical networks which are in turn connected to the rest
of the public network through respective gateways or routers. They
may, for example, be situated on different respective Ethernet
networks or Ethernet network segments, or on different respective
broadcast domains. However, more generally, these different IP
networks could be determined by logical subdivisions of an
addressing space within the public network; for example, with all
nodes in one of the networks sharing the same value for a
predetermined number (e.g. 18 or 24) of the most-significant bits
of their respective network address on the public network.
[0033] At least some of the routers of the transport network a
located some distance away from each other; e.g. on different
sites, in different countries or on different continents; they may
be separated by tens, hundreds or thousands of kilometres. In some
preferred embodiments, at least two of the routers are separated by
at least ten kilometres. By having such geographically dispersed
routers, a user in Paris, France can, for example, enjoy
high-quality video-conferencing with a user in Tokyo, Japan, with
traffic to each user travelling over a bandwidth-guaranteed private
transport network and exiting at the closest Point of Presence
(PoP) router to each user. These PoPs may be peered with the user's
own ISP, but this is not essential and they may instead be peered
with another ISP or Internet backbone provider that is relatively
close to the user.
[0034] Data packets will typically enter the transport network at
the closest router to the source of the data packet, due to the
"hot potato" routing methodologies employed across the
Internet.
[0035] The information identifying the closest routers may be
stored in one or more databases or tables. These may be accessible
to forwarding devices such as the application-specific selective
forwarding device described in International Publication Nos. WO
2009/084967 and WO 2009/084968. It may, for example, determine a
mapping between the destination address space and the addresses of
re-transmission devices in the dedicated network; e.g. so that a
source device directs a data packet to the router in the transport
network which is closest to the packet's destination network
address.
[0036] However, more preferably, the information identifying the
closest routers is not used in selective forwarding devices outside
the transport network, but is used in a routing protocol operating
within the transport network itself; e.g. internal BGP (IBGP). The
information may thus be stored in one or more databases or tables
accessible to the routers within the transport network. In some
embodiments, the information is stored on the routers themselves;
e.g. in memory contained in the routers. The information may
additionally or alternatively be stored in a route server connected
to the transport network, as described below.
[0037] Such an arrangement can avoid the need for selective
forwarding devices altogether, thereby reducing the level of
reconfiguration of client devices outside the transport network
required for the client to use the transport network.
[0038] Preferably, the plurality of routers in the transport
network are configured to advertise a common network address (i.e.
the same address) on the public network, e.g. using BGP. A client
can then route a data packet through the transport network simply
by sending the packet to a single anycast address associated with a
service within the transport network. This packet should be
received by the nearest router to the client device, based on the
normal routing behaviour of the public network (e.g. BGP). The
routing protocol running within the transport network will then
direct the packet to the router in the transport network which is
closest to the packet's destination, which will in turn send it on
towards its destination. In the way, the data packet travels on the
public network (which typically provides no service quality
guarantees) for as short a distance as possible, and within the
transport network (preferably with QoS guarantees) for the rest of
the route. By exploiting the information identifying the closest
router within the transport network itself, no additional burden is
placed on devices outside the network.
[0039] The invention extends to a data transport system configured
by a method embodying the invention.
[0040] Thus, from a further aspect, the invention provides a data
transport system comprising: a public network linking a plurality
of nodes, wherein each node is associated with at least one network
address on the public network;
[0041] a plurality of routers and a transport network which
connects the routers, wherein each router is also connected to the
public network; and
[0042] one or more stores of information suitable for use in a
routing protocol for routing data packets through the transport
network to a destination outside the transport network, the
information identifying, for each of a plurality of said network
addresses, the closest one of said routers to a geographical
location associated with the network address, according to a
predetermined proximity metric.
[0043] In all aspects of the invention, the system preferably
comprises a route server, which is preferably connected to the
transport network. It may be a component of one of the routers, or
it may exist independently within the transport network. The route
server may comprise a cluster of servers. This can provide
redundancy in case of failure. It may be implemented across a
plurality of geographically-dispersed servers; e.g. with at least
two servers being ten or more kilometres apart, or in different
countries or continents, thereby providing reduced latency. In some
embodiments, the router server is not visible on the public
network.
[0044] The route server may store, or have access to, the
information identifying the closest router for each of the
plurality of addresses. The route server is preferably configured
to share routing information with the routers within the transport
network; for example, using internal BGP (IBGP). It preferably acts
as a route reflector. In general, a route reflector can announce a
route to all border routers; in preferred embodiments of the
present invention, the route server can announce a route which
passes through the router which is closest geographically to the
destination address. Such use of a route reflector can help ensure
consistency of route selection across the transport network.
[0045] The route server can preferably disseminate closest-router
information to relevant ones of the routers in the transport
network, which can in turn use this information to route a data
packet through the transport network so that it exits the transport
network at the router which is closest to the destination address
for the packet.
[0046] In some embodiments, the route server is configured to set
or alter a BGP "local preference" value for a set of one or more
address on one or more of the routers. Local preference is an
indication as to which router is to be preferred as the next hop
for a particular destination address. This can override the basic
mechanism of preferring the route which traverses the fewest number
of autonomous systems to reach the destination. The value may be
propagated by IBGP to all the routers within the same autonomous
system. A path with higher local preference is typically preferred.
A local preference value can typically range from 0 to 2{circumflex
over ( )}32, with a default value of 100.
[0047] The route server may be configured to provide a relatively
high local preference value for a set of one or more address on a
router which is closest to a node on the public network which is
advertising those addresses, and a relatively low local preference
value for that address set on a least one, or preferably all, of
the other routers in the transport network.
[0048] The route server may be configured to determine
delivery-time or round-trip-time information, or other quality
information, for a selected node or destination on the public
network. For example, the route server may send Internet Control
Message Protocol (ICMP) echo request packets and time the response,
or may receive such information from another component. This
information may be used to determine a preferred exit router from
the transport network for a set of one or more addresses (e.g. the
router providing the shortest round-trip path time to the
destination).
[0049] The route server may preferably be configured to prioritise
such a preference over the router determined to be closest based on
geographical information. This can provide improved performance in
some cases, since actual measurement data is likely to give a
better indication of connection speed than the geographical
information. However it is unlikely to be feasible to determine
such information for more than a fraction of the sets of addresses,
due to the processing and network overhead associated with
collecting the measurements, and because some destinations might
not respond to an ICMP echo request.
[0050] The route server may configuration a user interface, such as
a web interface or a file transfer protocol (FTP) server. This
could allow for manual route selection (i.e. selecting a particular
router as the exit from the transport network for a set of one or
more addresses). The route server may be configured so that a
manual route selection will override the router determined as
closest based on the geographical information or timing
measurements.
[0051] From another aspect, the invention provides a route server
for use in a transport network which connects a plurality of
routers, the route server being configured: [0052] for each of a
plurality of network addresses associated with nodes on a public
network outside the transport network, to use a database comprising
geographical location information to determine a closest one of the
plurality of routers to a geographical location associated with the
network address, according to a predetermined proximity metric; and
[0053] to send, to at least one of the routers, information
identifying the closest router for a set of one or more network
addresses, the information being suitable for use in a routing
protocol for routing data packets through the transport network to
a destination outside the transport network.
[0054] The route server may comprise a memory for storing the
closest-router information. Embodiments of the router server may
have any combination of features described with reference to other
aspects of the invention.
[0055] From a further aspect, the invention provides a transport
network comprising: [0056] a plurality of connected routers,
wherein each router is also connectable to a public network; and
[0057] one or more stores of information suitable for use in a
routing protocol for routing data packets through the transport
network to a destination outside the transport network, the
information identifying, for each of a plurality of network
addresses outside the transport network, the closest one of said
routers to a geographical location associated with the network
address, according to a predetermined proximity metric.
[0058] The routers are preferable connected to a public network
which links a plurality of nodes, wherein each node is associated
with at least one network address on the public network.
[0059] The one or more stores of information preferably then
identifies, for each of a plurality of network addresses on the
public network, the closest one of said routers to a geographical
location associated with the network address. The system may
comprise a router server which may store the closest-router
information, or one or more of the routers may store the
information, or both.
[0060] In general, the use of a router server is not essential, and
the information identifying the closest router for each of the
addresses may instead be directly stored in, or distributed across,
one or more of the routers in the transport network; for example,
in BGP Routing Information Bases stored on the routers.
[0061] From a further aspect, the invention provides a router
comprising: [0062] one or more ports suitable for connecting the
router to other routers by a transport network; [0063] a port for
connecting the router to a public network linking a plurality of
nodes, wherein each node is associated with at least one network
address on the public network; [0064] means for receiving
information identifying, for a set of one or more network addresses
on the public network associated with a node, the router on the
transport network which is closest to a geographical location
associated with the network addresses in a database, according to a
predetermined proximity metric; and [0065] a memory for storing
said information in a format suitable for use in a routing protocol
for routing data packets through the transport network to a
destination outside the transport network.
[0066] The router may be configured to receive, at intervals,
updated information identifying, for a set of one or more addresses
on the public network associated with a node, the router on the
transport network which is closest to the node according to a
predetermined proximity metric applied to geographical location
information relating to each node from a database.
[0067] The information may be received from a route server, as
previously described. It may be sent using one or more IBGP
messages, or it may be a local-preference setting instruction. The
router may store the information within one or more BGP tables.
[0068] In any aspect of the invention, the geographical location
information in the database may change over time; for example, it
may be updated periodically or at intervals. The stored information
identifying the closest router for each of the addresses may be
updated periodically or at intervals. This may occur whenever the
geographical information database is updated, but might be less
frequent, to reduce network and processing load. The geographical
database may signal when an update is available. The route server,
if present, may receive this signal and, in response, use the
database to store updated information identifying the closest
router for each of the network addresses; e.g. by retrieving
geographical location information for any new nodes or addresses,
or for any nodes or addresses with amended information.
Alternatively or additionally, the system (e.g. the route server)
may check for updates by accessing the database at intervals and
retrieving geographical information for one or more nodes. It may
store updated information in respect of any of the addresses for
which the associated geographical location has changed.
[0069] Similarly, the stored information may be updated (e.g. by a
router server) if the association between a node and one or more
addresses on the public network changes (e.g. if a new address
starts being advertised by a node; if a new node starts advertising
an address; or if a node changes the addresses it is advertising),
or if the set of possible routes to a particular node or
destination address, outside the transport network, changes. Such
changes may be determined by receiving one or more external BGP
messages from the public network at a router on the transport
network.
[0070] It will be appreciated that any optional or preferred
feature of one aspect or embodiment may equally be used in any
other aspect or embodiment, wherever appropriate.
[0071] Certain preferred embodiments of the invention will now be
described, by way of example only, with reference to the
accompanying drawings, in which:
[0072] FIG. 1 is a schematic diagram showing data flow through a
network system embodying the invention; and
[0073] FIG. 2 is schematic diagram of the system illustrating the
connections between significant components.
[0074] FIG. 1 shows a first ISP network 10 and a second ISP network
11, each of which is an autonomous system (AS) on the Internet.
Each comprises a number of internal routers 2, which connect to
other routers 2, 3 within the AS, as well as a number of external
routers 1, which can connect to routers 1 on other networks.
[0075] A first customer 21 connects to the first ISP via a gateway
3a on the first ISP network 10. A second customer 20 connects to
the second ISP via a gateway 3b on the second ISP network 11.
[0076] Also shown is a transport network 12 (a further AS) which
has a number of internal routers 2 and external routers 1. The
transport network 12 is peered with the first ISP network 10 and
with the second ISP network 11 at multiple, geographically
distanced points, via links between respective external routers 1
on each network. Of course, the ISP 10, 11 and the transport
network 12 will typically have many other connections to other
networks and users, which are not shown here for the sake of
simplicity.
[0077] The bi-directional flow of data between the first customer
21 and the second customer 20 is represented by two arrows. Data
from the first customer 21 reaches the first ISP network 10 at the
gateway 3a, from where it is routed via the shortest path through
the first ISP network 10 to the transport network 12. This
illustrates so-called "hot potato" routing, whereby the first ISP
network 10 tries to get rid of the data onto the transport network
10 as soon as possible.
[0078] By contrast, it is desirable for the dedicated transport
network 12 to hold onto the data for as long as possible, while
sending it towards its ultimate destination with the second
customer 20. This is because one or other party is typically paying
for access to the transport network 12 in order to benefit from
quality of service guarantees for data moving within the transport
network 12; e.g. to give improved video-conferencing
performance.
[0079] The routers 1, 2 within the transport network 12 therefore
try to route the data to the external router 1 which is
geographically closest to the second customer 20, or to a gateway
3b or router 1 on the second customer's ISP network 11, if the
second customer's location is not known directly (i.e. if the
second customer 20 does not have its own external BGP router, but
instead uses an IP address advertised by its ISP). How they do this
is explained in more detail below.
[0080] Data travelling in the opposite direction, from the second
customer 20 to the first customer 21, is here shown as following
the same path. This need not necessarily be the case, because the
routing decisions are independently made for the two directions, at
least until the data enters the transport network 12. However, in
this example, the "hot potato" routing implemented by the second
ISP network 11 causes data received from the second customer 20 to
find the same nearest peering point between the second ISP network
11 and the transport network.
[0081] FIG. 2 shows more detail of the transport network 12 in
particular.
[0082] The transport network 12 includes an enhanced route server
cluster 100, which comprises two geographically distant enhanced
route servers 105. These may be on different continents (e.g. one
in Europe and one in America). They speak iBGP 150 to all external
or border routers 1 in the transport network 12.
[0083] The border routers 1 speak eBGP 151 to external peers 4,
which allows them to learn external routes to destinations outside
the transport network 12.
[0084] The enhanced route server cluster 100 provides a
configuration interface 107 for setting up manual routes and for
system management. This may be an HTML interface served over HTTP,
for example.
[0085] The enhanced route server cluster 100 has a geoIP module 132
which communicates 135 with a geographical-information database 130
using HTTP or another query-response protocol. The geoIP module 132
configures the border routers 1 to use the geographically closest
border router 1 as an exit from the transport network 12 for each
IP address prefix queried with the geographical-information
database 130. Geographical proximity is determined by calculating
the physical distance between each border router 1 and the location
associated with the prefix in the database.
[0086] Each of the border routers 1 on the transport network 12 can
have an active measurement agent 140 which can determine delay and
quality information for particular destinations or routes. To avoid
an unacceptably high volume of active measurement probes, each
active measurement agent 140 is set up using a control protocol
145. By controlling the active measurement agents 140 from a
central location, each agent can be used only when needed.
Alternatively, it is possible to adjust the frequency at which each
location is probed to reduce the load.
[0087] The same control protocol 145 or a different protocol such
as a file-transfer method is used to send back the measurement data
to an active-measurement module 142 within the enhanced route
server cluster 100. These measurements can be used to override the
routes determined using the geographical-information database where
a quicker or more reliable route is found. A manual configuration
of a preferred route via the configuration interface 107 will
typically override both the geographically-determined and the
active-measurement-based routes.
* * * * *