Performance-enhancing cross-system request handling via shared memory cache
AssigneeSap SE
InventorsAndre Klahre, Michael Hettich, Nitish Kumar, Christine Schaefer
Life of this patent
Estimating the term…
Abstract
In a scenario involving a primary and secondary server, resource requests can be managed to avoid sending multiple requests to the secondary server. In particular, requests for data object attributes can be queued when another request has already been made. Hashkey and locking mechanisms can be used to support scenarios involving multiple users and multiple data object instances. Performance of the overall system landscape can thus be improved by effectively consolidating resource requests.
Claims18
A computer-implemented method comprising:
- at a primary server, from a client computer with a user interface comprising a plurality of facets, receiving a plurality of resource requests for attributes of a same data object instance stored at a secondary server to be displayed in the plurality of facets at the client computer;
- for a first resource request out of the resource requests for attributes of the same data object instance, requesting requested attributes of the data object instance from the secondary server;
- for a second resource request out of the resource requests for attributes of the same data object instance, responsive to determining that the first resource request for the data object instance has already been made, queuing the second resource request without relaying it to the secondary server;
- for the first resource request, acquiring a lock;
- for the second resource request, waiting on the lock, wherein the lock is released responsive to fulfilling the first resource request;
- receiving the requested attributes of the data object instance from the secondary server;
- storing the received requested attributes of the data object instance;
- and
- fulfilling the queued, second resource request with the stored received requested attributes of the data object instance already received from the secondary server.
A system comprising:
- a client computer displaying a plurality of facets in a user interface, wherein the client computer is configured to send a plurality of resource requests for attributes of a data object instance to be displayed in the plurality of facets;
- a primary server computer configured to receive and fulfill the resource requests for attributes of the data object instance from the client computer, wherein the primary server computer is configured to queue a second resource request for attributes of the data object instance responsive to determining that a first resource request for attributes of the data object instance has already been received;
- wherein:
- the primary server computer comprises a shared memory and is further configured to store the attributes of the data object instance received as a result of the first resource request to a secondary server computer in the shared memory and provide access to the attributes in the shared memory to the queued, second resource request, whereby a separate resource request to the secondary server computer for the second resource request for attributes of the data object instance is avoided;
- a lock is identified by a hashkey computed based on a user identifier associated with both the first resource request and the second resource request;
- and
- the second resource request is queued via the lock.
One or more non-transitory computer-readable media having stored therein computer-executable instructions that when executed by a computing system, cause the computing system to perform:
- at a primary server, from a client computer with a user interface comprising a plurality of facets, receiving a plurality of resource requests for attributes of a same data object instance stored at a secondary server to be displayed in the plurality of facets at the client computer;
- for a first resource request out of the resource requests for attributes of the same data object instance, requesting a full set of requested attributes of the data object instance from the secondary server;
- for a second resource request out of the resource requests for attributes of the same data object instance, responsive to determining that the first resource request for the data object instance has already been received, queuing the second resource request without relaying it to the secondary server, wherein the queuing employs a lock identified by a hashkey calculated via a user identifier associated with both the first resource request and the second resource request;
- receiving the full set of requested attributes of the data object instance from the secondary server;
- storing the received full set of requested attributes of the data object instance;
- and
- fulfilling the queued, second resource request from the stored full set of requested attributes of the data object instance already received from the secondary server, whereby a second resource request to the secondary server is avoided.
Dependencies are inferred from the claim text.