Shared Client Caching Dispatcher for Network Traffic Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In client-server architectures, multiple clients requesting the same resource from a server lead to increased server load and network traffic, causing delays due to redundant requests and packet collisions.
Innovation Solution
Implementing a method to share cached resources between clients, where a dispatcher module determines if a requested resource is cached on a neighboring client or the server, allowing clients to retrieve resources from each other directly, thereby reducing server load and network traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If each client sends its own request to the server for the same resource, then each client can retrieve the resource independently, but server load increases and network traffic increases causing packet collisions and delays
Solution Approach 1:
Multiple clients share a single cached copy of the resource stored on the server. When one client retrieves a resource, it is cached on the server, and subsequent requests from other clients are served from this shared cache, merging multiple retrieval operations into a single storage operation followed by multiple fast reads.
Solution Approach 2:
The server proactively caches resources that are frequently requested by multiple clients. By anticipating future requests and maintaining cached copies on the server, the system prepares in advance to serve subsequent clients quickly without requiring them to wait for resource retrieval from external sources.
2Reliability
If each client sends its own request to the server, then resource access is ensured, but network traffic increases leading to packet collisions on the network segment
Solution Approach 1:
Multiple clients share a single cached copy of the resource stored on the server. When one client retrieves a resource, it is cached on the server, and subsequent requests from other clients are served from this shared cache, merging multiple retrieval operations into a single storage operation followed by multiple fast reads.
Solution Approach 2:
The server acts as an intermediary that maintains a shared cache between multiple clients. Instead of clients directly competing for resources from external sources, the server mediates by providing cached copies to multiple clients, reducing the total network traffic and eliminating packet collisions on client network segments.
3Speed
If resources are cached locally at each client for exclusive use, then each client has fast access to its cached resources, but additional hardware like proxy servers would be needed to enable sharing
Solution Approach 1:
Multiple clients share a single cached copy of the resource stored on the server. When one client retrieves a resource, it is cached on the server, and subsequent requests from other clients are served from this shared cache, merging multiple retrieval operations into a single storage operation followed by multiple fast reads.
Solution Approach 2:
The server's cache memory serves multiple functions: it stores resources for individual client access, shares resources across multiple clients, and eliminates the need for additional proxy server hardware. This multi-functional use of the server's caching capability achieves resource sharing without increasing device complexity.
Data Source
AI summary
According to some embodiments, a method and apparatus are provided to determine if a requested resource is cached at a first client or at a server based on a received list. In a case that the requested resource is determined to be cached at the first client, a request is sent to the first client for the cached resource. Else, a request is sent to the server for the cached resource. The cached resource is received.


