High-performance graph rendering in browsers
First Claim
1. A method comprising:
- receiving a set of descriptions for a node and an edge in a graph for rendering the graph by separately processing nodes in a first layer from edges in a second layer and superimposing the first layer and the second layer on top of each other, whereinthe first layer including the node and the second layer including the edge are separately processed;
rendering the graph at least by;
processing the first layer at least by assigning an HTML (hypertext markup language) graphic primitive to the node in the first layer;
processing the second layer at least by assigning a non-HTML graphic primitive to the edge in the second layer;
superimposing the first layer and the second layer into a superimposed layer; and
sending the superimposed layer for rendering the graph.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems for rendering graphs in browsers. A method embodiment for generating and manipulating a high-performance graph in a browser commences by receiving a set of node descriptions of the graph as well as a set of edge descriptions of the graph. In a first display layer, one or more HTML primitives are assigned to the individual ones of the set of nodes. In a second display layer, one or more non-HTML display graphical elements are assigned to the individual ones of the set of edges. The edges and nodes are sorted into a painting order based on size. The first layer and the second layer are combined into an HTML document that comprises at least some of the HTML primitives that correspond to the nodes as well as at least some of the non-HTML display graphical elements that correspond to the edges of the graph. The browser renders the graph.
18 Citations
20 Claims
-
1. A method comprising:
-
receiving a set of descriptions for a node and an edge in a graph for rendering the graph by separately processing nodes in a first layer from edges in a second layer and superimposing the first layer and the second layer on top of each other, wherein the first layer including the node and the second layer including the edge are separately processed; rendering the graph at least by; processing the first layer at least by assigning an HTML (hypertext markup language) graphic primitive to the node in the first layer; processing the second layer at least by assigning a non-HTML graphic primitive to the edge in the second layer; superimposing the first layer and the second layer into a superimposed layer; and sending the superimposed layer for rendering the graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor, causes the processor to perform a set of acts, the set of acts comprising:
-
receiving a set of descriptions for a node and an edge in a graph for rendering the graph by separately processing nodes in a first layer from edges in a second layer and superimposing the first layer and the second layer on top of each other, wherein the first layer including the node and the second layer including the edge are separately processed; rendering the graph at least by; processing the first layer at least by assigning an HTML (hypertext markup language) graphic primitive to the node in the first layer; processing the second layer at least by assigning a non-HTML graphic primitive to the edge in the second layer; superimposing the first layer and the second layer into a superimposed layer; and sending the superimposed layer for rendering the graph. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a non-transitory storage medium having stored thereon a sequence of instructions; and a processor that executes the sequence of instructions to cause the processor to perform a set of acts, the set of acts comprising, receiving a set of descriptions for a node and an edge in a graph for rendering the graph by separately processing nodes in a first layer from edges in a second layer and superimposing the first layer and the second layer on top of each other, wherein the first layer including the node and the second layer including the edge are separately processed; rendering the graph at least by; processing the first layer at least by assigning an HTML (hypertext markup language) graphic primitive to the node in the first layer; processing the second layer at least by assigning a non-HTML graphic element to the edge in the second layer; superimposing the first layer and the second layer into a superimposed layer; and sending the superimposed layer for rendering the graph. - View Dependent Claims (20)
-
Specification