IP Library Granted Patent US 8,448,159
Granted Patent B2
US 8,448,159 · App. 11/982,675 · Granted May 21, 2013

Method and system for policy enabled programming

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,448,159
App. No.
11/982,675
Granted
May 21, 2013
Kind
B2
Abstract

A system and method for allowing external execution-time adaptation of application behavior of an application in a telecommunication system without modification to the application code comprises an application having at least one break point and residing on an application server, at least one identifiable decision engine, and a listing of break points that has for each break point at least one identifier of the decision engine, such that at one of the break points, the application accesses the listing of break points, invokes the listed instances of the decision engine corresponding to the break point, and adapts application behavior based on the decision engine. In addition, each entry in the listing of break points can have a sequence number so that if two entries for the same break point have equal sequence numbers, the decision engines identified in these entries can be invoked in parallel.

Claims (25)

1. A method for allowing external execution-time adaptation of behavior of an application in a telecommunication system, the method comprising:

accessing a list of break point configurations external to the application at individual break points in an application, the list of break point configurations having at least one identifier of at least one decision engine that is external to the application for the individual break points, the list of break point configurations being configured to permit modification of the at least one identifier of the at least one decision engine while the application is executing, the at least one decision engine being configured to be modified without editing the application while the application is executing;

invoking the at least one decision engine corresponding to the individual break points using the at least one identifier;

adapting the application behavior based at least in part on the modification of at least one of the at least one identifier of the at least one decision engine of the listing of break point configurations and the at least one decision engine,

wherein accessing the list comprises accessing a sequence number associated with the at least one decision engine corresponding to the at least one break point in the listing; and

invoking more than one decision engine in parallel in response to more than one decision engine existing for a break point and the sequence number for individual ones of the more than one decision engine being equal.

2. The method according to claim 1 , wherein accessing the list comprises accessing attribute mapping for the at least one identifier and an action type for the at least one identifier.

3. The method according to claim 1 , further comprising dynamically mapping individual break points to at least one corresponding decision engine.

4. A system for allowing external execution-time adaptation of behavior of an application, the system comprising:

at least one decision engine adapted to operate on a decision engine computing device, the at least one decision engine configured to interact with an application residing on an application server, the application server comprising a server computing device separate from the decision engine computing device, wherein the at least one decision engine is external to the application and wherein the application has at least one break point, the at least one decision engine configured to be modified without editing the application while the application is executing; and

at least one storage element operably connected to the application server, the at least one storage element configured to contain a listing of break point configurations comprising at least one identifier of the at least one decision engine for the at least one break point, the application being configured to access the listing of break point configurations at the at least one break point, the listing of break point configurations being configured to permit modification of the at least one identifier of the at least one decision engine while the application is executing,

wherein the at least one decision engine is configured to enable the application to invoke the at least one decision engine for the at least one break point using the at least one identifier, and wherein at least one of the listing of break point configurations and the at least one decision engine are configured to adapt behavior of the application while the application is executing based at least in part on the modification of the at least one identifier of the at least one decision engine in the listing of break point configurations and the modification of the at least one decision engine;

wherein the listing of break point configurations further comprises a sequence number associated with the at least one decision engine in the listing; and

the application is configured to invoke more than one decision engine in parallel in response to more than one decision engine existing for a break point and the sequence number for individual ones of the more than one decision engine being equal.

5. The system according to claim 4 , wherein the storage element is configured to maintain the listing of break point configurations external to the application.

6. The system according to claim 4 , wherein the listing of break point configurations further comprises attribute mapping for the at least one identifier and an action type for the at least one identifier.

7. The system according to claim 4 , wherein the listing of break point configurations is configured to dynamically map the at least one break point to the corresponding at least one decision engine.

8. An article of manufacture including a non-transitory computer-readable medium having instructions stored thereon that, in response to execution by a computing device, cause the computing device to perform operations comprising:

accessing a list of break point configurations external to the application at individual break points in an application, the list of break point configurations having at least one identifier of at least one decision engine external to the application for the individual break points, the list of break point configurations being configured to permit modification of the at least one identifier for the at least one decision engine while the application is executing, the decision engine being configured to be modified without editing the application while the application is executing;

invoking the at least one decision engine corresponding to the individual break points using the at least one identifier;

adapting the application behavior based at least in part on the modification of at least one of the at least one identifier of the at least one decision engine of the listing of break point configurations and the at least one decision engine,

wherein accessing the list comprises accessing a sequence number associated with the at least one decision engine corresponding to the at least one break point in the listing; and

invoking more than one decision engine in parallel in response to more than one decision engine existing for a break point and the sequence number for individual ones of the more than one decision engine being equal.

9. The article of manufacture of claim 8 , wherein accessing the list comprises accessing attribute mapping for the at least one identifier and an action type for the at least one identifier.

10. The article of manufacture of claim 8 , wherein the instructions further cause the computing device to dynamically map individual break points to at least one corresponding decision engine.

Assignments (5)
MERGER Recorded Sep 28, 2015
From: TTI INVENTIONS C LLC
To: NYTELL SOFTWARE LLC
Reel/Frame 036703/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2012
From: TELCORDIA LICENSING COMPANY LLC
To: TTI INVENTIONS C LLC
Reel/Frame 027678/0854 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2009
From: TELCORDIA TECHNOLOGIES, INC.
To: TELCORDIA LICENSING COMPANY, LLC
Reel/Frame 022871/0920 →
RELEASE OF SECURITY INTEREST Recorded Mar 17, 2009
From: WILMINGTON TRUST COMPANY
To: TELCORDIA TECHNOLOGIES, INC.
Reel/Frame 022408/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2008
From: COCHINWALA, MUNIR; MICALLEF, JOSEPHINE; WULLERT II, JOHN R.
To: TELCORDIA TECHNOLOGIES, INC.
Reel/Frame 021772/0588 →