×

Systems and user interfaces for dynamic and interactive table generation and editing based on automatic traversal of complex data structures including time varying attributes

  • US 9,244,899 B1
  • Filed: 03/10/2015
  • Issued: 01/26/2016
  • Est. Priority Date: 10/03/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computing system configured to access one or more electronic data sources in response to inputs received via an interactive user interface in order to automatically calculate metrics based on a complex mathematical graph and insert the metrics into a dynamically generated table of the interactive user interface, the computing system comprising:

  • a computer processor; and

    a computer readable storage medium configured to;

    store a complex mathematical graph comprising nodes and edges, each of the nodes storing information associated with at least one of an account, an individual, a legal entity, or a financial asset, each of the edges storing a relationship between two of the nodes, wherein a plurality of attributes is associated with each of the nodes and each of the edges, wherein at least one of the nodes is associated with a time varying attribute; and

    store program instructions configured for execution by the computer processor in order to cause the computing system to;

    generate user interface data for rendering an interactive user interface on a computing device, the interactive user interface including;

    a dynamically generated table including rows and columns, wherein each of the rows corresponds to a financial asset and its associated node or a group of financial assets and its associated nodes, wherein each of the columns corresponds to a metric calculable with respect to each of the financial assets or groups of financial assets; and

    a context selection element including a listing of a plurality of perspectives from which the dynamically generated table may be automatically updated, each of the plurality of perspectives associated with a node of the complex mathematical graph;

    receive, via the interactive user interface, a selection of one of one of the plurality of perspectives;

    determine a node of the complex mathematical graph associated with the selected perspective;

    automatically traverse the complex mathematical graph from the determined node so as to enumerate paths within the complex mathematical graph that are associated with the determined node;

    for each enumerated path, determine any rows of the dynamically generated table associated with the enumerated path based on nodes commonly associated with the enumerated path and a row of the dynamically generated table;

    generate a bucketing tree comprising value nodes corresponding to the rows of the dynamically generated table and associated with the respective enumerated paths determined to be associated with the rows;

    for each value node of the bucketing tree and each metric of the dynamically generated table;

    determine one or more time intervals associated with each of the enumerated paths associated with the value node, the one or more time intervals determined based on attributes associated with nodes of each of the enumerated paths including any time varying attributes;

    determine one or more time intervals associated with the metric;

    calculate, for each of the enumerated paths associated with the value node, one or more calculation intervals based on an intersection between the time intervals associated with the metric and the time intervals associated with the respective enumerated path;

    for each of the enumerated paths and each of the calculation intervals associated with the respective enumerated paths;



    calculate an interval value corresponding to each calculation interval based on the metric; and



    aggregate the calculated interval values associated with each of the enumerated paths to calculate a path value associated with each of the enumerated paths; and

    aggregate the path values associated with each of the value nodes to calculate a metric value corresponding to each combination of value node and metric; and

    automatically update the dynamically generated table with the calculated metric values, wherein each of the calculated metric values is inserted into a cell of the table corresponding to the row associated with the value node associated with the calculated metric value and the column associated with the metric associated with the calculated metric value.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×