WO2001088752A1 - System and method of individualized web page design and display - Google Patents

System and method of individualized web page design and display Download PDF

Info

Publication number
WO2001088752A1
WO2001088752A1 PCT/US2001/014912 US0114912W WO0188752A1 WO 2001088752 A1 WO2001088752 A1 WO 2001088752A1 US 0114912 W US0114912 W US 0114912W WO 0188752 A1 WO0188752 A1 WO 0188752A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
rules
web page
engine
individualized
Prior art date
Application number
PCT/US2001/014912
Other languages
French (fr)
Inventor
Greg Bovee
Original Assignee
Apac Customer Services, 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 Apac Customer Services, Inc. filed Critical Apac Customer Services, Inc.
Priority to AU2001259649A priority Critical patent/AU2001259649A1/en
Publication of WO2001088752A1 publication Critical patent/WO2001088752A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions

Definitions

  • the present invention relates to web page design and display. Particularly, the present invention is directed to the design and display of individualized web pages using a rules engine and content engine to assemble an individualized web page .
  • the Internet channel has powerful capabilities for merchandise marketing.
  • the mass exposure of product to interested buyers is, of course, one characteristic.
  • the leaders of Internet marketing point to the individualized communication of the Internet experience as the key to increased sales.
  • This marketing trend from mass messaging to individualized messaging has been fully accepted by leading theorists, analysts and practitioners.
  • the nature of an individualized web experience covers several facets.
  • the individualized site can message the recognition of a customer. Whether the recognition is based upon previous revelation by the customer of name or whether the recognition is simply the anonymous identification of repeat visits, this recognition should be used to build loyalty.
  • the individualized site can also optimize offers.
  • Data based records of previous purchases can guide offering decisions, as can anonymous browsing patterns through the individualized site.
  • the individualized site can not only optimize product pricing, but maintain synchronous pricing policies with traditional marketing channels.
  • Marketing campaigns may also offer differing price structures to selected classes of members, and the Internet experience of these same customers should maintain the common corporate marketing strategy.
  • an individualized web page is designed by a web specialist with embedded code or scripts for analyzing certain data and displaying individualized content.
  • the server receives information from the user (usually via a "cookie") and invokes an interpreter to run the embedded code and display individualized content based upon the information received and the rules embedded in the code.
  • An object of the present invention is to provide an individualized web page without the use of embedded code.
  • a feature of an embodiment of the present invention is a content engine that disassembles a raw web page into content components.
  • Another feature of an embodiment of the present invention is a rules engine that instructs the content engine to assemble certain content components according to pre-determined conditions .
  • Yet another feature of an embodiment of the present invention is a graphical user interface comprising a display window, a content editor and rules manager.
  • a feature of the content editor is that content components may be associated with conditional tests.
  • a user may invoke a rules editor dialog box by selecting content in the display window. The user may then create conditional tests for that content using the rules editor dialog box.
  • a user may associate content with rules by dragging and dropping content into the rules manager.
  • the system comprises a content library that may contain, without limitation, content objects such as images, text, hyperlinks or page sections.
  • the display window displays the web page in real time.
  • Other embodiments of the present invention include a computer readable medium containing program instructions for carrying out the features described above.
  • An advantage of the present invention is that individualized content may be displayed without embedding code into the web page. Another advantage of the present invention is that the design system is intuitive and easy to use. Another advantage of the present invention is that it may be used with all types of web pages, including, without limitation, HTML, DHTML, CGI, ASP or JAVA generated pages.
  • a further object of the present invention is to provide a greater degree of individualization.
  • a feature of an embodiment of the present invention is a content engine that extracts data fields from a raw web page and sends them to a rules engine.
  • Another feature of an embodiment of the present invention is a rules engine that evaluates the data fields against pre-determined conditions.
  • the rules engine may receive information from a variety of sources to evaluate the conditions. For example, the rules engine may evaluate the conditions using, without limitation, cookie values, form values, parameter values, RDBMS lookups or algebraic tests.
  • An advantage of the present invention is that a web page may be individualized based upon a wider array of parameters.
  • Another advantage of the present invention is that a web page may be individualized based upon information from a corporate database or RDBMS.
  • Yet another object of the present invention is to display an individualized web page. Yet another object of the present invention is to facilitate electronic commerce through the use of an individualized web page.
  • a feature of an embodiment of the present invention is a content engine that receives a request for an individualized web page.
  • Another feature of an embodiment of the present invention is a rules engine to evaluate the request and return conditions to the content engine.
  • Another feature of an embodiment of the present invention is the disassembly of a raw web page into content components at the content engine and assembling the components according to the conditions returned by the rules engine.
  • the content may be individualized purchase incentives. Once assembled, the content engine sends the individualized page to the web server for display at a remote terminal.
  • one embodiment of the present invention is a system for creating an individualized web page comprising a content engine; a web server, wherein the web server sends a raw web page to the content engine for disassembly of the raw web page into content components; and a rules engine, wherein the rules engine evaluates pre-determined conditions and, if true, instructs the content engine to assemble certain content components into an individualized web page according the true conditions.
  • Another embodiment of the present invention is a method for displaying an individualized web page comprising: providing a raw web page on a host computer; receiving a request from a remote terminal for a web page at the host computer; redirecting the request to a content engine; the content engine requesting the raw web page from the host computer; the content engine evoking a rules engine to evaluate the request; the rules engine returning conditions to the content engine; at the content engine, disassembling the raw web page into content components and assembling the content components into an individualized web page according to the conditions; sending the individualized web page from the content engine to the host computer; and sending the individualized web page from the host computer to the remote terminal.
  • the host computer is a web server.
  • Another embodiment of the invention is a system for individualized web page design using a graphical user interface comprising: a display window for displaying a web page; a rules manager wherein a user creates conditional tests for the display of content; and a content editor wherein a user associates the content with the conditional tests.
  • Yet another embodiment of the present invention is a computer readable medium containing program instructions for: providing a display window for displaying a web page; providing a rules manager wherein a user creates conditional tests for the display of content; and providing a content editor wherein a user associates the content with the conditional tests.
  • Another embodiment of the present invention is a method for conducting electronic commerce through an individualized web page comprising: providing a raw web page on a host computer; receiving a request from a remote terminal for a web page at the host computer; redirecting the request to a content engine; the content engine requesting the raw web page from the host computer; the content engine evoking a rules engine to evaluate the request; the rules engine returning conditions to the content engine; at the content engine, disassembling the raw web page into content components and assembling the content components into an individualized web page according to the conditions, wherein at least some of the content components comprise individualized purchase incentives; sending the individualized web page from the content engine to the host computer; sending the individualized web page from the host computer to the remote terminal; and receiving a purchase selection from the remote terminal according to the individualized purchase incentives.
  • the host computer may be, but is not required to be, a web server.
  • FIG. 1 is a schematic representation of an embodiment of the individualized web page design and display system in accordance with the present invention.
  • FIG. 2 is a representation of a rules editor of the graphical user interface of an embodiment of the present invention.
  • FIG. 3 is a representation of a content editor of the graphical user interface of an embodiment of the present invention.
  • FIG. 4 is a representation of a navigation manager of the graphical user interface of an embodiment of the present invention.
  • FIG. 5A is a representation of a drag and drop embodiment of the content editor of the graphical user interface of an embodiment of the present invention in use.
  • FIG. 5B is a representation of a dialog box embodiment of the content editor of the graphical user interface of an embodiment of the present invention in use.
  • FIG. 6 is a schematic representation of an embodiment of the display method of the present invention.
  • FIG. 7 is a schematic representation of a step for the content engine getting a web page according to an embodiment of the present invention.
  • FIG. 8 is a schematic representation of another step for the content engine getting a web page according to an embodiment of the present invention.
  • FIG. 9 is a schematic representation of the rules engine execution according to an embodiment of the present invention.
  • FIG. 10 is a schematic representation of a step in the rules engine execution according to an embodiment of the present invention.
  • FIG. 11 is a schematic representation of another step in the rules engine execution according to an embodiment of the present invention.
  • FIG. 12 is a schematic representation of the interpretation and identification step in the rules engine execution according to an embodiment of the present invention.
  • FIG. 13 is a schematic representation of another step in the rules engine execution according to an embodiment of the present invention.
  • FIG. 14 is a schematic representation of a step in the content engine disassembly and assembly according to an embodiment of the present invention.
  • FIG. 15 is a schematic representation of another step in the content engine disassembly and assembly according to an embodiment of the present invention.
  • FIG. 16 is a schematic representation of another step in the content engine disassembly and assembly according to an embodiment of the present invention.
  • FIG. 17 is a schematic representation of a step in the content engine delivery according to an embodiment of the present invention.
  • the system 1 generally includes a web server 10, a content engine 20 and a rules engine 30.
  • the web server 10 may be any computer capable of connecting to different computers over a network connection and capable of storing, displaying or transmitting information. Examples of network connections that may be used in conjunction with the present invention are telephone lines, digital subscribe lines, cable lines, wireless connections, ethernet connections, or other network connections.
  • the system may also be used offline .
  • the system 1 also comprises a content engine 20 and rules engine 30.
  • the content engine 20 and rules engine 30 typically comprise computer programs residing on a computer, such as, for example, a server.
  • the content engine 20 and rules engine 30 will be discussed in greater detail below with respect to Figures 6 through 17.
  • the content engine 20 and rules engine 30 may reside on the same or different computers, so long as each is capable of receiving and sending information to and from the other.
  • the content engine 20 and rules engine 30 may reside on the same magnetic media in a single computer, or different magnetic media on the same computer.
  • each may reside on a separate computer such that each can communicate or invoke the other by sending information over a network connection.
  • the web server 10 is connected over a network to the content engine 20, and the content engine 20 is connected over a network to the rules engine 30.
  • the content engine 20 and/or the rules engine 30 may reside on the web server 10, and all such embodiments are intended to be within the scope of the present invention.
  • FIG. 2 depicts a rules manager 2 in accordance with an embodiment of the present invention.
  • the rules manager 2 comprises three sections: a page section 21 which lists the pages 24 to be designed, a rule object section 22 which contains rule libraries 26 of different rules, and a script editor 23 for associating actions with pre-determined conditions .
  • a page section 21 which lists the pages 24 to be designed
  • a rule object section 22 which contains rule libraries 26 of different rules
  • a script editor 23 for associating actions with pre-determined conditions .
  • the page section 21 allows the designer to easily navigate between different pages 24.
  • the system may prompt a designer to choose a page before entering the rules manager 2, or a page may already be active in a separate window, in which case the rules manager 2 might have only two sections (e.g., the script editor and rule object section). Other sections may be added to the rules manager 2 to aid a designer, and all such rules managers are intended to be within the scope of the invention.
  • a designer may sort the pages to be designed in a directory structure 25.
  • the pages 24 may be listed in any variety ways including, without limitation, drop-down menus, command lines, or embedded links to a file manager object.
  • the rule objects section 22 and script editor 23 display information associated with that page 24.
  • Fig. 2 "Page 2" is highlighted, and the rules libraries 26 and scripts 27 associated with "Page 2" are displayed in the appropriate sections .
  • the rules manager 2 may also include multiple sections, such as by tiling or otherwise arranging the windows or sections on the screen, to allow a designer to have access to the rules manager 2 for multiple pages simultaneously.
  • the script editor 23 is utilized to create rules that will be associated with particular content in the page.
  • rules are created using simple "if... then" statements.
  • a designer may wish to create a rule 27 for an e-commerce page that presents different sales offers to married and single individuals. This may be accomplished using an easy to use syntax that asks whether a particular condition is true and displays content based upon the answer.
  • the script has the following form:
  • the conditions called in the script are sorted as a rule objects in the rules objects section 22. For example, conditions (such as "Married") are placed in a rules library folder 26 called "Condition Tests.” Similarly, in the present embodiment, the offer corresponding to the condition may be stored in the folder 26 called "Offers.” Although the present embodiment uses the same name for the offer and condition, such is not required and a designer may assign any name he or she deems appropriate. Additionally, alternative embodiments may utilize as many or as few folders as the designer deems appropriate, and all such embodiments are within the scope of the present invention.
  • rule 28 may have embedded conditions within it. Rule 28 dictates that different content become available for a user who has an order history on the site. If the user has no order history, the rule queries a second condition, namely whether the user has selected an item but canceled prior to finalizing the purchase. It should now be apparent that any type of information is suitable for creating a rule, and that rules may be applied in any web page context. For example, a university may design a web page that displays different content for students and faculty.
  • the script editor 23 may function in a variety of ways. For example, a designer may be given a blank screen with a cursor wherein the script is simply typed.
  • the script editor 23 may have drop down menus that allow a designer to select commonly used commands or phrases.
  • Other embodiments allow a designer to drag and drop rule objects from the rules objects section 22 into the script editor 23 to form rules.
  • Designers may also enter information by clicking with a mouse button and bringing up a menu from which to select phrases or rule objects.
  • Other variations and embodiments should be apparent to those skilled in the art, and all are intended o be within the scope of the present invention.
  • the preferred embodiment also comprises a content editor 3 (see Fi.g 3) wherein a designer associates content on a web page 39 with particular rules.
  • the content editor 3 of the preferred embodiment comprises two section: a library 31 and a web editor 32.
  • the web editor 32 may act as a display window to display the content of the web page 39.
  • the web editor 32 may display content according to several embodiments. For example, the web editor 32 may display a raw web page with a separate display window showing the web page 39 in real time.
  • the web editor 32 may also display a page 39 according to specific rules that a designer selects in order to view the particular page 39 in real time, i.e., as a user satisfying the selected conditions might see it.
  • the content editor 3 also comprises a library section 31.
  • the library section 31 may contain one or more libraries.
  • the library section 31 displays a content library 33 and rules objects library 34.
  • the library section 31 may also contain one or more additional personal libraries 35 that may contain, for example, draft rules or unfinished content. It should be apparent, however, that any number of libraries may be utilized according to the particular look and feel desired by the designer.
  • the libraries are arranged in a directory tree structure, although a variety of other structures may be utilized.
  • the content library 33 contains content object libraries 36.
  • Each content object library 36 houses a different type of content object that may be displayed on the web page 39 being designed. For example, although four such content libraries are shown in Fig. 3, there may be more or less, as desired by the designer.
  • the content library 33 may contain HTML snippets, all types of images, hyperlinks, text, anchors, page sections, XML objects, script objects, such as Java scripts or VB scripts, active objects, such as ActiveX or Java applets, or any other type of content known to a person familiar with web page design or use.
  • each type of content is arranged in its own content object library 36, although the number, use and arrangement of content object libraries 36 is at the discretion of the designer using the present system.
  • the library section 31 may also contain a rules objects library 34 that allows easy access to dynamic objects.
  • the rules objects library 34 may be, but is not required to be, arranged in substantially the same ways as the content library 33.
  • the rules objects library 34 comprises folders that sort objects depending upon the source of the information relevant to the object. For example, if an object is based upon information found in a cookie, such as, for example, whether the user has visited another web site recently, that rule might be sorted in the folder labeled "Cookies.”
  • the rules objects library 34 is a tree, and the designer may expand the tree to expose specific objects.
  • the designer may drag and drop specific content objects onto the page 39 in the web editor 32 where the designer desires it to appear, and then drag and drop the content from the web editor 32 over the particular rule located in the library section 31.
  • a designer may click on the content in the web editor 32 and bring up a menu or dialog box which permits the user to input a specific rule.
  • the input step may be achieved in a variety of ways, including without limitation dragging and dropping objects from the rules objects library 34 into the dialog box, or typing the name of the rule into a command line in the dialog box.
  • a designer may select the content and go to a drop down menu at the top of the screen which permits the designer to associates the desired rule or rules.
  • a designer may select content to invoke a rules editor window or dialog box to allow the designer to create a new rule. In the described manner, the system allows the designer to easily associate content on the page 39 with any number of pre-defined rules, and having little or no programming or web design knowledge and experience.
  • a designer may wish to display a browser' s first name on a web page 39.
  • the browser's name may exist as a field within the host's RDBMS.
  • the designer may drag the name field from the RDBMS collection in the rules objects library 34 to the location on the page 39 where the name is to appear.
  • the rules engine 30 will evaluate the name field and return the browser' s first name when the page 39 is displayed.
  • a designer may drag a "last item purchased" object from the cookie collection in the rules objects library 34 onto the page 39.
  • a rule may then be created wherein if the cookie is "non-zero" (i.e., there has been a last item purchased) , the image for the item purchased will be displayed.
  • Figs. 5A and 5B show specific examples of preferred embodiments in operation.
  • the designer wishes content 58 to appear only to married users.
  • an input field relating to whether a user is married may be found in some database, so that field is under the "RDBMS Collection" in the rules objects library 54.
  • the field exists as an object 56 called "Married.” It should be apparent, however, that any sorting arrangement and object name may be utilized.
  • the object 56 is dragged over onto the content 58 from the library section 51 to the web editor 52. The content 58 is then associated with a field which asks whether the user is married.
  • the rules engine 30 will later evaluate that field at run time.
  • the designer may view the page 59 as it would appear to a married user by setting appropriate view options for the web editor 52.
  • Fig. 5B the designer clicks or selects the content 58 to bring up a dialog box 57.
  • the dialog box 57 may have a list of rules or links, or may comprise a rules editor whereby the designer may create rules while in the content editor.
  • the present invention may also include a navigation manager, designated generally in Fig. 4 as numeral 4.
  • the navigation manager 4 comprises a page list section 41 and a page display section 42 to display a web page 49.
  • the navigation manager 4 appears like a web browser and may be used to display a raw web page or existing web page received over a network connection.
  • the entire system may be used on line to design web pages on a network, the system may also be utilized to design local pages off line prior to submitting such page to a server for network access.
  • the navigation manager 4 determines what information the web page 49 requests or transmits so that a designer may use the rules editor to create specific rules based upon that information. For example, if the web page 49 runs on cookies or input fields, such as "HTTP puts" or “HTTP gets”, the navigation manager 4 might list those fields and cookies.
  • the navigation manager 4 may be integrated with the rules editor 2 so that information retrieved by the rules manager 4 is placed in the appropriate folder 26 in the rules objects section 22 of the rules editor 2.
  • the navigation manager 4 may also be connected to a web server so that a completed page 49 with all associated rules and content may be registered with the appropriate web server, content engine and rules engine with the click of a button.
  • the present invention also includes a method for displaying an individualized web page, such as might be created using the system described herein in Figs. 2-5.
  • Fig. 6 depicts a method of the present invention according to a preferred embodiment. The method, designated as numeral 60, will be described generally below with reference to the steps of Fig. 6 and the components of Fig. 1. A detailed description of each of the steps will follow the general description.
  • a raw web page is first provided 61 to a web server 10.
  • a "raw web page” refers to any web page (or associated html code) with a number of conditional items (even DHTML or Java scripts) .
  • the raw web page should include all possible content for the page.
  • the step for providing 61 the raw web page may involve registering the page to be displayed with the server 10 using the navigation manager 4 of Fig. 4. Other ways of providing the raw web page include direct reference to the physical magnetic image of the page without routing the reference through a web server.
  • the method 60 also comprises a step wherein the server 10 hosting the web page or site being accessed receives 62 a request from a user at a remote terminal for the web page.
  • the request is made by typing the universal resource locator ("URL") for the desired web page in the appropriate area of a web browser.
  • the web page may also be requested via a hyperlink, or may be requested automatically by software at the remote terminal.
  • the server 10 redirects 63 the request for the page to a content engine 20.
  • the content engine 20 gets 64 the raw web page from the server 10. Although the raw web page of the present embodiment is located on server 10, the raw web page may be found on a separate server.
  • the content engine 20 fetches 63 the raw web page, the content engine 20 invokes the rules engine 30 to evaluate pre-determined conditions.
  • the rules engine 30 evaluates the pre-determined conditions according to the rules set by the web page designer, and returns 64 instructions to the content engine 20 for assembly of an individualized page.
  • the content engine 20 Based upon the instructions from the rules engine 30, t the content engine 20 disassembles the raw web page into content components and assembles 67 the components into an individualized page based upon the outcome of the conditions as evaluated by the rules engine 30.
  • the content engine 20 sends 68 the assembled individualized web page to the server 10, which transmits 69 the page to the remote terminal for display.
  • the process may be implemented using efficient programming code, such as, for example, "c” or "c++”, and the process mostly resides in fast random access memory (RAM)
  • the method 60 should not result in any noticeable delay in retrieving and displaying the page.
  • the user at the remote terminal is not even aware that the page has been individualized.
  • Figs. 7 and 8 depict the step 64 according to the preferred embodiment in which the content engine 20 gets the raw web page from the server 10.
  • the content engine 20 acquires session information to be passed to the rules engine 30 and builds such information into a session array. For example, if the user has transmitted information such as query strings (such as a user password), or posted content, or provided cookie information (such as pages visited) , the content engine 20 would identify and acquire that information and build it into a session array. That information will later be supplied to the rules engine as rules objects related to the conditions to be evaluated.
  • the content engine 20 connects to the server 10 hosting the web page and transmits whatever data is required to gain access to the page.
  • the content engine 20 will submit the cookies it has acquired in the acquisition 70 until the entire raw web page is transmitted to the content engine 20. Once the content engine 20 has gotten the raw web page, the session array is sent to the rules engine 30 for evaluation.
  • Figs. 9-13 depict generally the step for evaluating the conditions according to a preferred embodiment.
  • the first step is rules engine recovery 91.
  • the rules engine 30 initializes session fields from a database 101 and receives a unique session identification 102 from the content engine 20.
  • the rules engine 30 loads 103 the appropriate session data and updates 104 the session fields.
  • the rules engine 30 loads a first 105 logic tree node sequence and then 106 a COM object cross-reference table.
  • rules engine 30 resolves node actions by substituting current session values for node symbols and evaluates whether the node is an expression 111. if not, the rules engine executes the node action (such as reading an RDBMS table) and proceeds to the next step, rules engine interpretation and identification 93. If the node is an expression, the expression is parsed 112, the tokens making up the expression are looked up in the session data 113 and a value is substituted 114. The rules engine 30 continues to parse 112 and substitute until the entire expression is resolved 115.
  • the next step, rules engine interpretation and identification 93 is depicted schematically in Fig. 12.
  • the rules are evaluated and the rules engine 30 determines which of the pre-determined conditions are true.
  • the rules engine 30 acquires the first logic node 1201. If the logic node is an "if-then" rule, the expression is resolved 1202. If the expression value is true, 1203, the information is sent to rules engine storage 94. If not, the rules engine determines if there is an else node 1204. If so, the else node is evaluated 1205. If not, the rules engine 30 goes to the "end if" statement and determines 1215 whether there is a next logic node 1201.
  • the rules engine 30 will determine if it is another type of node, such as an assignment node 1206, and if so, will assign 1207 the appropriate data 1208 and proceed to acquiring yet another node 1201. If the logic node is neither an "if-then” nor assignment node, the rules engine 30 will see whether the node is yet another kind of node, such as a redirection node 1208. If so, the rules engine 30 will exit the rules engine process and instruct the content engine 20 to go to the redirected site.
  • another type of node such as an assignment node 1206, and if so, will assign 1207 the appropriate data 1208 and proceed to acquiring yet another node 1201. If the logic node is neither an "if-then” nor assignment node, the rules engine 30 will see whether the node is yet another kind of node, such as a redirection node 1208. If so, the rules engine 30 will exit the rules engine process and instruct the content engine 20 to go to the redirected site.
  • the logic node may also be an RDBMS node 1209. If so, the rules engine 30 will resolve the SQL expression 1210, build the SQL syntax 1211, execute the SQL 1212 and assign the results to session data 1213. If the node is not an RDBMS node, the rules engine assigns the resolved expression to session data 1214 and attempts to acquire the next node 1201.
  • the rules engine 30 proceeds to rules engine storage 94, depicted in Fig. 13.
  • the rules engine 30 identifies and sets "change state of session" token 131, rewrites those tokens to session storage 132, and returns instructions to the content engine 20. Referring to Fig. 6, the method 60 is resumed at step 67.
  • the content engine 20 parses the raw web page.
  • the content engine first tokenizes the HTML stream for the raw web page 141 into objects.
  • the content engine 20 labels, saves and outputs each content object by type. For example, if the object is an anchor, the content engine 20 adds a circular reference 142, labels and saves 143 the object, then appends the object to the output 144. If there are no further objects, the content engine 20 proceeds to the next step.
  • the object is, for example, an editable object 145, the object is labeled and saved 143 and appended to the output 144.
  • the object is, for example, a cookie object, domain information is added 146, the object is labeled and saved 143, and appended to the output 144.
  • the content engine 20 moves to the step of altering the web page.
  • the alteration step is described in Fig. 15.
  • change requests are loaded 151 into the content engine 20 from an RDBMS.
  • a copy of the session data is then saved by the rules engine 30.
  • the content change requests from the rules engine 30 are merged 152 with the parsed HTML stream.
  • the content engine 20 matches objects 153 and applies the appropriate changes 154 until all objects are accounted for.
  • the content engine 20 reconstructs the web page.
  • the content engine 20 scans 161 the merged page for hyperlink objects, either referenced or excluded by the page, and applies itself as a reference 162 for those links, hence rerouting those links through the content engine 20.
  • a designer may flag excluded hyperlinks during the design phase in the content editor so that certain hyperlinks are not re-routed.
  • the content engine 20 scans the page for new line characters, such as, for example, line breaks that may alter the appearance of the page, and removes them 163. The page is then stored into memory 164.
  • the content engine 20 delivers the individualized web page back to the server 10 for transmittal to the remote terminal.
  • Fig. 17 depicts the step for delivering the page to the server 10.
  • the content engine 20 re-computes the new byte size for the page 171.
  • cookies are added 172.
  • the HTTP length is altered 173 and output 174 to the server 10.
  • cookies 175 and the new HTML of the individualized page 176 are output to the server 10.
  • any web page consisting of content may be disassembled and reassembled according to any number of pre-determined conditions .
  • the content may be purchase incentives or advertisements individualized for a particular user or type of consumer.
  • the content engine 20 need only locate objects in the web page code, and the rules engine 30 evaluates pre-determined conditions based upon data separate from that code.
  • any web page may be individualized without having to employ programmers or web page designers to embed complicated programs or scripts into web page's source code. The creation and display of individualized web pages is greatly simplified.
  • the content engine 20 need only locate HTML objects, it is immaterial whether the web page is written in HTML, Java script, ASP, JSP, or any other HTML generating language.
  • the rules engine 30 evaluates conditions separate from the source code, data from previously untapped sources such as, for example, corporate databases, may be utilized to provide more individualization than has thus far been possible.
  • program instructions for the graphical user interface may be stored on a computer readable medium, such as a floppy disk, compact disk, or other magnetic media capable of storing program instructions.
  • the invention includes a computer device having said computer readable medium therein.

Abstract

A system and method for creating an individualized web page are disclosed. A server receives a request for a web page from a remote terminal (62). Content engine (64) then disassembles and assembles content into an individualized page (67) based upon instructions from a rules engine. The rules engine (65) evaluates data to determine whether predetermined conditions are met and instructs the content engine (64) to assemble the content accordingly. The resulting individualized page is sent to a server (68), then to a remote terminal for display (69). The system also includes a graphical user interface for creating an individualized web page comprising a rules manager to create rules and a content manager to associate content with those rules.

Description

SYSTEM AND METHOD OF INDIVIDUALIZED WEB PAGE DESIGN AND DISPLAY
BACKGROUND OF THE INVENTION Field of the Invention
The present invention relates to web page design and display. Particularly, the present invention is directed to the design and display of individualized web pages using a rules engine and content engine to assemble an individualized web page .
Description of Related Art
The Internet channel has powerful capabilities for merchandise marketing. The mass exposure of product to interested buyers is, of course, one characteristic. The leaders of Internet marketing, however, point to the individualized communication of the Internet experience as the key to increased sales. This marketing trend from mass messaging to individualized messaging has been fully accepted by leading theorists, analysts and practitioners. Until now, however, it has not been technologically or commercially feasible to individually craft web pages, both for product and for price, to each browsing customer. The nature of an individualized web experience covers several facets. The individualized site can message the recognition of a customer. Whether the recognition is based upon previous revelation by the customer of name or whether the recognition is simply the anonymous identification of repeat visits, this recognition should be used to build loyalty. The individualized site can also optimize offers. Data based records of previous purchases can guide offering decisions, as can anonymous browsing patterns through the individualized site. The individualized site can not only optimize product pricing, but maintain synchronous pricing policies with traditional marketing channels. Marketing campaigns may also offer differing price structures to selected classes of members, and the Internet experience of these same customers should maintain the common corporate marketing strategy.
Browsing customers are prepared to identify themselves when the site offers individualized advantages to doing so. Many technological barriers to this degree of web personalization, however, hold back the merchandising masses. The cost of building a static, non-personalized, display site may be relatively inexpensive. Until now, however, the cost of building an individualized site has been formidable. Customized programming by a web specialist is ordinarily required, along with the additional cost of employing specialized web programmers and designers. In addition, the ongoing commitment to web programming requires major budget commitment. This, however, is only one barrier. The technological choices which a company makes for their web commitment are fearsome; in this leading-edge environment no experts realistically know which technologies will survive year to year.
It is already known in the art to use on-line customer buying and behavior analysis to create individualized web pages. According to the current technology, an individualized web page is designed by a web specialist with embedded code or scripts for analyzing certain data and displaying individualized content. In operation, when a server hosting the web page is accessed, through, for example, a user's browser, the server receives information from the user (usually via a "cookie") and invokes an interpreter to run the embedded code and display individualized content based upon the information received and the rules embedded in the code.
There are several problems with the present technology. First, it is expensive to write, maintain and alter the embedded code. Next, it is virtually impossible to create an individualized web page without the help of a page design specialist who can both create the page with the embedded code and implement the interpreter to run the code. In addition, the complexity of the page design limits the amount of information or conditions that may be used to individualize the page. Hence, while the technology exists to capture and analyze a great deal of potentially useful behavior and buying data, only a portion of that data can be efficiently used to individualize a web page. The degree of individualization, and usefulness, is therefore limited.
There thus remains a need for an efficient and economic method and system for designing and displaying an individualized web page without the need for a web design specialist or embedded code and that can take advantage of a greater amount of user data to provide a higher degree of individualization .
SUMMARY OF THE INVENTION The purpose and advantages of the present invention will be set forth in and apparent from the description that follows, as well as will be learned by practice of the invention. Additional advantages of the invention will be realized and attained by the methods and systems particularly pointed out in the written description and claims hereof, as well as from the appended drawings. An object of the present invention is to provide an individualized web page without the use of embedded code. A feature of an embodiment of the present invention is a content engine that disassembles a raw web page into content components. Another feature of an embodiment of the present invention is a rules engine that instructs the content engine to assemble certain content components according to pre-determined conditions .
Yet another feature of an embodiment of the present invention is a graphical user interface comprising a display window, a content editor and rules manager. A feature of the content editor is that content components may be associated with conditional tests. In one embodiment, a user may invoke a rules editor dialog box by selecting content in the display window. The user may then create conditional tests for that content using the rules editor dialog box. In another embodiment, a user may associate content with rules by dragging and dropping content into the rules manager. In yet another embodiment, the system comprises a content library that may contain, without limitation, content objects such as images, text, hyperlinks or page sections. In other embodiments the display window displays the web page in real time. Other embodiments of the present invention include a computer readable medium containing program instructions for carrying out the features described above.
An advantage of the present invention is that individualized content may be displayed without embedding code into the web page. Another advantage of the present invention is that the design system is intuitive and easy to use. Another advantage of the present invention is that it may be used with all types of web pages, including, without limitation, HTML, DHTML, CGI, ASP or JAVA generated pages.
A further object of the present invention is to provide a greater degree of individualization. A feature of an embodiment of the present invention is a content engine that extracts data fields from a raw web page and sends them to a rules engine. Another feature of an embodiment of the present invention is a rules engine that evaluates the data fields against pre-determined conditions. Another feature of an embodiment of the present invention is that the rules engine may receive information from a variety of sources to evaluate the conditions. For example, the rules engine may evaluate the conditions using, without limitation, cookie values, form values, parameter values, RDBMS lookups or algebraic tests. An advantage of the present invention is that a web page may be individualized based upon a wider array of parameters. Another advantage of the present invention is that a web page may be individualized based upon information from a corporate database or RDBMS.
Yet another object of the present invention is to display an individualized web page. Yet another object of the present invention is to facilitate electronic commerce through the use of an individualized web page. A feature of an embodiment of the present invention is a content engine that receives a request for an individualized web page. Another feature of an embodiment of the present invention is a rules engine to evaluate the request and return conditions to the content engine. Another feature of an embodiment of the present invention is the disassembly of a raw web page into content components at the content engine and assembling the components according to the conditions returned by the rules engine. In one embodiment, the content may be individualized purchase incentives. Once assembled, the content engine sends the individualized page to the web server for display at a remote terminal. Other embodiments of the invention include making purchases based upon the purchase incentives and having the purchases shipped to a user. An advantage of the present invention is that individualized web pages are created by the content and rules engine without interpreting embedded code. In brief, one embodiment of the present invention is a system for creating an individualized web page comprising a content engine; a web server, wherein the web server sends a raw web page to the content engine for disassembly of the raw web page into content components; and a rules engine, wherein the rules engine evaluates pre-determined conditions and, if true, instructs the content engine to assemble certain content components into an individualized web page according the true conditions.
Another embodiment of the present invention is a method for displaying an individualized web page comprising: providing a raw web page on a host computer; receiving a request from a remote terminal for a web page at the host computer; redirecting the request to a content engine; the content engine requesting the raw web page from the host computer; the content engine evoking a rules engine to evaluate the request; the rules engine returning conditions to the content engine; at the content engine, disassembling the raw web page into content components and assembling the content components into an individualized web page according to the conditions; sending the individualized web page from the content engine to the host computer; and sending the individualized web page from the host computer to the remote terminal. In one embodiment, although not necessarily, the host computer is a web server.
Another embodiment of the invention is a system for individualized web page design using a graphical user interface comprising: a display window for displaying a web page; a rules manager wherein a user creates conditional tests for the display of content; and a content editor wherein a user associates the content with the conditional tests.
Yet another embodiment of the present invention is a computer readable medium containing program instructions for: providing a display window for displaying a web page; providing a rules manager wherein a user creates conditional tests for the display of content; and providing a content editor wherein a user associates the content with the conditional tests.
Another embodiment of the present invention is a method for conducting electronic commerce through an individualized web page comprising: providing a raw web page on a host computer; receiving a request from a remote terminal for a web page at the host computer; redirecting the request to a content engine; the content engine requesting the raw web page from the host computer; the content engine evoking a rules engine to evaluate the request; the rules engine returning conditions to the content engine; at the content engine, disassembling the raw web page into content components and assembling the content components into an individualized web page according to the conditions, wherein at least some of the content components comprise individualized purchase incentives; sending the individualized web page from the content engine to the host computer; sending the individualized web page from the host computer to the remote terminal; and receiving a purchase selection from the remote terminal according to the individualized purchase incentives. The host computer may be, but is not required to be, a web server.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and are intended to provide further explanation of the invention claimed.
The accompanying drawings, which is incorporated in and constitutes part of this specification, are included to illustrate and provide a further understanding of the method and system of the invention. Together with the description, the drawings serve to explain the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic representation of an embodiment of the individualized web page design and display system in accordance with the present invention.
FIG. 2 is a representation of a rules editor of the graphical user interface of an embodiment of the present invention.
FIG. 3 is a representation of a content editor of the graphical user interface of an embodiment of the present invention.
FIG. 4 is a representation of a navigation manager of the graphical user interface of an embodiment of the present invention.
FIG. 5A is a representation of a drag and drop embodiment of the content editor of the graphical user interface of an embodiment of the present invention in use.
FIG. 5B is a representation of a dialog box embodiment of the content editor of the graphical user interface of an embodiment of the present invention in use.
FIG. 6 is a schematic representation of an embodiment of the display method of the present invention.
FIG. 7 is a schematic representation of a step for the content engine getting a web page according to an embodiment of the present invention. FIG. 8 is a schematic representation of another step for the content engine getting a web page according to an embodiment of the present invention.
FIG. 9 is a schematic representation of the rules engine execution according to an embodiment of the present invention.
FIG. 10 is a schematic representation of a step in the rules engine execution according to an embodiment of the present invention.
FIG. 11 is a schematic representation of another step in the rules engine execution according to an embodiment of the present invention.
FIG. 12 is a schematic representation of the interpretation and identification step in the rules engine execution according to an embodiment of the present invention.
FIG. 13 is a schematic representation of another step in the rules engine execution according to an embodiment of the present invention.
FIG. 14 is a schematic representation of a step in the content engine disassembly and assembly according to an embodiment of the present invention. FIG. 15 is a schematic representation of another step in the content engine disassembly and assembly according to an embodiment of the present invention.
FIG. 16 is a schematic representation of another step in the content engine disassembly and assembly according to an embodiment of the present invention.
FIG. 17 is a schematic representation of a step in the content engine delivery according to an embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. The elements of the invention will be described in conjunction with the detailed description of the embodiments.
The methods, systems and devices presented herein may be used for web page design and display. The present invention is particularly suited for design and display of individualized web page content. For purpose of explanation and illustration, and not limitation, an exemplary embodiment of the system in accordance with the invention is shown in Fig. 1 and is designated generally by reference character 1. As shown in Fig. 1, the system 1 generally includes a web server 10, a content engine 20 and a rules engine 30. The web server 10 may be any computer capable of connecting to different computers over a network connection and capable of storing, displaying or transmitting information. Examples of network connections that may be used in conjunction with the present invention are telephone lines, digital subscribe lines, cable lines, wireless connections, ethernet connections, or other network connections. The system may also be used offline .
The system 1 also comprises a content engine 20 and rules engine 30. The content engine 20 and rules engine 30 typically comprise computer programs residing on a computer, such as, for example, a server. The content engine 20 and rules engine 30 will be discussed in greater detail below with respect to Figures 6 through 17. The content engine 20 and rules engine 30 may reside on the same or different computers, so long as each is capable of receiving and sending information to and from the other. For example, the content engine 20 and rules engine 30 may reside on the same magnetic media in a single computer, or different magnetic media on the same computer. Alternatively, each may reside on a separate computer such that each can communicate or invoke the other by sending information over a network connection. In the preferred embodiment, the web server 10 is connected over a network to the content engine 20, and the content engine 20 is connected over a network to the rules engine 30. In other embodiments, the content engine 20 and/or the rules engine 30 may reside on the web server 10, and all such embodiments are intended to be within the scope of the present invention.
Another aspect of the present invention is a system for individualized web page design using a graphical user interface. Fig. 2 depicts a rules manager 2 in accordance with an embodiment of the present invention. In this embodiment, the rules manager 2 comprises three sections: a page section 21 which lists the pages 24 to be designed, a rule object section 22 which contains rule libraries 26 of different rules, and a script editor 23 for associating actions with pre-determined conditions . It should be understood that the depictions of the contents of each section or library are only representative, and that as many or as few pages or rules libraries as are desired may be used in accordance with embodiments of the present invention.
The page section 21 allows the designer to easily navigate between different pages 24. However, the system may prompt a designer to choose a page before entering the rules manager 2, or a page may already be active in a separate window, in which case the rules manager 2 might have only two sections (e.g., the script editor and rule object section). Other sections may be added to the rules manager 2 to aid a designer, and all such rules managers are intended to be within the scope of the invention.
In the page section 21 of the present embodiment, a designer may sort the pages to be designed in a directory structure 25. However, the pages 24 may be listed in any variety ways including, without limitation, drop-down menus, command lines, or embedded links to a file manager object. When a designer clicks or otherwise highlights a particular page 24, the rule objects section 22 and script editor 23 display information associated with that page 24. In Fig. 2, "Page 2" is highlighted, and the rules libraries 26 and scripts 27 associated with "Page 2" are displayed in the appropriate sections . The rules manager 2 may also include multiple sections, such as by tiling or otherwise arranging the windows or sections on the screen, to allow a designer to have access to the rules manager 2 for multiple pages simultaneously.
The script editor 23 is utilized to create rules that will be associated with particular content in the page. In the present embodiment, rules are created using simple "if... then" statements. For example, in Fig. 2, a designer may wish to create a rule 27 for an e-commerce page that presents different sales offers to married and single individuals. This may be accomplished using an easy to use syntax that asks whether a particular condition is true and displays content based upon the answer. In rule 27, the script has the following form:
"If Con (Married) =TRUE Offer=Married
Else
Offer=Single
End If." The script of the present embodiment is simple to create and understand. "If Con (Married) =TRUE; Offer=Married" asks "If the condition that the subject is married is true then display the offer content called Married.'" Similarly, "Else; Offer=Single" says "If the above condition is not true then display the offer content called λSingle.'" Finally, "End If." tells the script that those are all of the possible conditions for that rule. An advantage of the present embodiment is that one does not need much formal programming experience or knowledge to create a rule .
In the present embodiment, the conditions called in the script are sorted as a rule objects in the rules objects section 22. For example, conditions (such as "Married") are placed in a rules library folder 26 called "Condition Tests." Similarly, in the present embodiment, the offer corresponding to the condition may be stored in the folder 26 called "Offers." Although the present embodiment uses the same name for the offer and condition, such is not required and a designer may assign any name he or she deems appropriate. Additionally, alternative embodiments may utilize as many or as few folders as the designer deems appropriate, and all such embodiments are within the scope of the present invention.
It should be understood that there is virtually no limit to the type of rule that can be created. For example, a rule 28 may have embedded conditions within it. Rule 28 dictates that different content become available for a user who has an order history on the site. If the user has no order history, the rule queries a second condition, namely whether the user has selected an item but canceled prior to finalizing the purchase. It should now be apparent that any type of information is suitable for creating a rule, and that rules may be applied in any web page context. For example, a university may design a web page that displays different content for students and faculty. The script editor 23 may function in a variety of ways. For example, a designer may be given a blank screen with a cursor wherein the script is simply typed. Alternatively, the script editor 23 may have drop down menus that allow a designer to select commonly used commands or phrases. Other embodiments allow a designer to drag and drop rule objects from the rules objects section 22 into the script editor 23 to form rules. Designers may also enter information by clicking with a mouse button and bringing up a menu from which to select phrases or rule objects. Other variations and embodiments should be apparent to those skilled in the art, and all are intended o be within the scope of the present invention.
The preferred embodiment also comprises a content editor 3 (see Fi.g 3) wherein a designer associates content on a web page 39 with particular rules. The content editor 3 of the preferred embodiment comprises two section: a library 31 and a web editor 32. The web editor 32 may act as a display window to display the content of the web page 39. The web editor 32 may display content according to several embodiments. For example, the web editor 32 may display a raw web page with a separate display window showing the web page 39 in real time. The web editor 32 may also display a page 39 according to specific rules that a designer selects in order to view the particular page 39 in real time, i.e., as a user satisfying the selected conditions might see it.
The content editor 3 also comprises a library section 31. The library section 31 may contain one or more libraries. In the preferred embodiment, the library section 31 displays a content library 33 and rules objects library 34. The library section 31 may also contain one or more additional personal libraries 35 that may contain, for example, draft rules or unfinished content. It should be apparent, however, that any number of libraries may be utilized according to the particular look and feel desired by the designer. In the preferred embodiment, the libraries are arranged in a directory tree structure, although a variety of other structures may be utilized.
In the preferred embodiment, the content library 33 contains content object libraries 36. Each content object library 36 houses a different type of content object that may be displayed on the web page 39 being designed. For example, although four such content libraries are shown in Fig. 3, there may be more or less, as desired by the designer. Thus, the content library 33 may contain HTML snippets, all types of images, hyperlinks, text, anchors, page sections, XML objects, script objects, such as Java scripts or VB scripts, active objects, such as ActiveX or Java applets, or any other type of content known to a person familiar with web page design or use. In the preferred embodiment, each type of content is arranged in its own content object library 36, although the number, use and arrangement of content object libraries 36 is at the discretion of the designer using the present system.
The library section 31 may also contain a rules objects library 34 that allows easy access to dynamic objects. The rules objects library 34 may be, but is not required to be, arranged in substantially the same ways as the content library 33. In the preferred embodiment, the rules objects library 34 comprises folders that sort objects depending upon the source of the information relevant to the object. For example, if an object is based upon information found in a cookie, such as, for example, whether the user has visited another web site recently, that rule might be sorted in the folder labeled "Cookies."
In operation of the preferred embodiment, the rules objects library 34 is a tree, and the designer may expand the tree to expose specific objects. The designer may drag and drop specific content objects onto the page 39 in the web editor 32 where the designer desires it to appear, and then drag and drop the content from the web editor 32 over the particular rule located in the library section 31. Alternatively, a designer may click on the content in the web editor 32 and bring up a menu or dialog box which permits the user to input a specific rule. The input step may be achieved in a variety of ways, including without limitation dragging and dropping objects from the rules objects library 34 into the dialog box, or typing the name of the rule into a command line in the dialog box. In other embodiments, a designer may select the content and go to a drop down menu at the top of the screen which permits the designer to associates the desired rule or rules. In yet another embodiment, a designer may select content to invoke a rules editor window or dialog box to allow the designer to create a new rule. In the described manner, the system allows the designer to easily associate content on the page 39 with any number of pre-defined rules, and having little or no programming or web design knowledge and experience.
In another example of a preferred embodiment, a designer may wish to display a browser' s first name on a web page 39. The browser's name may exist as a field within the host's RDBMS. To make the name appear, the designer may drag the name field from the RDBMS collection in the rules objects library 34 to the location on the page 39 where the name is to appear. In operation, the rules engine 30 will evaluate the name field and return the browser' s first name when the page 39 is displayed. Alternatively, a designer may drag a "last item purchased" object from the cookie collection in the rules objects library 34 onto the page 39. A rule may then be created wherein if the cookie is "non-zero" (i.e., there has been a last item purchased) , the image for the item purchased will be displayed.
Figs. 5A and 5B show specific examples of preferred embodiments in operation. In Figs. 5A and 5B, the designer wishes content 58 to appear only to married users. In the present embodiment, an input field relating to whether a user is married may be found in some database, so that field is under the "RDBMS Collection" in the rules objects library 54. In the present embodiment, the field exists as an object 56 called "Married." It should be apparent, however, that any sorting arrangement and object name may be utilized. In Fig. 5A, to associate content 58 with the object Married 56, the object 56 is dragged over onto the content 58 from the library section 51 to the web editor 52. The content 58 is then associated with a field which asks whether the user is married. The rules engine 30 will later evaluate that field at run time. In other embodiments, the designer may view the page 59 as it would appear to a married user by setting appropriate view options for the web editor 52. In Fig. 5B, the designer clicks or selects the content 58 to bring up a dialog box 57. The dialog box 57 may have a list of rules or links, or may comprise a rules editor whereby the designer may create rules while in the content editor.
The present invention may also include a navigation manager, designated generally in Fig. 4 as numeral 4. The navigation manager 4 comprises a page list section 41 and a page display section 42 to display a web page 49. In the preferred embodiment, the navigation manager 4 appears like a web browser and may be used to display a raw web page or existing web page received over a network connection. Although the entire system may be used on line to design web pages on a network, the system may also be utilized to design local pages off line prior to submitting such page to a server for network access.
The navigation manager 4 determines what information the web page 49 requests or transmits so that a designer may use the rules editor to create specific rules based upon that information. For example, if the web page 49 runs on cookies or input fields, such as "HTTP puts" or "HTTP gets", the navigation manager 4 might list those fields and cookies. In addition, the navigation manager 4 may be integrated with the rules editor 2 so that information retrieved by the rules manager 4 is placed in the appropriate folder 26 in the rules objects section 22 of the rules editor 2. The navigation manager 4 may also be connected to a web server so that a completed page 49 with all associated rules and content may be registered with the appropriate web server, content engine and rules engine with the click of a button.
The present invention also includes a method for displaying an individualized web page, such as might be created using the system described herein in Figs. 2-5. Fig. 6 depicts a method of the present invention according to a preferred embodiment. The method, designated as numeral 60, will be described generally below with reference to the steps of Fig. 6 and the components of Fig. 1. A detailed description of each of the steps will follow the general description.
In method 60, a raw web page is first provided 61 to a web server 10. A "raw web page" refers to any web page (or associated html code) with a number of conditional items (even DHTML or Java scripts) . The raw web page should include all possible content for the page. The step for providing 61 the raw web page may involve registering the page to be displayed with the server 10 using the navigation manager 4 of Fig. 4. Other ways of providing the raw web page include direct reference to the physical magnetic image of the page without routing the reference through a web server. The method 60 also comprises a step wherein the server 10 hosting the web page or site being accessed receives 62 a request from a user at a remote terminal for the web page. Typically the request is made by typing the universal resource locator ("URL") for the desired web page in the appropriate area of a web browser. The web page may also be requested via a hyperlink, or may be requested automatically by software at the remote terminal. There are numerous steps for requesting a web page at a remote terminal already known in the art. Next, the server 10 redirects 63 the request for the page to a content engine 20. The content engine 20 gets 64 the raw web page from the server 10. Although the raw web page of the present embodiment is located on server 10, the raw web page may be found on a separate server. Once the content engine 20 fetches 63 the raw web page, the content engine 20 invokes the rules engine 30 to evaluate pre-determined conditions. The rules engine 30 evaluates the pre-determined conditions according to the rules set by the web page designer, and returns 64 instructions to the content engine 20 for assembly of an individualized page.
Based upon the instructions from the rules engine 30, t the content engine 20 disassembles the raw web page into content components and assembles 67 the components into an individualized page based upon the outcome of the conditions as evaluated by the rules engine 30. The content engine 20 sends 68 the assembled individualized web page to the server 10, which transmits 69 the page to the remote terminal for display. Because the process may be implemented using efficient programming code, such as, for example, "c" or "c++", and the process mostly resides in fast random access memory (RAM) , the method 60 should not result in any noticeable delay in retrieving and displaying the page. Ideally, although not necessarily, the user at the remote terminal is not even aware that the page has been individualized.
Figs. 7 and 8 depict the step 64 according to the preferred embodiment in which the content engine 20 gets the raw web page from the server 10. In the first step 70, the content engine 20 acquires session information to be passed to the rules engine 30 and builds such information into a session array. For example, if the user has transmitted information such as query strings (such as a user password), or posted content, or provided cookie information (such as pages visited) , the content engine 20 would identify and acquire that information and build it into a session array. That information will later be supplied to the rules engine as rules objects related to the conditions to be evaluated. In the next step 80, the content engine 20 connects to the server 10 hosting the web page and transmits whatever data is required to gain access to the page. For example, if the raw web page requires a particular cookie, the content engine 20 will submit the cookies it has acquired in the acquisition 70 until the entire raw web page is transmitted to the content engine 20. Once the content engine 20 has gotten the raw web page, the session array is sent to the rules engine 30 for evaluation.
Figs. 9-13 depict generally the step for evaluating the conditions according to a preferred embodiment. The first step is rules engine recovery 91. Referring to Fig. 10, the rules engine 30 initializes session fields from a database 101 and receives a unique session identification 102 from the content engine 20. The rules engine 30 loads 103 the appropriate session data and updates 104 the session fields. Next, the rules engine 30 loads a first 105 logic tree node sequence and then 106 a COM object cross-reference table.
Following rules engine recovery 91 is rules engine substitution 92, described generally in Fig. 11. In this step, the rules engine 30 resolves node actions by substituting current session values for node symbols and evaluates whether the node is an expression 111. if not, the rules engine executes the node action (such as reading an RDBMS table) and proceeds to the next step, rules engine interpretation and identification 93. If the node is an expression, the expression is parsed 112, the tokens making up the expression are looked up in the session data 113 and a value is substituted 114. The rules engine 30 continues to parse 112 and substitute until the entire expression is resolved 115.
The next step, rules engine interpretation and identification 93 is depicted schematically in Fig. 12. In this step, the rules are evaluated and the rules engine 30 determines which of the pre-determined conditions are true. Hence, the rules engine 30 acquires the first logic node 1201. If the logic node is an "if-then" rule, the expression is resolved 1202. If the expression value is true, 1203, the information is sent to rules engine storage 94. If not, the rules engine determines if there is an else node 1204. If so, the else node is evaluated 1205. If not, the rules engine 30 goes to the "end if" statement and determines 1215 whether there is a next logic node 1201.
If the logic node is not an "if-then" rule, the rules engine 30 will determine if it is another type of node, such as an assignment node 1206, and if so, will assign 1207 the appropriate data 1208 and proceed to acquiring yet another node 1201. If the logic node is neither an "if-then" nor assignment node, the rules engine 30 will see whether the node is yet another kind of node, such as a redirection node 1208. If so, the rules engine 30 will exit the rules engine process and instruct the content engine 20 to go to the redirected site.
The logic node may also be an RDBMS node 1209. If so, the rules engine 30 will resolve the SQL expression 1210, build the SQL syntax 1211, execute the SQL 1212 and assign the results to session data 1213. If the node is not an RDBMS node, the rules engine assigns the resolved expression to session data 1214 and attempts to acquire the next node 1201.
Following the interpretation and identification step 93, the rules engine 30 proceeds to rules engine storage 94, depicted in Fig. 13. The rules engine 30 identifies and sets "change state of session" token 131, rewrites those tokens to session storage 132, and returns instructions to the content engine 20. Referring to Fig. 6, the method 60 is resumed at step 67.
The steps for disassembling and assembling the content are shown schematically in Figs. 14-16. In Fig. 14, the content engine 20 parses the raw web page. The content engine first tokenizes the HTML stream for the raw web page 141 into objects. The content engine 20 then labels, saves and outputs each content object by type. For example, if the object is an anchor, the content engine 20 adds a circular reference 142, labels and saves 143 the object, then appends the object to the output 144. If there are no further objects, the content engine 20 proceeds to the next step. If the object is, for example, an editable object 145, the object is labeled and saved 143 and appended to the output 144. If the object is, for example, a cookie object, domain information is added 146, the object is labeled and saved 143, and appended to the output 144. When all objects have been tokenized, the content engine 20 moves to the step of altering the web page.
The alteration step is described in Fig. 15. First, change requests are loaded 151 into the content engine 20 from an RDBMS. A copy of the session data is then saved by the rules engine 30. The content change requests from the rules engine 30 are merged 152 with the parsed HTML stream. The content engine 20 matches objects 153 and applies the appropriate changes 154 until all objects are accounted for.
In Fig. 16, the content engine 20 reconstructs the web page. The content engine 20 scans 161 the merged page for hyperlink objects, either referenced or excluded by the page, and applies itself as a reference 162 for those links, hence rerouting those links through the content engine 20. In alternative embodiments, a designer may flag excluded hyperlinks during the design phase in the content editor so that certain hyperlinks are not re-routed. After the links have been rerouted 162, the content engine 20 scans the page for new line characters, such as, for example, line breaks that may alter the appearance of the page, and removes them 163. The page is then stored into memory 164.
Once the page has been reconstructed according to the rules, the content engine 20 delivers the individualized web page back to the server 10 for transmittal to the remote terminal. Fig. 17 depicts the step for delivering the page to the server 10. The content engine 20 re-computes the new byte size for the page 171. Then cookies are added 172. The HTTP length is altered 173 and output 174 to the server 10. Finally, cookies 175 and the new HTML of the individualized page 176 are output to the server 10.
It should be apparent that the above embodiments in accordance with the present invention allow any web page consisting of content to be disassembled and reassembled according to any number of pre-determined conditions . For example, the content may be purchase incentives or advertisements individualized for a particular user or type of consumer. It should also be apparent that the content engine 20 need only locate objects in the web page code, and the rules engine 30 evaluates pre-determined conditions based upon data separate from that code. Thus, any web page may be individualized without having to employ programmers or web page designers to embed complicated programs or scripts into web page's source code. The creation and display of individualized web pages is greatly simplified.
In addition, because the content engine 20 need only locate HTML objects, it is immaterial whether the web page is written in HTML, Java script, ASP, JSP, or any other HTML generating language. Similarly, because the rules engine 30 evaluates conditions separate from the source code, data from previously untapped sources such as, for example, corporate databases, may be utilized to provide more individualization than has thus far been possible.
It should also be apparent that program instructions for the graphical user interface, an embodiment of which is described in Figs 2-5, may be stored on a computer readable medium, such as a floppy disk, compact disk, or other magnetic media capable of storing program instructions. In addition, in another embodiment the invention includes a computer device having said computer readable medium therein. It will be apparent to those skilled in the art that various modifications and variations can be made in the method and system of the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention include modifications and variations that are within the scope of the appended claims and their equivalents.

Claims

CLAIMS What Is Claimed Is:
1. A system for creating an individualized web page comprising: a content engine; a web server, wherein said web server sends a raw web page to said content engine for disassembly of said raw web page into content components; and a rules engine, wherein said rules engine evaluates conditions and instructs said content engine to assemble certain content components into an individualized web page according said conditions.
2. A method for displaying an individualized web page comprising: providing a raw web page at a host computer; receiving a request from a remote terminal for a web page at said host computer; redirecting said request to a content engine; said content engine requesting said raw web page from said host computer; said content engine invoking a rules engine to evaluate said request; said rules engine returning conditions to said content engine; at said content engine, disassembling said raw web page into content components and assembling said content components into an individualized web page according to said conditions; sending said individualized web page from said content engine to said host computer; and sending said individualized web page from said host computer to said remote terminal.
3. The method of claim 2 wherein the host computer is a web server.
4. A system for individualized web page design using a graphical user interface comprising: a rules manager wherein a user creates rules for the display of content; and a content editor wherein a user associates said content with said rules.
5. The system of claim 4 further comprising a display window for displaying a web page.
6. The system of claim 5 wherein said display window displays the web page in real time.
7. The system of claim 4 further comprising a content library for storing said content.
8. The system of claim 7 wherein said content library contains content objects.
9. The system of claim 8 wherein said content objects are HTML images, texts, hyperlinks, XML objects, script objects, active objects or page sections.
10. The system of claim 4 further comprising a means for associating said content with said rules.
11. The system of claim 10 wherein said means for associating said content with said rules comprises dragging and dropping content from said content library into said rules manager.
12. The system of claim 10 wherein said means for associating said content with said rules comprises a dialog box that appears when a user selects content in said display window.
13. The system of claim 12 wherein said dialog box is a rules editor.
14. The system of claim 13 wherein said rules editor dialog box is used to create rules for said selected content.
15. A computer readable medium containing program instructions for: providing a rules manager wherein a user creates rules for the display of content; and providing a content editor wherein a user associates said content with said rules.
16. The computer readable medium of claim 15 further comprising program instructions for providing a display window for displaying a web page.
17. The computer readable medium of claim 16 wherein said display window displays the web page in real time.
18. The computer readable medium of claim 15 further comprising program instructions for a means for associating said content with said rules.
19. The computer readable medium of claim 18 wherein said means for associating said content with said rules comprises dragging and dropping content from said content library into said rules manager .
20. The computer readable medium of claim 18 wherein said means for associating said content with said rules comprises a dialog box that appears when a user selects content in said display window.
21. The computer readable medium of claim 20 wherein said dialog box is a rules editor.
22. The computer readable medium of claim 21 wherein said rules editor dialog box is used to create rules for said selected content .
23. The computer readable medium of claim 15 further comprising program instruction for providing a content library for storing said content.
24. The computer readable medium of claim 23 wherein said content library contains content objects.
25. The computer readable medium of claim 24 wherein said content objects are HTML images, texts, hyperlinks, XML objects, script objects, active objects or page sections.
26. A method for conducting electronic commerce through an individualized web page comprising: providing a raw web page on a host computer; receiving a request from a remote terminal for a web page at said host computer; redirecting said request to a content engine; said content engine requesting said raw web page from said host computer; said content engine invoking a rules engine to evaluate said request; said rules engine returning conditions to said content engine; at said content engine, disassembling said raw web page into content components and assembling said content components into an individualized web page according to said conditions, wherein at least some of said content components comprise individualized purchase incentives; sending said individualized web page from said content engine to said host computer; sending said individualized web page from said host computer to said remote terminal; and receiving a purchase selection from said remote terminal according to said individualized purchase incentives.
27. The method of claim 26 wherein the host computer is a web server.
28. The method of claim 26 further comprising shipping a purchased item to a purchaser.
29. A computer device comprising:
A computer readable medium containing program instructions for: providing a rules manager wherein a user creates rules for the display of content; and providing a content editor wherein a user associates said content with said rules.
30. The computer device of claim 29 further comprising a computer readable medium containing program instructions for providing a display window for displaying a web page.
31. The computer device of claim 30 wherein said display window displays the web page in real time.
32. The computer device of claim 29 wherein said computer readable medium further comprises program instructions for a means for associating said content with said rules.
33. The computer device of claim 32 wherein said means for associating said content with said rules comprises dragging and dropping content from said content library into said rules manager .
34. The computer device of claim 32 wherein said means for associating said content with said rules comprises providing a dialog box that appears when a user selects content in said display window.
35. The computer device of claim 34 wherein said dialog box is a rules editor.
36. The computer device of claim 35 wherein said rules editor dialog box is used to create rules for said selected content.
37. The computer device of claim 29 wherein said computer readable medium further comprises program instruction for providing a content library for storing said content.
38. The computer device of claim 37 wherein said content library contains content objects.
39. The computer device of claim 38 wherein said content objects are HTML images, texts, hyperlinks, XML objects, script objects, active objects or page sections.
PCT/US2001/014912 2000-05-16 2001-05-09 System and method of individualized web page design and display WO2001088752A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001259649A AU2001259649A1 (en) 2000-05-16 2001-05-09 System and method of individualized web page design and display

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57190300A 2000-05-16 2000-05-16
US09/571,903 2000-05-16

Publications (1)

Publication Number Publication Date
WO2001088752A1 true WO2001088752A1 (en) 2001-11-22

Family

ID=24285519

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/014912 WO2001088752A1 (en) 2000-05-16 2001-05-09 System and method of individualized web page design and display

Country Status (2)

Country Link
AU (1) AU2001259649A1 (en)
WO (1) WO2001088752A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009102647A1 (en) * 2008-02-13 2009-08-20 Marc Amaral Method and system for authoring, publishing and rendering a dynamic interactive web page
US20130305173A1 (en) * 2012-05-11 2013-11-14 Qvidian, Inc. Rules library for sales playbooks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038573A (en) * 1997-04-04 2000-03-14 Avid Technology, Inc. News story markup language and system and process for editing and processing documents
US6061696A (en) * 1997-04-28 2000-05-09 Computer Associates Think, Inc. Generating multimedia documents

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038573A (en) * 1997-04-04 2000-03-14 Avid Technology, Inc. News story markup language and system and process for editing and processing documents
US6061696A (en) * 1997-04-28 2000-05-09 Computer Associates Think, Inc. Generating multimedia documents

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BARRETT R. ET AL.: "How to personalize the web", ACM CONFERENCE ON HUMAN FACTORS AND COMPUTING SYSTEMS, 22 March 1997 (1997-03-22) - 27 March 1997 (1997-03-27), ATLANTA, USA, pages 75 - 82, XP002943159 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009102647A1 (en) * 2008-02-13 2009-08-20 Marc Amaral Method and system for authoring, publishing and rendering a dynamic interactive web page
US20130305173A1 (en) * 2012-05-11 2013-11-14 Qvidian, Inc. Rules library for sales playbooks
US9355376B2 (en) * 2012-05-11 2016-05-31 Qvidian, Inc. Rules library for sales playbooks

Also Published As

Publication number Publication date
AU2001259649A1 (en) 2001-11-26

Similar Documents

Publication Publication Date Title
US10726442B2 (en) Dynamic reconfiguration of web pages based on user behavioral portrait
US7788212B2 (en) System and method for personalization implemented on multiple networks and multiple interfaces
US6484149B1 (en) Systems and methods for viewing product information, and methods for generating web pages
US8719296B2 (en) Method and apparatus for defining data of interest
US8370362B2 (en) Database access system
US11763316B2 (en) Server system configured to provide graphical user interface for modifying web pages to include hyperlinks
US6771291B1 (en) Method for developing electronic documents employing multiple display regions
US7536323B2 (en) Online intelligent multilingual comparison-shop agents for wireless networks
US9842092B1 (en) Multi-page website optimization
US20020026441A1 (en) System and method for integrating multiple applications
US20070073756A1 (en) System and method configuring contextual based content with published content for display on a user interface
US20020103789A1 (en) Interface and system for providing persistent contextual relevance for commerce activities in a networked environment
US20070073697A1 (en) System, Method, and Computer Program Product for Internet Tool
US20070180020A1 (en) System, Method, and Computer Program Product for Internet Tool
US7805337B1 (en) Method for determining product variants and merging product image information
US10878178B2 (en) Modifying web pages to be served by computer server system
US20070180019A1 (en) System, Method, and Computer Program Product for Internet Tool
WO2001088752A1 (en) System and method of individualized web page design and display
ȘOAVĂ et al. Optimizing Ecommerce sites through the use heat map
Bouras et al. Using J2EE Web Services for the Implementation of an Application on Demand Portal

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP