Tenant-Specific Data Modeling With Runtime Field Versioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-tenant computing systems face challenges in dynamically customizing data models for tenants without requiring modifications to all system components, leading to system brittleness and difficulty in managing attribute changes across various data models.
Innovation Solution
Implement a metamodel architecture that allows data type definitions and fields to be externally represented, enabling independent customization and versioning for each tenant, with a centralized service to dynamically determine data type definitions at runtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a fixed data model is used for all tenants, then system stability and ease of operation are improved, but adaptability and ease of customization deteriorate
Solution Approach 1:
The patent segments the data model into a base model and tenant-specific extensions. The base model provides the fixed, stable structure that all tenants share, while tenant-specific extensions allow customization without modifying the core model. This segmentation enables different tenants to have customized data models while maintaining system stability through the shared base model.
Solution Approach 2:
The patent introduces a data model registry and versioning system as intermediaries between the fixed base model and tenant customizations. These intermediaries manage the mapping between base model attributes and tenant-specific attributes, allowing customization while preserving system stability through controlled interaction points.
2Adaptability or versatility
If data model attributes are changed to meet tenant requirements, then adaptability is improved, but system reliability and complexity of coordination deteriorate
Solution Approach 1:
The patent implements preliminary action through data model versioning and validation rules defined in advance. Before tenant-specific attributes are added or modified, the system pre-defines validation rules, data types, and constraints. This preliminary setup ensures that subsequent customizations maintain reliability by adhering to pre-established standards without requiring real-time coordination.
Solution Approach 2:
The patent makes the data model dynamic by allowing tenant-specific attributes to be added, modified, or removed based on individual tenant requirements while maintaining the stable base model. The system dynamically adapts to tenant needs through configuration rather than structural changes, preserving reliability through the immutable core while enabling adaptability in the extensions.
3Stability of the object's composition
If all components are modified when data model changes occur, then consistency is improved, but ease of manufacture and development time deteriorate
Solution Approach 1:
The patent applies local quality by allowing different components to have different relationships with the data model. Core system components interact with the stable base model and maintain consistency through the registry, while tenant-specific components can customize attributes locally without affecting other tenants or the core system. This localized approach enables consistency where needed while simplifying development elsewhere.
Solution Approach 2:
The patent uses copying by creating tenant-specific copies or views of the base data model through the registry system. Instead of modifying the original base model for each tenant, the system creates isolated tenant-specific representations that reference the base model. This copying approach maintains consistency in the base model while allowing independent customization for each tenant without requiring modifications to all components.
Data Source
AI summary
Systems and methods for data modeling in multi-tenant systems are disclosed. Embodiments allow the customization of data models for data types (e.g., such as documents or the like) through the addition of fields to data models for data types for particular tenants without modification to components of the system by allowing the definition of a data type and its associated fields for each tenant and externalizing the definition of those data types. This metamodel can thus enable the fields of a data type for a particular tenant to be independently modified or updated for that tenant and data type. The data type for an individual tenant at any given point in time can thus be defined by the set of fields (e.g., and field versions) associated with that data type as defined for that tenant in the metamodel at that point in time.


