IP Library Granted Patent US 11,467,866
Granted Patent B2
US 11,467,866 · App. 15/882,194 · Granted Oct 11, 2022

Scheduling framework for organization migrations

Inventors: Chen Liu (San Mateo, CA); Ilya Zaslavsky (Toronto, CA); Alex Ovesea (Maple, CA); Mikhail Chainani (San Francisco, CA); Xiaodan Wang (Dublin, CA); Sridevi Gopala Krishnan (Foster City, CA)
Assignee: Salesforce.com, Inc.
G06F9/4856G06F3/067G06F3/0647G06F9/45558G06F11/3006G06F11/3442G06F2009/4557
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,467,866
App. No.
15/882,194
Granted
Oct 11, 2022
Kind
B2
Abstract

A request for an organization migration to move application data and application services of an organization hosted at a source system instance in a multi-tenant computing system to a target system instance in the multi-tenant computing system is received. Based on operational parameters, a time window is selected to execute the organization migration. Computing resource usages of one or both of the source and target system instances in the selected time window are monitored. If computing resources are available, the organization migration is enqueued.

Claims (37)

1. A computer-implemented method, comprising:

receiving a request for an organization migration to move complete application data and application services of a specific organization accessed by first users and hosted at a source system instance in a multi-tenant computing system to a target system instance in the multi-tenant computing system, wherein second complete application data and second application services of a second organization different from the specific organization are accessed by second users different from the first users and hosted at the source system instance;

based at least in part on operational parameters set forth in the request for the requested organization migration, selecting a time window to execute a set of migration specific actions in the organization migration;

monitoring computing resource usages of one or both of the source system instance and the target system instance in the multi-tenant computing system in the selected time window to execute the set of migration specific actions in the organization migration;

in response to determining, based at least in part on the monitored computing resource usages in the time window, that computing resources are available, enqueuing the organization migration for carrying out the organization migration to move the complete application data and the application services of the specific organization from the source system instance to the target system instance in the selected time window while keeping the second complete application data and application services of the second organization in the source system instance;

wherein the requested organization migration is in a plurality of requested organization migrations that are scheduled to be migrated within the selected time window; wherein two or more requested organization migrations including the requested organization migration are grouped in a batch that is enqueued at one time;

wherein the plurality of requested organization migrations is grouped into multiple batches with different priorities based at least in part on a schedule policy and respective operational parameters specified for individual requested organization migrations in the plurality of requested organization migrations.

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

validating the operational parameters in the request for the organization migration before enqueuing the organization migration.

3. The method as recited in claim 1 , wherein the organization migration is enqueued in response to determining that enqueuing is allowed with a database node used by the target system instance to provide database services to one or more data partitions designated to host the migrated application data of the organization.

4. The method as recited in claim 1 , further comprising throttling enqueuing organization migrations in the selected time window to prevent overloading one or both of the source system instance and the target system instance.

5. The method as recited in claim 1 , wherein a migration user is provided with a single user interface to schedule, reschedule, update, delete, or monitor one or more requested organization migrations.

6. One or more non-transitory computer readable media storing a program of instructions that is executable by a device to perform:

receiving a request for an organization migration to move complete application data and application services of a specific organization accessed by first users and hosted at a source system instance in a multi-tenant computing system to a target system instance in the multi-tenant computing system, wherein second complete application data and second application services of a second organization different from the specific organization are accessed by second users different from the first users and hosted at the source system instance;

based at least in part on operational parameters set forth in the request for the requested organization migration, selecting a time window to execute a set of migration specific actions in the organization migration;

monitoring computing resource usages of one or both of the source system instance and the target system instance in the multi-tenant computing system in the selected time window to execute the set of migration specific actions in the organization migration;

in response to determining, based at least in part on the monitored computing resource usages in the time window, that computing resources are available, enqueuing the organization migration for carrying out the organization migration to move the complete application data and the application services of the specific organization from the source system instance to the target system instance in the selected time window while keeping the second complete application data and application services of the second organization in the source system instance;

wherein the requested organization migration is in a plurality of requested organization migrations that are scheduled to be migrated within the selected time window; wherein two or more requested organization migrations including the requested organization migration are grouped in a batch that is enqueued at one time;

wherein the plurality of requested organization migrations is grouped into multiple batches with different priorities based at least in part on a schedule policy and respective operational parameters specified for individual requested organization migrations in the plurality of requested organization migrations.

7. The media as recited in claim 6 , wherein the program of instructions is executable by a device to further perform: validating the operational parameters in the request for the organization migration before enqueuing the organization migration.

8. The media as recited in claim 6 , wherein the organization migration is enqueued in response to determining that enqueuing is allowed with a database node used by the target system instance to provide database services to one or more data partitions designated to host the migrated application data of the organization.

9. The media as recited in claim 6 , wherein the program of instructions is executable by a device to further perform: throttling enqueuing organization migrations in the selected time window to prevent overloading one or both of the source system instance and the target system instance.

10. The media as recited in claim 6 , wherein a migration user is provided with a single user interface to schedule, reschedule, update, delete, or monitor one or more requested organization migrations.

11. A system, comprising:

one or more computing processors;

one or more non-transitory computer readable media storing a program of instructions that is executable by the one or more computing processors to perform:

receiving a request for an organization migration to move complete application data and application services of a specific organization accessed by first users and hosted at a source system instance in a multi-tenant computing system to a target system instance in the multi-tenant computing system, wherein second complete application data and second application services of a second organization different from the specific organization are accessed by second users different from the first users and hosted at the source system instance;

based at least in part on operational parameters set forth in the request for the requested organization migration, selecting a time window to execute a set of migration specific actions in the organization migration;

monitoring computing resource usages of one or both of the source system instance and the target system instance in the multi-tenant computing system in the selected time window to execute the set of migration specific actions in the organization migration;

in response to determining, based at least in part on the monitored computing resource usages in the time window, that computing resources are available, enqueuing the organization migration for carrying out the organization migration to move the complete application data and the application services of the specific organization from the source system instance to the target system instance in the selected time window while keeping the second complete application data and application services of the second organization in the source system instance;

wherein the requested organization migration is in a plurality of requested organization migrations that are scheduled to be migrated within the selected time window; wherein two or more requested organization migrations including the requested organization migration are grouped in a batch that is enqueued at one time;

wherein the plurality of requested organization migrations is grouped into multiple batches with different priorities based at least in part on a schedule policy and respective operational parameters specified for individual requested organization migrations in the plurality of requested organization migrations.

12. The system as recited in claim 11 , wherein the program of instructions is executable by a device to further perform: validating the operational parameters in the request for the organization migration before enqueuing the organization migration.

13. The system as recited in claim 11 , wherein the organization migration is enqueued in response to determining that enqueuing is allowed with a database node used by the target system instance to provide database services to one or more data partitions designated to host the migrated application data of the organization.

14. The system as recited in claim 11 , wherein the program of instructions is executable by a device to further perform:

throttling enqueuing organization migrations in the selected time window to prevent overloading one or both of the source system instance and the target system instance.

15. The system as recited in claim 11 , wherein a migration user is provided with a single user interface to schedule, reschedule, update, delete, or monitor one or more requested organization migrations.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0318 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2018
From: LIU, CHEN; ZASLAVSKY, ILYA; OVESEA, ALEX; CHAINANI, MIKHAIL; WANG, XIAODAN; KRISHNAN, SRIDEVI GOPALA
To: SALESFORCE.COM, INC.
Reel/Frame 044830/0863 →
Continuity (1)
Related Publication 20190235918A1 · Aug 1, 2019
Cited By (1)
US 12,386,795