Powerful and flexible server architecture
First Claim
1. A server system comprising:
- at least one first server, comprising a generic cache component having at least one cache of items associated therewith, for receiving user requests for performing operations on said items, for determining if user requests relate to items stored at said at least one cache, for determining and executing the item-specific operations for the user requests which relate to said stored items, and for executing default operations for the user requests for items not stored at said at least one cache, said default operations including relaying said user requests to at least one application-specific second server; and
at least one second application-specific miss server in communication with said at least one first server for receiving item-specific operation requests from the at least one first server, for implementing application-specific policies for the distribution of items to clients by executing said item-specific operation requests directly or by linking to one of a plurality of other servers from which non-cached items can be obtained; and
for implementing application-specific policies for managing the at least one cache at said at least one hit server.
1 Assignment
0 Petitions
Accused Products
Abstract
A server complex including at least one hit server with item cache, used to process read and write operations relating to cached items from clients, and at least one miss server, serving as a link to other servers (e.g., web servers, file system servers, and databases) for receiving requests relayed from the hit server(s) which relate to non-cached items and for responding to same. The hit server is a general-purpose, generic, component, which is independent of concrete applications and is basically responsible for the performance; while a miss server is a highly-customizable component, which is responsible for flexibility, and is application specific. The inventive architecture provides improved performance whereby a server complex achieves exceptionally high throughput rates for local services (i.e., services using items in the local item cache); flexibility, whereby a server complex can support the enforcement of a variety of application-specific policies for item management, authentication, and item consistency; security, whereby a server complex can enable the verification of the source, integrity, and freshness of communications over untrusted links; and, scalability, whereby a server complex is expandable by adding server components and implementing customized item consistency policies.
-
Citations
21 Claims
-
1. A server system comprising:
-
at least one first server, comprising a generic cache component having at least one cache of items associated therewith, for receiving user requests for performing operations on said items, for determining if user requests relate to items stored at said at least one cache, for determining and executing the item-specific operations for the user requests which relate to said stored items, and for executing default operations for the user requests for items not stored at said at least one cache, said default operations including relaying said user requests to at least one application-specific second server; and
at least one second application-specific miss server in communication with said at least one first server for receiving item-specific operation requests from the at least one first server, for implementing application-specific policies for the distribution of items to clients by executing said item-specific operation requests directly or by linking to one of a plurality of other servers from which non-cached items can be obtained; and
for implementing application-specific policies for managing the at least one cache at said at least one hit server.- View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for a server system, comprising at least one first server having at least one cache for storing a plurality of items and at least one second server, to respond to user requests comprising the steps of:
-
receiving a user request at one of said at least one first server;
determining at said one of said at least one first server if said user request relates to an item stored at said at least one cache;
determining the item-specific operations for the user request at said one of said at least one first server;
executing said item-specific operations on said item stored at said at least one cache;
relaying an item-specific operation request relating to said user request from said at least one first server to at least one of said at least one application-specific second server if said user request does not relate to an item stored at said at least one cache;
responding to said relayed item-specific operation request by implementing application-specific policies for the distribution of items to clients by executing item-specific operations at one of said at least one application-specific second server; and
said at least one application-specific second server implementing application specific policies for managing the at least one cache at said at least one hit server. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
accessing said item-specific operation from said at least one cache; and
responding to said user request by applying said item-specific operation to said item.
-
-
15. The method of claim 12 wherein at least one item-specific operation is stored with said at least one item in said at least one cache and wherein responding to said user request comprises the steps of:
-
accessing said item-specific operation from said at least one cache; and
responding to said user request by applying said item-specific operation to less than all of said item.
-
-
16. The method of claim 8 further comprising the step of verifying user access to said server.
-
17. The method of claim 8 further comprising the step of verifying user access to said at least one item.
-
18. The method of claim 8 further comprising the step of encrypting communications between said server and said user.
-
19. The method of claim 8 further comprising performing coherency operations for items operated upon.
-
20. The method of claim 14, wherein said item-specific operations include coherency operations, further comprising the steps of:
-
accessing said item-specific coherency operations; and
performing said item-specific coherency operations for said items.
-
-
21. The method of claim 8 further comprising generating and relaying an item-specific operation request relating to said user request when the item-specific operation is preempted at said one of the at least one first server by higher priority item-specific operations for at least one other user request.
Specification