Patent Publication Number: US-9846680-B1

Title: Script logic graphical mapping

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     The present patent application is a continuation of U.S. patent application Ser. No. 14/066,784, entitled SCRIPT LOGIC GRAPHICAL MAPPING, filed on Oct. 30, 2013, now issued U.S. Pat. No. 9,285,965, issued on Mar. 15, 2016, which is a continuation of U.S. patent application Ser. No. 11/427,009, entitled SCRIPT LOGIC GRAPHICAL MAPPING, filed on Jun. 28, 2006, now issued U.S. Pat. No. 8,595,648, issued on Nov. 26, 2013. This application is related to commonly assigned U.S. patent application Ser. No. 11/427,010 entitled SESSION INITIATION PROTOCOL ENABLED AGENT DESKTOP ENVIRONMENT, filed on Jun. 28, 2006, and U.S. patent application Ser. No. 11/427,008 entitled SCRIPT LOGIC VIEWING, filed on Jun. 28, 2006, and U.S. patent application Ser. No. 11/427,007 entitled REAL TIME FEEDBACK OF SCRIPT LOGIC, filed on Jun. 26, 2006, now issued U.S. Pat. No. 8,644,492, issued on Feb. 4, 2014, and U.S. patent application Ser. No. 11/427,014 entitled CONTACT CENTER CALL ROUTING BY AGENT ATTRIBUTE filed on Jun. 28, 2006, now issued U.S. Pat. No. 8,559,618, issued on Oct. 15, 2013, the entire contents of which are incorporated by reference herein. 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention is generally related to script logic, and more specifically, to script logic graphical mapping. 
     To increase call center customer satisfaction, agents must have accurate timely information and must respond quickly. This timely and accurate response by the agent is enabled by continuous flow of information to and from the agent in the form of a script. The script allows the agent to handle objections, answer questions and gather information in an efficient process. The script as a whole is comprised of individual panels which have instructions, information and data queries. This set of panel instructions, information and data queries are referred to as panel logic. The panels themselves are tied together depending upon the questions asked and information required, this panel to panel linkage is referred to as branching logic and can tie a large variety of panels together in a dynamic fashion as the need arises. Panels tied together by branching logic form a script path. The design of panel logic and branching logic can be extremely complex due and requires much time and effort to debug. 
     Therefore, what is needed is an ability to efficiently present the script logic. More specifically, what is needed is a graphical mapping of the script logic to provide more efficient debugging of the panels and branching logic. The present invention advantageously allows graphical mapping of the script logic associated with a script. 
     SUMMARY OF THE INVENTION 
     The present invention reviews script logic and models panels as boxes. A graphical map view of the script logic is created and a web-based view to additional detail of the graphical map is provided. Branching logic is represented, for example, by a series of arrows. 
     The present invention applies drill down and navigation capabilities of global mapping to scripting. A “nation-wide” view of scripts provides a holistic view of the script logic. A developer may elect to focus in on a particular script path (akin to a city view on a map). This view provides a less cluttered view that allows the developer to specifically follow arrows and branching code. The street view provides the actual panel script logic and also allows the developer to see the agent&#39;s actual web page view. 
     If run independently, users of the script logic viewing tool of the present invention are routed to a Main page. A web server is searched to identify all currently installed script logic viewing scripts to populate the script name and version selection list-boxes. Once a script and version have been selected and confirmed, users are routed to the display page. If the tool is used inside of the script logic viewing environment, the user is routed directly to the display page and the selected script is passed in a query string. 
     Script logic viewing creates a XML navigation file that represents each script&#39;s defined paths, entry points into a script, and their related first panels, HTML and related code behind files that are displayed to the user. When loading the display page, this navigation file is read to establish the different script paths assigned to the selected script and their related first panel. The present invention then reads the code related to the files for each first panel and maps out all possible routing from a target panel. Each target is then processed until a route is duplicated or no further paths are found. 
     The display area is calculated to fit the number and length of paths found. All the routes are sorted by length and are rendered in a longest-to-shortest routine from the center of the calculated display area. An optimal box position is first calculated and drawn for paths and their key descriptive information is displayed at its center. Box size is dynamically determined by the script specific names and values found with an overall max value as a cap. The paths are then rendered based on the routing information collected earlier and the box display locations. In the case of zooming, the graph positions are recalculated based on a scale provided by the user. Drawing initially takes place on an in memory bit map which is then output to another or secondary page, such as a visual basic .net page. The display page display area is an image button which points to this secondary page or web page. The drawing positions of the most recent display are kept in memory for a quick reference redraw of a last displayed view. 
     All panels that are associated with the script but are not reachable through any of the current paths are listed in a missing panels list-box. This is a key item as often times these panels are left out of the script design unintentionally. For large scripts, this allows a developer to quickly glance at the panels not currently being used and identify if a mistake may have been made. 
     A list of all paths and panels that are part of the script&#39;s current routing are also displayed for filtering purposes. If the script path value is changed, the listed panels are filtered to only display panels that are part of the specified path. This is a quick reference for the developer to determine which panels are currently being used in a specific path. Each filtered view can be selected for display allowing the user to quickly visually track progress down specific script paths at any level to ensure the proper script flow is taking place. The script routing and logic can be visually understood and checked by individuals, for example non-technical individuals, with no training in the scripting tool itself. The present invention allows non-development management and end-client review of scripts. From a development stand point, the ability to review the script visually from an optional scale is key in logic tracking, testing and trouble shooting of scripts. 
     The display can either show all routes out of a path/panel or into a script path or panel. In the case of a display of all routes into a path or panel, routing lists are searched for the target path or panel. All routes where the target is found are shortened so the target is the end point and the graph is rendered. This view allows an agent to quickly display all routes in a script into a specific panel which is often important for testing and trouble shooting and can be a very difficult and time consuming task if performed manually. 
     When the displayed image is accessed, for example by “clicking” the image, the position is determined. If a box was found to be clicked on the left side, a quick redraw from that path or panel takes place. This feature is provided in order to save time and make the interface more user friendly. If the box is clicked on the right side, the panel is “drilled into” and the user is routed to a drill down page. The panel&#39;s HTML page is displayed in the right frame for visual confirmation. The panel&#39;s code related to the file is then read and split into the primary function sections representing the life cycle of a panel, such as load, edit, submit, and branch. This information is made available on the left frame. Any possible navigations points out of the current panel are also listed as links allowing for script navigation from the drill down page. If the navigation takes place, the drill down page is reloaded for the new panel. The drill down page allows script developers to quickly view a panel and its code from the visual display and when a closer look is needed, one click will display the page itself and its related code. This allows developers to quickly check for code or display errors. The script can then be navigated from this view to allow for a visual “walk through” of the different script routes. The present invention allows technical or non-technically trained personal to quickly and easily see the displayed screens without any script logic specific training. 
     The present invention currently includes the following features: 
     Sort and list all scripts on a web server (Main Page); 
     List all paths associated with a target script (Display Page); 
     List all panels associated with a script (Display Page); 
     List all panels in a specified script path (Display Page); 
     List “Missing Panels”, all panels in a script folder that are not currently reachable in the script (Display Page); 
     Graphically display a script to visually track panel branching options (Display Page); 
     Filtered graphing, and an ability to limit a graph to a specific type of path, paths and panels (Display Page); 
     One click redraw option, an ability to redraw a graph from a specified path/panel by clicking on the left side of the box (Display Page); 
     Reverse/Inverse graphing, an ability to show all paths/routes into a specific path/panel versus all paths out (Display Page); 
     Drill down capability, in the display panel and its related code (Drill Down Page); 
     Drill down navigation, on a drill down page list of next panels provided as links (Drill Down Page); 
     Navigate through a script from a drill down view (Drill Down Page); 
     Save snap-shots of a graph to a file (Display Page); 
     Resize the graphical display (Display Page); and 
     Last View button provided for quick restoration of historical displays (Display Page). 
     In one embodiment of the present invention, a method for script logic graphical mapping comprises displaying a panel associated with at least one script, presenting a branching logic associated with the panel and creating a graphical map of the panel and branching logic connected to the panel, wherein the graphical map allows zooming in to show panel logic associated with the panel, and the graphical map allows zooming out to show the branching logic associated with the panel. The method may also comprise sorting the at least one script, listing the at least one script, tabulating panels in a specified script path, filtering the graphical map to display a specified script path, distilling the graphical map to display a specified script path type, refining the graphical map to display a specified panel, reversing the graphical map to display panels that enter the panel, providing a list of subsequent panels, establishing a navigation file showing script paths associated to the at least one script and a first panel and recording the script path associated with the panel. The panels may be displayed as boxes in the graphical map, and the branching logic associated with the panel may be displayed as an arrow. 
     In a further embodiment of the present invention, a computer readable medium comprises instructions for displaying a panel associated with at least one script, presenting a branching logic associated with the panel, and inventorying panels associated with the script that are not connected by branching logic. The computer readable medium may further comprise instructions for creating a graphical map of the panel and branching logic connected to the panel, wherein the graphical map allows zooming in to show panel logic associated with the panel, and the graphical map allows zooming out to show the branching logic associated with the panel, reversing the graphical map to display panels that enter the panel, sorting the at least one script, listing the at least one script, filtering the graphical map to display a specified script path, distilling the graphical map to display a specified script path type, and refining the graphical map to display a specified panel. 
     In another embodiment of the present invention, a system for script logic graphical mapping comprises a processor, wherein the processor displays a panel associated with at least one script, presents a branching logic associated with the panel and creates a graphical map of the panel and branching logic connected to the panel, and a memory communicably coupled to the processor, wherein the memory stores the graphical map. Wherein the system processor may inventory panels associated with the at least one script that are not connected by branching logic, filter the graphical map to display a specified script path, distill the graphical map to display a specified script path type, and refine the graphical map to display a specified panel. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts a main screen of the script logic graphical mapping in accordance with a preferred embodiment of the present invention; 
         FIG. 2  depicts a display screen of the script logic graphical mapping in accordance with a preferred embodiment of the present invention; 
         FIG. 3  depicts a drill down screen of the script logic graphical mapping in accordance with a preferred embodiment of the present invention; 
         FIG. 4  depicts a first method of script logic graphical mapping in accordance with a preferred embodiment of the present invention; 
         FIG. 5  depicts a second method of script logic graphical mapping in accordance with a preferred embodiment of the present invention; 
         FIG. 6  depicts a first software flow block of script logic graphical mapping in accordance with a preferred embodiment of the present invention; 
         FIG. 7  depicts a second software flow block of script logic graphical mapping in accordance with a preferred embodiment of the present invention; 
         FIG. 8  depicts a first system of script logic graphical mapping in accordance with a preferred embodiment of the present invention; and 
         FIG. 9  depicts a system of script logic graphical mapping in accordance with a preferred embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Referring now to  FIG. 1 , a main screen  10  providing the script logic graphical mapping of the present invention is depicted and comprises a number of blocks or modules that may be software, hardware, firmware, and/or the combination of software, hardware, and/or firmware. The main screen allows a version of a script  12 , a script logic name  14  and a panel within the script  16  to be selected by the user. 
     Referring now to  FIG. 2 , a display screen  20  providing the script logic graphical mapping of the present invention is depicted and comprises a number of blocks or modules that may be software, hardware, firmware, and/or the combination of software, hardware, and/or firmware. The display screen  20  shows a graphical representation of the script logic  22 . The user selectable criteria include a selected logic script path  24 , a specified panel within the script path  26  and the ability to restart and choose another script logic  28 . The display also indicates panels that are in the script directory but not within the listed path sequence  30 , a last view function  32  and zoom  34 . The present invention includes a reverse view function  38  that allows all routes into or out of a selected panel to be displayed. 
     Referring now to  FIG. 3 , a drill down screen  50  providing the script logic graphical mapping of the present invention is depicted and comprises a number of blocks or modules that may be software, hardware, firmware, and/or the combination of software, hardware, and/or firmware. The drill down screen allows a display of upcoming panels  52  and of load instructions  54 . The display allows review of panel logic code  56  and branching logic code  58  and additionally allows simulating an agent interaction  60 . 
     Referring now to  FIG. 4 , a first method of script logic graphical mapping  60  is depicted and comprises displaying  62  a panel associated with at least one script, presenting  64  a branching logic associated with the panel and creating  66  a graphical map of the panel and branching logic connected to the panel, wherein the graphical map allows zooming in to show panel logic associated with the panel, and the graphical map allows zooming out to show the branching logic associated with the panel. The method is performed by software, hardware, or firmware, and/or the combination of software, hardware, and/or firmware. 
     Referring now to  FIG. 5 , a second method of script logic graphical mapping  70  is depicted and comprises displaying  72  a panel associated with at least one script, presenting  74  a branching logic associated with the panel and creating  76  a graphical map of the panel and branching logic connected to the panel, wherein the graphical map allows zooming in to show panel logic associated with the panel, and the graphical map allows zooming out to show the branching logic associated with the panel. The method may also comprise sorting  78  the at least one script, listing  80  the at least one script and tabulating  82  panels in a specified script path. The method may additionally comprise filtering  84  the graphical map to display a specified script path, distilling  86  the graphical map to display a specified script path type and refining  88  the graphical map to display a specified panel. The method may further comprise reversing  90  the graphical map to display panels that enter the panel, providing  92  list of subsequent panels, establishing  94  a navigation file showing script paths associated to the at least one script and a first panel and recording  96  the script path associated with the panel. The panels may be displayed as boxes in the graphical map, and the branching logic associated with the panel may be displayed as an arrow. The method is performed by software, hardware, or firmware, and/or the combination of software, hardware, and/or firmware. 
     Referring now to  FIG. 6 , a first software block diagram of script logic graphical mapping  100  is depicted. The computer readable medium (or software) comprises instructions for displaying  102  a panel associated with at least one script, presenting  104  a branching logic associated with the panel and inventorying  106  panels associated with the script that are not connected by branching logic. These steps are preferably embodied in a computer readable medium or software but may also be embodied in firmware and are utilized via hardware. The transfer of information occurs via at least one of a wireless protocol, a wired protocol and the combination of the wireless protocol and the wired protocol. The steps performed in this figure are performed by software, hardware, or firmware, and/or the combination of software, hardware, and/or firmware. 
     Referring now to  FIG. 7 , a second software block diagram of script logic graphical mapping  110  is depicted. The computer readable medium comprises instructions for displaying  112  a panel associated with at least one script, presenting  114  a branching logic associated with the panel and inventorying  116  panels associated with the script that are not connected by branching logic. The computer readable medium may comprise instructions for creating  118  a graphical map of the panel and branching logic connected to the panel wherein, the graphical map allows zooming in to show panel logic associated with the panel, and the graphical map allows zooming out to show the branching logic associated with the panel. The computer readable medium may further comprise instructions for reversing  120  the graphical map to display panels that enter the panel, sorting  122  the at least one script, listing  124  the at least one script, filtering  126  the graphical map to display a specified script path, distilling  128  the graphical map to display a specified script path type and refining  130  the graphical map to display a specified panel. These steps are preferably embodied in a computer readable medium or software but may also be embodied in firmware and are utilized via hardware. The transfer of information occurs via at least one of a wireless protocol, a wired protocol and the combination of the wireless protocol and the wired protocol. The steps performed in this figure are performed by software, hardware, or firmware, and/or the combination of software, hardware, and/or firmware. 
     Referring now to  FIG. 8 , a first system of script logic graphical mapping  140  is depicted and comprises a processor  142  in communication  144  with a memory  146 , wherein the processor displays  148  a panel associated with at least one script, presents  150  a branching logic associated with the panel and creates  152  a graphical map of the panel and branching logic connected to the panel, and wherein the memory stores  154  the graphical map. The transfer of information between the processor and the memory occurs via at least one of a wireless protocol, a wired protocol and a combination of a wireless protocol and a wired protocol. The steps performed in this figure are performed by software, hardware, or firmware, and/or the combination of software, hardware, and/or firmware. 
     Referring now to  FIG. 9 , a second system of script logic graphical mapping  160  is depicted and comprises a processor  162  in communication  164  with a memory  166 , wherein the processor displays  168  a panel associated with at least one script, presents  170  a branching logic associated with the panel and creates  172  a graphical map of the panel and branching logic connected to the panel, and wherein the memory stores  174  the graphical map. Wherein the system processor may inventory  176  panels associated with the at least one script that are not connected by branching logic, filter  178  the graphical map to display a specified script path, distill  180  the graphical map to display a specified script path type, and refine  182  the graphical map to display a specified panel. The transfer of information between the processor and the memory occurs via at least one of a wireless protocol, a wired protocol and a combination of a wireless protocol and a wired protocol. The steps performed in this figure are performed by software, hardware, or firmware, and/or the combination of software, hardware, and/or firmware. 
     Although exemplary embodiments of the system, method, and computer readable medium of the present invention has been illustrated in the accompanied drawings and described in the foregoing detailed description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications, and substitutions without departing from the spirit of the invention as set forth and defined by the following claims. For example, the capabilities of the invention can be performed fully and/or partially by one or more of the processors or memories. Also, these capabilities may be performed in the current manner or in a distributed manner and on, or via, any device able to provide and/or receive data. Further, although depicted in a particular manner, various modules or blocks may be repositioned without departing from the scope of the current invention. Still further, although depicted in a particular manner, a greater or lesser number of processors, memories and connections can be utilized with the present invention in order to accomplish the present invention, to provide additional known features to the present invention, and/or to make the present invention more efficient.