用于连接优化的系统和方法

文档序号:6552948阅读:123来源:国知局
专利名称:用于连接优化的系统和方法
技术领域
本发明一般地涉及计算机网络,尤其涉及在客户机-服务器网络 中用于连接优化的系统和方法。
背景技术
在有些环境中,万维网(World Wide Web)的有用性由于不良 的性能而受到限制。网络客户机,例如网络浏览器,可能花很多时 间找到单独网页或其它对象。虽然这在某些情况下(例如,人们在 家里在线购物)可接受,但在客户端生产能力重要的某些商业应用 中,这种对象检索过程中的延迟降低了效率。
网络客户机用 一组分层的协议来连接网络服务器,该协议组一^: 包括互联网协议(IP),该协议是用于单包传递的无连接低级协议。 该协议组一般还包括传输层协议,例如传输控制协议(TCP),它用 IP来创建传输连接。传输连接以发送数据流的方式呈现给客户机和 服务器,其中,所述传输协议提供了可靠性和连续性。传输连接由 一方(一般为客户机)打开。建立连接在时间和带宽方面都需要一 些费用。保持连接也涉及到费用,例如使用存储器,所以在完成服 务或某些延迟之后,连接通常被关闭。
超文本传输协议(HTTP)是用于检索网络对象的标准协议。HTTP 实现了客户机请求对象的方法,所述对象由统一资源定位器(URL) 识别,服务器作出通常包括被请求对象的响应。URL包括域名和路 径。所述域名标识对象驻留的服务器(或服务器组)。所述路径通 常标识驻留在服务器上的特定网络对象。网页 一般是多个对象的结 构化集合。超文本链接标示语言(HTML)对象可引用其它对象,例如图像、图文框及代码对象。客户机上的网络浏览器能下载这种被 引用的对象或被植入的对象,并在呈现给用户的单个屏幕上将它们 组合起来。需要下载多个对象来产生单个网页是网络性能不良的原 因之一。
与某一特定网页有关的域的数量会影响到客户机和服务器之间并 发使用的连接数量或并行等级。并行的增加可在一定程度上改善等 待时间,但通常也增加了客户机、服务器及网络上的负载。

发明内容
用于连接优化的系统,包括客户机、服务器和域分配器,域分 配器用来将被参照对象分配到附加域,以使客户机打开附加连接。
(referenced objects)的引用对象(referencing object》在一 实施例中,当 引用对象被请求时,域分配器用来动态地将多个引用对象分配到附 加域。客户机上的网络浏览器软件看到被引用对象被分配到附加域, 并打开附加传输连接来请求被引用对象。域分配器可基于网络中的 条件(如负载和可用带宽等)来将多个被引用对象分配到附加域。 在另一实施例中,域分配器用来创建引用对象的多个版本,其中, 各版本的被引用对象被分配到不同数量的域。域分配器可驻留在网 络中的服务器上或中间设备上。所述附加连接可连接到传递引用对 象的服务器(如果该服务器能够传递被引用对象),或可连接到一 个或多个能传递被引用对象的其它服务器。
用于连接优化的方法包括如下步骤在服务器和客户机之间建立 连接;接收对包含被引用对象的对象的请求;确定服务器和客户机 之间连接的所需数量;确定对所述多个被引用对象的每个的域分配, 以影响客户机使用所需连接的数量;根据所述域分配将多个被引用 对象中的每个分配到多个域中的一个;根据对所述多个^支引用对象 中的每个的域分配来修改该对象,以包括多个浮支引用对象的标识符,从而产生一个经修改的对象;以及将所述经修改的对象发送到客户 机。在一实施例中,确定域分配的步骤包括基于网络条件(如负 载和可用带宽等)确定一些域。


图1是本发明的计算机网络的一实施例的框图2是本发明的一个包含^皮引用对象的对象的实施例的框图3是本发明的计算机网络的另一实施例的框图。
具体实施例方式
图1是本发明的计算机网络的一实施例的框图。所述网络包含 (但不限于)客户机112、网络114及服务器116。客户机112用 软件(如网络浏览器等)通过网络114从服务器116请求并接收对 象。所述对象可包括HTML对象(如网页等)。为请求一个对象, 客户机112打开与服务器116的传输层连接(例如TCP连接)。然 后客户机112通过该连接将对所述对象的请求发送到服务器116。
有些存储在服务器116上的对象引用其它对象。 一个引用对象 包含被引用对象的标识符(如统一资源定位器(URLs)等)。被引 用对象的标识符包含被引用对象所在的域。当 一个引用对象被客户 机112接收时,客户机112上的浏览器软件就根据标识符来请求被 引用对象。各被引用对象能够被分配到多于一个的域。
服务器116包含(但不限于)域分配器118。域分配器118用来 将被引用对象分配到域。当被引用对象被创建时,它被分配到初始 域,该初始域通常是引用对象的域。在图1的实施例中,当引用对 象净支客户机112请求时,域分配器118动态地将净皮引用对象分配到 多个域,并修改引用对象中的标识符来产生经修改的引用对象。然 后服务器116将所述经修改的引用对象发送到客户机112。域分配器 118将被引用对象分配到多个域,以影响客户机112和服务器118之 间的连接数或并行等级。
9例如,引用对象可由URL "www.site.com/index.html"标识,引 用20 个被引用对象。被引用对象可由 URLs
"www.site,com/imageN.gif, ( N=l — 20 )初始标识,这些对象属于 与引用对象相同的域。当客户机112请求引用对象时,域分配器118 动态地将被引用对象分配到不同的域以使客户机112打开与服务器 116的附加连接。在本例中,域分配器118在服务器116将引用对象 发送到客户机112之前,将一半的被引用对象分配到一个新域,
"www2.site.com/imageN.gif, (N=l、 3、 5、 7…19)。客户机112 将认识到www2.site.com是一个不同的域,然后会打开附加的传输连 接以从不同的域请求被引用对象。由于多数网络浏览器配置成每个 域使用两个连接,客户机112将使用四个连接从服务器116接收净皮 请求的被引用对象。
域分配器118可将^支引用对象分配到预定数量的域,或者可基 于与客户机112连接的所需数量或并行等级来动态地确定域的合适 数量。在优选实施例中,域分配器118基于负载、优先级或其它因 素来确定合适的并行等级,然后确定一些域来实现该等级的并行。 在一实施例中,域分配器118基于由服务器116获取的关于客户机112 实际每个域打开多少连接的历史数据来确定域的合适数量。在另一 实施例中,域分配器118基于客户机行为的预测来确定域的合适数 量,所述预测根据由客户机112使用的浏览器类型作出,客户机112 使用的浏览器可在其请求中使其类型被获知。域分配器118还可基 于与客户机112连接的带宽或等待时间、客户机112的计算能力、 客户机112的浏览器软件的类型和版本或对这些因素中的任何一个 的估计来确定与客户机112连接的所需数量。
域分配器118还可使客户机112打开与服务器116的所需连4妻 的数量,这通过用规定版本的HTTP协议来指示服务器116响应客 户机112的请求来实现。例如,有些客户机在用l.O版HTTP协议时 打开更多的与服务器的连接。从而,域分配器118能通过用1.0版或1.1版的HTTP协议来指令服务器116响应客户机112的请求,从而 影响客户机112使用的并行等级。
在另一实施例中,域分配器118创建引用对象的多个版本,其 中,各版本的被引用对象被分配到不同数量的域。域分配器118在 从客户机112接收请求之前创建所述多个版本。当客户机112从服 务器116请求引用对象时,域分配器118选择引用对象的版本,该 版本具有^^皮引用对象的域数量,该数量使客户机112打开所需连接 的数量。客户机112和服务器116之间所需的连接数量可为预定数 量,或者域分配器118可基于服务器116上的负载来确定所需连接 的数量。本发明还包括确定客户机112和服务器116之间的所需连 接的数量的其他方法。
在一实施例中,域分配器118基于不同因素(如分配给被引用 对象的重要性或被引用对象在网页上出现的部位等)来确定哪一个 被引用对象分配到不同的域。
将被引用对象分配到不同域,通常不需要附加服务器。例如, HTTP的虚拟主机服务设施(hosting facility)允许单个服务器配置成 将多个域处理成互为别名。如果被引用对象的所有域都是单父域的 子域,那么域名系统(DNS)的通配符配置选项可用于简化DNS设 置。本发明的范围包括本领域已知的用于将多个域加载到单个服务 器的其它技术。
在图1的实施例中,服务器116能够将所有被引用对象传递到 客户机112。在其它实施例中,网络114中的一个或多个其它服务器 能够将所有被引用对象传递到客户机112,从而,客户机112可打 开与服务器116以外的其他服务器的附加连接来请求被引用对象。
图2是本发明的包含被引用对象的对象200的实施例的框图。 对象200包括(但不限于)被引用对象212、 214、 216、 218、 220 及222。各^f皮引用对象212-222可为文本对象、图像对象、音频对象、 视频对象、动画对象、代码对象(例如Java applet),或任:何其它类型的对象。当客户机112从服务器116接收对象200时,客户机112 请求各个被引用对象212-222。
在图2的实施例中,被引用对象212和214 ;f皮分配到对象200 的域,被引用对象216和218被分配到第二域,而被引用对象220 和222 ^皮分配到第三域。当客户机112从服务器116接收对象200 时,客户机U2认识到^R引用对象216-222的标识符指向第二域和第 三域。客户机112打开至少一个与能够服务第二域和第三域的服务 器(例如,服务器116)的传输层连接,以请求的被引用对象216-222。 由于多于一个的被引用对象被分配到各不同域,客户机112可打开 各个不同域的多于一个的传输层连接。从而,为请求并接收被引用 对象212-222,客户机112可使用与服务器116的六个并行连接(每 个域两个)。通过使用六个传输层连接而不是两个,客户机112以 较短的等待时间接收被引用对象212-222,并将具有其被引用对象的 对象200呈现给用户。通常,当一个客户机想打开到域的传输层连 接时,该客户机将使用查找系统(如DNS)来发现一个或多个能够 为该域服务的服务器,并将打开到这些服务器中的一个的传输连接。
图3是本发明的计算机网络的另一实施例的框图。图3的网络 包括(但不限于)客户机312、网络314、中间设备316、网络320 和服务器322。中间设备316可为任何类型的中间网络设备(例如负 载平衡器或网络代理)。在一实施例中,中间设备316可实现为专 用的性能增强设备。这种专用节点的例子公开在2000年3月24日 才是交的题目为"Method for High-Performance Delivery of Web Content (网络内容的高性能传递方法)"的09/534,321号美国专利申请中, 通过引用将其全部结合到本申请中。
中间设备316包括(但不限于)域分配器318。域分配器318用 来从服务器322接收引用对象,并动态地将其^^引用对象分配到至 少一个不同于客户机312所见到的引用对象域的附加域以影响客户 机312使用的连接数量。中间设备316将结果得到的经修改的引用
12对象发送到客户机312。请求净支引用对象时,客户机312打开至少一 个与中间设备316的附加连接。
在一实施例中,中间设备316包括存储从服务器322接收的内 容的高速緩存。域分配器318能动态地将被緩存引用对象的被引用 对象分配到附加域。作为可选方案,域分配器318也可创建被緩存 引用对象的不同版本,其中,各版本的被引用对象被分配到不同数 量的域。例如, 一个版本的被緩存引用对象可包括IO个被引用对象, 其中一半的被引用对象被分配到一个域而另一半被分配到另一个 域。在另一版本的被緩存引用对象中,10个被引用对象可在三个不 同域之间分配。域分配器318根据客户机312和中间设备316之间 的所需连接的数量来确定将哪个版本的被緩存引用对象发送到客户 机312。客户机312和中间设备之间的所需连接的数量可为预定数量, 或域分配器318可基于中间设备316上的负载来确定所需连接的数 量。本发明的范围包括确定客户机312和中间设备316之间所需连 接的数量的其它方法。
以上结合具体实施例描述了本发明。但是,显而易见,在不背 离所附的权利要求阐述的本发明的较宽的精神和范围的前提下,可 进行各种修改和变更。因此,前面的说明和附图只应视为解释性的, 而不是对本发明的限制。
权利要求
1. 一种优化连接的方法,包括建立服务器和客户机之间的初始连接;在所述服务器上接收对于对象的请求,所述对象引用多个被引用对象,其中,所述多个被引用对象中的至少一个能被分配到一个或多个域;将所述多个被引用对象分配到多个域以影响所述客户机用来请求所述多个被引用对象的连接数量;修改所述对象以包含被分配到所述多个域的所述多个被引用对象的标识符,从而产生一个经修改的对象;以及将所述经修改的对象发送到所述客户机。
2. 如权利要求l所述的方法,其中将所述多个被引用对象分配 到多个域的步骤包括根据所迷服务器上的负栽来将所述多个被引用对 象分配到一些域。
3. 如权利要求l所述的方法,其中将所述多个被引用对象分配用带宽来将所述多个被引用对象分配到一些域。
4. 如权利要求l所述的方法,其中将所述多个被引用对象分配 到多个域的步骤包括根据所iijl户机上的可用带宽来将所述多个被引 用对象分配到一些域。
5. 如权利要求l所述的方法,其中将所述多个被引用对象分配 到多个域的步骤包括根据所述客户机的优先级来将所述多个被引用对 象分配到一些域。
6. 如权利要求l所述的方法,其中将所述多个被引用对象分配 到多个域的步骤包括将所述多个被引用对象分配到预定数量的域。
7. 如权利要求6所述的方法,其中所述预定数量的域选择成可 改善一般条件下的下载性能。
8. 如权利要求l所述的方法,其中所述多个域中的至少两个能 由用于所述多个被引用对象中的至少两个的单个服务器服务。
9. 如权利要求8所述的方法,其中所述单个服务器使用HTTP 虚拟主机服务设施来为多个域服务。
10. 如权利要求8所述的方法,其中所述单个服务器与存储所 述对象的所述服务器完全相同。
11. 一种用于优化连接的方法,包括 建立服务器和客户机之间的初始连接;在所述服务器上接收对于对象的请求,所述对象引用多个被引用 对象,其中,所述多个被引用对象中的至少一个能被分配到一个或多 个域;确定所i^户机用来查询和接收所述多个被引用对象的所需连4矣 的数量;确定对所述多个被引用对象中的每个的域分配以影响所i^J:户机 使用所述所需连接的数量;根据所述域分配将所述多个被引用对象中的每个分配到所述多个 域中的一个;根据对所述多个被引用对象中的每个的域分配来修改所ii^f象以 包括所述多个被引用对象的标识符,从而产生一个经修改的对象;以 及将所述经修改的对象发送到所述客户机。
12. 如权利要求ll所述的方法,其中确定对所述多个被引用对象,域c
13.如权利要求ll所述的方法,其中确定对所述多个被引用对网络中的可用带宽来确定一些域。
14.如权利要求11所述的方法,其中确定对所述多个被引用对象中的每个的域分配的步骤包括根据所述客户机上的可用带宽来确定 一些域。
15. 如权利要求11所述的方法,其中确定对所述多个被引用对 象中的每个的域分配的步骤包括根据所述服务器上的可用带宽来确定 一些域。
16. 如权利要求ll所迷的方法,其中确定对所述多个被引用对域。
17. 如权利要求11所述的方法,其中所述域分配是预定的。
18. 如权利要求11所述的方法,其中所述域分配预定成可改善 一般条件下的下载性能。
19. 一种用于优化连接的系统,包括存储一个对象的服务器,所iW象引用多个被引用对象,其中, 所述多个被引用对象中的至少一个能被分配到一个或多个域;以及域分配器,配置成确定客户机用于请求和接收所述多个被引用对 象的所需连接的数量,并将所述多个被引用对象中的每个分配到多个 域中的一个,以影响所i4^户机建立所需连接的数量。
20. 如权利要求19所述的系统,其中所述域分配器配置成4艮据 服务器上的负栽来将所述多个被引用对象中的每个分配到所述多个域 中的一个。
21. 如权利要求19所述的系统,其中所述域分配器配置成根据 所述客户机和所述服务器之间的网络中的可用带宽来将所述多个浮皮引 用对象中的每个分配到所述多个域中的 一个。
22. 如权利要求19所述的系统,其中所述域分配器配置成才艮椐 所述客户机上的可用带宽来将所述多个被引用对象中的每个分配到所述多个域中的一个。
23. 如权利要求19所迷的系统,其中所述域分配器配置成才艮椐所述服务器上的可用带宽来将所述多个被引用对象中的每个分配到所述多个域中的一个。
24. 如权利要求19所迷的系统,其中所述域分配器配置成根据 所i^户机的优先级来将所述多个被引用对象中的每个分配到所述多 个域中的一个。
25. 如权利要求19所述的系统,其中所述域分配器配置成根据 预定的域分配来将所述多个被引用对象中的每个分配到所迷多个域中 的一个。
26. 如权利要求25所述的系统,其中所述预定的域分配选择为 可改善一般条件下的下载性能。
27. 如权利要求19所述的系统,其中所述域分配器驻留在所述 服务器上。
28. 如权利要求19所述的系统,其中所述域分配器驻留在所述 客户机和所述服务器之间的中间设备上。
29. 如权利要求28所述的系统,其中所述域分配器配置成基于连接的数量。
30. 如权利要求28所述的系统,其中所述域分配器配置成基于 所述中间设备上的可用带宽来确定所迷客户机和所迷中间设备之间的 所需连接的数量。
31. 如权利要求28所述的系统,其中所述域分配器配置成基于 所述客户机和所述中间设备之间的网络中的可用带宽来确定所述客户 机和所述中间设备之间的所需连接的数量。
32. 如权利要求28所述的系统,其中所述域分配器还配置成用 1.0版的HTTP指令所述中间设备响应来自所述客户机的请求,以影响 所述客户机来增加所^户机和所述中间设备之间的连接数量。
33. 如权利要求19所述的系统,其中所述域分配器还配置成用 1.0版的HTTP指令所述中间设备响应来自所i^户机的请求,以影响 所述客户机来增加所述客户机和所述服务器之间的连接数量。
34. —种用于优化连接的系统,包括存储一个对象的服务器,所^^f象引用多个被引用对象;以及 域分配器,配置成确定客户机用于请求和接收所述多个被引用对 象的所需连接的数量,并且还配置成选择所i^于象的多个版本中的一 个来影响所逸客户机建立所需连接的数量,其中,所述对象的所述多 个版本中的每个包含特定数量的域,这些域上^皮分配所述多个被引用
35. 如权利要求34所述的系统,其中所述域分配器配置成根据 所述服务器上的负载来选择所ii^j"象的所述多个版本中的一个。
36. 如权利要求34所述的系统,其中所述域分配器配置成根据 所i^户机和所述服务器之间的网络中的可用带宽来选择所述对象的 所述多个版本中的一个。
37. 如权利要求34所述的系统,其中所述域分配器配置成根据 所述客户机上的可用带宽来选择所i^t象的所述多个版本中的一个。
38. 如权利要求34所述的系统,其中所述域分配器配置成根据 所述服务器上的可用带宽来选择所述对象的所述多个版本中的一个。
39. 如权利要求34所述的系统,其中所述域分配器配置成根据 所述客户机的优先级来选择所i^十象的所述多个版本中的一个。
全文摘要
用于连接优化的系统,包括客户机、服务器和域分配器,该域分配器配置成将被引用对象分配到附加域,以影响客户机用于请求和接收引用对象的连接数量。在一实施例中,所述分配器基于网络中的状况动态地将被引用对象分配到附加域。在另一实施例中,所述域分配器存储引用对象的多个版本,其中,各版本的被引用对象被分配到不同数量的域。所述域分配器可在服务器或中间设备上实现。
文档编号G06F15/16GK101438263SQ200580037921
公开日2009年5月20日 申请日期2005年9月9日 优先权日2004年9月10日
发明者A·J·格罗夫 申请人:内特里公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1