IP Library Granted Patent US 11,093,294
Granted Patent B2
US 11,093,294 · App. 16/749,456 · Granted Aug 17, 2021

Load balancing through autonomous organization migration

Inventors: Xiaodan Wang (Dublin, CA); Ilya Zaslavsky (San Francisco, CA); Prakash Ramaswamy (San Francisco, CA); Sridevi Gopala Krishnan (San Francisco, CA); Mikhail Chainani (San Francisco, CA); Scott Ware (San Francisco, CA); Lauren Valdivia (San Francisco, CA)
Assignee: Salesforce.com, Inc.
G06F9/505G06F9/3891G06F9/4856G06F9/5072
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,093,294
App. No.
16/749,456
Granted
Aug 17, 2021
Kind
B2
Abstract

A request may be received to migrate an organization from a first computing pod to a second computing pod located within an on-demand computing services organization configured to provide computing services. A migration resource utilization profile may be determined for the first computing pod. The migration resource utilization profile may identify one or more computing resources involved in transferring organizations from the first computing pod during one or more time windows. A migration time window for performing the requested migration may be selected based at least in part on the migration resource utilization profile.

Claims (53)

1. A method comprising:

receiving a request to migrate a designated organization away from a first computing pod located within an on-demand computing services organization configured to provide computing services to a plurality of organizations;

selecting a second computing pod as a destination based on a comparison of computing resource utilization by the designated organization with computing resource availability at a plurality of candidate pods;

determining a migration resource utilization profile for the first computing pod identifying one or more computing resources involved in transferring the designated organization from the first computing pod during one or more time windows;

selecting a migration time window for performing the requested migration based at least in part on the migration resource utilization profile;

determining a designated migration time within the migration time window based at least in part on a migration instruction message received from the designated organization; and

migrating the designated organization from the first computing pod to the second computing pod at the designated migration time at least in part by transmitting a data snapshot from the first computing pod to the second pod.

2. The method recited in claim 1 , the method further comprising:

capturing the data snapshot, the data snapshot including associated with the designated organization and stored on the first computing pod.

3. The method recited in claim 2 , the method further comprising:

copying the data from the data snapshot to the second pod.

4. The method recited in claim 1 , the method further comprising:

determining a migration tax for the computing pod, the migration tax measuring a computing cost associated with migrating one or more organizations away from the computing pod.

5. The method recited in claim 4 , wherein the migration time window is selected at least in part based on the migration tax.

6. The method recited in claim 1 , the method further comprising:

prior to the selected migration time window capturing a live change to data associated with the designated organization at the first computing pod via a change data capture bus.

7. The method recited in claim 6 , the method further comprising:

transmitting the live change from the change data capture bus to the second computing pod.

8. The method recited in claim 7 , the method further comprising:

implementing the live change at the second computing pod.

9. The method recited in claim 1 , wherein the migration resource utilization profile is determined separately for each of the one or more time windows, the one or more time windows including a plurality of time windows.

10. The method recited in claim 1 , the method further comprising:

selecting a designated transfer time to migrate the designated organization, the designated transfer time falling within the migration time window, the designated transfer time selected based in part on one or more migration preferences associated with the designated organization.

11. A computing system comprising:

a communication interface configured to receive a request to migrate a designated organization away from a first computing pod located within an on-demand computing services organization configured to provide computing services to a plurality of organizations;

a processor configured to:

select a second computing pod as a destination based on a comparison of computing resource utilization by the designated organization with computing resource availability at a plurality of candidate pods,

determine a migration resource utilization profile for the first computing pod identifying one or more computing resources involved in transferring the designated organization from the first computing pod during one or more time windows,

select a migration time window for performing the requested migration based at least in part on the migration resource utilization profile, and

determine a designated migration time within the migration time window based at least in part on a migration instruction message received from the designated organization; and

a migration engine configured to migrate the designated organization from the first computing pod to the second computing pod at the designated migration time at least in part by transmitting a data snapshot from the first computing pod to the second pod.

12. The computing device recited in claim 11 , the method further comprising:

capturing the data snapshot, the data snapshot including associated with the designated organization and stored on the first computing pod.

13. The computing device recited in claim 12 , the method further comprising:

copying the data from the data snapshot to the second pod.

14. The computing device recited in claim 11 , the method further comprising:

determining a migration tax for the computing pod, the migration tax measuring a computing cost associated with migrating one or more organizations away from the computing pod, wherein the migration time window is selected at least in part based on the migration tax.

15. The computing device recited in claim 11 , the method further comprising:

prior to the selected migration time window capturing a live change to data associated with the designated organization at the first computing pod via a change data capture bus;

transmitting the live change from the change data capture bus to the second computing pod; and

implementing the live change at the second computing pod.

16. One or more non-transitory computer-readable media having instructions stored thereon for performing a method, the method comprising:

receiving a request to migrate a designated organization away from a first computing pod located within an on-demand computing services organization configured to provide computing services to a plurality of organizations;

selecting a second computing pod as a destination based on a comparison of computing resource utilization by the designated organization with computing resource availability at a plurality of candidate pods;

determining a migration resource utilization profile for the first computing pod identifying one or more computing resources involved in transferring the designated organization from the first computing pod during one or more time windows;

selecting a migration time window for performing the requested migration based at least in part on the migration resource utilization profile;

determining a designated migration time within the migration time window based at least in part on a migration instruction message received from the designated organization; and

migrating the designated organization from the first computing pod to the second computing pod at the designated migration time at least in part by transmitting a data snapshot from the first computing pod to the second pod.

17. The one or more non-transitory computer-readable media recited in claim 16 , the method further comprising:

capturing the data snapshot, the data snapshot including associated with the designated organization and stored on the first computing pod; and

copying the data from the data snapshot to the second pod.

18. The one or more non-transitory computer-readable media recited in claim 16 , the method further comprising:

determining a migration tax for the computing pod, the migration tax measuring a computing cost associated with migrating one or more organizations away from the computing pod, wherein the migration time window is selected at least in part based on the migration tax.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2020
From: WANG, XIAODAN; ZASLAVSKY, ILYA; RAMASWAMY, PRAKASH; KRISHNAN, SRIDEVI GOPALA; CHAINANI, MIKHAIL; WARE, SCOTT; VALDIVIA, LAUREN
To: SALESFORCE.COM, INC.
Reel/Frame 051586/0928 →
Continuity (1)
Related Publication 20210224115A1 · Jul 22, 2021
Cited By (1)
US 12,417,217