CN101842781B - 用于策略使能编程的方法和系统 - Google Patents

用于策略使能编程的方法和系统 Download PDF

Info

Publication number
CN101842781B
CN101842781B CN2008801139550A CN200880113955A CN101842781B CN 101842781 B CN101842781 B CN 101842781B CN 2008801139550 A CN2008801139550 A CN 2008801139550A CN 200880113955 A CN200880113955 A CN 200880113955A CN 101842781 B CN101842781 B CN 101842781B
Authority
CN
China
Prior art keywords
point
interruption
application program
decision engine
identifier
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.)
Active
Application number
CN2008801139550A
Other languages
English (en)
Other versions
CN101842781A (zh
Inventor
穆尼尔·科钦瓦拉
约瑟芬·米卡勒夫
约翰·R·乌尔特Ii
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.)
Iconectiv LLC
Original Assignee
Telcordia Technologies Inc
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 Telcordia Technologies Inc filed Critical Telcordia Technologies Inc
Publication of CN101842781A publication Critical patent/CN101842781A/zh
Application granted granted Critical
Publication of CN101842781B publication Critical patent/CN101842781B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Stored Programmes (AREA)

Abstract

在不对应用程序代码进行修改的情况下允许在电信系统中对应用程序的应用程序行为进行外部执行时适配的系统和方法包括:具有至少一个中断点并驻留在应用程序服务器上的应用程序;至少一个可识别的决策引擎;以及针对每一个中断点,具有决策引擎的至少一个标识符的中断点列表,使得在中断点中的一个处,应用程序访问中断点列表,调用与一个中断点相对应的决策引擎的所列实例,并基于该决策引擎对应用程序的行为进行适配。此外,中断点列表中的每一个条目可以具有序列号,使得如果针对同一个中断点的两个条目具有相等的序列号,可以并行地调用在这些条目中识别出的决策引擎。

Description

用于策略使能编程的方法和系统
技术领域
本发明大致涉及通信、信息和娱乐服务的编程。
背景技术
以传统形式编写的软件应用程序具有在应用程序代码内定义的所有功能。一旦部署了这样的应用程序,提供该应用程序的提供商便没有影响应用程序的行为的余地。应用程序具有少数可以调节的参数,然而通常除非修改了应用程序代码,否则应用程序的行为是固定的。
希望专注于动态市场的服务提供商需要快速提供新服务的灵活性。与修改应用程序代码相关的周期令人不可接受地延缓了该过程。从而,对于应用程序代码,需要在不等待软件发布的情况下便可以对应用程序行为进行修改。
在用于构建智能电话网络服务的智能网和高级智能网概念的开发中,涉及到类似的动机。通过改变在电话交换机内的代码来构造新的服务是可能的,然而这相当的慢和麻烦。所选方式是精确地定义呼叫模型,该呼叫模型指定了在建立双方之间的连接时电话交换软件的状态。在呼叫模型中的各个点处,可配置电话交换机向外部服务控制点查询关于怎样进行处理的指令。通过改变服务控制点中逻辑的行为而不对交换系统内的软件自身做出改变,便可以产生新的服务功能。
该方式极大地依赖于对交换系统的状态进行指定的公共呼叫模型和所期望的行为。因为从一个系统到另一个系统,建立呼叫的处理是一致的,因此可以定义这样的呼叫模型。呼叫模型的定义和商定花费相当多的时间,这是可以容忍的,因为电话呼叫的处理在时间上是相对静态的。在提供商频繁地提供新的并且变化的服务的环境中,为服务逻辑的内部状态定义如此详细的模型将是不可能的。虽然该公共呼叫模型技术具有所期望的特性,然而不能将其直接应用于对紧急的、新的并且变化的服务所进行的处理。
电信设备厂商和运营商通过向呼叫处理系统增加附加特征来解决类似的问题。该商定的解决方案(高级智能网(AIN)的基础)定义了另一公共呼叫模型,作为对电话呼叫的建立进行处理的基础。该公共呼叫模型提供了事件的预定义集合,其中,可以向外部系统查询决策。例如,美国专利5,940,487,“Programmable call processing systemand method”,Bunch等人示意了在与AIN耦合的分布式电信交换系统上的这种方式。这种处理呼叫的服务交换点(交换机)与处理服务逻辑的服务控制点的分离允许在不对交换机内的软件进行改变的情况下对新的呼叫服务进行了定义。这种方式对于控制电路交换网内的电话呼叫起到很好的作用,并通过诸如Parlay组织规范和Java社区处理JAIN规范等工业论坛的结果扩展到下一代分组交换网络中。需要这样的标准化的事实指示了该方式的局限在于,其处理特定的功能(呼叫控制)并要求事先协定和/或对功能的标准化。从而,该方式适于在时间上静态的应用程序功能。
在美国专利6,970,901,“Device and method for swapping out a partof a service logic program”中,Moritz教导了用于在多个实体上分布服务逻辑的机制。Moritz特别地专注于使用作为客户端的智能终端的日益增加的能力,这是通过将服务逻辑的一部分分布到客户端来实现的。Moritz公开了用于使用这种分布式的方式来确定与计费相关的信息的方法。对客户设备的分布可以实现个性化,然而并未易于实现对整个服务的行为的修改,因为必须将改变传播到所有的客户端设备。因为可以事先对通信机制(Moritz中的“计费票”)进行定义和编码,简化了对单个主题(如,计费)的分布的实现。从而,Moritz解决了灵活的业务逻辑编程的需求,然而是在非常有限的领域中解决的。
在美国专利6,967,957,“Architecture for the rapid creation oftelephony services in a next generation network”中,Anjum等人描述了面向对象的呼叫模型,该呼叫模型“向应用程序隐瞒了基本的呼叫状态管理协议和硬件”。特别地,Anjum等描述了新的呼叫模型,该呼叫模型被设计为抽象得足以表示在电路交换和分组交换电话网络中的呼叫控制。这种呼叫模型比其所基于的Java电话应用程序接口(JTAPI)模型更加灵活,然而仍然表示单个功能。从而,该模型不能够应用于更一般的情况中,在更一般的情况中,事先没有很好地定义行为或对行为有清楚地了解。
开放移动联盟(OMA)内的策略评估执行管理(PEEM)研究描述了用于策略评估和执行的架构来作为OMA的服务使能器(enabler)的支持,在草案需求文档“Policy Evaluation,Enforcement andManagement Architecture”(OMA-AD-Policy_Evaluation_Enforcement_Management-V1_0-200600625-D)中对此进行了指定。这些使能器包括诸如群列表管理、消息收发和位置等功能。该架构被设计提供针对这些使能器的公共框架,以查询策略决策。虽然不要求,但作为用于在此描述的策略使能编程的构造块,这种能力将是有用的,因为这种能力可以简化系统间映射接口的处理。然而,OMA的工作没有指定使能器将如何确定何时查询策略引擎(PEEM使能器)或者查询哪个策略引擎。
另一种方式为工作流系统所支持。在这些常常应用于复杂的命令处理的系统中,处理步骤的集合是以在运行时进行翻译的文本的形式定义的,而不是以软件代码的形式编译的。这提供了灵活性,因为可以在不改变工作流引擎的代码的情况下修改工作流。然而,翻译工作效率低下,导致性能足以用于命令处理,然而对于实际业务的执行来说通常是不足的。
数据库系统还提供了另一种机制,在该机制中,可以调用触发器和所存储的流程来执行逻辑,该机制提供了大量的灵活性。然而,仅存在针对于对数据库中数据的插入、删除、更新和选择的数据库操作的,可以执行所存储的流程的操作。该方式的问题在于对数据库操作的限制;整个规范在数据库系统内,并且除非巡览过数据和相关联的触发器和所存储的流程,否则不是能够轻易对照或修改的。
因此,当前的处理被限制于特定的软件应用程序类型(如,呼叫处理),并且在应用程序处理模型可以使用之前,具有该应用程序处理模型所需的高级协定和/或标准化。其它当前的处理仅存在于诸如数据库和工作流系统等中间件内,这限制了这些其它的当前处理的范围,并且不满足对于服务执行的性能需求。
从而,需要能够动态地确定何时以及在何处查询诸如策略引擎等外部决策点的系统。还需要结构化和高效的、用于配置这种动态查询的机制,其特征在于,可以被配置为受控的选项集合的中断点。
发明内容
本发明有利地提供了用于构造和部署应用程序软件的设计架构和方法学,该设计架构和方法学允许在执行期间,在不改变应用程序的代码的情况下,适配或配置应用程序的行为。提供了通过应用程序的配置或适配,针对不同的目的对单个软件应用程序的多次重用。此外,本发明的系统和方法实现了新的业务行为的快速部署,这是因为可以在没有与软件开发周期相关联的延迟的情况下传递这些新的业务行为。
一种系统和方法,用于允许在电信系统中对应用程序的应用程序行为进行外部执行时适配,所述系统包括:具有至少一个中断点并驻留在应用程序服务器上的应用程序;至少一个可识别的决策引擎;以及针对每一个中断点,具有决策引擎的至少一个标识符的中断点列表,使得在中断点中的一个处,应用程序访问中断点列表,调用与中断点相对应的决策引擎的所列实例,并基于该决策引擎对应用程序的行为进行适配。
中断点列表可以是应用程序外部的文件,并可以包含针对每一个标识符和针对每一个标识符的动作类型的属性映射,此外,中断点列表可以动态地将中断点映射到决策引擎。
附图说明
通过以非限制地示出的本发明的实施例的方式来参考所提到的图,对随后的详细描述进行了进一步的描述,在图中,相同的附图标记表示所有图中类似的部分。然而,应该理解的是,本发明不限于所示出的精确的布置和手段。在图中:
图1是用于策略使能的程序执行的架构;以及
图2是中断点配置的示例性的表;以及
图3是示出在处理中断点配置表中的条目时,应用程序的行为的流程图。
具体实施方式
提出了允许应用程序行为的外部执行时间适配的系统和方法。该方式的关键特征是,向应用程序开发员提供了与所编译的代码相关联的性能以及对应用程序流内的决策点和可能的动作进行定义的灵活性的,允许将这些决策点动态地映射到外部的评估引擎,以及使得当部署应用程序时或甚至在执行应用程序时能够将被配置的应用程序的行为,而不是仅在应用程序的设计和开发期间能够配置应用程序的行为。
有两种支持这种系统和方法的特定机制。第一种是外部表,如中断点配置表。应用程序在其执行期间到达中断点时读取该表,以确定采取什么动作。基于对在给定的中断点处应用程序已定义了什么属性或变量的了解,可以与应用程序分离地定义该表中的条目,并且甚至可以在应用程序运行时改变该表中的条目。第二种适配方法包含在外部系统中。这些系统内的逻辑、策略和/或规则将创建将要影响到应用程序的后续流程和行为的响应。采用这两种机制,可以在不必重写或修改应用程序代码的情况下对应用程序的行为进行重大的修改。
图1示出了本发明系统的一个实施例。策略使能的应用程序10驻留在电信系统(未示出)的应用程序服务器12中。策略使能的应用程序10是以应用程序逻辑的流程内的可配置中断点14的指定集合来构建的。当应用程序代码的执行到达这些中断点14中的一个时,应用程序代码查看中断点配置的列表或外部表16(如,中断点配置表),所述中断点配置的列表或外部表16包含包括动作类型18在内的数据。通过评估该数据,应用程序10可以确定在中断点14处将要采取的动作。为了管理表的复杂度,可以限制可能的动作类型的数目。对于应用程序,一般的动作可以是向外部系统20发送数据,并使用所产生的响应来确定应用程序的后续动作。如在其已编译的代码内所定义的那样,执行这些后续动作,作为具有相关联的性能的应用程序10的一部分。外部系统20可以是决策引擎、策略引擎或从应用程序10接收输入、应用所定义的一个或多个策略的集合以及提供响应的策略决策点。通过修改该策略中的一个或多个,而不是通过改变应用程序的代码来改变应用程序的行为。在备选的实施例中,可以在应用程序10中实现跳转表(未示出)。在这种情况下,可以通过修改外部决策点或通过修改和重新编译应用程序10来改变应用程序的行为。
注意,外部系统20还可以是工作流系统、数据库系统或甚至另外的软件应用程序。甚至在将决策点硬编码于策略使能应用程序10中的情况下,可将映射改变为指向不同的软件应用程序的事实也提供了灵活性。
策略使能应用程序10可以对其从外部策略引擎20接收到的响应做出反应的方式有很多。构造在确定其后续行为时给予外部系统20完全的灵活性的应用程序10可能是极端困难和容易出错的。然而,通过对动作类型或选项18的范围进行了适当的限制,可以将复杂度保持在可管理的水平。特别地,可以基于外部系统20提供的响应来设计应用程序,以支持数目有限的动作类型18。这些动作类型18的示例可以包括分支或双路的决策点动作、空动作和变量替换动作。
在双路决策点动作18中,应用程序10向外部系统20发送消息,并且外部系统提供二进制(即,“是/否”或“真/假”)响应。如果响应是“是”,那么应用程序10沿着一条预定义的路径前进,如果响应是“否”,应用程序10沿着另一条路径前进。当应用程序10在该决策点动作18中仅执行两个选项中的一个时,基于外部系统20用来进行决策的策略或处理,整个行为可以发生极大的改变。可以将此扩展到可能存在多条路径的多路决策动作。
作为示例,被设计为向用户传递或发送数字内容项的应用程序10可以包括刚好在内容发送之前的中断点14。响应于该中断点14,应用程序10在向外部策略引擎20的查询中提供识别用户以及内容项列表的信息。如果响应是“是”,应用程序被编程为继续进行内容的传输,如果响应是“否”,取消传输。在一种情况下,外部系统20可以是确定用户是否有充足的结余来支付该项的实时计费引擎。如果用户的结余充足,外部系统20将用户的账户计入借方并返回“是”,如果结余不足,外部系统20返回“否”。在另一种情况中,外部系统20可以是授权系统,该授权系统仅允许将内容下载到特定物理位置内的用户,以例如作为公司的安全措施或作为餐馆吸引游客的手段。如果用户位于针对该内容项指定的区域范围内,外部系统20返回“是”,如果没有,系统20返回“否”。从而,两种使用截然不同的外部系统20的完全不同的服务使用同一个内容传递策略使能的应用程序10。
在空动作18的情况下,应用程序10只是执行中断点14并继续操作。空动作适于应用程序只是需要告知外部系统20某些事件的情况。在上述的内容下载服务示例中,可以指示应用程序10刚好在内容发送之前执行包括空动作在内的中断点14。执行该中断点14可以使得外部系统记录包括内容项列表在内的下载事件,以使得在下一个记账周期期间针对该内容向具有后付费账户的用户收费。
在变量替换动作18的情况下,应用程序10使用来自外部系统20的响应来改变应用程序10正在处理的变量的值。在以上的内容下载服务示例中,可以指示应用程序10刚好在内容发送之前执行包括变量替换动作在内的中断点14。执行该中断点14可以使得外部系统20过滤内容项的列表,移除其评定信息指示其不能被用户所接受的那些内容项,这可能是基于所识别的用户的年纪或偏好来进行的。然后,外部系统20向应用程序10返回经过滤的列表,应用程序10使用经过滤的列表来替换初始的内容项列表,并继续进行下载。
可以限定其它的动作类型18,在对应用程序流的控制中提供更大的灵活性。注意,期望限制动作类型或选项18的数目,以避免在应用程序10的构建中不适当的复杂度。
策略使能的应用程序10可以在应用程序服务器12或服务传递平台内执行,并可以本地访问中断点配置表16,该中断点配置表16可以指定与每一个中断点14相关联的应用程序的行为。图2示出了可由负责产品/服务部署的供应系统填充的示例性的表16。表16不仅包括以上讨论的动作类型18,还包括下面将要更详细地描述的随后的字段:策略引擎或外部系统20的地址、序列号24和属性映射26。策略使能的应用程序10可以与一个或多个外部策略决策点交互。配置表16将程序流内的点与交互的方式(如,发送的属性)相链接,在所述程序流中,可以以与其交互的特定决策点来执行交互。
虽然在此的讨论描述了策略决策点,在此处定义的机制中,没有将外部系统20限制为策略评估器。任何具有所定义的调用接口的外部系统20都可以被用来替换策略决策点。
表1中示出了简化的抽样配置表16。在这种情况下,存在与中断点14相关联的两个中断点条目。针对第一个条目,应用程序10必须通过经由表16中的系统地址22向策略引擎1发送属性A、B和C来执行属性映射,并使用响应来替换属性C的值。针对第二个条目,应用程序10必须经由表16中的系统地址22向策略引擎1发送属性26A、C和D,并基于“是/否”响应来执行决策点动作18。序列栏中的序列号24指示了与单个中断点14相关联的调用的执行顺序。可以并行地执行共享序列号24的调用。在没有使用序列号24的情况下,应用程序10可以以在文件中找到的顺序来执行查询。
表1中断点配置表
  中断点ID   中断点类型   序列号  系统地址   属性映射   响应替换
  1   变量替换   1  策略引擎1   A、B、C   C
  1   分支   2  策略引擎1   A、C、D
  2   空   1  策略引擎1   X、Y、Z
图3包含示出了图1所示的应用程序10的行为的流程图。参考该图的左侧,在步骤S 1处发起时,应用程序10通过阶段1执行所设计的活动。在步骤S2,应用程序到达中断点114。在该点处,应用程序查看中断点配置表16,看是否有任何与中断点114相关联的条目。
图3的右侧示出了在中断点1模块内用于处理这些条目的流程。一旦在步骤S3处进入,应用程序10在步骤S4处调用外部系统20,使用表16中定义的属性映射26。当外部系统20响应时,应用程序10在步骤S5处确定正在处理的中断点的类型或动作类型18。如果中断点类型18是变量替换,应用程序10在步骤S6处执行配置表16中定义的替换,并前进至步骤S7检验是否有更多的中断点14要处理。如果中断点类型18是空,应用程序10不需要等待响应,并直接前进至步骤S7以检验是否有更多的中断点14需要处理。如果中断点类型18是分支,应用程序10在步骤S8处检验来自外部系统20的响应。如果外部系统20的响应是“是”,应用程序10前进至在步骤S7处的检验更多的中断点14。如果外部系统响应是“否”,应用程序在步骤S9处以“否”的退出条件从对任何其它中断点条目14的处理中断,并返回主应用程序流程。当没有更多的终端点条目14要处理时,应用程序10在步骤S10处以“是”的退出条件返回主应用程序流。
没有示出在与外部系统20的交互中对异常和错误条件的处理。应用程序10可以被编程为具有各种异常处理行为,以处理返回的错误和无响应的超时。备选地,可以对表进行扩展以指示在特定的处理异常的情况下所采取的动作。对于本机制来说,应用程序10处理这些情况的方式不是关键的。
该动态编程方式的关键方面是,可以将应用程序中断点14动态地映射到决策点系统20以及决策点系统20内特定的策略。有无数的可以执行该映射的方法。可能最直接的方法是人工方式,在人工方式中,人类分析者创建中断点配置表16、定义与每一个中断点14相对应的策略、将配置表16加载到应用程序服务器12中以及将策略加载到决策点中。如果可以以结构化的方式使应用程序中断点14和策略可见,映射处理中更大的自动化和有效程度是可能的。
设计环境可以将所有中断点14的结构化表示导入到用户所选的应用程序10中。设计环境可以从其所知的决策点取得策略。当人类用户选择中断点14(表2中示出了中断点14的简要表示)时,设计环境可以取得并呈现那些有效的策略。例如,如果中断点14仅允许分支操作或两路决策动作18,只有那些返回是/否或真/假值的那些策略才是适合的。在选择策略后,用户可以将在所选中断点14处从软件应用程序20可用的变量映射到在如表3所示的策略的接口中指定的变量。然后,设计环境可以使该映射生效,例如确保诸如串、整数等的类型匹配。在以这种方式成功定义所有的映射后,设计环境可以创建对应的中断点配置表16并将其安装在应用程序服务器12上。
表2简化的中断点表示结构
  中断点
  名称
  描述
  所允许的类型(空、变量替换、分支)
  可用变量(名称和类型)
  …
表3简化的策略调用接口结构
  策略
  名称
  描述
  输入[变量1(名称/类型),变量2…]
  输出[变量1(名称/类型),变量2…]
  …
虽然已在具体的实施例中对本发明进行了描述,然而应该意识到的是,不应将本发明解释为被这些实施例所限制,而是应该根据下面的权利要求来进行解释。

Claims (12)

1.一种系统,用于允许对应用程序的行为进行外部执行时适配,所述系统包括:
至少一个决策引擎,被适配为在决策引擎计算设备上操作,并且被配置为与驻留在应用程序服务器上的应用程序交互,所述应用程序服务器包括与所述决策引擎计算设备分离的服务器计算设备,其中,所述至少一个决策引擎在所述应用程序外部,并且所述应用程序具有至少一个断点;以及
中断点配置列表,所述中断点配置列表针对至少一个中断点,包括所述至少一个决策引擎的至少一个标识符,所述应用程序被配置为在所述至少一个中断点处访问所述中断点配置列表,所述中断点配置列表被配置为允许在所述应用程序执行时修改所述至少一个决策引擎的至少一个标识符;
其中,在所述至少一个中断点处,所述应用程序访问所述中断点配置列表,使用所述至少一个标识符调用针对所述至少一个中断点的所述至少一个决策引擎,以及
所述中断点配置列表中的至少一项以及所述至少一个决策引擎被配置为:至少部分地基于对所述中断点配置列表中的所述至少一个决策引擎的至少一个标识符的修改以及对所述至少一个决策引擎的修改,在所述应用程序执行时对所述应用程序的行为进行适配。
2.根据权利要求1所述的系统,其中,所述中断点配置列表在所述应用程序外部。
3.根据权利要求1所述的系统,其中,所述中断点配置列表还包括:针对所述至少一个标识符的属性映射以及针对所述至少一个标识符的动作类型。
4.根据权利要求1所述的系统,其中,所述中断点配置列表还包括:与所述列表中的每一个条目相关联的序列号。
5.根据权利要求1所述的系统,其中,所述中断点配置列表被配置为:动态地将所述至少一个中断点映射到相应的所述至少一个决策引擎。
6.根据权利要求1所述的系统,还包括:驻留在应用程序服务器上的应用程序。
7.根据权利要求6所述的系统,其中,所述中断点配置列表还包括:与所述列表中的每一个条目相关联的序列号;并且
如果针对所述至少一个中断点的每一个条目的序列号是相等的,则并行地进行调用。
8.一种用于允许在电信系统中对应用程序的行为进行外部执行时适配的方法,所述方法包括:
在应用程序中的中断点处,访问所述应用程序外部的中断点配置列表,针对所述中断点,所述中断点配置列表具有至少一个决策引擎的至少一个标识符,所述至少一个决策引擎在所述应用程序外部,所述中断点配置列表被配置为允许在所述应用程序执行时修改所述至少一个决策引擎的至少一个标识符;
使用所述至少一个标识符调用与所述中断点相对应的所有决策引擎,以及
至少部分地基于对所述中断点配置列表中的所述至少一个决策引擎的至少一个标识符的修改以及对至少一个决策引擎的修改中的至少一项,对所述应用程序的行为进行适配。
9.根据权利要求8所述的方法,其中,访问所述列表的步骤包括:访问针对所述至少一个标识符的属性映射以及针对所述至少一个标识符的动作类型。
10.根据权利要求8所述的方法,其中,访问所述列表的步骤包括:访问与所述列表中的每一个条目相关联的序列号。
11.根据权利要求10所述的方法,其中,如果针对至少一个中断点的每一个条目的序列号是相等的,则并行地进行调用。
12.根据权利要求8所述的方法,还包括:动态地将中断点映射到至少一个决策引擎。
CN2008801139550A 2007-11-02 2008-11-03 用于策略使能编程的方法和系统 Active CN101842781B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/982,675 US8448159B2 (en) 2007-11-02 2007-11-02 Method and system for policy enabled programming
US11/982,675 2007-11-02
PCT/US2008/082240 WO2009059291A1 (en) 2007-11-02 2008-11-03 Method and system for policy enabled programming

Publications (2)

Publication Number Publication Date
CN101842781A CN101842781A (zh) 2010-09-22
CN101842781B true CN101842781B (zh) 2012-10-03

Family

ID=40589445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801139550A Active CN101842781B (zh) 2007-11-02 2008-11-03 用于策略使能编程的方法和系统

Country Status (8)

Country Link
US (1) US8448159B2 (zh)
EP (1) EP2208141A4 (zh)
JP (1) JP2011504621A (zh)
KR (1) KR101266685B1 (zh)
CN (1) CN101842781B (zh)
AU (1) AU2008318350B2 (zh)
CA (1) CA2704550C (zh)
WO (1) WO2009059291A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464791A (zh) * 2007-12-17 2009-06-24 鸿富锦精密工业(深圳)有限公司 代码插入系统及方法
KR100964191B1 (ko) * 2008-09-23 2010-06-17 한국전자통신연구원 개인 중심 서비스 제공을 위한 사용자 계층 기반 서비스 전달 플랫폼 장치 및 방법
WO2016175858A1 (en) 2015-04-30 2016-11-03 Hewlett Packard Enterprise Development Lp Dynamic function invocation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317757A (en) * 1992-02-06 1994-05-31 International Business Machines Corporation System and method for finite state machine processing using action vectors
US5826005A (en) * 1996-03-22 1998-10-20 Sun Microsystems, Inc. System and method for diagnosing computer program faults through the provision of program probe points and referenceable diagnostic program probes
CN1648873A (zh) * 2005-02-01 2005-08-03 苏州超锐微电子有限公司 断点调试功能的实现方法
CN1959652A (zh) * 2005-11-03 2007-05-09 国际商业机器公司 在分布式调试器中调试计算机程序的方法和装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02194434A (ja) 1989-01-23 1990-08-01 Mitsubishi Electric Corp 電子計算機
JP3489123B2 (ja) 1992-04-15 2004-01-19 株式会社日立製作所 アプリケーション結合方法
CA2101716A1 (en) 1992-10-29 1994-04-30 Philip S. Kasten Debugging/modifying of software systems
US5724406A (en) * 1994-03-22 1998-03-03 Ericsson Messaging Systems, Inc. Call processing system and method for providing a variety of messaging services
SE503376C2 (sv) * 1994-06-13 1996-06-03 Ericsson Telefon Ab L M Kundprofilerad telekommunikationstjänst
GB9508283D0 (en) * 1995-02-07 1995-06-14 British Telecomm Information services provision and management
US5619698A (en) * 1995-05-05 1997-04-08 Apple Computer, Inc. Method and apparatus for patching operating systems
US5940487A (en) * 1996-04-10 1999-08-17 Alcatel Usa Sourcing, L.P. Programmable call processing system and method
JP2994299B2 (ja) 1997-04-11 1999-12-27 三菱電機株式会社 プログラム実行の依頼と結果通知方法
WO1999035858A1 (de) * 1998-01-09 1999-07-15 Siemens Aktiengesellschaft Vorrichtung und verfahren zur auslagerung eines teils eines dienstlogik programms in einem intelligenten netz
US6134313A (en) * 1998-10-23 2000-10-17 Toshiba America Information Systems, Inc. Software architecture for a computer telephony system
US6298481B1 (en) * 1998-10-30 2001-10-02 Segasoft, Inc. System for modifying the functionality of compiled computer code at run-time
US6967957B2 (en) * 1998-12-11 2005-11-22 Telcordia Technologies, Inc. Architecture for the rapid creation of telephony services in a next generation network
US6330319B1 (en) * 1998-12-23 2001-12-11 Ericsson Inc. System and method for adding services to computer telephone systems
US7032213B1 (en) * 1999-09-01 2006-04-18 Microsoft Corporation Fixing incompatible applications using a light debugger
US7111053B1 (en) * 2000-05-20 2006-09-19 Ciena Corporation Template-driven management of telecommunications network via utilization of operations support services clients
US20020073410A1 (en) * 2000-12-13 2002-06-13 Arne Lundback Replacing software at a telecommunications platform
FR2820221B1 (fr) * 2001-02-01 2004-08-20 Cimai Technology Procede et systeme pour gerer des executables a bibliotheques partagees
US7055140B2 (en) * 2002-05-01 2006-05-30 Seiko Epson Corporation Software breakpoints implementation via specially named function
US7100172B2 (en) * 2002-11-27 2006-08-29 Microsoft Corporation System and method for changing operation of an application without recompiling
US7886287B1 (en) * 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
TW200513850A (en) * 2003-10-13 2005-04-16 Design Technology Inc G Patch and expansion method of memory program for digital signal processor
US7765525B1 (en) * 2004-09-01 2010-07-27 Intuit Inc. Operations manager infrastructure for dynamically updating software operational policy
JP2006268738A (ja) 2005-03-25 2006-10-05 Sanyo Electric Co Ltd 情報処理装置、修正プログラム生成方法および修正プログラム生成プログラム
US7802245B2 (en) * 2006-04-27 2010-09-21 Agere Systems Inc. Methods and apparatus for performing in-service upgrade of software in network processor
US7930691B2 (en) * 2006-04-27 2011-04-19 Agere Systems Inc. Methods and apparatus for updating data structures during in-service upgrade of software in network processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317757A (en) * 1992-02-06 1994-05-31 International Business Machines Corporation System and method for finite state machine processing using action vectors
US5826005A (en) * 1996-03-22 1998-10-20 Sun Microsystems, Inc. System and method for diagnosing computer program faults through the provision of program probe points and referenceable diagnostic program probes
CN1648873A (zh) * 2005-02-01 2005-08-03 苏州超锐微电子有限公司 断点调试功能的实现方法
CN1959652A (zh) * 2005-11-03 2007-05-09 国际商业机器公司 在分布式调试器中调试计算机程序的方法和装置

Also Published As

Publication number Publication date
US20090119656A1 (en) 2009-05-07
CN101842781A (zh) 2010-09-22
CA2704550A1 (en) 2009-05-07
KR101266685B1 (ko) 2013-05-28
EP2208141A1 (en) 2010-07-21
AU2008318350A1 (en) 2009-05-07
US8448159B2 (en) 2013-05-21
EP2208141A4 (en) 2011-12-07
AU2008318350B2 (en) 2012-10-04
WO2009059291A1 (en) 2009-05-07
KR20100099690A (ko) 2010-09-13
CA2704550C (en) 2014-09-02
JP2011504621A (ja) 2011-02-10

Similar Documents

Publication Publication Date Title
AU692883B2 (en) Customized telecommunication service
CN102542382B (zh) 业务规则的操作方法和装置
US20090221278A1 (en) Method for Customizing the Operation of a Telephonic Terminal
CN100583846C (zh) 语义化电信网络能力服务网关组件、网络系统和工作方法
CN101902756A (zh) M2m业务平台及其工作方法
CN102902595A (zh) 注入组合查询的单子评估
KR100880536B1 (ko) 이기종 컴퓨팅 및 서비스 통합을 위한 오픈 프레임워크시스템
CN102681878A (zh) 无需修改现有代码即可增加新软件特征的方法
CN103777961A (zh) 一种移动应用计费软件开发套件、移动应用和移动终端
CN102109984B (zh) 状态机的处理方法和系统
CN102842095A (zh) 一种应用程序购买方法及装置
CN101842781B (zh) 用于策略使能编程的方法和系统
KR101027891B1 (ko) 통신 네트워크에서의 방법 및 장치
CN102402455A (zh) 调用动态链接库的方法和装置
CN102387264B (zh) 呼叫控制策略的处理方法、装置及呼叫中心
CN116600025A (zh) 支持配置的数据协议转换方法、装置及存储介质
Daniel et al. Combining conceptual modeling and active rules for the design of adaptive web applications
CN102063655A (zh) Rfid系统的设备参数管理方法及rfid系统
Lee et al. Feature-oriented engineering of PBX software
WO2012136233A1 (en) Service broker system
CN103124381A (zh) 业务配置方法及系统
JP6887182B1 (ja) 入出力をカテゴライズされたオブジェクト間の協働を、配置可能なオブジェクトカテゴリが定義されたオブジェクトグループを利用して実現するコンピュータシステム及びアプリケーションプログラミングインターフェイス装置
Cipolla et al. Web service based asynchronous service execution environment
CN101969464B (zh) 基于mtk平台的应用程序开发系统及方法
AU740953B2 (en) System and method relating to generic handling of data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: TTI INVENTION A LLC

Free format text: FORMER OWNER: TELCORDIA TECH INC.

Effective date: 20120515

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120515

Address after: Delaware

Applicant after: Telcordia Tech Inc. (US)

Address before: new jersey

Applicant before: Telcordia Tech Inc.

C14 Grant of patent or utility model
GR01 Patent grant