Session-cache-based HTTP acceleration
AssigneeJuniper Networks, Inc.
InventorsTian Chen, Wei Hua Guo, Chaohua Wan
Life of this patent
Estimating the term…
Abstract
A method performed by a device includes receiving a first Hyper-Text Transfer Protocol (HTTP) packet, creating a first session based on the HTTP packet, and creating a session cache entry for the first session. The method also includes receiving a second HTTP packet, performing a session cache lookup to identify a match of the second HTTP packet with the session cache entry, and creating a second HTTP session based on the match of the second HTTP packet with the session cache entry.
Claims21
A method comprising:
- receiving, by a device, a first data unit, the first data unit being associated with establishing a first Hyper-Text Transfer Protocol (HTTP) connection, of a plurality of HTTP connections, between a client and server, the plurality of HTTP connections being associated with the client rendering a web page provided by the server;
- initiating, by the device, a first session, associated with the first HTTP connection between the client and the server, based on receiving the first data unit;
- storing, by the device, first information associated with the first session,
- the first information including:
- a source IP address associated with the first session,
- a destination IP address associated with the first session, and
- a destination port associated with the first session;
- determining, by the device, a first hash value based on the first information;
- receiving, by the device, a second data unit, the second data unit being associated with establishing a second HTTP connection, of the plurality of HTTP connections, between the client and the server, the second HTTP connection being different from the first HTTP connection;
- determining, by the device, a second hash value using data included in the second data unit;
- determining, by the device, based on comparing the first hash value and the second hash value, that a second session, to be initiated based on the second HTTP connection, is associated with the first session,
- the first session comprising an active session;
- initiating, by the device and using the first information, the second session, associated with the second HTTP connection between the client and the server, based on the second session being associated with the first session and the first session comprising the active session;
- and
- updating, by the device, the first information based on the second session.
A device comprising:
- a memory, and
- a processor to:
- receive a first data unit associated with a request to establish a first session via a first Hyper-Text Transfer Protocol (HTTP) connection, of a plurality of HTTP connections, associated with a client device rendering a web page provided by a server device,
- initiate the first session based on the first data unit,
- store, in the memory, information associated with the first session,
- the information including:
- first information identifying:
- a source IP address associated with the first session,
- a destination IP address associated with the first session, and
- a destination port associated with the first session, and
- second information identifying:
- a policy associated with the first session,
- determine a first hash value based on the stored information associated with the first session,
- receive a second data unit associated with a request to establish a second session via a second HTTP connection of the plurality of HTTP connections,
- the second HTTP connection being different from the first HTTP connection,
- determine a second hash value based on data associated with the second data unit,
- compare the first hash value and the second hash value,
- determine, based on comparing the first hash value and the second hash value, that the second session is associated with the first session,
- the first session comprising an active session;
- initiate, using the first information, the second session based on the second information and based on the second session being associated with the first session, and
- store, in the memory, information associated with the second session.
A computer-readable memory device that stores instructions, the instructions comprising:
- one or more instructions which, when executed by at least one processor, cause the at least one processor to store information associated with a plurality of sessions associated with a plurality of Hyper-Text Transfer Protocol (HTTP) connections established between a client device and a server device,
- the plurality of connections being established to enable the client device to render a web page provided via the server device, and
- the stored information identifying a source address, a destination address, and a destination port associated with the plurality of sessions;
- one or more instructions which, when executed by the at least one processor, cause the at least one processor to determine, based on the source address, the destination address, and the destination port, a first hash value associated with the plurality of sessions;
- one or more instructions which, when executed by the at least one processor, cause the at least one processor to receive a HTTP packet requesting a new session associated with the client device rendering the web page,
- one or more instructions which, when executed by the at least one processor, cause the at least one processor to determine, based on the first hash value, that the new session is associated with the plurality of sessions,
- the plurality of sessions comprising active sessions;
- and
- one or more instructions which, when executed by the at least one processor, cause the at least one processor to initiate the new session, requested by the HTTP packet, based on the source address, the destination address, and the destination port associated with the plurality of sessions.
Dependencies are inferred from the claim text.