XML Annotation Element for Version-Independent Protocol Extension

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing XML schema-based systems face complexity in managing multiple active versions and ensuring data compatibility between applications, requiring version tracking and backward compatibility maintenance.

Innovation Solution

The introduction of an XML element named 'Annotation' allows for the extension of XML protocols to support version independence, enabling clients and servers to exchange extra data without relying on the standard schema, thus eliminating the need for version tracking and maintaining backward compatibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple active versions of XML schema are supported, then protocol flexibility and adaptability improve, but system complexity increases due to version tracking requirements

Engineering Contradiction:
Improveprotocol flexibilityVSAvoidversion tracking complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the XML schema into two distinct parts: the core schema (defined by the protocol specification) and the annotation schema (for version-specific extensions). This segmentation allows applications to independently manage version-specific annotations without affecting the core protocol structure, thereby reducing the complexity of version tracking while maintaining protocol flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts version-specific data handling into a separate annotation layer that is independent from the core XML schema. By taking out version tracking requirements from the core protocol and placing them in the annotation layer, the system achieves version independence at the protocol level while allowing individual applications to manage their own version-specific annotations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If XML schema is revised to support application changes, then application functionality improves, but compatibility maintenance becomes difficult

Engineering Contradiction:
Improveapplication functionalityVSAvoiddata compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies local quality by allowing each application to have its own local annotations that are specific to its version requirements, while the core XML schema remains uniform across all applications. This enables each application to customize its data exchange format locally through annotations without affecting the global compatibility of the core protocol, thus maintaining both functionality and compatibility.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent creates a universal annotation structure that can serve multiple functions: it can carry version information, application-specific data extensions, and compatibility markers all within the same XML framework. This multi-functional annotation system allows a single schema revision mechanism to handle various application needs without compromising data compatibility across different versions.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If version tracking system is implemented, then data exchange accuracy improves, but operational complexity increases

Engineering Contradiction:
Improvedata exchange accuracyVSAvoidoperational simplicity
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent implements preliminary action by embedding version identification and compatibility information directly into the XML annotations before data exchange occurs. The annotations are prepared in advance with version markers and compatibility indicators, eliminating the need for runtime version negotiation or tracking systems, thereby maintaining data exchange accuracy while simplifying operations.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If mapping of data types to protocol versions is maintained, then data transmission reliability improves, but system complexity increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidmapping maintenance complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables self-service by incorporating self-identification mechanisms within the XML annotations themselves. Each annotation includes inherent version and compatibility information that allows receiving applications to automatically identify and process the correct data format without requiring external mapping tables or complex maintenance systems. The annotations serve themselves by containing all necessary identification information.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10048992B2Extension of schematized XML protocols
Publication Date: 2018.08.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10048992B2 patent drawing
  • US10048992B2 patent drawing
  • US10048992B2 patent drawing

AI summary

An application using one version of a schematized XML protocol communicates with another application using a different version of the schematized XML protocol. The different versions may correspond to different deployments or releases of the protocol. Each application generates messages to be sent using two data sets. A first data set is incorporated into the message using elements available in a standard XML protocol schema. A second data set is incorporated into the message using XML annotation elements. The receiving application processes the message using the schematized XML protocol to parse out the first data set. The receiving application further parses the message to identify the second data set that is carried by enhanced XML annotation elements. Extension or annotations are flexibly added to the XML protocol without requiring the client application to request—or the server application to respond to—a pre-negotiated number or type of annotations.