IP Library Granted Patent US 7,680,913
Granted Patent B2
US 7,680,913 · App. 10/289,146 · Granted Mar 16, 2010

Mechanism to enforce availability preferences and needs of user resources hosted by telecommunication networks

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 7,680,913
App. No.
10/289,146
Granted
Mar 16, 2010
Kind
B2
Abstract

A method and a system are disclosed for making available telecommunication network resources associated with network subscribers and exposed by a Network Service Gateway (NSG) to clients of the NSG services based on stored subscriber availability preferences. The method and system can be implemented using an availability Policy Server that sits next to or inside of the NSG. The Policy Server interprets the stored availability preferences of subscribers in response to requests for subscriber information. These availability preferences are translated into a low-level policy rule language. The Policy Server implements a policy rule evaluator to evaluate policies written in this language. Policies written in the low-level language are referred to as aPolicies (availability policies). An aPolicy receives as input a stream of events. Based on these events, the aPolicy may decide to take one or more actions. The NSG or clients of the NSG will carry out the execution of the actions.

Claims (59)

1. A method for use in a telecommunications network for implementing subscriber availability preferences that govern how clients of the network can use data and resources associated with subscribers of the network, comprising:

establishing a set of availability preferences for a subscriber;

said availability preferences being based on one or more attribute values;

translating said availability preferences into one or more availability policies, wherein said policies evaluate events and implement rules based on said events, and implementation of said rules produces actions and events;

receiving a service request for subscriber data and resources;

generating, at a processor, at least one evaluator to evaluate each of the one or more availability policies by compiling each policy into a different policy evaluator program, wherein each generated evaluator evaluates one availability policy;

associating each evaluator with one availability policy; and

evaluating, at the processor, each availability policy using the associated evaluator when said availability policy corresponds to the received service request, wherein evaluating an availability policy comprises determining the number of times that the availability policy has been evaluated to determine whether to update an event condition; and

serving requests from said clients for said subscriber data and resources according to said preferences and the evaluated availability policy.

2. A method in accordance with claim 1 wherein said attribute values include dynamic data comprising location of subscribers, clients and resources.

3. A method in accordance with claim 1 further including initialization handling to initialize policy contexts, prepare to receive input events and maintain an event history.

4. A method in accordance with claim 1 further including rule processing to execute said policies based on said events.

5. A method in accordance with claim 1 further including output handling to collect events and actions produced by a policy for output.

6. A method in accordance with claim 1 further including function calling to call functions required for policy execution.

7. A system for use in a telecommunication network for implementing subscriber availability preferences that govern how clients of the network can use data and resources associated with subscribers of the network, comprising:

a processor operable to execute software; and

the software operable to:

establish a set of availability preferences for a subscriber;

said preferences being based on attribute values;

translate said availability preferences into one or more availability policies, wherein said policies evaluate events and implement rules based on said events;

receive a service request for subscriber data and resources;

generated, at the processor, at least one evaluator to evaluate each of the one or more availability policies by compiling each policy into a different policy evaluator program, wherein each generated evaluator evaluates one availability policy;

associate each evaluator with one availability policy; and

evaluate, at the processor, each availability policy using the associated evaluator when said availability policy corresponds to the received service request, wherein evaluating an availability policy comprises determining the number of times that the availability policy has been evaluated to determine whether to update an event condition; and

serve requests from said clients for said subscriber data and resources according to said preferences and the evaluated availability policy;

a policy evaluator adapted to implement policy rules and produce actions and events, wherein said policy evaluator comprises an input event handler operable to generate an event history.

8. The system in accordance with claim 7 wherein said attribute values include dynamic data comprising location of subscribers, clients and resources.

9. The system in accordance with claim 7 wherein said policy evaluator includes an initialization handler adapted to initialize policy contexts, prepare to receive input events and maintain an event history.

10. The system in accordance with claim 7 wherein said policy evaluator includes a rule processor adapted to execute said policies based on said events.

11. The system in accordance with claim 7 wherein said policy evaluator includes an output handler adapted to collect events and actions produced by a policy for output.

12. The system in accordance with claim 7 wherein said policy evaluator includes a function caller adapted to call functions required for policy execution.

13. A system for implementing subscriber availability preferences that govern how clients of the network can use data and resources associated with subscribers of the network, comprising:

a processor operable to execute software; and

the software comprising:

a policy manager adapted to translate subscriber availability preferences into one or more availability policies, said preferences being based on attribute values, said policies evaluate events and implement rules based on said events, wherein implementation of said rules produces actions and events;

a policy scheduler adapted to receive events and policy identifiers from said policy manager and execute policies associated with said policy identifiers to produce events and actions;

an action scheduler adapted to manage and schedule execution of actions produced by said policy scheduler;

an event manager adapted to register events in association with policies;

a function handler adapted to execute functions called during policy rule processing; and

a compiler operable to:

generate at least one evaluator to evaluate each availability policy of the one or more availability policies by compiling each policy into a different policy evaluator program, wherein each generated evaluator evaluates one availability policy; and

associate each evaluator with one availability policy, wherein the policy manager is further operable to evaluate each availability policy using the associated evaluator and evaluating an availability policy comprises determining the number of times that the availability policy has been evaluated to determine whether to update an event condition.

14. A method for use in a telecommunications network for implementing subscriber availability preferences that govern how clients of the network can use data and resources associated with subscribers of the network, comprising:

establishing a set of availability preferences for a subscriber, said availability preferences being based on one or more attribute values;

translating said availability preferences into a plurality of availability policies, wherein the plurality of availability policies evaluate events and implement rules based on said events, and implementation of said rules produces actions and events;

receiving a service request for subscriber data and resources;

generating, at a processor, at least one evaluator to evaluate each of the plurality of availability policies by compiling each policy into a different policy evaluator program, wherein each generated evaluator evaluates one availability policy;

associating each evaluator with one availability policy;

applying the associated evaluator to evaluate, at the processor, one of the plurality of availability policies using the associated evaluator when said availability policy corresponds to the received service request, wherein evaluating one of the plurality of availability policies comprises determining the number of times that an availability policy has been evaluated to determine whether to update an event condition; and

serving requests from said clients for said subscriber data and resources according to said preferences and the evaluated availability policy.

15. A method for use in a telecommunications network for implementing subscriber availability preferences that govern how clients of the network can use data and resources associated with subscribers of the network, comprising:

establishing a set of availability preferences for a subscriber;

said availability preferences being based on one or more attribute values;

translating said availability preferences into one or more availability policies, wherein said policies evaluate events and implement rules based on said events, and implementation of said rules produces actions and events;

receiving a service request for subscriber data and resources;

generating, at a processor, separate evaluators to evaluate each of the one or more availability policies by compiling each policy into a different policy evaluator program, wherein each generated evaluator evaluates one availability policy;

associating each evaluator with one availability policy;

evaluating, at the processor, each availability policy using the associated evaluator when said availability policy corresponds to the received service request, wherein evaluating an availability policy comprises determining the number of times that the availability policy has been evaluated to determine whether to update an event condition; and

serving requests from said clients for said subscriber data and resources according to said preferences and the evaluated availability policy.

Assignments (6)
MERGER Recorded Jan 25, 2010
From: TELTIER TECHNOLOGIES, INC.
To: DYNAMICSOFT INC.
Reel/Frame 023838/0894 →
CHANGE OF NAME Recorded Jan 25, 2010
From: DYNAMICSOFT INC.
To: DYNAMICSOFT LLC
Reel/Frame 023838/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2010
From: DYNAMICSOFT LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 023840/0022 →
TERMINATION AGREEMENT Recorded Nov 24, 2003
From: TELTIER TECHNOLOGIES, INC.
To: ST. PAUL VENTURE CAPITAL VI, LLC; CIR VENTURES, L.P.; CIR VENTURES AFFILIATES, L.P.; NJTC VENTURE FUND, L.P.; CONVERGENCE INVESTMENTS LIMITED BVI
Reel/Frame 014152/0761 →
SECURITY AGREEMENT Recorded Jun 16, 2003
From: TELTIER TECHNOLOGIES, INC.
To: ST. PAUL VENTURE CAPITAL VI, LLC; CIR VENTURES, L.P.; CIR VENTURES AFFILIATES, L.P.; NJTC VENTURE FUND, L.P.; CONVERGENCE INVESTMENTS LIMITED BVI
Reel/Frame 014170/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2003
From: BHATIA, RANDEEP; LOBO, JORGE; VENKATESH, GUDA; QUAYLE, ALAN
To: TELTIER TECHNOLOGIES, INC.
Reel/Frame 013632/0307 →