WO2001018684A2 - System and method for profiling a web site - Google Patents
System and method for profiling a web site Download PDFInfo
- Publication number
- WO2001018684A2 WO2001018684A2 PCT/US2000/040834 US0040834W WO0118684A2 WO 2001018684 A2 WO2001018684 A2 WO 2001018684A2 US 0040834 W US0040834 W US 0040834W WO 0118684 A2 WO0118684 A2 WO 0118684A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- site
- user
- profile
- data
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- the invention relates generally to electronic commerce. More particularly, the invention relates to systems and methods for creating and using merchant profiles.
- users view pages from merchant Web sites over the Internet to make a purchase.
- information is sent to a profile server which creates a site profile or a site map.
- the site profile includes information about the layout of the various Web pages, as well as information about how to navigate among the various pages within the Web site.
- information about the user is obtained from the user's actions. For example, if a field known to be a name field (by the site profile information) has data entered into it, it can be presumed that this is the user's name and such information about the user is also be stored. As such, when the user interacts with other Web pages, if site profile information is available and user profile information is available, user data can automatically be entered in the appropriate fields.
- Figure 1-3 are block diagrams of various embodiments of an exemplary merchant profiling system
- Figures 4-5 are block diagrams illustrating exemplary embodiments of the Merchant Profile Server shown in Figures 1-3;
- Figure 6 is a flow diagram illustrating exemplary logic performed on a user computer to profile a site in accordance with the present invention;
- Figures 7-10 are flow diagrams illustrating exemplary logic for performing merchant profiling in accordance with the present invention.
- Figures 11-20 illustrate exemplary data structures for a site model; gures - i us ra e exemp ary a a s ruc ures or sc ⁇ p a e in erac ions, Figures 25-28 illustrate exemplary data structures for an exemplary user profile, and Figures 29-34 illustrate exemplary displays for a user interface for initiating site profiling in accordance with the present invention
- the present invention performs site profiling by storing information about
- the site information (or site map) includes information on various form fields on a page within the site (for example, name field, address field, e-mail address field, etc ) and the site information is stored on a server so that it is available to other users
- the user information e g , user's name, address, e-mail address, etc
- the user information can then automatically be entered into appropriate fields of sites that have been profiled
- the sites profiled are merchant sites
- profiling can be performed on virtually any type of Web site, database or network
- An exemplary merchant profiling system of the present invention creates merchant profiles based on user interactions with sites, wherein the user interactions are typically purchases Merchant profiles describe a merchant's site such as, for example, the format of a checkout page When a customer makes an online purchase, information about the merchant site is stored and this information can be made available to other users Information about a user is also stored and by having information about the user, as well as information about the merchant site, much of the information that a user is normally required to enter can automatically be entered for the user The exemplary system thereby decreases the amount of time that a user must spend in conducting an online purchase, which will in turn increase the likelihood that the user will make online purchases
- FIG. 1 is an exemplary block diagram illustrating an exemplary merchant profiling system 100 formed in accordance with the present invention
- a user or customer 120 communicates with a merchant 125 over a network 130, such as the Internet
- a Merchant Profile Server 110 communicates with one or more customers 120 over a network 130, such as the Internet While the embodiment illustrated in Figure 1 employs the Internet as the communication medium, it will be appreciated that other communication media are also possible, for example, digital wireless media
- the system includes a plurality of users and a plurality of merchants
- the customer mteraction with the merchant is known in the art
- a customer 110 uses a We rowser, suc as Netscape Navigator® or Microsoft Internet Explorer® to navigate to a merchant Web site
- the Web browser contains a plug-in or similar component that can interact with the browser as well as the Merchant Profile Server 110
- the component may include, for example, ActiveX, Java, a browser-specific plug-in, scripting, or server-side components
- the user navigates through the merchant's site performing various functions
- various embodiments may also include a Partner Server 140 in addition to the components illustrated in Figure 1
- the Partner Server 140 exchanges data with the Merchant Profile Server 110 and uses merchant profile data to support needs of partner customers Needs of partner customers may be similar to the needs of customer 120 except that the customer client component interacts with a server other than (or in addition to) Merchant Profile Server 100
- Partner Server 140 can exchange data with the Merchant Profile Server 110 via an Internet connection 130
- SSL is used m combination with server-to-server authentication using X 509 certificates (from both the client and the server host) in order to achieve encryption, authentication, and cryptographic protection from replay attacks and other types of security threats
- Alternative embodiments are possible, such as the use of Virtual Private Network, (VPN) or reduced security (e g , use of SSL only for encryption but not for server-to-server authentication)
- VPN Virtual Private Network
- a dedicated secure connection 150 may be used to exchange data between the Merchant Profile Server 110 and the Partner Server 140 as shown in Figure 3
- FIG. 4 illustrates exemplary components of Merchant Profile Server 110
- the Merchant Profile Server 110 may include several different hosts Alternatively, the described functionality may be contained on a single host, or on multiple hosts that operate in parallel to achieve fault tolerance and load balancing An unlimited number of configurations are possible by varying the numbers of each type of host and the ways in which described functionality can be deployed onto single hosts Exemplary host may also be interpreted as individual computer chassis or central processing units (CPUs), as might occur in Symmetric Multi Processor (SMP) computer architectures
- SMP Symmetric Multi Processor
- the functionality itself consists of a merchant profile application server 200, a merchant profile database 210, and optionally, a user profile database 220, as well as a Web server 230 It will be appreciated that one profile database can include both merchant profile data and user profile data
- the merchant profile database includes information about merchant sites, for example, a list of fields (with associated types and default values) on a c ec u page, p us n ma on .
- profile database 220 includes information about the user, for example, name address, purchase preferences, shipping preferences and payment preferences. If the user profile database is omitted, user profile data may be stored on the merchant profile database.
- Exemplary application server 200 services request events originating from the Web server 230, in response to user interaction with the merchant Web site. Application server 200 also mediates interaction with profile database 220 and may also perform performance enhancing functions, such as result set caching. Application server 200 may also exchange data with profile database 220. The combined data access by application server 200 to merchant profile database 210 and profile database 220 allows application server 200 to execute logic that ultimately results in one or more of a number of actions.
- These actions may, for example, include updates to data residing in merchant profile database 210 and/or user profile database 220, and the submission of data to Web server 230.
- the submission of data to Web server 230 may result in Web server 230 formatting data with other Web content.
- the resultant Web pages will be displayed to users 120.
- Web server 230 also communicates with any number of form-fill mechanisms that operate on the forms and pages that customer 120 may view and manipulate on the site of a merchant 150.
- Web server 230 may send form fill data to a client software component that operates within the user's browser, for example, a Java applet or an ActiveX control.
- Figure 5 shows an alternative exemplary configuration of Merchant Profile Server 110.
- the Merchant Profile application server 200 can exchange data with a converter or other translator, for example, an Electronic Commerce Modeling Language (ECML) converter.
- ECML Electronic Commerce Modeling Language
- the ECML converter is based on XML.
- Other translators or converters that server to convert to a from a predetermined data interchange standard can be implemented in the present invention instead of or in addition to ECML 250.
- Standards to be converted may be either open standards or proprietary standards.
- the ECML converter can then send information about merchant site profiles to partners 140 that participate in a special program for this exchange. In the illustrated embodiment, information is communicated from the ECML converter 250 to the partner server 140 via Web server 230.
- site profile data can be sent eit er from or to the Merchant Pro ile app ication server 200 using an ECML format that is suitably encoded or decoded by the ECML converter 250 in moving data into or out of the processing logic that resides on the Merchant Profile application server 200
- This logic may also exchange data with the various databases and profile data stores that in some embodiments are associated with the Merchant Profile Server 110
- ECML can be used to define interchange of data with merchants who have enrolled in the merchant profile exchange program
- An appropriate Web site allows merchants to enroll in a program
- Enrolled merchants can use the Web site to perform various functions, for example, accessing raw data for scripts and site profiles and providing links and other mechanisms that provide their customers with easy access to the profiling capability
- Figure 6 is a flow diagram illustrating exemplary logic performed by a user to perform merchant profiling in accordance with the present invention
- the user visits Web sites using a Web browser, such as Netscape Navigator® or Microsoft Internet Explorer® Client software on the user's computer, for example a browser plug-in, performs merchant profiling in the background while the user is visiting merchant sites
- the logic of Figure 6 moves from a start block to block 300 where the merchant profiling function is activated
- profiling may be activated by using a digital wallet
- profiling may occur when the Web browser is run (e g , always active)
- a user may be required to initiate merchant profiling
- the logic moves to block 302 where a Web page is retrieved and displayed This is known in the art For example, a user enters a Uniform Resource Locator (URL) or clicks on a hyperlink The appropriate Web page is retrieved from a Web server (such as merchant 125)
- decision block 304 a test is made to determine if there is profile information for the page
- the Merchant Profile Server 1 10 checks the merchant profile database for information for the site If there is information available for the site, the logic moves to decision block 308 to determme if there is information available for the user (in the user profile database) If there is profile information for the site (yes in decision block 304) and profile information for the user (yes in decision block 308), the logic move to block 310 where appropriate fields are filled
- the site information may include data indicating that there is a name field The user's name is ret eve an sp ay
- the logic moves to decision block 312 to determine if there is new profile information available
- various page contents such as a POST action
- merchant profiling is performed From the perspective of the software on the user's computer, this means that potential profile data is sent to the Merchant Profile Server As described above, this data may be sent based on an action, such as a POST
- information about every page can be sent to the Merchant Profile Server 110 as potential profile information
- the logic moves to block 316 where user profile information is saved, for example to the User Profile database, if required
- this step is combined with the merchant profiling of block 314
- the logic moves to decision block 318 to determine if it is time to exit (for example, by a user selecting the
- FIGS 7-10 are flow diagrams illustrating exemplary logic for performing the site profiling function on the profile server 110 (e g , merchant profile server) in accordance with the present invention
- merchant profiling will be performed automatically (e g , without any user interaction)
- user interaction may be required to initiate site profiling (for example, see exemplary user interfaces shown in Figures 28-33)
- the pages processed are Web pages using HyperText Markup Language (HTML) which are transmitted to a user 120 from a merchant over the Internet 130 using the HTTP protocol
- HTML HyperText Markup Language
- a browser such as Netscape Navigator® or Microsoft Internet Explorer® is used to view the Web pages
- the invention can be used to read information in formats other than HTML, for example, Extensible Markup Language (XML) or Wireless Markup Language (WML)
- the information can be communicated using protocols other than HTTP, for example, Wireless Access Protocol (WAP)
- the model of a Web site effectively consists of a collection of pages Each page has an associated vector that characterizes its fields and navigational options (for example, links to other pages, such as a home page or a chec out page within a merc ant site).
- the n ng o a set of values to these vectors prescribes a specific interaction with the site modeled. It will be appreciated that this description assumes a specification of the starting page for the interaction, and facilities for managing cookies, SSL connections, and any other activities that might be part of the typical user interaction using a browser (which might include Javascript, Java, ActiveX, and other functionality).
- a model of a Web site might be characterized by three pages, each of which includes a number of editable fields, hyperlinks and submit actions that navigate to one of the other pages.
- a "binding" of values to these form fields and actions might be provided as a combination of look-ups to a table of user preferences.
- the values are bound to each element of the site model in the following sequence: form fields of the first page, navigation act(s) (e.g., hyperlink or submit) of the first page, form fields of the second page, navigation act(s) of the second page, form fields of the third page and navigation act(s) of the third page.
- the basic theory described above identifies how repeatable Web interactions can be achieved. However, it is often not desirable to only be able to precisely repeat an exact sequence of events, such as the purchase of a specific item at an E-Commerce Site. It is often more useful to parameterize these interactions in such a way as to allow limited user interaction to elicit input for necessary variables, such as the product being purchased in the preceding example.
- the extension of the basic theory is that the vector of user interaction contains a number of "unfilled" values or input variables that the user still must provide. In an exemplary embodiment, the user enters these values. In other embodiments, these values are retrieved by other means , and possibly in combination.
- Values may be retrieved from user profiles, computed based on available information (e.g., deliver within five days of today's date), computed based on user profile information (e.g., ship to billing address unless the item is gift wrapped), or derived via a combination of automated and non-automated means (e.g., ship to billing address but allow user interaction to override address to identify gift delivery).
- the means by which values are retrieved can be represented as "meta-values" and stored in an appropriate merchant profile table or user profile table.
- the term "meta” as used herein denotes the fact that the values are not literal constants, but rather, prescribe a means by which some expression or data can be evaluated so as to provide a value.
- the automated or semi-automated merchant profile function of the present invention is implemented using scripts.
- a script references specific merchant site model elements (such as vectors of field names and attributes, as well as action information) and prescribes bindings of values that are used for specific types of interaction.
- a script describes the semantic relationship between the users' profiles and the site model for various interactions
- a given page (or pages) of a merchant site may allow a user to perform a variety of functions, such as change address and change payment vehicle (e.g., via a specific credit card or using Automated Clearing House (ACH) facilities)
- change address and change payment vehicle e.g., via a specific credit card or using Automated Clearing House (ACH) facilities
- ACH Automated Clearing House
- at least two scripts would be required, one for the change address function and one for the change payment vehicle function
- the change address function may include a script to use business address for shipping and one to use home address for shipping
- the merchant profile system of the present invention provides means for managing scripts that are available to all users (public scripts) as well as scripts that users explicitly create for
- Vectors are employed for performing the logic in the exemplary embodiment described herein However, it will be appreciated that various other implementations are possible Vectors in exemplary embodiments include, a profile customization vector, a tables vector, an edit fields vector, a field heuristics vector, an actions vector, an actions heuristics vector, a field heuristics strategy patterns vector and an action heuristics strategy patterns vector
- the profile customization vector stores data that drives the heuristics when user feedback or precise processing directives have previously been provided Such directives can allow certain heuristics to always be favored over others, or for the association of certain names within the application of a specific heuristic to always be favored For example, the association of a specific element of HTML can be assigned a high "goodness" weight to ensure that the heuristics favor the interpretation of that text element as being a field label of a given field
- the tables vector stores pointers and information about tables that are contained in HTML or other page representation language to support iterative or recursive processing, as
- the action heuristics vector stores information about the application of heuristics to individual actions an/or hyperlinks
- the field heuristics strategy patterns vector stores command data and processing instructions that define general heuristics that may be applied to fields in a form to be filled
- the actions heuristics strategy patterns vector stores command data and processing instructions that define general heuristics that may be applied to actions and navigation items
- Application of heuristics to a field vector element will initialize an element (or part therein) of the field heuristics vector It will be appreciated that in various embodiments other vectors and heuristics may be used
- Figure 7 is a flow diagram illustrating exemplary logic performed by a Merchant Profile Server 110 for profiling a single page As described above with reference to Figure 6, when potential profile information is available, it is sent to the Merchant Profile Server 110
- the data sent to the Merchant Profile Server 110 is a Web page, for example, HyperText Markup Language (HTML)
- HTML HyperText Markup Language
- the logic of Figure 7 moves from a start block to block 400 where initialization is performed, for example, data structures are initialized Exemplary data structures are illustrated in Figures 11-28 It will be appreciated that various embodiments may include additional data structures, as well as variations of the data structures illustrated in Figures 11-28
- Initializing of data structures may include loading vectors with initial values which may be zero or null values, or objects (such as instances of heuristic command patterns classes) Vectors used in exemplary embodiments of the invention are described above After initialization has been performed, the logic moves to block 402 where the page source is scanned as shown in detail in Figure 8 and described below After the page source has been scanned,
- Figure 8 is a flow diagram illustrating exemplary logic for scanning the source of a page (402 of Figure 7)
- the logic of Figure 8 moves from a start block to block 420 where the first tag of the page is read
- the tag determines the processing that will occur If the tag is a hyperlink (yes in decision block 422), the logic moves to block 424 where the tag information is saved in a Page Action Table (such as the one shown in Figure 20) and an offset to the navigation items vector is saved to allow subsequent processing by heuristics to quickly find surroun ing text w en searc ing or possi e e names I t e tag is a orm e yes in decision block 426), the tag information is saved to the field data vector, an offset is saved to the edit fields vector (block 428) and an element of the field heuristics vector is initialized (block 430) If the tag is an action tag (yes in decision block 432), for example, submit, or invokes client-side scripting functionality (e g ,
- FIG. 9 is a flow diagram illustrating exemplary logic for performing field heuristics for a page (404 of Figure 7)
- Performing field heuristics allows for the identification of a meaningful name for each field in a page
- the name can be used to associate bindings to elements of scripts
- the logic iterates over each field element Within each of these iterations, a set of heuristics are iterated over
- the heuristics are encapsulated as "strategy design patterns" (as characterized by "Design Patterns Elements of Reusable Object Oriented Software” by Erich Gamma, John Vhssides, Ralph Johnson, Richard Helm (Addison Wesley Longman, Inc (June, 1994) pages 315-324)
- Each of the heuristics identifies the best candidate name for a field
- Many of the heuristics will operate by generating a list of candidate names and then selecting the best possible name from the list of candidate names by applying a weight
- the logic then moves to block 454 where candidate names are identified by the algorithm.
- a "goodness” measure is calculated for the heuristics strategy for each element of the edit fields vector.
- the heuristic seeks to find the best name by identifying candidate names and applying the goodness measure to each.
- the logic then moves to block 456 where the results (e.g., the candidate names and "goodness measures") are stored to the field heuristics vector.
- decision block 458 a test is made to determine if there are more heuristic strategies to process for the current element of the edit fields vector. If there are more heuristic strategies to process (yes in decision block 458), the logic moves to block 460 to get the next heuristics strategy. The logic then returns to block 454.
- blocks 454-458 is repeated for each heuristics strategy for the element of the edit fields vector currently being processed.
- the logic moves to block 462 where a heuristics weighting function is applied. The best heuristic is identified for each field, and the name that is favored by that heuristic becomes the designated name for that field. The name is stored in the field vector.
- the logic then moves to block 464 where the best name (identified in block 462) is stored to the edit fields vector.
- decision block 466 where a test is made to determine if there are more elements in the edit fields vector.
- Figure 10 is a flow diagram illustrating exemplary logic for performing action heuristics for a page (406 of Figure 7).
- the logic for performing action heuristics is similar to that for performing field heuristics (described above with reference to Figure 9)except that the logic addresses the association of name to an action vector.
- the logic of Figure 10 moves from a start block to block 280 where the first element of the actions vector is retrieved.
- the logic moves to block 482 where the first heuristics strategy is retrieved.
- the logic then moves to block 484 where candidate names are identified.
- a "goodness" measure is calculated for a the heuristics strategy for the element of the actions vector.
- the logic then moves to block 486 where the results (e.g., the candidate names and "goodness measures" are stored to the field heuristics vector.
- the logic then moves to decision block 288 where a test is made to determine if there are more heuristic strategies to process for the current element of the actions vector.
- the present invention utilizes a clickstream of a user (e g , a user's actions in a browser), in combination with the model of a site, to formulate a discrete state space that can be characterized by a set of mathematical vectors
- a clickstream of a user e g , a user's actions in a browser
- a user's actions in a browser in combination with the model of a site
- a discrete state space that can be characterized by a set of mathematical vectors
- Exemplary data structures for a site model are shown in Figures 11-20 and described below
- a specific activity for example, filling in fields of pages and navigation among pages
- a specific activity for example, filling in fields of pages and navigation among pages
- may result which in many cases is repeatable and serves some desirable end, such as placing an item in a shopping cart, checking order status or customizing products/services
- a site table such as the one shown in Figure 11, associates a site to a meaningful name and a domain name system (DNS) name
- DNS domain name system
- the site ID is the primary key, and is used to link this table to other tables Additional fields may be supplied in alternative embodiments to characterize an entire site (e g., geographic location, information about redirection or site availability)
- a site- merchant association table such as the one shown in Figure 12, associates a site to a specific merchant This table is necessary because of the arbitrariness of the cardinality of association (many-to-many) between merchant and site That is, a given merchant might have multiple sites and/or a given site might service multiple merchants
- a merchant ID is used as primary key and a separate table characterizes merchant attributes, such as name
- a site-subsite association table such as the one shown in Figure 13, provides a means to break a site into subsites that describe special security and navigation attributes
- a subsite ID can
- the subsite characteristics table describes characteristics of a subsite, such as whether it is dynamic (requiring special URL handling, cookies, etc), how cookies are used (and possibly identifying a specific cookie or set of cookies that are stored in other tables that an implementer(s) of this design would create), and other behaviors such as whether a secure session times out, etc.
- the partial URL defines where in the site this subsite exists.
- the login field can provide data that is used to determine how to handle logon, for example, it may indicate that there is a logon ID and logon password stored in the user profile database. As such, it would need to identify the profile field names that are specific to this subsite.
- a subsite-pages association table such as the one shown in Figure 15, enumerates pages that can be characterized within a given site model.
- Page ID is a primary key, and is used as foreign key in many other tables in various embodiments of the invention.
- a page characteristics table such as the one shown in Figure 16, characterizes individual pages. Since there is a many-to-one relationship between fields and pages, a foreign key into a field map is used to link specific field data to a page.
- a field map table such as the one shown in Figure 17, associates individual fields, in a specific sequence, with a specific field map (as referenced by a page characteristics table row).
- a field table such as the one shown in Figure 18, defines attributes of specific fields.
- Figure 19 illustrates an exemplary page action map table which identifies actions that are available on a page, such as how data can be submitted after performing a form fill or client- side scripting functionality that can be invoked when a user clicks a button.
- Figure 20 illustrates an exemplary Page Action Table which provides information that gives meaning to an individual action within a page (name and action information).
- Figure 21-24 are exemplary data structures defining scriptable interactions.
- Scriptable interaction composed of sequences of discrete steps are stored in a script flow table ( Figure 21), using sequence numbers to set the order.
- Other tables capture relations between: scripts and pages; pages and sites or parts of sites (to identify operational characteristics such as logon, cookies, etc.); and sites and merchants (to allow for the fact that merchants may use third party sites or have arbitrary cardinality of association with sites).
- a scriptable interactions table such as the one shown in Figure 22, defines a script (or scriptable interaction), and uses a script ID as primary key. This key is used as foreign key throughout the system. Since scripts may be public or private, and may originate from numerous sources (e.g., a user or a partner), fields can be provided to identify source and usage.
- a script flow table such as the one shown in Figure 21, defines an interaction with a sequence of pages It uses the primary key (script ID), and defines the essential interaction with a Web site which includes an identification of the start page, and an ordered sequence of actions that are linked by an action ID foreign key to a page actions table (shown in Figure 23)
- An end page ID is also included Since any page can include navigation to any other page, the term "end" is defined to be the last defined action (e.g , navigation is not necessarily sequential among the various pages within a site
- a sequence of one or more rows from the script flow table defines a script
- the page actions table shown in Figure 23 defines individual actions
- the primary key is the action ID which is also a foreign key into other tables
- click data and fill data are also provided Fill data can be linked by foreign key to a form fill table (such as the one shown in Figure 24)
- a form fill table such as the one shown in Figure 24, contains the appropriate meta fill value and associated data for each field
- the meta value prescribes the evaluation and population of a field given access to a user's profile, database tables, and interaction with the user
- a meta value might specify that associated data is to be treated as a constant to be automatically filled, or that there is no valuation for automated form fill, thereby necessitating that a user fill the field.
- Figures 25-28 are exemplary data structures for defining a user profile
- a user table such as the one shown in Figure 25 associates a globally unique ID (GUID) used to identify users in the merchant profile system of the present invention with a user profile that has been captured elsewhere (if available), for example, during the process of user interaction with a site or from profile data that the user has provided during self-profiling This can be used to provide an incentive to users to provide feedback and update (validate) the merchant profile scripts
- GUID globally unique ID
- a user-feedback association table is shown in Figure 26
- This table associates a user to a feedback ID (foreign key into a merchant profile incentives table (such as the one shown in Figure 27) Windows that allow a user to interact with an existing script can also allow the user to enter feedback in a variety of ways This may include general comments or new scripts that the users post, for example, to rectify problems or improve the general behavior of an existing public script
- a merchant profile incentives table such as the one shown in Figure 27, stores incentives-based information
- Exemplary embodiments identify individual pages within a site, however, alternative embodiments may define the model of a Web site in different ways Each page is associated with a portion of the site (if necessary) in order to characterize security and other aspects of the site that affect how the automated interaction occurs (e g., providing an ID and password and then dispensing a cookie that contains a security token)
- the view of the join between the site table, site-subsite association table, and subsite characteristics tables stores cookies, logon and timeout data for partial URLs
- pages are characterized by vectors of fields that can be filled
- field maps can be stored as records of the view of the join between the field map and field table ( Figures 17 and 18).
- each record represents a field that is contained within a field map.
- Field maps are further associated with pages by the join between the page characteristics table and the field map table ( Figures 16 and 17)
- pages can be characterized by how they can be submitted back to the hosting web server (e.g., HTTP POST, GET, and various SUBMIT actions and values of associated HTML parameters)
- the hosting web server e.g., HTTP POST, GET, and various SUBMIT actions and values of associated HTML parameters
- this could be represented in a join between a page characteristics table, such as the one shown in Figure 16 and a page action map table, such as the one shown in Figure 20 Meaningful sequences of interactions (as may be associated with the user clickstream) are stored and manipulated by the system.
- FIGS 28-33 illustrate exemplary user interface functionality for performing merchant profiling based on user initiation
- the windows illustrated in Figures 28-33 may be viewed by a user in a browser
- pre-existing user profile data may be used exclusively
- the pre-existing data may have been collected, for example, during enrollment at a merchant site or at a digital wallet site New user profile data is stored in a manner that allows it to be retrieved upon subsequent interactions with merchant sites For example, the user may enter a shipping address This shipping address can thereafter be used to populate shipping address form fields (on this page, on other pages or in the shipping address field of other sites)
- Figure 28 is an exemplary main window for user interaction an exemplary merchant profiling system
- the user may initiate merchant profile interaction via a digital wallet interface or from a merchant site (e g , a hyperlink on a Web page of a partner merchant site
- the main user interface allows the user to specify whether to engage a public script or a personal script, and how to utilize the script, as in validation/editing, creation of a new script, or profiling of a page (as might occur when creating a new script)
- a script is a sequence of actions that entail form fill of pages and navigation between different pages Scripts can automate any number of user interface actions, where in some instances a sequence of pages may be submitted to a Web server in a wholly automated fashion and in other instances some manual form fill and/or navigation is required
- a public script can be accessed by different users
- a personal script is one that can only be accessed by the user that created it
- a script can be "posted" to the merchant profile server 1 10 or to a merchant partner 140 as a candidate to become a public script
- a suitable incentive-awarding mechanism provides users who successfully create a script that is "accepted" to become public a reward of some sort, for example, bonus rewards miles, coupons, special offers, gifts, etc
- a user can make a copy of any script (e g , any public script or any personal script) for the purpose of further editing that script
- any script e g , any public script or any personal script
- users are not be permitted to directly modify public scripts Rather, they copy a selected public script and then edit the public script, and re-post it for review (and possibly an award of additional incentives)
- a validate action allows users to provide feedback on public scripts, and to post recommended variations or corrections as described above (and possibly an award of additional incentives)
- the action of creating a new script may also involve creating an initial page profile
- This automated process identifies fields that a user can edit, how the page can be posted to the server for processing, and links contained within the page
- This action, "profile page” can be employed by itself or as part of the new script action not er exemp ary too or creat ng a new scr pt s to turn on a macro recor er w c records user interactions with a site Instead of displaying information about the site (as occurs for "profile page"), the macro recorder observes and records the user clickstream and the page context, as well as other interactions such as exchange of cookies
- a script is effectively generated automatically, although all of the values for the form fields are automatically populated and the script effectively has no variables input to it See the following discussion of variables and interaction space
- Figure 28 is an exemplary user interface that allows a user to select the functionality described above
- a control allows the user to effectively exit the special modes ("no special mode")
- no special mode the merchant profile system pauses until another event (e g , the user de-selecting no special mode) causes merchant profiling to resume
- a suitable user interface such as the one shown in Figure 29 allows the user to select a script from the currently available scripts Upon selection of the desired script (e g , pressing an OK button), the user is returned to the main merchant profiling window (Figure 28)
- a suitable user interface such as the exemplary
- Validate Public Script interface shown in Figure 30 is displayed In the exemplary user interface shown in Figure 30, the user can either View Actions associated with the selected script or View Properties associated with the selected script.
- Figure 31 is an exemplary illustration showing how a user can view the sequence of actions associated with a specific script
- Suitable buttons e.g , delete, edit
- Figure 32 is an exemplary user interface that may be displayed when a user elects to view a selected action (from Figure 31)
- field values stored in a corresponding database tables may be displayed and/or edited, for example, the name of the action, the page on which the action can be performed, how the page is submitted to the Web server, etc
- Appropriate controls e g , buttons
- buttons are provided for various functions, for example to cancel the edit activity, delete the currently viewed action, save the edits to the action, or allow the user to edit the detailed form fill actions
- a suitable user interface such as the one shown in Figure 33 is displayed
- the exemplary user interface shown in Figure 33 displays a tabular view of data about each field of a form, including the names an va ues assoc ate w t eac e eta- ata s prov e n t e way o e type
- a meta-value is displayed, which defines the evaluation that leads to the creation of the field value
- the meta-value might specify a constant, or retrieval from a user profile or database
- Users can create new scripts in a variety of ways, such as modifying existing ones or performing macro recording
- the user can select heuristic processing that can distinguish the various meta fill values that populate each field and generate a useful script that requires the user to input only that information that varies from one invocation to the next
- Such a heuristic can, for example, identify that fields such as
- a user may create a new script simply by identifying a sequence of one or more pages that correspond to some useful interaction
- a default set of form- fill values will be provided (typically null)
- the user will then need to edit data for the field and action maps manually
- the user will need to identify for each field whether the data is constant, is derived from a profile, or originates from some other source (such as evaluation of a more complex expression that can obtain data from user profiles)
- the user will similarly identify any additional actions such as submit buttons If the profile spans multiple pages, the user will also identify the next page that appears after a specific action.
- t ona ta es may e store to represent str ut ons o various field values and actions entered by a population of users. For example, there may be meaningful information in knowing that 80% of users enter the same address for shipping and billing and that 10% of those that enter different addresses for these two fields are sending gift purchases. In this example, one might conclude that the remaining 10% of users use alternate addresses for billing. This fact may be of significance to businesses, for the improvement of the merchant profile system, for the improvement of merchant sites, or some combination thereof.
- the present invention may be described herein in terms of functional block components, screen shots, optional selections and various processing steps. It should be appreciated that such functional blocks may be realized by any number of hardware and/or software components configured to perform the specified functions.
- the present invention may employ various integrated circuit components, e.g., memory elements, processing elements, logic elements, look-up tables, and the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices.
- the software elements of the present invention may be implemented with any programming or scripting language such as C, C++, Java, COBOL, assembler, PERL, or the like, with the various algorithms being implemented with any combination of data structures, objects, processes, routines or other programming elements.
- the present invention may employ any number of conventional techniques for data transmission, signaling, data processing, network control, and the like.
- cryptography For a basic introduction of cryptography, the reader is directed to a text written by Bruce Schneider which is entitled “Applied Cryptography: Protocols, Algorithms, And Source Code In C,” published by John Wiley & Sons (second edition, 1996), which is hereby incorporated by reference.
- the network may include any system for exchanging data or transacting business, such as the Internet, an intranet, an extranet, WAN, LAN, satellite communications, and/or the like
- the users may interact with the system via any input device such as a keyboard, mouse, kiosk, personal digital assistant, handheld computer (e g , Palm Pilot®), cellular phone and/or the like
- the invention could be used in conjunction with any type of personal computer, network computer, workstation, minicomputer, mainframe, or the like running any operating system such as any version of Windows, Windows NT, W ⁇ ndows2000, Windows 98, Windows 95, MacOS, OS/2, BeOS, Linux, UNIX, or the like
- any operating system such as any version of Windows, Windows NT, W ⁇ ndows2000, Windows 98, Windows 95, MacOS, OS/2, BeOS, Linux, UNIX, or the like
- the invention could be used in conjunction with any version of Windows, Windows NT, W ⁇ ndows2000, Windows 98, Windows 95, MacOS, OS/2
- the customer and merchant may represent individual people, entities, or business
- the bank may represent other types of card issuing institutions, such as credit card companies, card sponsoring companies, or third party issuers under contract with financial institutions It is further noted that other participants may be involved in some phases of the transaction, such as an intermediary settlement institution, but these participants are not shown
- Each participant is equipped with a computing system to facilitate online commerce transactions
- the customer has a computing unit in the form of a personal computer, although other types of computing units may be used including laptops, notebooks, hand held computers, set-top boxes, and the like
- the merchant has a computing unit implemented in the form of a computer-server, although other implementations are possible
- the bank has a computing center shown as a main frame computer However, the bank computmg center may be implemented in other forms, such as a mini-computer, a PC server, a network set of computers,
- the computing units are connected with each other via a data communication network
- the network is a public network and assumed to be insecure and open to eavesdroppers
- the network is embodied as the internet
- the computers may or may not be connected to the internet at all times
- the customer computer may emp oy a mo em to occas ona y connect to t e nternet, w ereas t e an computing center might maintain a permanent connection to the internet
- the network may be implemented as other types of networks, such as an interactive television (ITV) network
- ITV interactive television
- Any merchant computer and bank computer are interconnected via a second network, referred to as a payment network
- the payment network represents existing proprietary networks that presently accommodate transactions for credit cards, debit cards, and other types of financial/banking cards
- the payment network is a closed network that is assumed to be secure from eavesdroppers Examples of the payment network include the American Express®, VisaNet® and the Veriphone® network
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Cette invention concerne un système et une technique permettant de profiler un site Web. Les utilisateurs qui désirent faire un achat consultent des sites commerciaux Web par Internet. A la suite de ces consultations, des informations sont transmises à un serveur profil qui crée un profil de site, ou carte de site. Ce profil de site comprend des informations sur l'agencement des diverses pages Web, ainsi que des instructions de navigation dans les pages dudit site Web. L'interaction entre l'utilisateur et les diverses pages Web renseigne sur les actions de l'utilisateur. Par exemple, si un cadre connu pour être un cadre de nom (d'après des informations sur le profil Web) comporte des données, on peut présumer qu'il s'agit du nom de l'utilisateur, auquel cas cette information doit être stockée. Ainsi lorsque l'utilisateur interagit avec d'autres pages Web pages, et si des informations sur le profil de l'utilisateur et des informations sur le profil du site sont disponibles, ces informations peuvent être entrées automatiquement dans les cadres appropriés. Comme elle est stockée dans un serveur profil, l'information (dont des scripts permettant d'interagir avec le site) est disponible pour d'autres utilisateurs.A system and technique for profiling a website is provided. Users who wish to make a purchase consult commercial websites on the Internet. Following these consultations, information is transmitted to a profile server which creates a site profile, or site map. This site profile includes information on the layout of the various web pages, as well as instructions for navigating the pages of that website. The interaction between the user and the various web pages informs about the actions of the user. For example, if a frame known to be a name frame (based on information on the web profile) has data, it can be assumed that it is the user's name, in which case this information should be stored. So when the user interacts with other web pages, and if information on the user's profile and information on the site profile is available, this information can be entered automatically in the appropriate boxes. As it is stored in a profile server, the information (including scripts for interacting with the site) is available to other users.
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU11061/01A AU1106101A (en) | 1999-09-09 | 2000-09-06 | System and method for profiling a web site |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15300399P | 1999-09-09 | 1999-09-09 | |
| US60/153,003 | 1999-09-09 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2001018684A2 true WO2001018684A2 (en) | 2001-03-15 |
| WO2001018684A8 WO2001018684A8 (en) | 2001-12-20 |
Family
ID=22545388
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2000/040834 Ceased WO2001018684A2 (en) | 1999-09-09 | 2000-09-06 | System and method for profiling a web site |
Country Status (4)
| Country | Link |
|---|---|
| AR (1) | AR022652A1 (en) |
| AU (1) | AU1106101A (en) |
| TW (1) | TW482974B (en) |
| WO (1) | WO2001018684A2 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2003044647A3 (en) * | 2001-11-16 | 2004-03-25 | Comodo Res Lab Ltd | Interfaces for a web browser |
| WO2003091861A3 (en) * | 2002-04-26 | 2004-07-22 | Ibm | Identity management system using single sign-on |
| EP1755049A1 (en) * | 2005-08-18 | 2007-02-21 | Hurra Communications GmbH | Method for transmission of information from an information server to a client |
| US7992195B2 (en) | 2003-03-26 | 2011-08-02 | International Business Machines Corporation | Efficient browser-based identity management providing personal control and anonymity |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI679591B (en) * | 2018-05-09 | 2019-12-11 | 統正開發股份有限公司 | Commercial collection system |
-
2000
- 2000-09-06 AU AU11061/01A patent/AU1106101A/en not_active Abandoned
- 2000-09-06 WO PCT/US2000/040834 patent/WO2001018684A2/en not_active Ceased
- 2000-09-07 AR ARP000104687 patent/AR022652A1/en not_active Application Discontinuation
- 2000-11-15 TW TW89118482A patent/TW482974B/en active
Non-Patent Citations (1)
| Title |
|---|
| No Search * |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2003044647A3 (en) * | 2001-11-16 | 2004-03-25 | Comodo Res Lab Ltd | Interfaces for a web browser |
| WO2003091861A3 (en) * | 2002-04-26 | 2004-07-22 | Ibm | Identity management system using single sign-on |
| US9501634B2 (en) | 2002-04-26 | 2016-11-22 | International Business Machines Corporation | Efficient browser-based identity management providing personal control and anonymity |
| US10425396B2 (en) | 2002-04-26 | 2019-09-24 | International Business Machines Corporation | Efficient browser-based identity management providing personal control and anonymity |
| US7992195B2 (en) | 2003-03-26 | 2011-08-02 | International Business Machines Corporation | Efficient browser-based identity management providing personal control and anonymity |
| EP1755049A1 (en) * | 2005-08-18 | 2007-02-21 | Hurra Communications GmbH | Method for transmission of information from an information server to a client |
| WO2007019912A1 (en) * | 2005-08-18 | 2007-02-22 | Hurra Communications Gmbh | Method for transmitting information from an information server to a client |
Also Published As
| Publication number | Publication date |
|---|---|
| AU1106101A (en) | 2001-04-10 |
| TW482974B (en) | 2002-04-11 |
| WO2001018684A8 (en) | 2001-12-20 |
| AR022652A1 (en) | 2002-09-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11893622B2 (en) | Systems and methods for scripted content delivery | |
| US11037210B2 (en) | System and methods for providing financial account information over a network | |
| KR100620192B1 (en) | Stored Value Digital Certificate Processing | |
| US8990345B2 (en) | Personalized account migration system and method | |
| US7356606B2 (en) | Dynamic web storefront technology | |
| US7756752B2 (en) | Customization of an online shopping experience | |
| US20020178087A1 (en) | Internet-based instant messaging hybrid peer-to-peer distributed electronic commerce system and method | |
| US20130185174A1 (en) | Internet strawman and user interface therefor | |
| US20010021917A1 (en) | Electronic commerce system for updating information | |
| WO1999007121A2 (en) | Method and system for conducting electronic commerce transactions | |
| US20020038256A1 (en) | Transactional control system | |
| US20080306831A1 (en) | Systems and methods for facilitating purchase transactions in a network | |
| US20010042020A1 (en) | Method for increasing electronic business | |
| US20130091039A1 (en) | System and method for presenting search results including a call back inidicator | |
| KR20010077123A (en) | A package payment and delivery method using a common shopping cart in a computer network shopping | |
| US20030014319A1 (en) | Universal world wide Web user shopping cart transferable with its load from Web page to Web page | |
| WO2001018684A2 (en) | System and method for profiling a web site | |
| US20240161076A1 (en) | Identifying data processing operations on websites using network traffic logs | |
| US20020133585A1 (en) | Computer program for recording and selective playback of a communication involving the hypertext transfer protocol | |
| KR20000053959A (en) | The general shopping cart system and a reservation method for the on-line purchasing | |
| CA2390714A1 (en) | Method and apparatus for facilitating electronic commerce via an itemized statement | |
| Varney | IBM jumps into e-commerce | |
| US20020062256A1 (en) | System for selling goods | |
| CA2350119A1 (en) | System for automatically matching buyers and sellers via network and the method of the same | |
| WO2001086543A1 (en) | System and method for syndicated transactions |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ 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: A2 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 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) | ||
| AK | Designated states |
Kind code of ref document: C1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ 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: C1 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 BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| D17 | Declaration under article 17(2)a | ||
| 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 in: |
Ref country code: JP |