IP Library Granted Patent US 11,601,495
Granted Patent B2
US 11,601,495 · App. 16/779,418 · Granted Mar 7, 2023

Mechanism for a work node scan process to facilitate cluster scaling

Inventors: Yogesh Patel (Dublin, CA); Percy Mehta (Foster City, CA); Shardul Vikram (San Jose, CA); Mattia Padovani (San Francisco, CA)
Assignee: salesforce.com, inc.
H04L67/10G06F9/4881G06F9/5077G06F16/2246H04W4/029H04W24/10
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 11,601,495
App. No.
16/779,418
Granted
Mar 7, 2023
Kind
B2
Abstract

A method and system that perform cluster node work assignments for tenants in a multi-tenant system. The method includes selecting a partition of a cluster tenant tracking structure having a hierarchical namespace and virtual nodes representing each tenant by a cluster node foreman controller, searching the selected partition for a tenant that is unlocked in the cluster tenant tracking structure, and initiating work for the tenant by the cluster node.

Claims (35)

1. A method of cluster node work assignment for tenants in a multi-tenant system, the method comprising:

selecting, by a foreman controller of a cluster node, a partition of a cluster tenant tracking structure having a hierarchical namespace and virtual nodes representing each tenant of the multi-tenant system;

searching the selected partition for a tenant of the multi-tenant system that is unlocked in the cluster tenant tracking structure; and

initiating work for the unlocked tenant by the cluster node.

2. The method of cluster node work assignment of claim 1 , wherein selecting the partition is in response to expiration of a timer for the cluster node, or an increase in work capacity of the cluster node.

3. The method of cluster node work assignment of claim 1 , wherein the cluster tenant tracking structure is a tree of the virtual nodes with the hierarchical namespace, and the partition is a sub-tree of the tree.

4. The method of cluster node work assignment of claim 3 , wherein the virtual nodes indicate whether a tenant is assigned to the cluster node.

5. The method of cluster node work assignment of claim 1 , further comprising:

receiving notification of a tenant joining a cluster of the cluster node by a cluster node manager.

6. The method of cluster node work assignment of claim 5 , further comprising:

assigning the tenant to a partition of the cluster tenant tracking structure by the cluster node manager.

7. The method of cluster node work assignment of claim 1 , wherein selecting the partition for cluster tenant tracking structure is by round robin.

8. A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising:

selecting, by a foreman of a cluster node, a partition of a cluster tenant tracking structure having a hierarchical namespace and virtual nodes representing each tenant of a plurality of tenants;

searching the selected partition for a tenant, of the plurality of tenants, that is unlocked in the cluster tenant tracking structure; and

initiating work for the unlocked tenant by the cluster node.

9. The non-transitory machine-readable storage medium of claim 8 , wherein selecting the partition is in response to expiration of a timer for the cluster node, or an increase in work capacity of the cluster node.

10. The non-transitory machine-readable storage medium of claim 8 , wherein the cluster tenant tracking structure is a tree of virtual nodes with the hierarchical namespace, and the partition is a sub-tree of the tree.

11. The non-transitory machine-readable storage medium of claim 10 , wherein the virtual nodes indicate whether a tenant is assigned to the cluster node.

12. The non-transitory machine-readable storage medium of claim 8 , the operations further comprising:

receiving notification of a tenant joining a cluster of the cluster node by a cluster node manager.

13. The non-transitory machine-readable storage medium of claim 12 , the operations further comprising:

assigning the tenant to a partition of the cluster tenant tracking structure by the cluster node manager.

14. The non-transitory machine-readable storage medium of claim 8 , wherein selecting the partition for cluster tenant tracking structure is by round robin.

15. A computing device in a multi-tenant environment, the computing device comprising:

a non-transitory machine-readable medium having stored therein a foreman controller of a cluster node; and

a processor coupled to the non-transitory machine-readable medium, the processor to execute the cluster node and the foreman controller, the foreman controller to select a partition of a cluster tenant tracking structure having a hierarchical namespace and virtual nodes representing each tenant of the multi-tenant environment, search the selected partition for a tenant of the multi-tenant environment that is unlocked in the cluster tenant tracking structure, and initiate work for the unlocked tenant by the cluster node.

16. The computing device of claim 15 , wherein selecting the partition is in response to expiration of a timer for the cluster node, or an increase in work capacity of the cluster node.

17. The computing device of claim 15 , wherein the cluster tenant tracking structure is a tree of virtual nodes with the hierarchical namespace, and the partition is a sub-tree of the tree.

18. The computing device of claim 17 , wherein the virtual nodes indicate whether a tenant is assigned to the cluster node.

19. The computing device of claim 15 , further comprising:

a cluster node manager to receive notification of a tenant joining a cluster of the cluster node.

20. The computing device of claim 19 , further comprising:

a cluster node manager to assign the tenant to a partition of the cluster tenant tracking structure by the cluster node manager.

21. The computing device of claim 15 , wherein selecting the partition for cluster tenant tracking structure is by round robin.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2020
From: PATEL, YOGESH; MEHTA, PERCY; VIKRAM, SHARDUL; PADOVANI, MATTIA
To: SALESFORCE.COM, INC.
Reel/Frame 051690/0822 →