通过头部交换服务器状态和客户端信息以用于请求管理和负载平衡的制作方法

文档序号:9402414阅读:278来源:国知局
通过头部交换服务器状态和客户端信息以用于请求管理和负载平衡的制作方法
【专利说明】通过头部交换服务器状态和客户端信息以用于请求管理和 负载平衡
【背景技术】
[0001] 现代的数据通信架构通常涉及"服务器场",服务器场是出于各种目的来管理数据 的存储、处理,以及交换的服务器的集合。许多服务越来越多地被作为web应用、托管应用 来提供,这些应用可以被用户通过浏览器或类似的瘦客户端访问,而不会给用户带来本地 安装、更新、兼容性问题等等负担。如此,服务器场可包括提供用于生产力、通信、数据分析、 数据存储以及类似服务的web应用的高达数千服务器。客户端应用(瘦或胖)通过"请 求"与托管应用进行交互。例如,作为web应用提供的文字处理应用程序可以接收来自客 户端应用的打开文档的请求,在联网的存储中找出该文档,检索其内容,并呈现在客户端应 用处。另一示例可以是"保存"请求。当用户完成时,他们可以选择客户端应用上的"保存" 控件,这可以将保存请求发送到web应用,从而造成所存储的文档的更新。
[0002] 由于多个服务器可能涉及该web应用,因此传入的请求需要被定向到正确的服务 器,以便所请求的任务可以被完成。请求管理是管理方法中的一种,该方法通过对照请求来 评估逻辑规则以便确定要采取什么动作以及场中的哪一个或多个服务器(如果有的话)应 该处理该请求,来帮助服务器场管理传入的请求。
[0003] 传统网络负载平衡器设备是用于路由请求的相对昂贵的专用硬件设备。执行多层 路由,在网络增长时传统路由器可能产生瓶颈,从而导致网络话务减慢。此外,常规路由还 基于静态规则,不能考虑服务器、请求、网络负载的动态变化。

【发明内容】

[0004] 提供本
【发明内容】
是为了以精简的形式介绍将在以下【具体实施方式】中进一步描述 的一些概念。本
【发明内容】
并不旨在排他地标识出所要求保护的主题的关键特征或必要特 征,也不旨在用于帮助确定所要求保护的主题的范围。
[0005] 各实施例涉及通过头部交换服务器健康和客户端信息以用于请求管理。根据某些 实施例,服务器和基于云的服务架构中的诸如路由器或扼流器之类的管理模块之间的标准 化或专有协议通信中的头部可以被用来交换服务器健康和客户端信息。交换的服务器健康 和/或客户端信息可以用于对传入的请求进行扼流、路由和/或负载平衡。请求路由也可 以基于由客户端通过头部交换所指定的规则来实现。
[0006] 通过阅读下面的"【具体实施方式】"并参考相关联的附图,这些及其他特点和优点将 变得显而易见。应该理解,前面的一般描述和下面的详细描述只是说明性的,并且不限制所 要求保护的各方面。
[0007] 附图简述
[0008] 图1示出了根据某些实施例的示例网络图,其中可通过服务通信头部在请求管理 实体和服务器之间交换服务器健康信息;
[0009] 图2示出了根据其他实施例的示例网络图,其中可通过请求头部在请求管理实体 和客户端之间交换客户端信息;
[0010] 图3示出了根据各实施例的请求管理器的功能分解图;
[0011] 图4在概念上示出了根据某些实施例的在专用模式部署中的示例服务器场基础 设施;
[0012] 图5在概念上示出了根据其他实施例的在集成模式部署中的示例服务器场基础 设施;
[0013] 图6是其中可以实现根据实施例的系统的网络环境;
[0014] 图7是其中可以实现实施例的示例计算操作环境的框图;以及
[0015] 图8示出了根据各实施例的通过头部交换服务器健康和客户端信息以用于请求 管理的过程的逻辑流程图。
【具体实施方式】
[0016] 如上文简要描述的,服务器和管理模块(例如,路由器或扼流器)之间的基于超 文本传输协议(HTTP)或类似协议的通信中的头部可以被用来交换服务器健康和客户端信 息,以便可以基于服务器健康信息、客户端信息等来对请求进行扼流/路由/负载平衡。
[0017] 在下面的详细描述中,将参考构成本发明的一部分的附图,在附图中,通过例图, 示出了特定实施例或示例。可组合这些方面,可利用其他方面,并且可以做出结构上的改变 而不背离本发明的精神或范围。因此,下面的【具体实施方式】不应以限制性的意义来理解,而 是本公开的范围是由所附权利要求及其等效方案来定义的。
[0018] 尽管在结合在计算设备上的操作系统上运行的应用程序执行的程序模块的一般 上下文中描述了各实施例,但是本领域的技术人员会认识到各方面也可以结合其它程序模 块实现。
[0019] 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组 件、数据结构和其他类型的结构。此外,本领域的技术人员可以明白,各实施例可以用其他 计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子 产品、小型计算机、大型计算机以及类似计算设备。各实施例还能在任务由通过通信网络链 接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位 于本地和远程存储器存储设备两者中。
[0020] 各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序 产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于 使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。计算机可读存 储介质是计算机可读存储器设备。例如,计算机可读存储介质可经由易失性计算机存储器、 非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似物理介质中的一个或多个 来实现。
[0021] 贯穿本说明书,术语"平台"可以是用于作为请求管理的一部分在服务器通信中交 换头部以传达服务器健康和客户端信息的软件和硬件组件的组合。平台的示例包括,但不 仅限于,在多个服务器上执行的托管服务,在单个计算设备上执行的应用,以及类似系统。 术语"服务器"一般是指通常在联网环境中执行一个或多个软件程序的计算设备。下面提 供了有关这些技术和示例操作的更多细节。
[0022] 参考图1,图示100示出了根据某些实施例的示例网络图,其中可通过服务通信头 部在请求管理实体和服务器之间交换服务器健康信息。图示100所示出的组件和环境只是 出于说明的目的。各实施例可以在使用各种计算设备和系统、硬件和软件的各种本地、联网 的、基于云的和类似计算环境中实现。
[0023] 在图示100中所示出的示例环境中,服务器112可以是例如,向通过在客户端设备 102和104上执行的客户端应用(例如,浏览器)访问服务的用户提供一个或多个托管服务 的服务器场或类似基础设施(例如,云108)的一部分。服务器106可以接收来自客户端应 用的请求,并将它们转发到被配置成将请求路由到正确服务器的请求管理服务器104。
[0024] 在一个示例场景中,诸如美国华盛顿州雷德蒙市的微软公司的Sharepoint?之类 的协作服务可以作为服务提供。协作服务可以允许对各种类型的文档的存储、共享以及编 辑,等等。如此,用户可以通过他们的客户端设备上的浏览器访问协作服务,查看文档,编辑 文档,以及将它保存在其服务器位置。这些动作可以通过由浏览器向服务器106提交的并 由请求管理服务器104路由的请求来促进。云108中的不同服务器可
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1