User Profile Aggregation via Dynamic Map and Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in aggregating user profiles from diverse and dynamic services due to conflicting data, different data formats, and architectural limitations, making it difficult to generate a cohesive and up-to-date aggregated user profile across multiple user profile servers.

Innovation Solution

The solution involves separating the aggregation logic from the executable binary by using a user profile map, which specifies the retrieval of data items and decision-making logic for combining them, allowing for easy updates without recompilation, and enabling communication with various user profile servers using different interfaces and protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If user profile aggregation is implemented across diverse services, then comprehensive user profile data is obtained, but data conflicts and inconsistencies arise

Engineering Contradiction:
Improvecomprehensive user profile dataVSAvoiddata consistency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system segments user profile data into distinct categories (basic information, service-specific information, preferences) and processes each category separately through dedicated accessors and conflict resolution rules, allowing comprehensive aggregation while maintaining consistency through structured organization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary components including a user profile accessor that mediates between multiple services and the aggregated profile, and conflict resolution rules that act as intermediaries to resolve data inconsistencies, ensuring reliable aggregation across diverse services

Inventive Principle:
Principle #24Intermediary (Mediator)

2Extent of automation

If aggregation logic is embedded in executable binary, then system functionality is complete, but updates require recompilation and redistribution

Engineering Contradiction:
Improveaggregation functionalityVSAvoidupdate efficiency
Core Design Contradiction:
Extent of automationVSEase of manufacture

Solution Approach 1:

The system separates aggregation logic into distinct modular components (user profile accessor, service accessors, conflict resolution rules) that can be independently updated and configured without recompiling the entire system, enabling efficient updates while maintaining complete functionality

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic configuration where aggregation logic, service endpoints, and conflict resolution rules can be modified at runtime without system recompilation, allowing the system to adapt to changing requirements while maintaining full automation capability

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If services use different interfaces and protocols, then service diversity is supported, but integration complexity increases

Engineering Contradiction:
Improveservice compatibilityVSAvoidintegration architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements universal service accessors that can communicate with multiple different service interfaces and protocols through a unified interface, supporting diverse services (email, contacts, calendar) while maintaining a consistent integration architecture through standardized access patterns

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

Data Source

PatentUS7958142B2User profile aggregation
Publication Date: 2011.06.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7958142B2 patent drawing
  • US7958142B2 patent drawing
  • US7958142B2 patent drawing

AI summary

User profile data that may be spread across different service providers and that may vary across different service providers can be aggregated to provide an aggregate user profile. An aggregate user profile can be generated regardless of, among other things, varying user profile semantics, differing data formats, data item conflicts, evolving server protocols and interfaces, and updates to the number, identity, location, and type of servers upon which the service providers are maintained.