Security sharing system
US-9009827-B1 · Apr 14, 2015 · US
US10229284B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10229284-B2 |
| Application number | US-201715690099-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 29, 2017 |
| Priority date | Feb 21, 2007 |
| Publication date | Mar 12, 2019 |
| Grant date | Mar 12, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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 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 and other computer users that are not currently accessing the first child set of data at the one or more servers; storing by the one or more servers a second child set of data, wherein the second child set of data comprises a third plurality of data object versions that are not accessible at the one or more servers to the particular computer users; receiving by the one or more servers, from a first user that is currently accessing the first child set of data, a server command to send a particular version of a particular data object from the first child set of data to the base set of data; in response to receiving the server command, sending the 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 the 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. 2. A method as recited in claim 1 , further comprising: receiving by the one or more servers definitions of one or more rules and configuring the one or more servers to process the rules, wherein each rule restricts access for one or more computer users to one or more data objects regardless of which set of data contains the one or more data objects; and wherein permitting the second computer user to access the particular version of the particular data object is based on determining that the one or more rules do not restrict access for the second user to the particular data object as well as being based on the base set of data and a version identifier value for the one or more data objects. 3. A method as recited in claim 1 , further comprising: detecting that a change has occurred in the particular data object; and wherein permitting the second computer user to access the particular version of the particular data object is based on determining whether the particular data object can be provided to the second computer user based on the base set of data and a version identifier value for the particular data object. 4. A method as recited in claim 1 , wherein permitting the second computer user to access the particular version of the particular data object comprises providing only a selected subset of rows of data to the second computer user. 5. A method as recited in claim 1 , further comprising: creating and storing by the one or more servers an object table comprising rows that represent the first plurality of data object versions and the second plurality of data object versions and columns that represent, for each of the first plurality of data object versions and the second plurality of data object versions, an associated set of data, a version value, and a pointer to a previous version, wherein said associated set of data is different from said version value. 6. A method as recited in claim 5 , further comprising asynchronously receiving, from different computer users, a plurality of changes to the particular data object, and in response thereto, creating a new row in the object table for each of the changes. 7. A method as recited in claim 1 , wherein sending the particular version of the particular data object to the base set of data comprises sending the particular version of the particular data object to the base set of data without sending data directly between the first computer user and the second computer user. 8. A method as recited in claim 1 , further comprising: creating and storing one or more data object versions; and wherein each data object version of the one or more data object versions is associated to a version identifier value and to an identifier value for a set of data. 9. A computer-implemented method, comprising: 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 can 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; wherein the method is performed through application logic by one or more computing devices. 10. A method as recited in claim 9 , wherein identifying one or more particular versions of the particular data object that the first computer user can view comprises: identifying all data object versions for the particular data object that are associated with the base set of data or the project set of data. 11. A method as recited in claim 9 , wherein identifying one or more particular versions of the particular data object that the first computer user can view further comprises: identifying a most recently modified current version of all data object versions for the particular data object that are associated wit
Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477) · CPC title
using versioning · CPC title
Government or public services (business processes related to the transportation industry G06Q50/40) · CPC title
Data retrieval commands; View definitions · CPC title
Legal services · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.