Paging hierarchical data
First Claim
Patent Images
1. A computer-implemented data processing system, comprising:
- a table comprising rows, and columns that indicate an identifier, name, outline level, view position, data position, and descendant count, the table in part defines a hierarchical dataset of an entire recordset;
a position converter index comprising an ordered index of the rows used to track an expanded/collapsed state of the table and to translate between a view position and a data position of the hierarchical dataset;
a collapsed set list comprising a list of collapsed rows, configured to indicate whether a respective row of the hierarchical dataset is to be collapsed or expanded;
a paging component configured to page the table, the position converter, and the set list to obtain relevant rows to a row operation on one or more rows of a client viewset, thereby reducing an amount of processed data to the relevant rows, wherein paging comprises obtaining a subset of rows through viewing operations including sorting, filtering, or grouping, and wherein the client viewset represents what a user can physically see on a client at a given moment;
an update component configured to update the client viewset to include the relevant rows in response to a row change operation comprising a row operation of an editing nature, the update to the client viewset based on row keys associated with the paged table; and
a processor that executes computer-executable instructions associated with at least one of the table, the position converter index, the collapsed set list, the paging component, or the update component.
2 Assignments
0 Petitions
Accused Products
Abstract
Architecture that provides the ability to intelligently page (slice) hierarchical datasets through viewing operations of a hierarchical view. This further provides the capability to make additions to/deletions from the hierarchy view and manage the parent/child relationship of view records without ever sending the entire recordset to the client or receiving the entire recordset back to the server, thereby optimizing operation performance on the hierarchical datasets.
-
Citations
20 Claims
-
1. A computer-implemented data processing system, comprising:
-
a table comprising rows, and columns that indicate an identifier, name, outline level, view position, data position, and descendant count, the table in part defines a hierarchical dataset of an entire recordset; a position converter index comprising an ordered index of the rows used to track an expanded/collapsed state of the table and to translate between a view position and a data position of the hierarchical dataset; a collapsed set list comprising a list of collapsed rows, configured to indicate whether a respective row of the hierarchical dataset is to be collapsed or expanded; a paging component configured to page the table, the position converter, and the set list to obtain relevant rows to a row operation on one or more rows of a client viewset, thereby reducing an amount of processed data to the relevant rows, wherein paging comprises obtaining a subset of rows through viewing operations including sorting, filtering, or grouping, and wherein the client viewset represents what a user can physically see on a client at a given moment; an update component configured to update the client viewset to include the relevant rows in response to a row change operation comprising a row operation of an editing nature, the update to the client viewset based on row keys associated with the paged table; and a processor that executes computer-executable instructions associated with at least one of the table, the position converter index, the collapsed set list, the paging component, or the update component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-readable storage memory comprising computer-executable instructions that when executed by a processor enables a data processing system, comprising:
-
a table comprising rows, and columns that indicate an identifier, name, outline level, view position, data position, and descendant count; datasets associated with the table, the datasets comprising a position converter index and a collapsed set list, wherein the position converter index is an ordered index of the rows that is used to track an expanded/collapsed state of the table and to translate between a view position and a data position, and wherein the collapsed set list is a list of collapsed rows, to indicate whether a respective row will be collapsed or expanded; a paging component of a server configured to obtain a subset of relevant rows of the table in response to a row operation for obtaining relevant data to be rendered in a client viewset of a client, where the client viewset comprises a set of rows visible on a screen of the client without scrolling; and an update component of the server configured to update the client viewset to include the relevant rows according to a row change operation comprising a row operation of an editing nature, the subset including only rows relevant to the row change operation. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer-implemented method of processing data, comprising acts of:
-
providing a table that defines a hierarchical dataset of an entire recordset, the table comprising rows, and columns that indicate an identifier, name, outline level, view position, data position, and descendant count of the hierarchical dataset; providing datasets associated with the table, the datasets comprising a position converter index and a collapsed set list, wherein the position converter index is an ordered index of the rows that is used to track an expanded/collapsed state of the table and to translate between a view position and a data position, and wherein the collapsed set list is a list of collapsed rows, to indicate whether a respective row is to be collapsed or expanded; receiving a request from a client for relevant data to be rendered in a client viewset based on a client row operation, where the client viewset comprises a set of rows visible on a screen of the client without scrolling; obtaining a subset of relevant rows of the table for the relevant data in response to the request by performing viewing operations including sorting, filtering, or grouping; sending the relevant rows to the client for update of the client viewset; and utilizing a processor that executes instructions stored in memory to perform at least one of the acts of receiving, obtaining, or sending. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification