Shared data set with user-specific changes
Assigneesalesforce.com, inc.
InventorAnshu Sharma
Life of this patent
Estimating the term…
Abstract
Methods and systems are described for shared data sets with user-specific changes in an on-line services environment. In one embodiment, a method includes, receiving a request for data stored in a shared database from a user, identifying the requesting user, retrieving the requested data from the shared database, determining whether there are user-specific changes for the retrieved data, changing the retrieved data using the user-specific changes, and supplying the requested data to the user.
Claims18
A method performed by an application server having at least a processor and a memory therein, wherein the method comprises:
- receiving a request at the application server, wherein the request is received from a user system via a network communicably interfacing the application server with the user system, the request being for data from a first dataset stored in a multi-tenant database system communicably interfaced with the application server, wherein the first dataset of the multi-tenant database system comprises a plurality of records stored on behalf of a plurality of users, each of the plurality of users having access to different subsets of the first dataset in the multi-tenant database system;
- identifying, at the application server, one of the plurality of users as a requesting user corresponding to the received request using the request received from the user system;
- retrieving stored records from the multi-tenant database system in fulfillment of the request;
- associating the identified user with changes to the retrieved records by determining there are user-specific changes to the records stored in a second dataset, wherein the determining comprises referencing a separate data source delta table tracking user-specific changes stored separate from the first dataset stored within the multi-tenant database system and wherein the second dataset contains the user-specific changes referenced to user data, wherein the changes to the retrieved records comprise the user-specific changes to the records of the first dataset stored in the multi-tenant database system and further wherein the user-specific changes do not alter original data of the stored records in the first dataset of the multi-tenant database system for any of the plurality of users;
- retrieving the user-specific changes from the second dataset;
- generating a third dataset at the application server comprising changed requested data by changing the retrieved records from the first dataset stored by the multi-tenant database system, wherein the generating comprises updating portions of the retrieved records from the first dataset stored within the multi-tenant database system with the retrieved user-specific changes retrieved from the second dataset without changing any records stored in the first dataset of the multi-tenant database system for any of the plurality of users;
- transmitting the changed requested data of the third dataset generated at the application server to the user system in response to the request;
- receiving a data change request from the user, the data change request being a request to change a specified data entry within one of the plurality of records for the requesting user in the multi-tenant database system;
- adding the data change to the separate data source delta table tracking the user-specific changes;
- recognizing associated changes in the multi-tenant database system by flagging the data entry in the multi-tenant database system indicating that the change has been made in the delta table;
- wherein the method further comprises:
- extending a common schema organizational blueprint of the multi-tenant database system via applications by performing the following operations:
- (i) providing access to the multi-tenant database system using the common schema through a first application, (ii) providing access to the multi-tenant database system using the common schema through a second application, (iii) presenting views of the multi-tenant database system extended by the respective schema extensions of the first and second applications, and (iv) presenting operations on the multi-tenant database system as extended by the respective schema extensions of the first and second applications;
- and
- wherein the multi-tenant database system receives changes to metadata from one or more users, wherein the applications track changes to the metadata using any one of a plurality of schema, and further wherein the views of an object in the multi-tenant database system are updated based on the changed metadata.
Non-transitory computer readable storage media having instructions stored thereupon that, when executed by an application server having at least a processor and a memory therein, the instructions cause the application server to perform operations including:
- receiving a request at the application server, wherein the request is received from a user system via a network communicably interfacing the application server with the user system, the request being for data from a first dataset stored in a multi-tenant database system communicably interfaced with the application server, wherein the first dataset of the multi-tenant database system comprises a plurality of records stored on behalf of a plurality of users, each of the plurality of users having access to different subsets of the first dataset in the multi-tenant database system;
- identifying, at the application server, one of the plurality of users as a requesting user corresponding to the received request using the request received from the user system;
- retrieving stored records from the multi-tenant database system in fulfillment of the request;
- associating the identified user with changes to the retrieved records by determining there are user-specific changes to the records stored in a second dataset, wherein the determining comprises referencing a separate data source delta table tracking the user-specific changes stored separate from the first dataset stored within the multi-tenant database system and wherein the second dataset contains the user-specific changes referenced to user data, wherein the changes to the retrieved records comprise user-specific changes to the records of the first dataset stored in the multi-tenant database system and further wherein the user-specific changes do not alter original data of the stored records in the first dataset of the multi-tenant database system for any of the plurality of users;
- retrieving the user-specific changes from the second dataset;
- generating a third dataset at the application server comprising changed requested data by changing the retrieved records from the first dataset stored by the multi-tenant database system, wherein the generating comprises updating portions of the retrieved records from the first dataset stored within the multi-tenant database system with the retrieved user-specific changes retrieved from the second dataset without changing any records stored in the first dataset of the multi-tenant database system for any of the plurality of users;
- and
- transmitting the changed requested data of the third dataset generated at the application server to the user system in response to the request;
- receiving a data change request from the user, the data change request being a request to change a specified data entry within one of the plurality of records for the requesting user in the multi-tenant database system;
- adding the data change to the separate data source delta table tracking the user-specific changes;
- recognizing associated changes in the multi-tenant database system by flagging the data entry in the multi-tenant database system indicating that the change has been made in the delta table;
- wherein the instructions cause the application server to perform operations further comprising:
- extending a common schema organizational blueprint of the multi-tenant database system via applications by performing the following operations:
- (i) providing access to the multi-tenant database system using the common schema through a first application, (ii) providing access to the multi-tenant database system using the common schema through a second application, (iii) presenting views of the multi-tenant database system extended by the respective schema extensions of the first and second applications, and (iv) presenting operations on the multi-tenant database system as extended by the respective schema extensions of the first and second applications;
- and
- wherein the multi-tenant database system receives changes to metadata from one or more users, wherein the applications track changes to the metadata using any one of a plurality of schema, and further wherein the views of an object in the multi-tenant database system are updated based on the changed metadata.
An application server to execute at an application hosting service, wherein the application server comprises:
- a memory to store instructions;
- a processor to execute instructions;
- an Application Program Interface (API) to receive a request at the application server, wherein the request is received from a user system via a network communicably interfacing the application server with the user system, the request being for data from a first dataset stored in a multi-tenant database system communicably interfaced with the application server, wherein the first dataset of the multi-tenant database system comprises a plurality of records stored on behalf of a plurality of users, each of the plurality of users having access to different subsets of the first dataset in the multi-tenant database system;
- wherein the processor is to identify, at the application server, one of the plurality of users as a requesting user corresponding to the received request using the request received from the user system;
- wherein the processor is to further retrieve stored records from the multi-tenant database system in fulfillment of the request;
- wherein the processor is to further associate the identified user with changes to the retrieved records by determining there are user-specific changes to the records stored in a second dataset, wherein the determining comprises referencing a separate data source delta table tracking the user-specific changes stored separate from the first dataset stored within the multi-tenant database system and wherein the second dataset contains the user-specific changes referenced to user data, wherein the changes to the retrieved records comprise user-specific changes to the records of the first dataset stored in the multi-tenant database system and further wherein the user-specific changes do not alter original data of the stored records in the first dataset of the multi-tenant database system for any of the plurality of users;
- wherein the processor is to further retrieve the user-specific changes from the second dataset;
- wherein the processor is to further generate a third dataset at the application server comprising changed requested data by changing the retrieved records from the first dataset stored by the multi-tenant database system, wherein the generating comprises updating portions of the retrieved records from the first dataset stored within the multi-tenant database system with the retrieved user-specific changes retrieved from the second dataset without changing any records stored in the first dataset of the multi-tenant database system for any of the plurality of users;
- and
- a network interface to transmit the changed requested data of the third dataset generated at the application server to the user system in response to the request;
- wherein the processor is to further receive a data change request from the user, the data change request being a request to change a specified data entry within one of the plurality of records for the requesting user in the multi-tenant database system;
- wherein the processor is to further add the data change to the separate data source delta table tracking the user-specific changes;
- wherein the processor is to further recognize associated changes in the multi-tenant database system by flagging the data entry in the multi-tenant database system indicating that the change has been made in the delta table;
- wherein the API of the system extends a common schema organizational blueprint of the multi-tenant database system via applications by performing the following operations:
- (i) providing access to the multi-tenant database system using the common schema through a first application, (ii) providing access to the multi-tenant database system using the common schema through a second application, (iii) presenting views of the multi-tenant database system extended by the respective schema extensions of the first and second applications, and (iv) presenting operations on the multi-tenant database system as extended by the respective schema extensions of the first and second applications;
- and
- wherein the multi-tenant database system is to receive changes to metadata from one or more users, wherein the applications track changes to the metadata using any one of a plurality of schema, and further wherein the views of an object in the multi-tenant database system are updated based on the changed metadata.
Dependencies are inferred from the claim text.