Web Services Message Compression via History Cache References

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web Services (WS) and SOAP messaging incur significant bandwidth and communication overheads due to the ASCII nature of XML, which is exacerbated in resource-constrained environments like mobile devices, where traditional optimizations such as faster networks or CPUs are not feasible.

Innovation Solution

A system and method that reduces SOAP messaging overheads by maintaining a history of recent message bytes at both endpoints, replacing repetitive elements with references to cached versions, allowing for efficient compression and reduced latency, with a handshake protocol to negotiate and manage cache storage sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If SOAP messaging uses XML format with ASCII encoding, then message structure and readability are improved, but bandwidth consumption and communication overhead increase significantly

Engineering Contradiction:
Improvemessage readabilityVSAvoidbandwidth consumption
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent creates a cached copy of frequently occurring message patterns and structures. Instead of transmitting identical XML content repeatedly, the system stores a reference copy locally and substitutes subsequent occurrences with references to the cached version, reducing bandwidth consumption while maintaining message structure integrity

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transforms the message representation format by encoding frequently repeated XML patterns into compact reference forms. The system changes the parameter of message transmission from full ASCII XML to a hybrid format combining cached references with incremental updates, thereby reducing bandwidth while preserving readability through structured encoding

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If message compression is applied to reduce bandwidth, then communication efficiency is improved, but processing time and energy consumption increase

Engineering Contradiction:
Improvebandwidth usageVSAvoidprocessing latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-caching frequently occurring message patterns during idle periods or initial system operation. This advance preparation eliminates the need for real-time compression analysis during message transmission, reducing processing latency while maintaining compression benefits

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements self-service by automatically identifying and caching repetitive message patterns without requiring external compression algorithms. The cached references serve themselves by being directly substituted in subsequent transmissions, eliminating the computational overhead of traditional compression while maintaining bandwidth efficiency

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If cache storage is increased to store more message history, then compression ratio is improved, but memory consumption and device complexity increase

Engineering Contradiction:
Improvecompression ratioVSAvoidcache management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies partial action by caching only the most frequently occurring message patterns rather than storing complete message history. The system identifies and caches approximately the top recurring patterns, achieving significant compression ratios for the majority of messages while avoiding the memory overhead of comprehensive caching

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the parameter of cache storage from unstructured text to structured pattern templates. By representing cached messages as parameterized templates with variable placeholders, the system achieves higher compression ratios with smaller storage requirements, reducing both memory consumption and management complexity

Inventive Principle:
Principle #35Parameter changes

4Reliability

If SOAP messages are transmitted repeatedly with similar content, then service reliability is improved, but bandwidth waste and energy consumption increase

Engineering Contradiction:
Improveservice consistencyVSAvoidcommunication energy
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent creates cached copies of reliable message patterns that have been successfully transmitted before. When similar messages need to be sent, the system references the cached reliable patterns, ensuring service consistency while avoiding redundant transmission of identical content, thereby reducing energy consumption

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system implements feedback by monitoring message transmission patterns and automatically identifying repetitive content. The feedback mechanism tracks which messages are sent frequently and triggers caching actions, creating a self-optimizing system that reduces energy consumption while maintaining service reliability through consistent pattern recognition

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP1969814B1System and method for history driven optimization of web services communication
Publication Date: 2009.03.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP1969814B1 patent drawingFigure 1A~1B
  • EP1969814B1 patent drawingFigure 2A~2B
  • EP1969814B1 patent drawingFigure 3

AI summary

A system, method and computer program product for communicating Web-Services (WS) messages. First there is allocated an identical amount of a cache history-storage at each sender and receiver device for storing a history of communicated WS message strings. At the sender, there is generated an intermediate data representation (255, 260) of each message being built, the corresponding message string stored in the cache history storage. The message is communicated as a serialized data string according to the built data representation (255, 260). For each subsequent message to be communicated, the method comprises identifying identical portions (275) in intermediate data representations (255, 260) of a current message being built and replacing each identified portion in message strings with a reference indicator to a location in the cache history storage corresponding to an identical character string portion associated with a prior message that has been communicated. At the receiver device, the references are identified in received message strings and one or more intermediate data representations locally stored at the receiver device are substituted in the message to complete a build of the received message.