Shared Database Delta Tables for Multi-User Data Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems require separate databases for each customer, leading to inefficiencies when companies collaborate, as they need to share entire data sets, even when using third-party services, and current data marketplaces provide data independently for individual consumption rather than enabling shared access.

Innovation Solution

Implementing a system that provides shared data sets for multiple users through a common database, allowing users to access and modify data without propagating changes to all users, using a delta table to track changes and maintain separate versions, and enabling integration of purchased datasets into a shared data set.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate databases are used for each customer, then data isolation and security are improved, but data sharing efficiency and collaboration capability deteriorate

Engineering Contradiction:
Improvedata isolationVSAvoiddata sharing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple separate customer databases into a single shared database instance, allowing multiple customers to access and share data through the same database. This is achieved by introducing customer-specific schemas or views that isolate data logically while physically storing all customer data in one unified database structure, thereby improving data sharing efficiency while maintaining data isolation through schema-level separation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The database system is designed to serve multiple customers simultaneously through a universal database structure. The system provides multi-tenant capabilities where a single database instance can be shared across multiple customers, each with their own data access rights and schemas. This universal design enables efficient data sharing and collaboration while maintaining security through access control mechanisms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of operation

If entire data sets are copied for collaboration, then data accessibility is improved, but resource consumption and storage requirements worsen

Engineering Contradiction:
Improvedata accessibilityVSAvoidstorage requirements
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

Instead of copying entire datasets for collaboration, the patent merges data access through a single shared database. Multiple customers can access the same underlying data without requiring physical copies, thereby reducing storage requirements while maintaining full data accessibility. The system uses database views and schemas to provide customized data access to each customer without duplicating the actual data storage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses logical copies through database views and schemas rather than physical data copying. When a customer needs access to data, the system creates a virtual view of the relevant data tailored to that customer's needs, rather than copying the actual data files. This approach maintains data accessibility while avoiding the storage overhead of physical copies.

Inventive Principle:
Principle #26Copying

3Productivity

If a common shared database is used, then resource usage efficiency is improved, but data isolation and security control worsen

Engineering Contradiction:
Improveresource usage efficiencyVSAvoiddata isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments data isolation at the schema level within the shared database. Each customer has their own schema that contains only the data relevant to them, while the physical storage remains unified. This segmentation allows the database to maintain data isolation and security control through logical separation, while achieving resource usage efficiency through physical sharing of the same database instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system provides local quality through customer-specific schemas and views that are tailored to each customer's needs. Each customer interacts with a customized view of the data that is optimized for their specific requirements, while the underlying shared database maintains efficient resource usage. This local customization approach maintains data isolation without sacrificing resource efficiency.

Inventive Principle:
Principle #3Local quality

4Stability of the object's composition

If data changes are propagated to all users, then data consistency is improved, but operational flexibility and individual customization worsen

Engineering Contradiction:
Improvedata consistencyVSAvoidindividual customization
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic data propagation based on customer subscriptions and schema relationships. When data changes occur in the shared database, the system dynamically determines which customers should receive the updates based on their subscriptions and data relationships, rather than propagating changes to all users uniformly. This dynamic approach maintains data consistency for subscribed customers while preserving operational flexibility and individual customization for non-subscribed customers.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9141983B2Shared data sets combined with user-specific purchased data sets
Publication Date: 2015.09.22 SALESFORCE INC
  • US9141983B2 patent drawing
  • US9141983B2 patent drawing
  • US9141983B2 patent drawing

AI summary

Methods and systems are described for shared data sets combined with purchased data sets in an on-line services environment. In one embodiment, a method includes, identifying a user, associating the user with data in a shared database, and receiving a purchased dataset from the identified user. The method further includes adding the purchased dataset to a delta table associated with the shared database based on determined record relationships and field relationship, and providing access to the purchased dataset to the user through requests for data in the shared database.