CN101971597B - 用于利用应用层重定向将内容路由到客户端的服务器选择 - Google Patents

用于利用应用层重定向将内容路由到客户端的服务器选择 Download PDF

Info

Publication number
CN101971597B
CN101971597B CN2009801084213A CN200980108421A CN101971597B CN 101971597 B CN101971597 B CN 101971597B CN 2009801084213 A CN2009801084213 A CN 2009801084213A CN 200980108421 A CN200980108421 A CN 200980108421A CN 101971597 B CN101971597 B CN 101971597B
Authority
CN
China
Prior art keywords
client
content
server
request
redirected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009801084213A
Other languages
English (en)
Other versions
CN101971597A (zh
Inventor
安尼尔·托马斯
马赫什·查克拉瓦西·维塔尔·维韦贾纳德罕
迪帕克·普诺兰·库罗斯
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology 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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN101971597A publication Critical patent/CN101971597A/zh
Application granted granted Critical
Publication of CN101971597B publication Critical patent/CN101971597B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements

Landscapes

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

Abstract

在一个实施例中,从已经下载了页面的客户端接收对于探测链接的第一请求。该请求是从应用接收的。测试可以被执行以确定最佳地服务来自客户端的内容请求的服务器。在接收到请求后,内容路由器向客户端发送重定向,其中该重定向致使客户端跟随重定向去往服务器。然后,服务器将重定向发送回客户端,客户端通过向内容路由器发送第二请求来跟随重定向。第二请求被与客户端相关联,并且针对服务器的往返时间被计算出来。然后,基于计算出来的往返时间确定服务器的位置是否应该被指定作为客户端的内容递送者。

Description

用于利用应用层重定向将内容路由到客户端的服务器选择
技术领域
特定实施例一般地涉及内容分发系统。
背景技术
内容分发网络(CDN)是内容递送节点的分布式网络。内容递送节点对将内容传送至请求该内容的一个或多个客户端。内容递送节点通常被分散在很多地理位置上。例如,一个节点可能位于纽约,而另一个节点可能位于旧金山。
如果下载大多媒体文件,则选择非最佳的位置来传送内容可能会导致很大的不利于内容递送的后果。例如,大量数据将必须通过更多的网络链路被传输。这会导致向用户传送内容的延迟。例如,如果用户在旧金山而纽约的服务器被选择,则将会经受比选择旧金山的服务器更长的等待时间,并且内容将必须被不必要地传输通过从纽约到旧金山的所有路程,从而导致服务提供商网络的低效利用。
附图说明
图1示出了根据一个实施例的用于递送内容的系统的示例。
图2示出了根据一个实施例的可以由客户端104的浏览器下载的页面的示例。
图3提供了根据一个实施例的系统中的数据流的更详细的示例。
图4示出了根据一个实施例的用于确定内容路由决定的方法的简要流程图。
具体实施方式
纵览
特定实施例一般地涉及确定用于递送内容的服务器。
在一个实施例中,从已经下载页面的客户端接收针对探测链接(probelink)的第一请求。该请求是从应用接收的。测试可以被执行,以确定能够最佳地服务来自客户端的内容请求的服务器。例如,针对不同服务器的往返时间被计算出来,并且针对客户端确定的最佳往返时间被选择。在接收到请求后,内容路由器向客户端发送重定向,其中该重定向致使客户端跟随重定向去往服务器。然后,服务器将重定向发送回客户端,客户端通过向内容路由器发送第二请求来跟随该重定向。第二请求被与客户端相关联,并且针对服务器的往返时间被计算出来。例如,往返时间是以重定向链接被发送以及第二请求被接收的时间为基础的。然后,基于所计算的往返时间,确定服务器的位置是否应该被指定作为客户端的内容递送者(content deliverer)。例如,多个位置被测试,并且具有最短往返时间的位置可以被选择作为内容递送者。
特定实施例使用应用层重定向来确定服务器。例如,超文本传输协议(HTTP)重定向被用来致使客户端向服务器发送重定向。然后,服务器响应于重定向,这使得客户端将第二请求发送回服务器。因此,提供了可以测量往返时间并确定向用户递送内容的最佳位置的应用层解决方案。
示例实施例
图1示出了根据一个实施例的用于递送内容的系统100的示例。如图所示,提供了内容路由器102、客户端104、以及多个服务器106。服务器106可以被设立在地理上分散的不同位置108中。
内容路由器102被配置为确定应该作为用于客户端104的内容递送者的位置108。内容路由器102是中途拦截定向在CDN(内容分发网络)处的客户请求的装置。内容路由器的任务在于确保内容是从处于相对于客户端来说的最佳位置中的服务器取得的。例如,可以选择最接近客户端104的位置。尽管描述了最接近的位置,但是应该理解,可以使用其他因素来确定哪个服务器106是向客户端104递送内容的最佳服务器。例如,服务器106可以是最接近客户端104的服务器,但是递送来自该位置的内容的网络可能会经受低带宽吞吐量或者可能会发生故障。所以,可以确定不是最接近的服务器、但是可以更快地递送内容的另一个服务器106作为递送内容的最佳服务器。
服务器106可以是能够递送内容的任何装置。例如,服务器106可以包括能够将内容递送至客户端104的网络装置。在一个示例中,内容可以在处于内容分发网络中的不同位置108中的服务器106上被复制。根据位置108,内容可能被以不同的等待时间递送至客户端104。例如,期望最接近客户端104的服务器106能够最快地将内容递送至客户端104。另外,可以考虑诸如网络的可用带宽、网络故障之类的其他因素。
客户端104包括可以使用浏览器下载诸如网页之类的页面的计算机。网页可以是允许用户下载内容的门户(portal)。当用户请求内容时,客户端104可以向内容路由器102发送请求。
位置108可以包括多个服务器106。例如,位置108可以是包括能够递送内容的多个路由器的服务器群或数据中心。本说明书描述了使用服务器来确定往返时间。服务器可以被确定作为位置108的代表,并且被用作确定往返时间的基础。将会理解,当内容被递送时,所选位置中的任意服务器可以被使用。
如下面将要描述的,在用户请求内容之前,服务器确定单元110可能已经选择了应该将内容递送至客户端104的位置108。这个决定可以在用户请求内容之前被确定。
服务器确定单元110使用可以确定向客户端104递送内容的位置108的应用层解决方案。如下面将更加详细地描述的,客户端104的应用可以向内容路由器102发送针对探测链接的请求。然后,内容路由器102选择用于位置108的服务器106。服务器确定单元110然后可以向客户端104发送诸如超文本传输协议(HTTP)重定向之类的重定向请求。这使得客户端104将消息重定向到服务器106。然后,服务器106将重定向发送回客户端,这使得客户端向内容路由器102发送第二请求。然后,服务器确定单元110可以确定其对将被发送并接收的消息所花费的往返时间。据此,服务器确定单元110可以确定服务器106是否应该被选择来递送内容。例如,以上处理可以针对多个位置108中的大量服务器106执行。具有最短往返时间的服务器106可以被选择作为内容递送者。可以考虑诸如带宽之类的其他因素来确定递送内容最快的服务器106。
图2示出了根据一个实施例的可以由客户端104的浏览器下载的页面200的示例。尽管示出了页面200,但是应该理解,任何页面都可以由客户端104下载。在一个示例中,页面200可以是列出可以由用户播放的内容的门户。如图所示,设置了允许用户播放内容204的按钮202。在这种情况下,不同的电影可以被播放。当用户选择按钮202时,用户期望内容应该几乎立即被播放。例如,用户可能期望内容在2秒钟内被播放。如果在开启内容时发生延迟,则用户可能变得不感兴趣并且取消下载。
在用户选择显示的项目之后,根据指向内容的统一资源定位符(URL)的类型,HTTP GET或者实时流传输协议(RSTP)DESCRIBE被客户端104的客户端应用生成。请求去往内容路由器102,内容路由器102将客户端104重定向到适当的服务器106。为了最小化用户经受的等待时间,内容路由决定在播放请求被接收到之前被预先做出。所以,不需要等待播放请求(HTTP GET或者RTSP DESCRIBE),当页面200首先在客户端104的路由器上被加载时,内容路由决定可以被执行。在一种情况下,内容分发网络不知道门户页面何时被下载,这意味着内容路由器102不知道页面何时被加载。然而,页面可以在其中包括探测链接(probelink)106。探测链接指向内容路由器102,从而使得其在页面被加载时被接触。
探测链接206可以是致使客户端104向内容路由器102发送针对探测链接的请求的链接。探测链接206可以被绘制为图像或者可视(例如,通过使图像为单独像素,或者通过使图像具有与页面背景相同的颜色)。例如,当图像在页面200中被下载时,它使得应用向内容路由器102发送针对将要发送的探测链接的请求。例如,探测链接可以是被发送的HTTP请求。另外,探测链接可以是可视的,并且被嵌入在用于页面200的代码中。当代码被下载时,探测链接请求可以被发送至内容路由器102。
尽管用户正在通过关注内容选择而浏览页面200,但是内容路由器102可以在后台确定内容路由决定。在用户选择播放项目之前,内容路由器102可以做出内容路由决定,例如,内容浏览器102可能已经选择服务器106来向客户端104递送内容。例如,内容路由器102可能已经对用户的互联网协议(IP)地址和位置108进行配对。客户端104和位置108之间的映射可以被保存在数据库中。当请求被接收到时,客户端104可以被重定向到位置108,以请求内容。这使得该位置处的服务器106能够在低等待时间的环境下向客户端104递送内容。
尽管描述了页面200,但是用户可以以其他方式访问内容。例如,用户可以选择通过电子邮件接收到的媒体链接。在这种情况下,链接(URL)可以直接指向内容文件。当内容路由器102从其从未见过的客户端104接收这个URL时,一系列重定向被触发,以找出最佳服务器106。一旦确定了服务器,内容被从最佳位置传送,并且来自相同客户端的所有后续请求现在可以被重定向到相同的位置。内容路由器102对客户端104和位置108进行配对,并将这种映射保存在它的数据库中用于将来的请求。来自客户端104的将来的请求不需要经历服务器确定处理,因为数据库查找被用来确定最佳位置108。数据库条目可以在所配置的时间间隔之后被无效,然后内容路由器102针对相同的客户端再次执行相同的确定。
图3提供了根据一个实施例的系统100中的数据流的更详细的示例。针对多个位置108中的多个服务器106,以下的处理可以被执行。如300处所示,客户端104可以下载页面200。探测链接可以被作为页面200的一部分下载。在302,针对探测链接的请求被发送至内容路由器102。在一个示例中,针对多个探测链接的请求可以被发送。例如,针对三个位置的探测链接可以被发送至内容路由器102。在一个示例中,探测链接可以是诸如HTTP地址内容路由器/探测之类的HTTP请求。这可以向内容路由器102发送针对探测链接的请求。服务器确定单元110可以存储针对客户端104的标识符或IP地址。这随后被用来关联用于确定往返时间的从客户端104接收的第二请求。
在304,内容路由器102确定测试的位置108,并确定作为代表的服务器106。然后,内容路由器102向客户端104发送将客户端重定向到所选择的服务器106的重定向消息。例如,诸如状态代码307之类的HTTP重定向被发送至客户端104。重定向中的位置字段可以包含指向将要探测的服务器106的专用统一资源标识符(URI)。这致使客户端104对与客户端106的HTTP连接进行初始化。应该注意,重定向是从内容路由器102到客户端104的HTTP请求。这不同于ping命令,ping命令可能不总是行得通。这是因为客户端可以处于防火墙后面,并且从客户端104到内容路由器102的无保护的ping命令不能穿过防火墙。相反,ping被发送通过不允许ping的端口。然而,响应于请求探测链接的客户端的HTTP重定向将穿过防火墙。Ping程序根据互联网控制消息协议(ICMP)回显请求,确定往返时间。大量互联网服务供应商在他们的边界处过滤出ICMP回显请求。特定实施例使用诸如HTTP或RTSP重定向之类的应用层协议机制,从而请求可以在未经过滤的情况下穿过。
另外,对于防火墙,请求被客户端104初始化,并且防火墙被请求不去防碍剩下的处理。重定向序列由请求探测链接的客户端104触发,该客户端建立与内容路由器102的传输控制协议(TCP)连接,并且做出请求。从内容路由器102到客户端104的响应(重定向命令)在相同的TCP连接上被传递到客户端104。防火墙将重定向命令识别为相同的TCP处理的一部分,并让重定向通过。来自服务器106的重定向也被识别并传递。
在306,重定向致使客户端104跟随重定向,并且对与服务器306的HTTP连接进行初始化。例如,发送至客户端104的重定向被重定向到服务器106-1。在308,服务器106-1检测专用URI,这使得其将重定向发送回客户端304。该重定向被跟随回到内容路由器102。例如,客户端104可以向内容路由器102发送HTTP消息:contentrouter/probe。这个处理可以针对被请求的所有探测链接执行。例如,服务器106-2和服务器106-3也可以利用服务器106-1的上述探测而被探测。内容路由器102将标识符与客户端104相关联,然后可以使用基于前一消息被发送的时间来计算往返时间。在一个示例中,针对每个服务器106的往返时间被计算。可以计算从在304对重定向进行初始化到在310来自客户端104的第二请求被接收时经过的时间。这可以测量服务器106和客户端104之间的往返时间。该往返时间可以包括从内容路由器102向客户端104发送消息以及从客户端104向内容路由器102发送消息所花费的时间。然而,假设该时间对于所有服务器106来说都是相同的,则其可以被包括在计算中。
当多个位置108被测试时,服务器确定单元110可以确定最佳服务器104(或位置),以指派作为内容递送者。例如,确定这样的位置,其中服务器确定单元110确定可以将内容最快地递送到客户端104的位置。针对服务器106的不同的往返时间可以被比较,并且最佳位置可以基于往返时间来确定。具有最短往返时间的位置108可以被确定作为应该被选择来向客户端104递送内容的位置。
在一些情况下,最佳位置用带宽来指示比用等待时间来指示更好。带宽可以通过使探测链接指向适当大小的虚拟HTML文件来测量。在高带宽路径上,通过使相应的位置108提供更快的下载,文件可以更快下载。然而,服务器106不能通过发布200OK和307-re-direct二者来响应于GET请求。所以,需要一种在探测文件已经被传输之后将客户端104重定向回内容路由器102的替代机制。在一个示例中,门户页面上的探测链接为<iframe src=”http://contentrouter/probe.html”><iframe>。当客户端104从内容路由器102请求probe.html时,其被重定向到HTTP地址server-in-location1/dummy.html。位于服务器106上的文件可以是:
<html>
<body>
<!--
不可视的虚拟数据。装入期望的大小...
-->
<img src=″http://contentrouter/probe.jpg″></img>
</body>
</html>
当文件被请求时,来自服务器的HTTP响应使用标准报头字段来防止内容的缓存。例如,来自服务器106的HTTP响应具有被设置为no-Cache的Cache-Control字段,从而使得在任何地方dummy.html都不被缓存。加载以上文件使得客户端104与内容路由器接触,以请求probe.jpg。这时,内容路由器102可以计算往返时间,该往返时间包括用于dummy.html的下载时间。
探测处理可以串行或并行执行。对于串行处理,客户端104可以串行请求探测链接。例如,一旦一个往返被完成,则针对探测链接的第二请求可以被发送。如果请求被并行发送,则来自服务器106的第一响应可以被看作具有最短往返时间,所以这个服务器106可以被选择作为向客户端104递送内容的服务器。不需要等待剩余的位置完成比赛。所以,做出内容路由决定所需的时间被最小化。
在后续实施例中,在页面200上只提供了一个探测链接。内容路由器102可以通过将针对探测链接的相同请求重定向多次来逐一地探测服务器106。当存在很多位置时,这将导致重定向的次数超过客户端104的浏览器所支持的最大数目。因此,考虑到多个连续的重定向,可以在一个页面200上提供多个探测链接。
另外,为了避免重定向限制,单个探测链接可以分散到多个探针中。这可以通过将单个探针制作为在线帧(in-line frame)来实现。例如,门户页面上的探测链接可以为<iframe src=″http://contentrouter/probe″></iframe>,并且HTTP地址contentrouter/probe处的页面可以看起来如下:
<html>
<body>
<img src=″http://contentrouter/probe 1″></img>
<img src=″http://contentrouter/probe2″></img>
<img src=″http://contentrouter/probe3″></img>
</body>
</html>
所以,加载门户页面导致客户端104请求三个探测链接,即探针1、探针2、以及探针3。这可以将页面200从内容分发网络的内部去耦合。例如,页面200不需要被修改为具有将要探测的新位置。
当在线帧被请求时,内容路由器102可以利用包含指向单独的服务器106的探针的页面进行响应。这避免了从客户端到内容路由器的一个往返。在这种情况下,HTTP地址contentrouter/probe处的页面可以为:
<html>
<body>
<img src=″server-in-location 1/probe″></img>
<img src=″server-in-location 2/probe″></img>
<img src=″server-in-location 3/probe″></img>
</body>
</html>
另外,在页面200上,不能使用探测链接。在这种情况下,下载页面的媒体请求可以下载探测链接,在这种情况下,在传送实际内容之前进行重定向。针对页面的第一请求,用户可能会经历增加的等待时间。RTSP请求还可以使用RTSP重定向请求来往复。
客户端104还可以在到达内容路由器102之前通过一个或多个中间代理。如果这种情况发生,则内容路由器102不能确定客户端104的IP地址。内容路由器102可能会信任在代理处生成的请求,这是因为代理充当客户端104进行动作。这使得内容路由器102不能可靠的识别来自客户端104的随后的请求,以确定往返时间。即,内容路由器102需要确定第一请求何时被从客户端接收到,并将其与第二请求相关联,以确定往返时间。
当代理被使用时,内容路由器102可以服务于针对探测链接的请求并生成用于客户端104的标识符。该标识符可以被以HTTP cookie的形式发送至客户端104。内容路由器102将内容路由决定记录在它的数据库中,作为标识符和所选择的位置108之间的映射。下次客户端104从内容路由器102请求内容时,客户端104发送cookie,其可以被用来使用标识符执行数据库查找。这提供了被选择用于客户端104的位置。
图4示出了根据一个实施例的用于确定内容路由决定的方法的简要流程图400。步骤402接收对于探测链接的请求。探测链接可以在内容路由器102处从客户端104接收。
步骤404确定在其中测量往返时间的服务器106。例如,位置108处的服务器可以被确定。
在步骤406,重定向请求被从内容路由器102发送至客户端104。该请求将客户端104重定向到服务器106。服务器106也将重定向发送回客户端104,这使得客户端向内容路由器102发送第二请求。在步骤408,内容路由器102从客户端104接收第二请求。
在410,内容路由器102确定往返时间。
这个处理可以针对多个服务器执行。步骤412确定是否应该探测更多的位置108。如果是,则该处理重复到步骤406,其中其他重定位被发送。如果不需要探测更多的位置108,则步骤414确定应该作为客户端104的内容递送者的位置108。这可以是最接近客户端104的位置108,也可以是具有最大带宽的位置108。
特定实施例提供了很多优点。例如,额外的等待时间不会被附加到针对内容的请求上。相反,内容路由决定是在用户请求内容之前执行的。另外,不需要对层3或层4进行增强。另外,不需要域名服务(DNS)支持。相反,在客户端104处的应用对探测链接请求进行初始化的情况下,提供了应用层解决方案。通过使用重定向,防火墙的存在将不是问题。这是因为内容路由器102向应于来自客户端104的请求。
尽管针对本发明的特定实施例描述了本发明,但是这些特定实施例只是说明性的,而不是限制性的。
包括C、C++、Java、汇编语言等在内的任何适当的编程语言都可以被用来执行特定实施例的例程。可以采用诸如程序上的或者对象导向的不同编程技术。例程可以在单个处理装置或多个处理器上执行。尽管步骤、操作、或者计算被以特定次序示出,但是在不同的特定实施例中这种次序可以改变。在一些特定实施例中,如本说明书中顺序示出的多个步骤可以被同时执行。
用于特定实施例的“计算机可读介质”可以是包含、存储、传送、传播、或传输用于指令执行系统、设备、系统或装置的任意介质。计算机可读介质例如可以是电、磁、光、电磁、红外、或半导体系统、设备、系统、装置、传播介质、或计算机存储器,这里的举例只是示例性的而不是限制性的。特定实施例可以以软件、硬件或者它们的组合中的控制逻辑的形式实现。当由一个或多个处理器执行时,控制逻辑可操作以执行特定实施例中描述的处理。
可以通过使用编程的通用数字计算机、使用专用集成电路、可编程逻辑装置、现场(field)可编程门阵列、光学、化学、生物学、量子或纳米技术系统来实现特定实施例。一般,特定实施例的功能可以通过现有技术中已知的任意装置来实现。可以使用分布式、联网系统、部件、和/或电路。数据的通信或传输可以是有线的、无线的、或者任意其他方式。
应该明白,附图中示出的一个或多个元件也可以以更加分散或综合的方式实现,或者可以在某些情况中不可操作的情况下被去除或者弃用,如根据特定应用所使用。实现可以被存储在机器可读介质中的程序或代码以允许计算机执行上述任何方法也在本发明的精神和范围内。
说明书及随后的权利要求书中使用的“一”、“一个”、“该”包括多种引用,除非上下文清楚地做出例外声明。另外,说明书及随后的权利要求中使用的“中”的意思包括“中”和“上”,除非上下文清楚地做出例外声明。
所以,尽管这里描述了特定实施例,但是在前面的公开中预期了各种修改、各种改变和替代。应该明白,在不脱离所述的范围和精神的条件下,可以不相应地使用其他特征而仅采用特定实施例中的一些特征。所以,可以作出很多修改,以适应实质范围和精神的情形和材料。

Claims (16)

1.一种用于递送内容的方法,包括:
从已经下载页面的客户端接收针对探测链接的第一请求;
确定一位置中的服务器,该位置是能够服务于来自所述客户端的内容请求的位置;
向所述客户端发送重定向消息,所述重定向消息致使所述客户端跟随所述重定向消息去往所述服务器并接收返回到所述客户端的重定向;
基于在所述客户端处接收自所述服务器的所述重定向,从所述客户端接收第二请求;
将所述第二请求与所述探测链接相关联;
针对所述服务器计算往返时间,其中所述往返时间是基于所述重定向消息被发送至所述客户端的时间以及所述第二请求何时被接收的;以及
基于所计算的往返时间,确定所述位置是否应该被指定为所述客户端的内容递送者。
2.根据权利要求1所述的方法,还包括:
针对多个位置计算多个往返时间;以及
基于所计算的往返时间,确定所述多个位置中的位置作为所述内容递送者。
3.根据权利要求1所述的方法,还包括:
针对多个位置向所述客户端发送多个重定向消息;以及
基于首先接收到来自服务器的第二请求的位置,确定所述多个位置中的所述位置作为所述内容递送者。
4.根据权利要求1所述的方法,其中所述重定向消息是穿过客户端的防火墙的重定向消息。
5.根据权利要求1所述的方法,其中所述第一请求是从所述客户端处的应用接收的。
6.根据权利要求1所述的方法,其中所述内容递送者是在针对内容的内容请求被接收之前确定的。
7.根据权利要求6所述的方法,还包括当所述内容请求被接收时,将所述客户端重定向到所确定的位置。
8.根据权利要求1所述的方法,其中所述重定向消息使得文件被从所述服务器下载。
9.一种用于递送内容的设备,包括:
用于从已经下载页面的客户端接收针对探测链接的第一请求的装置;
用于确定一位置中的服务器的装置,该位置是能够服务于来自所述客户端的内容请求的位置;
用于向所述客户端发送重定向消息的装置,所述重定向消息致使所述客户端跟随所述重定向消息去往所述服务器并接收返回到所述客户端的重定向;
用于基于在所述客户端接收自所述服务器的所述重定向,从所述客户端接收第二请求的装置;
用于将所述第二请求与所述探测链接相关联的装置;
用于针对所述服务器计算往返时间的装置,其中所述往返时间是基于所述重定向消息被发送到所述客户端的时间和所述第二请求何时被接收的;以及
用于基于所计算的往返时间,确定所述位置是否应该被指定为所述客户端的内容递送者的装置。
10.根据权利要求9所述的设备,还包括:
用于针对多个位置计算多个往返时间的装置;以及
用于基于所计算的往返时间,确定所述多个位置中的位置作为所述内容递送者的装置。
11.根据权利要求9所述的设备,还包括:
用于针对多个位置向所述客户端发送多个重定向消息的装置;以及
用于基于首先接收到来自服务器的第二请求的位置,确定所述多个位置中的所述位置作为所述内容递送者的装置。
12.根据权利要求9所述的设备,其中所述重定向消息是穿过客户端的防火墙的重定向消息。
13.根据权利要求9所述的设备,其中所述第一请求是从所述客户端处的应用接收的。
14.根据权利要求9所述的设备,其中所述内容递送者是在针对内容的内容请求被接收到之前确定的。
15.根据权利要求14所述的设备,还包括用于在所述内容请求被接收到时将所述客户端重定向到所确定的位置的装置。
16.根据权利要求9所述的设备,其中所述重定向消息使得文件被从所述服务器下载。
CN2009801084213A 2008-03-13 2009-03-10 用于利用应用层重定向将内容路由到客户端的服务器选择 Expired - Fee Related CN101971597B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/047,984 2008-03-13
US12/047,984 US8667175B2 (en) 2008-03-13 2008-03-13 Server selection for routing content to a client using application layer redirection
PCT/US2009/036704 WO2009114558A2 (en) 2008-03-13 2009-03-10 Server selection for fouting content to a client using application layer redirection

Publications (2)

Publication Number Publication Date
CN101971597A CN101971597A (zh) 2011-02-09
CN101971597B true CN101971597B (zh) 2013-10-09

Family

ID=41064218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801084213A Expired - Fee Related CN101971597B (zh) 2008-03-13 2009-03-10 用于利用应用层重定向将内容路由到客户端的服务器选择

Country Status (4)

Country Link
US (2) US8667175B2 (zh)
EP (1) EP2272239B1 (zh)
CN (1) CN101971597B (zh)
WO (1) WO2009114558A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662865B (zh) * 2012-08-24 2018-06-08 阿卡麦科技公司 混合型http和udp内容分发

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667175B2 (en) 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
AU2009231676B2 (en) 2008-04-02 2013-10-03 Twilio Inc. System and method for processing telephony sessions
US9003050B2 (en) * 2008-04-11 2015-04-07 Mobitv, Inc. Distributed and scalable content streaming architecture
US8199896B2 (en) * 2008-05-22 2012-06-12 Nice Systems Ltd. Session board controller based post call routing for customer feedback application
CN102227904A (zh) 2008-10-01 2011-10-26 特维里奥公司 电话网络事件的系统和方法
US8818398B1 (en) * 2008-12-08 2014-08-26 Sprint Spectrum L.P. Method and system for streamlined location determination with advanced communication of base station delay measurements
EP2404412B1 (en) 2009-03-02 2019-05-01 Twilio Inc. Method and system for a multitenancy telephone network
CA2755774C (en) * 2009-03-19 2015-01-06 Azuki Systems, Inc. Method for scalable live streaming delivery for mobile audiences
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
GB2477513B (en) * 2010-02-03 2015-12-23 Orbital Multi Media Holdings Corp Redirection apparatus and method
US8904016B2 (en) * 2010-03-02 2014-12-02 Nokia Corporation Method and apparatus for selecting network services
US9898342B2 (en) * 2010-05-14 2018-02-20 Micro Focus Software Inc. Techniques for dynamic cloud-based edge service computing
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
EP2410699A1 (en) * 2010-07-20 2012-01-25 Alcatel Lucent A method of controlling a quality of a service in a computer network, corresponding computer program product, and data storage device therefor
US8928756B2 (en) * 2010-10-22 2015-01-06 Alcatel Lucent Surveillance video router
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US8699646B2 (en) * 2011-04-18 2014-04-15 Harman International Industries, Inc. Media clock negotiation
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
JP5736972B2 (ja) * 2011-05-30 2015-06-17 富士ゼロックス株式会社 蓄積装置及び通信システム
CN102307227B (zh) * 2011-06-23 2014-04-30 湖南中烟工业有限责任公司 一种基于自定义客户端的企业门户集成方法
US20130007207A1 (en) * 2011-06-30 2013-01-03 Dietrich Bradley W Systems and methods for retrieving objects from a plurality of network locations
US8903909B1 (en) * 2011-09-15 2014-12-02 Google Inc. Detecting and extending engagement with stream content
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
WO2013044138A1 (en) 2011-09-21 2013-03-28 Twilio, Inc. System and method for authorizing and connecting application developers and users
CN102668518B (zh) * 2011-12-02 2013-10-02 华为技术有限公司 一种内容分发网络路由方法、系统和用户终端
EP2611153A1 (en) * 2011-12-29 2013-07-03 Thomson Licensing System and method for multiplexed streaming of multimedia content
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US9577974B1 (en) * 2012-02-14 2017-02-21 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with manipulating social data from streaming services
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
WO2013189021A1 (en) * 2012-06-19 2013-12-27 Hewlett-Parkard Development Company, L.P. Round trip time measurement system
US20140013001A1 (en) * 2012-07-06 2014-01-09 Microsoft Corporation Parallel probing for efficient proxy selection in networked environments
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
CN103634129B (zh) * 2012-08-22 2018-03-20 腾讯科技(深圳)有限公司 一种设置代理服务器的方法及装置
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US9100698B2 (en) * 2012-10-26 2015-08-04 Motorola Solutions, Inc. Systems and methods for sharing bandwidth across multiple video streams
CN103812907B (zh) * 2012-11-14 2018-01-16 华为技术有限公司 一种确定待共享的终端的方法、装置和系统
US9135274B2 (en) * 2012-11-21 2015-09-15 General Electric Company Medical imaging workflow manager with prioritized DICOM data retrieval
US9998291B1 (en) * 2012-11-29 2018-06-12 vIPtela Inc. Multicast routing based on a unicast transport network
CN103916681A (zh) * 2013-01-04 2014-07-09 云联(北京)信息技术有限公司 一种流媒体内容播放方法、装置及系统
US10264090B2 (en) * 2013-02-27 2019-04-16 Pavlov Media, Inc. Geographical data storage assignment based on ontological relevancy
US9026783B2 (en) * 2013-03-07 2015-05-05 Google Inc. Low latency server-side redirection of UDP-based transport protocols traversing a client-side NAT firewall
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9392042B1 (en) 2013-04-29 2016-07-12 Amazon Technologies, Inc. Streaming media optimization
US9160696B2 (en) 2013-06-19 2015-10-13 Twilio, Inc. System for transforming media resource into destination device compatible messaging format
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9419845B2 (en) * 2013-06-27 2016-08-16 Cisco Technology, Inc. Dynamic content distribution network selection based on context from transient criteria
US9319451B2 (en) 2013-07-15 2016-04-19 Google Inc. Systems and methods for selecting an accounting technique for interactions with electronic content
US9083676B2 (en) * 2013-07-15 2015-07-14 Google Inc. Systems and methods for reliably using ping to account for interactions with electronic content
CN104348722B (zh) 2013-07-31 2017-12-12 华为技术有限公司 确定内容获取路径、请求处理的方法、装置和系统
US9648387B2 (en) * 2013-07-31 2017-05-09 Time Warner Cable Enterprises Llc Methods and apparatus for enhancing network reliability and/or enabling phased deployment of video services
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
CN104468363B (zh) 2013-09-18 2018-12-07 华为终端有限公司 页面重定向方法、路由设备、终端设备及系统
US9882818B2 (en) 2013-09-30 2018-01-30 Apple Inc. Adjusting a jitter buffer based on inter arrival jitter
WO2014176990A1 (zh) * 2013-10-11 2014-11-06 中兴通讯股份有限公司 节点分配方法、装置及系统
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9736720B2 (en) * 2014-01-31 2017-08-15 Aruba Networks, Inc. Modifying feedback information to control a source device
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9516101B2 (en) * 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
WO2016065080A1 (en) 2014-10-21 2016-04-28 Twilio, Inc. System and method for providing a miro-services communication platform
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US10015162B2 (en) * 2015-05-11 2018-07-03 Huawei Technologies Co., Ltd. Firewall authentication of controller-generated internet control message protocol (ICMP) echo requests
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9787560B2 (en) 2015-06-04 2017-10-10 Microsoft Technology Licensing Llc Effective service node traffic routing
CN105528251B (zh) * 2015-12-23 2019-06-07 北京奇虎科技有限公司 应用通知信息的处理方法、装置及移动终端
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10642763B2 (en) * 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10021429B1 (en) 2017-07-18 2018-07-10 Wowza Media Systems, LLC Selection of a content source based on performance data
US10623508B2 (en) * 2018-09-12 2020-04-14 Citrix Systems, Inc. Systems and methods for integrated service discovery for network applications
US20210044509A1 (en) * 2019-08-05 2021-02-11 Charter Communications Operating, Llc Intelligent Edge Gateway Device with Path and Response Time Optimization
CN114257532B (zh) * 2021-12-22 2023-12-29 中国工商银行股份有限公司 服务端状态探测方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601098B1 (en) * 1999-06-07 2003-07-29 International Business Machines Corporation Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence
CN1518281A (zh) * 2003-01-08 2004-08-04 �ձ�������ʽ���� Ip路由器、通信系统和其中使用的频带设置方法及程序
US6992983B1 (en) * 2000-05-05 2006-01-31 Macromedia, Inc. Bandwidth detection in a heterogeneous network with parallel and proxy modes

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827411A (en) * 1987-06-15 1989-05-02 International Business Machines Corporation Method of maintaining a topology database
US4965772A (en) * 1987-06-15 1990-10-23 International Business Machines Corporation Method and apparatus for communication network alert message construction
US5506987A (en) * 1991-02-01 1996-04-09 Digital Equipment Corporation Affinity scheduling of processes on symmetric multiprocessing systems
WO1993005593A1 (en) * 1991-09-10 1993-03-18 Hybrid Networks, Inc. Remote link adapter for use in tv broadcast data transmission system
US5611049A (en) * 1992-06-03 1997-03-11 Pitts; William M. System for accessing distributed data cache channel at each network node to pass requests and data
US5345586A (en) * 1992-08-25 1994-09-06 International Business Machines Corporation Method and system for manipulation of distributed heterogeneous data in a data processing system
DE69324204T2 (de) * 1992-10-22 1999-12-23 Cabletron Systems Inc Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server
US6181679B1 (en) * 1993-03-19 2001-01-30 International Business Machines Corporation Management of packet transmission networks
US5511208A (en) * 1993-03-23 1996-04-23 International Business Machines Corporation Locating resources in computer networks having cache server nodes
JP3192039B2 (ja) * 1993-09-13 2001-07-23 株式会社日立製作所 トラヒック制御方式およびネットワーク制御システム
US5488412A (en) * 1994-03-31 1996-01-30 At&T Corp. Customer premises equipment receives high-speed downstream data over a cable television system and transmits lower speed upstream signaling on a separate channel
US5555244A (en) * 1994-05-19 1996-09-10 Integrated Network Corporation Scalable multimedia network
JPH09510596A (ja) * 1994-06-08 1997-10-21 エイチイー・ホールディングス・インコーポレーテッド・ディー ビーエー・ヒューズ・エレクトロニクス ハイブリッドネットワークアクセスのための装置および方法
US5586121A (en) * 1995-04-21 1996-12-17 Hybrid Networks, Inc. Asymmetric hybrid access system and method
US5802320A (en) * 1995-05-18 1998-09-01 Sun Microsystems, Inc. System for packet filtering of data packets at a computer network interface
US5751971A (en) * 1995-07-12 1998-05-12 Cabletron Systems, Inc. Internet protocol (IP) work group routing
JP3063627B2 (ja) * 1995-09-18 2000-07-12 株式会社デンソー バイトホルダーおよびそれを用いた切削方法
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5848241A (en) 1996-01-11 1998-12-08 Openframe Corporation Ltd. Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links
GB2309558A (en) * 1996-01-26 1997-07-30 Ibm Load balancing across the processors of a server computer
US5740375A (en) * 1996-02-15 1998-04-14 Bay Networks, Inc. Forwarding internetwork packets by replacing the destination address
US5872773A (en) * 1996-05-17 1999-02-16 Lucent Technologies Inc. Virtual trees routing protocol for an ATM-based mobile network
US6006266A (en) 1996-06-03 1999-12-21 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US6064677A (en) * 1996-06-27 2000-05-16 Xerox Corporation Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6182139B1 (en) * 1996-08-05 2001-01-30 Resonate Inc. Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm
US5956346A (en) * 1996-10-22 1999-09-21 Hybrid Networks, Inc. Broadband communication system using TV channel roll-off spectrum
US5959660A (en) * 1996-08-26 1999-09-28 Hybrid Networks, Inc. Subchannelization scheme for use in a broadband communications system
US5892903A (en) * 1996-09-12 1999-04-06 Internet Security Systems, Inc. Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system
US5787470A (en) * 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
US5941988A (en) * 1997-01-27 1999-08-24 International Business Machines Corporation Session and transport layer proxies via TCP glue
US5953335A (en) * 1997-02-14 1999-09-14 Advanced Micro Devices, Inc. Method and apparatus for selectively discarding packets for blocked output queues in the network switch
US5946048A (en) * 1997-03-12 1999-08-31 Hybrid Networks, Inc. Network device for handling digital data over a TV channel
US5946047A (en) * 1997-03-12 1999-08-31 Hybrid Networks, Inc. Network system for handling digital data over a TV channel
US5989060A (en) * 1997-05-02 1999-11-23 Cisco Technology System and method for direct communication with a backup network device via a failover cable
US5996021A (en) * 1997-05-20 1999-11-30 At&T Corp Internet protocol relay network for directly routing datagram from ingress router to egress router
US6167438A (en) 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US6578077B1 (en) * 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
US6212190B1 (en) * 1997-06-23 2001-04-03 Sun Microsystems, Inc. Method and system for generating data packets on a heterogeneous network
US5959968A (en) * 1997-07-30 1999-09-28 Cisco Systems, Inc. Port aggregation protocol
US6006268A (en) * 1997-07-31 1999-12-21 Cisco Technology, Inc. Method and apparatus for reducing overhead on a proxied connection
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6157942A (en) 1997-08-13 2000-12-05 Microsoft Corporation Imprecise caching of directory download responses for dynamic directory services
US6205149B1 (en) * 1997-09-11 2001-03-20 3Com Corporation Quality of service control mechanism and apparatus
US5950205A (en) * 1997-09-25 1999-09-07 Cisco Technology, Inc. Data transmission over the internet using a cache memory file system
US6240461B1 (en) * 1997-09-25 2001-05-29 Cisco Technology, Inc. Methods and apparatus for caching network data traffic
US6463475B1 (en) * 1997-09-26 2002-10-08 3Com Corporation Method and device for tunnel switching
US5928331A (en) 1997-10-30 1999-07-27 Matsushita Electric Industrial Co., Ltd. Distributed internet protocol-based real-time multimedia streaming architecture
US6167446A (en) 1997-11-03 2000-12-26 Inca Technology, Inc. Automatically configuring network-name-services
US6230196B1 (en) * 1997-11-12 2001-05-08 International Business Machines Corporation Generation of smart HTML anchors in dynamic web page creation
JP3665460B2 (ja) * 1997-12-05 2005-06-29 富士通株式会社 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6510469B1 (en) * 1998-05-13 2003-01-21 Compaq Information Technologies Group,L.P. Method and apparatus for providing accelerated content delivery over a network
US6446121B1 (en) 1998-05-26 2002-09-03 Cisco Technology, Inc. System and method for measuring round trip times in a network using a TCP packet
US6260070B1 (en) * 1998-06-30 2001-07-10 Dhaval N. Shah System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
US6092178A (en) * 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
US6389462B1 (en) * 1998-12-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for transparently directing requests for web objects to proxy caches
US7281036B1 (en) * 1999-04-19 2007-10-09 Cisco Technology, Inc. Method and apparatus for automatic network address assignment
US6505254B1 (en) * 1999-04-19 2003-01-07 Cisco Technology, Inc. Methods and apparatus for routing requests in a network
US6345294B1 (en) * 1999-04-19 2002-02-05 Cisco Technology, Inc. Methods and apparatus for remote configuration of an appliance on a network
US6477522B1 (en) * 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection
US6594260B1 (en) 1999-09-03 2003-07-15 Cisco Technology, Inc. Content routing
US6606643B1 (en) * 2000-01-04 2003-08-12 International Business Machines Corporation Method of automatically selecting a mirror server for web-based client-host interaction
US7886023B1 (en) * 2000-01-21 2011-02-08 Cisco Technology, Inc. Method and apparatus for a minimalist approach to implementing server selection
US7349348B1 (en) * 2000-01-24 2008-03-25 Cisco Technologies, Inc. Method and apparatus for determining a network topology in the presence of network address translation
US7117273B1 (en) * 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US6922417B2 (en) * 2000-01-28 2005-07-26 Compuware Corporation Method and system to calculate network latency, and to display the same field of the invention
US7650376B1 (en) * 2000-03-27 2010-01-19 Blumenau Trevor I Content distribution system for distributing content over a network, with particular applicability to distributing high-bandwidth content
WO2001080033A2 (en) * 2000-04-17 2001-10-25 Circadence Corporation System and method for implementing application -independent functionality within a network infrastructure
US6742044B1 (en) 2000-05-10 2004-05-25 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US7395348B1 (en) * 2000-06-05 2008-07-01 Cisco Technology, Inc. Network cache-based content routing
US7072979B1 (en) * 2000-06-28 2006-07-04 Cisco Technology, Inc. Wide area load balancing of web traffic
US6891855B2 (en) 2000-07-27 2005-05-10 Corrigent Systems, Ltd. Dynamic packet fragmentation
US7225237B1 (en) * 2000-07-31 2007-05-29 Cisco Technology, Inc. System and method for providing persistent connections based on subnet natural class
US6920498B1 (en) * 2000-08-31 2005-07-19 Cisco Technology, Inc. Phased learning approach to determining closest content serving sites
US7103651B2 (en) 2000-11-30 2006-09-05 Nortel Networks Limited Method and apparatus for discovering client proximity network sites
US7546369B2 (en) * 2000-12-21 2009-06-09 Berg Mitchell T Method and system for communicating a request packet in response to a state
US7080138B1 (en) 2001-04-11 2006-07-18 Cisco Technology, Inc. Methods and apparatus for content server selection
US7321925B2 (en) * 2001-09-18 2008-01-22 Intel Corporation Load balancing and fault tolerance for server-based software applications
US7222190B2 (en) * 2001-11-02 2007-05-22 Internap Network Services Corporation System and method to provide routing control of information over data networks
US7720997B1 (en) * 2001-12-19 2010-05-18 Cisco Technology, Inc. Path selection system
US8156216B1 (en) * 2002-01-30 2012-04-10 Adobe Systems Incorporated Distributed data collection and aggregation
US7143191B2 (en) 2002-06-17 2006-11-28 Lucent Technologies Inc. Protocol message compression in a wireless communications system
US9088494B2 (en) * 2002-06-26 2015-07-21 Avaya Communication Israel Ltd. Packet fragmentation prevention
US7444428B1 (en) * 2002-08-26 2008-10-28 Netapp, Inc. Method and apparatus for estimating relative network proximity in the presence of a network filter
KR20050067434A (ko) * 2002-11-08 2005-07-01 코닌클리케 필립스 일렉트로닉스 엔.브이. 네트워크 스택 내에서 네트워크 데이터 유닛을 처리하기위한 수신기, 송신기, 방법 및 시스템
US6892855B2 (en) * 2003-02-25 2005-05-17 Tenneco Automotive Operating Company Inc. Embossed shell for spun mufflers
US20070097987A1 (en) * 2003-11-24 2007-05-03 Rey Jose L Feedback provision using general nack report blocks and loss rle report blocks
US7792954B2 (en) * 2004-04-02 2010-09-07 Webtrends, Inc. Systems and methods for tracking web activity
ATE399429T1 (de) * 2004-04-12 2008-07-15 Ind Academic Coop Verfahren, vorrichtungen und speichermedien zur bereitstellung von multimedia-diensten unter berücksichtung der endeinrichtungsfähigkeiten
US7020090B2 (en) 2004-06-21 2006-03-28 Cisco Technology, Inc. System and method for loadbalancing in a network environment using feedback information
JP4142615B2 (ja) * 2004-07-05 2008-09-03 株式会社日立製作所 ネットワークサービスの性能測定方法及びプログラム
US20070297337A1 (en) * 2006-06-21 2007-12-27 International Business Machines Corporation Apparatus and methods for determining availability and performance of entities providing services in a distributed system using filtered service consumer feedback
US8145778B2 (en) * 2006-07-28 2012-03-27 Cisco Technology, Inc. Method and system for transitioning streamed digital video content between stream servers in a digital video network
US7848337B1 (en) * 2006-11-14 2010-12-07 Cisco Technology, Inc. Auto probing endpoints for performance and fault management
US8667175B2 (en) 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601098B1 (en) * 1999-06-07 2003-07-29 International Business Machines Corporation Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence
US6992983B1 (en) * 2000-05-05 2006-01-31 Macromedia, Inc. Bandwidth detection in a heterogeneous network with parallel and proxy modes
CN1518281A (zh) * 2003-01-08 2004-08-04 �ձ�������ʽ���� Ip路由器、通信系统和其中使用的频带设置方法及程序

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662865B (zh) * 2012-08-24 2018-06-08 阿卡麦科技公司 混合型http和udp内容分发

Also Published As

Publication number Publication date
US20090234968A1 (en) 2009-09-17
WO2009114558A2 (en) 2009-09-17
US8626875B2 (en) 2014-01-07
US8667175B2 (en) 2014-03-04
CN101971597A (zh) 2011-02-09
EP2272239A2 (en) 2011-01-12
WO2009114558A3 (en) 2009-12-23
US20090234965A1 (en) 2009-09-17
EP2272239B1 (en) 2012-08-29

Similar Documents

Publication Publication Date Title
CN101971597B (zh) 用于利用应用层重定向将内容路由到客户端的服务器选择
US20240040009A1 (en) Content delivery systems and methods
US9444718B2 (en) Distributed platform test network
US9800539B2 (en) Request routing management based on network components
US9191338B2 (en) Request routing in a networked environment
US8392563B1 (en) System and method for performing application level persistence
US8706906B2 (en) Multipath routing process
US6374300B2 (en) Method and system for storing load balancing information with an HTTP cookie
US8060581B2 (en) Dynamic image delivery system
CN103716398B (zh) Cdn服务器的监控方法和监控系统
US20010039585A1 (en) System and method for directing a client to a content source
US20110302304A1 (en) Service provider optimization of content management
US20120016933A1 (en) Dynamic Image Delivery System
US20050097445A1 (en) Dynamic image delivery system
US6970933B1 (en) Enabling application level persistence between a server and another resource over a network
TW201509157A (zh) 在內容分發網路(cdn)上實現請求精確調度的方法及系統
US20100174775A1 (en) Communication apparatus, communication method and computer-readable storage medium
WO2004023716A2 (en) Secure content delivery system
EP3066577B1 (en) Content node selection using network performance profiles
US20150319204A1 (en) Technique for communication in a communication network centered on information
KR101150725B1 (ko) 컨텐츠서버 및 캐시서버를 이용한 데이터 저장방법, 그 컨텐츠서버 및 컨텐츠 제공시스템
KR101091980B1 (ko) 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법
KR101104727B1 (ko) 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법
Wijekoon et al. How can a service-oriented router merge with a cdn?
KR101066871B1 (ko) 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131009

Termination date: 20210310