Partitioning Program Trees via Visibility Spaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Continuation-based runtime systems lack efficient mechanisms for partitioning program trees into subsets, which hinders performance optimizations, runtime object lifetime guarantees, and symbol visibility management.

Innovation Solution

The system differentiates between public and implementation child activities to define visibility spaces, allowing for partial processing and unique identification of activities, enabling static data flow rules and performance optimizations by partitioning the activity tree based on relationships between parent and child nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the program tree is partitioned into visibility spaces based on implementation children activities, then performance optimizations and runtime object lifetime guarantees are improved, but the device complexity increases due to the need to differentiate between public and implementation child activities

Engineering Contradiction:
Improveperformance optimizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The program tree is segmented into multiple visibility spaces, where each visibility space represents a partitioned subset of activities. Implementation children activities serve as boundary markers that define the scope of each visibility space, allowing the system to process and optimize specific partitions independently while maintaining overall program integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary classification mechanism that differentiates between public child activities and implementation child activities. This intermediary layer acts as a mediator that automatically manages the complexity of partitioning by providing clear rules for defining visibility space boundaries, thereby reducing the burden on the system while enabling performance optimizations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the activity tree is partitioned into visibility spaces with boundaries based on implementation children activities, then symbol visibility management is improved, but the difficulty of detecting and measuring increases due to the hierarchical relationships between parent and child nodes

Engineering Contradiction:
Improvesymbol visibility managementVSAvoiddetection complexity
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary classification of child activities into public and implementation categories during the program definition phase. This preliminary action establishes the visibility space boundaries in advance, making symbol visibility management more reliable without requiring complex real-time detection during execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by focusing detection and measurement efforts only on the boundary definitions provided by implementation children activities, rather than analyzing all possible relationships in the activity tree. This selective approach reduces the overall detection complexity while maintaining reliability.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9122461B2Method and system for iteratively partitioning and validating program trees into environments at visibility space granularity
Publication Date: 2015.09.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9122461B2 patent drawing
  • US9122461B2 patent drawing
  • US9122461B2 patent drawing

AI summary

Partitioning continuation based runtime programs. Embodiments may include differentiating activities of a continuation based runtime program between public children activities and implementation children activities. The continuation based runtime program is partitioned into visibility spaces. The visibility spaces have boundaries based on implementation children activities. The continuation based runtime program is partially processes at a visibility space granularity.