Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of rendering hierarchical data structures via a web server that generates and displays web pages for a web browser, the method comprising: retrieving node data from a datastore of the web server, the datastore associated with a human resources management software residing on the web server, each item of node data representing an employee within an organization defining a hierarchical data structure; determining parameters associated with the web browser to thereby determine a viewport for viewing the hierarchical data structure using the web browser; determining coordinates for nodes in the hierarchical structure based upon relative positions in the hierarchy and a configuration of the viewport; and rendering each node of the data structure defined within the viewport using the parameters for rendering the hierarchical data structure to generate an organizational chart on a display of a computing device using the web browser, wherein for each node an array comprising (x 1 ,y 1 ,x 2 ,y 2 ) is determined, wherein x 1 and y 1 are associated with a starting position and x 2 and y 2 are associated with an ending position.
2. The method of claim 1 further comprising clipping nodes and associated sub-trees that are not visible in the viewport wherein the nodes and edges are rendered separately.
3. The method of claim 1 wherein the starting position is further associated with a first bounds value and the ending position is associated with a second bounds value, wherein bounds values define a bounding box that surrounds a node and all of its children.
4. The method of claim 3 wherein when a bounds value is outside of the viewport the node and associated sub-tree are not drawn.
5. The method of claim 1 wherein determination of position values of each node is iteratively determined, wherein when a node depending on a node having a bounds value outside of the viewport is identified; all dependent nodes are determined to be outside of the viewport therefore not requiring a position to be determined.
6. The method of claim 1 wherein determination of position values of the nodes are iteratively determined, wherein when a node depending on a node have a bounds value outside of the viewport is identified, all dependent nodes are determined to be outside of the viewport are clipped.
7. The method of claim 1 wherein the nodes are rendered by a first rendering method and edges of the nodes are rendered by a second rendering method different from the first rendering method.
8. The method of claim 1 further comprising determining an input to a user interface, wherein the input changes the viewport on the hierarchical data.
9. The method of claim 8 wherein an ending position value is copied to a starting position values and new ending position values are determined.
10. The method of claim 1 further comprising determining a change in zoom level of the hierarchical data structure, wherein the change in zoom level modifies the viewport of the data, wherein node positions are re-determined in response to the change.
11. The method of claim 1 wherein the nodes are rendered using one or more canvases selected from a group comprising: HTML injection canvas HTML canvas; HTML5 canvas; VML injection canvas; and SVG canvas.
12. The method of claim 1 wherein for each zoom level associated data is retrieved from the human resources management software, wherein higher levels of zoom provide more detail for each node in the organization chart.
13. The method of claim 1 where in each node may represent a person within an organization and their relative position is determined based upon their organizational position and reporting structure to other people within the organization.
14. The method of claim 1 wherein edges of the node are determined, wherein if an edge of a node is within a bounding box the edge is rendered.
15. The method of claim 14 wherein if an edge of a node is outside of the bounding box it is determined if children nodes associated with a sub-tree of the node are within the bounding box, wherein nodes that are within the bounding box are rendered and nodes outside of the bounding box are clipped.
16. The method of claim 1 wherein additional node data is retrieved and rendered after rendering of the node and node edges.
17. The method of claim 1 further comprising: determining a bounding box for a current node and a sub-tree of associated nodes; determining if the node is within the viewport; rendering the node; determining if node edges are within the bounding box; wherein if an edge of the node is outside of the bounding box determining if child nodes in the sub-tree are within the viewport wherein child nodes with edges within the viewport are rendered; rendering edges of the node within the viewport; retrieving additional data for each node once all nodes within the viewport are rendered; and rendering the additional data for each node.
18. A non-transitory computer readable memory containing instructions for rendering hierarchical data structures via a web server that generates and displays web pages for a web browser which when executed by a processor perform: retrieving node data from a datastore of the web server, the datastore associated with a human resources management software residing on the web server, each item of node data representing an employee within an organization defining a hierarchical data structure; determining parameters associated with the web browser to thereby determine a viewport for viewing the hierarchical data structure using the web browser; determining coordinates for nodes in the hierarchical structure based upon relative positions in the hierarchy and a configuration of the viewport; rendering each node of the data structure defined within the viewport using the parameters for rendering the hierarchical data structure to generate an organizational chart on a display of a computing device using the web server, wherein for each node an array comprising (x 1 ,y 1 ,x 2 ,y 2 ) is determined, wherein x 1 and y 1 are associated with a starting position and x 2 and y 2 are associated with an ending position.
Unknown
February 6, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.