Multi-Core Cookie Proxy Management for HTTP Transaction Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data communication networks face inefficiencies in cookie management due to variations in network configurations and connections, particularly when using intermediaries like proxies, firewalls, and gateways, which affect the performance and efficacy of cookie operations in multi-core systems.
Innovation Solution
A method and system for managing cookies in a multi-core device that intercepts and processes HTTP transactions between clients and servers, utilizing a cookie proxying mechanism to improve performance and management by optimizing cookie operations across multiple core processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single-core device processes HTTP transactions and manages cookies, then cookie management is straightforward, but performance and throughput are limited
Solution Approach 1:
The patent divides the cookie management system into multiple independent worker threads, each handling HTTP transactions on separate cores. Each worker thread maintains its own cookie jar and processes requests independently, allowing parallel cookie management operations across multiple cores while keeping individual thread complexity manageable.
Solution Approach 2:
The patent introduces a cookie proxy mechanism that acts as an intermediary between worker threads and the cookie storage system. The cookie proxy receives cookie operations from multiple workers, manages the actual storage and retrieval, and returns results to requesting workers, enabling coordinated cookie management across parallel cores.
2Productivity
If multiple worker threads process HTTP transactions in parallel, then throughput increases, but race conditions and synchronization issues arise
Solution Approach 1:
Each worker thread is assigned its own dedicated cookie jar, creating isolated storage spaces that eliminate race conditions. Workers can independently manage cookies for their assigned domains or clients without interfering with other workers, maintaining data consistency while enabling parallel processing.
Solution Approach 2:
The cookie proxy serves as a mediator that coordinates access to shared cookie storage resources. It implements thread-safe operations by serializing access to common cookie jars, managing synchronization internally, and presenting a consistent interface to multiple workers, thereby maintaining reliability while supporting parallel throughput.
3Reliability
If cookies are managed centrally in a single location, then consistency is maintained, but access time and processing delay increase
Solution Approach 1:
Cookie storage is segmented into multiple distributed cookie jars, with each worker thread having direct access to its assigned jar(s). This eliminates the need for centralized access, allowing workers to retrieve and store cookies locally without communication delays, while consistency is maintained through the proxy's coordination of shared resources.
Solution Approach 2:
Cookie jars are pre-initialized and allocated to worker threads before processing begins. Frequently accessed cookies are kept in readily accessible memory structures within each worker's context, eliminating the need for repeated disk I/O or complex lookup operations during transaction processing.
4Reliability
If cookie operations are performed synchronously, then data accuracy is ensured, but processing speed and response time decrease
Solution Approach 1:
Cookie operations are segmented into independent atomic actions performed by separate worker threads. Each worker executes cookie set, get, and delete operations independently without requiring synchronization barriers, allowing accurate cookie management to proceed in parallel across multiple cores simultaneously.
Solution Approach 2:
The cookie proxy implements asynchronous processing by queuing cookie operations and processing them in the background. It accepts requests from workers immediately, records them for later processing, and notifies workers when operations complete, ensuring accuracy through proper sequencing while maintaining high processing speed through parallel operation execution.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
The present solution is directed towards systems and methods for managing cookies by a multi-core device. The device is intermediary to a client and one or more servers. A first core of a multi-core device receives a response from a server to a request of the client through a user session. The response comprises a cookie. The first core removes the cookie from the response and stores the cookie in a corresponding storage for the session. The first core forwards the response without the cookie to the client. A second core then receives via a session, a second request from the client. The second core determines the identification of the first core as owner of the session from the second request. The second core then communicates to the first core a third request for cookie information for the session.