Patent Publication Number: US-2020285554-A1

Title: Performance Metrics with Session Analysis

Description:
BACKGROUND OF THE INVENTION 
     Field of the Invention 
     The present invention relates to information handling systems. More specifically, embodiments of the invention relate to analyzing and visualizing session paths associated with one or more website sessions. 
     Description of the Related Art 
     As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. 
     SUMMARY OF THE INVENTION 
     A system, method, and computer-readable medium are disclosed for analyzing and visualizing session paths associated with one or more website sessions. 
     More specifically, in one embodiment the invention relates to a computer-implementable method for analyzing session paths associated with a website session, comprising: capturing website data, the website data representing session paths; generating mapped events associated with the session paths; constructing a session path graph from the mapped events; and, using the session path graph to generate session path performance metrics. 
     In another embodiment the invention relates to a system comprising: a processor; a data bus coupled to the processor; and a non-transitory, computer-readable storage medium embodying computer program code, the non-transitory, computer-readable storage medium being coupled to the data bus, the computer program code interacting with a plurality of computer operations and comprising instructions executable by the processor and configured for: capturing website data, the web site data representing session paths; generating mapped events associated with the session paths; constructing a session path graph from the mapped events; and, using the session path graph to generate session path performance metrics. 
     In another embodiment the invention relates to a computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for: capturing website data, the website data representing session paths; generating mapped events associated with the session paths; constructing a session path graph from the mapped events; and, using the session path graph to generate session path performance metrics. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention may be better understood, and its numerous objects, features and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference number throughout the several figures designates a like or similar element. 
         FIG. 1  shows a general illustration of components of an information handling system as implemented in the system and method of the present invention. 
         FIG. 2  shows a block diagram of a session path analysis environment. 
         FIG. 3  shows an example screen presentation of a website displayed within a user interface (UI) window of a web browser. 
         FIG. 4  is a simplified process diagram showing the performance of session path analysis and visualization operations. 
         FIG. 5  is a simplified process diagram showing the performance of session path conversion metrics operations. 
         FIG. 6  shows an example screen presentation of a session path analysis system displayed within a user interface (UI) window. 
         FIG. 7  shows an example screen presentation of a session path analysis system displayed within a UI window to depict a statistical distribution of user interactions. 
         FIG. 8  shows an example screen presentation of a session path analysis system displayed within a user UI window to reflect certain information associated with a corresponding web page element or feature. 
         FIG. 9  shows an example screen presentation of a session path analysis system displayed within a UI window to depict an individual user&#39;s session path in its entirety. 
         FIG. 10  shows an example screen presentation of a session path analysis system displayed within a UI window to depict a portion of an individual user&#39;s session path. 
         FIG. 11  shows an example screen presentation of a session path analysis system displayed within a UI window to depict various aspects one or more session paths. 
         FIG. 12  shows an example screen presentation of a session path analysis system displayed within a UI window to depict a linear representation of conversion events occurring during a session. 
         FIG. 13  shows an example screen presentation of a session path analysis system displayed within a UI window to present session path conversion metrics. 
         FIG. 14  is a generalized flowchart of the performance of session path conversion metrics operations. 
     
    
    
     DETAILED DESCRIPTION 
     A system, method, and computer-readable medium are disclosed for analyzing and visualizing session paths associated with one or more website sessions. Certain aspects of the invention reflect an appreciation that website owners commonly collect information about a user&#39;s interaction with various features and other elements of their site, generally referred to as website data. Likewise, certain aspects of the invention reflect an appreciation that it is often advantageous to analyze such interactions to measure page feature performance, relevance, and conversion rates, as described in greater detail herein. Certain aspects of the invention likewise reflect an appreciation that known approaches to the collection of such information include capturing their clickstream, also referred to as a click path or session path, which is the sequence of clicks or other user gestures a user typically utilizes when interacting with a website. 
     Likewise, certain aspects of the invention reflect an appreciation that each such user gesture may result in the collection of a multitude of data points. For example, a clickstream may include data corresponding to the date and time a user interacted with a particular web page element, the location of the element within the web page, the duration of time spent on each page or with each element, which pages were viewed, and other statistical measurements, each of which is represented as clickstream data. Accordingly, thousands of clicks, each of which may have hundreds of associated data fields, can result in the creation of very large data sets containing thousands of data points. 
     Certain aspects of the invention likewise reflect an appreciation that analysis of such clickstream data can reveal usage patterns, which can lead to an improved understanding of user behavior. Likewise, clickstream data can be used to derive information about the user&#39;s goals, interests, and knowledge, which in turn can be used to predict their future actions and decisions. In the case of ecommerce activities, analysis of the clickstream can be used to assess the effectiveness of advertising and promotions, predict whether a user is likely to make a purchase, improve customer satisfaction, and maintain competitiveness. 
     Certain aspects of the invention reflect an appreciation that known approaches to clickstream analysis are often implemented to identify trends, calculate key indicators, and perform comparisons. Certain aspects of the invention likewise reflect an appreciation that such clickstream analysis is typically oriented towards average order value, various click-through rates to other websites, conversion events resulting in a sale, and the overall utilization of the website. However, such approaches to clickstream analysis generally fail to indicate which web page features are being used more than others and which web page features are not as effective as they could be. 
     Likewise, certain aspects of the invention likewise reflect an appreciation that these same approaches typically concentrate on navigation between individual pages, or Uniform Resource Locators (URLs), of a website. Consequently, a Single Page Application (SPA), described in greater detail herein, does not benefit from such approaches. More specifically, various SPA implementations are more likely to benefit from analysis of different subsets of data fields associated with a particular web page feature or element, as likewise described in greater detail herein. 
     For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components. 
       FIG. 1  is a generalized illustration of an information handling system  100  that can be used to implement the system and method of the present invention. The information handling system  100  includes a processor (e.g., central processor unit or “CPU”)  102 , input/output (I/O) devices  104 , such as a display, a keyboard, a mouse, and associated controllers, a hard drive or disk storage  106 , and various other subsystems  108 . In various embodiments, the information handling system  100  also includes network port  110  operable to connect to a network  140 , which is likewise accessible by a service provider server  142 . The information handling system  100  likewise includes system memory  112 , which is interconnected to the foregoing via one or more buses  114 . System memory  112  further comprises operating system (OS)  116  and in various embodiments may also comprise a session path analysis system  118 . In one embodiment, the information handling system  100  is able to download the session path analysis system  118  from the service provider server  142 . In another embodiment, the session path analysis system  118  is provided as a service from the service provider server  142 . In certain embodiments, the session path analysis system  118  may include a rules engine  120 , an event mapping module  122 , or both. 
     The session path analysis system  118  performs a session path analysis operation. In certain embodiments, the session path analysis operation may include various associated operations implemented to analyze and visualize user behavior during a session, described in greater detail herein. The session path analysis operation improves processor efficiency, and thus the efficiency of the information handling system  100 , thereby facilitating the session path analysis operation. In certain embodiments, the session path analysis operation is performed during operation of an information handling system  100 . As will be appreciated, once the information handling system  100  is configured to perform the session path analysis operation, the information handling system  100  becomes a specialized computing device specifically configured to perform the session path analysis operation and is not a general purpose computing device. Moreover, the implementation of the session path analysis system  118  on the information handling system  100  improves the functionality of the information handling system  100  and provides a useful and concrete result of analyzing and visualizing user behavior during a session for use in performing various session path analysis operations. In certain embodiments, the session path analysis operation results in the realization of improved understanding of user behavior during a session. 
       FIG. 2  shows a block diagram of a session path analysis environment  200  implemented in accordance with an embodiment of the invention. As used herein, a session broadly refers to an interval of time in which one or more interactions occur between a user  202  and a website  216 . In certain embodiments, the interactions may be with one or more elements or features of a web page  246  implemented on the website  216 , as described in greater detail herein. As likewise used herein, a session path broadly refers to a sequence of two or more interactions between a user  202  and a website  216  during a particular session. In certain embodiments, the session path analysis environment  200  may be implemented to perform various session path analysis operations. In certain embodiments, the session path analysis operations may include the analysis and visualization of a user&#39;s  202  website  216  behavior during a session. 
     In certain embodiments, the session path analysis environment  200  may include a session path analysis system  118 . In certain embodiments, the session path analysis system  118  may be implemented, as described in greater detail herein, to generate a session path analysis graph  266  corresponding to a particular sequence of interactions between a user  202  and a website  216  during a session. As used herein, a session path analysis graph  266  broadly refers to a graphical representation of a user&#39;s  202  interactions with a website  216  during a particular session. 
     In certain embodiments, the session path analysis environment  200  may include a repository of session path analysis data  220 . In certain embodiments, the repository of session path analysis data  220  may be local to the system executing the session path analysis system  118  or may be executed remotely. In certain embodiments, the repository of session path analysis data  220  may include certain information associated with page element data  222 , clickstream data  224 , rules data  226 , or a combination thereof. 
     In certain embodiments, the session path analysis system  118  may include a rules engine  120  and an event mapping  122  module. In certain embodiments, the rules engine  120  may be implemented to use the rules data  226  in the performance of various session path analysis operations, as described in greater detail herein. In certain embodiments, the event mapping module  122  may be implemented to use the page element data  222 , the clickstream data  224 , or a combination thereof, in the performance of various session path analysis operations. In certain embodiments, the rules engine  120  may be implemented in combination with the event mapping module  122  to generate one or more session path analysis graphs  266 , as likewise described in greater detail herein. 
     In certain embodiments, a web page  246  may be displayed to a user  202  within a user interface (UI)  240  associated with a corresponding user device  204 . In certain embodiments, a session path analysis graph  266  may be displayed to a session analyst  262  within a user interface (UI)  260  associated with a corresponding user device  264 . As used herein, a user device  204 ,  264  refers to an information handling system such as a personal computer, a laptop computer, a tablet computer, a personal digital assistant (PDA), a smart phone, a mobile telephone, or other device that is capable of communicating and processing data. 
     In certain embodiments, a user  202  may use the UI  240  of an associated user device  204  to interact with one or more web pages  246  displayed therein during a session. In certain embodiments, a session analyst  262  may use the UI  260  of an associated user device  264  to interact with one or more session path graphs  266  displayed therein. In certain embodiments, the UI  240 ,  260  may be implemented as a web browser, familiar to those of skill in the art. 
     In certain embodiments, the website  216  may be provided by a web server  206 . In certain embodiments, the web server  206  may be implemented on one or more information handling systems  100 . In certain embodiments, the website  216  may be accessible via a public IP network, such as the Internet, or a private local network. For the purposes of this disclosure, a website  216  may be defined as a collection of related web pages  246  which are identified with a common domain name and is published on at least one web server  206 . 
     As used herein, a web page  246  broadly refers to a document accessible via a web browser which displays the web page  246  via a display device of an information handling system  100  or a user device  204 ,  264 . In certain embodiments, the web page  246  may be implemented to include a file causing the document to be presented via the browser. In various embodiments, the web page  246  may be implemented as a static web page  246 , which is delivered exactly as stored on the web server  206 . In these embodiments, the user  202  is typically unable to revise, modify or otherwise alter the static web page  246 . However, in certain embodiments, the user&#39;s  202  interactions with the static web page  246  may be captured in a clickstream, described in greater detail herein. In certain embodiments, the web page may be implemented as a dynamic web page. In these embodiments, the web page may be dynamically updated whenever the user  202  interacts with the dynamic web page  246 . 
     In certain embodiments, the web page  246  may be implemented as a single page application. As used herein, a single page application (SPA) broadly refers to a web application or website  216  that interacts with a user  202  by dynamically rewriting the current web page  246  rather than loading entire new web pages  246  from a web server  206 . One advantage to this approach is that it avoids interruption of the user  202  experience between successive web pages  246 , making the web application behave more like a desktop application. In an SPA, all necessary code (e.g., HTML, JavaScript, CSS, etc.) is either retrieved with a single page load, or the appropriate resources are dynamically loaded and added to the web page  246  as necessary, usually in response to user  202  actions. In certain embodiments, interaction with the SPA may involve dynamic communication with the web server  206 . 
     In certain embodiments, a user device  204 ,  264  may be implemented to allow a user  202  or a session analyst  262  to respectively interact with the web server  206  or the session path analysis system  118  through the use of a network  140 . In certain embodiments, the network  140  may be a public network, such as a public internet protocol (IP) network, a physical private network, a wireless network, a virtual private network (VPN), or any combination thereof. Skilled practitioners of the art will recognize that many such embodiments are possible. Accordingly, the foregoing is not intended to limit the spirit, scope or intent of the invention. 
       FIG. 3  shows an example screen presentation of a website displayed within a user interface (UI) window of a web browser implemented in accordance with an embodiment of the invention. In certain embodiments, a web browser  302  familiar to those of skill in the art may be implemented to display a website  304 . In certain embodiments, the website  304  may include one or more web pages  306 , described in greater detail herein. In certain embodiments, a web page  306  may be displayed individually within the UI window of the web browser. In certain embodiments, as shown in  FIG. 3 , individual web pages  306  may have a corresponding labeled tab, such as “Tablets,” “Laptops,” “Servers,” and so forth. In certain embodiments the contents of such web pages  306  may be displayed within a UI window of the web browser  302  as a result of a user interaction, such as a mouse click on their associated tab label. 
     In certain embodiments, each web page  306  may be implemented as set of information. Accordingly, in certain embodiments, a web page  306  may contain various web page elements and features, each of which may in turn include one or more items of information. As used herein, a web page element broadly refers to individual elements of a web page  306  that can be seen, heard, or interacted with, by a user. 
     In certain embodiments, a web page element may be implemented to include perceived, or rendered information. In certain embodiments, the perceive information may be textual, such as a product name  316 , product description  318 , or product price  320 . In certain embodiments, the perceived information may be non-textual, such as a static or animated image, such as a product image  314 , audio information, such as music resulting from an audio file being played, or a video image, such as a video clip resulting from a video file being played. In certain embodiments, such non-textual information may include various icons  322 ,  324  that provide links to additional information. As an example, a reviewer rating icon  322  showing five stars may provide a link to 87 reviews. Likewise, interacting with various icons  324  may provide additional functionalities, such as displaying a product information sheet, playing a video, forwarding product information via email, sharing product information via text, and so forth. 
     In certain embodiments, the perceived information may include “on-page” interaction, such as interactive text, illustrations, or control buttons being displayed within the UI window of a web browser  302  as a result of an initiating user interaction. In certain embodiments, the on-page interactive information may be invoked in response to a user interacting with various web page elements a Single Page Application (SPA), described in greater detail herein. In certain embodiments, the perceived information may include a “between page” interaction, such as the use of hyperlinks to traverse from a current web page  306  to another page  306 . 
     In certain embodiments, a web page element may be implemented to include internal, or hidden, information. Examples of such internal information may include comments and external files that may be invoked through the use of a hyperlink. Other examples of such internal information may include metadata, character set (Charset) information, Document Type Definitions (DTDs), and Cascading Style Sheets (CSS). Yet other examples of such internal information may include various types of scripts, such as those written in Javascript, that complement a user&#39;s interactions with a website  304 . 
     As likewise used herein, a web page feature broadly refers to a web page element implemented in certain embodiments to assist a user in locating a desired item of information within a web site  304  or an external source. In certain embodiments, the item of information may be a web page element or feature, described in greater detail herein. In certain embodiments, the web page feature may provide a link from a first website  304  to a web page element in a second website  304 . As an example, the web page feature within the first website  304  may be a hyperlink to a Uniform Resource Locator (URL) associated with a second website  304 . In this example, a user&#39;s interaction with the web page feature may result in the presentation of the second website  304 , or a portion thereof, within a UI window of the web browser  302 . 
     Examples of such web page features may include various search facilities  308 . In certain embodiments, a user&#39;s interaction with a search facility  308  may assist in locating an item of information within the website  304  they are currently interacting with. In certain embodiments, a user&#39;s interaction with a search facility  308  may assist in locating an item of information located in a second website  304  or a repository of information. 
     In certain embodiments, a web page feature may be implemented to navigate a website  304 . As an example, as shown in  FIG. 3 , various web pages  306  may be implemented with corresponding labeled tabs. In this example, the labeled tabs, such as “Tablets,” “Laptops,” and “Servers” are web page features, which may result in the display of their associated web pages  306  as a result of a user interaction, such as a mouse click or other user gesture. 
     In certain embodiments, a web page feature may be implemented as a drop-down menu  310  containing various selections. In certain embodiments, selection of a particular drop-down menu  310  selection as a result of a user interaction may in turn result in the display of one or more web page elements. In certain embodiments, the drop-down menu  310  selections may be implemented to filter results displayed within a UI window of the web browser  302 . In certain embodiments, each of the filtered results may include various web page elements. 
     In certain embodiments, a web page feature may be implemented as one or more check box items  312 . In certain embodiments, selection of the one or more check box items  312  as a result of a user interaction may in turn result in the display of one or more web page elements. In certain embodiments, the drop-down menu  310  selections may be implemented to filter results displayed within a UI window of the web browser  302 . In certain embodiments, each of the filtered results may include various web page elements. 
     In certain embodiments, a user&#39;s interaction with various web page elements and features of a website  304  during a session is captured as a clickstream. As used herein, a clickstream, also referred to as a click path or session path, broadly refers to the sequence of clicks, or other user gestures, that describes the path a user takes through a website  304  during a session, described in greater detail herein. As likewise used herein, a user gesture broadly refers to a user input event such as a mouse click or touch event familiar to skilled practitioners of the art. In certain embodiments, a touch event may include various finger or stylus activities on a touch screen or trackpad. Those of skill in the art will recognize that many such embodiments are possible. Accordingly, the foregoing is not intended to limit the spirit, scope or intent of the invention. 
       FIG. 4  is a simplified process diagram showing the performance of session path analysis and visualization operations implemented in accordance with an embodiment of the invention. In certain embodiments, clickstreams of website user activity associated with various users are captured as raw clickstream data in step  402 . The resulting raw clickstream data is then filtered in step  404  to generate filtered clickstream data. In certain embodiments, various user attributes or parameters may be used to filter the raw clickstream data. Examples of such user attributes and parameters may include the user&#39;s associated country, language, market segment (e.g., commercial), sub-segment (e.g., small to medium business), session start and end dates, and so forth. In certain embodiments, the user attributes and parameters may include searchable terms. As an example, clickstreams may be searched to identify those that contain clickstream data associated with a particular product, service, or category of information. 
     In certain embodiments, a rules engine may be implemented in step  406  to process the resulting filtered clickstream data to generate mapped events. In certain embodiments, the rules used by the rules engine may be implemented to describe the result of a user&#39;s interaction with a particular web page element or feature. In certain embodiments, the rules may include one or more action rules and one or more target rules. As used herein, an action rule broadly refers to a rule that defines an action that is performed as a result of an associated user interaction with a web page element or feature. 
     As an example, the following is a simple action rule describing a user&#39;s interaction with a search button resulting in an associated search function: 
                                new Rule{Condition = c=&gt; c.elementID==ClickValues.SearchButton,       Map = c =&gt; Actions.Search}                    
As another example, the following is a more complex action rule describing a user&#39;s interaction with a product index request resulting in the provision of an index associated with a particular product:
 
     
       
         
           
               
             
               
                   
               
             
            
               
                 new Rule{Condition = c=&gt; (c.tagName==ClickValues.Anchor &amp;&amp; 
               
               
                 c._has_productIndex) || 
               
               
                 (c.elementId?.ToString( ).StartsWith(ClickValues.SystemMobileDocument)?? 
               
               
                 false), Map = c =&gt; Actions.DocumentClick} 
               
               
                   
               
            
           
         
       
     
     As likewise used herein, a target rule broadly refers to a rule that defines a reference associated with a particular target web page element that may be invoked as a result of an associated user interaction with a web page element or feature. As an example, the following is a simple target rule describing a user&#39;s interaction with a search button resulting in the invoking of an associated web page element, “c.term”: 
     
       
         
           
               
             
               
                   
               
             
            
               
                 new Rule{Condition = c=&gt; c.elementId==ClickValues.SearchButton, 
               
               
                 Map = c =&gt; $“{actions.Map(c)} {c.term}”} 
               
               
                   
               
            
           
         
       
     
     As another example, the following is a more complex target rule describing a user&#39;s interaction with a masthead linkt resulting in the provision of an associated web page element “c.elementText”: 
     
       
         
           
               
             
               
                   
               
             
            
               
                 new Rule{Condition = c=&gt; 
               
               
                 (c.elementId?.ToString( ).StartsWith(ClickValues.MastheadLink)??false) || 
               
               
                 (c.elementId?.ToString( ).StartsWith(ClickValues.PolarisLink)??false), 
               
               
                 Map = c =&gt; $“{actions.Map(c)} {c.elementText}”} 
               
               
                   
               
            
           
         
       
     
     In certain embodiments, the action rules may be used in combination with associated target rules to generate a mapped event. As used herein, a mapped event broadly refers to the mapping of a user interaction with a particular web page element or feature to a corresponding web page element. In certain embodiments, each user interactions with a web page feature, and the resulting invocation of an associated web page element or feature, may be timestamped. In certain embodiments, the timestamps may be captured in an associated clickstream, which in turn may be indexed or otherwise cross-referenced to a session ID, as shown in the following example: 
     
       
         
           
               
               
             
               
                   
                   
               
             
            
               
                   
                 { 
               
            
           
           
               
               
            
               
                   
                 public class Event 
               
               
                   
                 { 
               
            
           
           
               
               
            
               
                   
                 public string Id {get;set;} 
               
            
           
           
               
               
            
               
                   
                 public string session Id {get;set;} 
               
               
                   
                 public string Index {get;set;} 
               
               
                   
                 public DateTime Timestamp {get;set;} 
               
               
                   
                 public Dictionary &lt;string,string&gt; Maps 
               
            
           
           
               
               
            
               
                   
                 {get;set;} 
               
            
           
           
               
               
            
               
                   
                 public bool IsGoal {get;set;} 
               
            
           
           
               
               
            
               
                   
                 } 
               
            
           
           
               
               
            
               
                   
                 } 
               
               
                   
                   
               
            
           
         
       
     
     In this example, “public string Id” references the ID of the click or user gesture associated with the mapped event and “public string session Id” references the session during which it occurred. Likewise, “public string Index” references its position within the sequence of user interactions with various web page features, and their corresponding invocation of related web page elements, and “public DateTime Timestamp” references when it occurred. 
     In certain embodiments, generation of a mapped event may result in the generation of an entry in a table that has two columns “&lt;string,string&gt;.” In these embodiments, the first column is the name of the mapping and the second column is a corresponding value. As an example, a table entry in the first column might be “action” and a corresponding entry in the second may be “search button.” In this example, a third column of the table may have the attribute of “targets,” with a value of “search for *search term*”. 
     Returning now to  FIG. 4 , the mapped events are then grouped by their associated sessions in step  408  to generate various session paths. The resulting session paths are then processed with associated session metrics to generate session path data in step  410 . As used herein, session path data broadly refers to a combination of session path data corresponding to one or more user&#39;s associated website user activity during a session and various session metrics. 
     In certain embodiments, the session metrics may include statistical metrics associated with individual features, such as the number of user interactions they may have been invoked during a set of sessions occurring within a particular time interval. Other statistical metrics associated with such feature interactions may include their respective frequency of use, variously expressed as percentage, minimum distributions, maximum distributions, standard deviation distributions, and average distributions for a set of sessions occurring within a particular time interval. The session path data is then processed in step  412  to generate one or more session path graphs, as described in greater detail herein. 
       FIG. 5  is a simplified process diagram showing the performance of session path conversion metrics operations implemented in accordance with an embodiment of the invention. In certain embodiments, session path data associated with various user attributes and session parameters, described in greater detail herein, is retrieved in step  502  and then filtered in step  504  to identify sessions containing conversion events. In certain embodiments, various user attributes or parameters, described in greater detail herein, may be used to filter the session path data. 
     As used herein, a conversion event broadly refers to the enactment of a preferred user interaction, described in greater detail herein. In certain embodiments, the conversion event results in the user being able to locate a desired item of information within a website during a session. In certain embodiments, the item of information may be a web page element or feature, likewise described in greater detail herein. 
     In certain embodiments, the conversion event may include the user performing a preferred interaction with a website. One example of a preferred interaction may be a user selecting a particular product displayed within a web page. Another example may include the user electing to configure the selected product. Yet another example may include the user electing to purchase the resulting configured product. In these embodiments, the determination of which interactions are preferred, and those that are not, is a matter of design choice. 
     The filtered sessions generated in step  504  are then pruned in step  506  to remove those sessions that contain no conversion events. In turn, the resulting pruned sessions are then processed in step  508  to identify individual conversion events. The identified conversion events are then processed in step  510  to measure the distance between each conversion event to generate various conversion metrics. In certain embodiments, the metrics may include the number of intermediate interactions between two identified conversion events. In certain embodiments, the metrics may include the elapsed time between two conversion events. 
     In certain embodiments, the metrics may include a statistical ranking of preferred conversion events. In certain embodiments, the resulting conversion metrics are aggregated in step  512 . In these embodiments, the method by which the conversion metrics are selected and ranked is a matter of design choice. Skilled practitioners of the art will recognize that many such embodiments are possible. Accordingly, the foregoing is not intended to limit the spirit, scope or intent of the invention. 
       FIG. 6  shows an example screen presentation of a session path analysis system displayed within a user interface (UI) window implemented in accordance with an embodiment of the invention. In certain embodiments, the UI window  604  may be implemented within a web browser  602 . In certain embodiments, the UI window  604  may be implemented to include various data entry, selection, and display fields  606 . In certain embodiments, the data entry, selection, and data fields  606  may be implemented to respectively receive, select, or display data corresponding to various user attributes or other parameters. As shown in  FIG. 6 , examples of such data entry fields may include a user&#39;s country  608 , language  610 , market segment  612  (e.g., commercial), sub-segment  614  (e.g., small to medium business), session start  616  and end  618  dates, and so forth. In various embodiments, certain data entry fields  606  may be implemented to filter a set of clickstreams to generate filtered clickstreams, as described in greater detail herein. 
     In certain embodiments, the data entry fields  606  may likewise include a search  608  facility that allows a user to filter a set of clickstreams for various terms, such as user attributes and other parameters. As an example, the search facility  608  may be used to filter a set of clickstreams to identify those containing clickstream data associated with a particular product, service, category of information, or key words. In various embodiments, the search facility  608  may be implemented to generate certain filtered clickstreams, as described in greater detail herein. In these embodiments, the method by which the search facility  608  is implemented to search a set of clickstreams, and the method by which a resulting set of filtered clickstreams is generated, is a matter of design choice. 
     In certain embodiments, the data selection fields  606  may include a drop down menu  620  to select various “Maps” of one or more session paths, as described in greater detail herein. In certain embodiments, the “Maps” drop-down menu selection may include “Actions,” which results in the graphical depiction of the mapping of one or more user interactions with various web page elements and features associated with a particular website. In certain embodiments, the “Maps” drop-down menu selection may include “Targets,” which results in the display of data, metadata, or a combination thereof, associated with a web page element or feature invoked as a result of the occurrence of an event corresponding to one or more user interactions. 
     In various embodiments, the data display fields  606  may be implemented to display various data associated with a particular Session ID  622 , the number of Sessions  624  within a corresponding set of clickstreams, and the number of Events  626  associated therewith. In certain embodiments, the data display field  606  for a particular Session ID  622  may be implemented instead as a data entry field  606 . In certain embodiments, a Session ID  622  data entry field may be implemented to receive user input corresponding to a particular Session ID. In these embodiments, the entry of a particular Session ID may result in the retrieval and display of certain session path data associated with the Session ID. 
     In certain embodiments, the UI window  604  may be implemented to include a Results  634  sub-window. In certain embodiments, the Results  634  sub-window may be implemented to include a session metrics  636  table and a session path graph  656 . In certain embodiments, the session metrics  636  table may be implemented to include statistical metrics associated with individual features  638  of a website. As shown in  FIG. 6 , the statistical metrics may include the number  640  of user web page element or feature interactions that were performed in a set of sessions occurring within a particular time interval. Other statistical metrics associated with such web page element and feature interactions may include their respective frequency of use. In certain embodiments, such statistical metrics may variously be expressed in terms of percentage  642 , minimum distributions  644 , maximum distributions  646 , standard deviation distributions  648 , and average distributions  650  for a set of sessions occurring within a particular time interval. 
     In certain embodiments, the session path graph  656  may be implemented to graphically depict various user session paths, described in greater detail herein. In certain embodiments, the session path graph  656  may be implemented to represent a web page element or feature as a graph node familiar to skilled practitioners of the art. In certain embodiments, the session path graph  656  may be implemented to represent a user&#39;s sequence of interactions with various web page elements or features as graph edges, likewise familiar to those of skill in the art. In certain embodiments, the session path graph  656  may be implemented to graphically depict an individual user&#39;s session path within a web site during a particular session. In certain embodiments, as shown in  FIG. 6 , the session path graph  656  may be implemented to graphically depict a set of user&#39;s corresponding session paths within a website during certain sessions occurring within a particular time interval. 
     In certain embodiments, the session path graph  656  may be implemented to graphically depict one or more users&#39; associated session paths as a linear representation their respective sequence of interactions within a website during a session. For example, as shown in  FIG. 6 , a set of users may originate their respective session paths at node ‘0’  658 , such as a search facility, within a website. However, certain subsets of the users may happen to submit various search terms for the search, which in turn results in the respective invocation of various corresponding web page elements or features, depicted as individual nodes in level ‘1’  670  of the session path graph  656 . 
     In turn, individual users may then select one or the other of the invoked web page elements or features depicted as nodes in level ‘2’  672  of the session graph  656 . The session path process is then continued, with each user iteratively selecting one or the other of variously invoked pages element or features, likewise depicted as nodes in levels ‘3  674 , ‘4’  676 , ‘5’  678 , and ‘6’  680 . Accordingly, the interactions corresponding to various session paths associated with individual, or groups of, users can be graphically depicted. 
       FIG. 7  shows an example screen presentation of a session path analysis system displayed within a user interface (UI) window implemented in accordance with an embodiment of the invention to depict a statistical distribution of user interactions. In various embodiments, certain session metrics, described in greater detail herein, may be generated from a set of filtered clickstreams. In certain embodiments, the resulting session metrics may then be used to generate a session path graph  656 . In certain embodiments, the session metrics may likewise be implemented to graphically depict the statistical distribution of various subsets of users&#39; respective interactions with corresponding web page elements and features during a session. In various embodiments, certain web page elements or features may be represented in the session path graph  656  as graph nodes. Likewise, a user&#39;s sequence of interactions with various web page elements or features may be represented in the session path graph  656  as graph edges. 
     For example, as shown in  FIG. 7 , a set of users may originate their respective session paths at node ‘0’  658 , such as a search facility, within a website. However, certain subsets of the users may happen to submit various search terms for the search, which in turn results in the proportionate invocation of corresponding web page elements or features, as depicted by nodes ‘1a’  702 , ‘1b’  704 , ‘1c’  706 , ‘1d’  708  and ‘1e’  710  shown in level ‘1’  670  of the session path graph  656 . Accordingly, as a result of the search terms respectively submitted by the set of users, 44% interacted with node ‘1a’  702 , while 6%, 17%, 6%, and 12% respectively interacted with nodes ‘1b’  704 , ‘1c’  706 , ‘1d’  708  and ‘1e’  710 . As likewise shown in  FIG. 7 , 5% each of the remaining users interacted with nodes ‘1f’  712 , ‘1g’  714  and ‘1h’  716 . 
     In turn, certain subsets of the users may then interact with various web page elements and features, as depicted by nodes ‘2a’  722 , ‘2b’  724 , ‘2c’  726 , ‘2d’  728 , ‘2e’  730 , and ‘2f’  732  shown in level ‘2’  672  of the session graph  656 . To continue the prior example, of the subset of users that interacted with node ‘1a’  702 , 35%, 15% and 50% subsequently interacted with nodes ‘2a’  722 , ‘2c’  726  and ‘2d’  728 . Likewise, of the subset of users that interacted with node ‘1e’ 710, 50% each subsequently interacted with nodes ‘2a’  722  and ‘2f’  732 . As likewise shown in  FIG. 7 , 100% of the subsets of users that interacted with nodes ‘1b’  704  subsequently interacted with node ‘2b’  724 , while 100% of the users that interacted with nodes ‘1d’  730  and ‘1h’  716  subsequently interacted with node ‘2e’  730 . Likewise, 100% of the users that interacted with nodes ‘1f  712  and’ 1g′  714  subsequently interacted with node ‘2d’  728 . 
     In certain embodiments, the statistical distribution of each subset of users&#39; interactions with two nodes may be displayed proximate to the corresponding edges of the session path graph  656 . In certain embodiments, various visual attributes may be assigned to the edges of the session path graph. As an example, 44%, 17% and 12% of the users submitting search terms to node ‘0’  658  respectively performed user interactions nodes ‘ 1a’  702 , ‘ 1c’  706 ′, and ‘ 1e’  710 . Accordingly, the edges of the session path graph  656  depicting connections between node ‘0’  658  and nodes ‘1a’  702 , ‘ 1c’  706 ′, and ‘ 1e’  710  are proportionately thinner. 
       FIG. 8  shows an example screen presentation of a session path analysis system displayed within a user interface (UI) window implemented in accordance with an embodiment of the invention to reflect certain information associated with a corresponding web page element or feature. In certain embodiments, a session path graph may be implemented to display information associated with one or more nodes, which in turn are associated with a web page element or feature, described in greater detail herein. As an example, as shown in  FIG. 8 , node ‘1a’  702  may be displayed to reflect its associated document name of “Product Document X”  802 . Likewise, nodes ‘1b’  704 , ‘ 1c’  706 , and ‘1d’  708  may be displayed to respectively reflect their associated web page functionality of “Show More”  804 , “Leave Website”  806 , and “Refine”  808 . 
     As likewise shown in  FIG. 8 , node ‘2a’  722  may be displayed to reflect its associated document name of “Product Document Y”  822 . Likewise, nodes ‘2b’  724 , ‘2c’  726 , and ‘2d’  728  may be displayed to respectively reflect their associated web page functionalities of “Show More”  824 , “Leave Website”  826 , and “Refine”  828 . In various embodiments, nodes in the session path graph  656  representing a web page element&#39;s or feature&#39;s name or functionality may be assigned a visual attribute, such as certain colors, to facilitate visualization. In these embodiments, the visual attributes assigned to a particular node in the session path graph  656 , and the method by which they are implemented, is a matter of design choice. 
       FIG. 9  shows an example screen presentation of a session path analysis system displayed within a user interface (UI) window implemented in accordance with an embodiment of the invention to depict an individual user&#39;s session path in its entirety. In certain embodiments, a session path graph  656  may be implemented to reflect a linear representation of a user&#39;s interactions with various nodes corresponding to a particular web page element or feature during a particular session. In certain embodiments, the session may be selected by providing a particular Session ID  622 , such as “123456789”, within a data entry field of a User Interface (UI) window  604  of a session path analysis system. 
     For example, as shown in  FIG. 9 , a user may initiate a session path associated with a particular Session ID, such as ‘123456789,” by submitting one or more search terms, such as a product name, to a search facility  608  of the session path analysis system. As a result, the user iteratively chooses to interact with nodes ‘1a’  702 , ‘2a’  722 , ‘3c  904 , ‘4b’  906 , ‘5a’  908 , ‘6c’  910  and ‘7a’  912 , which are respectively associated with product documents ‘X’  802 , ‘Y’  822 , and ‘Z’  924 , search feature  926 , product documents ‘A’  928  and ‘B’  930 , and add-to-cart feature  932 . In certain embodiments statistical information, such as the percentage of users who selected the same interactions, may be displayed proximate to the edges of the session path graph  656 . 
       FIG. 10  shows an example screen presentation of a session path analysis system displayed within a user interface (UI) window implemented in accordance with an embodiment of the invention to depict a portion of an individual user&#39;s session path. In certain embodiments, a session path graph  656  may be implemented to reflect a linear representation of a user&#39;s interactions with selected nodes corresponding to a particular web page element or feature during a particular session. 
     For example, the search terms product documents ‘X’ and ‘Y’ may be submitted to a search  1008  facility. In response, as shown in  FIG. 10 , a portion of a session path associated with corresponding Session ID (e.g., “123456789”), may in turn be displayed as a session path graph  656 . In this example, the user&#39;s interaction with node ‘0’  658 , which is a web page search  702  functionality, results in the invocation of node 1a′  502 , which is associated with product document ‘X’  602 . In turn, the user&#39;s interaction with node 1a′  502  results in the invocation of node ‘2a’  522 , which is associated with product document ‘Y’  622 . Certain embodiments of the invention reflect an appreciation that the ability to display a graphical representation of a portion of a user&#39;s session path, whether as an individual user or as a member of a group of users, may assist in achieving an improved understanding of user behavior when interacting with a particular website. 
       FIG. 11  shows an example screen presentation of a session path analysis system displayed within a user interface (UI) window implemented in accordance with an embodiment of the invention to depict various aspects one or more session paths. In certain embodiments, as shown in  FIG. 11 , a session path graph  656  may be implemented to depict session paths associated with all sessions  1104 , a set of sessions  1104 , or an individual session  1106 , as described in greater detail herein. 
       FIG. 12  shows an example screen presentation of a session path analysis system displayed within a user interface (UI) window implemented in accordance with an embodiment of the invention to depict a linear representation of conversion events occurring during a session. In certain embodiments, a session path graph  656  may be implemented to reflect a linear representation of a user&#39;s interactions with various nodes corresponding to a particular web page element or feature during a particular session. In certain embodiments, the session may be selected, as described in greater detail herein, through the implementation of various data entry, selection, and display fields  606 . In various embodiments, certain user interactions with a web page element or feature may be identified as a conversion event, described in greater detail herein. 
     For example, as shown in  FIG. 12 , nodes ‘0’  1234 , ‘1a’  1236 , and ‘2a’  1238  are respectively associated with a user&#39;s interaction with web page elements or features “Search For Laptop Computer”  1204 , “Select Laptop Model”  1206 , and “View Product Summary”  1208 . Likewise, nodes ‘3c  1240  and ‘4b’  1242  are respectively associated with a user&#39;s interaction with web page elements or features “Read Product Reviews”  1210  and “Add Laptop To Cart For Configuration”  1212 . As likewise shown in  FIG. 12 , nodes ‘5a’  1244 , ‘6c’  1246 , ‘7a’  1248 , ‘8c’  1250 , ‘9c’  1252 , ‘10b’  1254 , ‘11b’  1256  are respectively associated with a user&#39;s interaction with various refinement web page elements or features for “Processor Vendor”  1214 , “Processor Generation”  1216 , “Processor Class”  1218 , “Processor Speed”  1220 , “Amount of Ram”  1222 , “SSD Drive”  1224 , and “Graphics Choices”  1226 . Likewise, node ‘12a’ is associated with a user&#39;s interaction with the web page element or feature “Cart Checkout”  1228 . 
     In certain embodiments, one or more user interactions with a web page element or feature may be identified as a conversion event and designated as such. As an example, nodes ‘1a’  1236 , ‘2a’  1238 , ‘4b’  1242 , and ‘12a’, respectively associated with web page elements or features “Select Laptop Model”  1206 , “View Product Summary”  1208 , “Add Laptop To Cart For Configuration”  1212 , and “Cart Checkout”  1228  may be identified as conversion events. In these embodiments, the method by which a user&#39;s interaction with particular web page element or feature is considered, identified, or designated as a conversion event is a matter of design choice. For example, the web page element or feature “Read Product Reviews”  1210 , associated with node ‘3c’  1240 , may be considered a conversion event in one embodiment but not in another. 
     Certain embodiments of the invention reflect an appreciation that a reduction in user activity between conversion events may result in an improvement in conversion performance. In certain embodiments, the user activity may be represented by various intermediate user interactions with web page elements or features between two conversion events. In certain embodiments, such intermediate user interactions may be represented by nodes in a session path graph  656  corresponding to various web page elements or features that have not been identified and designated as conversion events. As an example, nodes 3c  1240 , ‘5a’  1244 , ‘6c’  1246 , ‘7a’  1248 , ‘8c’  1250 , ‘9c’  1252 , ‘10b’  1254 , ‘11b’  1256  are associated with various web page elements or features that have not been identified and designated as conversion event. 
     In certain embodiments, the number of such non-conversion event nodes between two conversion event nodes may be implemented as a numeric value representing the distance between two conversion events. As an example, nodes 1a′  1236  and ‘2a’  1238  are both associated with conversion events. Furthermore, they are not separated by an intermediary node that is not associated with a conversion event. As a result, the numeric value of the distance between the two conversion events may be represented as ‘1’, as there is only on graph edge between the two nodes. 
     To continue the example, nodes ‘2a’  1238  and ‘4b’  1242  are separated by node ‘3c’  1240 . Accordingly, the numeric value of the distance between nodes ‘2a’  1238  and ‘4b’  1242 , both of which are associated with conversion events, may be expressed as ‘2’ since there are two graph edges between the two nodes. In further continuance of the example, nodes ‘4b’  1242  and ‘12a’  1258  are separated by nodes ‘5a’  1244 , ‘6c’  1246 , ‘7a’  1248 , ‘8c’  1250 , ‘9c’  1252 , ‘10b’  1254 , and ‘111b’  1256 . As a result, the numeric value of the distance between nodes ‘4b’  1242  and ‘12a’  1258 , both of which are associated with conversion events, may be expressed as ‘8’ since there are eight graph edges between the two nodes. 
       FIG. 13  shows an example screen presentation of a session path analysis system displayed within a User Interface (UI) window implemented in accordance with an embodiment of the invention to present session path conversion metrics. In this embodiment, session path conversion metrics operations are initiated by the retrieval of session path data, which is then filtered to generate filtered session path data, as described in greater detail herein. The resulting filtered session path data is then processed, likewise as described in greater detail herein, to generate corresponding session path graphs. 
     A session path graph  656  is then selected to identify conversion events it may contain. Conversion events within the selected session path graph  656  are then identified and designated as such. In certain embodiments, the method by which a conversion event is identified and designated as such is a matter of design choice. 
     A determination is then made whether any of the identified conversion events have been previously identified. If not, then those conversion events that have not been previously identified are added to a list of conversion events. Thereafter, a determination is made whether to select another session path graph to identify conversion events. If so, the process is continued, until it is decided not to select additional session path graphs to identify and designate associated conversion events. 
     The conversion events stored in the conversion event list are used to filter the session path data to identify session containing conversion events. The resulting filtered sessions are then pruned, as described in greater detail herein, to prune those sessions containing no conversion events. In turn, the pruned sessions are processed to identify all conversion events they may individually contain. 
     The distance between each conversion event within each session is then measured, as described in greater detail herein, to generate associated session path conversion metrics  1336 . The resulting session path conversion metrics  1336  are then aggregated and displayed within a Results  1332  UI window. In certain embodiments, the session path conversion metrics  1336  may include individual web page elements or feature  1338 , their corresponding distance values  1340 , as described in greater detail herein, along with associated statistical count  1342  and percentage  1344  information. 
     In certain embodiments, the session path conversion metrics  1336  may be implemented improve conversion performance. In these embodiments, the method by which the session path conversion metrics  1336  are implemented to improve conversion performance is a matter of design choice. Skilled practitioners of the art will recognize that many such embodiments are possible. Accordingly, the foregoing is not intended to limit the spirit, scope or intent of the invention. 
       FIG. 14  is a generalized flowchart of the performance of session path conversion metrics operations implemented in accordance with an embodiment of the invention. In this embodiment, session path conversion metrics operations are begun in step  1402 , followed by the retrieval of session path data in step  1404 . The session path data is then filtered in step  1406  to generate filtered session path data, as described in greater detail herein. The resulting filtered session path data is then processed in step  1408 , likewise as described in greater detail herein, to generate corresponding session path graphs. 
     A session path graph is then selected in step  1410  to identify conversion events it may contain. Conversion events within the selected session path graph are then identified and designated as such in step  1412 . In certain embodiments, the method by which a conversion event is identified and designated as such is a matter of design choice. 
     A determination is then made in step  1414  whether any of the identified conversion events have been previously identified. If not, then those conversion events that have not been previously identified are added to a list of conversion events in step  1416 . Thereafter, or if it was determined in step  1414  that all of the identified conversion events had been previously identified, then a determination is made in step  1418  whether to select another session path graph to identify conversion events. If so, the process is continued, proceeding with step  1410 . 
     However, if it is determined in step  1418  to not select another session path graph, then the conversion events stored in the conversion event list are used in step  1420  to filter the session path data to identify session containing conversion events. The resulting filtered sessions are then pruned in step  1422 , as described in greater detail herein, to prune those sessions containing no conversion events. In turn, the pruned sessions are processed in step  1424  to identify all conversion events they may individually contain. 
     The distance between each conversion event within each session is then measured in step  1424  to generate associated session path conversion metrics. The resulting session path conversion metrics are then aggregated in step  1428  and subsequently used in step  1430  to improve conversion performance. Session path conversion metrics operations are then ended in step  1432 . 
     As will be appreciated by one skilled in the art, the present invention may be embodied as a method, system, or computer program product. Accordingly, embodiments of the invention may be implemented entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or in an embodiment combining software and hardware. These various embodiments may all generally be referred to herein as a “circuit,” “module,” or “system.” Furthermore, the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium. 
     Any suitable computer usable or computer readable medium may be utilized. The computer-usable or computer-readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, or a magnetic storage device. In the context of this document, a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. 
     Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like. However, the computer program code for carrying out operations of the present invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user&#39;s computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). 
     Embodiments of the invention are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks. 
     The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     The present invention is well adapted to attain the advantages mentioned as well as others inherent therein. While the present invention has been depicted, described, and is defined by reference to particular embodiments of the invention, such references do not imply a limitation on the invention, and no such limitation is to be inferred. The invention is capable of considerable modification, alteration, and equivalents in form and function, as will occur to those ordinarily skilled in the pertinent arts. The depicted and described embodiments are examples only, and are not exhaustive of the scope of the invention. 
     Consequently, the invention is intended to be limited only by the spirit and scope of the appended claims, giving full cognizance to equivalents in all respects.