Product customization based on user contributions
US-9372687-B1 · Jun 21, 2016 · US
US11113771B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11113771-B1 |
| Application number | US-201514698733-A |
| Country | US |
| Kind code | B1 |
| Filing date | Apr 28, 2015 |
| Priority date | Apr 28, 2015 |
| Publication date | Sep 7, 2021 |
| Grant date | Sep 7, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods and articles of manufacture for generating a sub-graph of a tax calculation graph usable by a tax calculation engine to perform tax calculation operations. The system includes a computing device, a data store in communication with the computing device and a tax preparation software application executable by the computing device. The system comprises a tax calculation graph and a sub-graph engine which executes on the computing device. The sub-graph engine is configured to generate a sub-graph of the tax calculation graph based upon a target node and one or more user enterable nodes selected from the nodes of the tax calculation graph. The sub-graph engine analyzes the tax calculation graph in view of the target node and user enterable nodes and generates a sub-graph which excludes all nodes which are not necessary to calculate the target node.
Opening claim text (preview).
What is claimed is: 1. A system for preparing a tax return in which a granularity of tax questions presented to a user may be adjusted, comprising: a computing device having a computer processor, display and memory, and a non-transitory, computer-readable storage device having a software application stored thereon, the software application executable by the computer processor and comprising a tax calculation graph, a modular tax calculation engine, a plurality of decision tables, a sub-graph engine, a granularity control engine, a modular tax logic agent, a modular user interface manager, the modular tax logic agent when executed by the computer processor is detached from the modular user interface manager when executed by the computer processor; a data store in communication with the computing device, the data store configured to store user-specific tax data therein; the modular tax calculation engine when executed by the computer processor using the tax calculation graph to perform a plurality of tax calculation operations using the user-specific tax data read from the data store to calculate the tax return, the tax calculation graph comprising a plurality of interconnected nodes including one or more of input nodes, functional nodes, and function nodes, each input node being populated with user-specific tax data, each function node defines a tax calculation utilizing the populated input nodes, and each functional node is a result of a calculation performed by an interconnected function node when executed by the computer processor, a plurality of the functional nodes each including a user selectable tag configuring such node as a user enterable node having a value entered by the user; the modular tax calculation engine when executed by the computer processor performs a plurality of tax calculation operations based on the tax calculation graph using the user-specific tax data read from the data store to calculate the tax return; the plurality of decision tables collectively representing a completion graph for completing all required data fields for computing the tax return, each decision table representing a plurality of columns, each column corresponding to a tax question, and a plurality of rows, each row corresponding to a completion path for a tax rule, thereby forming a plurality of cells with each cell corresponding to a particular row and column, each cell in a respective row having a logic operator to be executed by the computer processor, the logic operator corresponding to the tax question of the each cell's respective column such that completion of each respective row is determined by the logic operators in the respective row; the sub-graph engine when executed by the computer processor generating a sub-graph of the tax calculation graph based upon a target node and one or more user enterable nodes selected by the user from the nodes of the tax calculation graph, the sub-graph excluding: (a) all nodes of the tax calculation graph which only have a calculation path leading to only one or more user enterable nodes; and (b) all nodes which do not have a calculation path leading to the selected target node; the granularity control engine when executed by the computer processor generating modified decision tables by modifying the decision tables such that cells in the decision tables directed to nodes excluded in the sub-graph by the sub-graph engine are configured in the decision tables as not needed to complete a particular tax topic; the modular tax logic agent when executed by the computer processor analyzing user-specific tax data in the data store and the modified decision table to determine one or more suggested tax questions for obtaining missing tax data required for the tax calculation engine to complete a tax calculation of the sub-graph, the modular tax logic agent eliminating, based on the user-specific tax data, at least one row and its respective completion path to reduce possible suggested tax questions; and the user interface manager when executed by the computer processor receiving the suggested tax questions from the modular tax logic agent and outputting on the display one or more questions based on the one or more suggestions via a user interface. 2. The system of claim 1 , wherein the sub-graph engine when executed by the computer processor determines whether there is a calculation path between a first user enterable node and a second user enterable node, and when there is a calculation path between the first user enterable node and the second user enterable node, (a) notifies the user that the selection of the first user enterable node and the second user enterable node is invalid; (b) requests and receives a revised selection of user enterable nodes and (c) generates a final sub-graph based upon the revised selection of user enterable nodes. 3. The system of claim 2 , wherein the sub-graph engine when executed by the computer processor receives a user selection of a target node and one or more nodes to be configured as user enterable nodes; and sets the tag for each selected user enterable node as a user enterable node. 4. The system of claim 1 , wherein the sub-graph engine when executed by the computer processor: determines a construct sub-graph comprising all nodes of the tax calculation graph having a calculation path leading to the target node; for each user enterable node, determines all of the nodes along each calculation path of the construct sub-graph leading from each user enterable node to the target node, such nodes are referred to as first sub-graph nodes; determines any calculation paths leading from an input node of the construct sub-graph to the target node which do not include a user enterable node, such calculation paths referred to as open paths; when one or more open paths are determined, prompts the user to select one or more nodes on one or more of the open paths as an additional user enterable node and determines all of the nodes along each calculation path leading from each additional user enterable node to the target node, such nodes referred to as second sub-graph nodes; for any remaining open paths after configuring the additional user enterable nodes, determines all nodes along such remaining open paths, such nodes referred to as third sub-graph nodes; and generates a final sub-graph consisting only of the first sub-graph nodes, second sub-graph nodes and third sub-graph nodes. 5. The system of claim 4 , wherein the sub-graph engine when executed by the computer processor determines whether there is a calculation path between a first user enterable node and a second user enterable node, and when there is a calculation path between the first user enterable node and the second user enterable node, (a) notifies the user that the selection of the first user enterable node and the second user enterable node is invalid; (b) requests and receives a revised selection of user enterable nodes and (c) generates the final sub-graph based upon the revised selection of user enterable nodes. 6. The system of claim 5 , wherein the sub-graph engine when executed by the computer processor receives a user selection of the target node and the one or more nodes to be configured as user enterable nodes; and sets the user selectable tag configuring each node selected by the user to be configured as a user enterable node as a user enterable node. 7. A system for preparing a tax return in which a granularity of tax questions presented to a user may be adjusted, comprising: a computing device having a computer processor, display and memory, and a non-transitory, computer-readable storage device having a software application stored thereon, the software application executable by the computer processor and comprising a tax calculation graph, a modular
Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title
Tax preparation or submission · CPC title
Trees, e.g. B+trees · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.