IP Library Granted Patent US 10,482,425
Granted Patent B2
US 10,482,425 · App. 12/569,603 · Granted Nov 19, 2019

Techniques for managing functionality changes of an on-demand database system

Inventors: Eric D. Bezar (Berkeley, CA); Sonali Agrawal (San Francisco, CA); Varadarajan Rajaram (San Francisco, CA); Walter Macklem (San Francisco, CA); Jill Blue Lin (San Francisco, CA); Sriram Gopalan (Foster City, CA); Sandip Ghosh (San Francisco, CA)
Assignee: salesforce.com, inc.
G06Q10/10G06F11/3672G06F16/21
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 10,482,425
App. No.
12/569,603
Granted
Nov 19, 2019
Kind
B2
Abstract

In accordance with embodiments, there are provided techniques for managing functionality changes of an on-demand database system. The techniques facilitate implementing changes to the database system while minimizing work flow reductions to users of the database system. To that end, one embodiment of the present invention delays implementation of the changes to provide users of the system an opportunity to adjust behavioral interaction with the database. In accordance with another embodiment of the present invention, users may implement the functional changes to determine any adverse impact on work flow, before the functional changes become permanent. In another embodiment, the user may be afforded an opportunity to selectively enable and disable the functionality changes before the duration expires.

Claims (32)

1. A method for managing functional changes to an on-demand database system on behalf of an owner of the on-demand database system and which may affect multiple tenant-specific production environments of multiple tenants supported by the on-demand database system, each having a corresponding production environment and a corresponding test and development environment, wherein a production environment of the multiple tenant-specific production environments is one of two separate computation environments that operate independently of each other within a server-side facility, the two separate computation environments comprising the production environment and a test and development environment, said method comprising:

identifying, from among the multiple tenant-specific production environments, the production environment as one of the multiple tenant-specific production environments that will be affected by the functional changes;

determining whether the production environment includes tenant-specific business logic including at least configuration information and customization information to be tested in the test and development environment prior to being applied to the production environment;

in response to determining the production environment includes tenant-specific business logic, copying the functional changes and at least a portion of the production environment subject to the functional changes to the test and development environment thereby forming a tenant-specific test and development environment to facilitate testing of the tenant-specific business logic by executing the functional changes within the tenant-specific test and development environment before expiration of a pre-configured duration of time;

providing to a graphical interface of a user system information related to the functional changes from the test and development environment, wherein the graphical interface allows concurrent access to both the production environment and the tenant-specific production environment for users of a common tenant; and

implementing the functional changes in the production environment after the pre-configured duration of time, wherein the pre-configured duration of time is configurable via the graphical interface, the graphical interface further providing an option for the functional changes to be implemented immediately rather than delaying until after the pre-configured duration of time.

2. The method as recited in claim 1 further including providing an additional copy of said portion and said business logic on said on-demand database system in response to determining said portion is subject to said functional changes.

3. The method as recited in claim 1 further including providing an additional copy of said portion and said business logic on said on-demand database system in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic.

4. The method as recited in claim 1 further including providing an additional copy of said portion and said business logic on said on-demand database system in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic in response to instruction received from said client through said user interface.

5. The method as recited in claim 1 further including providing an additional copy of said portion and said business logic on said on-demand database system in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic in response to instruction received from said client through said user interface before expiration of said pre-configured duration of time.

6. The method as recited in claim 1 further including providing an additional copy of said portion and said business logic on said on-demand database system in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic in response to instruction received from said client through said user interface and disabling said functional changes.

7. The method as recited in claim 1 further including providing an additional copy of said portion and said business logic on said on-demand database system in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic in response to instruction received from said client through said user interface and disabling said functional changes in response to instructions from said client through said user interface, before expiration of said pre-configured duration of time.

8. A non-transitory machine-readable medium carrying one or more sequences of instructions, for managing functional changes to an on-demand database system on behalf of an owner of the on-demand database system and which may affect multiple tenant-specific production environments of multiple tenants supported by the on-demand database system, each having a corresponding production environment and a corresponding test and development environment, wherein a production environment of the multiple tenant-specific production environments is one of two separate computation environments that operate independently of each other within a server-side facility, the two separate computation environments comprising the production environment and a test and development, which when executed by one or more processors cause the one or more processors to:

identify, from among the multiple tenant-specific production environments, the production environment as one of the multiple tenant-specific production environments that will be affected by the functional changes;

determine whether the production environment includes tenant-specific business logic including at least configuration information and customization information to be tested in the test and development environment prior to being applied to the production environment;

in response to determining the production environment includes tenant-specific business logic, copy the functional changes and at least a portion of the production environment subject to the functional changes to the test and development environment thereby forming a tenant-specific test and development environment to facilitate testing of the tenant-specific business logic by executing the functional changes within the tenant-specific test and development environment before expiration of a pre-configured duration of time;

provide to a graphical interface of a user system information related to the functional changes from the test and development environment, wherein the graphical interface allows concurrent access to both the production environment and the tenant-specific test and development environment for users of a common tenant; and

implement the functional changes in the production environment after the pre-configured duration of time, wherein the pre-configured duration of time is configurable via the graphical interface, the graphical interface further providing an option for the functional changes to be implemented immediately rather than delaying until after the pre-configured duration of time.

9. The non-transitory machine readable medium of claim 8 further including instructions to carry out a step of providing an additional copy of said portion and said business logic on said on-demand database architecture in response to determining said portion is subject to said functional changes.

10. The non-transitory machine readable medium of claim 8 further including instructions to carry out a step of providing an additional copy of said portion and said business logic on said on-demand database architecture in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic.

11. The non-transitory machine readable medium as recited in claim 8 further including instructions to carry out a step of providing an additional copy of said portion and said business logic on said on-demand database architecture in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic in response to instruction received from said client through said user interface.

12. The non-transitory machine readable medium as recited in claim 8 wherein the instructions to carry out the step of providing an additional copy of said portion and said business logic on said on-demand database architecture in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic in response to instruction received from said client through said user interface before expiration of said duration of time.

13. The non-transitory machine readable medium as recited in claim 8 further including instructions for carrying out the step of providing an additional copy of said portion and said business logic on said on-demand database architecture in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic in response to instruction received from said client through said user interface and disabling said functional changes.

14. The non-transitory machine readable medium as recited in claim 8 further including providing an additional copy of said portion and said business logic on said on-demand database architecture in response to determining said portion is subject to said functional changes and executing said functional changes on said additional copy of said portion and said business logic in response to instruction received from said client through said user interface and disabling said functional changes in response to instructions from said client through said user interface, before expiration of said duration of time.

15. An apparatus for managing functional changes to an on-demand database system on behalf of an owner of the on-demand database system and which may affect multiple tenant-specific production environments of multiple tenants supported by the on-demand database system, each having a corresponding production environment and a corresponding test and development environment, wherein a production environment of the multiple tenant-specific production environments is one of two separate computation environments that operate independently of each other within a server-side facility, the two separate computation environments comprising the production environment and a test and development environment, the apparatus comprising:

a processor; and

a memory space having a sequence of instructions which, when executed by the processor, cause the processor to:

identify, from among the multiple tenant-specific production environments, the production environment as one of the multiple tenant-specific production environments that will be affected by the functional changes;

determine whether the production environment includes tenant-specific business logic including at least configuration information and customization information to be tested in the test and development environment prior to being applied to the production environment;

in response to determining the production environment includes tenant-specific business logic, copy the functional changes and at least a portion of the production environment subject to the functional changes to the test and development environment thereby forming a tenant-specific test and development environment to facilitate testing of the tenant-specific business logic by executing the functional changes within the tenant-specific test and development environment before expiration of a duration of time;

provide to a graphical interface of a user system information related to the functional changes from the test and development environment, wherein the graphical interface allows concurrent access to both the production environment and the tenant-specific test and development environment for users of a common tenant; and

implement the functional changes in the production environment after the duration of time, wherein the duration of time is configurable via the graphical interface, the graphical interface further providing an option for the functional changes to be implemented immediately rather than delaying until an end of the duration of time.

Assignments (2)
CHANGE OF NAME Recorded Oct 24, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0550 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2010
From: BEZAR, ERIC D.; AGRAWAL, SONALI; RAJARAM, VARADARAJAN; MACKLEM, WALTER; BLUE LIN, JILL; GOPALAN, SRIRAM; GHOSH, SANDIP
To: SALESFORCE.COM, INC.
Reel/Frame 024110/0825 →
Continuity (1)
Related Publication 20110078213A1 · Mar 31, 2011
Cited By (1)
US 12,488,903