IP Library Granted Patent US 6,934,761
Granted Patent B1
US 6,934,761 · App. 09/513,328 · Granted Aug 23, 2005

User level web server cache control of in-kernel http cache

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,934,761
App. No.
09/513,328
Granted
Aug 23, 2005
Kind
B1
Abstract

Methods and apparatus for managing a HTTP cache in a web server. A HTTP daemon in a web server may provide response data as well as one or more cache control indicators to a cache manager. The cache control indicators are adapted for managing information that is stored in the HTTP cache and/or controlling transmission of the response data. When the cache manager receives the response data and the cache control indicators from the HTTP daemon, the cache manager can modify the information stored in the HTTP cache as well as control the transmission of the response data in accordance with the cache control indicators.

Claims (36)

1. A method of managing an in-kernel HTTP cache in a web server, comprising:

receiving a request;

determining whether response data associated with the HTTP request is in the in-kernel HTTP cache;

when it is determined that response data associated with the HTTP request is in the in-kernel HTTP cache, obtaining an advisory state associated with the HTTP request from the in-kernel HTTP cache, the advisory state when in a first state indicating that it is necessary to obtain permission from a HTTP daemon to determine whether the response data can be transmitted and when in a second state indicating that the response data can be transmitted without obtaining permission from the HTTP daemon; and

transmitting the response data in accordance with the advisory state associated with the HTTP request.

2. The method as recited in claim 1 , wherein transmitting the response data in accordance with the advisory state associated with the HTTP request comprises:

when the advisory state is in the first state, sending an advisory request to the HTTP daemon, the advisory request requesting an advise state from the HTTP daemon indicating an action to be taken with the response data, and receiving the advise state from the HTTP daemon.

3. The method as recited in claim 2 , wherein transmitting the response data in accordance with the advisory state associated with the HTTP request when the advisory state is in the first state further comprises:

transmitting the response data without modifying the response data in the in-kernel HTTP cache when the advise state is in a first state.

4. The method recited in claim 2 , wherein transmitting the response data in accordance with the advisory state associated with the HTTP request when the advisory state is in the first state further comprises:

modifying the response data stored in the in-kernel HTTP cache as specified by the advise state.

5. The method as recited in claim 4 , wherein modifying the response data comprises:

removing at least one of the response data and the advisory state from the in-kernel HTTP cache when the advise state is in a second state.

6. The method as recited in claim 4 , wherein modifying the response data comprises:

receiving second response data from the HTTP daemon; and

performing at least one of replacing the response data in the in-kernel HTTP cache with the second response data and replacing the advisory state in the in-kernel HTTP cache with a second advisory state when the advise state is in a third state.

7. The method as recited in claim 2 , wherein transmitting the response data in accordance with the advisory state associated with the HTTP request when the advisory state is in the first state further comprises:

receiving second response data from the HTTP daemon; and

transmitting the second response data when the advise state is in a fourth state without transmitting the response data in the in-kernel HTTP cache and without storing the second response data in the in-kernel HTTP cache.

8. A computer-readable medium for managing an in-kernel HTTP cache in a web server, the computer-readable medium storing computer-readable instructions thereon, comprising:

instructions for receiving a HTTP request;

instructions for determining whether response data associated with the HTTP request is in the in-kernel HTTP cache;

instructions for when it is determined that response data associated with the HTTP request is in the in-kernel HTTP cache, obtaining an advisory state associated with the HTTP request from the in-kernel HTTP cache, the advisory state when in a first state indicating that it is necessary to obtain permission from a HTTP daemon to determine whether the response data can be transmitted and when in a second state indicating that the response data can be transmitted without obtaining permission from the HTTP daemon; and

instructions for transmitting the response data in accordance with the advisory state associated with the HTTP request.

9. An apparatus for managing an in-kernel HTTP cache in a web server, comprising:

means for receiving a HTTP request;

means for determining whether response data associated with the HTTP request is in the in-kernel HTTP cache;

means for when it is determined that response data associated with the HTTP request is in the in-kernel HTTP cache, obtaining an advisory state associated with the HTTP request from the in-kernel HTTP cache, the advisory state when in a first state indicating that it is necessary to obtain permission from a HTTP daemon to determine whether the response data can be transmitted and when in a second state indicating that the response data can be transmitted without obtaining permission from the HTTP daemon; and

means for transmitting the response data in accordance with the advisory state associated with the HTTP request.

10. An apparatus for managing an in-kernel HTTP cache in a web server, comprising:

a processor; and

a memory, at least one of the processor and the memory being adapted for:

receiving a HTTP request;

determining whether response data associated with the HTTP request is in the in-kernel HTTP cache;

when it is determined that response data associated with the HTTP request is in the in-kernel HTTP cache, obtaining an advisory state associated with HTTP request from the in-kernel HTTP cache, the advisory state when in a first state indicating that it is necessary to obtain permission from a HTTP daemon to determine whether the response data can be transmitted and when in a second state indicating that the response data can be transmitted without obtaining permission from the HTTP daemon; and

transmitting the response data in accordance with the advisory state associated with the HTTP request.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 12, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037278/0853 →