用于提供无线数据服务的平台与方法 【相关申请的交叉引用】
本申请主张标题为“无线网络中用于保证分组交换数据服务的方法”(“Method for Sponsored Packet Switched Data Services on a WirelessNetwork”)已于2001年5月22日提交的美国临时申请No.60/292,564和标题为“无线网络中用于基于交易的分组交换数据服务的方法”(“Method for Transaction Based Packet Switched Data Services on aWireless Network”)已于2001年5月25日提交的美国临时申请No.60/293,756的权利。
背景技术
本发明涉及在数据通信系统中提供数据服务。
第一代无线电话网络,比如AMPS(模拟移动电话服务)网络,使用模拟无线电传送架构以提供移动通信,其使得移动电话的用户能够连接到诸如基于语音服务之类的模拟服务的提供商。这些系统没有直接支持通过无线网络在移动电话与其它计算机或设备之间的数据通信。
现在大部分无线系统为数字的,并且基于许多不同无线电传送技术与系统架构,包括GSM(全球移动通信系统)、TDMA(时分多址)与CDMA(码分多址)。这些通信系统通常指的是第二代(2G)系统。一般而言,这些2G系统利用数字电路交换连接以提供移动服务,其中移动终端(例如移动电话)与特定的目标连接。在此无线网络上面提供的最普通的服务是基于语音的服务,比如陆地到移动(land-to-mobile)、移动到陆地(mobile-to-land)与移动到移动(mobile-to-mobile)地通话。在移动终端与陆地移动网络之间的无线电传送期间,用于通话的语音信号被数字地编码。在陆地移动网络中,编码的语音业务基于单个电路被处理和交换,例如将业务交换到相同无线网络上的另一个移动终端、将业务交换到公共交换电话网络(PSTN)或将业务交换到另一个公共陆地移动网络(PLMN)。
在这些第二代无线网络中,对数据服务的支持有些限制。这些系统中一种类型的数据服务是短消息服务(SMS),其使得长度最多达到256字节的短数据报文能够单向传送到移动电话。一些2G系统,比如基于GSM的系统,还允许SMS消息的双向传送。然而,SMS设计为独立消息的传送,其能够承受经过网络的合理的传递延迟。
2G系统中,另一种类型的数据服务是电路交换数据(CSD)服务,其中移动终端(例如移动电话)建立数据电路到特定的目标。当连接移动终端时,专门使用用于携带编码的语音业务的类型的一个或多个通道。这些通道的全部容量分配到用户,并且通常基于“通话”的持续时间对用户收费。例如,移动终端可通过网关连接到数据网络,比如互联网,并且建立和保留移动终端与网关之间的固定比率的数据通道。这样,CSD对于分组交换的数据网络上面的通信不是特别有效,其中业务实质上是“脉冲串式的”(“bursty”)(即高可变的数据比率),由于数据通道的许多容量没有使用。例如,在互联网上从移动终端到服务器的“网页浏览”通常导致数据通道的脉冲串式使用。
为了使第二代网络能够更优化地提供运载(bearer)服务以用于移动终端与固定网络之间的分组交换的数据通信,以发展了升级的技术,比如通用分组无线电系统(GPRS)。GPRS增强了GSM系统以更加有效地处理分组交换的数据。GPRS更加有效,部分地由于没有保留全部通道用于特定的移动终端。在基于GPRS的系统中,一些节点加入到标准的移动网络架构中。分组控制单元(PCU)用于将分组数据交换的接口提供到网络的无线电接口。还加入一个或多个服务GPRS支持节点(SGSN)与网关GPRS支持节点(GGSN)以提供从PCU到外部互联网络的数据路径。可加入其它GPRS相关的节点,然而这些通常是在第二代网络上实现GPRS最低的需求。GPRS使网络使用电路交换的方法仍然能够处理基于语音的服务。然而,用于数据传送的GPRS的重要的目标在于:不同于CSD,GPRS特定地设计为分组交换的数据的输送。由于这个特征,因此即使在相同的服务无线电单元内的多个用户也能够共享网络的无线电与固定载体资源。这显著地增加了资源效率并改善网络利用。GPRS能够理论地提供给用户达到115kB/秒的应用数据比率,尽管这依靠无线电链接条件,并且需要同时通过无线电接口与移动终端对此模式特定的兼容性。当数据运载服务基于通过网络来自移动终端的分组交换的数据时,在运载服务上的多路复用是很可能的,以致在移动终端与内置和外置于无线网络的不同点之间能够携带多个应用数据流。例如,用户能够同时进行网页浏览、检查电子邮件、进行电视电话会议以及下载文件。
【发明内容】
当前的GPRS系统对于移动用户使用数据服务进行提供、控制、计量和计费仅提供了有限的选项。例如,SGSN和GGSN能够创建呼叫详细记录(CDR),其涉及数据连接到移动终端的整个持续时间。基于这些CDR的计费通常基于连接持续时间、传递到和来自移动终端的数据量、或者固定计费。
通常,本发明提供了一种机制,用于处理用户和一个或多个数据服务之间的基于分组的数据通信会话。该机制可适用于创建、提供和使用数据服务来监控和控制移动终端和内容提供商之间基于分组的数据会话,其中移动终端在无线电话网络中,内容服务商可以通过例如互联网的数据网络由那些移动终端进行访问。对于任何特定的移动终端,可以在时间上相互重叠的多个服务交互可以在一段时间内进行处理,在这段时间期间,移动终端保持与系统的数据通信。
数据通信的处理可以对记帐和计费监控、控制服务访问和将访问重定向到服务起到重要作用。
用于记帐和计费的会话监控为多种计费模型提供了支持,包括对根据此通信会话的本质确定的一方或者多方进行计费、以及根据使用时间、数据传输量或者进行的交易数目或类型进行记帐。
服务访问的控制可以基于各种特定于服务的标准,例如基于特定于用户的信息。控制访问的一个例子是预付数据服务,其中控制访问以不允许用户超过他们的预付容限。
将访问重定向到服务包括将对“虚拟服务”尝试的访问引导到真实服务。重定向的类型类似于为呼叫到免费(“800”)电话号码的引导,其是由电话网络引导到实际的电话号码。
数据通信会话的处理对将关于会话的信息传递到外部系统、以及将从用于确定如何进一步处理该会话的外部系统接收指令起到很大作用。例如,在重定向“虚拟服务”的情况下,可以要求外部系统提供关于用于尝试连接到虚拟服务的指令,并且外部系统然后发送识别出用户要引导到的真实服务的响应。
数据通信会话的处理对监控使用状态机的会话起到很大作用,其中状态机为该对话定义了模式。模式中的预配置或者配置的状态转换与根据状态机监控的会话中的时间相关。这些状态转换的检测确定了如何处理该会话。
总体上,在一个方面,本发明的方法用于在数据网络中处理流经一节点的数据通信,包括:在该节点提供一服务,包括为该服务配置一检测点。通过该节点处理流经该节点的数据通信。该处理包括监控通信以识别出对配置的检测点的匹配。在识别出对配置的检测点的匹配时,通知检测点用于该服务的服务逻辑。
发明的方面可包括一个或者多个下列特征:
处理的数据通信包括来自无线网络,如第二代(2G)无线电话网络或第三代(3G)无线电话网络的通信。
处理的数据通信包括来自支持GPRS的无线网络的通信。
处理的数据通信包括来自无线局域网(WLAN)的通信。
提供服务包括为配置检测点接收规范。
接收服务包括从节点外的服务器为该服务接收配置信息,例如为提供在节点外执行的应用程序。
数据通信包括分组数据通信。例如,分组数据通信包括互联网协议(IP)数据通信。
配置检测点包括在一个或多个协议层指定特性,诸如网络层、传输层或应用层。
在传输层指定特性包括指定与传输控制协议(TCP)相关的特性。
在应用层指定特性包括指定超文本传输协议(HTTP)、RADIUS应用程序协议或者域名服务(DNS)协议的特性。
在一个或多个协议层指定特性包括在多个协议层指定特性。
在一个或多个协议层指定特性包括在一个或多个协议层指定识别数据分组的字段的固定表达式。
该方法进一步包括,在识别出对检测点的匹配时,根据服务逻辑处理通信。
在识别出对检测点的匹配时,暂停与匹配的检测点相关的通信。
进一步处理通信包括:从服务逻辑接收用于事件检测点的规范;配置事件检测点;以及检测通信,以识别出对配置的事件检测点的匹配。
进一步处理通信包括将通信重定向。
进一步处理通信包括将通信通过一通信管道传递到与该服务相关的目的地。
进一步处理通信包括过滤该通信。
过滤包括根据在分组中识别出的地址来阻塞数据分组。
进一步处理通信包括对通信应用策略。
对通信应用策略包括应用数据速率策略。
提供服务包括:识别出服务交互通信的计量特性;以及其中处理流经节点的通信进一步包括:在每个与服务关联的数据通信中检测服务交互,并为检测的服务交互来记录计量信息。
为检测的服务交互来记录计量信息包括记录在服务交互中传递的数据量。
记录传递的数据量包括记录分组数目。
记录传递的数据量包括记录与字节数目成比例的数目。
记录传递的数据量包括记录通过该节点在一个方向流经的数据量。
为检测的服务交互来记录计量信息包括记录在服务交互期间数据传递速率。
通常的,在另一个方面,本发明是在数据网络中处理流经一节点的数据通信的方法。该方法包括:在流经该节点的数据通信中处理通信会话,包括为通信会话监控数据分组以识别出对一配置的检测点的匹配。在通信会话之一中识别出对配置的检测点的匹配时,将一请求传到识别出检测点的外部服务逻辑。响应于传到的请求,根据从服务逻辑接收的信息,进一步处理通信会话。
通常的,在另一个方面,本发明是用于在数据网络中监控服务的方法,该服务通过流经一节点的数据通信来提供。该方法包括提供服务。该提供包括为服务交互识别出通信的特性。服务交互在数据通信中检测,其中每个服务交互与服务的特定用户相关。然后提供与检测的服务交互相关的信息。
通常的,在再一个方面,本发明是一种处理无线电话网络中的移动站和固定网络中的服务提供商之间的分组数据通信的方法。该方法包括:在连接到无线网络和固定网络的一节点上提供一服务,包括为该服务配置服务逻辑。通过该节点来处理在无线电话网络和固定网络之间传递的分组数据通信,包括检测该通信以识别出与所提供的服务相关的通信会话。在识别出的通信会话中对检测点进行匹配,并且响应于检测点的匹配,执行服务逻辑。
执行服务逻辑包括与外部服务平台进行通信,并且处理分组数据通信包括根据从外部服务平台接收的信息来处理通信。
通常的,在另一个方面,本发明是一种通信节点。该节点包括服务管理器,用于接受用于服务的供给信息。该节点还包括连接到服务管理器的数据库,包括用于存储接受的供给信息的存储器。该节点还包括用于通过设备传递分组数据通信并用于检测数据通信中的可配置事件的电路。服务执行引擎被编程以用于与服务管理器通信并接收对于传递数据的电路的检测事件的通知。
数据库进一步包括用于详细记录的存储器,并且服务执行引擎进一步被编程以用于响应于接收的通知而生成详细记录。
本发明提供了一个或者多个下列优点。
使用该架构可以实现详细的会计和记帐模式。例如,在移动电话与无线网络进行数据通信的期间,一些数据通信可能向用户收费,一些向“免费”数据服务的服务提供商收费,以及一些向数据服务的资助者收费,比如用户的雇主。由于现有详细记录提供的相对粗糙的粒度,这些详细的帐单对于现在的无线数据网络的运营商来说是不可用的。
将事件和触发检测功能从潜在的复杂服务逻辑中分离出来使得能够修改服务逻辑而不需要修改硬件架构。这种方法提供了在基于智能网络(IN)的电话网络中可见的很多优势,其中交换系统从位于服务控制点(SCP)中的控制逻辑中分离出来。在基于IN的电话网络中,通过在呼叫流中使能适当的检测点,可以实现新的服务而不改变交换系统。使用数据服务的这种机制,通过根据有限状态机监控数据分组通信,并在那些模式中使能检测点来支持外部服务逻辑,可以达到类似的分离。
该方法不需要限制在处理无线电话网络和外部固定网络之间的数据通信。精细的分组数据控制和监控适用于其它环境。例如,该方法适用于在有线网络之间或者在无线局域网之间处理分组通信。
本发明的其它特征和优势将从随后的说明和权利要求中变得明显。
【附图说明】
图1是用于将数据服务提供到移动站的许多用户的无线通信系统的示意图;
图2是在GSM/GPRS环境中用于图1的无线通信系统的系统架构示意图;
图3是移动交换服务平台(MSSP)的逻辑架构示意图;
图4是MSSP的服务控制层的架构示意图;
图5是示出了TCP流中检测点使用的示意图;
图6是MSSP的物理架构的示意图;
图7是MSSP的I/O模块与服务模块的框图;
图8是用于资助的数据服务的流程框图;以及
图9是用于基于数据服务的处理的流程框图。
【具体实施方式】
参照图1,在无线通信系统100中,诸如无线蜂窝电话之类的许多移动站(MS)132与诸如Web服务器之类的许多内容提供商150之间的数据通信由移动数据交换中心(MDSC)110处理。移动终端132由移动用户130操作,并且通过无线链接通信到基地收发信台(BTS)122。BTS 122通过移动网络120连结到MDSC 110,该移动网络120提供固定的网络通信基础结构,用于MDSC 110与多个MS 132之间进行通信。MDSC 110还通过数据网络连结内容提供商150,这里通过公共互联网140。
无线通信系统100还支持多个MS 132与电话网络之间的语音通信,公共交换的电话网络(PSTN/SS7)190由信令系统7(SS7)基础结构控制。移动交换中心(MSC)180在移动网络120与PSTN/SS7 190之间连结。
移动数据交换中心(MDSC)110提供多个MS 132与多个内容提供商150之间的移动数据通信会话的增强处理。一种类型的处理涉及监控用于列帐单目的的会话。
这种监控的一个方面涉及出现的跟踪与处理个人会话,并且MS132通过互联网140进行数据通信。例如,MS 132可通过移动网络120建立一段时间的数据通信。MS 132被分配网络协议(IP)地址以用在通过移动网络120的数据通信时期的持续时间,并且MS 132能够通过网络140以实质上和连结到固定计算机相同的方式与其它设备进行通信。因此,MS 132能够与不同的内容提供商150建立许多通信会话,并且这些会话能够在时间上重叠。内容提供商的例子包括内容服务器,比如现在的Web服务器,其提供使用HTTP(超文本传输协议)的内容;以及邮件服务器,其提供使用POP(邮局协议)的邮件消息。
MDSC 110实现了一种服务模式,用于多个MS 132与多个内容提供商150之间的数据交互。抽象地说,“服务”描述了对用户130内容或功能的传递,通常是以提供价值给用户的方式。特定的服务限定与用户的交互,每次交互具有开始、中间与结束并通常关联特定的内容提供商150。
运营商135在MDSC 110供给许多各种类型的服务。该系统包括物理的无线网络的运营商135和许多移动虚拟网络运营商(MVNO)。例如,不同的服务可关联不同的内容提供商150。一种服务通常确定要被收集的收费信息,以产生关联由用户130使用的服务的详细记录。服务的确定还可提供限制信息的等级,该限制信息可应用于用户或用户群体以禁止特定的服务或关联给定服务的特征。MDSC 110可选地收集性能与用途数据,其可提供到运营商135。MDSC 110创建服务细节记录(SDR)以提供服务交互的部分或完全的概述,其还提供到运营商130。通过运营商130的SDR的一种使用用于付费。通常地,将创建单独的SDR以概述与特定用户的服务交互,尽管能够可选地产生部分记录用于资源集中服务交互,以确保在系统完全故障的情况下至少部分付费记录有效。当用于服务交互的费用在诸如广告商、用户与资助商之类的几方当中分帐时,还能够产生多个SDR。
当在MDSC 110上运营商130供给的服务部分的确定时,初始检测点指定与服务的用户130交互的开始。根据每个对特定类型的分组负责的状态机,在各种协议层处,MDSC 110监控和控制许多不同类型的数据分组。在每个状态机内,存在确定的策略位置,其中重要的信息变得有效或能够进行关键的控制决定。这些位置称为检测点。服务确定将特定的检测点识别为用于服务的初始检测点。当MDSC 110在流经的数据中识别出此初始检测点时,就执行用于关联服务的服务逻辑。服务逻辑通常确定用户在交互持续时间内的服务交互。在服务交互期间,服务逻辑在各种状态机中注册另外的检测点以获得实时访问分组数据,并且使其能够影响由状态机进行的控制决策。
MDSC 110检查经过MS 132与互联网140之间全部的数据分组。在用于应用的检测点的出现之间,数据通过MDSC 110而没有服务逻辑的干扰。因此,大多数分组被检测并且经过MDSC 110而没有或几乎没有由检查导致的另外的延迟。一些分组,比如关联通信会话的开始或结束的分组,可需要另外的处理,并且可被截听和延迟,直到由MDSC或连结MDSC的外部服务平台中实施的服务逻辑启动。
MDSC 110处理在各层协议堆栈处的数据通信。例如,MDSC 110处理IP、UDP与TCP或其它协议,以及在诸如HTTP之类的更高层协议内的会话。而且,MDSC 110将用户130所察觉的“子”会话处理为“会话”。例如,当用户在Web服务器上访问HTML(超文本标记语言)文件时,这可导致数据从许多不同的内容提供商发送到用户。例如,单独的“子”会话在MS 132与广告商160之间建立以传递来自广告商的广告内容,并且用户寻找的内容可来自内容提供商。一般而言,MDSC 110在标准的ISO协议堆栈的层2(数据链路层)到层7(应用程序层)的任何层处理会话数据。
基于监控通过MDSC 110的通信数据,MDSC 110将各种类型的详细记录传递到无线系统的运营商130,通常以“实时”的方式(即采用低延迟,与周期性批量处理相反)。根据进行的服务,不同的付费策略被运营商应用到通信会话中。策略中的不同包括付费的基础,比如会话的持续时间、会话期间数据交换量或会话期间与内容提供商实施的交易数量或类型。策略中的另一个不同包括会话的付款人,其能够包括一个或多个用户132、内容提供商150或用户与其进行通信的广告商160。付款人还能够包括会话的资助商170,其可没有直接涉及与用户的通信。资助商的一个例子是用户的雇主。
除了监控用于付费目的的通信数据以外,MDSC 110监控用于控制目的的通信。通信会话的控制的例子是访问控制,涉及判定用户是否被授权建立特定的会话。例如,访问控制可基于已预定服务的用户,其中用户试图连接到该服务。访问控制还可基于支付模型,其中如果用户在他们的帐户中具有足够的余额,则用户能够访问服务。其它类型的访问控制可基于提供凭证(例如密码)或同意为访问的服务付费的用户。MDSC可与运营商130进行通信以判定用户是否被授权建立会话。
另一种形式的通信会话的控制涉及重定向。用户可尝试与服务建立通信会话,并且基于监控那种尝试,MDSC 110将通信重定向到特定的内容提供商150。此重定向可涉及重定向请求以从一个内容提供商150到另一个内容提供商150建立通信会话。重定向还可涉及重定向请求以从“虚拟”服务到实际的内容提供商150进行通信。例如,服务可由诸如“花”之类的名字识别,并且MDSC 110重定向对提供在线订花的内容提供商的请求。重定向的本质是可配置的。该重定向可依靠用户试图建立会话的特定的特性,例如,依靠用户是否预定“花束”的服务。该重定向还能够依靠由用户使用的移动站(MS)132的特性,例如,依靠MS的地理位置或MS设备的性能。
重定向的这些形式在基于电话系统的智能网络(IN)中共享电话呼叫的重定向的许多特性。例如,如果用户拨打免费的电话号码,比如1-800-FLOWERS(1-800-356-9377),则该通话被电话交换机检测到。外部平台,特别是服务控制点(SCP),接收检测的免费号码的通知并且判定直接通话的实际的电话号码。在上述数据服务方法中,MSSP可要求外部平台判定指向虚拟数据服务的位置。
参照图2,在无线系统100的一个版本中,图1中示出的系统的功能在基于GSM的系统中实现,其中根据通用分组无线电服务(GPRS)方法,提供数据通信。在此版本中,另外的网络元件,移动服务分组处理器(MSSP)260插入到在移动网络120与互联网140之间的通信路径中实质上标准的GSM/GPRS架构。一般而言,MSSP260实现了上面概述的会话监控与控制功能。
在此版本的系统中,网关GPRS支持节点(GGSN)250提供了用于MS 132与诸如互联网140之类的外部网络之间通信的网关。在移动网络120内,基站控制器(BSC)222提供了与一个或多个MS 132进行无线电通信的固定末端,其中基站控制器还和一个或多个BTS 122一起连接以形成基站系统(BSS)220。当MS 132行进时,即使在与系统进行语音或数据通信期间,MS也可与许多不同的BSS 222进行通信,并且该系统根据标准技术管理此移动性以支持与MS的通信。
来自MS 132的语音与数据通信在BSC 222的分组控制单元(PCU,没有示出)处被分开。语音通信传给移动交换中心(MSC)180,并且数据通信传给服务GPRS支持节点(SGSN)230。MSC 180使用SS7网络292上面的控制通信在PSTN 290上面设立语音电路。这些语音电路的控制能够包括支持预付费语音服务,其中MSC 180访问在SS7网络上面的服务器以判定用户是否有足够的余额以进行通话。
MSC 180与许多提供语音服务的服务器进行通信。这些服务器包括预付费服务器212、原籍位置寄存器(HLR)214、访问位置寄存器(VLR)216与位置服务器218。
数据通信在BSC 222与SGSN 230之间通过。一般而言,SGSN 230支持多个BSS 220,并且每个BSS 220连接到单个SGSN 230。每个SGSN 230通过GPRS主干网络(GBN)240与GGSN 250进行通信,该GBN 240通常为连结SGSN与GGSN节点的专用数据网络。
当用户130需要从MS 132建立数据通信时,用户初始化由MS 132发送的一个请求以将MS 132本身连接到数据网络。此请求被BSS 220接收,并且然后传递到SGSN 230。SGSN 230接收通常为国际移动用户身份(IMSI)的MS识别并验证用户。MS请求SGSN创建PDP(分组数据协议)关联(Context),其识别互联网协议(IP)地址或指示需要动态分配的地址。SGSN将此请求传递到GGSN,其本质上创建数据通信链接,并且起网关的作用以在MS与外部网络之间通信。MS能够请求连接到特定的网络。在此例子中,我们假定MS请求连接到公共互联网。在PDP关联建立以后,MS实质上具有MS与GGSN之间的虚拟链接,其将网关功能提供到外部网络。
在PDP关联的建立期间,GGSN 250与诸如RADIUS之类的验证服务器275进行通信。MSSP 260检测和监控与验证服务器的交换。MSSP 260使用监控信息来判定MS 132的身份与由MS使用的IP地址之间的映射,用于通过互联网进行通信。在可选实施例中,比如其中使用通过MSSP进行通信的没有执行验证的这些实施例,MSSP 260从外部,比如通过SS7网络292得到的映射信息。例如,MSSP 260能够通过SS7网络进行通信以得到来自由MSC 180使用的服务器212-218的信息。
SGSN 230与GGSN 250全部创建涉及MS 130 PDP关联的呼叫细节记录(CDR),其传递到收费网关272,该收费网关272执行CDR的一些处理与匹配,并且将付费信息转发到付费节点270。一般而言,SGSN 230收集关于MS 132与GGSN 250之间虚拟数据链接的无线电部分的信息。例如,SGSN收集连接的整个持续时间与发送到MS或来自MS的数据量。一般而言,GGSN 250收集关于通信的外部网络部分的信息,包括连接到的网络(例如互联网)、PDP关联的持续时间以及来回发送到外部网络的数据量。
在MS 132将虚拟数据链接建立到GGSN 250以后,MS 132能够初始化连接到互联网140的通信。例如,MS 260可首先试图连接到域名服务器(DNS),其为互联网140上将基于文本的主机名翻译成数字地址的计算机。MSSP 260检测初始的翻译请求以及响应。
MSSP 260监控每个MS 132与互联网140上的主机之间的全部通信。MSSP 260根据每个分组的源地址识别每个分组的来源MS。在监控此通信的过程期间,MSSP 260产生许多详细的记录,其转发到付费节点270。通过已将用户的IP地址翻译为他们的IMSI,这些详细的记录直接地识别用户的IMSI、MSDN或这两者而不必需要进一步的翻译。
当MSSP 260在MS 132与互联网上的目标之间的通信会话中检测确定点时,MSSP 260产生转发到付费节点270的详细的记录。这些点,或“检测点”能够包括:例如,到特定内容提供商的初始或终端IP流。而且,如上所述,MSSP 260还控制IP流与关联协议状态机。MSSP 260与管理与服务平台280进行通信,其为连结到MSSP的单独的计算机。这些服务平台实现决定如何处理由MSSP检测的IP流中的事件的服务逻辑。一个或多个这些平台能够共同位于MSSP,并且作为图1中介绍的系统形成MDSC 110进行操作。MSSP 260还能够与外部服务平台282进行通信,例如,通过数据网络。外部服务平台282可由内容提供商150或虚拟运营商进行操作。
MSSP 260用于判定何时产生详细记录,以及何时阻止来自服务平台280的IP流未决指令。此配置能够静态地供给。此外,此配置能够动态地创建或更新,例如,在处理通信会话的过程中,或响应外部事件中,例如,用户进入MSSP的地理区域。MSSP通过链接到位置服务器能够可选地得到此信息。
参照图3,MSSP 260在架构上划分成三个不同层。硬件层310提供移动网络110与互联网140之间分组传递的高速处理。在硬件层310中识别确定的分组作为进一步处理的需求,并且这些需求由服务传输层(STL)320处理并可能由服务控制层(SCL)330处理。当硬件层310没有处理分组本身时,其缓冲该分组,并且将关于分组的信息(但通常不是分组本身)发送到STL 320,并且在进一步处理分组以前等待来自STL的回答。
硬件层310实现与诸如移动网络110与互联网140之类的外部网络的物理数据通信接口,以及与STL 320的接口。硬件层还基于硬件层检测的IP流特性而不需要来自架构中更高层的软件辅助,提供设定触发或事件通知的能力。硬件层310基于单个用户单个应用程序设定为支持服务质量限制。硬件层实现深的分组处理,不但能够进行触发或事件处理,而且能够实时分析传送中的数据。在硬件层内的虚拟输出排队系统允许可用作通话量成形或控制IP流的细微程度的控制。硬件层还提供SS7连接性。
STL 320负责管理硬件资源,用于在MSSP的I/O端口之间对分组通话量进行路由,以及操控各种硬件寄存器,该硬件寄存器控制数据流和设定触发以及检测事件。STL 320处理直接从硬件层接收的信息,并且通知硬件层如何处理分组,或者将关于分组的信息传递到第三层,服务控制层(SCL)330。
STL 320负责涉及用户会话与请求和通知检测点的源于SCL 330的处理请求。STL 320还实现IP路由引擎(engine),其用于将分组路由到IP网络上。STL 320检测会话事件并通知SCL。SCL控制硬件层310,并且因此决定如何处理分组流。STL负责管理硬件寄存器,其用于装备(arm)触发与事件检测点和寄存事件通知。
SCL 330提供接口到管理与服务平台280,并且实现关联供给服务的服务逻辑,以及与STL 320接口以控制通过MSSP 260的数据的硬件层处理。SCL实现实现每个API所必需的接口逻辑与状态机。应用程序向API注册以设定检测点、监控连接状态和路由服务请求。SCL层将API请求确认并翻译成能够使能检测点与事件监控所必需的STL请求。
STL 320管理用户会话(即PDP关联)与整个用户会话内不同的通信IP谈话,比如TCP会话。STL 320还管理和检查用户数据分组与实现一些类型的流与检测点。STL 320支持地址翻译、分组过滤、管道流与监督流。STL还计算属于任何给定流的发送和接收的分组与字节。STL在流上实现检测点。检测点能够基于个体流类型,并且能够基于使用协议层2到7限定的格式。基于计数值阈值,STL还提供设定检测点的性能,例如每传送10kB数据设定一检测点。
STL 320提供限制用于给定会话组集的IP地址/端口数目的能力。该能力能够被SCL使用以建立分组过滤服务与基于防火墙的网络。
STL 320还提供将分组会议标准发送到预配置管道的能力。该标准基于IP标头与传输层标头特性。这些流能够被SCL使用以建立VPN能力。
SCL 330对各种外部MSSP接口,比如连接到平台280的接口,提供支持。SCL 330还实现用于实现每个API的接口逻辑与状态机。例如,SCL还能够通过SS7网络进行通信以得到关于用户的信息。在服务平台280上实现的应用程序向API注册以设定检测点、监控连接状态以及路由服务请求。SCL 330确认来自应用程序的API请求并将API请求翻译成STL请求,必要时STL请求传递到STL 320以使能请求与通知检测点以及事件监控。SCL 330还负责存储MSSP配置数据库与IP详细记录(IPDR)数据库。SCL 330还提供接口到外部网络管理系统用于供给与错误管理。为了产生转发到付费节点用于付费或服务请求统计的IPDR,SCL收集来自STL 320的数据、在服务平台280上实现的外部应用程序以及基于每个服务请求的API状态机。
参照图4,SCL 330包括涉及服务的管理与监控的模块以及涉及供给服务逻辑的实现的模块。
SCL负责存储配置数据库432和详细记录数据库434。SCL还与外部网络管理系统接口用于供给与错误管理。为了产生用于付费或服务请求统计的详细记录(DR),SCL收集来自STL的数据、外部应用程序以及基于每个服务请求的API状态机。
服务管理器420负责管理涉及服务的各种功能,并且接口到中心以执行管理功能。包括供给服务器、网络管理服务器、付费服务器与报表服务器的OAM&P(操作管理维护与供给)服务器410在操作系统与服务管理器420之间提供接口。OAM&P服务器410使服务管理器与外部客户机隔离,并且提供必需优先访问管理资源的框架。
服务管理器420的一个功能是响应来自供给应用程序的请求以创建和供给特定的服务。服务管理器420创建服务并在配置数据库432中存储涉及服务的信息。服务管理器420与SCL中心450进行通信以使能服务,以致此服务的用户会话被MSSP处理。
作为供给过程的部分,运营商还能够识别一个或多个关联服务的用户组。用户组可用于通过特权或通过费率计划对用户分组。用户组由共享用于付费或网络访问的共同特性的一个或多个用户组成。一个用户是采用一个或多个活动流与分组交换的网络进行会话的单个用户。下列的细目将更加详细地检查这些概念中的每个。在MSSP中用户不需单独地被提供服务。
服务管理器420与SCL中心450进行通信,其通常控制服务交互的监控与控制的实时方面。SCL中心450是SCL软件架构的中央运行时间组件。SCL中心提供基于事件的实现环境,其中未决消息的排队是服务。SCL中心使用脚本作为相对于消息处理的序列发生器。脚本用作连接到已编译代码的呼叫链表,达到需要的性能特征,并且相对于指定系统逻辑维持了更大程度的灵活性。由SCL中心处理的一些消息关联通过MSSP在数据流中已检测的检测点。在处理消息中,SCL中心450执行关联该消息的脚本。当进行对远程服务器的请求并且需要响应或应答时,通常暂停脚本执行。当远程服务器提供最初阻止脚本的回答或应答时,暂停的脚本将随后重新开始执行。并且暂停的其它消息由脚本处理。
SCL中心450使用STL服务器460作为连接到STL 320的接口,并且使用API服务器440作为在外置于MSSP的服务平台上实现的连接到应用的接口。
SCL中心450计算系统性能的统计,并且支持详细记录的产生。在执行环境中脚本执行的控制下,这些统计被更新。SCL中心450周期性地将这些计算的统计数据输出到服务管理器420,其使用这些统计数据计算派生的统计数据。服务管理器420基于其从SCL中心450接收的信息计算系统性能的统计数据。
为特定供给服务执行服务逻辑的脚本可控制许多分离的数据流。流是用于描述通过MSSP的分组数据移动的抽象概念。在关联的情况下,一个用户可具有多个活动流作为单个会话。流本质上是动态的,并且当用户与提供各种服务的网络资源进行交互时通常被建立与卸下。在单个服务的关联的情况下,单个流属于单个用户。由于用户属于单个运营商的用户,因此一个流还可被认为所谓间接地属于特定的运营商。注意一个用户可具有属于不同服务同时运行的多个流。例如,在无线设备上,用户可具有多个打开的窗口,浏览每个执行特定服务的不同网站。
SCL中心450收集单个流计量,其还可合计为单个会话计量。当流终止时,流详细记录能够有条件地写入。为了提供部分或全部流概述而创建的详细记录被称为流详细记录(FDR)。创建多个详细记录用于单个流成为可能。每个详细记录包含序列号以允许记录能够在给定用户会话或特定流的关联内相对于记录被写入的顺序进行排序。
SCL中心450提供发送到服务管理器420的一组实时统计数据,用于分配到用于接收实时监控数据的外部处理。由中心发送的实时统计数据基于MSSP的配置周期性地发送。实时统计数据可基于单个运营商、用户组或服务。
SCL中心450将运营商的实时记录周期性地发送到服务管理器420,以基于单个运营商提供实时性能量度。当消息在执行环境内处理时,实时记录通常在SCL中心内实时计算。可配置的周期性定时器开始实时数据输出处理,其封装实时数据元,并且将该数据元发送到服务管理器用于分配与进一步计算。服务实时记录与用户组实时记录类似地从SCL中心周期性发送,以基于单个服务提供实时性能量度。SCL 330支持许多详细记录格式,使得数据能够在许多层被捕获。这些包括应用程序详细记录、服务详细记录、用户详细记录与流详细记录。服务管理器每隔一定时间,比如5分钟、小时或全天计算统计数据,并且将这些计算的统计数据写入到报表数据库。
在执行服务逻辑的脚本的控制下,SCL 330能够基于单个流注册和报告事件。当服务应用程序注册通知检测点时,开始进行处理。注册处理涉及设立一组实时匹配流的模型。通常地,该模型与在层2-7处使用的协议的控制消息有关。例如,在打开过程中的TCP会话将交换两个主机之间的许多协议消息。TCP协议控制消息的交换使得流状态机能够预排(walk through)连接确定状态。检测点的概念开始于在状态机内识别一组转变作为状态转变能够被检测并报告到外部应用程序的地点。检测点还能够限定一组条件,以致仅符合条件的确定流将报告到外部应用。实际上,检测点是在状态机内的特定点以及一组条件变量的结合。事件报告是当流经过一个或多个检测点并且流符合条件参数时通知外部应用程序的过程。报告的实际事件是执行的协议的功能。事件报告的概念通常对面向连接的协议最有用,这是由于这些类型的协议执行清晰的状态机。关于类似UDP的无连接协议的事件报告通常不是很有用,这是由于状态机没有什么可报告的。在许多情况下,状态机在UDP上高级别协议层中实现。在此类中协议的例子是WAP 1.0。WAP堆栈限定执行状态机的UDP上的应用程序层协议。检测点能够在包含在UDP分组内的应用程序协议上被限定。
当用于流的数据通信暂停时,请求检测点还能够可以是在此应用程序能够控制会话的点。应用程序通常在策略点处注册请求检测点,其中该策略点很可能涉及连接设置与协议处理。当流传递内的分组符合关联检测点的全部条件参数时,流处理暂停,并且事件消息发送到设定检测点的应用程序。该应用程序可采取行动以改变流的默认处理。该改变可涉及将连接请求重定向到不同的目标地址或彻底终止连接。想法是:应用程序具有决定连接请求通过网络如何路由的能力,并且应用程序具有为了量度或安全而配置流或会话参数的能力。应用程序必须及时地响应请求事件。没有做到这一点可潜在导致不必要的延迟和大量的排队。如果应用程序在(可配置的)超时期间未能响应请求事件,则暂停的流重新启动,并且执行用于服务的默认操作。请求检测点允许应用程序可选地中断流以实现决定如何提供服务的服务逻辑。请求检测点对面向连接的协议最有用,请求检测点还可应用于非面向连接的协议,比如DNS、DHCP和RADIUS。在这些协议中,请求检测点可用于截听请求和为请求提供服务,并且使响应和在MSSP外部运行的应用程序同步。请求检测点在响应RADIUS验证请求方面可能有用,由于在返回验证响应以前,验证请求应该通知应用程序,并且允许应用程序将命令发送到MSSP以配置用于流的过滤器。此次序能够保证从开始合适的过滤器就能够应用于流。注意两种类型的检测点(请求与通知)通常以问候的方式同时地使用以使应用程序能够控制和监控交互。
在TCP开启下请求检测点的例子如下,其中应用程序在连接消息中提供目标地址,要求接收事件报告,直到会话成功地建立或会话由于其不能建立而失败。
检测点可注册为请求检测点或通知检测点。当流遇到检测点时,分组转发将暂停并通知SCL中心。来自服务逻辑的响应指导STL如何处理,并且因此传递流程中的分组。如果检测点注册为通知检测点,则在流程中的分组符合当注册通知检测点时的特定条件的情况下,将发送事件。注意检测点条件字符串可包含通配符卡片字符,其可用于指定广泛的匹配值。一旦接收注册请求,STL就安装检测点,并且发送指示注册操作成功的确认。
STL使应用程序指定过滤器以基于会话(用户)或单个流应用于流。此功能能够用于创建有围墙的花园(walled garden)以加强付费导向的模式,其中用户仅允许访问涉及他们预定的站点。此功能还可用于创建网络驻留防火墙。此功能可动态地应用,以致如果用户在那里为每个观看地点签字付费,则应用程序能够更新应用于单个用户的过滤器以在连通时期给予用户访问功能。过滤特性的动态本质还能够根据使用API的介质网关的命令,用于在动态端口上打开通路。因此,运营商能够保证在通信网络上,仅允许授权的流式通话量。这与通常的IP路由器相反,通常的IP路由器能够创建静态访问列表以管理分组过滤。MSSP使得该功能由硬件执行,并且嵌入的软件比静态用户列表或者应用程序服务器软件用户方法更为有效、基于单个流,可配置MSSP访问列表,然而,基于单个用户或会话,更加可能控制访问列表。
MSSP使应用程序能够管理VPN与在系统内的VPN上面路由的流。随着互联网与网络安全攻击在更广的范围内发展,VPN的使用在增加。MSSP能够支持客户初始化的VPN和NAS(网络访问服务器)初始化的VPN。MSSP提供配置每个VPN类型并使应用程序能够控制何时建立VPN并且在建立的VPN上面路由多少业务量的能力。MSSP可选地能够量度这些VPN,其简单地从用户客户机经过MSSP到远程互联网终端点。
为了向应用程序创建控制对话,通过识别检测点等级、检测点以及必须存在的条件,应用程序本身与检测点关联。然后此检测点被称为初始检测点(IDP)。通过不符合给定条件标准的状态机的业务量没有受到影响。当条件符合给定标准时,在状态机与应用程序之间创建控制对话,并且将该事件通知应用程序。
当检测点已装备从而仅提供事件报告时,控制对话仅存在足以发送事件通知的时间,且通过状态机的分组处理继续不受阻碍。当检测点已装备作为触发器时,在事件报告以后,控制对话持续,并且通过状态机的分组处理暂停,直到如果从应用程序收到响应。触发使应用程序影响随后的由状态机进行的控制决定。
当在检测点处暂停分组时,应用程序具有一些不同的响应方式。可简单地使分组处理能够正常地重新开始,而不影响状态机上的任何控制。此类型的响应称为继续。另一种可能的响应称为释放,其引导状态机中断分组的进一步处理。应用程序还可通过使用连接响应,提供用于分组的新目标。最后,应用程序可通过使用控制响应,对状态机的随后分组处理提供特定于状态机的控制。仅当已请求另外的事件报告时,在应用程序已提供触发响应以后,控制对话继续。
应用程序还可使用由IDP创建的控制对话,以请求在状态机的相同执行关联中来自其它检测点的随后的事件报告。通过结合继续和连接触发响应的应用程序,可请求事件检测点,或采用分离的事件报告请求消息,请求事件检测点。事件检测点仅应用于创建控制对话的状态机关联,并使事件报告不通过该状态机的任何其它关联产生。当对应状态机关联移去时,事件检测点自动地移去。
当条件符合在初始检测点处的装备标准时,通常创建控制对话。通常地,一个应用程序将在给定检测点等级(状态机)内仅装备一个初始检测点作为触发器,并且使用作为结果的控制对话以请求应用程序所需的任何另外的事件报告。然而,应用程序可在给定检测点等级内装备多个IDP。每个IDP独立于其它IDP进行操作,并且作为结果的多个控制对话是不同的。在某些情况下,对于应用程序,具有为相同状态机关联建立的多个并行控制对话是可能的,但是不能利用此事实得到好处;控制对话仍必须独立地管理,就好象涉及不同的应用程序。
参照图5,检测点消息流的高等级示例用于假设的应用程序,其用于控制TCP连接到特定的目标地址:
1.SCL中的应用程序装备关联SYN分组检测的检测点,其关联TCP流的创建。检测点标准识别被控制的目标目的地址。
2.移动站(MS)启动TCP连接到目标目的地址,使TCP SYN分组能够发送到目标目的地址。
3.当TCP SYN分组经过MSSP时,STL中的TCP状态机评价处于TCP SYN状态检测点的条件,并且寻找与步骤1处由SCL存储的装备标准相匹配之物。SYN分组的处理暂停,并且初始检测点指示被发送到SCL以启动与SCL的控制对话。
4.SCL评价由检测点指示提供的数据,并且判定TCP连接应该被引导到不同的目的地。该目的地响应具有不同目的地地址的STL,并且当TCP连接终止时请求被通知。
5.STL确认连接请求,将TCP SYN分组转发到新目的地,并且装备TCP连接终端检测点以提供对此连接的事件报告。
6.新目的地与移动站(MS)完成TCP协议以打开连接和交换数据。
7.移动站(MS)启动TCP断开程序,使TCP FIN分组能够发送。当FIN分组经过MSSP时,在STL实体中的TCP状态机评价在TCP FIN检测点处的条件,并且寻找与步骤5处由SCL存储的装备标准相匹配之物。请求的事件报告指示被发送到SCL。由于此检测点装备为事件报告而不是触发器,因此TCP FIN分组的处理继续进行,并且该分组转发到DEST上,以及完成关闭连接的TCP协议。
在此例子中,检测点关联TCP状态机。STL层包括许多状态机,包括:负载监控、会话组、用户会话、RADIUS协议、DHCP协议、DNS协议、TCP协议与IP协议。
指定IP检测点的特征的标准包括:运营商ID、用户组ID、会话ID、源IP地址、源IP端口号、目的地IP地址、目的地IP端口号以及应用程序。
对于TCP状态机,能够注册的检测点包括:FORWARD_SYN、REVERSE_SYN、TCP_ACK、FORWARD_FIN、REVERSE_FIN以及RESET。
SCL能够请求STL为活动会话配置分组过滤器。通常地,此请求将进行作为STL检测用户登录的结果。用户登录保持中断,并且SCL创建会话和为会话配置合适的分组过滤。随着分组过滤请求的成功完成,SCL发送用户登录会议消息以使用户会话能够进行。
MSSP的全部操作的例子如下。
1.在此例子的开始,运营商、用户组、服务与应用程序已配置在MSSP数据库中。例如,它们永久地驻留在MSSP中或已被运营商供给。
2.STL处理开始、初始化以及发送STL Up指示消息到SCL。该消息指示STL实体所需的配置数据以及STL实体所支持的能力。
3.SCL处理开始、初始化以及从MSSP数据库得到配置。SCL响应采用STL版本配置请求的STL Up指示消息。
4.每个STL实体完成与SCL版本协商,并且接收在STL Up指示消息中被请求的配置数据。
5.支持检测点的每个STL实体注册每个检测点,指定IDP并触发属性以及指示哪些标准参数涉及每个。
6.检测点注册消息使SCL能够创建用于检测点源随后管理的关联的目标。
7.在MSSP中内部应用程序服务被启动。
8.SCL API服务器开始接受外部应用程序连接。
随后,在MSSP操作以下步骤:
1.外部应用程序连接到API服务器并启动会话,提供它的识别与安全信息。
2.API服务器验证应用程序、发现一切就绪,以及通过将响应发回应用程序,确认会话开始。
3.应用程序与API服务器协商随后用作会话的协议版本。
4.如果应用程序没有与它提供的服务进行预配置,则应用程序得到从API服务器提供的服务列表。
5.应用程序将Arm IDP请求发给API服务器,识别MSSP服务、检测点以及装备标准。
6.SCL API服务器验证对应用程序的配置特权与服务标准限制的请求,并且然后将Arm IDP请求转发到SCL中心。
7.SCL中心脚本验证请求、关联指示的MSSP服务和应用程序以及增加对应应用程序和服务关联目标的计数,然后将装备IDP请求转发到支持该检测点的每个STL实体。
检测点装备标准还在保存SCL中心关联目标中,以致如果支持此检测点的STL实体被随后加入,则能够产生装备请求。
8.当每个STL实体确认检测点的装备时,对应检测点资源被加入到MSSP服务关联对象。第一DP资源的加入使MSSP服务状态改变成“已部署的”(“Deployed”),并且Arm IDP请求的确认发送到API服务器(在用于确认递增的脚本在对应应用程序与服务关联对象中进行计数以后)。
9.API服务器将Arm IDP确认传递到应用程序。
10.按照下列相同的步骤,应用程序装备它所需的任何另外的初始检测点以实现应用程序提供的服务。
11.应用程序等待IDP事件指示消息。
随后,当移动用户需要使用服务时:
1.用户打开电话(MS),初始化RADIUS请求。
2.MSSP RADIUS代理将RADIUS请求转发到RADIUS服务器。
3.MSSP RADIUS代理接收来自RADIUS服务器的成功的响应,判定移动用户所属的运营商ID与用户组ID,并且将STL用户登录请求发送到SCL中心。
4.SCL中心脚本创建新的会话关联目标,它关联用户组与运营商关联对象、将会话分配到STL实体以及将STL创建会话请求消息发送到此实体。
5.STL实体保留用于会话的资源,并且响应STL创建会话确认消息。
6.当SCL中心接收确认时,用于运营商与用户组的任何量度与分组过滤通过将合适的消息发送到STL实体被配置用于新会话。屏蔽运营商与用户组的默认量度被合并并在到STL实体的一个请求中配置。
7.当完成全部会话配置时,SCL中心采用STL用户登录会议消息响应MSSP RADIUS代理。
8.MSSP RADIUS代理将成功的RADUS响应返回到MS。
随后,当用户具有数据连接时:
1.移动用户启动浏览器连接。
2.请求新连接的协议分组通过由分配到此用户会话的STL实体控制的硬件被路由。
3.STL实体评价在它的装备初始检测点处的标准并发现匹配。
4.STL实体暂停分组的处理,并且将STL IDP事件指示消息发送到SCL。
5.SCL脚本关联暂停的流和包括报告的IDP的服务、增加服务与应用程序触发计数以及将IDP事件指示转发到API服务器。
6.API服务器将IDP事件指示转发到应用程序。
7.应用程序检查IDP事件参数,并且判定对MS连接的不同目的地地址,该MS连接将连接请求消息提供到API服务器。
8.API服务器将连接请求转发到SCL中心。
9.SCL中心脚本增加服务与应用程序触发响应计数,并且采用暂停的分组流将STL连接请求发送到STL实体。
10.STL实体用更新的目的地地址修改分组,并且重新启动分组处理,将STL连接会议返回到SCL中心。
11.SCL中心将连接确认传递到API服务器。
12.API服务器将连接确认传递到应用程序。
13.被应用程序选择的目的地接收来自MS的连接请求并打开与MS的连接。
14.MS与目的地服务器交换数据。
15.周期性地在连接使用期限期间,STL流量度指示消息从STL实体发送到SCL中心以报告用于此会话的量度元件的值。
16.SCL中心积累在周期性流量度指示中的数据,更新流、会话、用户组、运营商、服务以及应用程序关联目标。
17.MS从目标服务器断开。
18.STL实体检测流的结束,并且将对流的最终的STL流量度指示发送到SCL中心。完成此操作不需要通过应用程序或SCL装备的检测点。然而,存在许多情况,其中STL实体不知道流何时终止。在这些情况下,SCL中心必须执行流的超时设定策略,并且强迫流通过STL实体释放。
19.SCL中心如以前那样积累周期性流量度指示中的数据,更新流、会话、用户组、运营商、服务以及应用程序关联对象。
20.SCL中心脚本产生流、用户、服务以及对应终端流的应用程序详细记录。流与服务关联对象之间的联系使配置在服务中的付费计划ID能够放置在流的详细记录中,或者应用程序可提供放置在流的详细记录中的付费计划ID。
21.详细记录存储在MSSP数据库中,直到被运营商的付费子系统收集。
参照图6,MSSP 260是基于连接许多不同模块的背板650的底板。存在四种模块类型:I/O模块610、服务模块620、控制模块630以及组织模块640。系统中可选地存在冗余控制、SS7、I/O以及组织模块。I/O模块610的数目依赖于MSSP使用的无线系统所需的外部连接。服务模块620的数目通常依赖于用户的数目以及MSSP需要支持的服务的数目与复杂性。I/O模块610与服务模块620不必需以一对一的关系进行关联。控制模块630能够可选地外置于底板或可进行混合的配置,其中一些功能在内部控制模块630上提供,并且关联的功能在外部计算机中提供。全部的模块类型能够一对一冗余的进行复制。例如,在MSSP中能够存在两个组织模块。
组织模块640提供用于其它模块的N对N互联,从而任何模块能够将数据或其它信息直接传递到另一个模块。
控制模块630提供用于放置MSSP架构的基于软件的层的平台。在系统的此版本中,控制模块使用基于Sun Microsystem SPARC的处理器。
I/O模块610与服务模块620执行数据分组的基于硬件的处理。用于分组的通常的数据路径在I/O模块610输入到MSSP。I/O模块将分组通过组织模块640发送到服务模块620。服务模块立即处理分组并将分组发送到I/O模块610用于从MSSP发出,或者保持分组用于进一步处理。
如果服务模块620需要与基于软件的SCL进行通信,则SCL将消息通过组织模块640传递到寄存软件层的控制模块630。控制模块630执行TCP/IP通信堆栈。如果在控制模块630上执行的SCL 330需要与服务平台280进行通信,则服务平台280将此通信通过TCP/IP堆栈和通过组织模块640传递到提供与服务平台的接口的I/O模块610。
参照图7,I/O模块610与服务模块620共享公共的硬件架构。组织接口720将通信路径提供到组织模块640,组织模块640用于将数据传递到背板中的其它模块。在系统的此版本中,组织接口使用十亿字节的以太网(GE)与组织模块640进行通信。网络处理器740与组织接口720进行通信,并且接收通过组织模块640传递到组织接口720的分组。在系统的此版本中,网络处理器为Intel IXP 1240的处理器。网络处理器740由网络控制处理器744控制,并且利用共享的主机存储器742,其在网络控制处理器与网络处理器之间共享。
I/O模块610还包括I/O接口710。服务模块620不需要包括此接口,或者如果提供,则通常不使用。I/O接口710为MSSP提供外部数据连接。例如,数据在MSSP与移动网络120之间以及MSSP与此I/O接口上面的互联网140之间经过。分组在I/O接口710与网络处理器740之间直接经过。
分类协处理器730“探听”(“snoop”)在网络I/O接口710与组织接口720以及网络处理器740之间经过的数据分组。通过检测任何协议等级处的这些分组的特征,分类协处理器用于检测分组的特定类型。分类协处理器检测的模型存储在协处理器模型存储器732中,其设定分类控制处理器734。当分类协处理器730检测它寻找的特定类型的分组时,在网络处理器740已收到分组以后,分类协处理器730几乎没有延迟地通知网络处理器740。在系统的此版本中,分类协处理器730由Solidum System制造,并且提供基于规则的表达规范的分组检测。这些规则的表达能够涉及在一个或多个协议层的分组的特征。
在控制模块630上执行的MSSP构架的软件层通过组织模块650、组织接口720以及网络处理器740与分类控制处理器734进行通信,设定被检测的分组模型(即检测点)。
服务模块620还包括加密/解密引擎750,其被服务模块用于支持连接到外部服务的管道。例如,MSSP 250与内容提供商150之间的通信可在安全管道上面进行。加密/解密引擎实现硬件中所需的加密与解密。
从移动网络120到互联网140流动的分组的通常路径通过I/O模块610上的I/O接口710进入MSSP 260。该分组传递到I/O模块上的网络处理器740。可能由分类协处理器730辅助的网络处理器740判定分组是否为与应该由MSSP管理的移动站(MS)132通信会话的一部分。如果是,网络处理器740将分组通过组织接口720与组织模块650直接传递到服务模块620。该分组通过服务模块的组织接口720进入服务模块,并且传递到在服务模块上的网络处理器740。分类协处理器730探听从组织接口720到网络处理器740的分组。如果分组符合分类协处理器用于检测的模型,则分组协处理器通知网络处理器与网络控制处理器744。
如果分组不需要由架构的软件层处理,则网络处理器740将分组从组织接口720发送到I/O模块,用于传送到MSSP外面。I/O模块接收分组,其通过网络处理器740传递到I/O接口710并脱离MSSP。
如果分组与一检测点关联,在该检测点需要架构的软件层的干预,则在服务模块上的网络处理器740不立即发送该分组。相反地,通过组织模块通信到放置软件的控制模块,网络控制处理器744与软件进行通信。网络控制处理器最终接收来自软件层的响应,并且控制网络处理器适当地处理分组。如果在配置的周期内没有响应,则使用默认的处理规则处理分组。
如果分组关联不需要暂停分组但需要软件层的通知的检测点,则网络控制处理器744将消息发送到控制模块,并且网络处理器740将分组传递到适当的I/O模块上而不等待来自控制模块的指令。
MSSP 260的操作使用诸如有限状态模式之类的模式以监控移动站(MS)132与内容提供商150之间的通信会话。MSSP 260用于在这些通话模式中转移处使能检测点,例如在有限状态模式的状态转移处。通话模式发生在各种协议层。例如,在最低层,通话模式关联整个PDP关联。在高层,通话模式关联传输层流,比如TCP流。通话模式的状态涉及流的初始建立和随后终止。在再高协议层,通话模式关联应用程序层交换,例如关联遵从HTTP协议的通信会话。
可在服务平台280、外部服务平台282或内置于MSSP的控制模块上实现的服务逻辑注册特定的检测点,其中服务逻辑请求被通知该检测点,或在该检测点服务逻辑请求接收会话的控制。检测点通常通过特定的状态或通话模式之一中的状态转移、以及此检测点的参数来识别。一个例子是:当TCP会话试图在特定的IP地址上建立时,或者当HTTP会话请求特定的网页时,设定检测点。
在背板中控制模块上执行的MSSP的SCL接收请求以注册检测点,并发出STL的相应请求,其反过来请求服务模块上的网络处理器与分类协处理器的配置。
上述的方法支持各种广泛的服务类型与付费模式。一些示范性的例子描述如下。
第一服务类型类似于免费电话通话模式。在此服务中,用户将不对与内容提供商进行的数据通信付费。内容提供商的例子是鲜花服务,其好象一个互联网主机名为800Flowers.com的网页服务器一样被访问。
在设置过程中,如果用户试图取回来自800Flowers.com的网页,则外部服务平台与MSSP进行通信以请求得到通知。在MMSP中,SCL接收并确认请求,并且请求STL设置硬件触发器与执行检测所必需的事件。
当用户试图从他的MS取回来自800Flowers.com的网页时,检测配置的触发器。STL通知检测的SCL,其通知外部服务平台。外部服务平台决定将请求路由到哪里,比如路由到FTD.com,并且通知SCL,SCL将重定向指令传递到STL,STL请求网络处理器将流的剩余部分重定向到FTD.com而不是800Flowers.com。现在,检测的初始的分组传递到互联网,被修改以反映重定向的地址。
当与FTD.com的会话完成时,SCL产生IPDR,其反映会话期间交换的数据的时间与数量,SCL将它们转发到付费节点。然后,运营商为用户通信的这部分向FTD收费,而不是用户收费。
另一种服务类似于无线预付费语音服务。MSSP用于检测来自特定用户的PDP关联的设置。当MSSP检测到新的PDP关联时,在此情况下驻留在控制模块上的应用程序逻辑与外部计帐服务器进行通信,以判定用户的帐户余额是否为正。在此服务的一个版本中,此计帐服务器使用用作语音预付费的相同协议在SS7上可访问。
在SCL确认用户以后,用户的数据通过MSSP而没有修改。当用户终止会话时,SCL将命令传递到计帐服务器以基于持续时间或会话期间传递的数据的数量,减少用户的余额。
在另一个例子中,在由另一个用户完全资助的基础上,网络100用于提供由用户访问的资助的分组交换数据服务。基于应用程序的服务(内容或用户交互的服务)与网络服务(分组数据传输)在免费免税的基础上提供给用户。在使用此服务以前,用户应当明白:通过连接到该服务,该服务既没有“开始时间”分组数据传输费又没有其它内容或用途服务费。可选的,可以在请求被资助的服务时通知用户。
网络运营商管理和控制资助的分组交换数据服务,其包括:识别分组交换数据服务的任何与全部的唯一网络地址;判定用户如何连接到分组交换数据服务提供商以及连接到哪一个分组交换数据服务提供商的策略决定;以及哪个资助人为会话付费以及以什么为基础进行付费的策略决定。用于选择与付费的策略决定可包括结合运营商与第三方之间的预先协议的规则,第三方是资助人或服务提供商;该规则涉及服务提供商的选择以及资助人支付的方法与基础。其中服务提供商进行连接的策略决定可在请求服务时基于下列因素进行,比如:用户身份、用户的位置、一天中的时间、用户等级、服务提供商等级、网络条件、预先协议规则和/或政府的规定。例如,哪个资助人进行付费以及以什么为基础付费的策略决定能够在请求服务时基于下列类似的因素进行,比如:用户身份、用户的位置、一天中的时间、用户等级、服务提供商等级、网络条件预先协议规则和/或政府的规定。
参照图8,资助的分组交换数据服务程序800包括接收(802)用于分组交换数据服务的请求。此请求通常源于通过空中接口连接到网络100的用户。该请求还可响应服务资助人邀请用户试用资助人的服务的推操作。推操作是一种资助人启动活动的操作。
程序800判定(804)用户是否被授权访问用于分组交换数据服务的网络8。在决定(804)期间收集需要对分组交换数据服务做随后的策略决定的用户等级信息与位置信息。如果用户没有被授权访问网络100,则程序800拒绝(806)用户请求。
如果用户被授权访问用于分组交换数据服务的网络100,则程序800判定(808)请求的服务是否为资助的分组交换数据服务。如果服务请求不是用于资助的分组交换数据服务,则程序800采用其它服务请求程序处理(810)用户请求。
如果服务请求是用于资助的分组交换数据服务,则程序800判定(812)用户是否被授权访问特定请求的资助的分组交换数据服务。如果用户没有被授权访问特定请求的分组交换数据服务,则程序800拒绝(806)用户请求。
如果用户被授权访问特定请求的分组交换数据服务,则程序800选择(814)用于特定请求的交换的数据服务的服务提供商。连同存储的规则库一起进行选择(814),该规则库基于一个或多个因素,实现网络100的运营商的策略决定。所述因素可包括用户身份、用户的位置、一天中的时间、用户等级、服务提供商等级、网络条件、预先协议规则和/或政府的规定。例如,如果网络100的运营商能够正常地提供特定请求的交换的数据服务,则规则库选择优选地挑选该运营商作为服务提供商。
选择的服务提供商(即资助人)的身份可以是类别,即随后选择的服务提供商,或者是用于从随后请求的信息中决定资助人的规则。在运营商提供服务的例子中,运营商将称为资助人。如果第三方被选择作为服务提供商并已同意资助服务,则第三方将称为资助人。程序800可使用另一个规则库,其实现运营商的策略决定用于选择资助人。在此例子中,该选择基于第三方与成为资助人或特定服务的共同资助人的运营商之间的预先协议。
程序800将用户连接(816)到选择的服务提供商,并且启动分组交换数据服务会话。程序800监控和量度(818)分组交换的数据会话,例如,收集会话期间产生的付费与其它信息。产生的付费与其它信息的类型依赖于提供的分组交换数据服务的类型和资助人。在一个例子中,收集的信息的类型将为网络运营商的策略决定。在第三方资助人的例子中,策略决定通常基于运营商与第三方之间的预先协议。例如,如果第三方服务提供商是免费分组交换数据服务的资助人,则收集付费信息用于基于许多标准的网络连接收费。另外,可收集关于数据服务的使用的信息,以致提供商可从例如它的营销与广告帐户中收取此费用。类似地,当服务提供商是运营商时,运营商通常没有现金支出费用,但可需要知道网络用途与数据服务用途,以致能够将此信息交换到例如它的营销与广告帐户中。
在会话期间,程序800可以实时或接近实时的方式转发收费信息。
当完成会话时,程序800将付费与其它信息传送(820)到适当的节点。该节点贷记识别的资助人的帐户,该帐户用于支付与存储用作信息转移的信息单元。并且,任何必需的用途信息通过节点与用户记录一致。
在另一个例子中,基于由服务提供商提供到用户的购买的服务,利用网络100为用户提供基于分组交换数据服务的交易。服务提供商可以是单独的第三方、多个第三方和/或网络100的运营商。购买的服务可以是:基于应用程序的服务,例如服务的内容或用户交互服务;产品,例如软件程序;许可证,例如使用软件程序的权利;随后发送的货物,例如在便利店、自动售货出口或销售位置处由用户收取的货物,或由服务提供商提供到用户的位置的货物。涉及服务传递的分组交换数据传输的网络服务的全部价格被捆绑在一起,即用户不会为完成购买请求所需的任何网络服务分开付费或税。在使用此服务以前,用户应当明白:通过连接到服务,基于费用提供服务,并且服务包括捆绑的网络服务与传输的费用。在一个例子中,在请求基于费用进行交易的服务的时候,可通知用户。
网络100的运营商管理和控制基于分组交换数据服务的交易。此服务包括任何与全部的唯一网络地址,该唯一网络地址识别:判定用户如何连接到分组交换数据服务提供商以及连接到哪一个分组交换数据服务提供商的策略决定;以及以及用户如何付费以及以什么为基础进行付费的策略决定;以及委托到服务提供商的任何策略决定。用于选择与付费的策略决定可包括结合运营商与第三方之间的任何预先协议的规则,比如第三方是服务提供商;该规则涉及服务提供商的选择以及对于用户而言的支付方法与基础。例如,哪个服务提供商进行连接的策略决定可在服务请求的时间基于下列因素进行,比如用户身份、用户的位置、一天中的时间、用户等级、服务提供商等级、网络条件、预先协议规则和/或政府的规定。
参照图9,基于分组交换数据服务的交易程序900包括包括接收(902)来自用户用于分组交换数据服务的请求。此服务请求可源于通过空中接口连接到网络100的用户,或该服务请求可响应服务提供商邀请用户购买它的服务的推操作。推操作是一种资助人启动活动的操作。
程序900判定(904)用户是否被授权访问用于基于交易的分组交换数据服务的网络100。在判定(904)期间收集需要对请求的基于交易的分组交换数据服务做随后的策略决定的用户等级信息与位置信息。如果用户没有被授权访问网络100,则程序900拒绝(906)用户请求。
如果用户被授权访问用于基于交易的分组交换数据服务的网络100,则程序900判定(908)请求的服务是否为基于交易的分组交换数据服务。如果服务请求不是用于基于交易的分组交换数据服务,则程序900采用其它服务请求程序处(910)用户请求。
如果服务请求是用于基于交易的分组交换数据服务,则程序900判定(912)用户是否被授权访问特定请求的基于交易的分组交换数据服务。如果用户没有被授权访问特定请求的基于交易的分组交换数据服务,则程序900拒绝(906)用户请求。
如果用户被授权访问特定请求的基于交易的分组交换数据服务,则程序900选择(914)用于特定请求的基于交易的分组交换数据服务的服务提供商。连同存储的规则库一起进行选择(914),该规则库基于一个或多个因素,实现网络100的运营商的策略决定。所述因素可包括用户身份、用户的位置、一天中的时间、用户等级、服务提供商等级、网络条件、预先协议规则和/或政府的规定。例如,如果网络100的运营商能够正常地提供特定请求的基于交易的分组交换数据服务,则规则库选择优选地挑选该运营商作为服务提供商。
程序900授权(916)用户的请求。授权(916)可包括服务提供商和/或网络100的运营商的参加。由用户请求的服务是基于交易的,因此授权(916)涉及判定进行请求的用户是否具有足够的信用或支付手段以便于支付由被提供的服务导致的预期债务。如果用户没有被授权购买选择的基于交易的服务,则程序900拒绝(906)对用户的服务。
如果用户被授权继续购买选择的基于交易的服务,则程序900将用户连接(918)到识别的服务提供商,并且启动分组交换数据服务。启动的基于交易的分组交换数据服务可包含用户从识别的服务提供商的一个或多个基于交易的服务的购买。程序900在单个用户会话内监控(920)每个个体会话,并且产生(922)付费与用于购买的其它信息。在每个购买会话期间,程序900可以实时或接近实时的方式将付费信息转发(924)到节点。付费信息与其它信息的类型依赖于提供的分组交换数据服务的类型和提供商。在一个例子中,收集的信息的类型是网络运营商的策略决定。在第三方提供商的例子中,收集的信息的类型通常基于网络100的运营商与第三方提供商之间的预先协议。例如,购买授权可限制允许用于试图传递基于交易的服务的最大网络资源。预先同意的策略可决定:在何种条件下可传递服务,以及什么构成了通过网络运营商合理的试图传递服务的限制。
例如,如果由于提供商与用户之间不可恢复的分组错误条件,在服务传递尝试期间,差的网络条件导致不可接收的大量分组重新传递,则预先同意的策略规则可包括阈值,其中服务传递尝试在该阈值被放弃,取消的购买以及购买会话过早地宣布完成。在更加通常“正常”的条件下,当基于交易的服务的传递结束时,判定购买会话完成。
当购买会话结束时,程序900将付费信息与其它信息传递(926)到节点。付费可基于许多因素,比如数量、持续时间、时间、最终目的地、位置、服务质量、SMS、服务的(served)IMIS/用户、对方付费、免费、包价收费以及运载服务。
程序900将付费单元贷记(928)到用于支付的用户帐户,并且存储用于信息传递的信息单元。并且,可存在服务提供商与网络运营商之间涉及购买会话结束的信息交换。程序900协调(930)任何用途信息和服务提供商记录。
如果用户与服务提供商之间的服务会话包含多个购买会话,则用户可选择基于服务请求进一步进行交易。如果用户没有进一步请求和/或全部购买会话已结束,则服务会话结束。如果相同的服务会话期间,用户选择从相同的服务提供商进行进一步和/或多个购买请求,则这些另外的请求由程序900处理。
在可选的硬件配置中,不同于使用具有结构卡的背板,单独结合的I/O模块与服务模块提供外部数据连接与分组处理。此结合的卡放置在计算机底板中,就象“比萨盒”(“pizza box”)。
在其它实施例中,MSSP用于提供IP语音(VoIP)服务,其中分组的语音量在移动网络与固定网络之间传递。
在可选实施例中,上述方法应用于移动虚拟网络运营商(MVNO)环境。在一个这样的环境中,多个运营商共享单独的MSSP。服务、用户组以及其它配置在一个总的运营商的基础上进行。这样,一个虚拟运营商的用户之间的数据通信由用于该运营商的服务来处理。也就是说,用于用户的流仅触发由此运营商提供的服务。物理网络的运营商能够接收用途信息。例如,让虚拟运营商为他们物理网络的使用付费。虚拟运营商为他们的用户接收详细记录,以致他们能够让他们的用户、服务提供商以及广告商基于服务模式付费。在另一种MVNO环境中,一个MSSP可将特定虚拟运营商的通信路由到诸如另一个MSSP之类的另一个网络位置而不处理流。
在可选实施例中,支持与GSM/GPRS类型不同的无线架构。例如,上述的MSSP能够作为网关,用于包括CDMA、TDMA以及第三代(3G)系统的不同类型的无线数据网络。
并且,在GSM/GPRS的例子中,MSSP的功能能够与其它节点结合。例如,GGSN与MSSP的功能能够结合成一个节点。
MSSP还能够控制不涉及无线数据网络的通信。例如,采用外部服务平台的模式方法应用于监控和控制网络之间经过的通信会话,比如监控和控制用户的网络与广域主干网络之间,或无线LAN与固定网络之间的通信会话。
各种可选硬件构架也是可行的。例如,在可选构架中,I/O模块与服务模块能够结合,并且在控制模块上支持的功能或多或少能够放置于MSSP底板。
应当明白:上述描述目的是示例而不是限定本发明的范围,本发明的范围由随附的权利要求的范围限定。其它实施例在下列的权利要求的范围内。