Workflow State Compression via Keyed Compound Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Representing the state of a workflow becomes challenging due to large data sizes, leading to unmanageable duplication when paused or transferred between devices, especially in enterprise environments with extensive records.

Innovation Solution

Detecting large data objects and replacing them with compound objects that include the data and a unique key, allowing subsequent instances to reference the key instead of the data, thereby reducing file size by eliminating duplication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the workflow state is stored with all data objects included, then the state representation is complete and accurate, but the file size grows unmanageably large due to duplication

Engineering Contradiction:
Improvestate representation completenessVSAvoidfile size
Core Design Contradiction:
ReliabilityVSWeight of stationary object

Solution Approach 1:

The patent applies the copying principle by creating a map that stores references (copies of keys) to large data objects instead of storing the objects themselves multiple times. When a large object is encountered during serialization, a unique key is generated and stored in the map, and subsequent references use this key instead of duplicating the original data. This maintains completeness while dramatically reducing file size.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary mechanism - a map data structure that acts as a mediator between multiple references to the same large object and the actual object storage. The map stores key-value pairs where the key is a unique identifier and the value is the large object or a reference to it. This intermediary layer allows the system to maintain object integrity while avoiding duplication in the serialized output.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If multiple copies of the same data object are stored in the state representation, then all references are self-contained, but storage efficiency and network capacity are wasted

Engineering Contradiction:
Improvestate representation self-containmentVSAvoidredundant data copies
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

Instead of copying the actual large data objects multiple times, the patent copies only the small unique keys that reference these objects. The map stores these key references, and during serialization, only the keys are written to the output file rather than the full object data. This maintains the ability to reconstruct the state while eliminating redundant data copies.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent extracts the essential identifying information (unique keys) from the large data objects and stores only these extracted identifiers in the serialized state representation. The actual large objects are kept separate in memory or storage, and the serialized file contains only references to them. This extraction approach maintains operational capability while removing redundancy.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11392563B2Efficient compression of workflow state representations
Publication Date: 2022.07.19 SERVICENOW INC
  • US11392563B2 patent drawing
  • US11392563B2 patent drawing
  • US11392563B2 patent drawing

AI summary

A computing system may include a computing device, within a computational instance that is associated with a managed network, and a proxy server application disposed within the managed network, where the computing device is configured to: obtain a first reference to an element of a de-serialized state representation of a workflow; determine that the element contains a text string greater than a pre-determined threshold length; write a first compound object to a file, where the first compound object contains the text string and a key that uniquely identifies the text string; associate the key with the text string in a map; obtain a second reference to the element; determine that the text string contained by the element is associated with the key in the map; and write a second compound object to the file, where the second compound object contains the key but does not contain the text string.