XML Schema Annotations for Fragment Caching Policies
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for managing caching policies for XML and XHTML content over networks are inefficient, requiring per-document annotations, labor-intensive code changes, and redundant data transmission, especially when dealing with dynamically assembled documents and multiple protocols.
Innovation Solution
Specifying caching policies in metadata that describes the structure of document classes, allowing client processes to apply these policies to all conforming documents, thereby enabling protocol-independence, centralized maintenance, and minimizing redundant data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If per-document caching policy annotations are used, then caching policies can be precisely controlled for individual documents, but the complexity of document deployment and maintenance increases significantly
Solution Approach 1:
The patent segments caching policies into two levels: document-level annotations (for precise control when needed) and fragment-level annotations (for granular control within documents). This segmentation allows the system to apply the appropriate level of annotation based on the specific caching requirements, reducing overall complexity while maintaining precision where necessary.
Solution Approach 2:
The patent creates a universal annotation system that works across multiple wire protocols (HTTP, SOAP, RMI/IIOP) without requiring protocol-specific implementations. The fragment-based annotation approach provides multi-functionality by serving both as a caching policy mechanism and as a document structure description, eliminating the need for separate protocol-specific caching solutions.
2Reliability
If ESI markup tags are added to each cacheable fragment, then fragment-level caching control is achieved, but retrofitting existing documents and updating code becomes difficult and laborious
Solution Approach 1:
The patent applies preliminary action by providing tools that automatically generate fragment-based annotations during the document creation or deployment phase. This allows caching policies to be configured in advance without requiring manual insertion of markup tags into existing documents, significantly reducing the labor required for retrofitting and deployment.
Solution Approach 2:
The patent introduces an intermediary layer (the fragment annotation system) that sits between the document content and the caching mechanism. This intermediary provides a standardized interface for specifying caching policies without requiring changes to the underlying document structure or content, making it easy to apply to existing documents.
3Reliability
If caching policies are communicated per-document, then precise control is possible, but redundant data transmission occurs across multiple protocols and document instances
Solution Approach 1:
The patent merges caching policy information into the fragment annotations that are already part of the document structure. Instead of transmitting separate caching policy data for each document or fragment, the policy information is combined with the fragment metadata, eliminating redundant transmissions. The fragment annotations serve dual purposes: describing document structure and specifying caching behavior.
Solution Approach 2:
The fragment-based annotation system provides universality by working across all wire protocols without requiring protocol-specific caching extensions. A single fragment annotation format can be used whether the document is transmitted via HTTP, SOAP, or RMI/IIOP, eliminating the need to maintain and transmit multiple protocol-specific caching policy formats.
4Reliability
If code changes are made to generate documents with caching annotations, then caching policies can be embedded in dynamically generated documents, but the labor intensity and error risk increase
Solution Approach 1:
The patent enables self-service by providing automated tools that generate fragment-based annotations from document templates or existing document structures. These tools allow caching policies to be configured through declarative specifications rather than requiring programmatic embedding in the document generation code, significantly reducing labor intensity and error risk while maintaining reliable policy embedding.
Data Source
AI summary
The challenge of communicating document caching policies from document servers to client processes in the most generally applicable manner is solved by enabling the application of caching policies to classes of documents, rather than single instances of documents. Caching policies are applied to a given class of documents by specifying caching policies in metadata that describes the structure of the class of documents that conform to the metadata. In the context of XML data documents and document fragments, an XML schema can be annotated to include a representation of a caching policy, thereby specifying the caching policy for XML data documents and fragments that conform to the corresponding XML schema.


