System and method for caching and validating user and command specific server response messages
View Patent ↗A system and method is provided for user and command specific place based caching with cache validation, including a server; a database; a server cache; the server responsive to receiving a request message for generating a user-specific cache file name, accessing the server based cache with the file name to obtain a cached response message, validating the cached response message, generating a response message selectively from the cached response message if obtained and validated, and otherwise generating from the database and selectively caching the response message.
1. A method for user and command specific place based caching with cache validation, comprising:
receiving a request message at a server;
generating a user-specific cache file name;
accessing a server based cache with said file name to obtain a cached response message;
validating said cached response message; and
generating a response message selectively from said cached response message if obtained and validated, otherwise generating and selectively caching said response message.
2. The method of claim 1 , further comprising generating said user-specific cache file name as a hashed concatenation of a request argument, a user name, a user's name list, and a server build version.
3. The method of claim 2 , further comprising inhibiting caching of said response message at said server based cache for responses cached in browser cache.
4. The method of claim 2 , further comprising receiving administrator defined specification of cache users, selectively including anonymous user, whose response pages will be cached in said server based cache.
5. The method of claim 2 , further comprising invalidating a cached response message responsive to any change in group membership of a member submitting said request message.
6. The method of claim 2 , further comprising invalidating a cached response messages responsive to a change is said server build version.
7. The method of claim 2 , further comprising invalidating said cached response message for all cached pages of a room having a last modified date later than a last modified date of said cached response message.
8. The method of claim 2 , further comprising invalidating said cached response message for all cached pages of a child room for which a change is made to its parent room.
9. The method of claim 2 , further comprising invalidating said cached response message for all cached pages of a place for which a change has been made to its members room.
10. The method of claim 2 , further comprising invalidating said cached response message for all places on a server having had a change to its setup room.
11. The method of claim 2 , further comprising invalidating all cached response messages responsive to said server being upgraded.
12. A system for user and command specific place based caching with cache validation, comprising:
a server;
a database;
a server based cache;
said server responsive to receiving a request message for generating a user-specific cache file name, accessing said server based cache with said file name to obtain a cached response message, validating said cached response message, generating a response message selectively from said cached response message if obtained and validated, and otherwise generating from said database and selectively caching said response message.
13. The system of claim 12 , further comprising:
a browser;
a browser cache;
said server further for
generating said user-specific cache file name as a hashed concatenation of a request argument, a user name, a user's name list, and a server build version;
inhibiting caching of said response message at said server based cache for responses cached in said browser cache;
receiving administrator defined specification of cache users, selectively including anonymous user, whose response pages will be cached in said server based cache;
invalidating a cached response message responsive to any change in group membership of a member submitting said request message;
invalidating a cached response messages responsive to a change is said server version;
invalidating said cached response message for all cached pages of a room having a last modified date later than a last modified date of said cached response message;
invalidating said cached response message for all cached pages of a child room for which a change is made to its parent room;
invalidating said cached response message for all cached pages of a place for which a change has been made to its members room;
invalidating said cached response message for all cached pages of a place for which a change has been made to its members room;
invalidating said cached response message for all places on a server having had a change to its setup room; and
invalidating all cached response messages responsive to said server being upgraded.
14. A program storage device readable by a machine, tangibly embodying a program of instructions executable by a machine to perform method steps for user and command specific place based caching with cache validation, said method comprising:
receiving a request message at a server;
generating a user-specific cache file name;
accessing a server based cache with said file name to obtain a cached response message;
validating said cached response message; and
generating a response message selectively from said cached response message if obtained and validated, otherwise generating and selectively caching said response message.
15. The program storage device of claim 14 , sad method further comprising:
generating said user-specific cache file name as a hashed concatenation of a request argument, a user name, a user's names list, and a server build version;
inhibiting caching of said response message at said server based cache for responses cached in said browser cache;
receiving administrator defined specification of cache users, selectively including anonymous user, whose response pages will be cached in said server based cache;
invalidating a cached response message responsive to any change in group membership of a member submitting said request message;
invalidating a cached response messages responsive to a change is said server version;
invalidating said cached response message for all cached pages of a room having a last modified date later than a last modified date of said cached response message;
invalidating said cached response message for all cached pages of a child room for which a change is made to its parent room;
invalidating said cached response message for all cached pages of a place for which a change has been made to its members room;
invalidating said cached response message for all cached pages of a place for which a change has been made to its members room;
invalidating said cached response message for all places on a server having had a change to its setup room; and
invalidating all cached response messages responsive to said server being upgraded.
16. A computer program product for user and command specific place based caching with cache validation comprising:
a computer readable medium;
first program instructions for receiving a request message at a server;
second program instructions for generating a user-specific cache file name;
third program instructions for accessing a server based cache with said file name to obtain a cached response message;
fourth program instructions for validating said cached response message; and
fifth program instructions for generating a response message selectively from said cached response message if obtained and validated, otherwise generating and selectively caching said response message; and wherein
said first, second. third, fourth. and fifth program instructions are recorded on said computer readable medium.
17. The computer program product of claim 16 , further comprising:
sixth program instructions for generating said user-specific cache file name as a hashed concatenation of a request argument, a user name, a user's names list, and a server build version;
seventh program instructions for inhibiting caching of said response message at said server based cache for responses cached in said browser cache;
eighth program instructions for receiving administrator defined specification of cache users, selectively including anonymous user, whose response pages will be cached in said server based cache;
ninth program instructions for invalidating a cached response message responsive to any change in group membership of a member submitting said request message;
tenth program instructions for invalidating a cached response messages responsive to a change is said server version;
eleventh program instructions for invalidating said cached response message for all cached pages of a room having a last modified date later than a last modified date of said cached response message;
twelfth program instructions for invalidating said cached response message for all cached pages of a child room for which a change is made to its parent room;
thirteenth program instructions for invalidating said cached response message for all cached pages of a place for which a change has been made to its members room;
fourteenth program instructions for invalidating said cached response message for all cached pages of a place for which a change has been made to its members room;
fifteenth program instructions for invalidating said cached response message for all places on a server having had a change to its setup room; and
sixteenth program instructions for invalidating all cached response messages responsive to said server being upgraded; and wherein
said sixth, seventh, eighth, ninth, tenth, eleventh, twelfth, thirteenth, fourteenth, fifteenth, and sixteenth program instructions are recorded on said computer readable medium.