Providing unique views of data based on changes or rules
First Claim
1. A computer-implemented method, comprising:
- storing by one or more servers a first child set of data, wherein the first child set of data comprises a first plurality of data object versions that are only accessible at the one or more servers to particular computer users;
storing by the one or more servers a base set of data, wherein the base set of data comprises a second plurality of data object versions that are only accessible at the one or more servers to the particular computer users;
asynchronously receiving, from different computer users, a set of respective changes to a particular data object, and in response thereto, creating a version in an object table for each of the sets of respective changes;
receiving by the one or more servers, from a first computer user of a plurality of computer users, a server command to send the version of the first user to the base set of data;
in response to receiving the server command, sending a particular version of the particular data object from the first child set of data to the base set of data;
in response to receiving the server command, preventing one or more other versions of the particular data object from the first child set of data from being sent to the base set of data by configuring the one or more servers to deny requests to send one or more other versions of the particular data object from the first child set of data;
receiving by the one or more servers, from a second computer user that is currently accessing a second child set of data, a request to access any version of the particular data object that has been sent to the base set of data;
in response to the request, and based at least in part on the sending of the particular version of the particular data object to the base set of data, permitting the second user to access the particular version of the particular data object that has been sent to the base set of data by configuring the one or more servers to permit access to the second user to the particular version of the particular data object that has been sent to the base set of data;
wherein the method is performed through application logic by one or more computing devices.
7 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method comprises creating and storing, one or more data objects; wherein a first plurality of the data objects is associated with a base set of data representing data shared across a plurality of users; wherein a second plurality of the data objects is associated with one or more child sets of data, wherein each of the child sets of data represents data local to a project, wherein each of the users is associated with one or more of the child sets of data; wherein each data object is associated to an identifier value and to a version identifier value for a plurality of versions of the data object, wherein each of the versions represents a change to the data object by any of a plurality of users; receiving a request from a first user to view a third plurality of data objects; selecting, based on the base set of data, the particular set of data, the version identifier value for the data objects in the third plurality, and one or more rules associated with the particular set of data and the first user, data objects in the third plurality that can be viewed by the first user; creating a particular data view that includes only the selected data objects; and providing a display of the particular data view to the first user.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
storing by one or more servers a first child set of data, wherein the first child set of data comprises a first plurality of data object versions that are only accessible at the one or more servers to particular computer users; storing by the one or more servers a base set of data, wherein the base set of data comprises a second plurality of data object versions that are only accessible at the one or more servers to the particular computer users; asynchronously receiving, from different computer users, a set of respective changes to a particular data object, and in response thereto, creating a version in an object table for each of the sets of respective changes; receiving by the one or more servers, from a first computer user of a plurality of computer users, a server command to send the version of the first user to the base set of data; in response to receiving the server command, sending a particular version of the particular data object from the first child set of data to the base set of data; in response to receiving the server command, preventing one or more other versions of the particular data object from the first child set of data from being sent to the base set of data by configuring the one or more servers to deny requests to send one or more other versions of the particular data object from the first child set of data; receiving by the one or more servers, from a second computer user that is currently accessing a second child set of data, a request to access any version of the particular data object that has been sent to the base set of data; in response to the request, and based at least in part on the sending of the particular version of the particular data object to the base set of data, permitting the second user to access the particular version of the particular data object that has been sent to the base set of data by configuring the one or more servers to permit access to the second user to the particular version of the particular data object that has been sent to the base set of data; wherein the method is performed through application logic by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more non-transitory computer-readable storage media comprising instructions, which when executed by one or more processors, cause the one or more processors to perform:
-
storing by one or more servers a base set of data, wherein the base set of data comprises a first plurality of data object versions that are accessible to one or more computer users of a project set of data and other computer users different from the one or more computer users; storing by the one or more servers the project set of data, wherein the project set of data comprises a second plurality of data object versions that are only accessible through the one or more servers to the one or more computer users of the project set of data; receiving by the one or more servers a first rule definition, wherein the first rule definition restricts access for one or more particular computer users of the one or more computer users of the project set of data to one or more data objects in the project set of data by configuring the one or more servers to restrict access for the one or more particular computer users to the project set of data to the one or more data objects in the project set of data; receiving, by the one or more servers, from a first computer user of the one or more computer users of the project set of data, a request to access any version of a particular data object; based on the base set of data, the project set of data, and the first rule definition, identifying one or more particular versions of the particular data object that the first user may access by configuring the server to identify the one or more particular versions in response to the receiving the request to access any version of a particular data object; generating a view of data on a computer display that includes the one or more particular versions of the particular data object; displaying the view of data on the computer display to the first computer user. - View Dependent Claims (10, 11, 12)
-
-
13. One or more non-transitory computer-readable storage media comprising instructions, which when executed by one or more processors, cause the one or more processors to perform:
-
storing by one or more servers a first child set of data, wherein the first child set of data comprises a first plurality of data object versions that are only accessible at the one or more servers to particular computer users that are currently accessing the first child set of data; storing by the one or more servers a base set of data, wherein the base set of data comprises a second plurality of data object versions that are only accessible at the one or more servers to the particular computer users; asynchronously receiving, from different computer users, a set of respective changes to a particular data object, and in response thereto, creating a version in an object table for each of the sets of respective changes; receiving by the one or more servers, from a first computer user of a plurality of computer users, a server command to send the version of the first user to the base set of data; in response to receiving the server command, sending a particular version of the particular data object from the first child set of data to the base set of data; in response to receiving the server command, preventing one or more other versions of the particular data object from the first child set of data from being sent to the base set of data by configuring the one or more servers to deny requests to send one or more other versions of the particular data object from the first child set of data; receiving by the one or more servers, from a second computer user that is currently accessing a second child set of data, a request to access any version of the particular data object that has been sent to the base set of data; in response to the request, and based at least in part on the sending of the particular version of the particular data object to the base set of data, permitting the second user to access the particular version of the particular data object that has been sent to the base set of data by configuring the one or more servers to permit access to the second user to the particular version of the particular data object that has been sent to the base set of data. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification