Claims
- 1. A method of managing a plurality of services triggered by a message of a session protocol controlling a communications session, the method comprising the steps of:
obtaining a number of execution rules each of which specify a condition for invoking a service; processing the execution rules in a predetermined order, a first execution rule causing a first service to be invoked, if the message fulfils a first condition, resulting in a first modified message; and a second execution rule causing a second service to be invoked with the first modified message as an input, if the first modified message fulfils a second condition.
- 2. A method according to claim 1, wherein said number of execution rules is grouped into a number of rule modules, each rule module including a number of execution rules; and the method further comprises the steps of:
processing a first one of said number of rule modules resulting in a first accumulatively modified message; and invoking processing a second one of said number of rule modules providing the first accumulatively modified message as an input.
- 3. A method according to claim 2, wherein each rule module has associated with it a priority indicative of an order of processing of said number of rule modules.
- 4. A method according to claim 2, wherein each rule module corresponds to a rule module owner authorised to edit the rule module.
- 5. A method according to claim 2, wherein the first rule module has assigned to it a privilege indicative of an authority to alter a lock flag related to a predetermined part of the accumulatively modified message and specifying whether said predetermined part of the accumulatively modified message may be modified by services invoked from at least the second rule module.
- 6. A method according to claim 5, wherein the step of invoking processing the second rule module further comprises the step of setting said lock flag to prevent modification of the predetermined part of the accumulatively modified message by services invoked from the second rule module, unless the lock flag was marked unset by the first rule module.
- 7. A method according to claim 2, wherein the step of obtaining a number of execution rules further comprises the step of detecting a predetermined contractual relationship based on header information of the message; and selecting a number of rule modules based on said detected contractual relationship.
- 8. A method according to claim 2, wherein the step of processing the first rule module further comprises the step of invoking a predetermined third rule module.
- 9. A method according to claim 2, wherein the first and second rule modules are related to respective first and second access control lists specifying access rights to the corresponding first or second rule module.
- 10. A method according to claim 2, wherein the first and second rule modules comprise respective first and second scripts in a predetermined mark-up language.
- 11. A method according to claim 1, wherein the message comprises a first and a second set of attributes; the execution rules are grouped into at least a first and a second processing class of execution rules according to corresponding constraints, where the second processing class is restricted to only modify attributes of the second set of attributes; and the step of processing the execution rules further comprises the step of processing the execution rules of the first processing class before processing any execution rule of the second processing class.
- 12. A method according to claim 2, wherein the message comprises a first and a second set of attributes; the execution rules are grouped into at least a first and a second processing class of execution rules according to corresponding constraints, where the second processing class is restricted to only modify attributes of the second set of attributes; and the method further comprises the step of repeating the steps of processing the first rule module and invoking processing the second rule module, where in each repetition the processing of the first and second rule modules is limited to execution rules of a corresponding processing class, and where each repetition results in a corresponding accumulatively modified message which is used as an input for a subsequent repetition.
- 13. A method according to claim 11, wherein the processing classes are defined separately for execution rules triggered by requests and responses of the session protocol.
- 14. A method according to claim 11, wherein the first set of attributes comprises signalling properties of the message.
- 15. A method according to claim 11, wherein the processing classes correspond to predetermined locations in a round trip message flow according to the session protocol.
- 16. A method according to claim 11, wherein the processing classes include a first processing class (P1) of execution rules which impact signalling properties of the message, a second processing class of execution rules (P2) which impact non-signalling message body content (of the message, and a third processing class (P3) of execution rules which neither impact the signalling properties nor the non-signalling message body content of the message.
- 17. A method according to claim 16, wherein a resulting modified message is generated when all execution rules of the first and second processing classes are processed.
- 18. A method according to claim 1, wherein invoking the first service further results in a second modified message; and the method further comprises the steps of processing subsequent execution rules with the first modified message as an input; and processing subsequent execution rules with the second modified message as an input.
- 19. A method according to claim 1, wherein the method further comprises the steps of:
storing information about which services are executed and information about which order the services are executed in; receiving from the first service a request for returning a notification to the first service, if a predetermined event occurs; storing the request in relation to the stored information; and upon occurrence of the event, notifying the first service according to the stored information.
- 20. A method according to claim 2, wherein the execution modules comprise computer-readable scripts, and the predetermined order of processing the execution rules is determined by the order of execution rules in said scripts.
- 21. A method according to claim 1, wherein the step of processing the execution rules further comprises the step of marking at least a part of the first modified message as being locked for modification by at least the second service.
- 22. A method according to claim 1, wherein the session is related to a number of subscribers including a caller and a callee; a service is adapted to be triggered by a request from a subscriber; and the method further comprises the step of invoking services requested by the caller before invoking any service requested by the callee.
- 23. A method according to claim 1, wherein the session protocol is a session initiation protocol.
- 24. A method according to claim 1, wherein the communications session is a multimedia session.
- 25. A method according to claim 1, wherein the execution rules are adapted to be dynamically updated.
- 26. A data processing system, comprising:
a service execution environment module adapted to invoke a plurality of services triggered by a message of a session protocol controlling a communications session; and a storage medium adapted to store a plurality of execution rules each of which specify a condition for invoking one of said plurality of services; wherein the service execution environment module comprises a rule engine module adapted to:
retrieve a number of execution rules; and process the execution rules in a predetermined order, a first execution rule causing a first service to be invoked, if the message fulfils a first condition, resulting in a first modified message; and a second execution rule causing a second service to be invoked with the first modified message as an input, if the first modified message fulfils a second condition.
- 27. In a data processing system, a service execution environment module adapted to invoke a plurality of services triggered by a message of a session protocol controlling a communications session, wherein said service execution environment module comprises a rule engine module adapted to:
retrieve a number of execution rules each of which specify a condition for invoking a service; and process the execution rules in a predetermined order, a first execution rule causing a first service to be invoked, if the message fulfils a first condition, resulting in a first modified message; and a second execution rule causing a second service to be invoked with the first modified message as an input, if the first modified message fulfils a second condition.
- 28. A service execution environment module according to claim 27, wherein the rule engine module is adapted to interpret a predetermined rule execution specification language.
- 29. A service execution environment module according to claim 27, wherein the rule engine module further comprises a rule base processor module adapted to retrieve the execution rules; and a rule module processing module adapted to process the execution rules.
Priority Claims (1)
Number |
Date |
Country |
Kind |
200100707 |
Jul 2001 |
DK |
|
CLAIM OF PRIORITY UNDER 35 USC 119
[0001] Priority is hereby claimed under 35 USC 119 to U.S. provisional application serial No. 60/334,552 filed on Dec. 3, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60334552 |
Dec 2001 |
US |