Methods and systems for providing schema layout in an on-demand services environment
First Claim
1. A method for placing data objects of a database schema using an online tool, the method comprising:
- receiving input at a system, about a schema, the system including at least a processor system having at least a processor, and a memory system having one or more computer readable media;
determining, by the processor system, relationships between objects of the schema;
determining, by the system, positions on a graphical canvas of graphical representations of the objects based on the relationships between the objects by at least performing an iterative computation having one or more iterations,for each iteration, computing a net force on each graphical representation of one of the objects, for each object, after a net force is computed for that graphical representation, checking if a sum of an absolute value of a first component of the net force and an absolute value of a second component of the net force that is orthogonal to first component is less than a threshold value;
if the sum is less than the threshold, not updating the position; and
if the sum is greater than the threshold, updating the position;
wherein the computation reduces the net forces on the graphical representation of the objects; and
automatically displaying the positions of each graphical representation of one the objects on a graphical canvas.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for automatically arranging graphical representations of objects on a canvas. Optionally, the automatic arrangement of the graphical representation of the object may be performed in an on demand, multi-tenant database as part of a tool for creating and displaying schema. A data object with more connections to other data objects may tend to be placed closer to other objects, where as data objects with fewer connections may tend to be placed further apart. The algorithm for placement is based on computations of pseudo-forces between objects. The pseudo force on an object from all other objects is calculated in a given time step and when the force is less than a threshold value, the positions of the objects is updated based on the forces. When the computed displacements are less than a threshold, the objects are in equilibrium.
235 Citations
17 Claims
-
1. A method for placing data objects of a database schema using an online tool, the method comprising:
-
receiving input at a system, about a schema, the system including at least a processor system having at least a processor, and a memory system having one or more computer readable media; determining, by the processor system, relationships between objects of the schema; determining, by the system, positions on a graphical canvas of graphical representations of the objects based on the relationships between the objects by at least performing an iterative computation having one or more iterations, for each iteration, computing a net force on each graphical representation of one of the objects, for each object, after a net force is computed for that graphical representation, checking if a sum of an absolute value of a first component of the net force and an absolute value of a second component of the net force that is orthogonal to first component is less than a threshold value; if the sum is less than the threshold, not updating the position; and if the sum is greater than the threshold, updating the position; wherein the computation reduces the net forces on the graphical representation of the objects; and automatically displaying the positions of each graphical representation of one the objects on a graphical canvas. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17)
-
-
5. A non-transitory computer readable media storing one or more machine instructions, which when invoked carry out a method comprising:
-
receiving input at a system, about a schema, the system including at least a processor system having at least a processor, and a memory system having one or more computer readable media;
determining, by the processor system, relationships between objects of the schema;determining, by the system, positions on a graphical canvas of graphical representations of the objects based on the relationships between the objects by at least performing an iterative computation having one or more iterations, for each iteration, computing a net force on each graphical representation of one of the objects, for each object, after a net force is computed for that graphical representation, checking if a sum of an absolute value of a first component of the net force and an absolute value of a second component of the net force that is orthogonal to first component is less than a threshold value; if the sum is less than the threshold, not updating the position; and if the sum is greater than the threshold, updating the position; wherein the computation reduces the net forces on the graphical representation of the objects; and automatically displaying the positions of each graphical representation of one the objects on a graphical canvas.
-
-
14. A system comprising:
-
a processor system including at least one processor; an interface for connection with a network; and a memory system storing a schema and an algorithm for determining position of objects in the schema and placing the objects on a canvas, the algorithm implementing a method including at least receiving input at a system, about a schema, the system including at least a processor system having at least a processor, and a memory system having one or more computer readable media;
determining, by the processor system, relationships between objects of the schema;determining, by the system, positions on a graphical canvas of graphical representations of the objects based on the relationships between the objects by at least performing an iterative computation having one or more iterations, for each iteration, computing a net force on each graphical representation of one of the objects, for each object, after a net force is computed for that graphical representation, checking if a sum of an absolute value of a first component of the net force and an absolute value of a second component of the net force that is orthogonal to first component is less than a threshold value; if the sum is less than the threshold, not updating the position; and if the sum is greater than the threshold, updating the position; wherein the computation reduces the net forces on the graphical representation of the objects; and automatically displaying the positions of each graphical representation of one the objects on a graphical canvas.
-
Specification