IP Library › Patent Application 18425346
Patent Application
App. No. 18/425,346

TECHNIQUES FOR IMPLEMENTING FAULT DOMAIN SETS

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 None
App. No.
18/425,346
Abstract

Techniques are disclosed relating to provisioning fault domain sets (FDS). In some embodiments, a computer server system implements an FDS for disseminating a storage service across a plurality of fault domains. To implement the FDS, in some embodiments, the computer server system access FDS data specifying a desired state of the FDS in which the storage service is disseminated across at least a particular number of fault domains. The computer server system may determine available resources of the plurality of fault domains and determine a current state of the FDS based on fault domains that have already been provisioned to the FDS. Based on at least the desired state of the FDS, the current state of the FDS, and the available resources, the computer server system provisions one or more additional fault domains to the FDS to reconcile the FDS's current state with the FDS's desired state.

Claims (36)

1 . A method comprising:

providing, by a container engine, a deployment service involving a cluster of nodes that comprises a plurality of availability domains having respective physically separate resources;

provisioning, by the container engine, one or more pods to one or more of the plurality of availability domains, wherein the one or more pods implement an instance of an application;

accessing, by the container engine, a domain set object comprising a value indicating an allocation of pods across availability domains;

identifying, by the container engine, in a current state of the cluster, a degree to which pods are distributed unevenly across availability domains; and

responsive to identifying the degree to which pods are distributed unevenly across availability domains, reprovisioning, by the container engine, the pods across the availability domains such that the cluster achieves a state where pods are distributed more evenly across availability domains than the current state.

2 . The method of claim 1 , wherein the availability domains are logical groupings of data centers within a region.

3 . The method of claim 1 , further comprising:

in response to deployment of a new version of the application, causing the new version of the application to be distributed across different availability domains.

4 . The method of claim 1 , where the domain set object specifies pods that are groupable together, and/or acceptable asymmetry of distribution of pods across availability domains.

5 . The method of claim 1 , wherein a boundary defines a scope of availability domains across which pods are provisioned such that the domain set object does not conflict with other domain set objects.

6 . The method of claim 1 , wherein the container engine includes a scheduler configured to assign pods to nodes.

7 . The method of claim 6 , wherein the scheduler prioritizes topologies that reduce asymmetry of distribution of the pods across the availability domains.

8 . A container engine implemented using a server system, the container engine configurable to cause:

providing a deployment service involving a cluster of nodes that comprises a plurality of availability domains having respective physically separate resources;

provisioning one or more pods to one or more of the plurality of availability domains, wherein the one or more pods implement an instance of an application;

accessing a domain set object comprising a value indicating an allocation of pods across availability domains;

identifying, in a current state of the cluster, a degree to which pods are distributed unevenly across availability domains; and

responsive to identifying the degree to which pods are distributed unevenly across availability domains, reprovisioning the pods across the availability domains such that the cluster achieves a state where pods are distributed more evenly across availability domains than the current state.

9 . The container engine of claim 8 , wherein the availability domains are logical groupings of data centers within a region.

10 . The container engine of claim 8 , the container engine further configurable to cause, in response to deployment of a new version of the application, the new version of the application to be distributed across different availability domains.

11 . The container engine of claim 8 , where the domain set object specifies pods that are groupable together, and/or acceptable asymmetry of distribution of pods across availability domains.

12 . The container engine of claim 8 , wherein a boundary defines a scope of availability domains across which pods are provisioned such that the domain set object does not conflict with other domain set objects.

13 . The container engine of claim 8 , wherein the container engine includes a scheduler configured to assign pods to nodes.

14 . The container engine of claim 13 , wherein the scheduler prioritizes topologies that reduce asymmetry of distribution of the pods across the availability domains.

15 . A computer program product comprising non-transitory computer-readable program code capable of being executed by one or more processors when retrieved from a non-transitory computer-readable medium, the program code comprising instructions configurable to cause the one or more processors to perform a method comprising:

providing, by a container engine, a deployment service involving a cluster of nodes that comprises a plurality of availability domains having respective physically separate resources;

provisioning, by the container engine, one or more pods to one or more of the plurality of availability domains, wherein the one or more pods implement an instance of an application;

accessing, by the container engine, a domain set object comprising a value indicating an allocation of pods across availability domains;

identifying, by the container engine, in a current state of the cluster, a degree to which pods are distributed unevenly across availability domains; and

responsive to identifying the degree to which pods are distributed unevenly across availability domains, reprovisioning, by the container engine, the pods across the availability domains such that the cluster achieves a state where pods are distributed more evenly across availability domains than the current state.

16 . The computer program product of claim 15 , wherein the availability domains are logical groupings of data centers within a region.

17 . The computer program product of claim 15 , where the domain set object specifies pods that are groupable together, and/or acceptable asymmetry of distribution of pods across availability domains.

18 . The computer program product of claim 15 , wherein a boundary defines a scope of availability domains across which pods are provisioned such that the domain set object does not conflict with other domain set objects.

19 . The computer program product of claim 15 , wherein the container engine includes a scheduler configured to assign pods to nodes.

20 . The computer program product of claim 19 , wherein the scheduler prioritizes topologies that reduce asymmetry of distribution of the pods across the availability domains.

Assignments (2)
CHANGE OF NAME Recorded Aug 4, 2026
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 076118/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2024
From: ZWIEGINCEW, ARTHUR; GRASS, MICHAEL; CHAKERES, IAN; HEGDE, DHIRAJ
To: SALESFORCE.COM, INC.
Reel/Frame 066421/0508 →