Observer Update Control via Aspect Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional subject/observer systems are inflexible and inefficient, particularly in distributed systems, as they require all observers to receive updates from a subject regardless of their interest or capacity, leading to bottlenecks and excessive communication costs due to unoptimized resource usage and code bloat.
Innovation Solution
Implementing an observer-defined and controlled mechanism where observers can dynamically register for and manage updates from a subject, using an aspect code segment to selectively communicate updates based on configuration information, thereby filtering and throttling notifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the subject notifies all observers of state changes, then data consistency is maintained, but system resources are wasted and bottlenecks occur due to unnecessary updates to observers not interested or unable to handle the updates
Solution Approach 1:
The patent applies local quality by making each observer's update reception capability heterogeneous. Observers declare their own update handling capabilities and interests through configuration information, allowing the system to treat different observers differently based on their specific needs and capacities rather than applying a uniform notification approach to all observers
Solution Approach 2:
The patent implements dynamics by making the update notification process adaptive and configurable. Observers can dynamically control which updates they receive and how they are notified through configuration information, allowing the system to adjust notification behavior based on current observer capabilities and interests rather than following a fixed notification pattern
2Adaptability or versatility
If the subject maintains multiple observer lists for different relationship types, then different data exchange needs are met, but code complexity increases and maintainability decreases
Solution Approach 1:
The patent applies universality by creating a single unified observer list that can handle multiple types of relationships and data exchange scenarios. The configuration information mechanism provides the versatility needed to support different relationship types without requiring separate observer lists, allowing one structure to serve multiple functions
Solution Approach 2:
The patent extracts the relationship-specific configuration requirements from the observer list structure itself. By moving relationship type and update preference information into configurable parameters associated with individual observers, the patent separates the concerns of observer management from relationship type management, reducing structural complexity
3Productivity
If remote messages are sent between distributed systems, then parallel task execution is enabled, but communication costs increase and performance decreases due to slower message transmission rates
Solution Approach 1:
The patent applies partial action by implementing selective notification where observers receive only the specific updates they are interested in and can handle. This reduces the volume of remote messages transmitted between distributed systems while maintaining the parallel processing capability, as each observer receives a tailored subset of updates rather than all possible updates
Data Source
AI summary
A method and apparatus for maintaining data consistency between a subject and an observer. In one embodiment, an observer configures an aspect with a desired update type indicator, and then instructs the aspect to attach itself to a subject. The subject sends an update to the aspect when it changes state. The aspect interrogates the update, generates a update type indication, and selectively communicates an update based on a comparison between the desired type indication and the update type indicator. Some embodiments may also selectively modify and accumulate the update.


