Dynamic Key Generation for Resource Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network optimization techniques face challenges in caching resources, particularly in services like video streaming over the internet, where URL variations prevent effective caching due to the need for manual and error-prone maintenance of static regular expressions, leading to inefficiencies and data inconsistencies.

Innovation Solution

Implementing a caching device that automatically collects and analyzes multiple distinct resource identifiers to generate dynamic keys, which are used to cache resources, eliminating the need for manual configuration and ensuring adaptability to changes in client software updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If static regular expressions are used for caching resource identifiers, then caching can be performed for some services, but manual configuration and maintenance becomes error-prone and complex when URL variations occur

Engineering Contradiction:
Improveautomatic cachingVSAvoidmanual configuration complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The caching device automatically analyzes resource identifiers and generates regular expressions without human intervention. The system monitors resource requests, extracts patterns from resource identifiers, and dynamically creates caching rules, making the system self-configuring and eliminating manual maintenance burden

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The regular expressions are generated dynamically based on observed resource identifier patterns rather than being static pre-configured rules. The system adapts to URL variations by continuously learning from incoming requests and updating its caching patterns automatically

Inventive Principle:
Principle #15Dynamics

2Reliability

If manual configuration of regular expressions is used, then caching rules can be established, but maintenance becomes error-prone and time-consuming when service updates occur

Engineering Contradiction:
Improvecaching consistencyVSAvoidmaintenance time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system continuously monitors resource requests and uses the observed patterns to validate and update regular expressions. This feedback loop ensures caching rules remain consistent with actual service behavior, automatically adapting to updates without manual intervention

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The caching device proactively generates and updates regular expressions based on observed patterns before manual maintenance is needed. By continuously learning from incoming requests, the system prepares updated caching rules in advance, preventing inconsistencies before they occur

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If exact URL matching is used for caching, then simple resources can be cached, but video segments with varying URLs cannot be cached effectively

Engineering Contradiction:
Improvecaching applicabilityVSAvoidpattern generation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system transforms specific URL parameters into generalized patterns by identifying common structures across multiple requests. Instead of matching exact URLs, it extracts parameter patterns (e.g., video ID, segment position) and creates regular expressions that match variations while preserving caching capability

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10375197B2Dynamic key generation for identifying data segments
Publication Date: 2019.08.06 RIVERBED TECH LLC
  • US10375197B2 patent drawing
  • US10375197B2 patent drawing
  • US10375197B2 patent drawing

AI summary

Systems and techniques are described for caching resources. Multiple distinct resource identifiers that correspond to the same resource can be automatically collected, wherein the multiple distinct resource identifiers are included in resource requests that are sent from at least one client to at least one server. Next, a key can be automatically determined that matches the multiple distinct resource identifiers by analyzing the multiple distinct resource identifiers. A resource request can be received from a client that includes a resource identifier, and in response to determining that the resource identifier matches the key, the resource can be sent to the client.