IP Library Granted Patent US 8,793,291
Granted Patent B2
US 8,793,291 · App. 12/943,884 · Granted Jul 29, 2014

System, method and computer program product for deploying an update between environments of a multi-tenant on-demand database system

Inventors: Jonathan Plax (San Francisco, CA); Timothy Kral (San Francisco, CA); Shannon Hale (San Francisco, CA)
Assignee: salesforce.com, inc.
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 8,793,291
App. No.
12/943,884
Granted
Jul 29, 2014
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for deploying updates between environments of a multi-tenant on-demand database system. These mechanisms and methods for deploying updates between environments of a multi-tenant on-demand database system can enable embodiments to provide user-friendly, granular, and/or targeted updates between such environments.

Claims (58)

1. A computer program product embodied on a non-transitory computer readable medium including instructions stored therein which can be used to program a computer to perform any of the processes of the embodiments described below:

changing a portion of an application implemented at a first environment of a multi-tenant on-demand database system to include an update, where the first environment includes a first organization implemented by the multi-tenant on-demand database system;

testing the portion of the application that includes the update to verify a functionality of the update within the first environment;

receiving an indication of a second environment of the multi-tenant on-demand database system to which the update is to be deployed, where the second environment includes a second organization implemented by the multi-tenant on-demand database system;

creating a package that includes the update after verifying the functionality of the update within the first environment;

inserting a row in a table of the second environment in response to receipt of the update, for indicating the receipt of the update and the receipt of the indication that the update is to be deployed to the second environment;

accessing the table to identify the update;

displaying to a user information associated with the update, based on the identification of the update;

receiving from the user a selection instructing a deployment of the package; and

deploying the package including the update to the second environment of the multi-tenant on-demand database system, in response to the selection.

2. The computer program product of claim 1 , wherein the portion of the application includes at least one of user interface code, application logic, and a data model.

3. The computer program product of claim 1 , wherein the first environment includes a sandbox environment utilized for the testing of the update included within the portion of the application at the first environment.

4. The computer program product of claim 1 , wherein the computer program product is operable such that the update is created utilizing a user interface of the multi-tenant on-demand database system.

5. The computer program product of claim 4 , wherein the computer program product is operable such that a user selects the portion of the application into which the update was included at the first environment, utilizing the user interface.

6. The computer program product of claim 1 , wherein the portion of the application includes only a subset of the application to which a change was made at the first environment, such that other portions of the application dependent on the subset of the application are excluded from the update.

7. The computer program product of claim 1 , wherein the second environment includes a production environment at which the application is available for use by at least one tenant of the multi-tenant on-demand database system.

8. The computer program product of claim 1 , wherein the second environment includes a sandbox environment utilized for further testing the update upon implementation at the second environment.

9. The computer program product of claim 1 , wherein the computer program product is operable such that the indication of the second environment is received in response to a selection of the second environment.

10. The computer program product of claim 9 , wherein the computer program product is operable such that the second environment is selected from a predefined list of environments.

11. The computer program product of claim 10 , wherein the predefined list of environments includes at least one environment preconfigured to be authorized to receive updates from the first environment.

12. The computer program product of claim 10 , wherein the computer program product is operable such that the predefined list of environments is stored remotely from the first environment and is remotely accessed by the first environment for the selection.

13. The computer program product of claim 1 , wherein deploying the package to the second environment includes transmitting the package to the second environment for implementing the update to the portion of the application at the second environment.

14. The computer program product of claim 1 , wherein the first organization is specific to a customer of the multi-tenant on-demand database system by the multi-tenant on-demand database system customizing the first organization for the customer and implementing the first organization by the multi-tenant on-demand database system for sole use by the customer.

15. The computer program product of claim 14 , wherein the second organization is associated with the customer.

16. The computer program product of claim 14 , wherein the second organization is associated with another customer.

17. The computer program product of claim 1 , wherein the second organization is a production organization and the first organization is a sandbox organization that is a copy of the production organization by including a copy of data stored at the production organization, such that the sandbox organization is for use in the creation and testing of the update to the portion of the application prior to the deployment and implementation of the package to the production organization.

18. The computer program product of claim 1 , wherein the first organization is a copy of the second organization and includes a copy of all databases, file systems, and applications stored at the second organization.

19. A method, comprising:

changing a portion of an application implemented at a first environment of a multi-tenant on-demand database system to include an update, where the first environment includes a first organization implemented by the multi-tenant on-demand database system;

testing the portion of the application that includes the update to verify a functionality of the update within the first environment, utilizing a hardware processor;

receiving an indication of a second environment of the multi-tenant on-demand database system to which the update is to be deployed, where the second environment includes a second organization implemented by the multi-tenant on-demand database system;

creating a package that includes the update after verifying the functionality of the update within the first environment;

inserting a row in a table of the second environment in response to receipt of the update, for indicating the receipt of the update and the receipt of the indication that the update is to be deployed to the second environment;

accessing the table to identify the update;

displaying to a user information associated with the update, based on the identification of the update;

receiving from the user a selection instructing a deployment of the package; and

deploying the package including the update to the second environment of the multi-tenant on-demand database system, in response to the selection.

20. An apparatus, comprising:

a processor for:

changing a portion of an application implemented at a first environment of a multi-tenant on-demand database system to include an update, where the first environment includes a first organization implemented by the multi-tenant on-demand database system;

testing the portion of the application that includes the update to verify a functionality of the update within the first environment;

receiving an indication of a second environment of the multi-tenant on-demand database system to which the update is to be deployed, where the second environment includes a second organization implemented by the multi-tenant on-demand database system;

creating a package that includes the update after verifying the functionality of the update within the first environment;

inserting a row in a table of the second environment in response to receipt of the update, for indicating the receipt of the update and the receipt of the indication that the update is to be deployed to the second environment;

accessing the table to identify the update;

displaying to a user information associated with the update, based on the identification of the update;

receiving from the user a selection instructing a deployment of the package; and

deploying the package including the update to the second environment of the multi-tenant on-demand database system, in response to the selection.

21. A method for transmitting code, comprising:

transmitting code to change a portion of an application implemented at a first environment of a multi-tenant on-demand database system to include an update, where the first environment includes a first organization implemented by the multi-tenant on-demand database system;

transmitting code to test the portion of the application that includes the update to verify a functionality of the update within the first environment, utilizing a hardware processor;

transmitting code to receive an indication of a second environment of the multi-tenant on-demand database system to which the update is to be deployed, where the second environment includes a second organization implemented by the multi-tenant on-demand database system;

transmitting code to create a package that includes the update after verifying the functionality of the update within the first environment;

transmitting code to insert a row in a table of the second environment in response to receipt of the update, for indicating the receipt of the update and the receipt of the indication that the update is to be deployed to the second environment;

transmitting code to access the table to identify the update;

transmitting code to display to a user information associated with the update, based on the identification of the update;

transmitting code to receive from the user a selection instructing a deployment of the package; and

transmitting code to deploy the package including the update to the second environment of the multi-tenant on-demand database system, in response to the selection.

Assignments (2)
CHANGE OF NAME Recorded Oct 24, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069270/0655 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2010
From: PLAX, JONATHAN; KRAL, TIMOTHY; HALE, SHANNON
To: SALESFORCE.COM, INC.
Reel/Frame 025357/0076 →
Continuity (2)
Provisional Application 61313988 · Mar 15, 2010
Related Publication 20110225217A1 · Sep 15, 2011