[发明专利]基于应用层消息的数据流量负载平衡有效
申请号: | 200580045932.7 | 申请日: | 2005-12-15 |
公开(公告)号: | CN101124565A | 公开(公告)日: | 2008-02-13 |
发明(设计)人: | 哈里·科迪;苏布尔曼尼恩·西尼瓦萨恩;普拉文·辛哈勒 | 申请(专利权)人: | 思科技术公司 |
主分类号: | G06F15/173 | 分类号: | G06F15/173;G06F15/16 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 | 代理人: | 王怡 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 应用 消息 数据 流量 负载 平衡 | ||
技术领域
本发明一般地涉及计算机网络中的网络元件。更具体而言,本发明涉及用于基于数据流量中包含的应用层消息在多个服务器之间平衡数据流量负载的方法和设备。
背景技术
本部分中描述的方法可以被实行,但不一定是先前已经构想出或实行过的方法。因此,除非这里另有指明,否则本部分中描述的方法不因为被包括在本部分中就成为本申请的权利要求的现有技术,并且不被承认是现有技术。
在企业对企业环境中,在计算机上执行的应用通常与在其他计算机上执行的其他应用通信。例如,在计算机“X”上执行的应用“A”可能向在计算机“Y”上执行的应用“B”发送指示购买订单的实质的消息。
计算机“X”可能远离计算机“Y”。为了使得计算机“X”能够发送消息到计算机“Y”,计算机“X”可通过诸如局域网(LAN)、广域网(WAN)或互联网(例如因特网)之类的计算机网络来发送消息。为了通过这种网络发送消息,计算机“X”可以使用一套通信协议。例如,计算机“X”可结合使用比如因特网协议(IP)之类的网络层协议和比如传输控制协议(TCP)之类的传输层协议来发送消息。
假定消息是利用TCP发送的,则消息被封装到一个或多个数据分组中;同一消息的多个单独部分可在多个单独分组中发送。继续上述示例,计算机“X”通过网络向计算机“Y”发送数据分组。计算机“X”和计算机“Y”之间的一个或多个网络元件可以接收该分组,确定分组的下一“跳”,并且向计算机“Y”发送分组。
例如,路由器“U”可接收来自计算机“X”的分组,并基于分组的目的地是计算机“Y”而确定分组应当被转发到另一路由器“V”(路由上的下一“跳”)。路由器“V”可接收来自路由器“U”的分组,并继续发送分组到计算机“Y”。在计算机“Y”处,分组的内容可被提取和重组装,以形成原始消息,该原始消息可被提供给应用“B”。应用“A”和“B”可以不注意分组是通过路由“U”和“V”路由的这一事实。实际上,多个单独分组可以采取不同的路由来通过网络。
可以结合上述网络层和传输层协议使用若干种应用层协议中的任何一种来发送消息。例如,应用“A”可指定计算机“X”要利用超文本传输协议(HTTP)来发送消息。因此,计算机“X”在如上所述将消息封装到TCP分组中之前可在消息前面添加特定于HTTP的头部。如果应用“B”被配置为根据HTTP接收消息,则计算机“Y”可利用特定于HTTP的头部来处理消息。
除了以上所有之外,消息必须根据若干种消息格式中的任何一种来构造。消息格式一般指示消息的结构。例如,如果购买订单包括地址和递送日期,则在消息内可利用特定于消息格式的机制来区分地址和递送日期。例如,应用“A”可利用可扩展标记语言(XML)来指示购买订单的结构。利用XML作为消息格式,地址可被装在“<address>”和“</address>”标签内,递送日期可被装在“<delivery-date>”和“</delivery-date>”标签内。如果应用“B”被配置为解释XML消息,则应用“B”可使用这些标签来确定消息的哪个部分包含应用,以及消息的哪个部分包含递送日期。
web浏览器(“客户端”)可通过发送请求到远程服务器的通用资源定位符(URL)并接收作为响应的内容来访问存储在远程服务器上的内容。与非常流行的URL相关联的网关接收来自多个单独的客户端的极大量的这种请求。为了处理这么大量的请求,这些网关有时利用一个代理设备,该代理设备最初接收请求并根据某种机制在多个服务器之间分发请求。
一个这种方法尝试在连接到代理设备的服务器之间相对均匀地分发请求。采用该方案的代理设备通常被称为“负载平衡器”。当成功时,负载平衡器帮助确保服务器“场”中没有一个服务器会被请求淹没。
当代理设备接收到来自客户端的请求时,代理设备确定该请求应当被引导到多个服务器中的哪个服务器。例如,某个请求可能与和特定服务器相关联的会话相关联。在这种情况下,代理设备可能需要将请求发送到与会话相关联的特定服务器。
不幸的是,当前的负载平衡方法有时不能成功地在服务器间平衡负载。例如,即使请求被相对均匀地在服务器之间分发,一些服务器也可能不具有其他服务器具有的处理能力。此外,一些请求要求的处理可能比其他请求更多。如果较慢的或不那么强大的服务器恰好接收到要求高于平均量的处理的请求,则该服务器可能被淹没,即使该服务器接收的请求量与“场”中的其他服务器大致相同。客户端为等待对分发到该服务器的请求的响应需要的时间量(“响应时间”)可能变得过度地、不可接受地长。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于思科技术公司,未经思科技术公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580045932.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置