用于高性能低等待时间实时通知递送的方法和装置制造方法
【专利摘要】一种用于实时通知递送的方法,包括:向应用服务器提供被指向多个用户代理的事件通知,所述多个用户代理处于远离应用服务器的站点处并通过第一网络设备来接收事件通知,所述第一网络设备能够接收聚合后的通知消息;对被指向多个用户代理的多个事件通知进行聚合,以创建被指向第一网络设备的聚合后的通知消息;以及经由通信网络将聚合后的通知消息路由至第一网络设备。
【专利说明】用于高性能低等待时间实时通知递送的方法和装置
【技术领域】
[0001]本发明涉及网络通信系统,并且更特别地涉及实现从集中式、主控或云通信系统向远程站点或分局处的用户的大规模实时特征通知(诸如,针对呼叫事件、存在、特征状态、警报状况或其它事件的通知)的递送的方法和设备。
【背景技术】
[0002]传统地,经由按照RFC 3265的订阅通知方案来递送SIP通知,其据此通过引用被整体地结合。每个订阅与由通知者和订阅者这两者维持的不同SIP对话相关联。因此,当在集中式应用中发生事件时,通信系统在不同SIP对话上的不同SIP NOTIFY消息中将每个通知发送至远程用户代理。
[0003]该方法导致若干问题。如果通信系统对集中式通信系统之间的低带宽敏感,则对远程通知接收者的通知进行排队并通过数据链路顺序地发送这些通知。这导致通知递送延迟(例如,从事件发生到通知递送的时间)以及高的通知间等待时间(例如,在第一用户代理接收通知与最后的用户代理接收通知之间的时间)。如果不能分配带宽,或者如果发生链路故障并且使用辅助低带宽备用链路来连接至远程站点,则可能发生低带宽情形。
[0004]附加地,发送不同消息可能引起网络等待时间。大量通知在高等待时间数据链路上的串行化可能引起后续通知的递送的延迟增加。这还可能引起网络资源的低效使用,因为大量类似消息被从集中式应用发送至远程站点处的通知接收者。在大多数使用情形中,仅SIP对话信息在针对相同事件发生、被发送至不同用户代理的通知之间不同。
[0005]不存在提供针对事件通知的消息聚合的已知现有SIP部署或标准化。作用于各个消息上的现有机制(诸如,传输层安全(“TLS”)压缩或信令压缩(“SIGC0MP”))未实现与本发明类似的针对带宽减小的优化的水平,并且未解决等待时间优化。此外,现有机制未提供针对大量事件通知的令人满意的优化。
[0006]因而,存在对能够在通信网络中从第一位置向第二远程位置处的用户代理发送聚合后的事件通知的方法和装置的需要。
【发明内容】
[0007]体现本发明的方法和装置通过提供对分支代理能力的自动发现和应用服务器与分支代理之间的通知事件的SIP上的SIP聚合(SIP over SIP aggregation)来解决以上问题,最小化递送的等待时间并最小化带宽要求。该聚合使得通知能够在应用服务器与分支代理之间的单个消息中被递送。体现本发明的方法和装置还提供事件内容压缩和消息大小优化,并维持向用户代理的符合标准的接口。
[0008]在本文中公开了一种用于实时通知递送的方法。所述方法包括:向应用服务器提供被指向多个用户代理的事件通知,所述多个用户代理处于远离所述应用服务器的站点处并通过第一网络设备来接收事件通知,所述第一网络设备能够接收聚合后的通知消息;以及对被指向所述多个用户代理的多个事件通知进行聚合,以创建被指向所述第一网络设备的聚合后的通知消息。所述多个事件通知中的每一个与所述多个用户代理中的一个用户代理相关联。所述方法进一步要求经由通信网络将聚合后的通知消息路由至所述第一网络设备。
[0009]在另一优选实施例中,所述方法包括:将聚合后的通知消息解析为针对所述多个用户代理的多个事件通知;以及将每个事件通知传送至所述多个用户代理中的至少一个。
[0010]在又一优选实施例中,所述方法包括:使用所述多个事件通知中的第一事件通知来对所述多个事件通知进行聚合,以对剩余的多个事件通知进行聚合。
[0011]在再一优选实施例中,所述方法包括:接收用户代理通知订阅;以及基于接收到的通知订阅来生成所述多个事件通知。
[0012]在又一优选实施例中,所述方法包括:接收包括第一网络的位置的标识符的用户代理通知订阅。
[0013]在所述方法的进一步优选实施例中,对所述多个事件通知进行聚合包括:将所有所述多个事件通知封装至聚合后的通知消息的主体中。
[0014]在所述方法的再一进一步优选实施例中,所述聚合后的通知消息包括所述第一网络设备的位置的标识符。
[0015]在所述方法的再一优选实施例中,对多个事件通知进行聚合包括:使用用于对每个事件通知进行聚合的索引,所述索引包括关于每个事件通知被指向的用户代理的信息,以及其中,聚合后的通知消息不包括所述索引。
[0016]在所述方法的又一进一步优选实施例中,通知聚合消息进一步包括指示所述通知聚合消息中的多个分离事件通知的信息和每个事件通知的索引,所述索引包括关于每个事件通知被指向的用户代理的信息。
[0017]在所述方法的另一优选实施例中,聚合后的通知消息的主体包括压缩文本格式,所述压缩文本格式包括会话发起协议(“SIP”)信息。
[0018]在所述方法的又一优选实施例中,路由聚合后的通知消息包括:消息聚合器将聚合后的通知消息发送至传输功能;以及所述传输功能经由通信网络将聚合后的通知消息传送至所述第一网络设备。
[0019]在所述方法的再一优选实施例中,路由聚合后的通知消息包括:根据传输层安全(“ TLS ”)传输协议来路由聚合后的通知消息。
[0020]在进一步优选实施例中,所述方法包括:创建所述多个事件通知中的每一个的模板,所述模板包括事件通知中的每一个中包含的通知对话数据以及事件通知中包含的每种类型的通知对话数据的列表。
[0021]在再一进一步优选实施例中,所述方法包括:在所述第一网络设备处接收通知聚合消息;以及所述第一网络设备根据所述多个事件通知来处理聚合后的通知消息。
[0022]在又一进一步优选实施例中,所述方法包括:所述第一网络设备以预定义间隔将选项消息发送至所述应用服务器;以及在接收到包括聚合后的通知消息能力信息的选项消息时,更新与所述第一网络设备相关联的能力属性。
[0023]在另一优选实施例中,所述方法包括:确定与所述用户代理相关联的第一网络设备是否能够接收聚合后的通知消息。
[0024]在所述方法的又一优选实施例中,对多个事件通知进行聚合包括:所述应用服务器将第一多个事件通知发送至消息聚合器,所述第一多个事件通知中的每一个与所述多个用户代理中的一个用户代理相关联;以及所述消息聚合器接收所述第一多个事件通知,并基于所述第一网络设备来对所述第一多个事件通知进行聚合,聚合后的第一多个事件通知包括聚合后的通知消息。
[0025]在所述方法的再一进一步优选实施例中,对多个事件通知进行聚合进一步包括:使用所述第一网络设备的位置的标识符,使得聚合后的通知消息包括所述第一网络设备的标识符。
[0026]在本文中还公开了一种用于实时通知递送的装置。所述装置包括应用服务器,所述应用服务器能够接收被指向多个用户代理的事件通知。所述用户代理处于远离所述应用服务器的站点处并通过第一网络设备来接收事件通知,所述第一网络设备能够接收聚合后的通知消息。此外,所述应用服务器对被指向所述多个用户代理的多个事件通知进行聚合,以创建被指向所述第一网络设备的聚合后的通知消息。所述多个事件通知中的每一个与所述多个用户代理中的一个用户代理相关联。附加地,所述应用服务器经由通信网络将聚合后的通知消息路由至所述第一网络设备。
[0027]在所述装置的另一优选实施例中,所述应用服务器通过将所有所述多个事件通知封装至聚合后的通知消息的主体中来对所述多个事件通知进行聚合。
[0028]在所述装置的再一优选实施例中,聚合后的通知消息的主体包括压缩文本格式,所述压缩文本格式包括会话发起协议(“SIP”)信息。
[0029]在所述装置的又一优选实施例中,所述应用服务器接收用户代理通知订阅信息,并基于接收到的通知订阅来对所述多个事件通知进行聚合。
[0030]在所述装置的进一步优选实施例中,所述第一网络设备是SIP代理服务器。
[0031]本发明适用于任何大规模、主控或基于云的通信系统,其中,将实时事件服务从集中式应用提供给一个或多个远程局位置。本发明的其它细节、目的和优势将随着本发明的特定目前优选实施例和实施这些实施例的特定目前优选方法的以下描述的进行而变得显而易见。
【专利附图】
【附图说明】
[0032]在附图中示出了用于高性能低等待时间实时通知递送的目前优选设备、系统和装置,并且在那里还图示了实施这些目前优选设备、系统和装置的特定目前优选方法。应当理解的是,附图中使用的相似附图标记可以标识相似的组件。
[0033]图1是包括本发明的装置的通信系统的第一优选实施例的框图。
[0034]图2是由本发明使用的聚合后的通知消息的格式的优选实施例。
【具体实施方式】
[0035]参照图1,用于实时通知递送的装置可以包括应用服务器3,该应用服务器3位于作为通信网络4的一部分的数据中心I中。应用服务器3接收被指向多个用户代理6的事件通知。各个代理由框A、B、C和D表示。事件通知可以包括针对来自集中式、主控或云通信系统的呼叫事件、存在、特征状态、警报状况或其它事件的通知。另外,事件通知可以包括事件通知被指向的远程站点(诸如分局)的标识符、要被发送至该远程站点的多个通知和/或实现简单聚合的每个事件通知的索引。此外,多于一个事件通知可以被指向单个用户代理6。在优选实施例中,用户代理6可以是会话发起协议(“SIP”)用户代理,事件通知是SIP事件通知,并且用户代理6和应用服务器3经由第一网络设备5而被连接,其是可存活分支代理。
[0036]用户代理6可以包括软件应用或硬件应用,诸如端点或终端。此外,用户代理6可以是移动通信设备,诸如例如移动电话、计算机、膝上型电脑、个人数字助理、上网本或平板计算机设备,或者,用户代理可以是非移动设备,例如台式计算机或桌面电话。应用服务器3的实施例可以包括例如被配置为通过与多个不同客户设备进行通信来主控向这些设备的服务的计算机设备。
[0037]在优选实施例中,用户代理通知订阅可以由数据中心1、应用服务器3或其它网络设备接收,使得多个事件通知的生成基于接收到的且有效的通知订阅。用户代理通知订阅可以包括第一网络设备5位于其中的第一网络的位置的标识符。在另一优选实施例中,应用服务器3可以是SIP服务器,或者它可以包括SIP应用7。在另一优选实施例中,第一网络设备5是服务器设备。该服务器设备可以包括消息队列10和消息提取器12。该服务器设备可以是分支或代理服务器,或者它可以包括例如SIP代理功能11。
[0038]应用服务器3可以生成事件通知,或者它可以从另一网络设备(诸如服务器或网关)接收事件通知。用户代理6位于远离应用服务器3的站点2处,并能够通过能够接收聚合后的通知消息的第一网络设备5来接收事件通知。可以基于由第一网络设备5发送的选项消息来确定第一网络设备的能力。可以在接收到包括指示聚合后的通知消息能力的信息的选项消息时,更新与第一网络设备相关联的能力属性。
[0039]在优选实施例中,可以以预定义间隔将选项消息发送至应用服务器3、数据中心I或者将该信息中继至数据中心I的其它设备。选项消息可以是SIP OPTIONS消息,并且该消息的SIP首部可以包括第一网络设备5的代理状态和对封装后的通知进行处理的代理能力。因此,应用服务器可以在接收到包括通知聚合能力的OPTIONS消息时动态地更新用于已知代理的能力属性。在事件发生时,可以创建针对所有活动订阅对话的应用通知,并且应用服务器或其它设备可以基于查找表、联系人信息或者用户代理的其它形式的注册信息,来确定将哪些用户代理注册至支持通知聚合的网络设备。
[0040]此外,应用服务器3对被指向多个用户代理的多个事件通知进行聚合,以创建被指向第一网络设备5的聚合后的通知消息。对多个事件通知的聚合可以使用该多个事件通知中的第一事件通知来进行,以对剩余的多个事件通知进行聚合。此外,对多个事件通知进行聚合可以包括:将所有多个事件通知封装至聚合后的通知消息的主体中。
[0041]另外,可以在聚合过程中使用网络或网络设备的位置的标识符,使得要被聚合的事件通知包括该标识符,或者以其它方式,在聚合后的通知消息中包括该标识符。该机制使得事件通知能够基于特定网络或网络设备被聚合。在其中存在每个均具有网络设备的多个远程站点的情形中,可以针对每个远程站点对事件通知进行聚合并将这些事件通知发送至该远程站点处的网络设备。
[0042]在优选实施例中,聚合后的通知消息包括第一网络设备5的位置或地址的标识符,以及指示通知聚合消息中的多个分离事件通知的信息和每个事件通知的索引。该索引可以包括关于该特定事件通知被指向的用户代理的信息。该索引可以用于促进通知事件的聚合,但可以或可以不作为聚合后的通知消息的一部分而被发送。此外,聚合后的通知消息的主体可以包括压缩文本格式,该压缩文本格式包括SIP信息。
[0043]图2图示了包含η个通知和关联对话的聚合后的通知消息的优选实施例。可以针对所附的压缩SIP消息来定义内容类型。该内容类型可以被定义为应用/压缩-多部分。压缩-多部分可以被表示为Gzip压缩文本。压缩文本属于类型“多部分/混合”,对于其而言每个部分属于类型“应用/SIP”。该结果提供的是,可以在从集中式应用向远程SIP代理的初始通知的主体中发送所有通知的压缩副本。
[0044]在另一优选实施例中,可以对事件通知进行聚合,以提供针对对话处理的优化。在聚合过程之前、期间或之后,可以创建多个事件通知中的每一个的模板,使得该模板包括事件通知中的每一个中包含的通知对话数据以及事件通知中包含的每种类型的通知对话数据的列表。
[0045]下列示例代码说明了可以如何使用优化方法来对事件通知进行组合。消息聚合器创建通知数据的模板(application/dialog-1nfo-template)。该模板包含对话相关字段的参数。消息聚合器还创建在其上通知不得不被发送的所有对话的列表(application/dialog-list)。附加地,可以通过使用压缩来应用进一步优化,以便减小消息大小。
【权利要求】
1.一种用于实时通知递送的方法,包括: 向应用服务器提供被指向多个用户代理的事件通知,所述用户代理处于远离所述应用服务器的站点处并通过第一网络设备来接收事件通知,所述第一网络设备能够接收聚合后的通知消息; 对被指向所述多个用户代理的多个事件通知进行聚合,以创建被指向所述第一网络设备的聚合后的通知消息,所述多个事件通知中的每一个与所述多个用户代理中的一个用户代理相关联;以及 经由通信网络将聚合后的通知消息路由至所述第一网络设备。
2.根据权利要求1所述的方法,进一步包括:将聚合后的通知消息解析为针对所述多个用户代理的多个事件通知;以及将每个事件通知传送至所述多个用户代理中的至少一个。
3.根据权利要求1所述的方法,进一步包括:使用所述多个事件通知中的第一事件通知来对所述多个事件通知进行聚合,以对剩余的多个事件通知进行聚合。
4.根据权利要求3所述的方法,其中,对多个事件通知进行聚合进一步包括:使用所述第一网络设备的位置的标识符,使得聚合后的通知消息包括所述第一网络设备的标识符。
5.根据权利要求1所述的方法,进一步包括:接收包括所述第一网络设备的位置的标识符的用户代理通知订阅。
6.根据权利要求1所述的方法,进一步包括:接收用户代理通知订阅;以及基于接收到的通知订阅来生成所述多个事件通知。
7.根据权利要求6所述的方法,其中,聚合后的通知消息包括所述第一网络设备的位置的标识符。
8.根据权利要求7所述的方法,其中,对多个事件通知进行聚合包括:使用用于对每个事件通知进行聚合的索引,所述索引包括关于每个事件通知被指向的用户代理的信息,以及其中,聚合后的通知消息不包括所述索引。
9.根据权利要求1所述的方法,其中,对多个事件通知进行聚合包括:将所有所述多个事件通知封装至聚合后的通知消息的主体中。
10.根据权利要求9所述的方法,其中,聚合后的通知消息的主体包括压缩文本格式,所述压缩文本格式包括会话发起协议(“SIP”)信息。
11.根据权利要求1所述的方法,其中,路由聚合后的通知消息包括:消息聚合器将聚合后的通知消息发送至传输功能;以及所述传输功能经由通信网络将聚合后的通知消息传送至所述第一网络设备。
12.根据权利要求1所述的方法,其中,路由聚合后的通知消息包括:根据传输层安全(“ TLS ”)传输协议来路由聚合后的通知消息。
13.根据权利要求1所述的方法,进一步包括:创建所述多个事件通知中的每一个的模板,所述模板包括事件通知中的每一个中包含的通知对话数据以及事件通知中包含的每种类型的通知对话数据的列表。
14.根据权利要求1所述的方法,进一步包括:在所述第一网络设备处接收通知聚合消息;以及所述第一网络设备根据所述多个事件通知来处理聚合后的通知消息。
15.根据权利要求1所述的方法,进一步包括:所述第一网络设备以预定义间隔将选项消息发送至所述应用服务器;以及在接收到包括聚合后的通知消息能力信息的选项消息时,更新与所述第一网络设备相关联的能力属性。
16.根据权利要求1所述的方法,进一步包括:确定与所述用户代理相关联的第一网络设备是否能够接收聚合后的通知消息。
17.根据权利要求1所述的方法,其中,对多个事件通知进行聚合包括:所述应用服务器将第一多个事件通知发送至消息聚合器,所述第一多个事件通知中的每一个与所述多个用户代理中的一个用户代理相关联;以及所述消息聚合器接收所述第一多个事件通知,并基于所述第一网络设备来对所述第一多个事件通知进行聚合,聚合后的第一多个事件通知包括聚合后的通知消息。
18.根据权利要求17所述的方法,其中,对多个事件通知进行聚合进一步包括:使用所述第一网络设备的位置的标识符,使得聚合后的通知消息包括所述第一网络设备的标识符。
19.一种用于实时通知递送的装置,包括: 应用服务器;以及 所述应用服务器能够接收被指向多个用户代理的事件通知,所述用户代理处于远离所述应用服务器的站点处并通过第一网络设备来接收事件通知,所述第一网络设备能够接收聚合后的通知消息; 所述应用服务器对被指向所述多个用户代理的多个事件通知进行聚合,以创建被指向所述第一网络设备的聚合后的通知消息,所述多个事件通知中的每一个与所述多个用户代理中的一个用户代理相关联;以及 所述应用服务器经由通信网络将聚合后的通知消息路由至所述第一网络设备。
20.根据权利要求19所述的装置,其中,所述应用服务器通过将所有所述多个事件通知封装至聚合后的通知消息的主体中来对所述多个事件通知进行聚合。
21.根据权利要求20所述的装置,其中,聚合后的通知消息的主体包括压缩文本格式,所述压缩文本格式包括会话发起协议(“SIP”)信息。
22.根据权利要求19所述的装置,其中,所述应用服务器接收用户代理通知订阅信息,并基于接收到的通知订阅来对所述多个事件通知进行聚合。
23.根据权利要求19所述的装置,其中,所述第一网络设备是SIP代理服务器。
【文档编号】H04L29/06GK103548315SQ201280004010
【公开日】2014年1月29日 申请日期:2012年5月15日 优先权日:2012年5月15日
【发明者】J.吕奇, R.帕斯特罗 申请人:西门子企业通讯有限责任两合公司