Revisioning Database Views for Secure Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional revisioning database systems are inadequate for intelligence analysts, as they fail to provide controlled access to sensitive and confidential data, allow unauthorized viewing of changes made by other analysts, and do not support the association of change reasons with the change history, which is critical for intelligence data management.

Innovation Solution

A revisioning database system that uses realms and rules to provide unique views of data to users, allowing selective data access and associating change reasons with the change history, while implementing a publish-subscribe model for secure data distribution and eliminating the need for local mirrors, ensuring security and compliance with 'need to know' access principles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional revisioning database systems allow all users to view all data objects, then data accessibility is improved, but security and access control deteriorate

Engineering Contradiction:
Improvedata accessibilityVSAvoidsecurity and access control
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the database view into multiple virtual private databases (VPDs), each tailored to specific users or user groups. This segmentation allows the system to provide different data subsets to different users, improving security while maintaining ease of access within authorized boundaries. The VPD mechanism divides the monolithic database view into controlled segments without requiring physical data distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by allowing each user to have a customized view of the database with specific data objects, access permissions, and display characteristics tailored to their needs. This enables security control at the individual user level while maintaining a unified physical database, resolving the contradiction between universal accessibility and targeted security.

Inventive Principle:
Principle #3Local quality

2Speed

If local mirror copies of intelligence data are distributed to users, then data access speed is improved, but security and compliance deteriorate

Engineering Contradiction:
Improvedata access speedVSAvoidsecurity and compliance
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent uses virtual copying mechanisms where users receive dynamically generated views of database data without actual physical copies being stored locally. The VPD system creates virtual replicas that appear as local copies for fast access but are actually on-demand projections from the central database, eliminating security risks of local storage while maintaining access speed benefits.

Inventive Principle:
Principle #26Copying

3Loss of information

If change history is tracked for all data objects, then data traceability is improved, but system complexity deteriorates

Engineering Contradiction:
Improvedata traceabilityVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts change history tracking functionality into a separate, specialized component that operates independently from the main database operations. This extraction allows comprehensive traceability to be implemented without adding complexity to the core database system, as the history tracking is handled by dedicated logging mechanisms that capture changes without interfering with normal data operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10719621B2Providing unique views of data based on changes or rules
Publication Date: 2020.07.21 PALANTIR TECHNOLOGIES INC
  • US10719621B2 patent drawing
  • US10719621B2 patent drawing
  • US10719621B2 patent drawing

AI summary

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.