Content Recommendation System with Local Caching and Pre-calculation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing content recommendation systems face challenges in recommending content to users without assuming the presence of relevant content on the server, leading to unnecessary communication and processing, which reduces the number of clients that can be processed and results in an unpleasant user experience.
Innovation Solution
An information processing apparatus and method that learns user preferences for each content type category, selects recommendable and substitutable types based on type information, and obtains content from the server or another server, prioritizing types with high user preference and ensuring a sufficient number of content items meet threshold values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the server extracts content based on extraction conditions transmitted from the client, then content recommendation reflects user preference, but unnecessary communication and processing occur when recommendable content is not present
Solution Approach 1:
The system pre-calculates and stores extraction results for multiple extraction conditions in the server before actual content requests arrive. When a client requests content, the server checks whether the requested extraction condition already has pre-calculated results, avoiding redundant communication and processing. This preliminary preparation resolves the contradiction by ensuring reliable content recommendation while maintaining high processing capacity for multiple clients.
Solution Approach 2:
The client stores extraction results locally after receiving them from the server. When making subsequent content requests, the client checks its local storage for available results before communicating with the server, reducing unnecessary communication. This local caching mechanism maintains recommendation accuracy while improving system productivity by reducing server load and communication overhead.
2Productivity
If the server waits for client requests to extract and deliver content, then processing is demand-driven, but user experience deteriorates due to long waiting times
Solution Approach 1:
The server proactively extracts content based on predicted user needs and stores it in advance, rather than waiting for explicit client requests. By anticipating which content will be needed and preparing it beforehand, the system maintains efficient resource utilization while significantly reducing user waiting time. This proactive approach resolves the contradiction between demand-driven processing and user experience.
3Measurement precision
If the system transmits extraction conditions from client to server, then content can be precisely extracted, but communication overhead increases
Solution Approach 1:
The client stores extraction conditions and their corresponding results locally. When content is needed, the client checks its local storage first and only transmits extraction conditions to the server when necessary, rather than always communicating. This reduces communication overhead while maintaining precise content extraction when server assistance is required.
Solution Approach 2:
The system creates local copies of extraction results at the client side, eliminating the need for repeated transmission of the same extraction conditions and data. By copying results to local storage, the system maintains extraction precision while dramatically reducing communication energy consumption for subsequent content requests.
Data Source
AI summary
Disclosed is an information processing apparatus including: a learning unit that learns user preference for each type in each category for classifying content items in a server; a selection unit that, based on type information indicating a recommendable type which is a type of content items recommendable by the server and a substitutable type which is a type that satisfies a predetermined condition out of the recommendable type, selects one or more recommendable types in a case where there is the recommendable type corresponding with user preference in the selected category, and selects one or more substitutable types in the selected category in a case where there is no recommendable type corresponding with user preference; and an obtaining unit that obtains a content of the selected type from the server.


