Patent Publication Number: US-9424295-B2

Title: Systems and methods for tables of contents

Description:
RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 12/415,909, filed on Mar. 31, 2009, which issued as U.S. Pat. No. 8,600,942, which claims priority to U.S. Provisional Patent Application 61/072,577, which was filed on Mar. 31, 2008, all of which are incorporated herein by reference in their entirety. 
    
    
     COPYRIGHT NOTICE AND PERMISSION 
     A portion of this patent document contains material subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyrights whatsoever. The following notice applies to this document: Copyright© 2008, Thomson Global Resources. 
     TECHNICAL FIELD 
     Various embodiments of the present invention concern representation and usage of object relational trees, such as tables of contents, in large document repositories and online research services. 
     BACKGROUND 
     The Westlaw research system is a popular online service that provides lawyers and other professionals a highly effective way to research legal, financial, business, and news information, for example. The system, vast in its scope, includes thousands of specialized databases. In many instances, the databases include topical collections of documents that are associated with tables of content (TOCs) or hierarchical tree-like data structures, which facilitate navigation and browsing of the document collections. 
     The present inventors have recognized one or more problems with this conventional way of organizing content along topical lines using TOCs. For example, one problem is that users often have a desire for content that spans across two or more topical collections, and thus two or more corresponding TOCs. Yet, the TOCs are organized and accessed separately from each other, leaving users the chore of navigating separate TOCs to find the information they need. It is possible to build a new TOC that combines the two or more TOCs; however, this is time-consuming and inefficient, when one considers the number of combined topics that would be desirable for users. 
     Accordingly, the present inventors identified a need for improved ways of using TOCs. 
     SUMMARY 
     To address this and/or one or more other needs, the present inventors, devised among other things, an exemplary table-of-contents (TOC) data structure and related systems and methods. One exemplary method entails associating a node from one TOC with a node of another TOC and then assigning a unique identifier to the associated pair of nodes. The unique identifier can then be used to logically define another TOC that includes portions of the two original TOCs. Another exemplary method entails tagging or associating nodes of a TOC with one or more view labels. (Identifiers for node relationships rather than the nodes themselves are tagged with the labels in some embodiments.) 
     The view labels enable combining multiple topical TOCs together to define new hybrid TOCs and document collections without duplicating the underlying documents. For example, a collection of insurance documents and a collection of tax documents can be selectively combined by tagging various nodes of their respective TOCs with the same view tag or label, enabling all the nodes with the tags and/or their associated documents to be referenced and navigated. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a block diagram of an exemplary information-retrieval system  100  which corresponds to one or more embodiments of the present invention. 
         FIG. 2  is a block diagram of an exemplary table-of-contents TOC (or object relational tree) data structure corresponding to one or more embodiments of the present invention. 
         FIG. 3  is a block diagram of an exemplary table-of-contents TOC (or object relational tree) data structure corresponding to one or more embodiments of the present invention. 
         FIG. 4  is a block diagram of an exemplary graphical user interface corresponding one or more embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENT(S) 
     This document describes one or more specific embodiments of an invention. These embodiments, offered not to limit but only to exemplify and teach the invention, are shown and described in sufficient detail to enable those skilled in the art to implement or practice the invention. Thus, where appropriate to avoid obscuring the invention, the description may omit certain information known to those of skill in the art. 
     U.S. Pat. No. 7,085,755 is incorporated herein by reference. 
     Exemplary Definitions 
     The description includes many terms that are defined by industry usage and/or specific context. As an aid to understanding the exemplary embodiments, the following exemplary definitions are provided: 
     
       
         
           
               
               
             
               
                   
               
               
                 Term 
                 Definition 
               
               
                   
               
             
            
               
                 Domain 
                 A domain is a logical grouping of collections in which node 
               
               
                   
                 relationships are stored. 
               
               
                   
                 While the domain is the entry point for a product to retrieve content, 
               
               
                   
                 collections within the domain allow Publishing to manage, group and 
               
               
                   
                 load relationships according to logical Publishing processes and 
               
               
                   
                 functions. A specific collection can belong to and reside in only one 
               
               
                   
                 domain. 
               
               
                 Node 
                 A TOC record in the database. The name “node” is derived from the fact 
               
               
                   
                 that a TOC is a tree data structure, and each record is called a “node” of 
               
               
                   
                 the tree. 
               
               
                 Relationship 
                 A required identifier for the relationship. Used to retrieve relationships. 
               
               
                 Base 
                 Corresponds to a “child”. 
               
               
                 Relationship Id 
                 A valid GUID that uniquely identifies each relationship. Each 
               
               
                   
                 relationship must have a unique Relationship Id GUID. This field has a 
               
               
                   
                 33 character maximum. 
               
               
                 Relationship 
                 Corresponds to a “parent”. 
               
               
                 Target 
               
               
                 Root Node 
                 A node in the TOC tree that has no parent node (relationship target). 
               
               
                 Search 
                 Search feature that allows user to summarize a search result based on a 
               
               
                 Summarization 
                 selected summary field. Can be used with TOC to provide a 
               
               
                   
                 hierarchical summarization when a TOC node GUID is the summary 
               
               
                   
                 field item (summarization would compute the number of found 
               
               
                   
                 documents under TOC nodes). Implemented within TOC as a 
               
               
                   
                 performance improvement over TOC with Hits. 
               
               
                 Sibling 
                 Child nodes that share a common parent node. 
               
               
                 Sibling Rank 
                 A numeric value assigned to siblings to provide order to those siblings. 
               
               
                 TOC 
                 Table of Contents 
               
               
                 TOC with Hits 
                 The functionality in TOC retrieval that adds search hit information to 
               
               
                   
                 nodes that are returned in TOC API call result (the “non summarized” 
               
               
                   
                 way). This is done by passing a SearchResult into the API call. 
               
               
                 TOC of TOCs 
                 A grouping of multiple TOCs which when viewed individually have 
               
               
                   
                 individual hierarchies (a subset of the full TOC) but also join together 
               
               
                   
                 to provide a master TOC. 
               
               
                 Versioned TOC 
                 TOC content whose nodes are assigned a date range in which they are 
               
               
                   
                 valid. All API calls that retrieve versioned TOC nodes must specify a 
               
               
                   
                 date/timestamp to tell Novus which nodes to return. 
               
               
                 View Property 
                 An element value specified within the Payload which when applied 
               
               
                   
                 serves as a filtering mechanism to access different slices of content. 
               
               
                   
                 Also referred to as “view”. The resulting structure must be a well 
               
               
                   
                 defined hierarchical tree containing a single path to a root node. 
               
               
                   
               
            
           
         
       
     
     Exemplary Information-Retrieval System 
       FIG. 1  shows an exemplary online information-retrieval (or legal research) system  100 . System  100  includes one or more databases  110 , one or more servers  120 , and one or more access devices  130 . 
     Exemplary Databases 
     Databases  110  include database sets  112  and  114 . Database set  112  includes topical document collections A, B, and C, and database set  114  includes topical document collections D, E, and F. In some embodiments, one or more of the document collections include judicial opinions and statutes from one or more local, state, federal, and/or international jurisdictions. Other embodiments may contain tax, accounting, and/or insurance documents. 
     Databases  110 , which take the exemplary form of one or more electronic, magnetic, or optical data-storage devices, include or are otherwise associated with respective indices (not shown). Each of the indices includes terms and phrases in association with corresponding document addresses, identifiers, and other conventional information. Databases  110  are coupled or couplable via a wireless or wireline communications network, such as a local-, wide-, private-, or virtual-private network, to server  120 . 
     Exemplary Server 
     Server  120 , which is generally representative of one or more servers for serving data in the form of webpages or other markup language forms with associated applets, remote-invocation objects, or other related software and data structures to service clients of various “thicknesses.” More particularly, server  120  includes a processor module  121 , a memory module  122 , a subscriber module  123 , a search module  124 , a table-of-contents (TOC) software and data module  125 , and a user-interface module  126 . 
     Processor module  121  includes one or more local or distributed processors, controllers, or virtual machines. In the exemplary embodiment, processor module  121  assumes any convenient or desirable form. 
     Memory module  122 , which takes the exemplary form of one or more electronic, magnetic, or optical data-storage devices, stores subscriber module  123 , search module  124 , table-of-contents (TOC) software and data module  125 , and user-interface module  126 . 
     Subscriber module  123  includes subscriber-related software and data for controlling, administering, and managing pay-as-you-go or subscription-based access of databases  110 . In the exemplary embodiment, subscriber database  123  includes one or more user preference (or more generally user) data structures, of which data structure  1231  is generally representative. In the exemplary embodiment, data structure  1231  includes a user identifier portion  1231 A, subscription data portion  1231 B, and user preference portion  1231 C. User identifier portion  1231 A includes a unique user identifier. Subscription data portion  1231 B includes administrative, accounting, and/or security related information, such as usernames and passwords, billing information, contact information, etc. User preference information portion  1231 C includes one or more aspects of the user data structure relate to user customization of various search and interface options, such as jurisdiction of practice, area of practice, etc. In some embodiments, this portion may include user defined preferences such as most-frequently accessed databases or topical document collections, and even user-defined combinations of document collections. 
     Search module  124  includes one or more search engines and related user-interface components, for receiving and processing user queries against one or more of databases  110 . In the exemplary embodiment, one or more search engines associated with search module  124  provide Boolean, tf-idf, natural-language search capabilities. 
     TOC software and data module  125  includes machine readable and/or executable instruction sets and data for implementing various TOC related functionality. In the exemplary embodiment, the data includes a set of tables of contents TOCs for topical data collections contained within databases  110 . Each TOC itself includes a set of relationship records, of which TOC data structure or record  1251  is generally representative. TOC data structure  1251  includes records which define relationships between nodes within tables of contents or between two separate tables of contents. 
     More specifically, TOC data structure  1251  includes a relationship guid (global unique ID) portion  1251 A, a child (or base) node guid portion  1251 B, a target (or parent) node guid portion  1251 C, a view label or tag portion  1251 D, a date-range portion  1251 E, an anchor guid portion  1251 F, and a node rank indicator portion  1251 G. 
     Relationship guid portion  1251 A includes a unique identifier for a particular parent-child relationship defined by base guid portion  1251 B and target guid portion  1251 C, which include respective child node and parent node guids. View label portion  1251 D includes content, such as a text labels “hardtop” and “trucks” that can be used in filtering views of the hierarchy. Date-range portion  1251 E includes a start date and an end date which define an effective temporal window for the associated parent-child relationship. Node rank indicator portion  1251 G provides a rank indicator for the associated child node  1251 B, which is used in ordering multiple child (sibling) nodes for display or navigation. 
       FIG. 2  shows a TOC tree structure  200  which is representative of one or analogous structures within memory  122 . Tree structure  200  includes nodes  1 - 6  and is defined by several TOC data structures  210 - 270 . Each of the TOC data structures includes a relationship guid portion (Rel Guid), a base or child guid portion (Base), a target or parent guid (Target) portion, and a view tag portion (View). As shown, the view tags portions define two views of the TOC, a view  280  (view  1 ) and a view  290  (view  2 ). The TOC tree (in blue) is defined by the relationships (in yellow). A node exists in a given view if there is a relationship in that given view with that particular node as a base or child node. In the example, Node  3  is in view  280  and view  290  because there is a relationship from Node  3  to Node  1  for View  1  and a relationship from Node  3  to NULL for View  2 . Node  3  has a relationship to NULL in View  2  because Node  3  is a root node in View  2 . 
       FIG. 3  shows a TOC tree structure  300  which is representative of one or analogous data structures within memory  122 . Tree structure  300  includes nodes  1 - 7  which are associated with view tags. The figure depicts the view tag association by color coding the nodes: nodes  1  and  7  are white to denote a joint TAX and INS (insurance) view tag for these nodes; nodes  2 ,  4 ,  6  are black to denote a TAX view; and nodes  3  and  5  are gray to denote an INS view. In this example, one could navigate to node  7  from either the TAX or INS (insurance) views. From the data model, node  7  has multiple parents, but given a view it has unique ancestors. 
     Additionally, TOC software and data module  125  includes instruction sets for supporting navigational features, such as get root node, get parent and child nodes, retrieve nodes that reference a document, get next and previous document. Additionally, the exemplary embodiment provides a function for returning the nodes from a search result. The exemplary embodiment also provides for versioning of TOCs through the elements &lt;n-start-date&gt; and &lt;n-end-date&gt;, and the search function accepts a timestamp value that is honored during TOC retrieval. Only nodes whose date range encompasses the timestamp of the request will be returned. 
     The exemplary embodiment also provides TOC with Hits using search summarization to improve online performance for display of the hierarchy with hit counts associated with each node, that is non-terminal node. In some embodiments content owners set up an &lt;n-tocview&gt; element in the document metadata as the summarized content. However, the exemplary embodiment allows any element name to be used for summarization. In addition, the searchable content and summarized content need not be in a document at all—it can be in the payload itself. For TOC with Hits, some embodiments use whatever summarized information is in the search result to determine the hit counts for the TOC nodes. 
     User-interface module  126 , in  FIG. 1 , includes machine readable and/or executable instruction sets for wholly or partly defining web-based user interfaces, such as search interface  1261  and results interface  1262 , over a wireless or wireline communications network on one or more accesses devices, such as access device  130 . 
     Exemplary Access Devices 
     Access device  130  is generally representative of one or more access devices. In the exemplary embodiment, access device  130  takes the form of a personal computer, workstation, personal digital assistant, mobile telephone, or any other device capable of providing an effective user interface with a server or database. Specifically, access device  130  includes a processor module  131 , a memory  132 , a display  133 , a keyboard  134 , and a graphical pointer or selector  135 . 
     Processor module  131  includes one or more processors, processing circuits, or controllers. In the exemplary embodiment, processor module  131  takes any convenient or desirable form. Coupled to processor module  131  is memory  132 . 
     Memory  132  stores code (machine-readable or executable instructions) for an operating system  136 , a browser  137 , and a graphical user interface (GUI)  138 . In the exemplary embodiment, operating system  136  takes the form of a version of the Microsoft Windows operating system, and browser  137  takes the form of a version of Microsoft Internet Explorer. Operating system  136  and browser  137  not only receive inputs from keyboard  134  and selector  135 , but also support rendering of GUI  138  on display  133 . Upon rendering, GUI  138  presents data in association with one or more interactive control features (or user-interface elements). (The exemplary embodiment defines one or more portions of interface  138  using applets or other programmatic objects or structures from server  120 .) 
     More specifically, graphical user interface  138  defines or provides one or more display regions, such as a query or search region  1381  and a search-results region  1382 . Query region  1381  is defined in memory and upon rendering includes one or more interactive control features (elements or widgets), such as a query input region  1381 A, a query submission button  1381 B. Search-results region  1382  is also defined in memory and upon rendering on the display presents results in a list view  1382  and/or in a hierarchical view  1382 B. List view  1382 A includes a list of documents from databases  110 , including doc 1  and doc 2 , identified by server  120  in response to a query. Hierarchical view  1382 B presents a table of contents, highlighting the corresponding lowest nodes associated with documents doc 1  and doc 2 , in this case respective nodes  1382 C and  1382 D. In the exemplary embodiment, the nodes are determined by searching TOC data structure in server  120  for those relationships (or nodes) that are associated with document guids corresponding to docs  1  and  2 . 
       FIG. 4  shows an enlarged version of hierarchical view or interface window  1382 B. A user can select (for example by clicking) any node shown in the hierarchical view and navigate into the portion of the document collection corresponding that node. Additionally, some embodiments provide a count of documents associated with each displayed node of the hierarchy. One benefit of the hierarchical display is that the user can gain sense of how targeted or focused the query was relative to the contents of topical collection. For example, if the search result yield hits dispersed over a wide variety of nodes in the hierarchy, the query may have been too broad. On the other hand, if the results are concentrated in a specific area of the hierarchy, it may have been too narrow or just right. 
     Some embodiments may even provide a “zoom” capability to allow the user to zoom into a more granular view of the hierarchy or zoom out for less granular view. These and/or other embodiments may also provide control features such as a date entry box or a timeline slide (analogous to a scroll feature) that allows a user to filter the displayed hierarchical view based on time, by entering the time or sliding a button along a scale. Still, other embodiments present buttons with corresponding temporal labels to allow a user to simply select the time period which is of interest. This feature would be particularly effective for time view of organizational chart data, for example. 
     Back in  FIG. 1 , each identified document in region  1382  is associated with one or more interactive control features, such as hyperlinks, not shown here. User selection of one or more of these control features results in retrieval and display of at least a portion of the corresponding document within a region of interface  138  (not shown in this figure.) Although the Figure shows query region  1381  and results region  1382  as being simultaneously displayed, some embodiments present them at separate times. Similarly, the list view and hierarchical view may viewed simultaneously or separately. 
     CONCLUSION 
     The embodiments described above and in the claims are intended only to illustrate and teach one or more ways of practicing or implementing the present invention, not to restrict its breadth or scope. The actual scope of the invention, which embraces all ways of practicing or implementing the teachings of the invention, is defined only by the issued claims and their equivalents.