Automated Service Assignment in Multi-Server Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-server systems require manual configuration of service mapping, which is inefficient and does not optimize system performance, as they lack an automated method to assign services based on similarity and processing power requirements.

Innovation Solution

An automated method that groups services with similar access behaviors and assigns them to servers based on processing power, using affinity calculations and load balancing techniques to maximize system performance by co-locating similar services and distributing dissimilar services across different servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual configuration of service mapping is used, then ease of operation is maintained, but productivity is reduced

Engineering Contradiction:
Improveservice assignment efficiencyVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system automatically performs service-to-server assignment by computing affinity metrics and making placement decisions without administrator intervention. The affinity computation engine continuously monitors service access patterns and autonomously reassigns services to optimize performance, eliminating manual configuration requirements while improving productivity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically changes the assignment parameters (service-to-server mappings) based on computed affinity metrics. By continuously monitoring and adjusting these parameters in response to changing workload patterns, the system achieves optimal performance automatically without requiring manual reconfiguration.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If services are randomly assigned to servers, then device complexity is reduced, but system performance deteriorates

Engineering Contradiction:
Improvesystem performanceVSAvoidassignment mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements continuous feedback loops where the affinity computation engine monitors service access patterns, computes affinity metrics, and uses this feedback to make informed assignment decisions. This feedback mechanism ensures services are placed on servers that will maximize performance based on actual observed behavior patterns.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary affinity computation and service grouping before actual service deployment or reassignment. By pre-computing affinity metrics and determining optimal groupings in advance, the system ensures services are assigned to appropriate servers before they become active, preventing performance degradation.

Inventive Principle:
Principle #10Preliminary action

3Loss of energy

If services with different access behaviors are co-located, then processing power usage is optimized, but data cache hit rates decrease

Engineering Contradiction:
Improveprocessing power efficiencyVSAvoiddata cache hit rate
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system applies local quality by grouping services with similar access behaviors together on the same server, creating localized service clusters with homogeneous data access patterns. This ensures each server's data cache is optimized for the specific access characteristics of its assigned services, maximizing cache hit rates while maintaining efficient processing power usage.

Inventive Principle:
Principle #3Local quality

4Productivity

If automated service assignment is implemented, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improveservice assignment automationVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The affinity computation engine serves multiple functions: it computes affinity metrics, groups services into clusters, determines optimal server assignments, and monitors performance. By consolidating these multiple functions into a single multi-functional component, the system achieves high productivity without proportionally increasing overall system complexity.

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

Data Source

PatentUS8560690B2Automatic assignment of services to servers in a multi-server system
Publication Date: 2013.10.15 ORACLE INT CORP
  • US8560690B2 patent drawing
  • US8560690B2 patent drawing
  • US8560690B2 patent drawing

AI summary

Groups of services are created based on one or both of the following: (a) what is accessed by each service, and (b) a likelihood of conflicts between accesses (e.g., a database object read operation or a database object write operation) performed by each service and accesses performed by each other service. Groups of services, which may be the groups created or subsets of those groups, are assigned to run on particular servers based on the processing power requirements of each group and the processing power available to each server. In the grouping process, accesses can be biased by giving more weight to object write operations than to object read operations, and to access operations on an index or dictionary than to access operations on a table.