CN1703691A - 用于业务集成系统的方法和装置 - Google Patents

用于业务集成系统的方法和装置 Download PDF

Info

Publication number
CN1703691A
CN1703691A CNA038239825A CN03823982A CN1703691A CN 1703691 A CN1703691 A CN 1703691A CN A038239825 A CNA038239825 A CN A038239825A CN 03823982 A CN03823982 A CN 03823982A CN 1703691 A CN1703691 A CN 1703691A
Authority
CN
China
Prior art keywords
integration system
business
network
business integration
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA038239825A
Other languages
English (en)
Other versions
CN100345141C (zh
Inventor
阿隆·列丘克
迈克尔·梅勒
亚伯拉罕·罗森巴赫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Personeta Ltd
Original Assignee
Personeta Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Personeta Ltd filed Critical Personeta Ltd
Publication of CN1703691A publication Critical patent/CN1703691A/zh
Application granted granted Critical
Publication of CN100345141C publication Critical patent/CN100345141C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/2254Arrangements for supervision, monitoring or testing in networks
    • H04M3/2263Network management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/4217Managing service interactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
    • H04M7/1205Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • H04Q3/0054Service creation techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/54Object oriented software

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种软件实现的分布式业务集成系统,其针对开发新业务和这些新业务与现有网络的集成提供了开放式环境,所述集成是由业务集成系统管理员执行的,管理员还负责业务开发。因此,新业务的开发和集成的过程比电话业务集成系统中的通常情况更省时并且更便宜。与现有网络基础设施集成的新业务的示例包括业务开发者对使用运营商计费基础设施的成熟计费业务的开发。本发明系统还提供了通过系统管理员限定的可更改策略对业务集成系统内以及业务集成系统与通信网络之间的分组流进行业务级控制。本发明系统还对部署在其上的业务提供信令处理的可见性,并提供通过网络适配组件与诸如IP、SS7等不同协议的直接通信。

Description

用于业务集成系统的方法和装置
技术领域
本发明总体上涉及通信网络业务(service)。更具体地,本发明涉及一种用于通信网络的分布式业务集成系统,其被实现为应用服务器,使得能够对网络业务进行部署、执行和管理。
背景技术
现代业务集成和执行系统具有向用户提供先进的网络业务(所述业务在网络会话期间向用户提供某种具体功能)的能力。网络会话是以启动事件开始并以终止事件结束的一个事件序列,例如,电话呼叫,访问Web地址等。
当启动包括执行业务的会话时,将传送(channel)多达三种可能的基本类型数据,即会话处理数据、实际传送媒体(例如语音、视频流等)、以及业务相关数据。
业务相关数据包括要求激活业务的触发或者请求。在支持业务使用的任何网络中都存在负责识别这些触发和请求的组件。一旦这些组件识别出需要执行业务,业务集成系统就与执行并提供所需业务所需要的信息进行联系。
这些业务集成系统总体上可以被描述为具有两种主要功能:(a)应用功能,在其中安装有各种业务的业务逻辑;(b)由各厂商开发并由各种业务使用的一组泛型平台功能,所述厂商通常是主要的设备厂商,诸如阿尔卡特、北电、爱立信以及其他。
负责执行和管理通信网络支持的业务的业务集成系统限定了特定网络提供什么业务。目前由特定的提供商提供这些组件,如上所述,所述提供商通常是主要的通信设备厂商。
当前的业务集成技术存在一些实际困难。首先,当前的技术通常提供封闭的专有系统(即,只能通过这些专有系统的提供商来进行新业务的添加和部署)。因此,新业务的添加及其部署是非常耗时又昂贵的任务。例如,根据现有技术,如果用户希望向他的网络添加新业务,则他必须向业务集成系统的提供商提议并请求开发和部署该新业务。如果不是最基本的业务,则对于任何所请求的业务都是如此。例如,就电话网络而言,从请求某业务时起到该业务变得可操作,可能经过多达两年或更长的时间,由于这漫长的持续时间和复杂的手续,也将导致非常昂贵。由于根据现有技术的业务集成系统是封闭的专有系统的事实而引起的另外两个后果是:(i)不能使用基于标准软件的开发工具;以及(ii)与网络中其它组件的集成很复杂。
因此,希望有一种基于软件的开放业务集成系统,其被实现为应用服务器,并且适合于克服前述现有技术的业务集成系统的缺陷,并能够与各种类型的通信网络(例如电话网络、IN网络、IP网络以及混合网络(即组合了各种类型通信的网络))协同工作。
发明内容
因此,本发明的主要目的是提供一种业务集成系统,该业务集成系统提供开放环境(即,由业务集成系统管理员来执行新业务的开发、其向现有网络的添加、以及其与所述现有网络的集成,所述业务集成系统管理员还负责业务开发(“业务开发者”或“系统管理员”))。因此,开发和集成新业务的过程相对较短并且较便宜。
本发明的另一目的是使得可以开发与现有网络基础设施集成的新业务(例如由业务开发者对使用运营商的计费基础设施的成熟计费业务进行的开发)。
本发明的再一目的是实现一种业务集成系统内的组件,该组件控制并调节该业务集成系统内以及该业务集成系统与通信网络之间的分组流,其中,调节是根据由系统管理员确定的可更改策略来执行的。
本发明的再一目的是实现一种业务集成系统,其组件可由系统管理员进行配置。
本发明的再一目的是实现一种通信网络固有的业务集成系统,该业务集成系统能够实现更好的信令处理(signaling process)可见性和控制。
本发明的再一目的是使得业务集成系统可以通过网络适配组件与不同的协议(例如IP、SS7等)直接进行通信。
根据本发明的优选实施例,提供了一种软件实现的(即,在日用计算机上而不是专用机上运行的软件)分布式的通信网络用业务集成系统,所述系统包括:用于对构成该业务集成系统的各种模块进行管理和控制并执行该业务集成系统的管理和控制的至少一个模块;用于向网络发送消息并从网络接收消息的至少一个模块;至少一个业务逻辑执行环境模块;以及用于优化该业务集成系统的组件之间以及该业务集成系统与网络之间的数据流的至少一个资源控制模块,该资源控制模块至少与用于向网络发送消息并从网络接收消息的模块以及业务逻辑执行环境模块相连接,以使得该业务集成系统能够进行添加业务、部署业务、以及执行业务中的至少一种。
根据结合以下附图的以下详细说明,本发明的附加特征和优点将变得明了。
附图说明
为了更加充分地理解本发明,现在仅通过非限制性的示例参照附图对示例性实施例进行详细描述,在附图中:
图1是示出本发明的结构以及其组件之间和其组件与网络之间的逻辑关系的示意性框图;
图2是示出根据本发明示例性实施例的业务逻辑执行环境的示意性框图;
图3是示出根据本发明示例性实施例的业务执行过程的设置(layout)的流程图;以及
图4是示出根据本发明示例性实施例的本发明的系统的网络适配器、以及其组件与本发明的其它组件之间的逻辑关系的示意性框图。
具体实施方式
参照图1,此处公开的是本发明的业务集成系统的示例性实施例,称为“TappS”10,其是用于通信网络的分布式业务集成系统。TappS 10是软件实现的(即,本发明的业务集成系统是在日常计算机上而不是专用机上运行的软件)。以这种方式,TappS 10能够对现有网络业务进行部署、执行和管理并且创建新网络业务,这在当前根据现有技术是不能实现的。
根据此处所述的示例性实施例,TappS 10使用分布式体系结构,并且包括:至少一个管理器模块12、至少一个控制器模块14、至少一个业务逻辑执行环境模块(“SLEE”)16、至少一个资源控制层模块(“RCLC”)18、至少一个功能模块单元42、至少一个网关模块40、以及至少一个命名业务(naming service)模块22。功能模块单元42和网关40二者统称为网络适配器20。
根据本发明的示例性实施例,各上述模块都被实现为不同的计算站(computing station)(“计算机”)。根据本发明的另选实施例,一个或更多个上述的模块共享同一计算机。对要使用的实施例的选择取决于各模块的资源使用、使用本发明的网络的大小、以及网络的通信量速率(traffic rate)。
TappS 10的各种组件之间的通信是通过通常称为CORBA(“CORBA”)的公共对象请求代理体系结构来执行的。需要更高传输速率的连接(例如在功能模块单元42与RCLC 18之间的连接)是通过TappS 10专用的协议来执行的。这些专用协议是通过诸如TCP和UDP的标准网络协议来传输的。更具体地,SLEE 16与RCLC 18之间、RCLC 18与网络适配器20之间、以及RCLC 18与命名业务22之间(仅在此方向上)的通信使用TappS10专用协议。所有的其它通信都使用CORBA因特网内部ORB协议(“IIOP”)。
上述TappS 10的模块及其功能的简要描述及其功能如下:
管理器12是接口,其使得系统管理员可以对组成TappS 10的各个模块进行配置,如随后所述。管理器12通过访问控制器14并指示其对TappS 10模块进行配置,来对各种TappS 10模块进行配置。管理器12由系统管理员通过图形用户接口来操作。
控制器14监视并维护各种TappS 10模块。控制器14对故障进行定位、处理冗余、提供容错性、并且替换或重启组成TappS 10的模块中的停止运作(down)或发生故障的任何模块。如果发行新版本,则控制器14还对TappS 10的各种系统模块进行升级,在这种情况下,控制器14能够替换除其本身之外的所有的TappS 10模块。如果控制器14需要替换,则所述替换通过管理器12来执行。
无论何时检测到需要重启模块(例如,当模块发生故障时),通过控制器14对模块的重启可以由系统管理员来启动,或者可以由控制器14来自动启动。
参照图2,SLEE 16是提供其中执行TappS 10提供的业务的环境的模块。业务包括业务开发者开发的应用,该应用由模拟状态机的程序代码构成。SLEE 16包括:至少一个状态机控制器30、至少一个存储器模块24、以及至少一个可执行状态机28,可执行状态机28还包括至少一个状态机29。
SLEE 16将各种网络业务26的业务逻辑存储在存储器24中。各种业务26被表示为状态机。SLEE 16负责执行TappS 10提供的各种业务。各业务26通过状态图来表示,其中图上的每个节点表示业务26的一个状态。状态是静态实体(static entity),其封装有关于执行该业务应该的方法以及解析运行业务的后继状态的方法的一组值和指令。状态图限定了业务26的所有可能节点,从而描述了某业务26在其执行时可以采用的所有路径。在任何两个状态(或节点)之间的连接线段称为状态转移。业务26的执行是通过遍历表示业务26的状态图的状态节点而执行的。在开始执行业务26时不需要业务26的状态节点的全部集合,因为当其执行时,第一个状态节点之后的各状态节点是由业务26动态解析的。应该注意,当业务开始执行时并不是所有的状态节点都必须出现在存储器中,然而,与执行状态无关地,描述业务26的状态图包括所有可能的业务分支并且完整地存在。
通过可执行状态机28来执行业务26(即状态图)。可执行状态机28是执行TappS 10提供的业务26的泛型引擎(generic engine)。SLEE 16包括至少一个可执行状态机28。
SLEE 16的两个主要组件是可执行状态机28和状态机控制器30。状态机控制器30对等待新业务请求的空闲的可执行状态机28进行管理。
状态机控制器30的主要功能是接收呼入请求,检索表示所请求业务26的状态图,并且将用于执行的状态图分配给空闲的可执行状态机28。状态机控制器30管理存储器24的内容,该存储器24包含TappS 10支持的所有有效业务26(即状态图)。当状态机控制器30接收到对新业务的请求时,其从存储器24检索匹配业务26,并将其分配给可执行状态机28以供执行。一旦进行了分配,状态机控制器30就不再与正在运行的业务32进行通信。状态机控制器30的辅助功能是保持对业务请求进行分配和执行所需要的资源,例如监视运行的可执行状态机对象28的正确性、以及监视器存储器利用等。
可执行状态机28负责执行单个业务26。在可执行状态机28与在运行的业务32之间存在中介层(mediating layer),即状态机29。状态机29是可执行状态机28在其中运行业务的组件。
可执行状态机28还保持在运行的业务32与功能模块单元42之间的连接。在很多情况中,业务可能需要几个功能模块单元42。如下所述,该连接是通过RCLC 18来保持的。随着执行过程,在运行的业务32对功能模块单元42布置任务。这些任务包含执行当前状态节点所需要的数据。执行由在运行的业务32布置的任务的功能模块单元42的操作与在运行的业务的操作是异步的。它们异步在于,一旦在运行的业务32发送出要由功能模块单元42执行的任务,其与功能模块单元42的操作同时地继续执行与业务执行过程相关的操作,而非等待功能模块单元42产生的结果。
可执行状态机28与功能模块单元42之间的交互如下:任务通过RCLC18从可执行状态机28发送到功能模块单元42。一旦功能模块单元42完成了任务,结果就被送回到可执行状态机28。可执行状态机28接收该结果并将其分配给保持当前状态的状态机29。一旦接收到该结果,状态机29与在运行的业务32的当前状态节点进行通信,以解析业务26的状态图上的下一个状态节点。
SLEE 16具有至少一个可执行状态机28,根据本发明的示例性实施例,其具有称为池(pool)的多个可执行状态机28。当状态机控制器30接收到新的业务请求时,为其执行分配可执行状态机28实例(instance)。分配的可执行状态机28获得业务26的状态图,并运行其直到其完成。当分配的可执行状态机28结束执行该业务时,可执行状态机28被释放回到空闲可执行状态机28的池,在此其等待另一分配。运行业务的每个可执行状态机28都有其自身的唯一标记(reference),根据该标记对去往所述可执行状态机28的消息进行择路。这些消息到可执行状态机28的择路是按以下方式执行的:SLEE 16外部的模块使去往可执行状态机28的所有消息择路到状态机控制器30。这些外部组件根据状态机控制器30的CORBA地址而得知状态机控制器30的位置,所述CORBA地址通常称为可互操作对象引用(“IOR”),状态机控制器30在启动时将该CORBA地址通知给这些外部组件。一旦去往可执行状态机28之一的消息到达状态机控制器30,状态机控制器30就进一步将该消息择路到该消息所属的可执行状态机28。如以下将进一步说明的,如果该消息是新的业务请求,则状态机控制器30从存储器24中解析匹配的业务26,并对其进行分配以由空闲的可执行状态机28来执行(即,SLEE 16外部的模块仅“知道”状态机控制器30。状态机控制器30“知道”可执行状态机28)。
每个在运行的业务32知道其当前状态,还知道如何解析其执行的随后状态。当前状态通过可执行状态机28来执行。当前状态的执行随着通过RCLC 18向功能模块单元42发送任务而终止。功能模块单元42执行该任务并再次经由RCLC 18将结果返回到可执行状态机28。返回结果是根据解析出了运行业务32的哪个下一状态的输入。
TappS 10支持业务26的确定性执行。每个业务26在第一状态节点中限定有临界截止时间和路径。当向可执行状态机28分配了业务时,可执行状态机28在开始执行业务之前就知道临界路径和截止时间。在业务26的执行期间,必须满足所有这些临界限制,否则业务26的执行将终止并且抛出异常。这些异常被状态机控制器30捕获并处理。
每个业务26都有其优先级程度。业务的优先级是在其分配到可执行状态机28以供执行之前由状态机控制器30计算的。优先级是作为业务的估计执行时间和生存时间的因素而计算的。
为了更好地理解SLEE 16执行业务的过程,以下是对根据本发明的示例性实施例的典型执行情况的说明:以通过RCLC 18到达SLEE 16的呼入业务请求来开始业务执行。该呼入请求业务被提交给启动业务执行过程的状态机控制器30。状态机控制器30在存储器24中对请求的业务进行定位,并将其分配给从空闲的可执行状态机池中选择的可执行状态机28的空闲实例以供执行。在下一个步骤中,状态机控制器30激活可执行状态机28。状态机控制器30通过对可执行状态机28分配用于执行的业务26来将其激活。一旦可执行状态机28被激活,其就启动一个新的状态机29实例,该状态机29实例调用业务26的状态图的第一个状态节点36,从而开始执行过程。在运行的业务32的节点36为功能模块单元42布置任务,并且处理从功能模块单元42接收的结果。状态节点36与功能模块单元42之间的所述通信业务(traffic)经由RCLC 18来执行。可执行状态机28从功能模块单元42接收这些任务的处理结果,并将这些结果提交给启动该任务的状态节点36。接下来状态节点36通过评估当前状态中的可用信息以及从功能模块单元42接收到的结果,对状态图上的下一个状态节点进行解析。执行继续进行直到到达业务26的状态图的最后一个状态节点36,从而结束业务执行过程。当执行终止时,释放状态机29,并且可执行状态机28返回到空闲可执行状态机池。
对于SLEE 16的体系结构,从外部SLEE 16接收远程调用的两个组件是状态机控制器30和可执行状态机28。因此,根据本发明的示例性实施例,两个组件的体系结构都是分布式的。这通过CORBA来实现。因此,在SLEE 16中存在具有CORBA的两个对象:状态机控制器30和可执行状态机28。对于运行SLEE 16的各平台(如上所述,可以有一个或更多个),实现了运行的对象请求代理(“ORB”)。每个所述ORB具有SLEE 16在其内拥有的两个组件:状态机控制器30和可执行状态机28。ORB环境将进入SLEE 16中的通信(communication)转到状态机控制器30和可执行状态机28,并向它们提供由ORB环境提供的各种功能,例如池线程(poolthreading)、持久性(persistency)等。根据本发明的另选实施例,可以使用不同于CORBA的分布式实现,如作为Java编程语言库的一部分的远程方法调用(“RMI”)。
如上所述,从SLEE 16到RCLC 18的呼出通信是通过TappS 10的专用协议来执行的。
参照图6,示出了业务执行过程的典型设置。如图所示,各可执行状态机28 No.1和No.2正在运行业务。对于各在运行的业务,存在表示业务26的对应执行环境的状态机对象29。在业务执行期间,再次通过RCLC18向功能模块单元42布置任务。功能模块单元42接收该任务,执行该任务,并将结果发送回使用CORBA调用发出所述任务的可执行状态机28。功能模块单元42根据其与任务一起接收的IOR,获知如何将答复发送到始发的可执行状态机28。除IOR之外,任务还包含与当前状态36的限定、以及执行业务26的可执行状态机28的身份有关的数据。
根据本发明的示例性实施例,使用了多个状态机控制器30和多个可执行状态机28。根据本发明的另选实施例,仅使用一个状态机控制器30。这是因为状态机控制器30是可重入的对象,因此它的一个实例可以由多于一个的请求来访问。
根据本发明的示例性实施例,状态机控制器30和可执行状态机28都在同一计算机上运行,并且与一个ORB相互关联。如上所述,功能模块单元42可以在不同的计算机上运行。这三个组件负责SLEE 16的功能性操作。RCLC 18是负责诸如流控制的非功能性需要的组件。
参照图4,网络适配器20由两个主要模块组成。第一个模块是网关模块40,第二个模块是功能模块单元42。网关模块40被实现为服务器,用于监听诸如SS7、IP等的网络接口上的呼入消息。
通过网关模块40接收的消息被分类为业务请求和外部任务。业务请求是从网络接收的对执行新业务的外部请求,因此导致执行新业务。另一方面,外部任务是与已在运行的业务相关的外部消息,因此不会引起执行新任务,而是转到已在运行的业务32。这些外部任务不同于上述的从TappS 10自身内部发出的任务(例如,从SLEE 16发出并去往功能模块单元42的任务)。
功能模块单元42负责处理从SLEE 16接收的任务,并且还负责根据处理结果传送不同的网络协议。
功能模块单元42是构建块(building block),包括至少一个功能模块管理器44和至少一个功能模块46,用于实现业务。通过调用一系列功能模块单元42来实现业务。由功能模块单元42执行的操作的示例是向数据库提出查询。例如,一旦在运行的业务32需要某数据,在运行的业务32就联系功能模块单元42以请求该数据。定址到功能模块组件42的该请求以及其它请求通常称为任务。所述任务包含执行查询所需的参数。一旦功能模块单元42接收到任务,它就联系适当的网络以进行查询。来自该查询的结果由网关组件40接收,然后在与命名业务22关于SLEE 16中的在运行的业务32的地址进行协商之后被传送到SLEE 16(以供在运行的业务32使用)。
根据本发明的示例性实施例,存在几种功能模块46,其中一种传送TappS 10支持的各协议。
经由RCLC 18将上述不同类型的消息传送到功能模块单元42。
从RCLC 18接收请求的功能模块单元42内的组件是功能模块管理器44。功能模块管理器44用作RCLC 18与功能模块46之间的接口,其负责任务处理。特定类型的功能模块46的所有实例都由一个功能模块管理器44来控制,从而,针对特定平台上的每种类型的功能模块,存在一个功能模块管理器44。根据这里所述的示例性实施例,功能模块46实例和对其进行控制的功能模块管理器44都位于同一计算机上。功能模块46实例由功能模块管理器44以池的形式来管理。功能模块管理器44保持有针对相同类型的所有功能模块实例46的标记的列表,并且与它们始终保持联系,以使功能模块管理器44始终知道功能模块46的哪一个实例是空闲的。
功能模块管理器44还对存在于特定机器上的功能模块实例46的数量进行控制。现存功能模块46的数量是根据功能模块管理器46接收到的任务负载来确定的。在需要时,功能模块管理器44创建、删除、激活、以及关闭功能模块实例46。功能模块管理器44还管理未发布请求的短队列,以等待发布。
一旦功能模块管理器44接收到任务,其第一优先级就是将该任务择路到空闲的功能模块46实例。如果不存在这种空闲实例,则将任务传送到未发布请求的队列,并且调用用于平衡功能模块46的数量的方法。
将任务分配到功能模块46实例以由其来执行。一旦执行结束,功能模块46实例的状态就变为空闲,这意味着它对于执行更多任务是空闲的。
在每个任务执行结束时,功能模块管理器44调用上述的用于平衡功能模块46实例的数量的方法。所述方法检查当前的负载和任务布置率,相应地减少或者增加功能模块46实例的数量。
此外,功能模块管理器44将以下内容通知给RCLC 18:与现存功能模块46实例的数量有关的功能模块46实例上的负载,以及运行其的平台的一般性资源(例如,I/O,CPU,存储器等)上的负载。
一旦将任务分配给空闲功能模块46,所述功能模块46就执行该任务。为了执行该任务,如果需要的话,功能模块46连接到TappS 10外部的装置,例如网络接口卡等。
作为一般性原理,功能模块46由三层构成:(i)接口层,功能模块46通过该接口层与其他部件进行通信;(ii)逻辑层,其提供功能模块46的实际业务逻辑,所述业务逻辑分别针对每种类型的功能模块46实现;(iii)硬件适配层,其仅存在于使用硬件(例如网络接口卡)的功能模块46类型中。逻辑层使用该第三层来与和所述功能模块相关的硬件进行通信。为了保持厂商无关性,与不同类型的硬件设备相连接的功能模块独立地实现了硬件适配层。
功能模块管理器44和RCLC 18经由专用网络协议相连接。通过咨询命名业务22来创建这两个组件之间的连接。各个功能模块46在其创建时向命名业务22咨询其对应的RCLC 18的位置及其指定端口。一旦通过新创建的功能模块46获得了数据,功能模块46就与RCLC 18联系以向RCLC 18通知其存在。
以类似的方式,新创建的RCLC 18在创建时向命名业务22咨询所有现存功能模块46的位置,并连接到它们。一旦建立了联系,就使用预定协议通过特定端口进行RCLC 18与功能模块46之间所有的随后的通信业务。一旦建立了连接,功能模块46就启动一直对所述端口进行监听并对从RCLC 18传送的请求进行识别的线程。
除采用上述任务的形式外的不同类型的事件是时间触发事件,例如使RCLC 18检查功能模块单元42内的负载、以及使功能模块单元42将其负载状态通知给RCLC 18。这些时间触发事件是由对时间触发事件进行识别并调用所需方法的另一线程来处理的。
RCLC 18的主要功能是监视TappS 10内以及TappS 10与网络之间的通信业务负载。RCLC 18在任何给定时间都知道这些负载的状态,了解TappS 10提供的各种业务的资源消耗行为,并且据此来传送呼入和呼出消息的通信业务。RCLC 18也根据系统管理员预设的预定策略进行操作。例如,系统管理员可以针对TappS 10提供的各种业务26的重要程度来限定某些优先级,从而较重要业务26的执行接收到高于较不重要业务26的执行的优先级。
命名业务22保持SLEE 16计算机及其IOR、以及当前在其中运行的业务的列表。当消息从网络到达时,网关40针对呼入消息应择路到的目的地来联系命名业务22。命名业务22向网关40返回该消息应择路到的正确SLEE 16的IOR。TappS 10的其他组件也以与上述方式类似的方式来向命名业务22查询择路信息。
如上所述,TappS 10具有将新业务添加到通信网络、部署业务以及处理从通信网络接收到的业务请求的能力。以下是TappS 10处理业务请求的方法的总体描述。
一旦网络识别出某会话请求执行业务,就向TappS 10发送请求提供所需业务的消息。
TappS 10内负责检测呼入消息的组件是网关40。消息可能是新业务请求或者与已在运行的业务相关的外部事件。一旦TappS 10接收到消息,网关40就咨询命名业务22以查出该消息是与在运行的业务相关还是新业务请求。如果该消息是与已在运行的业务相关的外部事件,则取出在运行的业务32的位置,并经由RCLC 18传送该外部事件,作为要由SLEE16中运行的正运行业务32使用的参数。如果该消息是新业务请求,则将其经由RCLC 18传送到SLEE 16,在SLEE 16对请求的业务26进行解析并开始执行业务。在SLEE 16(其接收到从网络到达的作为外部事件的消息)内运行的运行业务32处理这些外部事件,并且再次经由RCLC 18将任务发回到功能模块单元42。功能模块单元42处理这些任务,这导致两种结果中的一种:功能模块单元42状态发生变化,或者一个或更多个网络消息被发回到在运行的业务32。在通常情况下,任务的执行使得一个或者更多个消息被发送到网路和/或在运行的业务。在功能模块单元42将消息发送到网络和/或在运行的业务32之后,其从网络接收响应和/或从在运行的业务32接收新任务。进行该处理直到业务执行终止。
通过TappS 10来执行业务26的先决条件是利用TappS 10部署了所需的业务26。TappS 10使得业务开发者可以对将由网络用户请求并由TappS 10执行的新业务26进行开发和部署。根据本发明,利用高级计算机语言(例如,Java等)来实现新业务的开发。TappS 10向系统管理员提供应用编程接口(“API”),在该应用编程接口上开发新业务的源代码。一旦新业务的开发完成,就对源代码进行编译,一旦经过了编译,就通过控制器14(部署新业务的系统管理员通过管理器12来操作控制器14,如上所述,管理器12向系统管理员提供针对TappS 10的GUI)将二进制代码传送到SLEE 16中。在接下来的步骤中,接着使用Java类加载工具(其类似于动态加载库)将二进制代码链接到SLEE 16。在这些步骤之后,新业务可以由系统管理员激活,并且完全接入到TappS 10的工具。
业务一旦被部署就被添加到SLEE 16内的存储器24中,并且此后立即成为TappS 10提供的有效业务,从而为执行作好准备。
以上公开的所有主题是如何为TappS 10提供独特性能。这些性能之一是创建至少一个呼叫控制会话和其他会话(例如,Web会话和数据连接)中的单个会话的能力。此外,正如实现诸如改进容错性、更高性能级别、以及更大容量处理能力的特性所必要的那样,TappS 10的分布式体系结构使得能够对其所有组件进行复制。针对电话网络,TappS 10还独立于网络和协议(即,同样的业务可以基于INAP在PSTN中运行、基于ISUP在PSTN中运行、或者基于SIP在下一代网络中运行,而不会引起任何代码改变)。此外,应当特别指出的是,TappS 10不像某种现有技术的业务集成系统那样限于电话网络,因此,例如,可以响应于诸如HTTP请求、RADIUS验证请求、以及通过其他协议的非电话事件来启动业务会话。TappS 10的另一值得注意的特征是:其保持有所有活动会话所消耗资源的完整了解,从而能够针对内部资源(在TappS 10系统内部)和外部资源(例如网络带宽等)来对资源消耗区分优先级并进行调节。最后一个特征是:其也能在TappS 10系统内部、以及TappS 10系统与网络之间进行确定的通信业务控制。
最后,当然应当理解上述对本发明示例性实施例的描述仅仅是示例。可以预见,本领域的普通技术人员可以做出示例性实施例的各种替换和修改而不脱离本发明的精神和范围,本发明的精神和范围仅由所附权利请求来确定。

Claims (26)

1、一种用于通信网络的分布式业务集成系统,其被实现为应用服务器,所述业务集成系统包括:
(a)至少一个用于管理和控制所述业务集成系统的模块,其与构成所述业务集成系统的各模块进行交互以执行对所述业务集成系统的管理和控制;
(b)至少一个用于从网络发送消息和向网络接收消息的模块;
(c)至少一个业务逻辑执行环境模块;以及
(d)至少一个资源控制模块,其优化所述业务集成系统的组件之间以及所述业务集成系统与网络之间的数据流,使得所述资源控制单元至少与所述用于从网络发送消息和向网络接收消息的模块以及与所述业务逻辑执行环境模块相连接;
其中,所有上述模块都与所需的对应硬件设备进行交互以执行其各自的功能。
2、根据权利要求1的业务集成系统,其中,所述至少一个用于管理和控制所述业务集成系统的模块被分为至少一个用于管理所述业务集成系统的模块和至少一个用于控制所述业务集成系统的模块。
3、根据权利要求1的业务集成系统,其中,所述至少一个用于从网络发送消息和向网络接收消息的模块被分为至少一个网关模块和至少一个功能模块单元。
4、根据权利要求1的业务集成系统,其中,所述业务集成系统支持网络业务的异步执行。
5、根据权利要求1的业务集成系统,其中,所述分布式体系结构使得能够对构成所述业务集成系统的单元进行复制,以提供从包括以下功能的组中选择的至少一个功能:
(a)容错性;
(b)性能;以及
(c)容量。
6、根据权利要求1的业务集成系统,其中,所述业务集成系统始终知道所有处理会话消耗的资源。
7、根据权利要求1的业务集成系统,其中,所述业务集成系统对分配给由所述业务集成系统处理的不同会话的资源量进行控制。
8、根据权利要求1的业务集成系统,使得能够进行在TappS 10系统内以及TappS 10系统与网络之间进行确定的通信业务控制。
9、根据权利要求1的业务集成系统,其中,所述网络是传送时间敏感通信业务的实时通信网络。
10、根据权利要求1的业务集成系统,其中,所述网络是数据通信网络。
11、根据权利要求1的业务集成系统,其中,所述网络是至少组合有语音通信与数据通信的混合通信网络。
12、根据权利要求3的业务集成系统,其中,所述至少一个功能模块单元还包括:
(a)至少一个功能模块管理器;以及
(b)至少一个功能模块。
13、根据权利要求3的业务集成系统,其中,所述至少一个业务逻辑执行环境模块还包括:
(a)至少一个状态机控制器;
(b)至少一个存储器;以及
(c)至少一个可执行状态机。
14、根据权利要求1的业务集成系统,其中,所述至少一个资源控制单元还根据系统管理员限定的预定策略来优化通信业务流。
15、根据权利要求1的业务集成系统,其中,所述至少一个资源控制单元还分析并存储所述业务集成系统提供的各种业务的历史系统资源消耗率,并且使用存储的数据对流进行优化。
16、根据权利要求1的业务集成系统,其中,所述业务集成系统能够执行从包括以下功能的组中选择的至少一个功能:
(a)部署业务;
(b)执行业务;以及
(c)管理业务。
17、根据权利要求13的业务集成系统,其中所述至少一个可执行状态机还包括至少一个状态机。
18、一种用于通信网络的分布式体系结构的业务集成系统,其被实现为应用服务器,所述业务集成系统包括:
(a)至少一个用于管理和控制所述业务集成系统的装置,其与构成所述业务集成系统的多个装置进行交互以执行对所述业务集成系统的管理和控制;
(b)至少一个用于从网络发送消息和向网络接收消息的装置;
(c)至少一个用于提供业务逻辑执行环境以运行业务的装置;以及
(d)至少一个用于优化所述业务集成系统的组件之间以及所述业务集成系统与网络之间的数据流的装置,所述用于优化流的装置至少与所述用于从网络发送消息和向网络接收消息的装置以及与所述用于提供业务逻辑执行环境的装置相连接。
19、根据权利要求18的业务集成系统,其中,所述业务集成系统能够执行从包括以下功能的组中选择的至少一个功能:
(a)部署业务;
(b)执行业务;以及
(c)管理业务。
20、一种用于在通信网络中提供业务的方法,包括以下步骤:
(a)从所述通信网络接收新消息;
(b)与独立集中网络资源进行协商:所述新消息是新业务请求还是与已在执行的业务相关的消息;
(c)如果所述新消息与已在执行的业务相关,则将所述新消息传送到与其相关的在执行的业务;
(d)如果所述新消息是新业务请求,则将所述新消息传送到用于执行所请求业务的业务逻辑执行环境,并且执行步骤(e)和(f);
(e)从所述业务集成系统支持的业务中解析出所请求的业务;以及
(f)执行所述解析出的业务。
21、根据权利要求20的方法,其中,所述步骤(f)进一步包括以下步骤:
(a)通过所述在执行的业务来布置任务以通过所述业务集成系统来执行;
(b)通过所述业务集成系统来处理所述任务;以及
(c)通过所述在执行的业务从通信网络和所述业务集成系统来接收新消息。
22、根据权利要求21的方法,其中所述步骤(b)进一步包括以下步骤:
(a)向通信网络发送消息;以及
(b)向所述在执行的业务发送消息。
23、一种用于为通信网络部署新业务的方法,包括以下步骤:
(a)利用高级计算机语言源代码来实现所述新业务;
(b)编译所述源代码;以及
(c)通过将所述经编译的源代码安装到存储器中来将所述经编译的源代码与所述通信网络相集成,其中所述新业务准备被执行。
24、一种用于控制业务集成系统内和业务集成系统间以及所述业务集成系统与通信网络之间的通信业务流的方法,包括以下步骤:
(a)确定接收到的任务的预期资源消耗需求;
(b)确定外部网络信道的资源负载水平;
(c)确定内部网络信道的资源负载水平;以及
(d)根据执行步骤(a)、(b)和(c)而得到的结果,将消息转发到选择的网络信道。
25、根据权利要求9的业务集成系统,其中,所述时间敏感通信业务是语音。
26、根据权利要求9的业务集成系统,其中,所述时间敏感通信是视频。
CNB038239825A 2002-10-09 2003-09-25 用于业务集成系统的方法和装置 Expired - Fee Related CN100345141C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41691402P 2002-10-09 2002-10-09
US60/416,914 2002-10-09

Publications (2)

Publication Number Publication Date
CN1703691A true CN1703691A (zh) 2005-11-30
CN100345141C CN100345141C (zh) 2007-10-24

Family

ID=32093924

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038239825A Expired - Fee Related CN100345141C (zh) 2002-10-09 2003-09-25 用于业务集成系统的方法和装置

Country Status (12)

Country Link
US (1) US20060129662A1 (zh)
EP (1) EP1550051A4 (zh)
JP (1) JP2006502493A (zh)
KR (1) KR20050067413A (zh)
CN (1) CN100345141C (zh)
AU (1) AU2003264850A1 (zh)
BR (1) BR0315160A (zh)
CA (1) CA2501408A1 (zh)
HK (1) HK1080570A1 (zh)
MX (1) MXPA05003667A (zh)
RU (1) RU2005113704A (zh)
WO (1) WO2004034273A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4093033B2 (ja) * 2002-12-02 2008-05-28 株式会社日立製作所 サービス部品選択支援方法
EP1674961A1 (en) * 2004-12-21 2006-06-28 International Business Machines Corporation Method for determining an applicable policy for an incoming message
CN1968134B (zh) * 2006-04-03 2010-05-12 华为技术有限公司 基于中间件实现多媒体融合业务的方法及系统
US20080195622A1 (en) * 2007-02-12 2008-08-14 Personeta Ltd. Service provisioning system
KR101586496B1 (ko) * 2009-02-11 2016-01-18 삼성전자주식회사 휴대용 거치대
KR101058932B1 (ko) 2009-03-09 2011-08-23 주식회사 케이티 플랫폼 액티베이터를 포함하는 모바일 플랫폼이 탑재된 이동통신단말 및 그 동작 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655081A (en) * 1995-03-08 1997-08-05 Bmc Software, Inc. System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture
ATE298172T1 (de) * 1995-12-11 2005-07-15 Hewlett Packard Co Verfahren zum zugreifen auf dienstmittelgegenstande für anwendung in einem fernmeldesystem
US6445782B1 (en) * 1996-11-19 2002-09-03 British Telecommunications Public Limited Company Service management system for use in communications
US6363411B1 (en) * 1998-08-05 2002-03-26 Mci Worldcom, Inc. Intelligent network
US7024450B1 (en) * 1997-10-06 2006-04-04 Mci, Inc. Method and apparatus for deploying service modules among service nodes distributed in an intelligent network
US6804711B1 (en) * 1997-10-06 2004-10-12 Mci, Inc. Method and apparatus for managing call processing services in an intelligent telecommunication network
US6425005B1 (en) * 1997-10-06 2002-07-23 Mci Worldcom, Inc. Method and apparatus for managing local resources at service nodes in an intelligent network
US6418461B1 (en) * 1997-10-06 2002-07-09 Mci Communications Corporation Intelligent call switching node in an intelligent distributed network architecture
US6393481B1 (en) * 1997-10-06 2002-05-21 Worldcom, Inc. Method and apparatus for providing real-time call processing services in an intelligent network
US6415027B1 (en) * 1998-08-12 2002-07-02 Bellsouth Intellectual Property Corporation Networks, systems and methods for intelligently routing traffic within a telephone network
US6654801B2 (en) * 1999-01-04 2003-11-25 Cisco Technology, Inc. Remote system administration and seamless service integration of a data communication network management system
US6212262B1 (en) * 1999-03-15 2001-04-03 Broadpoint Communications, Inc. Method of performing automatic sales transactions in an advertiser-sponsored telephony system
US6904054B1 (en) * 2000-08-10 2005-06-07 Verizon Communications Inc. Support for quality of service and vertical services in digital subscriber line domain
US6829250B2 (en) * 2000-08-10 2004-12-07 Verizon Communications Inc. Automatic programming of customer premises equipment for vertical services integration
US7170905B1 (en) * 2000-08-10 2007-01-30 Verizon Communications Inc. Vertical services integration enabled content distribution mechanisms
WO2002019062A2 (en) * 2000-09-01 2002-03-07 Tut Systems, Inc. A method and system to implement policy-based network traffic management
WO2002078365A1 (en) * 2001-03-21 2002-10-03 Pelago Networks, Inc. Programmable network service node
JP3678161B2 (ja) * 2001-04-11 2005-08-03 日本電気株式会社 ゲートウェイシステム及びそれに用いるマネジメント一括管理方法

Also Published As

Publication number Publication date
US20060129662A1 (en) 2006-06-15
MXPA05003667A (es) 2005-09-20
EP1550051A2 (en) 2005-07-06
RU2005113704A (ru) 2006-01-27
CA2501408A1 (en) 2004-04-22
CN100345141C (zh) 2007-10-24
EP1550051A4 (en) 2006-06-07
HK1080570A1 (zh) 2006-04-28
KR20050067413A (ko) 2005-07-01
JP2006502493A (ja) 2006-01-19
BR0315160A (pt) 2005-08-16
WO2004034273A3 (en) 2004-05-27
WO2004034273A2 (en) 2004-04-22
AU2003264850A1 (en) 2004-05-04

Similar Documents

Publication Publication Date Title
CN1649324B (zh) 操作带有代理的开放api网络的方法和装置
KR100889977B1 (ko) 응용프로그램 및 서비스 서버 관리를 위한 프로토콜독립형 제어 모듈을 이용한 매체 세션 틀
Amir et al. An active service framework and its application to real-time multimedia transcoding
US7185094B2 (en) Media session framework using a control module to direct and manage application and service servers
CN1175619C (zh) 对管理的网络环境中的数据分配进行调节的方法
RU2419998C2 (ru) Способ управления работой терминала связи, терминал и система связи
US7272133B2 (en) Method and system for implementing standard applications on an intelligent network service control point through an open services gateway
US8719780B2 (en) Application server with a protocol-neutral programming model for developing telecommunications-based applications
US20040216147A1 (en) Component based application middleware framework
CN115426391A (zh) 一种远程过程调用协议自适应方法、相关装置及服务器
WO2003058462A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
CN1500328A (zh) 使用业务脚本提供网络服务的方法和系统
CN101404630B (zh) 互联网业务接入网关的实现方法和系统
WO2010075884A1 (en) Method in a database server
CN100345141C (zh) 用于业务集成系统的方法和装置
CN1794735A (zh) 基于分布式架构的软交换应用服务器系统
WO2014036715A1 (zh) 基于交付点的实时资源供应流程控制系统和方法
Bessler et al. An orchestrated execution environment for hybrid services
US20030061257A1 (en) Multithreaded universal daemon for network data exchanges
Ribeiro et al. The application of JADE and OSGi technologies in the telecommunications services architecture
CN116319983A (zh) 一种面向服务通讯的中间件
Carneiro et al. Using Management by Delegation for Distributed Alarm Management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071024

Termination date: 20110925