A content distribution method over an internetwork including content peering arrangement
10 claims: 3 independent, 7 dependent
- 1Verfahren zum Liefern von Inhalten an einen Client ( 12 ) in einem Netzwerk ( 36 ), welches eine Vielzahl von Content Servern ( 14 ) mit einer Vielzahl von Clients verbindet, wobei die Clients nach einer Inhalte bereitstellenden Verbindung über Internet-Serviceprovider suchen, wobei die Inhalte sich zu Beginn auf einem Content Server ( 14 ) befinden und in das Netzwerk an einem Einspeisungspunkt ( 26 ) eingespeist werden, wobei mindestens zwei Internet-Serviceprovider eine Verknüpfung für ein gemeinsames Anbieten von Inhalten (content peering relationship) haben, wobei der erste Internet-Serviceprovider Inhalte an Clients überträgt und liefert, welche mit dem zweiten Internet-Serviceprovider verbunden sind, und der zweite ?page 27? Internet-Serviceprovider Inhalte an Clients überträgt und liefert, welche mit dem ersten Internet-Serviceprovider verbunden sind, wobei eingespeiste Inhalte von dem Einspeisungspunkt unter den gemeinsam Inhalte anbietenden Internet-Serviceprovidern aufgeteilt werden, wobei das Verfahren aufweist:Empfangen einer Anfrage nach Inhalten von dem Client;und Leiten der Anfrage an einen Content Server, auf der Grundlage von Verknüpfungen zwischen den Internet-Serviceprovidern für ein gemeinsames Anbieten von Inhalten, unter Verwendung von Anycast-Routing.
- 2Verfahren gemäß Anspruch 1, wobei die Anfrage an eine Anycast-Adresse (A*, B*) gerichtet ist, welche zu Vorrichtungen (A1*, A2*, A3*, A4*, B1*, B2*, B3*, B4*) in einem ersten autonomen System (AS100, AS200, AS300) zugeordnet ist, wobei das Verfahren ferner ein Leiten der Anfrage an die nächste der Vorrichtungen (A1*, A2*, A3*, A4*, B1*, B2*, B3*, B4*) einschließt, denen die Anycast-Adresse (A*, B*) zugeordnet ist.
- 3Verfahren gemäß Anspruch 1 oder 2, wobei die Anfrage an eine Anycast-Adresse (A*, B*) gerichtet ist, welche zu Vorrichtungen (A1*, A2*, A3*, A4*, B1*, B2*, B3*, B4*) in einem ersten autonomen System (AS100, AS200, AS300) zugeordnet ist, wobei das Verfahren ferner ein Leiten der Anfrage an eine Vorrichtung innerhalb eines zweiten, an das erste autonome System (AS100, AS200, AS300) angegliederten, autonomen Systems (AS500) einschließt.
- 4Verfahren gemäß einem der vorhergehenden Ansprüche, wobei eine Umleitungsstruktur ( 50 ) für ein Weiterleiten der Anfrage an den Content Server auf der Grundlage von Verknüpfungen für ein gemeinsames Anbieten von Inhalten bereitgestellt wird und wobei die Umleitungsstruktur dafür eingerichtet ist, den Client an einen Edge Server auf der Grundlage von einer Client-Umgebung, von Netzwerkpfadcharakteristika, von Server-Auslastung und -Ausnutzung und auf der Grundlage von der Verknüpfung für ein gemeinsames Anbieten von Inhalten anzuschließen.
- 5Verfahren gemäß Anspruch 4, wobei die Umleitungsstruktur ( 50 ) dafür eingerichtet ist, die Anfrage an den Content Server auf der Grundlage von im Hintergrund erfassten Auslastungs- und Netzwerkmesswerten weiterzuleiten.
- 6Verfahren gemäß einer der vorhergehenden Ansprüche, wobei ein Verteilernetzwerk ( 52 ) zum Verteilen der Inhalte vom Einspeisungspunkt ( 26 ) an eine Server-Anordnung ( 54 ) eingerichtet ist.
- 7Verfahren gemäß Anspruch 1, ferner den Schritt aufweisend:Verteilen an Umleitungsvorrichtungen, welche Anwendungsschicht-Multicast-Routing verwenden, von mindestens einem aus: Richtlinien für ein Weiterleiten von Inhalten, Server-Auslastungsinformation, Ressourcenverfügbarkeit und Abgleichinformation.
- 8Verfahren gemäß Anspruch 1, wobei die Anfrage eine explizite Serviceanfrage an eine Anycast-Adresse aufweist, um eine topologische Lage über Anycast-Routing einzuschließen.
- 9Verfahren gemäß Anspruch 8, wobei die Anfrage auf der Grundlage des topologischen Lage-Zusammenhangs geleitet wird.
- 10Verfahren gemäß Anspruch 1, ferner einschließend:Verwenden einer Umleitung in entfernten autonomen Systemen, um einen Lastausgleich bei einer Vielzahl von Servern in nahegelegenen autonomen Systemen durchzuführen.
Independent claims10
203 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
The This invention relates to the efficient transmission of data in a Network such as the known as the "Internet" global network. In particular, the present invention relates to moving between live and saved "broadcast" of -Datenströmen Content producers to large Numbers of recipients these data streams.
"Broadcast" refers to the transfer of a Data stream from a content producer to a large number Recipients. In the data stream may be to text, graphics, video, audio or act any other digital data stream. Data is often referred to as a stream or provided as a file available that differ in that the end of the stream is open while the file a defined End features. For example, you look at real-time stock quotes as a stream of data, a 30-minute audio-visual presentation however, thought of as a file with data. According to the present Reference is no sharp distinction between a stream and a file required because the typical broadcast mode very similar is whether now transmit a stream is or transfer a file is. It is therefore to be noted that, for a description of a Streams might as well be a file in its place, if indicated otherwise.
broadcast needs relative to the production of the contents not to be done in real time. Real time broadcast refers to the transfer of data as they were created in a digital form. For example, a Football game recorded by a camera, digitized and in a broadcast to many individuals, which the transmission over want to receive Internet, be sent. The football game could also after digitization stored and at a later time be sent in a broadcast. In addition, the football game could transmit both live as well as at a later transfer time are ( "delayed broadcast"). generally speaking could some of the components of a broadcast network, regardless of whether the broadcast live or delayed is, in exactly the same way to work, as in a current television broadcasting the case is. For example, the antennas work for radiating of the signal and the receiver for receiving the signal in an identical manner to live broadcasts or delayed to receive broadcasts.
On technical difference between live broadcast and delayed broadcast is that the live broadcast at the time of the broadcast a higher audience numbers has, since there is only one time to be in a live broadcast turn, but many times be available for a delayed broadcast could. Some contents of receivers probably preferred as a live broadcast a delayed broadcast. Examples include sports events, time problematic business information such as stock quotes, analyst interviews and headlines, and the like.
The Dividing line between live and delayed broadcast is not firmly. One of the challenges of the live broadcast, it is, the data stream to process in real time, to make it suitable for transmission (Eg compression, formatting), whereas more time for such Processing steps available is, if the data stream is a delayed broadcast. also if this challenge to distinguish between live and delayed broadcast accentuated if the delayed Broadcasts are only available at fixed times - which in Retry Television is the case - differ to live and delayed broadcast not particularly. Since the dividing line is not always clear, noted that "broadcast", unless otherwise indicated, relate to live and / or delayed broadcast.
in the Compared with the current demands of Internet users are television broadcasts currently simply: producers of content deliver their content to the transmitting stations in the data stream a channel send, the reserved exclusively for its contents is and has the bandwidth, this content assigned in the Time to transmit, and the transmission medium (Hardwired or wireless) and the receiver all with the medium are connected to a bandwidth which is sufficient to cover the entire Data stream with minimal processing of a specially for this to receive content reserved channel. The broadcast content over the Internet (or any other network used or network) is but not easy to implement, as the Internet network or substantially a point-to-point transmission medium is in which some arrangements for point-to-multipoint or Multipoint-to-multipoint transmission are met.
As Example, broadcast television is concerned with a headline event, by information collected, wrote a script, and a reporter is brought on air. The recipient of the headlines (which TV viewers) need it, wait for a TV station transmits the information, and receive only the data stream of the content of this provider presentation out<?page 3?>chosen is. In the case of the headlines on the Internet trying a large number of users to retrieve the message information (mainly as a large Number of point-to-point transmissions of the same data stream), thereby often the server and the computing infrastructure the content provider will go down. This "flash" effect is not limited to headlines, but is often encountered when live events take place when new versions of a popular Software are issued, or when a popular website is encountered. Herein, a "site" generally refers to a collection of pages presented as unit and usually of one or more servers co-ordinated with a certain Network address be presented, and may also refer to the computer and infrastructure related, which the sides of the collection present.
The Problems of current be broadcast solutions described in the following, but first some background information to the client-server architecture appropriate. is in many networking and other computing systems the quality and functionality of the system is divided into a total of "clients" and "servers", said it is for the clients to computer programs or hardware, the requests to initiate, and wherein the servers to computer Programs or hardware, then the answer to requests from clients. There are exceptions in which devices or programs that the Generally regarded as a server to send requests to devices or programs are that generally considered as clients are, however, wait in the client-server model mainly the server on requests, serve the requests, and then wait for further inquiries. Clients are usually far more independent than Actors deemed to initiate inquiries. However, it is to be noted that some devices or hardware at certain times or for certain Purposes might be clients and at other times or for other purposes could be servers.
in the Context of an extremely basic broadcast infrastructure ready a content server to a request from a client and Content sends receiving a request, the requested content to the Content client. This basic infrastructure is not a problem, when a client makes a request to a server, and the contents connecting to the unused bandwidth of the client and the server Channel fit; but since most networks have more than one client or more than one server and include a limited bandwidth sharing, the bandwidth must be allocated intelligently.
Out a perspective of the infrastructure is the flash effect is not very bandwidth-efficient because many, many identical copies of the data stream over the network to many recipients be transported requesting the data stream. This effect may no problem if it is the data stream by a few little bits concerns, but data streams with full-motion video and CD-quality audio are becoming more commonplace.
In the past were taken several different approaches to broadcast over the Internet available ask to, but most have these disadvantages prevent its widespread use. Two key mechanisms for the Internet proposed and are in limited use to the by to overcome the flash effect caused problems, namely 1) Caching and 2) server replication or server synchronization. Caching refers to a process using a cache memory, which located at strategic points within the network infrastructure, to content requests from clients trap, so that the content source does not need to make any copy of the content available. If a client requests content from a content server and the client receives the content from the content server stores a cache memory in the network through the contents, a copy of the content. If another client (or the same client) a request for this same content sets, consult the network infrastructure to cache memory, to determine whether a copy of the requested content in the Cache memory. If the contents in the cache memory are present, the request is intercepted before the Content reached server, and the cache memory instead uses the Inquiry. In the other case, in which the content is not in the cache memory are present, the request to the content server is forwarded, and the response is returned passed to the client.
caching is of benefit if a high probability exists that the requested content in the cache memory could be present. There the cache memory has a limited memory capacity, the for storing cached content is assigned, the cache memory must ultimately remove some of its stored contents to place for newer or more popular creating contents. Many strategies have been proposed and are in use in order to manage the local memory of the cache memory, for example, deciding When an object from the cache memory to be removed, warm "Refreshed" content (a fresh, possibly updated copy of the content from the content server concerned) be are, and so on.
caching either transparent or <?page 4?>non-transparent. In transparent Caching the client makes a request to the content server, and the network infrastructure begins the request from, if the cache may service the request. For non-transparent caching, the client, the request to the cache memory (or more precisely to a network node, to is connected to the cache memory), and the cache memory serves the request, if it can, or it forwards the request to the content server further, whereupon the client of the content server returned Content delivers.
Of the Server replication mechanism includes replicated servers, of which performs any copies of the same content provided. Prefers the replicated servers on a wide range of power installed, and client requests to a content server are distributed to one of these, replicated servers diverted to balance the load and network bandwidth to save up. For example, if the requests alternate end clients all at a network access point connected to a network and the Content Server is at the opposite end of the network, could the arranged replicated server near the client network access point be such that the contents are not to go through the entire network need. This replicated server, some or all of the contents which is in the origin content Server are included, and many variations exist for the arrangement certain server in a replicated server installation for distribution content to the replicated server from the originating content server, also for a determination as to the appropriate clients replicated servers are diverted.
A similar Problem with the distribution of content includes delivering Live Streaming Media to many users through the Internet. With Live Streaming Media creates a server for a live broadcast feed, and clients filters using streaming media transport protocols a To receive connection to the server the program, while is produced. While turn more and more clients in the broadcast, the server and the power near the server of the object, a large number of packet flows to a size to provide the number of clients, overwhelmed. These Job involves unnecessary duplication, because the server multiple streams with the same data (a stream emits per client).
The Duplication exists for the reason that each connection of a client to the server a "unicast" connection, ie a single point to single point compound. The basic compound between two points in a network such as the Internet is a Unicast connection. Although unicast data on many different paths (Routes) flow can, can them as data from a source node in a source address to a Destination nodes are identified at a destination. For this requires basic each client its own connection to the server, and the data stream will be duplicated in the network, as this data stream requesting Clients are available.
Network Multicasting solves the Problem unnecessary Duplication of data streams. Multicasting on the network layer can on the Internet using be carried out by IP multicast protocols in the Internet architecture are defined. With multicast transmits a content Server the data stream as a single stream of packets, the is addressed to a "multicast group" instead individual copies of current to individual unicast addresses to send. While a client usually receives only packets to the unicast address this client are addressed, a client can, which for the multicast stream interested in the show "Switch" by the multicast group accession. With IGMP takes (the Internet Group Management Protocol) the client on an "IP multicast" group in part, by he the next Routers participating information signals. The network provides the Broadcast in an efficient manner to each receiving client by it carries only one copy of the data stream and additional copies only Ausfächerpunkten in the distribution path from the source (the Content Server) fans out to receivers. Thus appear on each physical link only one copy of each Package.
unfortunateli have a wide variety of installation and scalability issues acceptance and distribution of IP multicast on the global Internet undermine. Many of these problems arise basically from the Fact that the calculation of a multicast distribution tree, it requires that all routers in the network a uniformly mismatched must have view of the appearance of this tree. To IP multicasting effectively to use, every router has the correct local view of a single, global matching have multicast forwarding tree. If Router different Views of a given multicast tree in different parts of the Network have routing loops and black holes are inevitable. A number of other problems - for example, multicast address allocation, Multicast congestion control, reliable delivery for Multicast and so on - have also interferes with the installation and acceptance of IP multicast. Despite significant recent steps towards a commercial Installation of IP multicast, the resulting infrastructure still relatively weak, and their range is extremely limited.
<?page 5?>
It was not only significant technical barriers to the installation a ubiquitous Internet Multicast service, but there are also business also and economic barriers. Internet service providers were not very successful in offering wide-area multicast services, because the management, monitoring and provision for the multicast traffic is quite difficult. Furthermore it is difficult to control who a in a multicast session can generate traffic, and which parts of the network of transport must reach. These problems are even greater when Service providers try to merge ( "peering") to a wider multicast service offer what they for made the traditional unicast service with overwhelming success have. Because of these barriers is the realization of a multicast service that the large part reached the Internet, play, and such a conclusion in the near future is highly unlikely.
Other have workarounds such as proposed Sliver nets to the difficulties of Multicast to circumvent. A splitter is a network application layer solution Transporting streaming media broadcasts, one group Server via a network is distributed in strategic locations on the Internet. For example, a data provider collocation of splinters at the location of ISP make (Internet Service Provider) or the ISP a deal for a large-scale installation meet within the network of the ISP. For example, RealNetworks in Seattle, Washington, the delivery of streaming media available. The Distribution takes place so far on the application level, as a RealNetworks<sup>TM</sup> G2 G2 server could send data streams to G2 clients.
These distributed servers are a "splitting" capability configured, which enables them, a given current to a number of servers located behind it to replicate. With this capability, can Servers are arranged in a tree-like hierarchy in which located the root server a current to a number of behind Sourct servers, the current again in a number of copies divide, located then in a further series of behind Servers are forwarded.
unfortunateli suffers a splitter network of servers to a number of problems. First, the tree of splitters is statically configured, which means that, if a single splitter fails, the entire subtree loses below the failure point of service. Second, the aligned Splitter network to a single broadcast headquarters be making separate splitter systems that are separate from physical servers are assembled and maintained for each broadcast network have to. Thirdly splitters are typically specific to a data stream format what the splinter platform dependent power. For example, a splitter, which is adapted to Real Network<sup>TM</sup>Data streams to carry, not Microsoft<sup>TM</sup> Netshow<sup>TM</sup>Data streams carry. Fourth Splitter networks are highly bandwidth-inefficient, no receiver interest Track and transport of subtrees Sliver network that do not have underlying receiver, outsource. After all make Sliver networks weak policy controls available - the composite Bit rate along a path between two nodes Splitter is consumed, can not be controlled and different classes of rivers be allocated on a stream-conscious manner.
Again a different approach, To avoid the problems of multicast, it is, the contents to send to multiple locations to a network and the client a test carry out to allow to determine the least-loaded path to a server, having the content in question. The client connects to then with the server that is the least congested path to the client. Although this compares favorably with current centric applications for file-centered Applications is, this approach has Disadvantages. For example, although the client may locates a server with low utilization is little or done nothing to ensure that the at certain Clients closest located servers, those data having that these clients most request. Another problem is that many applications Live broadcasts are and the delivery of the data thus problematic time is, and the data is moved quickly to the Edge Servers have to, serving the interest of the live broadcast clients while limiting the amount of network traffic, which occurs in the network, of not User is determined with an interest in the broadcasts.
The <patcit><text>EP-A2-0817444</text></patcit> describes a domain name resolution system, wherein the server within the network of the service provider, of is forwarded to the requesting from the user to information to obtain, based on characteristics of the requesting user is determined, wherein the server and / or the information refer to the request or the requested content.
The <patcit><text>WO-A1-99 / 06913</text></patcit> describes a switch that immediately with a plurality of content servers connected is. The switch performs load balancing between servers based on their availability and on characteristics of the requested content and the quality of service requirements <?page 6?>of requesting clients by.
The <patcit><text>WO-A2-98 / 57275</text></patcit> describes an arrangement for sharing of network traffic between replicated Servers based on the geographical location of the server and the Resource availability.
SUMMARY OF THE INVENTION
A embodiment the present invention provides an improved data-stream broadcast distribution using a common offering for sale of content (content Peering) available. One aspect of the invention is set forth in the independent claim, and preferred features are set out in the dependent claims.
According to a Aspect, a method for delivering content to a client in a network, which is connected to a plurality of content servers a plurality of clients connecting with the clients according to a Content providing compound via Internet Service Provider Search, available provided, wherein the content at the beginning on a Content Server and are fed into the network at an injection point are, at least two Internet service providers a shortcut for a common have publication of content (Content Peering Relationship), where the first Internet service provider transmits content to clients and supplies, which are connected to the second Internet service provider, and the second Internet service provider transmits content to clients and supplies, which are connected to the first Internet service provider, wherein fed content from the feed point under the common divided content offering Internet service providers are, the method comprising: receiving a request for Content from the client; and directing the request to a Content Server, on the basis of links between the Internet service providers for a joint publication of content, using anycast routing.
Prefers the request is sent to an anycast address, which for devices is assigned in a first autonomous system, the method further includes a directing request to the next of the devices, which the anycast address is assigned.
Prefers the request is sent to an anycast address, which for devices is assigned in a first autonomous system, the method further conduction of the inquiry to a device within a second, affiliated to the first autonomous system, autonomous system includes.
Prefers is a diversion structure on a Forwarding the request to the content server on the basis shortcuts for a joint publication of content provided, wherein the redirecting structure adapted is the client to an Edge Server on the basis of a Client environment, from network path characteristics of server utilization and utilization and on the basis of the link for a joint Publication of content to join.
The Diversion structure for be established, the request to the content server on the basis of detected in the background utilization and network metrics forward.
Prefers is a distribution network for distributing the content from the feed point set up a server arrangement.
Prefers the method further comprises a step of: distributing at redirection devices which application layer multicast routing use of at least one of: Guidelines for forwarding content, server load information, resource availability and collating information.
The Request, an explicit service request to an anycast address have to include a topological location via anycast routing.
The Request, on the basis of the topological location-link are passed.
Prefers the method further comprises the use of a redirection in remote autonomous systems to load balance in a variety conduct of servers in nearby autonomous systems.
On broader understanding the nature and advantages of the present inventions is by reference to the remaining Description and the accompanying Drawing available.
particulars systems and methods described in connection with the invention can be implemented, can be found in the following, related patent applications: US Pat. No. <patcit><text>US6785704</text></patcit> With the label "A Content Distribution System for Operation Overlord At Internetwork Including Content Peering arrangements "; US Pat. No. <patcit><text>US6415323</text></patcit> With the label "A Proximity-Based Redirection System For Robust and Scalable Service Node Location In An Internetwork "(hereinafter: McCanne et al. I "); US Pat. No. <patcit><text>US6415323</text></patcit> With the label "A Proximity-Based Redirection System For Robust and Scalable Ser<?page 7?>vice-Node Location In An Internetwork "(in Hereinafter: McCanne et al. II "); US Pat. No. <patcit><text>US6611872</text></patcit> With the label "Performing Multicast Communica tion In Computer Networks By Using Overlay Routing "(hereinafter: McCanne I ").
BRIEF DESCRIPTION OF THE DRAWING
<figref idrefs="S58">1</figref> is a block diagram of a generalized client-server network system.
<figref idrefs="S59">2</figref> is a block diagram in the <figref idrefs="S58">1</figref> shown Network in more detail shows.
<figref idrefs="S60">3</figref> is a block diagram of a network with a line structure.
<figref idrefs="S60">4</figref> is a block diagram of a portion of the network <figref idrefs="S60">3</figref> shows, the server comprises, coupled to routers in the network.
<figref idrefs="S61">5</figref> is a block diagram illustrating the network paths for a client request content and subsequent server response with the content requests be used.
<figref idrefs="S61">6</figref> is a block diagram illustrating the use of a distribution network and a diversion structure according to an embodiment of the present invention.
<figref idrefs="S62">7</figref> is a block diagram illustrating a in a backbone ISP anchored content backbones.
<figref idrefs="S63">8th</figref> is a network diagram illustrating a heavily loaded content backbone.
<figref idrefs="S64">9</figref> is a network diagram to illustrate by peering with APAR anycast bypass device node.
<figref idrefs="S65">10</figref> is a network diagram illustrating the system of <figref idrefs="S64">9</figref> With an additional Peering arrangement.
<figref idrefs="S66">11</figref> is a network diagram illustrating another affiliated Content backbones.
<figref idrefs="S67">12</figref> is a network diagram illustrating an APAR DNS redirection architecture.
<figref idrefs="S68">13</figref> is a network diagram illustrating the incremental installation an APAR DNS redirection architecture.
<figref idrefs="S69">14</figref> is a network diagram illustrating the incremental installation an APAR DNS redirection architecture, in the autonomous systems no have jointly arranged Server.
<figref idrefs="S70">15</figref> is a network diagram illustrating an explicit rerouting.
<figref idrefs="S71">16</figref> is a network diagram of a network in which explicit rerouting devices over the edges are installed by autonomous systems beyond.
<figref idrefs="S72">17</figref> illustrated a conventional DNS architecture.
<figref idrefs="S73">18</figref> illustrated a CDSR (Client-Driven Service Rendezvous) architecture as extensions to an existing end-host architecture and TCP / IP Internet architecture.
<figref idrefs="S74">19</figref> is a network diagram illustrating an end-host that the CDSR system calls in the Internet infrastructure.
<figref idrefs="S75">20</figref> is a network diagram illustrating a wide range Installation of CDSR.
<figref idrefs="S76">21</figref> illustrated a combination of CDSR and traditional web servers with load balancing.
DESCRIPTION OF SPECIFIC EMBODIMENTS
It are now some examples of concrete embodiments architectures for joint publication of content (Content Peering) according to the present Invention. others may upon reading this specification result, and it should be noted, that the invention is not limited to these specific examples, but only by the appended claims is limited. While also specific methods and devices are shown, it should be at be reading this description it clear that some of the methods be carried out using various devices can, and that the devices shown could be used to other than to carry out the method shown.
The This description shows how multiple embodiments of a system according to the present can be created and used invention, but omitted for purposes the Überschaulichkeit descriptions of many well-known components of such Systems. For example, the operation and the design of a standard TCP / IP network, standardmä<?page 8?>lar TCP / IP clients and the like in the present case not explicitly described that it in countless, already available sources are well described.
In the following description, the same elements of the figures designated with the same numbers. Different cases of such elements can be designated by the same numbers followed by different Case numbers in parentheses. The present description is in accordance with the following table built up: <ul><li>1. Existing content distribution models and a General Network Architecture 1.1. Existing content distribution models 1.2. Edge Server 1.3. Content distribution service providers (CSPs)</li><li>2. General architecture for content distribution and peering</li><li>3. Creation of a network with content peering 3.1. Federated detour 3.1.1. Administratively Provisioned Interdomain anycast Routing ( "APAR") 3.1.2. Content Backbone 3.1.3. Anycast peering configuration 3.1.4. DNS-based content peering 3.1.5. Explicit redirection 3.2. Content distribution Naming System 3.3. Content distribution via application layer routing 3.4. Improved Server capabilities</li><li>4. Client-driven Service Rendezvous (CDSR) 4.1. General CDSR architectures 4.2. Wide range Installation 4.3. Staged installation 4.4. Web-stepped Installation</li></ul>
1. Existing content distribution models and a General Network Architecture
<figref idrefs="S58">1</figref> is a representation of a system <figref>10</figref>In which clients <figref>12</figref> With servers <figref>14</figref> about an infrastructure <figref>16</figref> are connected. In the examples used in this case is the global Internet as an example of an infrastructure <figref>16</figref> used However, it should be noted that the infrastructure <figref>16</figref> not so limited is. For example, the infrastructure <figref>16</figref> as a subset of the global Internet, an intranet, extranet, local area network, Internet II network or the like or as an overlay over a be implemented existing network architecture. Further Although uses the TCP / IP protocols as an example of cross-linking, and Data will be shown, for example, the move as packages, but could the infrastructure <figref>16</figref> using various protocols be implemented without departing from the scope of the invention.
<figref idrefs="S59">2</figref> shows the infrastructure <figref>16</figref> in more detail than a network with clients, the to the network of access points such as Internet Service Provider (ISP) Points of Presence (PoPs) are connected, and content that placed on feed points available will.
<figref idrefs="S60">3</figref> illustrated a network connection, whereby clients at Edge Router <figref>38</figref> at the network are connected, and data move in "jumps" through the network, where a hop, a data transfer from a router (from an Edge router <figref>38</figref> or an internal router <figref>39</figref>) to a another is on the way from a data source to a data destination.
<figref idrefs="S60">4</figref> illustrated the network <figref>36</figref> in more detail, said server <figref>40</figref> shown are located within the network <figref>36</figref> are to on respond to inquiries. It should be noted that each server<figref>40</figref> With the network via a router is coupled, so that between the router data flowing servers <figref>40</figref> can be received and transmitted. The server <figref>40</figref> need not fundamentally different from the in <figref idrefs="S58">1</figref> shown content servers <figref>14</figref> to be different, even if they usually serve different purposes.
1.1. Existing content distribution models
The Data stream distribution will be explained below, however, are first some background information on existing content set to the context of distribution in to explain the new system. It should be noted that many examples, while indicating the distribution a data stream relating to the system but also used can be to carry data that is not streaming data, such as files or data blocks a defined length.
at be one currently in use, conventional distribution model Internet content created and executed by written Website and placed on a web server gradation, or by means of Digitization of audio / video signals. This is generally in<figref idrefs="S58">1</figref> illustrated. Content of feed points in <figref idrefs="S59">2</figref> are designated by "I", published in the Internet. The feed points could include a production server, the data stream (or file or data block, depending on the case) ready for broadcast to many clients contains, wherein the production server with the source of the content (a Webpage producers, a digital camera or other source) through a standard LAN connection or the like is coupled. For more complicated configurations could a data stream from a remote event place such as a concert venue or Sporting event on a dedicated connection (eg a dial-ISDN line, a leased T1 line, or Frame Relay connection) to a production server site be transported, where the <?page 9?>Data stream on the production server is placed. Once the content on the production server released were, any client on the Internet with a web or streaming Media connection between the production server and the client access this content.
the single production server model works only up to a certain Scale. Since each client creates its own connection to the server, can be easily overwhelmed the server if he popular Content delivers. This is particularly true when the access synchronized, eg in a live event, so that the server simultaneously many separate copies of content to each requesting must send a client. This not overwhelmed only the throughput of the server, but also loaded near the net the server location that the same content many times over the redundant shall bear the same network connection, extremely.
1.2. Edge Server
A common approach to overcome this problem is, server devices, such as web caches, or arranging streaming media splitter at or near the "edge" of the network. For example owned by the ISP in a typical ISP network many among themselves connected nodes, and some of the nodes are PoP (Point of Presence) node. A PoP node is a node at which a customer of the ISP can attach, to connect to the Internet. includes a conventional PoP node a bank of dial-up modems, which dial customers and can connect. Other nodes could completely internally for the ISP and for Customer inaccessible be. Typically, nodes PoP nodes, or nodes, a router "hop" from one PoP (a jump "into" the ISP network) removed are, as "Edge" viewed node. ISP collocation systems ( "colos") are also considered Edge nodes, although some of them relatively deep within the network. Under these circumstances, programmable server be placed in an Edge PoP to nearby clients efficient way to operate. In Edge PoPs or near Edge PoPs servers are often placed called "edge servers".
at this model captures the Edge Server, the user request content and provides the content locally, making it the response time improved, reducing the wide-area bandwidth consumption, and the load on the production server lowers. If the production server is distributed so that multiple servers serve all clients Request content, is the initial Source of content that are frequently referred to as the "origin server" of the initial, provides official copy of the data stream. If the edge of the PoP node and defined by jumping from a PoP node remote node is an Edge Server is more than jumping from the node, where the content is delivered should. If the edge is so far defined as "fat", as nodes, the more to as a jump, but less than N (N> 1) jumps are removed in the "edge" are, then you might Edge Server course up to N hops be removed by a customer.
If the edge is expanded universal in this way with servers, then make and scalable Internet services better overall. Unfortunately, there there is no single "edge" of the Internet, the can be easily removed in this way. The edge is in the Possession of a broad set of independent service organizations with different business models, working together very loosely, a global Internet connectivity to disposal deliver. In current business models Web content are generally characterized by a hosting facility in the published online, often about Wide area distributed, but not yet on the edge of time is. For example, as in<figref idrefs="S59">2</figref> shown is, has an ISP A one piece the edge while ISP B another piece the edge has, so that they cover the entire edge only by can, that they work together.
Thus depends on the Web Hosting Business it from that edge caching infrastructure through the entire infrastructure is installed through to the burden of hosting centers to reduce and to provide users with quality available, they by deliver content from the nearby network access points. Current business models However, on the Internet do not tend to encourage each service instance, their edge to improve quality Technology such as cache memories and splinters expand. this will only made if it is the service provider business sense to expand, for example, because the benefit of caching (reducing bandwidth costs and Delivering better quality for the Customers) Staer ker outweigh the investment in the installation and management of new infrastructure. Certain ISPs, for example, are not the Considers that this is the case.
content provider see tremendous value in it, access to a supply device to have the edge. This is true whether or not the content provider now a free (for example, through advertising financed) service or paid service (the payment by conventional financial channels is unwound or by using a micro-payment system), there for is the content provider always profitable if its contents efficiently and properly reach the client.
<?page 10?>
If the content provider could set it up so that its content always would be delivered from the edge of the network, then would Consumers its content is always the best possible performance from the Internet receive. Then would the content provider probably willing to pay for such a service, since these from those of its competitors by its contents improved delivery performance lifts and the recipients to which the provider sends its broadcasts, better serves. The existing However, Internet cache models do not provide coordinated control about that to disposal, which contents are placed at the edge, and this edge is owned and controlled by many ISPs.
1.3. Content Distribution Service Provider (CSPs)
On Content Distribution Service Provider (Content Distribution Service provider; CSP) is a service organization which Internet "content distribution service" to content providers sells and delivers. A CSP could an agreement with a content provider such as Yahoo or CNN to lock, so that the contents (eg web pages and streaming media traffic) of Yahoo or CNN replicated efficiently and through the Internet are supplied, whereby good quality experiences to recipients of this Content is delivered. These CSPs build their content network typically collocated its servers in traditional ISP networks and Redirect client requests to nearby servers based on various metrics , which with respect to the state of the network and the server infrastructure to be collected. For the implementation the diversion system "refer" URLs often rather on the service infrastructure of the CSP rather than on the Internet site the original Content provider. In fact, the CSP can now control which Content to be placed on its PowerEdge servers, and infrastructure so fit, that he is capable of, the contents of all his customers with high Power levels can be delivered to any Internet user.
In order to the CSP model can work, has a centralized authority, having the entire distributed infrastructure and controls, install devices and manage which the entire edge penetrate the Internet, by installing such devices along the edge of each independent ISP to all recipients benefits regardless them available question about where the clients of this receiver is connected to the Internet are. However, this is virtually impossible, as the Internet continues grows and develops. Even if such an instance is able would be a certain degree of success with this type of global installation achieve, would the resulting business model unstable and weak because the ISPs themselves that the physical network infrastructure possess, the new business opportunity notice and at least want some of them are even in the Content distribution market to enter. The result is a scenario, in which exactly the instances to which the CSP is instructed, so that they build their service offering, in effect, its competitors will.
As Alternative can offer, to allow the ISP of the CSP, the service the CSP under its own brand of the ISP to resell, thereby he builds partnerships in the end by the ISPs to a global expand content distribution system. This monolithic approach However, at each ISP closely with the content distribution technology the CSP connected. Since the CSP controls how content is distributed and are replicated and passed as clients to content servers are, the ISP does not have any possibility of his own relations with other CSPs and / or ISPs to strengthen. It is therefore likely that this business model weak and unstable will be.
2. General architecture for content distribution and peering
Around the fragility of the business models to overcome, in which an omniscient CSP infrastructure by independent ISPs coordinated to carry out the distribution contents is a by far more stable and more scalable business model the presently described "Content Peering "model. Content Peering eliminating or reducing the role of CSP and allows It ISPs, even the carrier to be content. In this model, the ISP has the relationship with the content provider and is investing in its own Edge server infrastructure, effectively a high-performance Supply of receivers to provide content with the content provider. But because each ISP only one piece the Internet edge comprises a total, they need all through "content service level Agreements "(CSLAs) cooperate to any other content from the edge of their own supply network and sufficient resources at its edge ready to keep to comply with the CSLAs who with their content partners received. That is, two ISPs, A and B, enter into a relationship, committed in the ISP A to wear the content customers of ISP B and to "supply", and vice versa. In other words, the ISPs enter into bilateral "content peering" a -relationships. Just as bilateral peering at the IP network layer Internet routing allows be bilateral "Content Peering "relationships a new form of Internet and web content routing and broadcast streaming enable.
With Content Peering is no CSP needed to the existing content distribution infrastructure bridging of ISPs. Instead would <?page 11?>the simplified role of CSP to such one in which it acquires content and accumulates. In return would the CSP to content distribution network of the ISP "content feeds" through content peering relationships to disposal put.
According to the present Description, a group of ISPs through peering at the "content level" and not the network level easier than before to develop their own content distribution service. On the network level individual data packets to route (the contents of the network completely are transparent) from router to router, from source to destination. In some make is the source in a network, and the destination is in another Network. An example would be if (with reference to <figref idrefs="S59">2</figref>) A to the ISP A on client <figref>12</figref> (1) a connected user a set of packages (eg an email message) sends to a user of the client with ISP B <figref>12</figref> (4) connected is. Peering at the network level takes place over a connection <figref>29</figref> instead, between the ISP A and B, probably according to a Peering agreement on power level between A and B, is provided. Thus would the packages in the ISP A to an edge router (not shown) routes, with the compound of the <figref>29</figref> is coupled, and then to a Edge routers (also not shown) flowing on ISP B, where it to the client <figref>12</figref> (4) are passed. Each router that the treated packages, has an idea of the direction in which the packets to be sent, so they brought on their way be, but the router does not know generally what the data in packages mean. Since the routers form a grid mesh, could the Router a packet to overload or a router failure around lead.
<figref idrefs="S61">5</figref> is a basic block diagram illustrating the elements of the network, in a simple client-server request and response play a role. As shown therein, the client<figref>12</figref> a Request to the server <figref>14</figref> by the network <figref>36</figref>and the request flows by an edge router <figref>38</figref>, An internal router <figref>39</figref> and another Edge Router. The answer flows through a similar Group of routers. For Content Peering is the whole thing adds an additional frame in <figref idrefs="S61">6</figref> as redirecting structure <figref>50</figref> designated is. The diversion structure<figref>50</figref> operates with a distribution network <figref>52</figref> and a server arrangement <figref>54</figref>To receive requests and Broadcast content delivered to individual clients to get. The diversion structure <figref>50</figref>, The distribution network <figref>52</figref> and the server arrangement <figref>54</figref> do not work on a network level, but on a world level, and thus form a grid on the Application layer. To listen to the various levels, shows<figref idrefs="S61">6</figref> not necessarily all power-level details. For example, the diversion structure <figref>50</figref> Router include to network layer on the to route. The diversion structure<figref>50</figref> and / or the server arrangement <figref>54</figref> could also decentralized and the entire network to be disseminated.
In this Rahme, the contents "passed" as content to the clients. The contents begin to a content server <figref>14</figref> and at an injection point <figref>26</figref> in the network <figref>36</figref> fed. reach from the feed point the contents of the server arrangement <figref>54</figref> about the Distributor Network <figref>52</figref>, Since the distribution network<figref>52</figref> as a net is arranged, can the contents scalable to many servers in the server arrangement <figref>54</figref> distributed are being diverted around a traffic jam or a failed distribution node is.
On model for a distribution network is described in McCanne I "overlay routing" approach. can in an overlay network Content at any connection point in an overlay network of "service hubs" are fed. This contributes overlay network Contents of each feed point could be located along an "edge" somewhere to Server, the co-located within the network infrastructure and over all major ISPs are distributed, whereby each ISP's own manage this subset distribution network and service hubs by virtual content can connect peering connections.
These Service hubs can initially in the core of the network be arranged, and on the time when the content distribution infrastructure carrying more and more traffic, can the server incrementally outwards are pushed to the edge of the IP network, which many aspects the network and the perceived user performance improved. Thus, Content efficiently the power to servers around be taken of the end user, which both the quality of experience the user (because content delivered quickly with less loss be) and the power efficiency (because content efficiently the entire network infrastructure to replicate what the number reduced copies, the above overloaded Network peering points transmitted and -Backbone networks be improved).
A Another preferred component of a comprehensive content distribution model is an efficient mechanism for connecting a client to the most appropriate server. As in<figref idrefs="S61">6</figref> illustrated is, "sticks" a diversion structure Clients at Edge Server, to provide the best content distribution path to disposal deliver. The diversion structure draws client proximity, network path characteristics, server load and utilization, and perhaps most importantly, guidelines on Based on Content Peering service level agreements into consideration, to decide how the client best to the service infrastructure can be connected. For example, when a client on a Weblink clicks, <?page 12?>directs the bypass system the request of this client seamlessly to the best server, regardless of any configuration or knowledge of a client.
Around to realize this diversion model, reflect on the Content providers generated URLs not to the origin site of the contents, but refer instead abstract in the diversion structure (Non-transparent redirection). This is achieved by "anchoring" of each content Spread Metz plant in a or multiple ISP networks accomplished by having a virtual "content backbone" as in <figref idrefs="S62">7</figref> shown is. That is, the content backbone anchored the URL namespace of Here rooted content distribution network using the described below APAR routing mechanisms. The distribution network is over the contents backbone built by installing application layer multicast routing devices in the service hubs in ISP data centers and forming an overlay network by peering This content-router Data Central using "virtual links". In collocation with any content routers are one or more content Server, the live or on demand streaming media and web content supply. Basically, the content routers form an intelligent network, the content-delivery points connecting with all Edge Servers in the content backbone.
Along each content router is a forwarding node that be Presence publishes the net and specifies the URL namespaces in effect that it manages. If So a user application tries concerned over the network with the communicate URL begins a nearby bypass device nodes in the content distribution network the request from. This derives bypass device node in turn the client to the most appropriate server on the basis of load and power measurements, which bypass device node Collect constantly in the background. Normally, the best server is located near the bypass device node, But if the local servers are fully utilized, the system can a Client divert elsewhere. This redirection can by explicitly direct communication between the client and the redirection system take place, but can also in some cases as an implicit redirection using the DNS (Domain Name Service) -Nachschlagevorgangs be implemented to redirect clients.
<figref idrefs="S63">8th</figref> is an illustration of what happens when more and more users access the contents backbone. As shown therein, a serviced Content Backbone <figref>91</figref> many clients <figref>92</figref> about individual Client Connections <figref>94</figref> between the contents of backbone and client via ISPs. Also shown are the unicast peering links <figref>96</figref>, The Peering costs between the backbone network and the neighboring ISPs take then, and the delivery quality will deteriorate eventually. To prevent this, a peer ISP may own content distribution network build using the present invention to deal with the contents backbone of association ( "peer"), to the content network to expand incrementally. The content router in this new installation would then configured to detect the URL requests, which in the Cooperating content backbone exhibit.
These ISP installation of content distribution technology does not reduce only bandwidth costs and provides the user with a better network quality available, but creates a new revenue opportunity by enabling this ISP, enter the content distribution service. That is, the second ISP would his produce and possess own URL namespace, which in his own Content backbone anchored. his then configure affiliated ISPs their content redirection devices to the new URLs detect, provided there is a business relationship to this level of "content peering" to support. In fact, it allows the content distribution architecture described herein each ISP, its own content backbone and its own content distribution services build, then mutually unite - not on the IP level, but on the content level - to to create as broad and far-reaching content distribution networks.
3. Creation of a network with content peering
In this section, an embodiment of previously outlined Content Peering architecture described. The system components include: <ul><li>1), a "federated" diversion system, which allows that content requests based on content peering relationships between ISPs (partly on the teachings of McCanne et al. I and II are based) are routed to servers;</li><li>2) a naming system in which URLs in the redirecting structure refer and enough contain information to make it possible that the service terminal system the content from the content distribution system retrieves;</li><li>3) a content distribution network with application layer content routers, which a "wide-area multicasting" of data (as described in McCanne et al. I support and II); and</li><li>4) Server technologies that are improved or enhanced, that they interact with the described content-designation system.</li></ul>
It are now the system components in <?page 13?>more detail below.
3.1. Federated detour
content Peering preferably uses a redirection system existing on the Peering relationships between ISPs mapped. One approach used Anycasting as part of the redirection process. Anycast routing uses the existing Unicast routing infrastructure. Each content backbone is its assigned its own anycast address (as a hook to capture content requests). Thus each ISP's set of bypass device node Configure this new anycast address to content requests This content backbone capture. The contents backbone serves as the default autonomous System ( "AS") for all requests, are not of a for Content distribution capable ISP originate or pass through. Administratively provided Interdomain anycast routing can be used to allow the contents backbone several autonomous Systems overlaps.
According to the present Description There are several solutions for redirecting. Such an approach uses DNS (Domain Name Service) server for performing the Redirecting. Using this approach can the DNS servers an anycast address are allocated so that they in the Content Peering model fit. can be prepared using N * Configuration decide the DNS server of an ISP, certain questions to the Edge of the ISP and other requests to a Main Hub, and still others Requests to its content Peers to lead (depending on the intended guidelines).
On Aspect of a scalable and efficient content peering implementation could be a seamless redirection model that the administrative guidelines and limitations of the comprehensive content distribution system infrastructure considered. In this model, a content distribution network is (CDN) as a virtual structured network that multiple and possibly independently managed sub-CDNs overlaps. In fact, this network forms of CDN networks a "content-Internet", since the sub-CDNs into a massive CDN are networked.
3.1.1. Administratively Provisioned InterDomain Anycast Routing ( "APAR")
Administratively Provisioned Interdomain anycast routing ( "APAR") refers to a unicast routing method used in the bypass system is. A variation of APAR is in McCanne et al. II described. If APAR is used, each of a small number of CDN assigned anycast addresses. An anycast address is an individual Unicast IP address that several different physical instances is shared. These different physical instances are configured to the unicast routing protocols to participate, and the net effect is that at this anycast address of packets sent to the next device are passed, which is assigned to this address.
Around this approach over the Wide range extend, one or more BGP autonomous systems (AS) configured to announce this special anycast addresses. Thus, anycast routing is performed on the inter-domain level, because BGP the shortest Way (limited calculated by BGP policies) to the much advertised address.
Around the installation of this approach to facilitate, could a block of unicast addresses are assigned exclusively for APAR to to enable ISPs to Guidelines for these specific anycast addresses easy to define. For example could IANA initially a / 20 address block (ie, a block of 4096 IP addressees) for Use for APAR rejected. Thus, be sure an ISP that the anycast routing state never exceeds 4096 entries (Because there are likely to be much less in practice, since not all the addressees are used and subregions likely be merged). This overcomes the problem is that some ISPs BGP use policies to routes with prefixes, the Greater 20 bits, to block and thereby avoid a case, in which an ISP in the Internet BGP routing tables with many unique Addressees flooded with long prefixes. Instead, these ISPs to change their policy to the extent such prefixes always to block even while they only routes with long prefixes transmit that within the reserved, well-known APAR Anycast address range covered.
3.1.2. Content Backbone
Each CDN has an associated "Content Backbone", which is to the group of AS's is that this the CDN associated (n) anycast address (n) to announce. Within the content backbone devices are installed, the / the Anycast address (n) are allocated. Such devices could webserver Streaming media server, application-specific forwarding devices, DNS server, the virtual address of a layer 4 switch load balancing apparatus etc.. Thus, each packet sent to such an address is (whether this is a "stateful" TCP service connection or a "stateless" UDP transaction as DNS) to the nearest instance a Anycastadressierten device Gelei<?page 14?>tet is.
For example shows <figref idrefs="S64">9</figref> a configuration in which the content of backbone <figref>1</figref> among Using the anycast address A * is installed in the AS 100, while the Content Backbone <figref>2</figref> about the AS's 200 and 300 is installed using the anycast address B *. As in<figref idrefs="S64">9</figref> shown is announced B * BGP routes to. The Vorrichtun boreholes A1 * and A2 * are the anycast address assigned A *, and the devices B1 *, B2 *, B3 * and B4 * are the anycast address assigned to B *. (Anycast addressed devices possess a common, unique IP address to them for a Network management access is so assigned. We refer to this address as the management address.) A to the address A * packet sent is applied to the next device conducted in AS 100, whereas a to B * packet sent either AS is led 200 or 300 (depending on the BGP route preference). For example, if the host sends a C1 to A * packet addressed, is it along the path <figref>101</figref> * passed to the device A1. Similarly, if the host sends * C1 a packet to B, it is moved along the path <figref>102</figref> * passed to the device B1. If the host C2, however, a packet * sends to B, it is along the path <figref>103</figref> at the device B3 * passed.
3.1.3. Anycast peering configuration
According to the above Description of the CDN system can then by generating Angliederungsbeziehungen between the contents of backbone and another AS to other AS's (as described in McCanne et al. II) be extended. For this purpose, installed the Affiliate Means anycast addressed devices (or configured their existing new) in the anycast address block owned the content in question is backbone. These devices in turn announce the corresponding anycast route in the Internal Gateway Routing Protocol (IGP) of the AS, but these routes must not continue this AS in the external BGP route (otherwise would not considered to be part of the contents backbone under our terminology). Thus, to the anycast destination addressed packets submitted by hosts within the network this ISP, or packages, through the network of the ISP, to the nearest anycast addressed Device passed.
This approach allows it is that the same physical infrastructure, and the same devices over several independent CDNs are used again. Example shows<figref idrefs="S65">10</figref> a Variation of in <figref idrefs="S64">9</figref> shown with layout changes, so that the AS 400 annexation of content Backbone <figref>1</figref> becomes, and the AS 500 annexation of both the content Backbone <figref>1</figref> as well as the content Backbone <figref>2</figref> is. Here are anycast addressed Devices in the AS 400 is configured, the address block A * to announce while similar Devices are configured in the AS 500 to both address blocks A * and to announce B *.
If Now the client C2 * sends a packet to the address B, it is along the path <figref>111</figref> * passed to the device B5. Similarly Example, if the client C2 * sends a packet to the address A, is it along the path <figref>112</figref> * passed to the device A5. Thus, the AS 500 detects the parcels within its domain due the IGP route, eliminating the need is avoided, the request all the way to lead to the contents backbone.
Furthermore can the two content backbones join together, as in <figref idrefs="S66">11</figref> shown , where they are an affiliation of each other. in this connection would be that AS 100 annexation of AS 200 and AS 300, and AS 200/300 would to affiliations of the AS 100. This is accomplished by installing the Anycast addressed devices B5 * in AS 100, A3 * in AS 200, and A4 * achieved in AS 300, and by modifying the IGP of each AS to capture the traffic of the other contents backbone.
3.1.4. DNS-based content peering
According to the above Description can APAR routing system be used a type of content on the basis of specialized peering perform DNS servers, which are referred to herein as "APAR DNS server". In this model, the APAR DNS server with one or more APAR anycast addresses configured and therefore appears as a name server to one or more CDNs. In other words, the APAR DNS server is typically a single Part of the physical infrastructure that is either owned by the ISP is where the device is located, or in possession of a Third with collocation of its equipment in the network of the ISP, the multiple virtual CDNs support, which is owned by third content service providers, or possibly are from other ISPs.
the CDN backbone configured DNS so that a sub-tree of the DNS namespace authoritatively managed by the name server with an APAR anycast address is. In other words, the namespace is on the Federation APAR DNS servers administered, which are configured with this anycast address and as the authoritative name server for DNS subdomains in the subtree serve. This is achieved in that<?page 15?>simply the desired anycast address published as a name server (NS) DNS resource record for the desired CDN subdomain is (s. below).
in the Prior art binders DNS server a finite set of configured Names on a finite set of host addressees. extensive Research and product development, this model has generalized so that DNS for different types of load balancing, web content replication etc. can be used, but in all these approaches the entrance is a name previously known and explicitly configured in the naming system have to be.
otherwise need than this prior art is not the APAR DNS server to be configured with a lot of well-known names on ei ne possible Volume to be mapped by the addressee. Instead APAR DNS server unlimited amount of any name, expressed in a manner that the information on the Content encoded request, mapped to a set of address locations. The targets are configured in the APAR DNS server along with attributes, their skills, administrative restrictions etc. describe. The configuration of targets and related to it attributes can using an external protocol (a APAR DNS Management Protocol) can be modified dynamically.
In addition, programmed guidelines in the APAR DNS server to the portfolios of catching designated service requests at targets. To ensure proper load balancing inquiries about perform the service infrastructure and hotspots with congestion to avoid, may Server load information and Netzwegcharakteristiken between APAR DNS servers at the edge of the network (near the client) and the service infrastructure be entered in the APAR DNS server from an external data collection process.
Of the APAR DNS server will map programmatically a name-to-address translation request in a goal by: <ul><li>1) parsing of the name to the Metainformation M to determine in respect of such designated service;</li><li>2) Find the possible Lot of goals in the configured database that match with M;</li><li>3) cutting the possible Volume based on configured policy server load measurements, and Netzwegmessungen;</li><li>4) Select a member of the final amount on the basis of additional Directive;</li><li>5) resending the selected Address (or set of recipients) as DNS A record to satisfy the DNS lookup (typically with a TTL of 0, so that the entry is used only once).</li></ul>
Among Using the above process can DNS name structured as follows are: <codepoint> <provider> where <codepoint> the aforementioned meta M defined. and <provider> DNS subdomain is corresponding to the CDN network. The field <codepoint> provides information such as application type (Eg Web, G2 streaming video, stock quotes) the customer (eg Yahoo or ESPN), the size of the object, the class of the object, etc. This encoding scheme can be generalized in many ways are hanging together with the proposed architecture. the Field <provider> is simply the DNS subdomain the CDN network (eg cdn.acme.net). That is, names with the suffix are cdn.acme.net of APAR DNS servers dissolved, which the most appropriate targets on the basis of external configured policies and dynamic network and server measurements choose. Therefore, it could the name of a Web object, which is owned by "ABC" and distributed over the "ACME Networks" -CDN is, the following structure have: ad102.web.abc.cdn.acme.net
Around resolve this name, would the DNS query mechanism learn that cdn.acme.net with by an authoritative nameserver an APAR anycast address will be treated, such as N *. If then a client tried a designated with this name to object pick, would the DNS request for ad102.web.cdn.acme.net by this client to N * sent, which resulted in that the request to the next APAR DNS server would be conducted, which was configured to handle requests for cdn.acme.net. For example, let in <figref idrefs="S67">12</figref> assumed that N1 * N2 * and N3 * APAR DNS servers are configured with the APAR anycast address N *. It should be noted that N3 * BGP APAR anycast routes heralds (shown by the label N * "). The DNS request the client C1 is routed to N1 *, while the request of the client C3 is passed to N3 *. C2 in turn can either N1 or N2 * * will run, depending on whether the BGP route for N * from the AS 200 AS 400 straight or AS 400 over AS 100 favors what administratively with BGP routing policy can be controlled.
Within that framework the various N * 's be programmed with various guidelines. For example may be configured N1 * to server S1 or S2 for this inquiry <?page 16?>to choose, since S1 and S2 are located close to the requesting client. But for others Name requests (eg ad102.web.nbc.cdn.acme.net) may decide N1 *, the server return S4, which is located further away and therefore a potentially lower quality of service available. Such policy would useful when a customer of the CDN network (in this case, NBC) a (Eg compared with ABC) Service lesser degree buys. Since the Customer information is explicitly encoded in the name, can such Decisions are taken as part of the DNS lookup.
Around integrity to ensure the information in a name, can the Names contain a digital signature embedded in them is, the key used to generate the signature only the name generation instance (ie the customers of the CDN network) and the infrastructure (ie the APAR DNS servers) is known. Thus could a Users do not change the way he receives service by he outwits the infrastructure, to treat the request with an unforeseen quality of service. To forwarded on behalf information to conceal (what the CDN service provider or its customers may be desirable), can also the <codepoint> are encrypted, even with a secret key.
In addition to customer information could be the Name a special type of requested service call. For example could show chan4.abc.tv.cdn.acme.net, that the name is not a static web object, but a streaming Media channel corresponds. So if the APAR DNS server performs the name resolution, he would not choose a web server, but a streaming media server as the target.
It it should be noted that in none of these cases the name ad102.web.abc.cdn.acme.net or chan4.abc.tv.cdn.acme.net explicitly configured in the system is. Instead, the dependency be explicitly interrupted between names and resources, and goals on the basis of flexible and programmable directives selected. That is, ABC could new content items (Ad103.web.abc.cdn.acme.net example) create new names and need this Names not explicitly registered with the CDN. Instead, would the CDN to the new name during its first use on easy adequately respond.
As can be part of this process, the APAR DNS server track the location of a piece of content. That is, an external agent can explicit location information for a given distribute objects to the replication amount that takes place to optimize. Or the APAR DNS servers can easily remember, when they recently Clients have passed, and future continue to forward requests to the same place to the generation of unnecessary to avoid redundant copies content (and to monitor server load to produce and copies only when the server load allows this).
<figref idrefs="S68">13</figref> illustrates as the APAR DNS redirection architecture installed incrementally can be. Initially N1 *, N2 and N3 * * installed only within the content backbone. In collocation with each APAR DNS server is a content Server (S1, S2 and S3). About that They are also near arranged the peering points the ISP, which makes the system as a whole allows is to know what the next peering point for the Client is requesting the service. So when a client name request at node N2 * arrives, would For example, this server is preferably the address S2 for the requested return the name. However, if overloaded S2 is, could be informed thereof N2 * (either through visits to the load on S2 itself, or by obtaining an information on this overload condition by a other agents) and could Instead, clients forward on alternative server (eg, S1 or S3).
Around to support an incremental installation can APAR DNS servers are installed in AS's, where no co-located servers exist. For example shows <figref idrefs="S69">14</figref> a configuration in which the AS 100 and AS 200, the content-backbone to the servers S1, S2, S3 and S4 include. The AS 300 is an affiliation without server. N3 * but may be configured to use the server S1, etc., and, the quality of service, which is delivered to the customer on or behind the AS 300, improve, by the appropriate server on the basis of dynamic Server and network measurements, replication restrictions and configured Directive chooses.
A another possibility for N3 * is to use servers that are not in possession of the relevant CDN are. Thus N3 * be configured to the server S1, etc. preferred, except when the performance deteriorated, which he can decide at this point, requests , X2 redirect to the Server X1, which owned by another CDN network or the ISP that owns the AS 300, may be. Since all this through a Directive is controlled, resulting from Content Peering Service Level Agreements yields, a payment can be made easily, so it reflects the resources that are shared among peering CDNs. Ultimately the performance an Internet from CDN networks most effective when this technology installs universal. In this model, each ISP to CDN peering arrangements would participate and content from many various<?page 17?>those content providers for many deliver and convey different CDN providers.
3.1.5. Explicit redirection
DNS server caching frequently Name-to-address bindings to the efficiency of the translation process to improve and reduce the bandwidth. Caching results but means that the server selection decision outdated. This can for the web represent an acceptable balancing effect because Web transactions volatile are and the system easily to an overload on a timescale may adapt, in a ratio is related to the rate at which the cache entry expires. An obsolete redirection decision However, for other forms of transport such as streaming media or persistent file transfers (Eg large Web objects or music downloads), where a client connects to the chosen server while connected a long period of time remains, definitely not acceptable.
also if caching using a TTL of 0 in the DNS response message can be turned off, could this potentially a disproportionate burden the performance cause the DNS system, except if the APAR DNS servers are installed universally, which in the initial Setting up such systems is not expected. Some ISPs configure their DNS servers to ignore the TTL field, so it is not possible, Caching altogether avoid. Even if caching is avoided, deteriorates the use of non-cacheable DNS replies the response time of Web transfers overall, because the DNS translation step often a considerable Fraction of the Web transaction may be total (particularly for small web properties), and this prevents the DNS server close to the requesting Client from the translation step for others Clients to cache. Thus, it is important to use DNS entry-caching, a good performance a CDN to achieve overall, but could use outdated data lead.
It Assume that the APAR DNS server a streaming media server S chooses, to a particular streaming media feed and sends back thus. Further, assume that the response for one minute is cacheable. The case will now be considered in which it occurs that 5000 Clients just request this feed to the next minute. There the mapping for S in normal DNS system is cached (the CDN is not aware of itself), S is the goal 5000 of client connections. If it exceeds the capacity of this server, the performance are the Client deteriorates, or the compounds of the client rejected.
Around overcome this problem, could be a explicit redirection instead (or in combination with) a DNA-based Redirection can be used. Here are forwarding modules as anycast addressable Devices installed, as well as the APAR DNS server previously were installed. An application-specific connection request (Eg HTTP or RTSP) is then sent from the client to an anycast address, which then redirects the client to an appropriate server. In this Case is always an explicit redirection step contain what a Obsolescence of cached DNS bonds avoids. That is, a bypass device can continuously monitor the server infrastructure and its forwarding behavior change immediately, to changes the load or the Netzwegcharakteristiken reflect. This Progress in McCanne et al. II described in detail.
A explicit forwarding can be combined with an APAR DNS Redirection are to achieve the best of both approaches. In the following Description it is assumed that a APAR DNS system already installed is. If such a system is installed, the APAR DNS server instead could a DNS mapping to a specific server to be returned, a mapping of return an explicit redirection device that a fine-grained server monitoring and load balancing performs.
<figref idrefs="S70">15</figref> illustrated this configuration. Here is the same streaming media request from the server S2 delivered to the client C2 in AS 200, but by the server S1 to Client C1 in AS 100. In the former case, the client performs a DNS request C2 on the service name by which the APAR DNS server N2 * the address N * (path <figref>21</figref>) is passed. N2 * parses the service request and decide on based on a configured policy that the bypass device R2 can provide the requested service is available, and sends Therefore an A record for the address of R2 in response to the original request (Path <figref>22</figref>). The client C2 then calls an application-specific compound (eg, HTTP) to R2 (path <figref>23</figref>), Which responds with a message (Path <figref>24</figref>), Which instructs the client, a streaming media request (Eg to produce RTSP) to the server S2. It should be noted that the bypass device R2 then with their own set of guidelines and potential Target servers configured for corresponding guiding clients. Similar steps would for the Client C1 undertaken, as indicated by the paths <figref>11</figref>-<figref>16</figref> shown is.
As alternative could APAR DNS server APAR anycast address a group of forwarding devices resend. This would make a Scenario allow, wherein an APAR DNS server is installed in the core of AS, <?page 18?>during a Number installed explicit diversion devices over the edge, as in <figref idrefs="S71">16</figref> is shown. in this connection N1 * configured to an address A * (A1 * ... * A3 assigned is) returned in response to streaming media requests. Then would a Client request, as of C1, at the next explicit bypass device, in this case, A2 *, passed. A2 * would then decide how the Client should be explicitly redirected, as described above is. A similar Process is for the Network performed the N2 * contains.
3.2. Content distribution Naming System
Normal URLs (the origin server) have the content server, can not always be "captured" by a bypass device. For example, if a client a request using a URL provides that in the diversion structure has, knows the Redirecting structure immediately the origin of the request (because the is source address replaced by an anycast address). Thus it is a better approach, additional to carry information in URL, which can be used, to identify how the content can be localized, who the customer is, etc.
In the Web architecture is the name of a Web object in a server name and a path split from this server, which is typically expressed as URL. The bypass system according to the above but description is on the mapping of the server name of the Web object (or the content request general) to any service node instructed within the network infrastructure. Thus, it could be that the server name, the content in question no longer clearly identified.
Around overcome this problem, gain the typical, used by other diversion systems, which disfigure the server address in this way, the original Intention of the web naming system by embedding additional Content designation information in the path component of the URL. For example could be a conventionally as http://www.foo.com/index.html designated Web object regarding the CDN are designated as follows: http://foo.cdn.acme.net/www.foo.com/index.html
These allows representation then the CDN redirection system of ACME network, client requests for this to conduct object to any server in the CDN. Upon receipt would the request This server is capable, the content from the origin server to pull at www.foo.com. This approach can, of course, so be generalized that it any Inhalteleitungs- and policy information embeds in the relevant URL.
On better approach, of a higher degree of flexibility to disposal represents, is the addition of a level of Ungerichtetheit, the URL or the name contains the address of a server, of any information about to disposal provides, such as the content request to be treated. For example could a service request for a live broadcast will be presented with the following URL: http://foo.cdn.acme.net/cdn.foo.com/Channel12
in this connection has cdn.foo.com point to a server, the information bank about that, as content requests are handled, managed. The service node, receives this request, could cdn.foo.com Contact to query how the "Channel12" -Inhalteanfrage to be operated. This server could then respond with a message that notifies the service node, to connect to a specific application layer multicast channel to receiving the broadcast (s. below), or, alternatively, a cascaded Supply from a streaming media server elsewhere in the network to pull. adding this could Ungerichtetheit assigned any amount of content meta information a URL be without this information specifically in the URLs of the content provider must be placed. Furthermore, these meta information can be changed dynamically, eg to the way to change, distributed to a broadcast on the basis of an overload or power failures is. After all could the efficiency This Directory Systems are optimized by caching results and / or distributing the information on the application layer multicast network, which could form an integral part of the first offering CDN.
3.3. Content distribution via application layer routing
Application layer multicast routing can be used to deliver live content and a cache hierarchy for a to cause to request driven content replication. Application layer multicast routing can also be used, content routing policies, server load information, Replication information, etc. to the forwarding devices distribute (ie redirection devices enter an application layer multicast group at to find out how to make their redirection).
The above methods a client redirection affect server generally, but at a CDN act servers typically in accordance with other Elements in the network, <?page 19?>to content of the publication sites on the net to bridge to the CDN server. insofar is there a more efficient Model, the server as access points to an application layer content network to cast, as in McCanne et al. I described. In this model, be the client requests based on server load measurements, Netzwegcharakteristiken, administrative location, customer guidelines etc. sent to service node connection points. Content is a Application layer network of content routers passed. additional layers of Naming and addressing can be implemented to this network content over the underlying Internet to lay.
If For example, a client requests a service, contains the request (expressed sufficient as a Web URL) Information about the content correctly from the application layer content routers to request, as described above. For a live streaming media broadcast For example, the service connection point has to broadcast from the gain distribution network in a manner that allows the system, to scale with the number of access points. For this purpose a Distribution network between the broadcast feed points to the Service connection points connected. Instead of a global installed "multicast" to leave -Netzdienst, the system described here instead uses the service infrastructure again to service hubs on the Wide area to bridge to an "overlay network". This Overlay calculated multicast routes at the application layer, efficiently live streams via the Wide range of each input point to any service connection point splits based on a subscriber model and replicated. A network layer (native) Multicast - if available - can of the application layer content distribution system recursively as optimization be used.
On Application layer multicast network is not only for conducting live content over the Wide range of benefits, but also can be used On-Demand Web and Streaming media traffic asynchronously to direct. induced in this model a multicast route from a feed point to all edge locations a cache hierarchy, a cache miss the tree up to his Publication Location is passed. That is, when a cache memory (E) at the edge of Network must pick a content, such as from a source (S), consulted this edge device, the application layer multicast route for at S-rooted spanning tree. This route is the root node (P) in the tree on the way back to S , and the edge device in turn sends the content request at P. Then P consulted its cache to see, whether the contents are present, and - if so - provides the content along the tree back to E, where each node along the reverse path of a copy requested content stores. If the content is not available in P were P propagates the request up the tree according to the multicast route, and so on. This distribution model scales well because everyone Node in the tree a given content item most once requests, however, over time the entire edge the network with the contents occupied.
As Alternative may be used the multicast mechanism to Cache memory to the edge of the network using jump by jump dependable Multicast "prefill". (In contrast to a network layer multicast enables Application layer service infrastructure to implement detailed reliability forms on a hop by hop basis.) These include certain cache memory at the edge of the network to one or more application layer multicast groups. On Organisationsort the content is new content updates published to a group, the reliable Manner is distributed to all the cache memory, the members of this Group. also is the diversion system the cache updates information so that clients to cache memories be diverted, which have the requested content. Thus changes or additives content in an efficient manner to large portions of the edge caches distributed using application layer multicast.
One the elements of an effective contribution system is efficient Exchange of information on the various components that make up the overall system, eg distributing server load information to redirect devices Content replication decisions about the system Netzwegmessungen, etc. This could include Application layer multicast content distribution mechanisms again be used to the meta information about the system components to to distribute. For example, could all forwarding devices in a "domain" on a common multicast group participate and exchange load information about this group. Also could, if a system element decides to replicate an "active" content to a different server, this Replication Event all forwarding devices by publishing the event on Multicast infrastructure are familiar. The forwarding devices in turn, could then Clients conduct the new copy of the content.
3.4. Improved Server skills
As in the <figref idrefs="S60">4</figref> etc. is shown, the servers are <figref>40</figref> in the infrastructure <figref>16</figref> embedded, and<?page 20?>se Server <figref>40</figref> will of the distribution network <figref>52</figref> (in <figref idrefs="S61">6</figref> shown) supplies, and the diversion structure <figref>50</figref> directs clients at Edge Server to. If the above URL conventions be used, such as creating a reference to such Such that the diverting structure can deduce the origin, then could a conventional Web cache or streaming media server will not be able to original Pull down content. Thus, these servers with simple rules to dissolve the content request over extends the conventions in the URL. For example, a detour conscious Webcache parse the URL path and determine that it should go to a particular Web server in the network, pull down the content. Alternatively, the cache memory a database consult (by another directory system from anycast type) the informing them of where to pick up the content, or the cache memory can be configured to the content from the content network to draw, eg, by the content router look like its parent are Web caches and serves the request by the content over the Application layer content network draws.
On Another example is live content such as streaming media. Here could be the Edge Server parse the URL to find the streaming media "channel information" that a Application layer multicast group could be. To the live broadcast to received, would the Edge Server on the application layer multicast group Using the in McCanne et al. Methods described I participate.
A of the challenges, the CDN architecture described herein of the imposed, is that the DNS system is used again, a client redirection perform, which leads to, that the original lost place of the content goes. To overcome this, additional Content identification information is transferred elsewhere, such as described above by embedding the URL. The downside of this approach is that devices that rely on the conventional URL semantics can not work for example, a Web cache, the original not fetch content from the host address specified in the URL.
Around the ability to cope, have to his legacy devices either configured it this offloaden problem in a "CDN-conscious" component can, or she must changed be that they match up with the new architecture. In which former approach could, for example, be configured to a Web cache, a CDN-conscious content router using the Internet Caching Protocol (ICP) as a parent to use instance, a scheme that virtually all commercially available Cache support. If such a cache memory, a content request for content receives, that are not already present in the cache memory, it forwards the Request to the parent ICP further, which then responds with the data concerned by he interprets the modified URL, the content on the CDN network moves, and the fetched data to the requesting cache memory resend.
As Alternatively, an existing server technology with rules in terms of the resolution of Content on request the conventions in the URL to be extended. That is, a new URL format could such be defined that web caches recognize the special format and the request in accordance with the new could treat semantics eg in a miss, the cache fetches the content from the the URL embedded server location. Or the cache memory could with be extended protocols that match the CDN network, and could the content directly through Get the CDN. Similarly way could for live content a modified streaming media server to a broadcast participate, by acceding to an application layer multicast group either embedded in the URL or from a directory using be obtained from meta information that are encoded in the URL.
4. Client-Driven Service Rendezvous (CDSR)
4.1. General CDSR architectures
While the DNS-based redirection and the explicit redirection methods according to the above Description viable solution approaches for content make Peering based on APAR routing available they exhibit some limitations on. In the DNS approach configure user instance often their hosts incorrect, to use DNS servers that are located in different service provider networks, either by mistake (for example, because they change providers, without updating their DNS server address) or intentionally (eg because the DNS system of your provider a poor performance owns). Even if a host is configured correctly with the topologically closest DNS server is, the accuracy of the DNS-based redirection is only as good as the granularity the cover of DNS servers. For example, an ISP only a DNS servers install his entire autonomous system. In this case, all forwarding decisions for all customers of this ISP based on this a DNS server performed. Furthermore Caching DNS servers often Name translation results even if <?page 21?>the DNS response packet a lifetime value of 0 indicates. In answering a service request, an APAR DNS server therefore not ensure that only one client for a given Forwarding the transaction to the selected Server connects. For this reason, the number of clients that a communication with this server try not easy to control. Finally cache clients often Name-to-address translations in the application itself, because they assume that the DNS a stable, (Almost) static mapping of names to addressees provides. If fails in this case, a server and the client attempts to contact the failed server has the bypass system no opportunity to an alternate address for the return failed server.
Of the explicit redirection process is (compared to a transaction redirection as the APAR DNS solution) compute- and memory-intensive, because he making a TCP connection, the Assemble the request message from any TCP packets, Parsing the application layer protocols, which request message the include the answers to a properly formed redirection message, and the shutdown of the compound include. In comparison, includes a transaction forwarding system only receiving a single request packet parsing of its contents, and the Reply with a single response packet. There is no relevant Verbindungszustand- or protocol processing, which there must be a packet sequence. Moreover, due the explicit Redirect to something complex application-specific protocols, which are inflexible in terms of its scope. For example when the bypass device a client to a particular has passed Server, these client-server relationship is established. So if the server fails or the network path between the client and the server problems the performance has or fails, the client can not reconnect to an alternative location, because the bypass system is no longer on the server-client communication participates.
Around overcome these problems, can redirect as a central and fundamental part of the Internet infrastructure be redesigned, as well as the DNS system, a central and pervasive Part of the website is. In DNS, each host includes the Internet a Logic and configuration state which allows any Internet host, dynamically interact with the infrastructure, to name-to-address translations perform. That is, a host is configured with the IP address of a DNS server, name translation for this client performs - the client interacts with intelligent agents (ie, name servers) in the Infrastructure in order to obtain this service.
<figref idrefs="S72">17</figref> illustrated this architecture. Here call applications a stub resolver on end-host to, in turn, with DNS server agents in the network infrastructure interacts. All these agents are using the underlying IP packet-forwarding service for the Communicate with each other.
On ubiquitous Rerouting system according to the same Mindset be constructed as shown in <figref idrefs="S73">18</figref> illustrated is. In this model, applications interact directly with a Redirection stub running naive to the end host. This redirection Stub communicates with intelligent agents in the network infrastructure, to perform explicit forwarding functions for the client. Because a new interface is generated with the by-pass system, and Applications are specifically designed with this subsystem interact, the problems relating to transparent are Forms of diverting eliminated. For example, a specific applications Logic to restore service connections with fancy or faulty servers include. This approach for redirecting is client-driven as " Service Rendezvous "(CDSR) referred to as the end client actively participates in the redirection process.
If CDSR builds on the APAR routing system previously described, it represents a scalable and incremental installable frame for content Peering at large scale to disposal, wherein different service providers different parts of the physical own infrastructure and operate in order to in peering arrangements enter the content level. This model can preliminarily described APAR routing system be used to Content Peering under perform using a client-driven forwarding agent who is referred to herein as a CDSR redirection device. Here, a CDSR redirection device with one or more APAR anycast addresses configured. As with APAR DNS is the CDSR redirection device a single part of the physical infrastructure, either in Possession of ISP's, in which the device is located, or a third party, the equipment, the arranges in collocation in the network of the ISP, the more virtual CDNs supports, which is owned by third content service provider or perhaps are from other ISPs.
Around to support a CDSR redirection, are Client applications modified so that it directly to the bypass system interact by a redirection stub on the local host call. This stub communicates turn over<?page 22?>APAR anycast routing CDSR redirection devices in the network infrastructure. This dialogue place as a simple single packet request / response interaction instead, so the transaction is stateless and thus problems relating to route flaps avoids (ie when a route-Flap leads, that a sequence of anycast packets to different physical Hosts is headed, what otherwise stateful transaction would cancel).
It are many possible Ways in which a client this service could perform rendezvous task but such a mechanism could on the widely accepted method of referring to content resources and services with URLs based. parses In the current state of the art an application such as a Web browser or a streaming media player a URL in a server component and relative path component. The server component is typically the DNS system to the IP address the server resolved. The application then initiates a TCP connection with this server and is a request for the object from which the relative path component specified using an application layer protocol such as HTTP or RTSP is. The object is then received or streamed over the connection to the client or a linked Compound which produces as a side effect of the original transaction is.
Among CDSR the client uses an alternative approach. Instead of the URL parse in server and path components and a connection with initiate the server presents the client the entire URL the CDSR stub, which in turn a service request packet to the next CDSR redirection device sends in the network infrastructure. The next diverter is localized implicitly by the use of APAR anycast routing. That is, the package is such as A * sent to an anycast address, associated with the CDN backbone that hosts the content to which refers that URL. There are many possible methods for obtaining the address A *, but such a procedure would be that Address in the URL in accordance with generally embed known conventions, for example, as part of the path or as the server address.
For example could a URL pointing to a news feed ( "news.rm" called) refers that in the "any" node on the ACME Networks CDN Available is, have the following form: rtsp: //any.cdn.acme.net/news.rm
Here would the Client the host component of the URL "any.cdn.acme.net" inspect and by any mechanism determine that this URL on a CDN backbone and not to a specific Server refers. There are many ways for the implementation of this Determination, but such a mechanism it would be a well-known to define amount of IP addresses, so that they as APAR anycast addresses serve. For example, IANA can a particular range of unicast addresses reserve from the IP address space specifically for APAR anycast routing is provided. Or a static group of recipients can range from various service providers are assigned and either static compilation or by dynamic download updates over the Internet are configured in the end-host applications. With these conventions might derive the client by inspecting the address directly that he instead of the conventional Process the CDSR system for Service should use Rendezvous. Alternatively, could the DNS have a special attribute that indicates that a certain DNS subdomain is managed by the CDSR system.
In continuation the example it is assumed that any.cdn.acme.net * dissolves to the IP address A. Then the client sends a request packet using UDP-CDSR with the IP address A * as the destination address field of the IP header. As a result, the request packet is to the topologically closest guided-CDSR Umieitungsvorrichtung which receives the packet and reads the URL from the payload of this package. The CDSR redirection device turn consulted their einkonfigurierten Guidelines and Information Bank of load measurements to a suitable place to complete the to determine the requesting client.
On example for this operation is in <figref idrefs="S74">19</figref> shown in greater detail. Here presents a user a URL to a player (path <figref>300</figref>) Through a mechanism (For example, by typing the URL into the user interface, or by clicking on a hypertext link). The player will then parse URL and triggers the domain name any.cdn.acme.net on by a DNS request along the path <figref>401</figref> on the DNS resolver on the local host to a nearby DNS server <figref>400</figref> sends. The server calls the DNS system in the normal manner to the Name dissolve in the anycast address A * (Configured in the DNS through a network operator who on appropriate manner the authoritative name server for the acme.net DNS subdomain configured). The DNS server in turn responds with the address A * over the path <figref>402</figref>,
To this time determines the client that the address A * an APAR anycast address is, and therefore sends a service request message to the URL contained the CDSR stub <figref>102</figref> about the path <figref>301</figref>, All within the local host. Of the<?page 23?>CDSR stub then sends a service request packet in UDP encapsulated at A * addressed in the Network that the packet to the topologically closest CDSR redirection device <figref>200</figref> passes. The CDSR redirection device then determines the address of a server, with which the requesting client can connect with your Decision on any set of configured policies and measurements based that gathered dynamically from the current system be, and the IP address of the requesting client. This directive and configuration information of the CDSR redirection device dynamically assigned some external network management protocols that may be of CDN operations center originate, for example, via the network path <figref>207</figref>, In this way, while to guidelines over time to develop (eg on the basis external relationships between network providers and the CDN service provider), can the CDSR guidelines are updated to certain desired service to meet level agreements.
For one proper load balance monitored server and computer resources the CDSR redirection device the local server <figref>201</figref> and <figref>202</figref> via communication paths <figref>205</figref> or. <figref>206</figref>or the CDSR can load updates as described above over a received application layer multicast group. Thus, the CDSR redirection device informed decisions about meet, where clients redirected based on the server load to be. If the entire local service facility at full capacity is that CDSR redirection device may decide the client redirect deeper into the network to servers that are not in the diagram are shown. This decision may be based on information, of the alternate server (eg their availability provided and use) available be that through the wide area, for example through the path <figref>208</figref>, May be communicated.
in view of All of this information is the CDSR redirection device then in a position where the original Request packet to answer. Assuming for example that determined is that the server <figref>201</figref> the most appropriate connection point for the Client, transmits the redirection device CDSR a response packet back for CDSR stub on the end host over the path <figref>302</figref>That contains the address of the server that the in the original meet specified URL content can. The CDSR stub in turn sends this result to the requesting Application back, which then calls a normal content transaction (eg a web transfer or an instantiation of a streaming media flow) using traditional client-server protocols selected on the server to lock.
If after all the requested content is not on the server <figref>201</figref> available (ie because it did not previously moved to this position, or on the Content broadcast network were passed), then the server requests <figref>201</figref> the content on the Content network by a nearby content router, ie by the device <figref>203</figref> or the apparatus <figref>204</figref>, A mechanism for fetching content in this manner in accordance with a Application layer content routing network is in McCanne et al. I described.
4.2. Wide range Installation
Of the above CDSR redirection mechanism may have a Collection of autonomous systems in a manner similar to the above- described, DNS-based redirection system to be installed. It would be for one Skilled in the art obvious that the variations of the above-described DNS-based redirection system on the CDSR redirection mechanisms described in this section could be applied.
Around To illustrate such a configuration, shows <figref idrefs="S75">20</figref>. as the CDSR on the wide area between two cooperating content backbones and two content-affiliations is installed. The diagram shows four ASs (<figref>100</figref>. <figref>200</figref>. <figref>300</figref> and <figref>400</figref>) at the IP layer with conventional Layer 3 peering over Left <figref>1.2</figref>. <figref>1.3</figref>. <figref>2.3</figref>. <figref>2.4</figref> and <figref>3.4</figref> together are connected. The AS 100 includes two CDSR redirection devices (<figref>101</figref> and <figref>103</figref>) each of the anycast address A * (consisting of an AS 100 associated CIDR block is removed) and the servers <figref>102</figref> and <figref>104</figref> assigned are. The AS 200 includes two-CDSR Umleitungsvor devices (<figref>201</figref> and <figref>203</figref>) each of the anycast address B * (consisting of an AS 200 associated CIDR block is removed) and the servers <figref>202</figref> and <figref>204</figref> assigned are. In this configuration, the AS 100 is the A * Content backbone, and AS 200 is the B * Content backbone.
the AS 400 is a Inhalteangliederung of B * Content backbone, as there is a CDSR redirection device <figref>401</figref> has installed with the B * APAR anycast address is addressed. The server<figref>402</figref> provides the service connection point for clients on the B * network. Similarly Way, the AS 300 a Inhalteangliederung of both the A * - B * and -Inhalte backbone is, as there is a CDSR redirection device <figref>301</figref> installed has that addresses both the A * and B * APAR anycast address is. The server<figref>302</figref> provides the service connection point for clients on the B * network.
It is the presence of a Inhal<?page 24?>adopted te-broadcast network, the connect the server system to the application layer multicast, traffic management conduct, etc. (According to the description in McCanne et al. I) and is omitted from this diagram, in order the present discussion to facilitate. That is, application layer connections are between the various servers (<figref>102</figref>. <figref>104</figref>. <figref>202</figref>. <figref>204</figref>. <figref>302</figref> and <figref>402</figref>) and content sources <figref>10</figref>. <figref>11</figref> and <figref>12</figref> (and possibly another not shown content routing devices) available, to content (ie, live streams, on-demand clips, files, etc.) of to direct the feed points to the resources each server which requires the content, to meet the client requests.
With this overall architecture can the clients <figref>303</figref> and <figref>403</figref> according to the scope of each Network mutually using CDSR efficiently access the contents of their content networks. The system works follows. In the case of client <figref>403</figref> Assume that the user Content through a URL request, the contents of to source <figref>11</figref> relate. The client decodes the URL (possibly Directory assistance of an external system such as DNS) to determine, that the URL refers to content on the B * -Backbone. Consequently, the client transmits this URL in a service request packet that is addressed to B *. APAR anycast routing delivers this request packet to the CDSR redirection device <figref>401</figref>. which inspects the URL, an appropriate server (such as Server <figref>402</figref>) chooses, and a response sent back, indicating that the client is on to the content network server <figref>402</figref> to connect. The client <figref>403</figref> then forwards an application link (eg using RTSP, HTTP, etc.) to the server <figref>402</figref> on, to the content request, the above the CDN according to the above Description will be brought.
Now Assume that the client <figref>402</figref> Content requests, indicated by a URL, of the content from the source <figref>10</figref> refers. The client decodes the URL (possibly Directory assistance of an external system such as DNS) to determine, that the URL refers to content on the A * -Backbone. Consequently, the client transmits this URL in a service request packet that is addressed to A *. This time provides APAR anycast routing this request in AS 400, but as present in this AS no A * -adressierten CDSR redirection devices are the IP routers forward the request packet to the AS 100 further toward (Ie external to the CIDR block announcing the address A * contains). It Assume that the route of the path <figref>3.4</figref> on his Way to the AS 100 crosses. Thus, the packet in the AS 300 occurs, but since the CDSR redirection device <figref>301</figref> now the A * address is associated with the request packet to the device is passed, instead of being forwarded to the AS 100th The bypass device<figref>401</figref> in turn inspects the URL, chooses an appropriate server (such as Server <figref>302</figref>), And sends a response back, indicating that the client is on to the content network server <figref>302</figref> to connect. The client <figref>403</figref> then forwards an application link (eg using RTSP, HTTP, etc.) to the server <figref>302</figref> on, to the content request, the above the CDN according to the above Description will be brought. It should be noted that the client to the next Nodes in the A * -verwurzelten CDN joined; even if the client resides in AS 400 and service elements are present in this AS, instead of the server 302 in the AS 300 used because it the nearest Element on the A * network requires.
4.3. Staged installation
A the challenges to which the installation of client-driven Service Rendezvous true, are the changes made to the already existing base of applications (ie web browsers and streaming Media clients) need to be made, and the propagation these changes in the active user community. This transition can not definitely go at once vonstatten and must instead gradually run over time, while Seller such an ability into their applications and their software users it farther. Thus, the system capable of a mixture of legacy applications must be, together with the new, CDSR-enabled to support applications.
Fortunately is a stepped installing CDSR capabilities through a novel Combination of CDSR redirection and explicit forwarding possible. at This method CDSR redirection devices to explicit parallel Forwarding devices installed, and URLs are so divided, that they work effectively under each of these scenarios. There are a number of possible Ways to structure this coexistence, and for a person skilled in the would field it will become apparent, combined as the above-described methods could, To perform this type of a stepped installation.
On Such an approach is more than one forwarding operations operate or agents that different types of diversion to each CDSR redirection device perform. For example, a Operation perform an RTSP-based diversion while another native CDSR redirection performs. The former process would for example, the TCP port <figref>554</figref> (Ie the standard RTSP port) tie, while the latter to some well-known UDP port such as 2554 would bind. then would the content network are configured with the convention that the <?page 25?>Server section of each URL that points to content on the network, to the resolves APAR anycast address of this network. rtsp example, in the URL: //any.cdn.acme.net//news.rm could the DNS name any.cdn.acme.net dissolve to the anycast IP address A *. If So a legacy client processes this URL, it forwards an RTSP connection to which an IP host address of the A * at the TCP port <figref>554</figref> assigned is. The network in turn, forwards the packets, which comprise this compound, to the next CDSR redirection device (means APAR anycast routing), and the running on this device RTSP redirection device provides the connection. For the execution of selects redirection step the RTSP redirection device a possible server (as mentioned above) and redirects the client explicitly to this server via an RTSP redirect message in order, when it is a built-in ability of the RTSP protocol concerns. Thus, the client is properly connected to a suitable close Closest Server redirected.
Among Using the same infrastructure inspected a CDSR-conscious Client address A *, the any.cdn.acme.net of the DNS for the name returned will, and determined that A * is an APAR anycast address is. consequently the client calls the CDSR redirection system by transmitting a service request UDP packet on which the URL to the address A * contains the UDP port 2554th The network passes again the packages which contain this compound, to the next-CDSR bypass device (By APAR Anycast Routing) continues, and this time receiving the CDSR redirection device operation that is executed on this apparatus which Inquiry. For execution selects the redirection step the CDSR redirection device a possible Server (as mentioned above) and sends back a response packet, containing the address of this server, the service for the transaction (for example web request or streaming media flow) should be used. The response packet may also include other information which might be useful for the client, for example, an indication that the client future the returned server address for all Content requests to the same server component name (eg any.cdn.acme.net) may use, or that the client address in this way during certain period of time (eg, 5 minutes) can use. The response packet can also predictive contain clues that allow clients more information about that derive, treats the URLs of the CDSR Redirection System will.
4.4. Web-stepped Installation
A similar Strategy can for other types of protocols and applications such as Web browsers adopted will. In this case, a running HTTP redirect Agent parallel to a CDSR-bypass device, the Anycastadressierten on the APAR device runs. For example would a Legacy web browser calls the URL http://any.cdn.acme.net/index.html, try to connect to any.cdn.acme.net, by the turn is believed that it dissolves * to the APAR anycast address A.
That is, performs an operation an HTTP-based redirection, while another native CDSR redirection performs. The former process binds to eg TCP port <figref>80</figref> (ie the default HTTP port), while the latter generally at a known UDP port such as 2554 binds. Then, the content network configured with the convention that the server portion of a any URL that resolves to content on the network, on the APAR anycast address this network points. For example, in the URL http://any.cdn.acme.net/index.html resolves the DNS name any.cdn.acme.net to the anycast IP address A * to. Thus, if a Legacy client processes this URL, it forwards an HTTP connection to which an IP host, the address A * on TCP port <figref>80</figref> assigned. The network in turn forwards the packets, which contain this compound, to the next-CDSR bypass device (By APAR anycast routing), and HTTP Redirection device operation, running on this device, provides the connection. To perform the redirection step, selects the HTTP redirection device a possible server (as already above), and redirects the client by means of an HTTP redirect message that a built-in capability the HTTP protocol is explicitly to this server to. Thus, the client properly to a suitable nearby site redirected.
Among Using the same infrastructure inspected a CDSR-conscious Client address A *, the any.cdn.acme.net from DNS for name returned will, and determined that A * is an APAR anycast address is. consequently the client calls the CDSR redirection system, by transmitting a service request UDP packet the URL for addressing at A * contains the UDP port 2554th The network in turn forwards the packets having this compound to the next CDSR redirection device (by APAR anycast routing), and this time receives the CDSR redirection device operation, which on this device running, the Inquiry. To perform the redirection step selects the CDSR redirection device a possible Server (as mentioned above) and sends back a response packet, contains the address of this server, which will be used for the web transfer should. The response packet may also contain other notices for the client helpful be <?page 26?>could, as an indication that the client future the returned server address for all Content requests to the same server component name (ie any.cdn.acme.net) may use, or that the client address in this way during certain period of time (eg, 5 minutes) can use. The response packet can also predictive contain clues that allow clients more information about that derive, handled the URLs of the CDSR Redirection System will.
at another configuration of the HTTP redirect agent through a actual Web server replaced. To scale this configuration, the web server can optionally be a layer 4 switch load balanced. <figref idrefs="S76">21</figref> illustrated this scheme. Here, the layer 4 switch<figref>11</figref> the assigned virtual IP address A * and configured, the A * / 32 to announce host route in the network routing protocol to an APAR anycast routing cause. The Switch<figref>11</figref> is configured to transport the UDP port 2554 to the CDSR redirection device <figref>12</figref>. to conduct and all web traffic (on TCP port <figref>80</figref>) at the Web <figref>13</figref> and <figref>14</figref> conduct (on a clustered larger size could be). The Switch <figref>21</figref> is similar opposite to the CDSR redirection device <figref>22</figref> and the Web servers <figref>23</figref> and <figref>24</figref> configured.
first let assumed that the web browser clients <figref>10</figref> and <figref>20</figref> Legacy applications are, which CDSR redirection is not aware. If the client in this case <figref>10</figref> the URL http://any.cdn.acme.net/index.html calls, he gets the content directly from the server to the switch <figref>11</figref>. whereas the client <figref>20</figref> the contents from the server over the Switch <figref>21</figref> get.
Now Assume that the client <figref>10</figref> and <figref>20</figref> CDSR-conscious are. If the client<figref>10</figref> the URL parses, he determined that the address is a server components APAR anycast address, and transmits a service request packet to the A * anycast address, which contains the URL. The layer 4 switch forwards this package to the CDSR redirection device <figref>12</figref>, the a nearby server chooses or any other server, if the local cluster overloaded is (as described above), and sends a response message back, the indicates that server such as the server <figref>14</figref>, The client then fetches the content using HTTP from the server <figref>14</figref>, A similar Transaction takes place between the client <figref>20</figref> and the layer 4 switch <figref>21</figref> instead of, if the client<figref>20</figref> calls the relevant URL.
Among Using the above procedures can Server easily load balanced. An APAR DNS routing scheme can also be used to restrict requests from unauthorized clients. For example, the Specify request for domain name resolution metadata an authorized client validate. The APAR DNS server checks the metadata, and if it appears that the client is authorized, the responses of APAR DNS server to the request with a resolution of the domain name into an IP address and a port number, by a prior agreement between the content server and the APAR DNS server, or the like is a port through which the content server connects. If the client is not apparent to the DNS server APAR empowered the APAR DNS server sends an IP address and port number from a port that is ignored by the content server, back.
A Manner in which content peering forth above can be used, is within content distribution networks, the operated by network service providers that deal with other such content distribution networks join together by "content exchange" (content exchange) -Providern. A content exchange in such an architecture is a service instance, the relations mediates between the content providers and the distribution networks. In this way, content exchanges Relationships with content providers as its customers received, but the actual transfer of the Traffic leaving the content distribution networks. This leads to a Landscape in which a number of content exchanges occur and as a broker act between content providers and content distribution networks, which are owned by the network service providers and operated by be, and the number of content exchanges for efficient operation small is enough.
It Thus, a new data stream broadcast distribution method using content peering and other novel elements described.
Contents4
19 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19
29 members in 7 offices
Priority claims15
| Document | Office | Kind | Date |
|---|---|---|---|
| 17274699 | United States of America | P | |
| 17274699 | United States of America | P | |
| 17274699 | United States of America | – | |
| 60944200 | United States of America | A | |
| 60944200 | United States of America | A | |
| 60944200 | United States of America | – | |
| 0034675 | United States of America | W | |
| 0034675 | United States of America | W | |
| 0034675 | United States of America | – | |
| 172746P | – | – | – |
| 609442 | – | – | – |
| PCTUS0034675 | – | – | – |
| US19990172746P | – | – | – |
| US20000609442 | – | – | – |
| WO2000US34675 | – | – | – |
Members29
| Document | Office | Kind | |
|---|---|---|---|
| WO0118641A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU7341500A | Australia | A | |
| WO0152497A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU2282701A | Australia | A | |
| WO0152497A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0152497A9 | World Intellectual Property Organization (WIPO) | A9 | |
| KR20020048399A | Republic of Korea | A | |
| US6415323B1 | United States of America | B1 | |
| EP1242870A1 | European Patent Office (EPO) | A1 | |
| EP1250785A2 | European Patent Office (EPO) | A2 | |
| JP2003508996A | Japan | A | |
| US2003105865A1 | United States of America | A1 | |
| AU771353B2 | Australia | B2 | |
| US6785704B1 | United States of America | B1 | |
| US2005010653A1 | United States of America | A1 | |
| EP1242870A4 | European Patent Office (EPO) | A4 | |
| US6901445B2 | United States of America | B2 | |
| KR100524258B1 | Republic of Korea | B1 | |
| JP3807981B2 | Japan | B2 | |
| EP1250785B1 | European Patent Office (EPO) | B1 | |
| DE60036021D1 | Germany | D1 | |
| EP1865684A1 | European Patent Office (EPO) | A1 | |
| DE60036021T2This record | Germany | T2 | |
| US7734730B2 | United States of America | B2 | |
| EP2320619A1 | European Patent Office (EPO) | A1 | |
| EP1865684B1 | European Patent Office (EPO) | B1 | |
| EP2320619B1 | European Patent Office (EPO) | B1 | |
| EP2838240A1 | European Patent Office (EPO) | A1 | |
| EP2838240B1 | European Patent Office (EPO) | B1 |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Change in the person/name/address of the agent8328 | 8328 | |
| No opposition during term of oppositionOpposition8364 | 8364 |
Numbers
- Publication
- 60036021
- Publication, DOCDB
- 60036021
- Publication, EPODOC
- DE60036021T
- Application
- 60036021
- Application, DOCDB
- 60036021
- Application, EPODOC
- DE20006036021T
Titles2
- German
- System zur Verteilung von Daten innerhalb eines Internetzwerkes mit zweitseitiger Vereinbarung über Inhalt
- English
- System for distributing data within a network Inter with two-sided agreement on content
Classification
- CPC, 20
- H04L12/1877
- H04L12/1859
- H04L12/1886
- H04L67/1008
- H04L67/1029
- H04L67/101
- H04L67/1031
- H04L67/1014
- H04L67/1038
- H04L67/288
- H04L69/329
- H04L67/10015
- H04L61/45
- H04L61/00
- H04L67/1001
- H04L67/51
- H04L67/564
- H04L67/563
- H04L67/568
- H04L9/40
- IPC, 4
- H04L29 06
- H04L12 18
- H04L29 08
- H04L29 12
