将多个功能聚集到单一平台转让专利

申请号 : CN201180056205.6

文献号 : CN103348335B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 哈桑·艾哈迈德阿南德·克里希纳穆尔蒂特里·杜兰德蒂姆·莫特索夫保罗·谢勒艾夫尼希·西卡

申请人 : 阿弗梅德网络公司

摘要 :

一种包括计算机程序产品的方法和装置,用于将多个功能聚集到单一平台。一种通信系统包括至少一个处理器;存储计算机可执行指令的至少一个计算机可读存储介质,当所述指令被所述至少一个处理器执行时,实施这样一种组件,该组件包括:工作流模块,其包括用于处理不同类型的信息分组的工作流指令集;以及可选通信功能模块,所述工作流模块使用所述可选通信功能模块中的所选通信功能模块来协调所接收的分组的处理。

权利要求 :

1.一种无线通信系统,其包括:

工作流模块,其包括用于处理来自多个移动用户的不同类型的信息分组的工作流指令集;

深度分组检查模块,其用于检查所接收的分组并向所述工作流模块提供有关所述分组的信息;以及可选通信功能模块,所述工作流模块基于由所述深度分组检查模块提供的、有关分组的信息使用所述可选通信功能模块中的所选通信功能模块来协调所接收的分组的处理。

2.根据权利要求1所述的系统,其中所述工作流指令集能够被修改。

3.根据权利要求1所述的系统,还包括用户模块,其用于检查所接收的分组并向所述工作流模块提供至少一个用户属性。

4.根据权利要求1所述的系统,还包括网络模块,其用于检查所接收的分组并向所述工作流模块提供至少一个网络协议属性。

5.根据权利要求1所述的系统,其中所述可选通信功能模块包括内容过滤模块。

6.根据权利要求1所述的系统,其中所述可选通信功能模块包括超文本传输协议(HTTP)代理模块。

7.根据权利要求1所述的系统,其中所述可选通信功能模块包括视频缓存模块。

8.根据权利要求1所述的系统,其中所述可选通信功能模块包括视频转码模块。

9.根据权利要求1所述的系统,其中所述可选通信功能模块包括分析模块。

10.根据权利要求1所述的系统,其中所述可选通信功能模块包括防火墙模块。

11.根据权利要求1所述的系统,其中所述可选通信功能模块包括费用计算器。

12.根据权利要求1所述的系统,其中所述可选通信功能模块包括策略强制执行模块。

13.根据权利要求1所述的系统,其中用于处理不同类型的信息分组的规则可由运营商配置。

14.根据权利要求1所述的系统,其中所述信息分组包含选自由文本、音频、视频、多媒体、用户信息、移动电视、协议信息和互联网组成的组的信息类型。

15.根据权利要求1所述的系统,其中运营商可将额外的功能模块添加至所述可选通信功能模块。

16.一种在通信网络中处理分组的方法,其包括:在移动通信网络中,在至驻留在移动通信网络的工作流服务器中的输入处从移动通信装置接收信息分组,所述工作流服务器由多个移动用户访问;

对所接收的信息分组执行深度分组检查以确定匹配所接收的信息分组的分组类型;

访问包括用于处理不同类型的信息分组的规则的工作流模块;

在执行所述深度分组检查之后,基于匹配所述信息分组的分组类型和使用所述工作流模块的所述规则确定需要哪个可选通信功能模块来处理所接收的信息分组;以及使用所需要的可选通信功能模块中的至少一个通信功能模块来处理所接收的信息分组。

17.根据权利要求16所述的方法,其中所述处理所接收的分组还包括使用所述工作流模块来协调所述可选通信功能模块。

18.根据权利要求17所述的方法,其中所有信息流过所述工作流模块到达所述可选通信功能模块,且没有信息直接在所述可选通信功能模块之间流动。

19.一种用于无线通信的移动通信网络工作流服务器,其包括:从第一网络实体接收所述移动通信网络中的信息分组的移动通信网络工作流服务器接口,所述移动通信网络工作流服务器接口由多个移动用户访问;以及驻留在处理所接收的分组的所述移动通信网络工作流服务器中的计算平台,所述计算平台包括:工作流模块;

深度分组检查模块,其用于检查所接收的分组并向所述工作流模块提供有关所述分组的信息;

可选通信功能模块,所述工作流模块使用所述可选通信功能模块中的所选通信功能模块来协调所接收的分组的处理,所述可选通信功能模块的选择基于由所述深度分组检查模块提供的、有关分组的信息,所述移动通信网络工作流服务器接口还将经过处理的信息分组发送至第二网络实体。

20.一种无线通信系统,包括:

用于在第一网络实体和第二网络实体之间建立通信的移动通信网络工作流服务器,所述移动通信网络工作流服务器由多个移动用户访问,所述工作流服务器包括:从第一网络实体接收信息分组的网络接口;

工作流模块,其包括用于处理不同类型的信息分组的规则;

深度分组检查模块,其用于检查所接收的分组并向所述工作流模块提供有关所述分组的信息;以及可选通信功能模块,其包括:

内容过滤模块;

HTTP代理模块;

视频缓存模块;

视频转码模块;

分析模块;

防火墙模块;

收费模块;

策略强制执行模块;

流量导向模块;以及

等待时间服务模块;

所述工作流模块基于由所述深度分组检查模块提供的、有关分组的信息来选择用于处理对应分组的至少一个可选通信功能模块,所述工作流模块使用所述可选通信功能模块中的对应的所选通信功能模块来协调所接收的分组的处理,且所述网络接口还将经过处理的信息分组发送至第二网络实体,从而在所述第一网络实体和第二网络实体之间建立通信。

说明书 :

将多个功能聚集到单一平台

[0001] 相关申请的交叉引用
[0002] 本申请要求于2010年10月22日提交且题为“COMMUNICATIONS METHOD AND SYSTEM AGGREGATING MULTIPLE FUNCTIONS INTO A SINGLE PLATFORM”的美国临时申请号61/405,734的权益,该申请以其全部内容通过引用的方式并入本文。
[0003] 发明背景
[0004] 本发明总的来说涉及将多个功能聚集到单一平台的计算机系统和计算机执行的方法。
[0005] 移动通信网络通常包括作为独立实体运行的许多单独的元件。这些元件可包括防火墙、认证网关、服务网关、收费和计费网关、超文本传输协议(HTTP)代理、视频缓存等等。这些元件通常由不同制造商提供,并需要元件特定的技能来操作和维护。目前的通信系统具有有限的速度,部分原因是由于不同的元件的数量和每个元件执行的处理。因此,对于移动运营商(如 Wireless和 Wireless)来说,创建新服务是很困难且昂贵
的,这是由于所涉及的元件的数量和对于每个元件所需的各种专门知识。
发明概要
[0006] 下面呈现了本创新的简化概要,以便提供对本发明的一些方面的基本了解。该概要不是本发明的广泛综述。它的目的是既不标识本发明的关键或重要元件,也不描绘本发明的范围。其唯一的目的是以简化形式呈现本发明的一些概念,作为以后呈现的更详细描述的铺垫。
[0007] 本发明提供了一种包括计算机程序产品的方法和装置,用于将多个功能聚集到单一平台中。
[0008] 总的来说,一方面,本发明的特征在于一种通信系统,其包括至少一个处理器;存储计算机可执行指令的至少一个计算机可读存储介质,当所述指令被至少一个处理器执行时,实施这样一种组件,该组件包括:工作流模块,其包括用于处理不同类型的信息分组的工作流指令集;以及可选通信功能模块,所述工作流模块使用可选通信功能模块中的所选通信功能模块来协调所接收的分组的处理。
[0009] 另一方面,本发明的特征在于一种方法,其包括:在无线网络中,在至无线通信装置的输入处接收信息分组,以及采用执行存储在计算机可读存储介质中的计算机可执行指令的处理器来执行这样的功能,该功能包括:访问工作流模块,所述工作流模块包括用于处理不同类型的信息分组的规则;使用工作流模块的规则确定需要哪个可选通信功能模块来处理所接收的信息分组;以及使用可选通信功能模块中的至少一个通信功能模块来处理所接收的分组。
[0010] 另一方面,本发明的特征在于一种用于无线通信的装置,其包括:从第一网络实体接收信息分组的网络接口;和处理所接收的分组的计算平台,所述计算平台包括工作流模块,以及可选通信功能模块,工作流模块使用可选通信功能模块中的所选通信功能模块来协调所接收的分组的处理,网络接口还将经过处理的信息分组发送至第二网络实体。
[0011] 另一方面,本发明的特征在于一种无线通信装置,其用于在第一网络实体和第二网络实体之间建立通信,所述装置包括从第一网络实体接收信息分组的网络接口;至少一个处理器;以及存储计算机可执行指令的至少一个计算机可读存储介质,当所述指令被至少一个处理器执行时,实施这样一种组件,该组件包括:工作流模块,其包括用于处理不同类型的信息分组的规则;深度分组检查模块,其用于检查测所接收的分组并向工作流模块提供与该分组相关的信息;以及可选通信功能模块,其包括内容过滤模块、HTTP代理模块、视频缓存模块、视频转码模块、分析模块、防火墙模块、收费模块、策略强制执行模块、流量导向模块和等待时间服务模块,工作流模块使用可选通信功能模块中的所选通信功能模块来协调所接收的分组的处理,且网络接口还将经过处理的信息分组发送至第二网络实体,从而在第一网络实体和第二网络实体之间建立通信。
[0012] 附图简述
[0013] 通过参考详细描述并结合下面的图,将更充分地理解本发明,其中:
[0014] 图1是示例性工作流服务器的框图。
[0015] 图2是示例性移动分析服务工作流。
[0016] 图3是示例性家长控制服务工作流。
[0017] 图4是示例性HTTP服务工作流。
[0018] 图5是流程图。
[0019] 详细描述
[0020] 现在参照附图来描述本主题创新,其中在所有附图中相同参考标号用于指代相同元件。在下面的描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,可能显而易见的是,可在没有这些具体细节的情况下实践本发明。在其它实例中,为了便于描述本发明,以框图形式示出公知的结构和装置。
[0021] 如在本申请中所使用的术语“组件”、“系统”、“平台”等可指计算机相关的实体或与具有一个或多个特定功能的可操作机器相关的实体。本文所公开的实体可以是硬件、硬件和软件的组合、软件,或执行中的软件。例如,组件可以是,但不限于,在处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例而言,在服务器上运行的应用和服务器都可以是组件。一个或多个组件可驻留在进程和/或执行的线程中,且组件可位于一台计算机上和/或分布在两台或更多台计算机之间。此外,这些组件可从在其上存储有各种数据结构的各种计算机可读介质中执行。组件可诸如根据具有一个或多个数据分组(例如,来自经由信号与本地系统、分布式系统中的另一个组件和/或跨诸如互联网的网络与其它系统交互的一个组件的数据)的信号经由本地和/或远程进程来通信。
[0022] 另外,术语“或”意指包括性的“或”而不是排他性的“或”。也就是说,除非另有规定,或从上下文中清楚,否则“X采用A或B”意指任何自然包括性排列。也就是说,如果X采用A;X采用B;或X采用A和B两者,则在任何前述情况下都满足“X采用A或B”。此外,本主题说明书和附图中所用的冠词“一”和“一个”一般应解释为指“一个或多个”,除非另有规定或从上下文清楚其指向单数形式。
[0023] 如图1所示,工作流服务器10包括网络处理器12和操作系统14。操作系统14包括工作流引擎16。工作流服务器10包括网络防火墙模块18、服务网关(SGW)模块20、分组数据网络网关(PGW)模块22、HTTP网络代理模块24、视频代理模块26和服务模块28。
[0024] SGW模块20路由并转发用户数据分组并作为用于LTE和其它3GPP技术之间的移动性的锚点。
[0025] PGW模块22通过作为用户设备的流量的出口和入口点而提供从用户设备至外部分组数据网络的连接性。PGW模块22执行策略强制执行、对于每个用户的分组过滤、收费支持、法定拦截和分组筛选。
[0026] HTTP网络代理模块24作为用于来自从其它服务器寻求资源的客户端的请求的中介。HTTP网络代理模块24提供网络缓存、网络转换和网络转码。
[0027] 视频代理模块26提供视频缓存、视频转换和视频转码。此外,该模块还提供涉及内容操作(如广告插入、将内容拼接在一起或重写自适应比特率清单文件)的相关服务。
[0028] 服务模块28提供很多服务,诸如,例如,半径/直径、策略个人事项协议(PEP)、分组转发、内容过滤、会话管理、域名系统(DNS)服务、访问控制、分组检查、会话期限、IP传输I/O、收费功能、策略强制执行功能、流量导向功能、等待时间服务功能等等。
[0029] 收费功能是指通过应用有区别的计费方案以基于每个流来选择性地对移动用户和/或内容合作方收费的能力,其中该有区别的计费方案基于如通过对流中的一个或多个分组的表面或深度分组检查或通过分析流试探法(例如,签名分析)所确定的流特征(如分组的容量、流为活动的时间量以及与流相关联的应用)或与服务于流相关联的其它参数(如一天中的时间)。
[0030] 策略强制执行功能是指以每个流为基础将与用户相关的QoS和门控策略应用于用户流的能力,其中通过表面或深度分组检查或流模式的试探法分析(例如,签名分析)来确定流。
[0031] 等待时间服务是指测量任何所选用户或用户组与无线核心中的网关功能之间的网络往返等待时间的能力。
[0032] 工作流引擎16提供至各种模块的流量导向。
[0033] 工作流服务器10使无线运营商能够以完全自动化的方式在逻辑上开发服务流,以跨所有的网络元件和功能(如防火墙、网关、收费网关、内容过滤引擎、深度分组检查引擎)来创建流,从而编排新服务。本文所用的术语“服务编排”是指执行工作流引擎16,其导向网络流量并执行实例化服务工作流所需的一组功能及其顺序,以及工作流服务器10用于实例化新的运营商定义的服务的多个功能。诸如深度分组检查、收费、内容检查和服务路由的功能用作工作流引擎16中编排新服务的工具和功能。
[0034] 工作流服务器10中的服务编排能力可重塑在运营商网络中的服务创建。工作流服务器10缩短新服务从服务概念到服务交付的上市时间,从而使新服务快速产生收益。工作流服务器10使得能够在服务质量和交付方面改进。由于减少了网络整合费用,所以工作流服务器10可使资本支出成本降低。由于对专业服务的需求降到最低,所以工作流服务器10提供了运营费用节省。工作流服务器10使得能够实现在第4到7层上的服务创建和开发灵活性以及设备参数和编程简化。
[0035] 在无线运营商环境中开发和建立新服务是一个复杂且费时的过程。由于设备漫游能力,移动用户能够经过多个分组数据网络(PDN),这会使推出新服务甚至更加复杂。不同于互联网统一资源定位器(URL)路由概念(其选择承载应用的服务器),对于使用户到达拥有数据会话的“网络元件”(GGSN)而不是应用服务器,接入点名称(APN)流量路由原则更适合。家庭GGSN不像应用服务器那样运行,但更像是使会话到达服务链中的下一个网络实体的分组转发引擎。它终止GTP通道,然后使用第3层传输路由规则来使会话到达下一个网络元件。下一个元件可以是用来交付、管理服务或对服务计费的多个元件之一。服务编排包括由每个特定网络元件进行的第3层路由和规则插入。
[0036] 为了跨所有相应的网络元件编排服务,运营商必须制定全面的互联网协议(IP)路由方案,以进行下一个路由跳跃来到达将参与服务的调用、负载均衡、收费、内容过滤、防火墙和计费的每个元件。做到这一点的工程过程从专业服务和上市时间二者的角度来看是非常劳力密集、复杂的网络集成且代价高昂的辛苦工作。
[0037] 在一般情况下,接入点名称(APN)标识移动数据用户希望与之通信的互联网协议(IP)分组数据网络(PDN)。除了标识PDN之外,APN还可以被用于定义服务类型,例如,至无线应用协议(WAP)服务器的连接还是至由PDN提供的多媒体消息收发服务(MMS)的连接。因为针对运营商网络选择和路由而不是服务应用选择,并考虑了上市时间的复杂性,有目的地设计了APN概念,所以运营商正在寻找如何使APN用于提供4G、3G和LTE服务的替代方法。对于他们的3G和4G基础设施,大部分运营商正在考虑使用单一APN来在移动装置上运行所有服务。通用APN的引入可通过最小化APN置备的装置方面来降低引入新服务的复杂性。当运营商实施单一APN时,推出新服务的漫长置备过程的问题不再存在。然而,如果不采取措施来简化网络流量流,那么服务的网络流量导向过程会承担更大程度的复杂性。工作流服务器10简化了通过单一自动化环境的网络流量服务流。
[0038] 在描述工作流服务器10中的服务编排之前,我们将考虑在其它行业中的服务编排的相当简化的类比。让我们考虑 包裹从其起始点到其最终交付目的地的交付过程。必定会发生的第一件事是 邮件必定由其发起人注明地址以到达其最终目的地。这个步骤类似于移动电话在具有使用例如互联网浏览服务的意图的情况下启动APN。在邮件的情况下,收件人、目的地址、城市、州和邮编都在使邮件在按时交付的情况下到达其最终目的地里面发挥了重要作用。在这个时间点没有做确定这是什么类型的包裹(例如,信件或箱子)的任何事情。
[0039] 在无线电话的情况下,APN相当于注明分组从移动装置的交付地址。在运营商使用通用APN的情况下,不知道被请求的特定服务(例如,互联网浏览或视频)。回到邮寄的例子,中的自动化系统会查看大小、重量、使用条形码的交付目的地,并排序来自箱子的信件。该系统还会查看时间交付承诺间隔并适当排序包裹。然后,使用条形码标签,通过简单扫描用于目的地信息的条形码来将包裹自动派送到在每个接触点处的目的地址。系统是基于自动化规则的系统,其沿着交付路径几乎不需要人工干预。该系统通过自动沿着各个接触点分析包裹来识别交付优先级、目的地和派送物流,以确保到最终目的地的按时交付和服务质量。需要这些功能来自动化运营商的网络,以便于使用通用APN来提供服务。然而,在无线电话的例子中,网络元件不能够提供相同的体验,因为在每次引入新服务时每个网络元件必须具有手动置备到其中的一套规则,而 系统适应在每个接触点处的包裹大小、目的地、交付时间的变化。
[0040] 在工作流服务器10中,工作流可使无线运营商能够创建服务流,并包括经由L4-L7(第4至7层)DPI分析器的服务流的标识、具有相应规则的一组功能以及被应用于服务流的序列。创建工作流以在OSI堆栈中的多个层(第4-7层)上检查分组,并定义一组规则来检测任何APN服务流。服务流可由无线用户、运营商或内容合作方来生成,以路由、收费、计费、过滤或采取任何其它行动(如直径或LDAP查询)来创建新服务或修改现有的服务。使用数据分析器来构造工作流规则。这些分析器是给予到DPI基元的名称,其指示堆栈的层和用于创建分析器的分组的类型。例如,在GTP层捕获移动的MSISDN的数据分析器可以被命名为GTP.MSISDN。工作流过程的最终结果是服务编排或简单地说,使用自动化过程在运营商网络中实例化新服务。
[0041] 工作流过程包括流划分、流调度和流输送的功能。
[0042] 流划分是指对服务流进行深度分组检查并针对可操作的触发器进行筛选以捕获和分析数据的能力。例子包括:
[0043] HTTP到URL disney.com
[0044] 对于GTP.MSISDN=mickey的DNS
[0045] DstPort=8的TCP
[0046] source_user=mickey且destination_user=Minnie的SKYPE
[0047] 流调度是指对流划分的一个或多个返回结果采取具体行动(如将分组路由至内部内容过滤器或调用对用户信息的LDAP查询)的能力。
[0048] 分析→登陆到命名为“mobile_latency”的分析服务
[0049] 防火墙→执行命名为“gatekeeper”的防火墙服务
[0050] 内容过滤器→执行命名为“nanny”的家长控制
[0051] 收费过滤器→执行命名为“prepaid”的收费控制
[0052] Calea(通信协助执法法案)过滤器→执行命名为“Calea”的法定拦截[0053] 视频→执行命名为“madhatter”的视频服务
[0054] MSISDN→执行LDAP查询
[0055] 流输送是指控制分组的顺序和流调度的能力,包括通过在每个分支上发生的流决策来进行分支相关的动态决策的能力。
[0056] 让我们构建一个示例工作流来使用下面的流划分规则和流调度在通用APN上编排服务。规则的构造如下:
[0057] 流划分→流调度
[0058] 第一个流划分规则用于检查来自移动装置的服务流,以寻找从移动装置到特定URL的DNS查询。从流调度角度来讲,这两个规则均将分组引导至内容过滤服务。规则的构造如下:
[0059] DNS(下面列出的两个规则集)
[0060] DNS.URL=*.com→*.com内容过滤器
[0061] DNS.URL=*.att→att.net内容过滤器
[0062] 下一个流划分规则用于在GTP级检查来自移动的服务流,以寻找来自特定移动IMSI的ICMP流量和ICMP的特定流量类型。然后,规则采用结果,并且流将其朝向被称为“Mobile Latency Analytics Service”(移动等待时间分析服务)的服务调度。规则的构造如下:
[0063] ICMP(下面列出的一个规则集)
[0064] GTP.IMEI=goofy且ICMP.TYPE=ECHO→移动等待时间分析服务
[0065] 最后一个流划分规则用于在HTTP级检查来自移动的服务流,以确定URL类型和用于特定装置的GTP。HTTP规则朝向.com代理服务引导流量,而GTP规则朝向标有“External Transcoders”(外部转码器)的服务引导流量。规则的构造如下:
[0066] HTTP(下面列出的两个规则集)
[0067] Http.URL=*.com→*.com代理
[0068] GTP.DEVICE=U350→外部转码服务
[0069] 使用上述流划分规则集和流调度服务,让我们使用流输送过程来编排几个服务。无线运营商可以使用工作流创建的服务的例子是相对简单但是非常有价值的服务,用来分析具有一系列国际移动设备识别码(IMEI)的给定的移动装置组的等待时间。这种类型的服务的例子是测量在一定地理区域(例如,PGW服务区域)内的所有Apple 装置的等待时间。
[0070] GTP.IMEI=goofy且IP.TYPE=PROTO且ICMP.TYPE=ECHO→移动等待时间分析服务
[0071] 新服务跨通用APN被实例化并被编排成命名为“Mobile Latency Analytics”(移动等待时间分析)的等待时间移动测量服务。图2示出示例性移动分析服务工作流。
[0072] 在另一个例子中,工作流被设计为从通用APN分析流量流,并将流量导向至工作流服务器10内容过滤器进行分析。在这个例子中,工作流过程到达TCP层来编排服务。该服务例子描绘了URL的分析,以及向内容过滤器的调度,以便筛选明确的内容。这个工作流过程创建了简单的家长控制服务。使用通用APN来使新服务实例化,以编排命名为“家长控制”的服务。在这种情况下,有四个流划分规则,每个规则都具有不同的流调度。然后,流输送过程进行对编排命名为“家长控制”的服务必要的动态分支决策。下面列出这些规则。
[0073] GTP.TID→GTP分组上下文服务
[0074] IP.Proto=UDP→IP分组上下文服务
[0075] UDP.Port=DNSPort 53→DNS分组上下文服务
[0076] DNS.URL→DNS分组上下文服务
[0077] 图3示出示例性家长控制服务工作流。
[0078] 在另一个例子中,示出分析来自通用APN的流量流以确定是否将流量路由至HTTP代理的工作流。在这个例子中,工作流过程到达HTTP层,以编排服务。该服务的例子描绘了分析URL以调用工作流服务器10上的.com代理服务。在这种情况下,单一流划分规则和流调度用于创建服务。下面列出规则。
[0079] HTTP.URL=*.com→.com代理服务
[0080] 图4示出示例性HTTP代理服务工作流。
[0081] 上面的例子表明工作流过程是一个非常强大的工具,其可重塑运营商设计、置备和实施其网络中的服务的方式。虽然简化了给出的例子,但是工作流引擎16使得能够创建多个流划分规则,并便于流输送过程以在运营商网络中创建不同复杂程度的服务。
[0082] 为了方便工作流引擎16,使用以下约定。
[0083] 服务工作流划分过程应该允许在软件堆栈的第4-7层上进行分组检查。
[0084] 应该创建第4层至第7层的数据分析器的命名约定,以便对DPI规则建立规则,并分析数据基元。数据分析器的例子是GTP.IMEI,其作为用以在GTP层上捕获国际移动设备识别码(电话类型)的分析器的名称。
[0085] 应该针对第4层-第7层的数据基元创建一套数据分析器。这套分析器在每层上应该足够宽来允许健壮服务流创建。
[0086] 工作流过程应使得能够创建将在每层建立的多个数据分析器。
[0087] 服务工作流划分过程应该使用户能够使用来自软件堆栈的一层或多层的数据分析器来输入多个规则。
[0088] 工作流引擎16是实现用于多个网络功能(如防火墙、内容过滤、收费、数据库查询和其它服务功能)的服务逻辑和规则的单一地方。工作流的所有功能都从相同用户界面屏幕置备,并且对于工作流引擎16有单一地方来验证作为工作流的一部分而置备的规则。
[0089] 服务工作流划分过程应该使用户能够使用IF、AND、OR和ELSE语法输入规则来创建规则。
[0090] 服务工作流过程应该使得能够使使用IF、OR、AND语法的规则链接在一起来创建“超级规则”语句。
[0091] 服务工作流调度过程应该使得规则结果能够被调度且结果被收集在唯一的用户定义的服务上下文中。
[0092] 服务工作流输送过程应该允许逻辑排序多个服务上下文(服务分支结果)以创建服务流。
[0093] 服务工作流输送过程应该使得能够逻辑排序多个服务上下文(服务分支结果)以创建服务。
[0094] 测试移动系统(TEMS)是Ascom网络监控和实时诊断套件。以下是在工作流服务器10中的服务流置备的TEMS考虑事项的清单。
[0095] TEMS应该允许运营商从单一GUI界面使用直观和用户友好的方式置备新服务工作流。
[0096] 服务工作流置备运营商应该对协议级详情不知晓。在工作流置备流程中,TEMS应为用户呈现每层(4至7)上的各种可过滤属性。在选择过滤标准来定义工作流规则时,运营商应该对任何协议级详情都不知晓。
[0097] 上下文敏感的服务工作流置备。与针对相同服务工作流在不同协议层上置备的其它流划分属性相比,TEMS应以上下文敏感的方式呈现流划分属性。
[0098] 上面的意思是指如果划分流属性的阶段‘n+1’取决于阶段′n′,则在服务工作流置备过程中,仅对用户显示一组有效的属性来供其选择。
[0099] 所有服务工作流的表格显示。TEMS应以表格形式显示为每个节点(或每个网络)置备的所有服务工作流。
[0100] 修改现有服务工作流。TEMS应允许运营商通过让他们添加、修改或删除现有服务工作流中的任何规则来修改现有工作流。应通知运营商现有服务工作流修改的影响。
[0101] 排序服务工作流内的规则。TEMS应允许运营商定义或改变不同划分规则将要被执行或调度的顺序。
[0102] 定义服务工作流中的不同规则之间的关系(AND/OR)。TEMS应允许运营商定义任何规则集之间的与(AND)操作或或(OR)操作的关系(不需要输入任何内容)。
[0103] 定义服务工作流中的不同规则之间的关系(AND/OR)。TEMS应允许运营商定义任何规则集之间的与操作或者或操作的关系(不需要输入任何内容)。
[0104] 组合不同的服务工作流。TEMS应该允许将一个或多个现有服务工作流组合以合并形成新的服务工作流。
[0105] 服务工作流的历史和审计。TEMS应该给运营商呈现服务工作流创建、修改或删除的完整审计踪迹。
[0106] 服务工作流在其创建或修改过程中的验证。在网络元件上创建或修改服务工作流之前,验证规则在节点上运行,以确保正在置备的新服务工作流不与任何现有服务工作流冲突。在验证失败的情况下,应对用户呈现适当的错误消息。应在工作流上下文中或之外检查新创建的规则,以确保没有冲突。
[0107] 收集对服务工作流的分析。TEMS应该允许运营商来启用/禁用对任何服务工作流的分析。应预先定义对任何服务工作流收集的分析的属性。运营商应能够添加、删除或修改任何服务工作流的默认分析模板。
[0108] 与服务工作流的客户关联。TEMS应该允许运营商关联服务工作流与最终客户。
[0109] 运营商应能够定义和配置用来处理不同过载条件的工作流。例如,在过载的情况下,如果特定卡上的CPU使用率大于高阈值标记,则对于特定类型的流量(HTTO、视频),工作流服务器10起到通过的作用。通过配置工作流,在工作流服务器10上启用或禁用该通过。运营商可以配置以下规则:
[0110] a.Application.Type=Http OR Application.Type=视频流[流划分规则][0111] i.Ssm.cpu-usage>cpu-high-threshold(CPU高阈值)(例如95%)[过载条件′状态′]
[0112] ii.删除NPU规则以将分组转发至CSM卡。这可启用任何http视频请求的通过[行动#1]
[0113] iii.非服务影响与服务影响[行动#2]。
[0114] iv.没有收费(通过情况)与对用户仍然维持收费信息[行动#3]。
[0115] b.Application.Type=Http OR Application.Type=视频流[流划分规则][0116] i.Ssm.cpu-usage<={cpu-high-threshold-cpu-high-threshold的5%(例如95%)}[过载条件′状态′]
[0117] ii.添加NPU规则,以将分组转发至CSM卡,即没有通过[行动#1]。
[0118] iii.非服务影响与服务影响[行动#2]。
[0119] iv.没有收费与对用户仍然维持收费信息[行动#3]。
[0120] 运营商应该能够配置针对负载分配使用情况的行动,在所述情况中,特定卡上的CPU阈值大于低阈值标记,但是小于高阈值标记。我们希望通知运营商(警告报警),使他们可以计划/预算工作流服务器10上的CSM能力。运营商可以配置以下规则:
[0121] a.Application.Type=Http OR Application.Type=视频流[流划分规则][0122] i.Ssm.cpu-usage<cpu-high-threshold(例如95%)且Ssm.cpu-usage>cpu-low-threshold(CPU低阈值)(例如75%)[过载条件′状态′]
[0123] ii.对TEMS发出警告报警并对运营商指示全CSM容量接近条件[行动#1]。
[0124] iii.如果这种情况在所配置的时间间隔(如1天)内发生多次,则可以将该报警条件提升为主要报警条件[行动#2]。
[0125] b.Application.Type=HTTP OR Application.Type=视频流[流划分规则][0126] i.Ssm.cpu-usage<=<={cpu-low-threshold-cpu-low-threshold的5%(例如75%)}[过载条件′状态′]
[0127] ii.清除报警条件[行动#1]。
[0128] 用于置备服务工作流的用户界面流可以是三到四个步骤的过程(所有步骤均从相同的图形用户界面(GUI)屏幕启动),其中每个步骤从最终用户收集不同信息。下文描述了这些阶段和在每个阶段收集的信息的类型。
[0129] 1.(步骤-1)流划分
[0130] a.对用户呈现具有指示选择第4层到第7层流划分的选项下拉菜单项的屏幕。根据所选层,显示特定于该层的属性,并带有允许用户选择他们想要用于流划分的属性的复选框。例如:-HTTP.URL、GTP.TID、IP.Proto、UDP.Port、DNS.URL等。
[0131] 流划分规则例子
[0132] HTTP.URL=http://www.nytimes.com
[0133] HTTP.Referer开始于http://www.nytimes.com
[0134] DNS.QueryName结束于nytimes.com
[0135] HTTP.URL包含nytimes
[0136] IP.TotLen<1000
[0137] IP.TotLen>1000
[0138] DNS.QueryName非结束于nytimes.com
[0139] 2.(步骤-2)流调度
[0140] a.下一个屏幕对最终用户呈现了流划分的结果应被调度到的一组预定义的′服务′。服务列表可包括但不限于类似手机等待时间的分析、类似′gatekeeper′的防火墙、内容过滤器、CALEA过滤器、视频或MSISDN服务。
[0141] 收费事务的例子可以配置如下:
[0142] HTTP.URL结束于.mp3且HTTP.State=RESP_OK(指示下载了MP3文件)。
[0143] 上述的动作可被定义为:
[0144] 丢弃分组
[0145] 将带有值的分组发送至服务(应该能够包括类似收费值的事物,即HTTP.TotLen)[0146] 重新定向至URL(应该能够从流划分动态建立URL。
[0147] 3.(步骤-3)流输送
[0148] a.下一个屏幕对用户呈现他/她想要被调度的流被应用的顺序。
[0149] 4.(步骤-4)工作流分析
[0150] a.基于服务工作流的类型,该屏幕可对最终用户呈现针对特定工作流可收集的预先定义的一组分析参数,或该屏幕可呈现用户可以选择以作为服务工作流分析的一部分而收集的参数的动态列表。
[0151] 如图5所示,工作流过程100包括在至无线通信装置的输入处接收(102)信息分组。
[0152] 工作流过程100采用(104)执行存储在计算机可读存储介质中的计算机可执行指令的处理器来执行各种功能(106)。
[0153] 功能(106)包括访问(108)包括用于处理不同类型的信息分组的规则的工作流模块、使用工作流模块的规则来确定(110)需要哪个可选通信功能模块来处理所接收的信息分组,以及使用可选通信功能模块中的至少一个来处理(112)所接收的分组。
[0154] 工作流过程100可包括在确定需要哪个可选通信功能模块来处理所接收的信息分组之前对所接收的信息分组执行(114)深度分组检查。
[0155] 处理(112)所接收的分组可包括使用工作流模块来协调可选通信功能模块。所有信息流过工作流模块到达可选通信功能模块,且没有信息直接在可选通信功能模块之间流动。
[0156] 本发明的实施方案可以以数字电子电路或者以计算机硬件、固件、软件或以它们的组合实现。本发明的实施方案可以实现为计算机程序产品,即,在信息载体中有形地体现的计算机程序,例如在机器可读存储设备中或在传播的信号中,用于由数据处理装置执行或控制数据处理装置(例如,可编程处理器、计算机或多个计算机)的操作。计算机程序可以任何形式的编程语言(包括编译或解释语言)来编写,并且它可以任何形式被部署,包括作为独立的程序或者作为模块、组件、子例程或适用于计算环境的其它单元。可以将计算机程序部署为在一台计算机上或在一个站点上或跨多个站点分布并通过通信网络互连的多台计算机上执行。
[0157] 本发明的实施方案的方法步骤可由一个或多个可编程处理器执行,所述处理器执行计算机程序,以通过操作输入数据和生成输出来执行本发明的功能。方法步骤也可由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,且本发明的装置可以被实现为所述专用逻辑电路。
[0158] 适合执行计算机程序的处理器包括(通过举例的方式)通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器会从只读存储器或随机存取存储器或它们两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置(例如,磁盘、磁光盘,或光盘),或可操作地耦合至所述一个或多个大容量存储装置以接收来自其中的数据或将数据传送至其中,或两种情况都发生。适合体现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,包括(通过举例的方式)半导体存储器装置,例如EPROM、EEPROM和闪存装置;磁盘,例如内置硬盘或可移动磁盘;磁光盘;和CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入其中。
[0159] 前述描述并不代表详尽列出与本公开一致的所有可能的实现方式或所描述的实现方式的所有可能的变化。已经描述了多个实现方式。然而,应理解在不脱离这里描述的系统、装置、方法和技术的精神和范围的情况下,可以做出各种修改。例如,可以使用上面所示流的不同形式,其中重新排序、添加或删除了步骤。因此,其它实现方式也在权利要求书的范围内。