Cloud Directory Services Scalability via Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Many software applications are not designed with scalability in mind, limiting their ability to efficiently serve a large number of users and handle massive data requests, as they often lack the necessary network and computing support for dynamic data partitioning and replication.

Innovation Solution

A computer system provides cloud-scale directory services by partitioning data into multiple partitions with primary writable and secondary read-only copies, using dynamic copy locators to allocate data efficiently across partitions, and implementing single master storage systems for multi-master directory services to ensure data is promptly replicated and delivered to clients in a virtualized manner.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software applications are designed with scalability in mind using data partitioning and replication, then the application can serve a large number of users efficiently, but the system complexity and infrastructure requirements increase significantly

Engineering Contradiction:
Improvenumber of users servedVSAvoidsystem infrastructure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The directory service data is divided into multiple partitions, each stored on separate servers. This segmentation allows the system to scale horizontally by adding more partition servers, enabling support for large numbers of users while distributing the computational and storage load across multiple independent units, thereby managing system complexity through modular organization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates read-only copies (replicas) of data partitions across multiple servers. This copying mechanism enables parallel read operations to occur simultaneously on multiple servers, significantly improving the system's capacity to serve multiple users concurrently while maintaining data availability and reducing the load on any single server

Inventive Principle:
Principle #26Copying

2Speed

If data is partitioned into multiple copies with primary and secondary replicas, then data delivery efficiency to clients improves, but the complexity of managing and locating data copies increases

Engineering Contradiction:
Improvedata delivery speedVSAvoiddata copy management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system introduces a namespace service as an intermediary layer between clients and data partitions. This mediator maintains mappings between logical data identifiers and physical storage locations, automatically routing client requests to the appropriate primary or secondary copies. This intermediary simplifies data copy management by abstracting the complexity of replica location and selection from the core directory service logic

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system pre-establishes multiple secondary read-only copies of each data partition before they are needed for serving clients. This preliminary replication ensures that when client requests arrive, data can be immediately delivered from the nearest or least-loaded secondary copy, improving data delivery speed while the namespace service has already prepared the distribution map

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a single master storage system is used for multi-master directory services, then data consistency is maintained, but the complexity of implementing single master on multi-master store increases

Engineering Contradiction:
Improvedata consistencyVSAvoidstorage system implementation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The directory service store is segmented into multiple data partitions, each with its own master copy. This segmentation allows the system to implement a single-master model at the partition level while maintaining multi-master capability across the distributed store. Each partition's master copy ensures data consistency within that partition, while the overall system achieves scalability through the distributed partition architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The namespace service acts as an intermediary that coordinates between multiple master copies across different partitions. It maintains the authoritative mapping of data identifiers to partition locations, ensuring that clients access the correct master copy for each data element, thereby maintaining data consistency across the multi-master distributed store without requiring complex inter-master communication protocols

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9218136B2Cloud scale directory services
Publication Date: 2015.12.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9218136B2 patent drawing
  • US9218136B2 patent drawing
  • US9218136B2 patent drawing

AI summary

Embodiments described herein are directed to providing scalability to software applications. A computer system partitions a portion of data stored in a directory services system into multiple different data partitions. Each data partition includes a primary writable copy and at least one secondary read-only copy of the data. The computer system receives a client request for a portion of the data that is stored in the directory services system and accesses various stored partition mappings to determine which of the different data partitions includes the requested data. The computer system also accesses a dynamic copy locator to determine which of the read-only copies of the indicated partition to access and provide the accessed primary writeable copy of the indicated partition and the determined read-only copy to the client in a virtualized manner so that the client is not aware of the data partitions.