Partial-Order Planning for Data Item Dependency Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data saving methods fail to correctly handle dependencies between data items, leading to issues where items cannot be created in a single request due to missing real IDs, resulting in inefficient data serialization and potential errors in complex dependency chains.

Innovation Solution

Implementing partial-order planning to determine and manage dependencies between data items, creating an ordered list of steps for saving data items based on their dependencies, allowing for correct serialization and handling of multipart requests even when the server does not support them.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple data items are saved in a single multipart request, then the save operation is more efficient, but dependencies between data items require complex ordering logic and may fail when real IDs are not yet available

Engineering Contradiction:
Improvesave operation efficiencyVSAvoiddependency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis of dependencies between data items before creating the multipart request. By determining the save order in advance based on dependency relationships, the system ensures that parent items are saved before their children, and resolves real ID availability issues by planning the sequence beforehand.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary dependency analysis mechanism that mediates between multiple data items with complex relationships. This intermediary process identifies and resolves conflicts in save ordering, ensuring that items are saved in the correct sequence while maintaining the efficiency of batch operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data items are saved individually to handle dependencies, then dependency conflicts are avoided, but the save operation becomes less efficient due to increased request overhead

Engineering Contradiction:
Improvedependency handling reliabilityVSAvoiddata saving efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system merges multiple data item save operations into a single multipart request while maintaining proper dependency ordering. By combining operations that can be executed in parallel or sequential order into one request, the system achieves both the reliability of handling dependencies correctly and the efficiency of reduced network overhead.

Inventive Principle:
Principle #5Merging (Combining)

3Loss of information

If the client waits for all responses before sending next requests, then dependency information is available, but the processing time increases significantly

Engineering Contradiction:
Improvedependency information availabilityVSAvoidprocessing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system performs preliminary dependency analysis to determine the save order before executing requests. By knowing the required sequence in advance, the system can send requests in the correct order without waiting for intermediate responses, thus avoiding unnecessary delays while ensuring dependency information is available when needed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8527580B2Saving multiple data items using partial-order planning
Publication Date: 2013.09.03 SERVICENOW INC
  • US8527580B2 patent drawing
  • US8527580B2 patent drawing
  • US8527580B2 patent drawing

AI summary

A method for saving data may include determining dependencies, by a processing device, between a plurality of data items. The method may also include initiating a save operation by the processing device. Initiating the save operation may include forming a partial-order plan for saving the data items. Forming the partial-order plan may include creating an ordered list of steps which are executable for saving the data items based on the dependencies between the data items.