AU2002254635B2

System and method for rules-based web scenarios and campaigns

Abstract

The invention utilizes a personalization system that uses rules to adjudicate and characterize a customer, or a customer's actions, and then to personalize a business function, such as a displayed page, based on the outcome of those rules (Figure 1, 102, 104, 106, 108, 110, 112, 113, 114, 116, 118, 120). Rules may be used to create scenarios - potential series of events that characterize a customer's session. Scenarios may form the basis of campaigns a set of possible scenarios that may have a start time and a stop time, within which the customer operates, and within which the rules-based system makes determinations and determines personalizations. In one embodiment, the invention provides a rules-based system for customizing content of an e-commerce application, comprising: a server for passing information to and from the rules engine, and to and from a commerce application; a rules-engine, for parsing the contents of a ruleset to make informed decisions about the current proceedings and to determine actions; a ruleset having a plurality of rules, wherein each rule defines a situation and an action; and, a rule repository for storing said ruleset.

Term

Term ended

Expired 16 April 2022, 4.4 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

8 claims: 7 independent, 1 dependent

  1. 1
    THE CLAIMS DEFINING THE INVENTION ARE AS FOLLOWS:1. A system for customizing the functionality of a software application, comprising: 5 a server, configured to allow a user to use a software application running at the server, and to initiate a current session with the software application;an events service located at the server, that receives notification of events from the software application running on the server when the user causes the events to occur, wherein the events describe the use by the user of the software 10 application during the current session;a rule set including a plurality of rules, wherein each rule defines actions to be taken by the software application in response to a particular event;a scenario service that uses the plurality of rules to determine the rules in effect for a particular scenario, wherein the particular scenario is a chain of rules 15 and actions defining a flow of interactions between the user and the software application and includes metadata identifying itself;and a rules engine, configured to use the rules in the rule set, the events received from the events service when a user causes the events to occur, and information about possible scenarios received from the scenario service, to 20 determine a likely scenario for the current session, and, based on the likely scenario, to determine actions to be taken by the software application, wherein the actions customize the runtime functionality of the software application at the server for the user during the current session. 25 2. The system of claim 1 further comprising a rules repository for storing said rules. 3. The system of claim 2 wherein said rules are stored as XML documents within the rules repository. -542002254635 08 Apr 2008 4. The system of claim 1 wherein said rules may be updated, without stopping the operation of the rules engine, and applied to the rules engine in real-time to effect real-time changes to the software application. 5 5. The system of claim 1 wherein a subset of said rules can be grouped to define a scenario of events to be understood by the software application. 6. The system of claim 5 wherein the system includes multiple scenarios, from which any one can be chosen by the rules engine based on the events received as 10 input. 7. The system of claim 6 wherein a subset of scenarios form a campaign that can be understood by the software application. 15 8. The system of claim 7 wherein multiple campaigns exist. 9. The system of claim 1 wherein said software application is used to provide functionality for a web site. 20 10. The system of claim 9 wherein the rules can be used to determine the content of the web site. 11. The system of claim 9 wherein the rules can be used to determine a current access behaviour of a customer of the web site. 12. The system of claim 9 wherein the rules can be used to determine a snapshot of the customer of said web site in real-time. 13. A method for customizing the functionality of a software application, 30 comprising: allowing a user to use a software application running at a server, and to 2002254635 08 Apr 2008 -55 initiate a current session with the software application;receiving, via an events service located at the server, notification of events from the software application running on the server when the user causes the events to occur, wherein the events describe the use by the user of the software 5 application during the current session;reading a rule set including a plurality of rules, wherein each rule defines actions to be taken by the software application in response to a particular event;receiving information from a scenario service that uses the plurality of rules to determine the rules in effect for a particular scenario, wherein the particular 10 scenario is a chain of rules and actions defining a flow of interactions between the user and the software application and includes metadata identifying itself;and using a rules engine, configured to use the rules in the rule set, the events received from the events service when the user causes the events to occur, and information about possible scenarios received from the scenario service, to 15 determine a likely scenario for a current user session, and, based on the likely scenario, to determine actions to be taken by the software application, wherein the actions customize the runtime functionality of the software application at the server for the user during the current session. 20 14. The method of claim 13 further comprising storing said rules in a rules repository. 15. The method of claim 14 wherein said rules are stored as XML documents within the rules repository. 16. The method of claim 13 wherein said rules may be updated and applied to the rules engine in real-time, without stopping the operation of the rules engine, to effect real-time changes to the software application. 30 17. The method of claim 13 wherein a subset of said rules can be grouped to define a scenario of events to be understood by the software application. -562002254635 08 Apr 2008 18. The method of claim 17 wherein the method includes multiple scenarios, from which any one can be chosen by the rules engine based on the events received as input. 19. The method of claim 18 wherein a subset of scenarios form a campaign that can be understood by the software application. 20. The method of claim 19 wherein multiple campaigns exist. 21. The method of claim 20 wherein said software application is used to provide functionality for a web site. 22. The method of claim 21 wherein the rules can be used to determine the 15 content of the web site. 23. The method of claim 21 wherein the rules can be used to determine a current access behavior of a customer of the web site. 20 24. The method of claim 21 wherein the rules can be used to determine a snapshot of the customer of said web site in real-time. 25. A system for providing custom functionality of a software application at a server, comprising: 25 a server that receives requests from clients to access a software application executing at the server, and that allows a user at a client to initiate a session between the users' client and the server;a rule set that defines actions to be taken by the software application in response to a particular event;30 an event service that receives notification of events from the software application as it is running on the server when the user causes the events to -572002254635 08 Apr 2008 occur, wherein the events describe the use by the user of the software application during a session;a scenario service that uses the rule set to determine rules in effect for a particular scenario, wherein the particular scenario is a chain of rules and actions 5 defining a flow of interactions between the user and the software application and includes metadata identifying itself;and a rules engine that receives information from the scenario service and the events from the events service when the user causes the events to occur to determine a likely scenario for the current session, and, based on the likely 10 scenario, modify the runtime functionality of the software application at the server for subsequent use by the user during the session. 26. A system for customizing the functionality of a software application, substantially as hereinbefore described with reference to the accompanying 15 drawings. 27. A method for customizing the functionality of a software application, substantially as hereinbefore described with reference to the accompanying drawings. 28. A system for providing custom functionality of a software application at a server, substantially as hereinbefore described with reference to the accompanying drawings. WO 02/084506 PCT/US02/12010 1/14 FIGURE 1 ns \\Tno Campaign Service m ScanarioService Rales Manager V5S Action Service \<4O End Scenario Action WO 02/084506 PCT/US02/12010
  2. 2
    2/14 FIGURE 1 WO 02/084506 PCT/US02/12010
  3. 3
    3/14 FIGURE 3 PCT/US02/12010
  4. 4
    4/14 WO 02/084506 FIGURE 4 FIGURE 5 WO 02/084506 PCT/US02/12010
  5. 5
    5/14 7.00 FIGURE 6 WO 02/084506 PCT/US02/12010
  6. 6
    6/14 FIGURE 7 WO 02/084506 PCT/US02/12010
  7. 7
    7/14 FIGURE 8 WO 02/084506 PCT/US02/12010
  8. 8
    8/14 FIGURE 9 WO 02/084506 PCT/US02/12010 -Z.fc.2_ EditCampaign/Scenarios ] I Generate new Campaign XtJlL J I service() <-3*1 -9/14 2fc.qO DenioverHelper CampaiqnService This String is reallya stream of XML from the ser/iet :Campaign deploy() Uses config intbrrna1ion(?) to IT. determine what DeployerHelper type to use / / deploy Camp^ign(String) new Persist Campaign FIGURE 10 WO 02/084506 PCT/US02/12010 10/14 TSL <2.£& FIGURE 11 WO 02/084506 PCT/US02/12010 11/14 3οθ User 3O2L 'Z’&r Click on Ad ->1 processClickThrilO -->1 redi rect() clickThruQ J__ 7^1 FIGURE 12 The AdBucketService will CA lookup the Campaign and that served up the ad and call the clickThru method for that campaign. The ClickThruSerdet will redirect to the page requested WO 02/084506 PCT/US02/12010 12/14 .............gSfe. Event Service Bean BehaviorTracking JMSListener Behavior Trackin Listener 2AG Asynchronous Delivery Pluggable Synchronous Listeners oVL Pluggable Asynchronous Listeners 'b'L'L. 2/2.G Persistence (XML CLOB) 'SZ.qAccumulation FIGURE 13 WO 02/084506 PCT/US02/12010 13/14 FIGURE 14 WO 02/084506 PCT/US02/12010 14/14 FIGURE 15