Cache Object Markers for Efficient Data Insertion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for inserting external data into cached web pages, such as advertisements, require scanning the entire page during vending, which is inefficient as the insertion points remain constant, leading to wasteful data processing.
Innovation Solution
Establishing markers in the cached object to identify contiguous sections, allowing for efficient replacement of specific strings with substitute data at vend time, utilizing a marker attribute table and filter software to manage and process the data stream.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the entire web page is scanned each time it is vended to find advertisement insertion points, then the advertisement data can be inserted into the correct locations, but the processing time and computational resources are wasted because the insertion points remain constant
Solution Approach 1:
The patent applies preliminary action by establishing markers during the fill operation (when the web page is initially cached) rather than during vend. The filter scans the web page once at fill time, identifies advertisement insertion points, and creates markers at these locations. These markers are stored with the cached web page, so during subsequent vend operations, the system can directly jump to marker locations without rescanning the entire page, significantly reducing processing time and improving data insertion efficiency.
2Productivity
If markers are established in the cached object to identify contiguous sections for replacement, then the speed of data insertion is improved, but the device complexity increases due to the need for marker attribute tables and filter software
Solution Approach 1:
The patent applies universality by designing the marker system to serve multiple functions: markers identify insertion points, store positional information, and enable efficient data replacement during vend operations. The marker attribute table structure is designed to be general-purpose, working with any type of cached content and any type of data insertion operation. This multi-functionality justifies the added system complexity by providing a versatile solution that improves data insertion speed across various applications.
3Loss of time
If filters process data concurrently through buffer operations, then processing delays are reduced, but maintaining marker accuracy across buffer operations becomes more difficult
Solution Approach 1:
The patent applies feedback by implementing a marker management system that tracks and updates marker positions as data moves through buffer operations. When filters process data concurrently and buffers are shifted or reallocated, the system receives feedback about position changes and automatically adjusts marker locations to maintain accuracy. This feedback mechanism ensures that markers continue to point to the correct insertion points even as data flows through multiple buffer operations, resolving the conflict between reduced processing delays and maintained marker accuracy.
Data Source
AI summary
Markers are established in a data object to provide a means to refer to specified parts of the object. Each marker is established within the object by giving the location and length of the part of the object that is to be marked. The marker continues to mark that part of the object as changes are made elsewhere in the object. As data is received into the cache computer it is stored in a sequence of buffers. A plurality of filters, all executing concurrently, search for different interesting string in the object. Each filter finds its interesting strings and marks them using the markers. The result of filtering data of the object is a marker attribute table identifying each of the markers by the offset and length of the interesting strings located by the filters. Vend time is the time at which the object is streamed out of the cache to a client computer. Before the data is vended, a User Data Filter (UDF) executes a call function which sets up a string substitution table. The substitution table has entries for substitution, including the offset at which to make the substitution and the string to be substituted into the streaming object. A byte counter tracks the outgoing data stream of the object, and whenever the byte count matches an offset of a marker, the length entry in the marker attribute table determines the length of an omitted string, and the substitute string is placed in the outgoing data stream.


