生成基于应用的代理自动配置的制作方法

文档序号:33706850发布日期:2023-03-31 21:58阅读:34来源:国知局
生成基于应用的代理自动配置的制作方法
生成基于应用的代理自动配置
1.分案申请说明
2.本技术是申请日为2019年6月27日、申请号为201910570409.x、名称为“生成基于应用的代理自动配置”的中国发明专利申请的分案申请。


背景技术:

3.代理自动配置(pac)文件可以将客户端设备配置为使用特定访问方法来向服务器设备发送业务、和/或从服务器设备接收业务。访问方法的示例包括经由代理服务器设备发送和/或接收业务、在不使用代理服务器设备的情况下(例如,通过利用服务器设备直接通信)发送和/或接收业务,等等。


技术实现要素:

4.根据一些实现,一种网络设备可以包括:一个或多个存储器,以及通信地耦合至一个或多个存储器的一个或多个处理器,用于标识与web应用相关联的应用签名,并且用于基于与web应用相关联的基于应用的策略来确定要用于发送与web应用相关联的业务的访问方法。一个或多个处理器可以使用与web应用相关联的应用签名以及要用于发送与web应用相关联的业务的访问方法来生成代理自动配置(pac)文件。一个或多个处理器可以向客户端设备提供pac文件,以便允许客户端基于pac文件来发送与web应用相关联的业务。
5.根据一些实现,一种非暂时性计算机可读介质可以存储一个或多个指令,所述一个或多个指令在由网络设备的一个或多个处理器运行时,使得一个或多个处理器标识与web应用相关联的应用签名,并且基于与web应用相关联的基于应用的策略来确定要用于发送与web应用相关联的业务的访问方法。一个或多个指令可以使得一个或多个处理器使用与web应用相关联的应用签名以及要用于发送与web应用相关联的业务的访问方法来生成代理自动配置(pac)文件。一个或多个指令可以使得一个或多个处理器将pac文件与统一资源定位符(url)相关联,并且基于从客户端设备接收到指定url的请求而向客户端设备提供pac文件。
6.根据一些实现,一种方法可以包括:标识多个应用签名,其中多个应用签名中的相应应用签名与多个web应用中的相应web应用相关联,并且确定要用于发送与多个web应用相关联的业务的多个访问方法,其中,多个访问方法中的相应访问方法要用于发送与相应web应用相关联的业务。该方法可以包括使用多个应用签名中的每个应用签名以及要用于发送与相应web应用相关联的业务的相应访问方法来生成代理自动配置(pac)文件。该方法可以包括向客户端设备提供pac文件。
附图说明
7.图1a-图1e是本文描述的示例实现的示图。
8.图2是示例应用签名的示图。
9.图3是示例pac文件的示图。
10.图4是其中可以实现本文描述的系统和/或方法的示例环境的示图。
11.图5a和图5b是图2的一个或多个设备的示例组件的示图。
12.图6-图10是生成基于应用的代理自动配置的示例过程的流程图。
具体实施方式
13.示例实现的以下详细描述参考附图。不同附图中相同的附图标记可能标识相同或相似的元件。
14.在一些情况下,实体(例如,组织)可以手动地生成pac文件,该pac文件将被用于配置通信地连接至与实体相关联的网络的一个或多个客户端设备。例如,与实体相关联的网络管理员、信息技术(it)人员等可以选择将被用于发送和/或接收与一个或多个服务器设备相关联的业务的一种或多种访问方法,可以将一种或多种访问方法并入到pac文件中,并且可以向一个或多个客户端设备提供pac文件。然而,生成pac文件是易于出错的繁琐过程(例如,可能利用不正确的代理服务器地址生成pac文件、pac文件可以被生成为使得特定类型的业务与不正确的访问方法相关联,等等)。而且,一些pac文件可能利用不灵活的规则而被生成,不灵活的规则使得由客户端设备发送和/或接收的业务中的全部或者多数经由代理服务器设备发送和/或接收。随着连接至实体的网络的客户端设备的数量增加,代理服务器设备对于某些web应用业务(例如,诸如与需要低延时和/或高带宽的web应用相关联的业务)可能成为瓶颈,这可能使得与web应用相关联的客户端设备与应用平台之间的延时,其转而可能造成web应用的降级的用户体验、web应用的降级服务质量、客户端设备与应用平台之间的周期性断开连接、代理服务器设备处增加的业务处理时间、代理服务器处的丢失分组,等等。
15.本文描述的一些实现提供了能够自动生成基于应用的pac文件的网络设备。在一些实现中,网络设备可以标识与web应用相关联的应用签名,并且可以基于与web应用相关联的基于应用的策略来确定要用于发送与web应用相关联的业务的访问方法。网络设备可以生成pac文件,该pac文件可以包括指定与web应用相关联的应用签名与要用于发送与web应用相关联的业务的访问方法之间的关联的信息。网络设备可以向客户端设备提供pac文件以允许客户端设备基于pac文件发送与web应用相关联的业务。
16.以这种方式,网络设备可以生成pac文件,该pac文件配置客户端设备以使用各种访问方法来发送与多个不同的web应用相关联的业务。以这种方式,pac文件可以配置客户端设备以发送与特定web应用相关联的业务以使得使用代理服务器设备发送业务,并且可以配置客户端设备以发送与另一web应用相关联的业务以使得在不使用代理服务器设备或者使用不同代理服务器设备的情况下发送与其他应用相关联的业务,这支持应用特定的业务处理。另外,针对在不使用代理服务器设备的情况要向应用平台发送的业务,这减少了要发送业务的客户端设备与目的地之间的延时,其转而改善了与业务相关联的客户端设备和web应用相关联的用户体验。另外,允许在不使用代理服务器设备的情况下发送与某些web应用相关联的业务减少了要由代理服务器设备处理的分组的数量,这减少了代理服务器设备的处理、存储器和联网资源使用,减少了在代理服务器设备处用于处理业务而花费的时间(例如,因为代理服务器处的处理队列减小),并且允许代理服务器设备使用否则将用于处理针对其他目的的业务的代理服务器设备的处理和/或存储器资源。另外,pac文件可以
配置为使得可以向不同的代理服务器设备发送与特定web应用相关联的业务,其可以提供与日志记录、法务审计等相关的不同类型的增值服务,这使得需要详细日志记录的web应用能够被路由至特定代理服务器。此外,pac文件可以配置为使得通过降低可能在代理服务器设备与客户端设备之间使用的昂贵的租用线路/mpls链路上的业务而实现成本节省。
17.图1a-图1e是本文描述的示例实现的示图。如图1a所示,实现100可以包括各种设备,诸如一个或多个客户端设备、网络设备、一个或多个数据存储(例如,应用签名存储、安全策略存储、应用高速缓存等)、代理服务器设备、应用平台等。实现100中图示的设备的数量和配置是示例,并且实现100中可以包括更多的、更少的和/或不同的设备配置。
18.在一些实现中,实现100中包括的一个或多个组件可以包括一个或多个局部网络中。例如,客户端设备、网络设备和数据存储可以被包括第一局部网络中;代理服务器设备可以被包括第一局部网络或第二局部网络等中。一个或多个局部网络可以包括各种类型的有线和/或无线局域网(lan),诸如有线lan、无线lan(wlan)、家庭网络、办公室网络、校园网络等。在一些实现中,一个或多个局部网络可以与相同的实体(诸如企业、公司、政府机关、教育机构等)相关联。在一些实现中,在一些实现中,一个或多个局部网络可以与实体的不同办公室、不同位置、不同网络等相关联。
19.网络设备可以包括能够向应用平台发送业务、能够从应用平台接收业务等的各种类型的网络设备。例如,网络设备可以从客户端设备接收业务,并且可以向用平台发送业务。作为另一示例,网络设备可以经由代理服务器设备从客户端设备接收业务,并且可以向应用平台发送业务。
20.代理服务器设备可以包括能够充当客户端设备与应用平台之间的中介的各种类型的设备。例如,代理服务器设备可以为客户端设备向应用平台发送业务,可以为应用平台向客户端设备发送业务,等等。在一些实现中,业务可以包括网页、电子文件和/或任何其他类型的电子内容。在一些实现中,业务可以包括针对电子内容的请求,诸如超文本传输协议(http)请求、文件传输协议(ftp)请求等,其还可以使用安全套接层(ssl)协议、传输层安全(tls)协议等来被封装,以提供业务的安全发送。
21.在一些实现中,代理服务器设备可以执行针对由客户端设备发送的业务以及要由客户端设备接收的业务的各种安全功能。例如,代理服务器设备可以包括威胁检测和/或入侵检测代理服务器设备,其分析由客户端设备发送的业务,和/或分析要由客户端设备接收的业务,以确定客户端设备是否展示出恶意行为、确定客户端设备正在通信的另一设备是否展示出恶意行为,等等。作为另一示例,代理服务器设备可以包括深度分组检查代理服务器设备,其对由客户端设备发送的业务和/或要由客户端设备接收的业务执行深度分组检查。以这种方式,代理服务器设备可以对由客户端设备发送的业务和/或要由客户端设备接收的业务应用和/或实施网络、数据和/或计算机安全策略。
22.数据存储可以存储与以下各种web应用相关联的信息,诸如基于网络的生产力应用(例如,文字处理应用、电子表格应用、电子邮件应用等)、基于网络的客户端管理应用、计算机辅助设计应用,等等。web应用可以包括使用诸如http/http安全(https)的网络协议来交换数据的客户端-服务器应用。应用平台可以驻留在因特网/云上,并且客户端设备可以包括与应用平台通信的网络浏览器或者定制软件。
23.在一些实现中,应用签名存储可以包括标识与web应用相关联的应用签名的信息
(例如,可以由网络设备用于标识与web应用相关联的业务的信息)。web应用的应用签名可以包括标识与web应用相关联的一个或多个主机域名的信息、与web应用相关联的一个或多个地址(例如,与发起与应用相关联的业务的设备相关联的源地址、作为与应用相关联的业务的目的地的设备相关联的目的地地址、与应用相关联的分组的源和/或目的地相关联的端口标识符等)、标识与应用相关联的一个或多个通信协议的信息(例如,客户端设备和/或应用平台可以用于发送和/或接收与应用相关联的分组的通信协议),等等。应用签名存储可以将与特定web应用相关联的应用签名存储在数据库中的电子文件(例如,可扩展标记语言(xml)文件、javascript对象表示(json)文件等)中,和/或类似的。
24.图2中图示了应用签名的示例,其中,针对应用1的应用签名包括标识三条规则的信息,通过该三条规则可以标识与应用1相关联的业务。根据规则1,可以基于业务使用http并且目的地是与主机域名xyz.com相关联的应用平台来标识与应用1相关联的业务。根据规则2,可以基于使用安全套接层(ssl)协议和/或传输层安全(tls)协议并且目的地是与主机域名secure.xyz.com相关联的应用平台的业务来标识与应用1相关联的业务。根据规则3,可以基于使用http并且与由在http头部请求中标识的客户端设备发送的用户代理相关联的业务来标识与应用1相关联的业务。
25.返回图1a,在一些实现中,安全策略存储可以存储标识与web应用相关联的一个或多个基于应用的策略的信息。例如,一个或多个基于应用的策略可以包括指定针对与web应用相关联的业务的访问方法策略、针对与web应用相关联的业务的服务质量(qos)处理的策略、针对与应用相关联的业务的检查的策略、指定要受到速率限制的与应用相关联的业务的策略规则、指定要丢弃的与应用相关联的业务的策略规则,等等。
26.在一些实现中,一旦已经基于相对应的web应用签名而将业务标识为属于特定web应用,应用高速缓存就可以存储与web应用相关联的网络端点信息,以使得可以避免针对目的地是该网络端点的业务的签名规则匹配。以这种方式,由于应用签名匹配可能是存储器和/或处理器密集任务,所以可以通过减少针对到相同网络端点的业务的重复签名评估的量来节省网络设备的存储器和/或处理器资源。
27.在一些实现中,网络端点信息可以包括目的地互联网协议(ip)地址、端口名称/编号/标识符、网络端点使用的协议、与网络端点相关联的虚拟路由器标识符和/或来自标识web应用的应用签名存储的规则。在一些实现中,应用高速缓存可以具有用于特定web应用的数百个或数千个条目。每个条目可以具有不同的目的地ip地址、端口标识符等,而应用签名存储可以包括将web应用与规则相关联以标识该web应用的针对web应用的单个条目。
28.转到图1b,网络设备可以使用被存储在应用签名存储中的信息、存储在安全策略存储中的信息和/或存储在应用高速缓存中的信息,以自动生成和更新pac文件。例如,网络设备可以基于确定与web应用相关联的信息已经被添加至应用签名存储、安全策略存储和/或应用高速缓存,基于确定与web应用相关联的信息已经在应用签名存储、安全策略存储和/或应用高速缓存中更新,等等,而自动生成pac文件。在一些实现中,网络设备可以基于(例如,经由来自用户、来自另一网络设备等等的输入)接收到用以生成pac文件的指令、基于接收到用以更新pac文件的指令和/或类似的来生成和更新pac文件。
29.如图1b中并且通过附图标记102所示,网络设备可以基于存储在应用签名存储中的信息来标识与web应用相关联的应用签名。例如,网络设备可以标识存储在应用签名存储
中的、包括与web应用相关联的应用签名的数据库、电子文件等等。如上文所解释的,与web应用相关联的应用签名可以包括标识与web应用相关联的主机域名、与web应用相关联的协议、与web应用相关联的用户代理、与web应用相关联的地址等等的信息。
30.转到图1c,并且如附图标记104所示,网络设备可以标识用于web应用的访问方法。例如,网络设备可以基于被存储在安全策略存储中的与web应用相关联的信息来标识访问方法。与web应用相关联并且被存储在安全策略存储中的信息可以包括基于应用的策略,其指定用于发送和/或接收与web应用相关联的业务的访问方法。例如,用于web应用的访问方法可以指定与web应用相关联的业务要经由代理服务器设备发送至应用平台、可以指定与web应用相关联的业务要经由另一代理服务器设备发送至应用平台、可以指定与web应用相关联的业务要直接发送至应用平台(例如,在不向代理服务器设备发送业务的情况下),等等。
31.在一些实现中,可以(例如,由另一网络设备、由代理服务器设备等)基于各种因素而自动选择要用于与web应用相关联的业务的访问方法。例如,另一设备可以基于web应用是特定类型的web应用(例如,生产力web应用、社交媒体web应用等)、基于与web应用相关联的使用信息(例如,与使用应用的实体相关联的用户的数量、实体中web应用的业务量、实体中与应用相关联的峰值会话和使用时间)、基于web应用的延时要求,等等,而自动选择访问方法。例如,另一设备可以确定web应用是需要低延时的视频会议应用,并且因此可以为web应用选择指定与应用相关联的业务直接发送至应用平台(例如,不经由代理服务器设备发送业务)的访问方法,以便减少与web应用相关联的延时。作为另一示例,另一设备可以确定web应用具有特定峰值使用时间,并且可以为web应用选择指定与web应用相关联的业务在峰值使用时间期间经由代理服务器设备发送至应用平台的访问方法,其中,该业务可以在不使用代理服务器设备的情况下被发送至应用平台。
32.另外如图1c并且通过附图标记106所示,网络设备可以生成pac文件。在一些实现中,pac文件可以包括指定web应用的应用签名与用于与web应用相关联的业务的访问方法之间的关联的信息、指定与应用高速缓存中与应用相关联的网络端点信息与用于与web应用相关联的业务的访问方法之间的关联的信息,等等。以这种方式,客户端设备,在由pac文件配置时,可以基于pac文件中包括的应用签名来标识与web应用相关联的业务,并且可以标识要用于与web应用相关联的业务的访问方法。
33.在一些实现中,pac文件可以包括与多个web应用相关联的信息。例如,pac文件可以包括指定第一web应用的应用签名与用于第一web应用的访问方法之间的关联的信息,可以包括指定第二web应用的应用签名与用于第二web应用的访问方法之间的关联的信息,和/或类似的。在一些实现中,用于不同web应用的访问方法可以是相同的访问方法,可以是不同的访问方法,等等。在一些实现中,pac文件还可以包括默认访问方法,其将用于不与pac文件中标识的任何web应用相关联的业务。
34.pac文件的示例在图3中图示。如图3所示,示例pac文件包括指定第一web应用(例如,应用1)的应用签名与用于第一web应用的访问方法之间的关联的信息(例如,指定与主机域名xyz.com和secure.xyz.com相关联的业务要直接发送至与应用1相关联的应用平台的关联)。另外,示例pac文件包括指定针对应用签名存储中的第一web应用而标识的基于ip/模式的规则、针对应用高速缓存中标识的第一web应用而标识的基于ip/模式的规则相
关联的网络端点以及用于第一web应用的访问方法之间的关联,其可以通过动态生成为针对网络端点的模式而被标识。另外,示例pac文件包括指定第二web应用(例如,应用2)的应用签名(其可以类似于图2中所图示的应用签名而结构化)与用于第二web应用的访问方法之间的关联的信息(例如,指定与主机域名abc.com和secure.abc.com相关联的业务要经由代理服务器设备发送至与应用2相关联的应用平台的关联),并且包括指定默认访问方法的信息(例如,经由另一代理服务器设备发送不与应用1或应用2相关联的业务)。
35.转到图1d,并且如附图标记108所示,网络设备可以向客户端设备提供pac文件。在一些实现中,网络设备可以基于生成pac文件、基于更新pac文件等等而向客户端设备自动地提供pac文件。以这种方式,当新的和/或经更新的pac文件变得可用时,客户端设备自动地接收最新的pac文件。在一些实现中,网络设备可以基于从客户端设备接收到针对pac文件的请求而向客户端设备提供pac文件。例如,网络设备可以充当pac文件服务器,并且因此可以将pac文件与地址(例如,统一资源标识符(uri)、统一资源定位符(url)等)相关联,并且在该地址处托管pac文件。以这种方式,客户端设备可以按照标识地址的http请求、标识地址的ftp请求等的形式提供请求,并且网络设备可以基于接收到请求而向客户端设备提供pac文件。在一些实现中,网络设备可以向充当pac文件服务器的另一设备提供pac文件,并且客户端设备可以从该其他pac文件服务器请求pac文件。
36.转到图1e,并且如附图标记110所示,客户端设备可以接收pac文件,并且可以基于pac文件配置客户端设备以向应用平台发送业务。例如,客户端设备可以(例如,经由客户端设备上的网络浏览器应用)接收用以向应用平台发送针对网页、文件等的请求的指令,并且客户端设备可以基于pac文件中包括的信息来确定:是经由代理服务器设备向应用平台发送请求,还是直接向应用平台发送请求(例如,不经由代理服务器设备发送请求)。以这种方式,客户端设备可以分析请求以确定与请求相关联的主机域名,可以基于主机域名与pac文件中指定的访问方法的关联来确定与请求相关联的访问方法,并且可以基于访问方法来发送请求。
37.以这种方式,网络设备可以生成和/或更新pac文件,该pac文件配置客户端设备以使用用于发送与多个不同web应用相关联的业务的各种访问方法。以这种方式,pac文件可以配置客户端设备以发送与特定web应用相关联的业务,以使得使用代理服务器设备发送业务,并且可以配置客户端设备发送与另一web应用相关联的业务,以使得不使用代理服务器设备发送与其他应用相关联的业务,这增加了生成pac文件的灵活性。另外,针对不使用代理服务器设备要向应用平台发送的业务,这减少了要发送业务的客户端设备与目的地之间的延时,其进而改善了与业务相关联的客户端和web应用相关联的用户体验。另外,允许与某些web应用相关联的业务在不使用代理服务器设备的情况下被发送减少了要由代理服务器设备处理的分组的数量,这减少了代理服务器设备的处理、存储器和联网资源使用,减少了代理服务器设备处用于处理业务花费的时间(例如,因为减小了代理服务器设备处的处理队列),并且允许代理服务器设备使用代理服务器设备的、否则将被用于处理用于其他目的的业务的处理和/或存储器资源。
38.如上所述,图1a-图1e仅被作为示例提供。其他示例可以不同于关于图1a-图1e所描述的。
39.图4是示例环境400的示图,其中可以实现本文描述的系统和/或方法。如图4所示,
环境400可以包括客户端设备410、多个数据存储设备420(例如,应用签名存储420-1、安全策略存储420-2、应用高速缓存420-3等等,统称为“数据存储设备420”,并且单独作为“数据存储设备420”)、网络设备430、云计算环境442中的应用平台440,应用平台440包括计算资源444、网络450、代理服务器设备460等的集合。环境400的设备可以经由有线连接、无线连接或有线连接和无线连接的组合来互连。
40.客户端设备410包括一个或多个设备,所述一个或多个设备能够接收、生成、存储、处理和/或提供与生成基于应用的代理自动配置相关联的数据。例如,客户端设备410可以包括:移动电话(例如,智能电话、无线电话等)、膝上型计算机、平板计算机、手持式计算机、游戏设备、可穿戴通信设备(例如,智能腕表、智能眼镜等)、台式计算机,和/或类似类型的设备。客户端设备410可以从网络设备430接收pac文件,可以基于pac文件向网络设备430发送业务,等等。
41.数据存储设备420包括一个或多个设备,诸如储存设备、存储器设备等,所述一个或多个设备能够接收、生成、存储、处理和/或提供与生成基于应用的代理自动配置相关联的数据。例如,应用签名存储420-1可以包括储存设备、存储器设备等,其存储与一个或多个应用相关联的信息,诸如与各种web应用(例如,基于网络的生产力应用或客户端管理应用、计算机辅助设计应用等)相关联的信息。例如,签名存储420-1可以存储标识web应用的信息、标识与web应用相关联的应用签名的信息(例如,标识与应用相关联的一个或多个主机域名、地址和/或通信协议的信息)。安全策略存储420-2可以包括存储标识与web应用相关联的一个或多个基于应用的策略的信息的储存设备、存储器设备等。
42.在一些实现中,数据存储设备420可以是独立的设备,可以被包括在网络设备(例如,网络设备430)或另一设备中,等等。
43.网络设备430包括一个或多个设备,所述一个或多个设备能够接收、生成、存储、处理和/或提供与生成基于应用的代理自动配置相关联的数据。在一些实现中,网络设备430可以包括防火墙、路由器、网关、交换机、桥接器、无线接入点、基站(例如,enodeb、nodeb、gnodeb等),等等。在一些实现中,网络设备430可以实现为在外壳(诸如机架)内实现的物理设备。在一些实现中,网络设备430可以被实现为由云计算环境或者数据中心的一个或多个计算机设备实现的虚拟设备。
44.在一些实现中,网络设备430可以(例如,基于数据存储设备420中存储的信息)标识与web应用相关联的应用签名、可以生成pac文件、可以向客户端设备410提供pac文件、可以基于pac文件从客户端设备410接收业务、和/或可以更新pac文件。
45.应用平台440包括一个或多个设备,所述一个或多个设备能够接收、生成、存储、处理和/或提供与生成基于应用的代理自动配置相关联的数据。例如,应用平台440可以包括服务器设备(例如,主机服务器、网络服务器、应用服务器等)、数据中心设备和/或类似的设备。应用平台440可以从网络设备430接收分组、可以存储分组、可以向另一位置发送分组、可以修改分组、可以向客户端设备发送一个或多个分组、可以分析分组,等等。在一些实现中,应用平台440可以与应用相关联,并且可以接收应用、与应用相关联的业务、与应用相关联的分组等等。
46.在一些实现中,如所示的,应用平台440可以被托管在云计算环境442中。值得注意的是,虽然本文描述的实现描述应用平台440托管在云计算环境442中,但是,在一些实现
中,应用平台440可以不是基于云的(即,可以在云计算环境之外实现)或者可以是部分基于云的。
47.云计算环境442包括托管应用平台440的环境。云计算环境442可以提供计算、软件、数据访问、存储和/或其他服务。如所示的,云计算环境442可以提供一组计算资源444(统称为“计算资源444”,并且独立地称为“计算资源444”)。
48.计算资源444包括一个或多个个人计算机、工作站计算机、服务器设备或者另一类型的计算和/或通信设备。在一些实现中,计算资源444可以托管应用平台440。云资源可以包括在计算资源444中运行的计算实例、在计算资源444中提供的储存设备、由计算资源444提供的数据传输设备等等。在一些实现中,计算资源444可以经由有线连接、无线连接或者有线连接和无线连接的组合与其他计算资源444通信。
49.如图4另外所示,计算资源444可以包括一组云资源,诸如一个或多个应用(“app”)444-1、一个或多个虚拟机(“vm”)444-2、一个或多个虚拟化储存(“vs”)444-3和/或一个或多个管理程序(“hyp”)444-4。
50.应用444-1包括可以向环境400的一个或多个设备提供或者由环境400的一个或多个设备访问的一个或多个软件应用。应用444-1可以消除在环境400的设备上安装和运行软件应用的需要。例如,应用444-1可以包括与应用平台440相关联的软件和/或能够经由云计算环境442提供的任何其他软件。在一些实现中,一个应用444-1可以经由虚拟机444-2而向一个或多个其他应用444-1发送信息/从一个或多个其他应用444-1接收信息。在一些实现中,应用444-1可以包括与一个或多个数据库和/或操作系统相关联的软件应用。例如,应用444-1可以包括企业应用、功能应用、分析应用等。
51.虚拟机444-2包括运行类似于物理机的程序的机器(例如,计算机)的软件实现。虚拟机444-2可以是系统虚拟机或过程虚拟机,取决于虚拟机444-2对任何真实机的使用和对应程度。系统虚拟机可以提供完整的系统平台,其支持完整操作系统(“os”)的运行。过程虚拟机可以运行单个程序,并且可以支持单个过程。在一些实现中,虚拟机444-2可以代表用户(例如,客户端410的用户和/或应用平台440的运营商)运行,并且可以管理云计算环境442的基础架构,诸如数据管理、同步或长时间数据传输。
52.虚拟化储存444-3包括一个或多个储存系统和/或在储存系统或者计算资源444的设备内使用虚拟化技术的一个或多个设备。在一些实现中,在储存系统的上下文中,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指逻辑储存与物理储存的抽象(或者分离),以使得可以访问储存系统而不考虑物理储存或异构结构。分离可以允许储存系统的管理员在管理员如何管理用于最终用户的储存方面的灵活性。文件虚拟化可以消除在文件级访问的数据与文件物理存储的位置之间的依赖性。这可以支持储存使用、服务器整合和/或无中断文件迁移的性能的优化。
53.管理程序444-4提供硬件虚拟化技术,其允许多个操作系统(例如,“客户操作系统”)在主机(诸如计算资源444)上同时运行。管理程序444-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的运行。多种操作系统的多个实例可以共享虚拟化硬件资源。
54.网络450包括一个或多个有线和/或无线网络。例如,网络450可以包括:移动网络(例如,长期演进(lte)网络、码分多址(cdma)网络、3g网络、4g网络、5g网络、其他类型的下
一代网络等)、公共陆地移动网络(plmn)、局域网(lan)、广域网(wan)、城域网(man)、电话网络(例如,公共交换电话网(pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等等,和/或这些或其他类型的网络的组合。
55.代理服务器设备460包括一个或多个物理和/或虚拟设备,一个或多个物理和/或虚拟设备能够接收、生成、存储、处理和/或提供与生成基于应用的代理自动配置相关联的数据。在一些实现中,代理服务器设备460可以包括网络设备、服务器设备、客户端设备等。在一些实现中,代理服务器设备460可以包括能够充当客户端设备410与应用平台440之间的中介的各种类型的设备。例如,代理服务器设备460可以为客户端设备410向应用平台440发送业务、可以为应用平台440向客户端设备410发送业务,等等。在一些实现中,代理服务器设备460可以针对由客户端设备410发送的业务以及要由客户端设备410接收的业务执行各种安全功能,诸如威胁检测和/或入侵检测、深度分组检查等等。
56.图4中所示的设备和网络的数目和布置仅作为示例提供。实际上,可以存在附加的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络,或者与图4中所示的那些进行不同布置的设备和/或网络。另外,图4中所示的两个或更多个设备可以在单个设备内实现,或者图4中所示的单个设备可以被实现为多个、分布式的设备。附加地或者备选地,环境400的设备集合(例如,一个或多个设备)可以执行被描述为由环境400的另一设备集合执行的一个或多个功能。
57.图5a和图5b是图4的一个或多个设备的示例组件的示图。图5a是设备500的示例组件的示图。设备500可以对应于客户端设备410、数据存储设备420、网络设备430、应用平台440、代理服务器设备460等。在一些实现中,客户端设备410、数据存储420、网络设备430、应用平台440、代理服务器设备460等可以包括一个或多个设备500和/或设备500的一个或多个组件。如图5a中所示,设备500可以包括总线505、处理器510、存储器515、储存组件520、输入组件525、输出组件530和/或通信接口535。
58.总线505包括允许设备500的多个组件之间进行通信的组件。处理器510在硬件、固件和/或硬件和软件的组合中实现。处理器510采用中央处理单元(cpu)、图形处理单元(gpu)、加速处理单元(apu)、微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)和/或其他类型的处理组件的形式。在一些实现中,处理器510包括能够被编程以执行功能的一个或多个处理器。存储器515包括随机存取存储器(ram)、只读存储器(rom)和/或存储用于由处理器510使用的信息和/或指令的其他类型的动态或静态储存设备(例如,闪速存储器、磁存储器和/或光学存储器)。
59.储存组件520存储与设备500的操作和使用相关的信息和/或软件。例如,储存组件520可以包括硬盘(例如,磁盘、光学盘、磁光盘和/或固态盘)、光盘(cd)、数字通用盘(dvd)、软盘、磁带盒、磁带和/或其他类型的非暂时性计算机可读介质以及相对应的驱动器。
60.输入组件525包括允许设备500诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)接收信息的组件。附加地或者备选地,输入组件525可以包括用于感测信息的传感器(例如,全球定位系统(gps)组件、加速度计、陀螺仪和/或致动器)。输出组件530包括提供来自设备500的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(led))。
61.通信接口535包括类似收发机的组件(例如,收发机和/或分离的接收机和发射
机),其使得设备500能够诸如经由有线连接、无线连接或者有线连接和无线连接的组合与其他设备通信。通信接口535可以允许设备500从另一设备接收信息和/或向另一设备提供信息。例如,通信接口535可以包括以太网接口、光学接口、同轴接口、红外接口、射频(rf)接口、通用串行总线(usb)接口、wi-fi接口、蜂窝网络接口,等等。
62.设备500可以执行本文描述的一个或多个过程。设备500可以基于运行由非暂时性计算机可读介质(诸如存储器515和/或储存组件520)存储的软件指令的处理器510来执行这些过程。计算机可读介质在本文中被定义为非暂时性存储器设备。存储器设备包括单个物理储存设备内的存储器空间或者跨多个物理储存设备的存储器空间。
63.软件指令可以从另一计算机可读介质或者从另一设备经由通信接口535读取到存储器515和/或储存组件520中。在运行时,存储在存储器515和/或储存组件520中的软件指令可以使得处理器510执行本文描述的一个或多个过程。附加地或者备选地,可以使用硬连线电路代替软件指令或者与软件指令相组合以执行本文描述的一个或多个过程。由此,本文描述的实现不限于硬件电路和软件的任何特定组合。
64.图5a中所示的组件的数目和布置仅作为示例提供。实际上,设备500可以包括附加组件、更少的组件、不同的组件或者与图5a中所示的那些进行不同布置的组件。附加地或者备选地,设备500的组件集合(例如,一个或多个组件)可以执行被描述为由设备500的另一组件集合执行的一个或多个功能。
65.图5b是设备550的示例组件的示图。设备550可以对应于网络设备430。在一些实现中,网络设备430可以包括一个或多个设备550和/或设备550的一个或多个组件。如图5b中所示,设备550可以包括一个或多个输入组件555-1到555-b(b≥1)(下文统称为输入组件555,并且单独称为输入组件555)、交换组件560、一个或多个输出组件565-1到565-c(c≥1)(下文统称为输出组件565,并且单独称为输出组件565)和控制器570。
66.输入组件555可以是物理链路的附接点,并且可以是用于传入业务(诸如分组)的入口点。输入组件555可以诸如通过执行数据链路层封装或解封装来处理传入业务。在一些实现中,输入组件555可以发送和/或接收分组。在一些实现中,输入组件555可以包括输入线卡,其包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(ifc)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备550可以包括一个或多个输入组件555。
67.交换组件560可以将输入组件555与输出组件565互连。在一些实现中,交换组件560可以经由一个或多个交叉开关、经由总线和/或利用共享存储器来实现。共享存储器可以在分组被最终调度以被递送至输出组件565之前充当临时缓冲器以存储来自输入组件555的分组。在一些实现中,交换组件560可以使得输入组件555、输出组件565和/或控制器570能够通信。
68.输出组件565可以存储分组,并且可以调度分组以便在输出物理链路上发送。输出组件565可以支持数据链路层封装或解封装,和/或多种更高层协议。在一些实现中,输出组件565可以发送分组和/或接收分组。在一些实现中,输出组件565可以包括输出线卡,其包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个ifc、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备550可以包括一个或多个输出组件565。在一些实现中,输入组件555和输出组件565可以由相同的
组件集合实现(例如,输入/输出组件可以是输入组件555和输出组件565的组合)。
69.控制器570包括例如以下形式的处理器:cpu、gpu、apu、微处理器、微控制器、dsp、fpga、asic和/或其他类型的处理器。处理器在硬件、固件和/或硬件和软件的组合中实现。在一些实现中,控制器570可以包括一个或多个处理器,其可以被编程以执行功能。
70.在一些实现中,控制器570可以包括ram、rom和/或其他类型的动态或静态储存设备(例如,闪速存储器、磁存储器、光学存储器等),其存储用于由控制器570使用的信息和/或指令。
71.在一些实现中,控制器570可以与连接至设备500的其他设备、网络和/或系统通信,以便交换与网络拓扑有关的信息。控制器570可以基于网络拓扑信息创建路由表、基于路由表创建转发表、并且将转发表转发至输入组件555和/或输出组件565。输入组件555和/或输出组件565可以使用转发表来执行针对传入分组和/或传出分组的路由查找。
72.控制器570可以执行本文描述的一个或多个过程。控制器570可以响应于运行由非暂时性计算机可读介质存储的软件指令而执行这些过程。
73.软件指令可以从另一计算机可读介质或者从另一设备经由通信接口读取到与控制器570相关联的存储器和/或储存组件中。在运行时,存储在与控制器570相关联的存储器和/或储存组件中的软件指令可以使得控制器570执行本文描述的一个或多个过程。附加地或者备选地,可以使用硬连线电路代替软件指令或者与软件指令相组合以执行本文描述的一个或多个过程。由此,本文描述的实现不限于硬件电路和软件的任何特定组合。
74.图5b中所示的组件的数目和布置仅作为示例提供。实际上,设备550可以包括附加的组件、更少的组件、不同的组件,或者与图5b中所示的那些进行不同的布置。附加地或者备选地,设备550的组件集合(例如,一个或多个组件)可以执行被描述为由设备550的另一组件集合执行的一个或多个功能。
75.图6是用于生成基于应用的代理自动配置的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由网络设备(例如,网络设备430)执行。在一些实现中,图6的一个或多个过程框可以由与网络设备分离或者包括网络设备的另一设备或设备组来执行,诸如客户端设备(例如,客户端设备410)、数据存储设备(例如,数据存储设备420)、应用平台(例如,应用平台440)、代理服务器设备(例如,代理服务器设备460)等等。
76.如图6中所示,过程600可以包括标识与web应用相关联的应用签名(框610)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以标识与web应用相关联的应用签名。
77.如图6中另外所示,过程600可以包括基于与web应用相关联的基于应用的策略,确定要用于发送与web应用相关联的业务的访问方法(框620)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以基于与web应用相关联的基于应用的策略来确定要用于发送与web应用相关联的业务的访问方法。
78.如图6中另外所示,过程600可以包括使用与web应用相关联的应用签名以及要用于发送与web应用相关联的业务的访问方法,来生成代理自动配置(pac)文件(框630)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件
520、控制器570等)可以使用与web应用相关联的应用签名以及要用于发送与web应用相关联的业务的访问方法来生成pac文件。
79.如图6中另外所示,过程600可以包括向客户端设备提供pac文件以允许客户端设备基于pac文件发送与web应用相关联的业务(框640)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、交换组件560、输出组件565、控制器570等)可以向客户端设备提供pac文件以允许客户端设备基于pac文件发送与web应用相关联的业务。
80.过程600可以包括附加的实现,诸如任何单个实现或者下文描述和/或与本文其他地方描述的一个或多个其他过程相结合的实现的任何组合。
81.在一些实现中,在标识与web应用相关联的应用签名时,网络设备可以基于存储在应用签名存储中的、与web应用相关联的信息来标识应用签名。在一些实现中,在生成pac文件时,网络设备可以基于在应用高速缓存中标识的、与web应用相关联的互联网协议(ip)地址和端口标识符而动态地生成pac文件。在一些实现中,与web应用相关联的基于应用的策略可以指定要用于发送与web应用相关联的业务的访问方法。
82.在一些实现中,可以经由深度分组检查代理服务器向与web应用相关联的应用服务器发送与web应用相关联的业务;可以经由入侵防御系统代理服务器向与web应用相关联的应用服务器发送与web应用相关联的业务;或者,可以不使用代理服务器向与web应用相关联的应用服务器发送与web应用相关联的业务。
83.在一些实现中,在向客户端设备提供pac文件时,网络设备可以从客户端设备接收针对pac文件的请求,并且可以基于接收到请求来向客户端设备提供pac文件。在一些实现中,网络设备可以在与pac文件相关联的统一资源标识符(uri)处托管pac文件。
84.虽然图6示出了过程600的示例框,但是在一些实现中,过程600可以包括附加的框、更少的框、不同的框或者与图6中所示的那些进行不同布置的框。附加地或者备选地,可以并行执行过程600的框中的两个或更多个框。
85.图7是用于生成基于应用的代理自动配置的示例过程700的流程图。在一些实现中,图7的一个或多个过程框可以由网络设备(例如,网络设备430)执行。在一些实现中,图7的一个或多个过程框可以由与网络设备分离或者包括网络设备的另一设备或设备组来执行,诸如客户端设备(例如,客户端设备410)、数据存储设备(例如,数据存储设备420)、应用平台(例如,应用平台440)、代理服务器设备(例如,代理服务器设备460)等。
86.如图7中所示,过程700可以包括标识与web应用相关联的应用签名(框710)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以标识与web应用相关联的应用签名。
87.进一步如图7所示,过程700可以包括基于与web应用相关联的基于应用的策略,确定要用于发送与web应用相关联的业务的访问方法(框720)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以基于与web应用相关联的基于应用的策略,确定要用于发送与web应用相关联的业务的访问方法。
88.进一步如图7所示,过程700可以包括使用与web应用相关联的应用签名以及要用
于发送与web应用相关联的业务的访问方法,来生成代理自动配置(pac)文件(框730)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、控制器570等)可以使用与web应用相关联的应用签名以及要用于发送与web应用相关联的业务的访问方法,来生成pac文件。
89.进一步如图7所示,过程700可以包括将pac文件与url相关联(框740)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以将pac文件与url相关联。
90.进一步如图7所示,过程700可以包括基于从客户端设备接收到指定网络地址的请求而向客户端设备提供pac文件(框750)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、交换组件560、输出组件565、控制器570等)可以基于从客户端设备接收到指定网络地址的请求而向客户端设备提供pac文件。
91.过程700可以包括附加的实现,其包括任何单个实现或者下文描述的和/或与本文其他地方描述的一个或多个其他过程相结合的实现的任何组合。
92.在一些实现中,在生成pac文件时,网络设备可以基于应用高速缓存中标识的、与web应用相关联的互联网协议(ip)地址和端口标识符来动态地生成pac文件。在一些实现中,在基于应用高速缓存中标识的、与web应用相关联的ip地址和端口标识符而动态地生成pac文件时,网络设备可以基于确定标识与web应用相关联的ip地址和端口标识符的信息已经被添加到应用高速缓存中,而动态地生成pac文件。在一些实现中,在动态地生成pac文件时,网络设备可以生成javascript代码,其对应于与web应用相关联的ip地址和端口标识符与要用于发送与web应用相关联的业务的访问方法之间的关联。
93.在一些实现中,在基于应用高速缓存中标识的、与web应用相关联的ip地址和端口标识符而动态地生成pac文件时,网络设备可以确定与应用高速缓存中标识的ip地址和端口标识符相关联的时间间隔是否已过期,并且可以基于确定时间间隔已过期而从应用高速缓存中移除所标识的ip地址和端口标识符。
94.在一些实现中,应用签名包括标识与web应用相关联的用户代理的信息。在一些实现中,标识与web应用相关联的应用签名的信息可以存储在与网络设备相关联的应用高速缓存中,并且应用签名可以包括标识与web应用相关联的主机域名的信息和标识与web应用相关联的应用协议的信息。
95.虽然图7示出了过程700的示例框,但是在一些实现中,过程700可以包括附加的框、更少的框、不同的框或者与图7中描绘的那些进行不同布置的框。附加地或者备选地,可以并行执行过程700的框中的两个或更多个框。
96.图8是用于生成基于应用的代理自动配置的示例过程800的流程图。在一些实现中,图8的一个或多个过程框可以由网络设备(例如,网络设备430)执行。在一些实现中,图8的一个或多个过程框可以由与网络设备分离或者包括网络设备的另一设备或设备组来执行,诸如客户端设备(例如,客户端设备410)、数据存储设备(例如,数据存储设备420)、应用平台(例如,应用平台440)、代理服务器设备(例如,代理服务器设备460)等。
97.如图8中所示,过程800可以包括标识多个应用签名,其中多个应用签名中的相应
应用签名与多个web应用中的相应web应用相关联(框810)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以标识多个应用签名。在一些实现中,多个应用签名中的相应应用签名可以与多个web应用中的相应web应用相关联。
98.进一步如图8所示,过程800可以包括确定要用于发送与多个web应用相关联的业务的多个访问方法,其中,多个访问方法中的相应访问方法要用于发送与相应web应用相关联的业务(框820)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以确定要用于发送与多个web应用相关联的业务的多个访问方法。在一些实现中,多个访问方法中的相应访问方法可以用于发送与相应web应用相关联的业务。
99.进一步如图8所示,过程800可以包括使用多个应用签名中的每个应用签名以及要用于发送与相应web应用相关联的业务的相应访问方法,生成代理自动配置(pac)文件(框830)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、控制器570等)可以使用多个应用签名中的每个应用签名以及要用于发送与相应web应用相关联的业务的相应访问方法,生成pac文件。
100.进一步如图8所示,过程800可以包括向客户端设备提供pac文件(框840)。例如,如上文所描述的,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、交换组件560、输出组件565、控制器570等)可以向客户端设备提供pac文件。
101.过程800可以包括附加的实现,包括任何单个实现或者下文描述的和/或与本文其他地方描述的一个或多个其他过程相结合的实现的任何组合。
102.在一些实现中,多个web应用中的第一web应用可以与第一web应用类型相关联,多个web应用中的第二web应用可以与第二web应用类型相关联,并且第一web应用类型和第二web应用类型可以是不同的web应用类型。
103.在一些实现中,多个web应用中的每个web应用可以与不同的web应用组类型相关联。在一些实现中,在生成pac文件时,网络设备可以基于应用高速缓存中标识的、与web应用相关联的互联网协议(ip)地址和端口标识符而动态地生成pac文件。在一些实现中,在动态地生成pac文件时,网络设备可以基于确定标识与web应用相关联的ip地址和端口标识符的信息已经被添加到应用高速缓存中而动态地生成pac文件。在一些实现中,在动态地生成pac文件时,网络设备可以生成javascript代码,所述javascript代码对应于与web应用相关联的ip地址和端口标识符与要用于发送与web应用相关联的业务的访问方法之间的关联。
104.虽然图8示出了过程800的示例框,但是在一些实现中,过程800可以包括附加的框、更少的框、不同的框或者与图8中所描绘的那些进行不同布置的框。附加地或者备选地,可以并行执行过程800的框中的两个或更多个框。
105.图9是用于静态地生成基于应用的代理自动配置的示例过程900的流程图。在一些实现中,图9的一个或多个过程框可以由网络设备(例如,网络设备430)执行。在一些实现中,图9的一个或多个过程框可以由与网络设备分离或者包括网络设备的另一设备或设备组来执行,诸如客户端设备(例如,客户端设备410)、数据存储设备(例如,数据存储设备420)、应用平台(例如,应用平台440)、代理服务器设备(例如,代理服务器设备460)等等。
106.如图9中所示,过程900可以包括从应用签名存储得到与web应用相关联的下一应用签名(框902)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以从应用签名存储得到与web应用相关联的下一应用签名。
107.进一步如图9所示,过程900可以包括从应用签名得到下一应用签名规则(框904)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以从应用签名得到下一应用签名规则。
108.进一步如图9所示,过程900可以包括确定应用签名规则是否是基于主机的模式规则(框906)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、交换组件560、输出组件565、控制器570等)可以确定应用签名规则是否是基于主机的模式规则。如果应用签名规则不是基于主机的模式规则(例如,应用签名规则包括除服务器主机名或服务器url规则之外的规则)(框906-否),则网络设备可以忽略应用签名规则,并且可以返回到框904以从应用签名得到下一应用签名规则。
109.进一步如图9所示,如果应用签名规则具有针对服务器主机名或服务器url的模式(框906-是),则过程900可以包括从应用签名中提取应用签名规则(框908)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、交换组件560、输出组件565、控制器570等)可以从应用签名中提取应用签名规则。
110.进一步如图9所示,过程900可以包括从安全策略存储中提取与web应用相关联的访问方法策略(框910)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以从安全策略存储中提取与web应用相关联的访问方法策略。
111.进一步如图9所示,过程900可以包括生成针对所提取的应用签名规则和访问方法策略的javascript代码(框912)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以生成针对所提取的应用签名规则和访问方法策略的javascript代码。在一些实现中,所提取的应用签名规则可以包括针对服务器主机名(或服务器url)的模式,并且所生成的javascript代码可以包括类似于图3中所图示的模式。
112.进一步如图9所示,过程900可以包括确定应用签名中是否存在任何剩余的应用签名规则(框914)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以确定应用签名中是否存在任何剩余的应用签名规则。如果网络设备确定应用签名中存在剩余的应用签名规则(框914-是),则过程900可以返回到框904,以使得可以提取下一应用签名规则。
113.进一步如图9所示,如果网络设备确定应用签名中不存在剩余的应用签名规则(框914-否),则过程900可以包括确定是否存在要进行处理的、包括在应用签名存储中的任何剩余的应用签名(框916)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、交换组件560、输出组件565、控制器570等)可以确定是否存在要进行处理的、包括在应用签名存储中的任何剩余的应用签名。如果网络设备确定存在要进行处理的、包括在应用签名存储中的任何剩余的应用签名(框916-是),则过程900可以返
回至框902,以使得可以处理下一应用签名。如果网络设备确定不存在要进行处理的、包括在应用签名存储中的剩余的应用签名(框916-否),则过程900可以结束。
114.过程900可以包括附加的实现,诸如任何单个实现或者下文描述的和/或与本文其他地方描述的一个或多个其他过程相结合的实现的任何组合。虽然图9示出了过程900的示例框,但是在一些实现中,过程900可以包括附加的框、更少的框、不同的框或者与图9中描绘的那些进行不同布置的框。附加地或者备选地,可以并行执行过程900的框中的两个或更多个框。
115.图10是用于动态地生成基于应用的代理自动配置的示例过程1000的流程图。在一些实现中,图10的一个或多个过程框可以由网络设备(例如,网络设备430)执行。在一些实现中,图10的一个或多个过程框可以由与网络设备分离或者包括网络设备的另一设备或设备组来执行,诸如客户端设备(例如,客户端设备410)、数据存储设备(例如,数据存储设备420)、应用平台(例如,应用平台440)、代理服务器设备(例如,代理服务器设备460)等等。
116.如图10中所示,过程1000可以包括确定web应用是否是被添加到应用高速缓存中的新web应用(框1002)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以确定web应用是否是被添加到应用高速缓存中的新web应用。
117.进一步如图10所示,如果web应用是被添加到应用高速缓存中的新web应用(框1002-是),则过程1000可以包括确定pac文件中配置的web应用具有的将条目添加到应用高速缓存中的相对应的规则是否不具有服务器主机名模式或服务器url模式并且因此在静态pac文件生成期间被忽略(框1004)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以确定pac文件中配置的web应用具有的将条目添加到应用高速缓存中的相对应的规则是否不具有服务器主机名模式或服务器url模式并且因此在静态pac文件生成期间被忽略。
118.进一步如图10所示,如果将该条目添加到应用高速缓存中的规则不对应于具有服务器主机名或url并且因此在静态pac文件生成期间被忽略(框1004-是),则过程1000可以包括生成针对与web应用相关联的ip地址和端口标识符规则以及与web应用相关联的访问方法策略的javascript代码(框1006)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、控制器570等)可以生成针对与web应用相关联的ip地址和端口标识符规则以及与web应用相关联的访问方法策略的javascript代码。
119.进一步如图10所示,如果web应用不是添加应用高速缓存中的新web应用(框1002-否),则过程1000可以包括确定与应用高速缓存中的web应用的高速缓存条目相关联的时间间隔是否已过期(框1008)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、交换组件560、输出组件565、控制器570等)可以确定与应用高速缓存中的web应用的高速缓存条目相关联的时间间隔是否已过期。
120.进一步如图10所示,如果时间间隔已过期,则过程1000可以包括从应用高速缓存中删除针对web应用的高速缓存条目(框1010)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以从应用高速缓存中删除针对web应用的高速缓存条目。
121.进一步如图10所示,过程1000可以包括确定应用高速缓存中针对web应用的高速缓存条目是否用于生成pac文件(框1012)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以确定应用高速缓存中针对web应用的高速缓存条目是否用于生成pac文件。
122.进一步如图10所示,如果应用高速缓存中针对web应用的高速缓存条目用于生成pac文件,则过程1000可以包括从pac文件中移除针对匹配ip地址和端口标识符应用签名规则的javascript代码(框1014)。例如,网络设备(例如,使用计算资源444、处理器510、存储器515、储存组件520、通信接口535、输入组件555、交换组件560、输出组件565、控制器570等)可以从pac文件中移除针对匹配ip地址和端口标识符应用签名规则的javascript代码。
123.过程1000可以包括附加的实现,诸如,任何单个实现或者下文描述的和/或与本文其他地方描述的一个或多个过程相结合的实现的任何组合。虽然图10示出了过程1000的示例框,但是在一些实现中,过程1000可以包括附加的框、更少的框、不同的框或者与图10中所描绘的那些进行不同布置的框。附加地或者备选地,可以并行执行过程1000的框中的两个或更多个框。
124.如本文所使用的,“业务”或“内容”可以包括分组的集合。分组可以指用于传送信息的通信结构,诸如协议数据单元(pdu)、网络分组、数据报、分段、消息、块、信元、帧、子帧、时隙、符号、上述的任何项的一部分,和/或能够经由网络传输的其他类型的格式化或未格式化数据单元。
125.前述公开内容提供了说明和描述,但是并不旨在穷举或者将实现限制于所公开的精确形式。根据以上公开内容可以做出修改和变化,或者可以从实现的实践中获得修改和变化。
126.如本文所使用的,术语“组件”旨在宽泛地解释为硬件、固件和/或硬件和软件的组合。
127.易见的是,本文描述的系统和/或方法能够以硬件、固件和/或硬件和软件的组合的不同形式实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限制实现。由此,本文描述了系统和/或方法的操作和行为,而没有参考具体的软件代码——应当理解,软件和硬件可以被设计为基于本文的描述来实现系统和/或方法。
128.虽然权利要求书中陈述和/或说明书中公开了特征的特定组合,但是这些组合不旨在限制各种实现的公开内容。实际上,这些特征中的许多特征能够以未在权利要求书中具体陈述和/或说明书中公开的方式进行组合。虽然下文所列的每个从属权利要求可能直接仅从属于一个权利要求,但是各种实现的公开内容包括每个从属权利要求与权利要求集合中的每个其他权利要求的组合。
129.本文使用的元件、行为或指令都不应当解释为关键的或必要的,除非明确如此描述。而且,如本文所使用的,冠词“一”、“一个”旨在包括一个或多个项,并且可以与“一个或多个”互换使用。另外,如本文所使用的,在意指仅一个项的情况下,使用术语“仅一个”或类似语言。而且,如本文所使用的,术语“有”、“具有”、“拥有”或类似的旨在作为开放式术语。术语“集合”旨在包括一个或多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或多个”互换使用。另外,短语“基于”旨在表示“至少部分地基于”,除非另外明确表述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1