CN103370905A - Anycast redirect to unicast content download - Google Patents

Anycast redirect to unicast content download Download PDF

Info

Publication number
CN103370905A
CN103370905A CN201080071206.3A CN201080071206A CN103370905A CN 103370905 A CN103370905 A CN 103370905A CN 201080071206 A CN201080071206 A CN 201080071206A CN 103370905 A CN103370905 A CN 103370905A
Authority
CN
China
Prior art keywords
pop
server
address
cdn
content object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201080071206.3A
Other languages
Chinese (zh)
Inventor
詹森·埃格尔斯顿
布雷德利·B·哈维尔
莫汉·I·科卡尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Edgio Inc
Original Assignee
Limelight Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Limelight Networks Inc filed Critical Limelight Networks Inc
Publication of CN103370905A publication Critical patent/CN103370905A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A method and system for delivering content with a content delivery network (CDN) to a user computer is disclosed. After an initial request to a point of presence (POP) of the CDN for the location of the content object, an Anycast Internet protocol (IP) address is assigned. The user computer requests the content object which may find its way to the same or a different POP depending on what is closer in Internet terms. The request returns a POP-specific IP in a redirect such that the request resolves to the POP referenced in the immediately preceding sentence. One or more edge servers deliver the content object to the user computer.

Description

Appoint to broadcast to be redirected and be the unicast content download
Background technology
Present disclosure relates generally to content distributing network (CDN), but not as restriction, relates to the selection of the Edge Server of CDN.
CDN will broadcast to find the point of presence (POP) that can transmit by the content of CDN trustship or high-speed cache with appointing.In order to find this POP, subscriber computer will be inquired about may approach the domain name service (DNS) that maybe may keep off subscriber computer with regard to network facet.Because DNS is positioned on the Internet position of not expecting of the network site of shielding subscriber computer, therefore, POP may be designated as poor efficiency.Poor efficiency POP affects the quality (QoS) by the service of user institute perception negatively.Appoint that to broadcast DNS quick but desirable because of it.
Can broadcast to select Edge Server with appointing.Edge Server is in the position of the DNS of proximal subscribers and best proximal subscribers computer near online usually.During downloading the long stream of large file or playback, client may keep existing problems aspect the Edge Server of assigning is connected.Broadcast the Edge Server that path changing or server select to change to undesirably other and may interrupt downloading or stream because appointing.
In network, come trunk information with the HTTP Proxy high-speed cache.In some cases, exist multi-layer H TTP proxy cache to come the mobile content object.The extra relaying of each of a plurality of Agent layer in the path is jumped (hop) all bandwidth consumed.The Ethernet bandwidth is relatively sufficient, but still the overload that may become.
Summary of the invention
In one embodiment, present disclosure provides a kind of be used to utilizing content distributing network (CDN) content to be sent to the method and system of subscriber computer.The point of presence (POP) to CDN carry out initial request with the locating content object after, assign to appoint and to broadcast Internet protocol (IP) address.Subscriber computer request content object, this content object can be according to who relatively approaches to find it to arrive the path of identical or different POP with regard to network facet.This request is returned the specific IP of POP in being redirected, so that this request is resolved uniquely to related POP in the last proposition that is right after.One or more Edge Server is sent to subscriber computer with content object.
In another embodiment, present disclosure provides a kind of method of the server for assigning content distributing network (CDN).Locate to receive request to content object at the first point of presence (POP), this first point of presence be comprise CDN and on the internet a plurality of POP of distributing in a POP.Return the first Internet protocol (IP) address, this first Internet protocol (IP) address can be used to appoint and be broadcast any POP that routes among described a plurality of POP.Use an IP address to receive described request at the 2nd POP place.Utilization is redirected to subscriber computer from the 2nd POP request content object to the 2nd unique IP address of the 2nd POP.Use the 2nd IP address to receive request at the 2nd POP place.Definite server that is associated with the 2nd IP address.Use this server that content object is supplied to subscriber computer from the 2nd POP.
In another execution mode, present disclosure provides a kind of machine readable physical medium with machine-executable instruction, and this machine readable physical medium comprises the code of carrying out following steps:
● locate to receive request to content object at the first point of presence (POP), this first point of presence be comprise CDN and on the internet a plurality of POP of distributing in a POP;
● return the first Internet protocol (IP) address, it can use to appoint broadcasts any POP that routes among described a plurality of POP;
● use an IP address to receive described request at the 2nd POP place;
● utilization is redirected to subscriber computer from the 2nd POP for the 2nd unique IP address of the 2nd POP and asks described content object;
● use the 2nd IP address to receive described request at the 2nd POP place;
● definite server that is associated with the 2nd IP address; And
● use this server that content object is supplied to subscriber computer from the 2nd POP.
In an execution mode again, present disclosure provides a kind of CDN for a plurality of content objects being sent to subscriber computer.This CDN comprises: a plurality of POP, and described a plurality of POP distribute on the internet and comprise a POP and the 2nd POP; Domain name service is used for returning the first Internet protocol (IP) address; Switching fabric, it uses an IP address to receive described request at the 2nd POP place; And a plurality of servers, described a plurality of server by utilizing are redirected to subscriber computer from the 2nd POP request content object for the 2nd unique IP address of the 2nd POP.The one IP address can be used to appoint and be broadcast any POP that routes among described a plurality of POP.The one IP address with at a POP place request of content object is associated.Described a plurality of server comprises that the 2nd POP receives the server of described request with the 2nd IP address.The definite server that is associated with the 2nd IP address of switching fabric.This server is sent to subscriber computer with content object from the 2nd POP.
According to the detailed description that hereinafter provides, other areas of applicability of present disclosure will become obvious.Should be appreciated that show numerous embodiments although describe in detail with concrete example, it only is intended to for explanation, and is not the scope that is intended to limit necessarily present disclosure.
Description of drawings
By reference to the accompanying drawings present disclosure is described:
Fig. 1 shows the block diagram of the execution mode of content distribution system;
Fig. 2 shows the block diagram of the execution mode of point of presence (POP);
Fig. 3 A, Fig. 3 B, Fig. 3 C and Fig. 3 D show the functional block diagram of the execution mode of POP; And
Fig. 4 A, Fig. 4 B, Fig. 4 C and Fig. 4 D show the flow chart for the execution mode of the processing that transmits content object from POP.
In the accompanying drawings, similar parts and/or part can have identical Reference numeral.In addition, can be by each parts that after Reference numeral, adds dash and distinguish same type for the second mark of distinguishing similar components.If only used the first Reference numeral in specification, then this description is applicable in the similar parts with this first identical Reference numeral any, and how do not consider the second Reference numeral.
Embodiment
Description subsequently only provides preferred illustrative embodiments, is not scope, applicability or the configuration that is intended to limit present disclosure.On the contrary, subsequently the preferred illustrative execution mode description will to those skilled in the art be provided for realizing the preferred illustrative execution mode enable describe.Should be appreciated that in the situation that does not deviate from the spirit and scope of setting forth in the claims, can make various changes to function and the layout of element.
At first with reference to Fig. 1, show the block diagram of the execution mode of content distribution system 100.In the present embodiment, content originator 106 shirks the transmission of content object to content distributing network (CDN) 110.Content originator 106 produces and/or the distribution of content object, and content originator 106 comprises content provider 108, content site 116 and source server 112.In various execution modes, CDN110 can high-speed cache, redistribution and/or trustship content think that third party's (such as content originator 106) unloads transmission, and better service quality (QoS) can be provided usually.
In this embodiment, 100 pairs of content objects of content distribution system (or its part) position, and content object is distributed to end-user system 102.In CDN110, content object is carried out dynamic caching or process to improve QoS and needn't copy whole content object, except non-end-user 128 is asked this content object subsequently.Content object is any content file or content flow, and content object for example can comprise video, picture, data, audio frequency, software and/or text.Content object can be content object live, that postpone or storage.In whole specification, may mention content object, content flow and/or content file, but should be appreciated that no matter where these terms appear at, and they all can use interchangeably.
A plurality of content provider 108 usefulness CDN110 are sent to terminal use 128 with content object by the Internet 104.CDN110 comprises a plurality of point of presences (POP) 120, spreads all over whole content distribution system 100 on these point of presence geography, to transmit content.Various execution modes can have the POP120 of arbitrary number in CDN110, POP120 is distributed in position around the Internet 104 usually with near end-user system 102.A plurality of POP120 use identical IP address so that for each request with appoint broadcast that routing plan finds may be near terminal use's POP120 in network facet.Except the Internet 104, wide area network (WAN) 114 or other backbone network can be coupled to each other with POP120, and also can be with the other parts coupling of POP120 and CDN110.
As terminal use 128 during by its separately end-user system 102 requested webpage, directly or via the Internet 104 indirectly be sent to content originator 106 for the request of webpage.Content originator 106 is source or redistributors of content object.Content site 116 is websites that end-user system 102 can be accessed.In one embodiment, content site 116 can be to watch with web browser the website of its content.In other embodiments, can utilize the application software except web browser to visit content site 116.In the present embodiment, content provider 108 is sent to CDN110 with content requests after content requests generates, perhaps by the URL(uniform resource locator) (URL) of transfer path embedded web page is formulated transfer path.Under any circumstance, broadcast the IP address and will transfer CDN110 to for the request of content by using corresponding to one, appointing of two or more POP120.
In case will send CDN110 to for the request of content object, and use appoint and to broadcast routing plan and will ask to be associated with the interior specific POP120 of CDN110.In some cases, utilize to appoint and to broadcast the POP120 that finds not especially near end-user system 102, and only near end-user system 102 employed dns servers.If there is not the part of content object in CDN, then this specific POP120 can fetch from content provider 108 this part of content object.Alternatively, content provider 108 can directly offer CDN110 and POP120 associated with it with content object by prestrain (namely before the first request).In this embodiment, content object is provided for CDN110 and is stored in one or more CDN server, so that the content part of asking can provide service from CDN110.The CDN server comprises the Edge Server that in fact terminal use's request is provided service.Source server 112 is the copy that content originator 106 keeps each content object.Can periodically make the content of source server 112 consistent with CDN110 by high-speed cache, trustship and/or prestrain algorithm.Some content providers 108 can come with the source server in the CDN110 trustship content, thereby have avoided keeping the needs of the accessible copy of content object.
In case CDN110 has fetched content object from source server 112, this content object is stored in the specific POP120, and it is offered end-user system 102 from this POP120.The content object of fluidisation can have real time information or nearly real time information, perhaps can be by pre-stored.End-user system 102 receives content object and content object is processed to be used by terminal use 128 or automated processing system.End-user system 102 can be any other device of personal computer, media player, handheld computer, internet, applications equipment, mobile phone, network television-set top-set-box, the webserver, treatment system, streaming or reception and/or play content object.In some embodiments, a plurality of end-user systems 102 can be able to be networked together.Although this execution mode only shows single content originator 106 and single CDN110, should be appreciated that in various execution modes content originator and CDN all can exist a plurality of separately.
With reference to Fig. 2, show the block diagram of the execution mode of POP120.Have a plurality of Edge Servers 230, wherein, a plurality of Edge Servers 230 use switching fabric 240 coupled to each other and be coupled to the Internet 104 and WAN114.In given POP120, the number of Edge Server 230 is thousands of.Can divide these Edge Servers by function and/or client.Can the applied load algorithm divide load between the Edge Server 230 in the mode of arbitrary number.Edge Server 230 is carried out high-speed cache, stream, trustship, storage and/or other function in POP120.Edge Server 230 normally can have the frame type computer of disposal ability, internal memory and the memory of different brackets.The software of operation comprises such as HTTP Proxy high-speed cache, media server, Flash(registered trade mark on the Edge Server 230) server, Java(registered trade mark) application server, Silverlight(registered trade mark) server etc.
Switching fabric 240 is used for some functions.The request for content object of using switching fabric to input routes to Edge Server 230.This can use route, be redirected or domain name service (DNS) is finished.In this embodiment, request is assigned to following virtual Internet agreement (VIP) address of POP120: the exchanged structure 240 in this address is assigned to particular edge server 230 and serves.Switching fabric 240 is can working load balanced, poll and/or other technology route requests to Edge Server 230.
Switching fabric 240 is also used in communication in the POP120.Edge Server 230 can move a plurality of application software that communicate with other Edge Server 230.For example, execution mode can have the HTTP cache proxy that is set to different brackets, so that the high-speed cache on Edge Server can be by other Edge Server communication to be sent to content object end-user system 102.
DNS250 is used for IP address or virtual (VIP) address assignment to the request for territory or CNAME.The VIP address can be unique for POP120, perhaps shares between a plurality of POP, routes to the POP120 that may relatively approach so that request can be appointed to broadcast.The DNS120 of a part of processing as domain name mapping can be included in the dns server of other local arbitrary number on the Internet 104.
Then with reference to Fig. 3 A, show the functional block diagram of the execution mode of various functions in the POP120-1.Have in this embodiment two-stage HTTP Proxy high-speed cache, wherein each HTTP Proxy has the HTTP high-speed cache.Can carry out the HTTP Proxy high-speed cache at Edge Server.Switching fabric 240 comprises one or more network interfaces 304, request appointment engine (RAE) 308, cache arrays which may Routing Protocol (CARP) logic 312 and layering high-speed cache router three 16.Although for illustration purpose shows CARP logic 312 independently, but in the present embodiment, each secondary HTTP Proxy 328 has its oneself CARP logic 312, and this CARP logic 312 can be located one-level HTTP Proxy 320 definitely to use when the cache miss.Other execution mode can have the server that is independent of C ARP logic 312.
Network interface 304 is couple to the Internet 104 and/or wide area network 114, communicates by letter with POP120 with permission.RAE308 assigns content object request with route, DNS, poll, assigned at random and/or load balancing between a plurality of secondary HTTP Proxys 328.Each HTTP Proxy 328 couples with common secondary HTTP high-speed cache 332 very little and that dispose for common content.If find content object in secondary HTTP high-speed cache 332, then this content object is coupled to end-user system 102 by secondary HTTP Proxy 328.
Do not store in the situation of this content object at secondary HTTP high-speed cache 332, secondary HTTP Proxy 328 usefulness will be assigned to the CARP logic 312 of one-level HTTP Proxy 320 and come the locating content object.The cryptographic Hash of CARP logic 312 usefulness URL is divided name space between the one-level HTTP Proxy, to find definitely for the treatment of the one-level HTTP Proxy for the request of particular content object.Other execution mode can be divided name space by catalogue, client, file type etc.
One-level HTTP Proxy 320 is searched the content object of asking in its corresponding one-level HTTP high-speed cache 324, wherein, one-level HTTP high-speed cache 324 is usually greater than secondary HTTP high-speed cache 332.Find in the situation of content object at one-level HTTP high-speed cache 324, by one-level HTTP Proxy 320 and secondary HTTP Proxy 328 etc. this content object is relayed to end-user system 102.If there is not content object on the one-level HTTP high-speed cache 324, then comes the locating content object with layering high-speed cache router three 16 and it is loaded on the one-level HTTP high-speed cache 324.Other local locating content object that layering high-speed cache router three 16 is used at POP120, CDN110 or source server 112.
With reference to Fig. 3 B, show the functional block diagram of the execution mode of the various functions in the POP120-2.This execution mode does not have the high-speed cache for secondary HTTP Proxy 328.Use to appoint and to broadcast VIP content requests is assigned to POP120, and convert unique static VIP for POP120 to.For all or some POP120 among the CDN110, appoint that to broadcast VIP be public.When by end-user system 102 request, probably find immediate POP120 with regard to the aspect, the Internet, and preferably QoS may be provided.
Request assigns engine 3 08 that content object request (being generally URL) is delivered to one of secondary HTTP Proxy 328.In this embodiment, the secondary HTTP Proxy 328 related high-speed cache of tool not.Secondary HTTP Proxy 328 usefulness CARP logics 312 are delivered to one-level HTTP Proxy 320 with request.One-level HTTP Proxy 320 calculates the Redirect URL that identifies uniquely this request, and is redirected 302 before closing connection and beams back end-user systems 102.Some execution modes can use 301 redirected replacements 302 to be redirected.
Being redirected will be so that end-user system 102 directly use from one-level HTTP Proxy 320 request URL to appoint broadcasts.When receiving request, network interface 304 directly sends to suitable one-level HTTP Proxy 320 with these requests.With in the past the same, before the layering high-speed cache router three 16 on the cache miss of seeking help, one-level HTTP Proxy 320 will be searched for one-level HTTP high-speed cache 324 for content object.
Then with reference to Fig. 3 C, show the functional block diagram of the execution mode of various functions in the POP120-3.This execution mode operates with two kinds of patterns, and a kind of pattern is used for operating some content objects as the execution mode of Fig. 3 A, and another kind of pattern is used for operating other content object as the execution mode of Fig. 3 B.In secondary HTTP Proxy 328, make about whether using 302 to reset always to replace appointing and broadcast determining of VIP.Other execution mode can be made this and determine in RAE308 or network interface 304.
In this embodiment, little content object is retained in to have appointing of two-stage HTTP Proxy and broadcasts on the VIP, and large content object moves to VIP for one-level HTTP Proxy 320 by re-orientation processes.The code that secondary HTTP Proxy 328 usefulness are inserted among the URL sends to one-level HTTP Proxy 320 with signal how to process specific request, but other execution mode can use side channel, Handshake Protocol and/or physical pathway isolation.Except using size to decide the pattern, the load that other execution mode can connect with Ethernet among application, form, coding, client, catalogue, QoS grade, HTTP Proxy 320,328 load, the POP, appoint and broadcast the possibility etc. that VIP changes the route of intermediate transport and determine with which kind of pattern operation.
With reference to Fig. 3 D, show the functional block diagram of the execution mode of various functions in the POP120-4.This execution mode will appoint the request of broadcasting place, IP address to be redirected to the XML file that comprises one or more URL that is converted into the specific IP of POP address.In request, receive to take office and broadcast the IP address or appoint and broadcast the VIP address, and RAE308 will described broadcasts the IP address or times broadcasts the VIP address and is directed to of selecting searches API327 from a plurality of API327 of searching.This is searched API327 and determines or obtain and the XML that asks to be associated that for example, XML can be the playlist with a plurality of URL.Search API327 and CARP logic 312 is mutual, to determine to use which one-level HTTP Proxy 320 for each URL.CARP logic 312 can be integrated into and search among the API327.Rewrite URL by searching API327, and XML is returned to end-user system 102.End-user system 102 uses to have the URL of the specific IP of POP address rather than start appointing of this processing broadcasts the IP address by the Flash(registered trade mark) player or other should be used for asking.
With reference to Fig. 4 A, show the flow chart for the execution mode of the processing 400-1 that transmits content object from POP120.This execution mode is corresponding to the functional block diagram of Fig. 3 A.End-user system 102 should be used for asking content object by the CDN110 trustship by browser, player or other.By DNS, redirected and/or route, this request arrives the POP120 that approaches with end-user system 102 with regard to the aspect, the Internet.More accurately, this POP120 is probably near end-user system 102 employed DNS, and this DNS may be away from end-user system 102 so that this POP120 be for the bad luck selection that transmits content object.In frame 404, this execution mode broadcasts to find this POP120 with appointing.The DNS250 at this POP120 place return the points toward edge server, for the unique VIP of this POP120.
Utilize this VIP, end-user system 102 requests are inserted with the URL of this VIP.In frame 412, RAE308 received this request before routing requests to one of a plurality of Edge Servers 230.In frame 416, the first Edge Server 230 that receives this request checks secondary HTTP high-speed cache 332 for content object.In frame 420, have in the situation of determined content object at secondary HTTP high-speed cache 332, processing proceeds to frame 440, and in frame 440, content object is acted on behalf of to end-user system 102 by operating in the secondary HTTP Proxy 328 on the Edge Server 230.
Exist in frame 420 in the situation of cache miss, process and proceed to frame 424, in frame 424, secondary HTTP Proxy 328 transfers a request to CARP logic 312.CARP logic 312 is calculated the cryptographic Hash on the URL and is found corresponding to one in a plurality of one-level HTTP Proxys 320 of this cryptographic Hash.One-level HTTP Proxy 320 checks its one-level HTTP high-speed cache 324 for content object.If this content object is lost in whole or in part, then in frame 432, other place in CDN110 or source server 112 places find this content object.In case content object is arranged in one-level HTTP high-speed cache 324 or finds this content object in other place, then by one-level HTTP Proxy 320 and secondary HTTP Proxy 328 content object is acted on behalf of to end-user system 102.
With reference to Fig. 4 B, show the flow chart for the execution mode of the processing 400-2 that transmits content object from POP120.This execution mode is corresponding to the functional block diagram of Fig. 3 B.The part that illustrates of processing 400-2 starts from step 404, and in step 404, request or domain name mapping are sent to may be near the POP120 of end-user system 102.The DNS250 at POP120 place will appoint and broadcast VIP and turn back to end-user system 102.Appoint and to broadcast the POP120 that VIP can resolve arbitrary number to the whole CDN110.Appoint the difference of broadcasting VIP and IP address to be: RAE308 can broadcast the Edge Server 230 that VIP distributes to arbitrary number with appointing.Other execution mode can use following to broadcast the IP address: broadcast the IP address for described and relate to the server that occurs in a plurality of POP.
The content object of broadcasting the VIP place is appointed in end-user system 102 requests.This will resolve to contiguous POP120 by the Internet.The POP120 of this vicinity can be the POP120 that is used for dns resolution in the frame 410, also can not be.In frame 414, by RAE308 received request is processed to be assigned to a Edge Server in a plurality of Edge Servers 230.In this embodiment, RAE308 utilizes the suitable capacity that is assigned to the client to carry out the poll distribution between a plurality of Edge Servers 230.
In frame 416, the request that the secondary HTTP Proxy 328 on the Edge Server 230 will have special header is sent to CARP logic 312, and this special header represents the request broadcast VIP from appointing.Use CARP, CARP logic 312 is assigned to request the second Edge Server 230 of operation one-level HTTP Proxy 320.In frame 426, after identifying this special header, one-level HTTP Proxy 320 calculates the unique URL that turns back to one-level HTTP Proxy 320.Before closing link, be redirected to send to end-user system 102 with 302, to return the URL that is calculated by two HTTP Proxys 328,320 relayings.
In frame 430, the URL that end-user system 102 requests are calculated is to send it back it one-level HTTP Proxy 320.Also one-level HTTP high-speed cache 324 is inquired about.In case in frame 428, determine cache miss, in frame 432, find content object and it is loaded in the one-level HTTP high-speed cache 324.After content object is loaded in the high-speed cache for cache hit or in frame 432, by the one-level HTTP Proxy content object is acted on behalf of to end-user system 102.
With reference to Fig. 4 C, show the flow chart for the execution mode of the processing 400-3 that transmits content object from POP120.This execution mode is corresponding to the functional block diagram of Fig. 3 C.After in frame 404, finding POP, in frame 415, content object analysis determined whether use to appoint and broadcast VIP.For this execution mode, definite the appointing for large content object use in the frame 425, broadcast VIP, and use the unique VIP of POP for little content object.Determine according to this, carry out from first group of frame 475 of Fig. 4 A or carry out second group of frame 485 from Fig. 4 B.Can in the determining of frame 425, use the factor of arbitrary number to operate with which kind of pattern with definite.
Also can use a plurality of variants and modifications of disclosed execution mode.For example, two groups of Edge Servers shown in Figure 2, but should be appreciated that these groups can be same group.A hardware Edge Server 230 can move the secondary HTTP Proxy of arbitrary number and the secondary HTTP Proxy of arbitrary number simultaneously.Can also move additional function on the hardware server, such as DNS, RAE, CARP logic etc.In other example, we discuss and to change to appointing of the 2nd POP from a POP and broadcast VIP, but are not must be this situation.Usually, selected POP will receive the POP of the request that is redirected during the dns resolution.
With reference to Fig. 4 D, show the flow chart for the execution mode of the processing 400-4 that transmits content object from POP120.This is processed shown part and starts from frame 404, in frame 404, for the request of content with DNS, appoint and broadcast or route finds near requestor or the POP120 of requestor's dns server at least.The dns server 250 at POP120 place returns for appointing of territory and broadcasts the IP address, but can return the VIP address in other embodiments.
Utilize to appoint and broadcast IP address, terminal use's device 102 request URL.In this embodiment, the Flash(registered trade mark on terminal use's device 102) player is asking to comprise the XML playlist of a plurality of URL, and above-mentioned a plurality of URL can be for example video or audio fragment.In frame 413, in office the broadcasting of the 2nd POP of adjacent terminals user's set 102 receives this request on the IP address.The 2nd POP in some cases can be identical with a POP, but can be in diverse geographical position in some instances.RAE308 routes requests to one of a plurality of API327 of searching.
In frame 415, utilize URL request, search API327 and fetch or formulate XML file corresponding to URL.Use after the one or more servers that will serve each URL among CARP logic 312 definite POP, rewrite URL.After the conversion, the IP address is that POP is specific.In frame 425, be back to the Flash player at the XML that will close after rewriteeing before appointing the link broadcast on the IP address.
In frame 427, with URL from the Flash(registered trade mark) player is delivered to the specific IP of POP address and carries out.In frame 430,428,432 and 438, one-level HTTP Proxy 320 will position the content object of being quoted by URL at one-level HTTP high-speed cache 324 or other place, and it is returned.For each URL, these frames 430,428,432,438 will be quoted suitable one-level HTTP Proxy 320, and the returned content object.Be redirected to the XML file of the specific IP of POP address although this execution mode uses, can be redirected from times broadcasting the IP address with the file of any type or control information in other embodiments and leave.
Provided in the above description detail so that the complete understanding to execution mode to be provided.Yet, should be appreciated that and can in the situation of these details execution mode be put into practice not having.For example can circuit be shown with block diagram, in order to can not blur execution mode with unnecessary details.In other example, can in the situation of removing unnecessary details, known circuit, processing, algorithm, structure and technology be shown, to avoid fuzzy execution mode.
The realization of technology described above, piece, step and parts can accomplished in various ways.For example, can realize these technology, piece, step and parts in the mode of hardware, software or their combination.In addition, it should be noted that execution mode can be described to the process shown in flow chart, flow graph, data flow diagram, structure chart or the block diagram.Although flow chart can be described as operation the process of order, a plurality of operations can walk abreast or carry out simultaneously.In addition, can rearrange the order of operation.When the operation of process was finished, this process stopped, but can have the additional step that does not comprise in the accompanying drawings.Process can be corresponding to method, function, program, subroutine, subprogram etc.When process during corresponding to function, its termination turns back to call function or principal function corresponding to function.
In addition, can realize execution mode by hardware, software, script, firmware, middleware, microcode, hardware description language and/or their combination in any.When realizing with software, firmware, middleware, script and/or microcode, can be stored in machine readable media (such as storage medium) for program code or the code segment of carrying out necessary task.Code segment or machine-executable instruction can show as combination in any, data structure and/or the program statement of process, function, subprogram, program, routine, subroutine, module, software kit, script, class or instruction.Code segment can be coupled to other code segment or hardware circuit by transmission and/or reception information, data, variable, parameter and/or memory contents.Can be via any suitable means (comprising Memory Sharing, information transmission, token transmission, Internet Transmission etc.) transmission, forwarding or transmission information, variable, parameter, data etc.
In addition, as disclosed herein, term " storage medium " can represent that one or more is used to store the data storage device, comprises read-only memory (ROM), random-access memory (ram), magnetic ram, magnetic core storage, magnetic disk storage medium, optical storage media, flash memory devices and/or other machine readable media for storage information.Term " machine readable media " include but not limited to portable or fixed-storage device, light storage device, wireless channel and/or various other can store, comprise or carry instruction and/or data storage medium.
Although below described the principle of present disclosure in conjunction with concrete equipment and method, yet be understood that with will be clear that, only carried out this description by example, and should describe not conduct to the restriction of the scope of present disclosure.

Claims (21)

1. method of be used for assigning the server of content distributing network (CDN), described method comprises:
Locate to receive request for content object at the first point of presence (POP), described the first point of presence be comprise described CDN and on the internet a plurality of POP of distributing in a POP;
Return the first Internet protocol (IP) address, described the first Internet protocol (IP) address can be used to appoint and be broadcast any POP that routes among described a plurality of POP;
Use a described IP address to receive described request at the 2nd POP place;
Utilization is redirected to subscriber computer from described the 2nd POP for the 2nd unique IP address of described the 2nd POP and asks described content object;
Use described the 2nd IP address to receive described request at described the 2nd POP place;
Definite server that is associated with described the 2nd IP address; And
Use described server that described content object is supplied to described subscriber computer from described the 2nd POP.
2. the method for the server for assigning CDN according to claim 1, wherein, one of a described IP address and/or described the 2nd IP address or both all are virtual ip address.
3. the method for the server for assigning CDN according to claim 1, wherein, described redirected use 302 is redirected.
4. the method for the server for assigning CDN according to claim 1 also comprises: act on behalf of the supply of described content object by being different from described server and the second physical server between described server and described subscriber computer.
5. the method for the server for assigning CDN according to claim 1, wherein, described determine to comprise from a plurality of servers, select described server.
6. the method for the server for assigning CDN according to claim 1, wherein, described server is high speed cache proxy server.
7. the method for the server for assigning CDN according to claim 1 wherein, utilizes subscriber computer to broadcast to find a described POP with appointing.
8. the method for the server for assigning CDN according to claim 1 wherein, comes the execution of certainty ground described definite with the CARP algorithm.
9. the method for the server for assigning CDN according to claim 1, wherein, a described POP and described the 2nd POP are in a geographical position.
10. machine readable physical medium with machine-executable instruction, described machine readable physical medium comprise for the code of carrying out following steps:
Locate to receive request for content object at the first point of presence (POP), described the first point of presence be comprise CDN and on the internet a plurality of POP of distributing in a POP;
Return the first Internet protocol (IP) address, described the first Internet protocol (IP) address can be used to appoint and be broadcast any POP that routes among described a plurality of POP;
Use a described IP address to receive described request at the 2nd POP place;
Utilization is redirected to subscriber computer from described the 2nd POP for the 2nd unique IP address of described the 2nd POP and asks described content object;
Use described the 2nd IP address to receive described request at described the 2nd POP place;
Definite server that is associated with described the 2nd IP address; And
Use described server that described content object is supplied to described subscriber computer from described the 2nd POP.
11. the machine readable physical medium with machine-executable instruction according to claim 10, wherein, one of a described IP address and/or described the 2nd IP address or both all are virtual ip address.
12. the machine readable physical medium with machine-executable instruction according to claim 10, wherein, the code that is used for being redirected uses and is used for 302 codes that are redirected.
13. the machine readable physical medium with machine-executable instruction according to claim 10 also comprises following code: described code is acted on behalf of the supply of described content object by being different from described server and the second physical server between described server and described subscriber computer.
14. the machine readable physical medium with machine-executable instruction according to claim 10, wherein, described determine to comprise from a plurality of servers select described server.
15. the machine readable physical medium with machine-executable instruction according to claim 10, wherein, described server is high speed cache proxy server.
16. a CDN who is used for a plurality of content objects are sent to subscriber computer, described CDN comprises:
A plurality of POP, described a plurality of POP distribute on the internet and comprise a POP and the 2nd POP;
Domain name service is used for returning the first Internet protocol (IP) address, wherein:
A described IP address can be used to appoint and be broadcast any POP that routes among described a plurality of POP, and
A described IP address is associated with the request for content object at a described POP place;
Switching fabric, it uses a described IP address to receive described request at the 2nd POP place;
A plurality of servers, described a plurality of server by utilizing are redirected to subscriber computer from described the 2nd POP for the 2nd unique IP address of described the 2nd POP and ask described content object, wherein:
Described a plurality of server comprises described the 2nd POP with the server of described the 2nd IP address reception described request, and
The definite server that is associated with described the 2nd IP address of described switching fabric; And
Described server is sent to described subscriber computer with described content object from described the 2nd POP.
17. the CDN for a plurality of content objects being sent to subscriber computer according to claim 16, wherein, one of a described IP address and/or described the 2nd IP address or both all are virtual ip address.
18. the CDN for a plurality of content objects being sent to subscriber computer according to claim 16, wherein, the described redirected use 302 of described subscriber computer is redirected.
19. the CDN for a plurality of content objects being sent to subscriber computer according to claim 16, wherein, act on behalf of the supply of described content object by being different from described server and the second physical server between described server and described subscriber computer.
20. the CDN for a plurality of content objects being sent to subscriber computer according to claim 16, wherein, described server is high speed cache proxy server.
21. the CDN for a plurality of content objects being sent to subscriber computer according to claim 16 wherein, utilizes described subscriber computer to broadcast to find a described POP with appointing.
CN201080071206.3A 2010-12-27 2010-12-27 Anycast redirect to unicast content download Pending CN103370905A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/062156 WO2012091694A1 (en) 2010-12-27 2010-12-27 Anycast redirect to unicast content download

Publications (1)

Publication Number Publication Date
CN103370905A true CN103370905A (en) 2013-10-23

Family

ID=46383422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080071206.3A Pending CN103370905A (en) 2010-12-27 2010-12-27 Anycast redirect to unicast content download

Country Status (4)

Country Link
EP (1) EP2659621A1 (en)
CN (1) CN103370905A (en)
BR (1) BR112013016579A2 (en)
WO (1) WO2012091694A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105981430A (en) * 2013-12-17 2016-09-28 诺基亚通信有限责任两合公司 Cell load based content data network selection
CN107431727A (en) * 2015-03-27 2017-12-01 阿卡麦科技公司 Anycast and the flow transmission of the mapping based on terminal user are used in overlay network

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774512B1 (en) 2015-07-08 2017-09-26 Introspec Ltd Measuring server availability and managing traffic in adaptive bitrate media delivery

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415323B1 (en) * 1999-09-03 2002-07-02 Fastforward Networks Proximity-based redirection system for robust and scalable service-node location in an internetwork
US7565450B2 (en) * 2000-03-16 2009-07-21 Adara Networks Inc. System and method for using a mapping between client addresses and addresses of caches to support content delivery
US20030079027A1 (en) * 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US9426213B2 (en) * 2008-11-11 2016-08-23 At&T Intellectual Property Ii, L.P. Hybrid unicast/anycast content distribution network system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105981430A (en) * 2013-12-17 2016-09-28 诺基亚通信有限责任两合公司 Cell load based content data network selection
CN107431727A (en) * 2015-03-27 2017-12-01 阿卡麦科技公司 Anycast and the flow transmission of the mapping based on terminal user are used in overlay network

Also Published As

Publication number Publication date
WO2012091694A1 (en) 2012-07-05
BR112013016579A2 (en) 2016-09-27
EP2659621A1 (en) 2013-11-06

Similar Documents

Publication Publication Date Title
CN102077189B (en) Request routing using network computing components
US20210021692A1 (en) Translation of resource identifiers using popularity information upon client request
US10264062B2 (en) Request routing using a popularity identifier to identify a cache component
US9712422B2 (en) Selection of service nodes for provision of services
EP3213222B1 (en) Content delivery systems and methods
CN101981572B (en) Request routing
CN102067094B (en) cache optimization
EP2320619B1 (en) A content distribution method over an internetwork including content peering arrangement
CN102047243A (en) Request routing based on class
CN103119915A (en) Request routing in a networked environment
CN101989986A (en) Method for inquiring service node, server and system
US11463401B2 (en) Systems and methods for processing requests for content of a content distribution network
CN103370905A (en) Anycast redirect to unicast content download
KR20130085552A (en) Method and apparatus for generation forwarding table, method for providing contents using the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20131023