分配服务器资源的系统和方法技术方案

技术编号:2846476 阅读:180 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种用于允许基于web的应用在受控环境中运行的系统和方法。具体而言,一种在web服务器上一沙盒环境(sandbox  environment)中运行的应用之间分配服务器资源的方法。可拒绝试图超过与应用相关联的模板中所指定的限制的应用访问资源。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及计算机服务器,且更明确地说,涉及在用于回应客户请求的服务器实例之间分配服务器资源。具体而言,本专利技术涉及用于回应http客户请求的服务器实例之间分配web服务器资源的架构。本专利技术还涉及用于允许基于web的应用在受控环境中运行的架构。
技术介绍
在互联网的万维网(World Wide Web)中,客户机使用超文本传输协议(HTTP)来执行与Web服务器的事务处理,超文本传输协议为一种应用协议,其使用一种称为超文本标示语言(HTML)的标准语言米向用户提供对数据(例如,文本、图形、图像、声音、视频等等)的访问。HTML提供基本格式化,且允许文档将超链接指定到相同或其它服务器上的其它文档。使用统一资源定位符(URL)来指定文档存取方法和文档名称。最终用户使用客户机上的兼容HTML的web浏览器(例如,Netscape Navigator或Microsoft Internet Explorer)来访问Web页面。用户通过文档的URL来指定文档。接着,客户机向在链接中标识的服务器发出请求,且接收到作为回应的文档,客户机将所述文档显示给用户。如果信息以静态文件的形式存储在web服务器上,那么很多类型的信息需要比实际更频繁地更新。这导致了web服务器扩展以支持“动态内容”。第一个此类扩展为通用网关接口(Common Gateway Interface,CGI)。CGI为万维网标准,其允许用外部编程脚本或可执行文件来扩展Web服务器的HTML功能。CGI程序通常用于返回动态信息且回应用户通过HTML形式发出的HTTP浏览器请求。对降低执行独立脚本的系统开销的要求导致了脚本执行环境直接集成到web服务器中。ASP(主动服务器页面)、PHP(PHP超文本预处理器)、Perl和Java环境中的每一者均已经集成到web服务器中,在很大程度上代替了CGI。当请求从客户web浏览器到达时,web服务器判定所请求的内容的类型。在例如图像的静态web页面(其文本不改变)的情况下,web服务器仅使用HTTP协议将文件传送到客户的web浏览器。在动态web页面的情况下,web服务器将URL和其它HTTP请求参数传递到脚本执行环境,其再次通过使用HTTP来执行脚本或程序且将所得数据返回给客户。互联网服务提供商(ISP)在单个Web服务器上寄存多个组织的网址。然而,多数组织更喜欢使用他们自己的个别化域名,而不是使用ISP的域的子集。ISP可通过使用对多个地址而发出的请求作出回应的多宿主web服务器来为多个域名提供web服务。仅由多宿主服务器服务而不具有专用服务器的web地址称为虚拟主机。现存服务器的虚拟寄存能力通常相当有限。举例来说,尽管不同客户可具有不同需要且要求不同水平的服务,但在现存的多宿主服务器中,对于每个客户而言,服务所提供的功能通常相同。Web服务器已经从仅仅寄存网址演化到变成成熟的应用服务器。举例来说,TomcatJSP/Servlet容器技术(Tomcat JSP/Servlet Container technology)可用于在web服务器上寄存Java编程语言应用的执行。Tomcat管理器允许对独立应用进行控制,且Tomcat可支持单个虚拟主机的多个应用。此上下文中的应用为在web服务器上执行的一组函数,其可由发出HTTP请求的web客户用相同或类似URL来调用。一些现存web服务器提供安全架构,例如基于Java的安全管理器。举例来说,Tomcatweb服务器可接收对服务的请求、判定应用、且动态地设定所述应用所要使用的安全级别。每个安全级别的安全策略可在文本文件中界定,且不同类可赋予不同安全级别。类为有关数据(成分)和在所述数据上操作的函数(方法)的集合。然而,由Java提供的安全特征有限。除限于Java中所写的应用之外,Java架构仅基于对特定功能的访问而提供高级别的防问控制。此外,虽然例如由Java提供的架构控制了应用可能访问的一些类型的资源,但它们不提供用于控制应用可能消耗的资源的类型和数量的通用机制。因此,需要提供更好的方法来限制和分配对服务器资源的访问的服务器应用架构。
技术实现思路
本专利技术的系统、方法和装置中的每一者均具有几个方面,其中没有任何单个一者单独为形成其所要属性的原因。在不限制由所附的权利要求书所表达的本专利技术的范畴的前提下,现将简要论述本专利技术的更突出特征。在考虑此论述后,且尤其在读了题为“具体实施方式”的部分后,将了解本专利技术的特征如何提供优势,其中包括分配服务器资源,例如网络带宽、内存和CPU时间,并控制对功能的访问。一个实施例为web服务器系统,其包含上面安装有web服务器的服务器计算机和与web服务器交互操作以为来自web浏览器的请求服务的复数个应用。所述系统可进一步包含复数个模板,每个模板与一个或一个以上应用相关联,且指定执行此类应用的资源使用限制,以便对不同的应用进行不同的资源使用限制。应用架构可在与web服务器相关联的服务器计算机上运行,且可执行由模板指定的资源使用限制。应用管理接口可为管理员提供函数性以编辑复数个模板并创建新的模板,以在服务器计算机上控制复数个应用的执行。优选地,应用架构通过截取由应用对web服务器发出的函数调用来至少部分地执行资源使用限制。另一实施例为用于在服务器计算机中分配资源的方法。所述方法包含接收来自客户的对动态内容的web服务器请求。优选地,所述web服务器请求包含URL。用于产生动态内容的应用被标识。优选地,应用的所述标识至少部分地基于所述URL。对应用的模板进行标识。优选地,所述模板使至少一个资源与一限制相关联。应用在虚拟机中执行,所述虚拟机经配置以允许截取资源访问函数调用。截取资源访问函数调用。如果不超过所述限制,那么准许对资源进行访问。对资源使用进行追踪。另一实施例为用于在服务器计算机中分配资源的方法。所述方法包含接收来自客户的请求。至少部分地基于所述请求来对应用进行标识。对资源与应用特有的限制的至少一个关联进行标识。在虚拟机中执行所述应用,所述虚拟机经配置以限制对如由所述限制所指定的资源的访问。另一实施例为用于为应用选择替代资源模板的方法。所述方法包含在与应用相关联的第一服务器中对界定至少一个资源上的限制的模板进行标识。将所述相关联的模板与为第二服务器提供的一组可用模板相比较。选择与所述相关联的模板最紧密匹配的可用模板。另一实施例为用于在服务器计算机中分配资源的系统。所述系统包含虚拟机模块,其经配置以执行与服务器请求相关联的计算机应用。应用定义模块经配置以用应用来标识至少一个资源模板的映射。参数模板模块经配置以标识与应用相关联的模板,其中所述模板使至少一个资源与一限制相关联。架构模块经配置以截取与所述资源相关联的应用的函数调用,且限制对如由模板的限制所指定的资源的访问。另一实施例为一种用于分配资源的系统,所述资源用于处理到服务器计算机的客户请求。所述系统包括用于至少部分地基于所述请求来对应用进行标识的构件;用于对资源与所述应用的限制的至少一个关联进行标识的构件;用于执行所述应用的构件;和用于限制对如由所述限制所指定的资源的访问的构件。另一实施例为用于在服务器计算机中分配资源的方法。所述方法包含接收信号以起动应用。至少部分地基于本文档来自技高网
...

【技术保护点】
一种web服务器系统,其包含:一服务器计算机,其上安装有一web服务器和与所述web服务器交互操作以服务于来自web浏览器的请求的复数个应用;复数个模板,每个模板与所述应用中的一个或一个以上相关联,且为此类应用的执行指定资源使用限制,以便对不同的应用施加不同的资源使用限制;一应用架构,其在与所述web服务器相关联的所述服务器计算机上运行,且执行由所述模板指定的所述资源使用限制;和一应用管理接口,其为一管理员提供功能以编辑所述复数个模板且创建新的模板,以便在所述服务器计算机上控制所述复数个应用的执行。

【技术特征摘要】
【国外来华专利技术】US 2003-12-18 10/742,6181.一种web服务器系统,其包含一服务器计算机,其上安装有一web服务器和与所述web服务器交互操作以服务于来自web浏览器的请求的复数个应用;复数个模板,每个模板与所述应用中的一个或一个以上相关联,且为此类应用的执行指定资源使用限制,以便对不同的应用施加不同的资源使用限制;一应用架构,其在与所述web服务器相关联的所述服务器计算机上运行,且执行由所述模板指定的所述资源使用限制;和一应用管理接口,其为一管理员提供功能以编辑所述复数个模板且创建新的模板,以便在所述服务器计算机上控制所述复数个应用的执行。2.根据权利要求1所述的web服务器系统,其中所述应用架构至少部分地通过截取所述应用向所述web服务器作出的函数调用来执行所述资源使用限制。3.根据权利要求1所述的web服务器系统,其中所述应用架构在一服务器计算机群集内集合地执行所述资源使用限制。4.根据权利要求1所述的web服务器系统,其中所述模板指定对所述应用的资源数量限制,且所述应用架构监控所述应用随着时间的资源使用,以执行所述资源数量限制。5.根据权利要求1所述的web服务器系统,其中所述应用架构还防止一应用访问已经分配给另一应用的资源。6.根据权利要求1所述的web服务器系统,其中所述应用架构控制所述应用的函数资源使用,以执行所界定的应用函数访问限制。7.根据权利要求1所述的web服务器系统,其中所述应用架构控制所述应用的网络带宽使用,以执行所界定的带宽分配。8.根据权利要求1所述的web服务器系统,其中所述应用架构代表所述应用对所述web服务器进行调用。9.根据权利要求1所述的web服务器系统,其中所述应用架构至少部分地通过维持一应用的令牌计数来监控所述应用的资源使用,其中每个令牌均代表可由所述应用使用的服务器资源的一数量。10.根据权利要求1所述的web服务器系统,其中所述应用架构对一web服务器请求作出回应,所述web服务器请求通过装载与一应用相关联的至少一个模板来调用所述应用。11.一种用于在一服务器计算机中分配资源的方法,其包含接收一来自一客户的对动态内容的web服务器请求,其中所述web服务器请求包含一URL;标识一用于产生所述动态内容的应用,其中至少部分地基于所述URL来标识所述应用;标识所述应用的一模板,其中所述模板使至少一个资源与一限制相关联;和在一经配置以允许拟截取的资源访问函数调用的虚拟机中执行所述应用;截取资源访问函数调用;如果未超过所述限制,那么准许访问所述资源;和追踪资源使用。12.根据权利要求1所述的方法,其进一步包含当超过所述限制时,终止所述应用并将一错误返回给所述客户。13.根据权利要求1所述的方法,其进一步包含当超过所述限制时,将一异常返回给所述应用。14.根据权利要求1所述的方法,其中所述动态内容包含来自一数据库的信息。15.一种用于在一服务器计算机中分配资源的方法,其包含接收一来自一客户的请求;至少部分地基于所述请求来标识一应用;标识一资源与所述应用所特有的一限制的至少一个关联;和在一经配置以限制对所述限制所指定的所述资源的访问的虚拟机中执行所述应用。16.根据权利要求15所述的方法,其中所述请求包含一web请求。17.根据权利要求15所述的方法,其中所述虚拟机经配置以执行复数个应用,其中以所述资源的一不同限制来标识所述复数个应用中的至少两个应用。18.根据权利要求15所述的方法,其进一步包含当超过所述限制时,终止所述应用且将一错误返回给所述客户。19.根据权利要求15所述的方法,其进一步包含当超过所述限制时,将一异常返回给所述应用。20.根据权利要求15所述的方法,其中所述动态内容包含来自一数据库的信息。21.根据权利要求15所述的方法,其进一步包含通过一基于web的...

【专利技术属性】
技术研发人员:罗兰施密特田晓梅博比卓元拉姆吉姆贝尔顿
申请(专利权)人:康泰克创新公司
类型:发明
国别省市:CA[加拿大]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1