Pre-fetch Cache for Network Traffic Reduction in Antivirus Services
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current file reputation services face increased network traffic and costs due to premature cache purging and inefficient local client cache utilization, leading to slower response times and higher bandwidth expenses.
Innovation Solution
A pre-fetch cache is generated in the cloud, allowing clients to retrieve a customized cache with relevant CRC code-result pairs in a few queries, reducing network traffic by grouping CRC codes based on common attributes and calculating traffic reduction to maximize bandwidth savings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a traditional local client cache is used, then response time is fast (1 ms), but the cache is purged prematurely and requires multiple queries to accumulate usable data
Solution Approach 1:
The system performs preliminary actions by generating a pre-fetch cache in the cloud before clients need it. The pre-fetch cache is created by analyzing access logs and grouping CRC codes with common attributes, then proactively distributed to clients before they would otherwise need to query individually, eliminating the time needed to accumulate cache data through multiple queries
2Reliability
If multiple queries are sent to accumulate cache data, then the cache becomes usable, but network traffic increases dramatically
Solution Approach 1:
The system merges multiple individual client queries into a single pre-fetch cache distribution operation. By grouping CRC codes that share common attributes (such as region, product, continuous query patterns) and downloading them together as one pre-fetch cache, the system reduces network traffic from many separate queries to a single consolidated data transfer
Solution Approach 2:
The pre-fetch cache is generated in advance by analyzing access logs and identifying groups of CRC codes with common attributes. This preliminary analysis and grouping allows the system to prepare the cache data before clients need it, eliminating the need for multiple reactive queries and reducing overall network traffic
3Reliability
If the cache is purged to maintain freshness, then data accuracy is maintained, but the cache becomes useless and requires re-downloading
Solution Approach 1:
The system performs preliminary actions by generating pre-fetch caches in the cloud before clients need them. By proactively creating and distributing cached data based on predicted needs (using access log analysis and attribute grouping), the system ensures fresh data is available without requiring clients to wait for cache repopulation after purging
4Reliability
If backend servers handle all queries, then data freshness is ensured, but response time increases to more than 350 ms
Solution Approach 1:
The system segments the cache functionality into two parts: a traditional local client cache for immediate responses and a new pre-fetch cache for proactive data delivery. The pre-fetch cache handles anticipated queries locally, while the traditional cache and backend servers handle actual queries, dividing the workload to achieve both fast response times and data freshness
Data Source
AI summary
A server access log includes data records each describing a previous query regarding a suspect computer file of a client computer. Each record includes the CRC code for the suspect computer file, the result of the malware analysis performed on the backend server and other attributes and values. The log is analyzed to retrieve relevant attributes and values from each record. Key attributes and values are generated such as region and continuous query. All CRC codes are grouped according to attribute values. Each group is analyzed to determine the network traffic associated with downloading the entire group to all user computers and the network traffic associated with not downloading the group but responding to future malware queries regarding CRC codes in the group. CRC codes are removed from each group if necessary. CRC code-result pairs for each group are downloaded to all user computers as a pre-fetch cache.


