×

System and methods for invalidation to enable caching of dynamically generated content

  • US 20050192995A1
  • Filed: 05/04/2005
  • Published: 09/01/2005
  • Est. Priority Date: 02/26/2001
  • Status: Active Grant
First Claim
Patent Images

1. In a system for producing dynamically generated content in response to user content requests that generate database queries, a method for invalidating dynamically generated content stored in caches of network devices, comprising:

  • receiving updates to a database of the system;

    periodically performing processing on a set of received queries to identify queries for which corresponding dynamically generated content will be invalidated as a result of said updates; and

    sending invalidation messages to devices storing said corresponding content of said identified queries, wherein said processing comprises, for a given query Q, determining whether a results set is empty or non-empty, the results set consisting of the results;


    [(R+1custom characterRnew,2custom character . . . custom characterRnew,n)∪

    . . . ∪

    (Rnew,1custom character . . . custom characterR+jcustom character . . . custom characterRnew,n)∪

    . . . ∪

    (Rnew,1custom character . . . custom characterRnew,n-1custom characterR+n)]∪


    [(R

    1custom characterRold,2custom character . . . custom characterRold,n)∪

    . . . ∪

    (Rold,1custom character . . . custom characterR

    jcustom character . . . custom characterRold,n)∪

    . . . ∪

    (Rold,1custom character . . . custom characterRold,n-1custom characterR

    n)] 

    where each Rn is a relation involved in the query Q, each Rold,n is a state of the relation Rn as of the beginning of a preceding processing cycle, each Rnew,n is a state of the relation Rn as of the beginning of the current processing cycle, each R

    n is a subset of tuples deleted from the relation Rn since the beginning of a preceding processing cycle, and each R+n is a subset of tuples added to the relation Rn since the beginning of a preceding processing cycle, and if said results set is non-empty, designating said query Q as one of said identified queries.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×