IP Library Granted Patent US 8,250,177
Granted Patent B2
US 8,250,177 · App. 12/163,011 · Granted Aug 21, 2012

Uncached data control in server-cached page

Assignee: Microsoft Corporation
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 8,250,177
App. No.
12/163,011
Granted
Aug 21, 2012
Kind
B2
Abstract

Dynamic processing markers for use with cached web pages. If a request for a cached web page is received at a server, the server can provide the cached web page to the client. However, if there are one or more processing markers associated with the cached page, the server may process the dynamic processing marker using information from the request. Potentially, the dynamic result of this processing may be provided with the cached web page to the client. Alternatively or in addition, the dynamic processing marker is provided to the client, whereupon the client provides the processing marker to another server that processes the marker. Accordingly, even cached web pages that are cached at the server side may cause appropriate processing by the server upon receiving a request for the web page.

Claims (45)

1. A method for a server to respond to a client request for a web page, the method comprising:

an act of receiving, at a first server, a request from a client for a web page;

an act of determining that a copy of the web page is cached;

an act of determining that the copy of the web page includes a plurality of dynamic processing markers that identify that a plurality of portions of the copy of the web page requires dynamic content to be generated by the server using input information from the request from the client;

an act of executing a server control corresponding to a first of the plurality of dynamic processing markers using the input information from the request to generate the dynamic content to be included in the copy of the web page;

an act of returning the copy of the web page including the dynamic content and at least a second of the plurality of dynamic processing markers to the client without processing the second processing marker;

an act of receiving the second dynamic processing marker at a second server from the client;

an act of processing the second dynamic processing marker at the second server; and

an act of returning a result of the processing of the second dynamic processing marker to the client.

2. A method in accordance with claim 1 , wherein the input information comprises client-specific information.

3. A method in accordance with claim 1 , wherein the first and second server are the same server.

4. A method in accordance with claim 1 , wherein the dynamic content is not rendered at the client.

5. A method in accordance with claim 1 , wherein the dynamic content comprises a polling history for the client or user of the client.

6. The method of claim 1 , further comprising:

an act of the client receiving the copy of the web page including the second of the plurality of dynamic processing markers from the first server;

an act of the client determining that the web page includes the second dynamic processing marker; and

an act of the client providing the second dynamic processing marker to the second server for processing.

7. A method in accordance with claim 6 , further comprising:

an act of receiving the result of the processing from the second server to which the client provided the second dynamic processing marker.

8. A method in accordance with claim 7 , wherein the result is a tracking of whether or not the client or the user of the client has already voted.

9. A method in accordance with claim 6 , wherein the second server to which the second dynamic processing marker is provided is the same server as the first server that provided the copy of the web page to the client.

10. A method in accordance with claim 6 , wherein the second server to which the second dynamic processing marker is provided is different than the first server that provided the copy of the web page to the client.

11. A method in accordance with claim 6 , wherein the act of providing the second dynamic processing marker to the second server comprises an act of providing client or user-specific information to the second server.

12. A method in accordance with claim 11 , wherein the act of processing the second dynamic processing marker at the second server comprises registering a request that contains the second dynamic processing marker to thereby allow the second server to monitor network traffic.

13. A computer program product comprising one or more physical computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of a server, cause the server to perform the following upon receiving a request from a client for a web page:

an act of determining that a copy of the web page is cached;

an act of determining that the copy of the web page includes a plurality of dynamic processing markers that identify that a plurality of portions of the copy of the web page requires dynamic content to be generated by the server using input information from the request from the client;

an act of executing a server control corresponding to a first of the plurality of dynamic processing markers using the input information from the request and user server-side data to thereby generate the dynamic content to be included in the copy of the web page;

an act of embedding the dynamic content in the copy of the web page;

an act of returning the copy of the web page including the dynamic content corresponding to the first dynamic processing marker, as well as at least a second of the plurality of dynamic processing markers to the client without processing the second processing marker;

an act of receiving the second dynamic processing marker at the server from the client;

an act of processing the second dynamic processing marker at the server; and

an act of returning a result of the processing of the second dynamic processing marker to the client.

14. A computing system comprising one or more processors and memory storing computer-executable instructions that, when executed by the one or more processors, cause the computing system to perform the following upon receiving a request from a client for a web page:

an act of determining that a copy of the web page is cached;

an act of determining that the copy of the web page includes a plurality of dynamic processing markers that identify that a plurality of portions of the copy of the web page requires dynamic content to be generated by the computing system using input information from the request from the client;

an act of executing a server control corresponding to a first of the plurality of dynamic processing markers using the input information from the request and user server-side data to thereby generate the dynamic content to be included in the copy of the web page;

an act of embedding the dynamic content in the copy of the web page;

an act of returning the copy of the web page including the dynamic content corresponding to the first dynamic processing marker, as well as at least a second of the plurality of dynamic processing markers to the client without processing the second processing marker;

an act of receiving the second dynamic processing marker at the computing system from the client;

an act of processing the second dynamic processing marker at the computing system; and

an act of returning a result of the processing of the second dynamic processing marker to the client.

15. The computing system of claim 14 , wherein the computing system comprises a plurality of servers.

16. The computing system of claim 15 , wherein a first server receives the request for the web page and a second server receives the second dynamic processing marker from the client.

17. The computing system of claim 14 , wherein the dynamic content comprises a polling history for the client or user of the client.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2008
From: HONEIN, JAD NACHAT
To: MICROSOFT CORPORATION
Reel/Frame 021629/0780 →
Continuity (1)
Related Publication 20090327404A1 · Dec 31, 2009