IP Library Granted Patent US 10,754,831
Granted Patent B2
US 10,754,831 · App. 15/496,894 · Granted Aug 25, 2020

Generating a hierarchical data structure

Inventors: Xiaoyu Xie (Redwood City, CA); Roojuta Lalani (Fremont, CA); Rasik Phalak (Fremont, CA)
Assignee: salesforce.com, inc.
G06F16/211G06F16/2246G06F16/282
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,754,831
App. No.
15/496,894
Granted
Aug 25, 2020
Kind
B2
Abstract

A method and system for generating a hierarchical data structure is described. The hierarchical data structure is comprised of a plurality of nodes, wherein each node represents a record. The system monitors the generation of the hierarchical data structure to determine if the number of nodes in the hierarchical data structure exceeds a predetermined maximum number of nodes for the hierarchical data structure. The maximum number of nodes is independent of a width and a height of the hierarchical data structure. The system generates a notification in response to a determination that the number of nodes in the hierarchical data structure exceeds the maximum number of nodes.

Claims (74)

1. A method comprising:

determining, by a database system, a maximum number of nodes for a first hierarchical data structure based on performance metrics measured from a plurality of performance tests performed on at least a second hierarchical data structure, the maximum number of nodes being independent of a width and a height of the first hierarchical data structure;

generating, by the database system, the first hierarchical data structure comprised of a plurality of nodes, each node representing a record;

determining, by the database system, if a number of nodes in the first hierarchical data structure exceeds the predetermined maximum number of nodes;

generating, by the database system, a notification in response to a determination that the number of nodes in the hierarchical data structure exceeds the predetermined maximum number of nodes.

2. The method of claim 1 , further comprising:

receiving, by the database system, an update to at least one of the plurality of nodes of the first hierarchical data structure;

identifying, by the database system, the number of nodes of the plurality of nodes within the first hierarchical data structure that need to be updated in response to the received update;

updating, by the database system, the identified nodes of the first hierarchical data structure with the received update.

3. The method of claim 1 , further comprising:

receiving, by the database system, a request to perform an operation on the generated first hierarchical data structure;

denying, by the database system, the request to perform the operation when the number of nodes in the first hierarchical data structure exceeds the maximum number of nodes.

4. The method of claim 3 , wherein the operation is at least one of updating the first hierarchical data structure, querying the first hierarchical data structure and mining the first hierarchical data structure.

5. The method of claim 1 , further comprising:

receiving, by the database system, a request to add at least one new node to the first hierarchical data structure;

updating, by the database system, the first hierarchical data structure to add the at least one new node;

monitoring, by the database system, the updating of the first hierarchical data structure to determine if the updated number of nodes in the first hierarchical data structure exceeds the maximum number of nodes;

generating, by the database system, a notification in response to a determination that the updated number of nodes in the first hierarchical data structure exceeds the maximum number of nodes.

6. The method of claim 2 , further comprising:

synchronously updating, by the database system, the identified nodes of the first hierarchical data structure when the number of nodes is at least one of less than and equal to the maximum number of nodes; and

asynchronously updating, by the database system, the identified nodes of the first hierarchal data structure when the number of nodes is greater than the maximum number of nodes.

7. The method of claim 5 , further comprising:

synchronously updating, by the database system, the first hierarchal data structure when the updated number of nodes is at least one of less than and equal to the maximum number of nodes; and

asynchronously updating, by the database system, the first hierarchal data structure when the updated number of nodes is greater than the maximum number value.

8. A system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, causes the one or more processors to:

determine a maximum number of nodes for a first hierarchical data structure based on performance metrics measured from a plurality of performance tests performed on at least a second hierarchical data structure, the maximum number of nodes being independent of a width and a height of the first hierarchical data structure;

generate the first hierarchical data structure comprised of a plurality of nodes, each node representing a record;

determine if a number of nodes in the first hierarchical data structure exceeds the predetermined maximum number of nodes;

generate a notification in response to a determination that the number of nodes in the hierarchical data structure exceeds the predetermined maximum number of nodes.

9. The system of claim 8 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

receive an update to at least one of the plurality of nodes of the first hierarchical data structure;

identify the number of nodes of the plurality of nodes within the first hierarchical data structure that need to be updated in response to the received update;

update the identified nodes of the first hierarchical data structure with the received update.

10. The system of claim 8 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

receive a request to perform an operation on the generated first hierarchical data structure;

deny the request to perform the operation when the number of nodes in the first hierarchical data structure exceeds the maximum number of nodes.

11. The system of claim 10 , wherein the operation is at least one of updating the first hierarchical data structure, querying the first hierarchical data structure and mining the first hierarchical data structure.

12. The system of claim 8 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

receive a request to add at least one new node to the first hierarchical data structure;

update the hierarchical data structure to add the at least one new node;

monitoring the updating of the first hierarchical data structure to determine if the updated number of nodes in the first hierarchical data structure exceeds the maximum number of nodes;

generate a notification in response to a determination that the updated number of nodes in the first hierarchical data structure exceeds the maximum number of nodes.

13. The system of claim 9 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

synchronously update the identified nodes of first hierarchical data structure when the number of nodes is at least one of less than and equal to the maximum number of nodes; and

asynchronously update the identified nodes of the first hierarchal data structure when the number of nodes is greater than the maximum number of nodes.

14. The system of claim 12 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

synchronously update the first hierarchal data structure when the updated number of nodes is at least one of less than and equal to the maximum number of nodes; and

asynchronously update the first hierarchal data structure when the updated number of nodes is greater than the maximum number value.

15. A computer program product comprising a non-transitory computer readable medium having computer-readable program code instructions stored thereon, the instructions being executed by one or more processors, the program code including instructions to:

determine a maximum number of nodes for a first hierarchical data structure based on performance metrics measured from a plurality of performance tests performed on at least a second hierarchical data structure, the maximum number of nodes being independent of a width and a height of the first hierarchical data structure;

generate the first hierarchical data structure comprised of a plurality of nodes, each node representing a record;

determine if a number of nodes in the first hierarchical data structure exceeds the predetermined maximum number of nodes;

generate a notification in response to a determination that the number of nodes in the hierarchical data structure exceeds the predetermined maximum number of nodes.

16. The computer program product of claim 15 , wherein the program code includes further instructions to:

receive an update to at least one of the plurality of nodes of the first hierarchical data structure;

identify the number of nodes of the plurality of nodes within the first hierarchical data structure that need to be updated in response to the received update;

update the identified nodes of the first hierarchical data structure with the received update.

17. The computer program product of claim 15 , wherein the program code includes further instructions to:

receive a request to perform an operation on the generated first hierarchical data structure;

deny the request to perform the operation when the number of nodes in the first hierarchical data structure exceeds the maximum number of nodes.

18. The computer program product of claim 17 , wherein the operation is at least one of updating the first hierarchical data structure, querying the first hierarchical data structure and mining the first hierarchical data structure.

19. The computer program product of claim 15 , wherein the program code includes further instructions to:

receive a request to add at least one new node to the first hierarchical data structure;

update the first hierarchical data structure to add the at least one new node;

monitoring the updating of the first hierarchical data structure to determine if the updated number of nodes in the first hierarchical data structure exceeds the maximum number of nodes;

generate a notification in response to a determination that the updated number of nodes in the first hierarchical data structure exceeds the maximum number of nodes.

20. The computer program product of claim 16 , wherein the program code includes further instructions to:

synchronously update the identified nodes of the first hierarchical data structure when the number of nodes is at least one of less than and equal to the maximum number of nodes; and

asynchronously update the identified nodes of the first hierarchal data structure when the number of nodes is greater than the maximum number of nodes.

21. The computer program product of claim 19 , wherein the program code includes further instructions to:

synchronously update the first hierarchal data structure when the updated number of nodes is at least one of less than and equal to the maximum number of nodes; and

asynchronously update the first hierarchal data structure when the updated number of nodes is greater than the maximum number value.

Assignments (2)
CHANGE OF NAME Recorded Oct 9, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065190/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2017
From: XIE, XIAOYU; LALANI, ROOJUTA; PHALAK, RASIK
To: SALESFORCE.COM, INC.
Reel/Frame 042141/0684 →
Continuity (1)
Related Publication 20180307709A1 · Oct 25, 2018