US9432243B2

Re-using asynchronous server-side results generated for a request context of one client to satisfy a request context of a different client

Summary by NHIP

Portlet Result Sharing Method

The method shares asynchronous server results between different client request contexts during portlet rendering. It logs operations in an active operation table linking request identifiers to operation identifiers, then matches a second incoming HTTP request against these logged entries to reuse the executing operation's output.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

The present invention provides a solution for sharing server generated output to satisfy requests for content originated by different clients. More specifically, a server side resource can analyze a content request and compare this request to a set of active request handling operations. When one of the active operations is capable of satisfying a discrete portion of the content request, an association can be established between the active operation and the content request. When the active operation produces results, these results are returned to satisfy a request of an original client as well as to satisfy a request of a client that issued the content request. The solution can be implemented in a variety of environments, including one where asynchronous server-side operations are conducted by different server-side resources for a single request context.

US9432243B2, drawing sheet 1
Sheet 1 of 4

Term

Projected expiry 12 March 2031.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Projected expiry

9 claims: 1 independent, 8 dependent

  1. 1
    Broadest claimClaim Score 26, narrow(NHIP)A method for sharing processed server results for dynamically rendering portlets at client machines, comprising:receiving at a server via a network using hypertext transfer protocol (HTTP) from a first client a first request for processing at the server, wherein the first client is a computing device;determining, by the server, that there is no pending operation that can satisfy the first request based on an active operation table;executing an operation in response to the first request that will produce a result to satisfy the first request, and wherein the operation is executed by a computing machine;logging, by the server, the operation in the active operation table, wherein the active operation table is stored in a memory associated with the server, and wherein the active operation table associates a first request identifier received with the first request with an operation identifier for the operation;receiving, at the server, a second request for processing at the server via the network from a second client using HTTP while the operation is still executing, wherein the second client is a computing device;comparing, by the server, logged entries in the active operation table against the second request;determining, by the server as a result of comparing logged entries in the active operation table, that the second request is able to be satisfied by the executing operation based on the first request as logged in the active operation table;associating, by the server, the second request with the executing operation in the active operation table in response to determining that the second request is able to be satisfied by the executing operation, wherein the active operation table associates a second request identifier received with the second request with the operation identifier for the operation;completing execution of the operation to produce a result;removing, by the server, the first request identifier and the second request identifier from the active operation table;and utilizing the produced result to satisfy the first request and the second request by conveying the produced result to the first and second clients via the network and rendering portlets at the first and second clients that include the produced result;wherein removing the first request identifier and the second request identifier from the active operation table occurs prior to satisfying the first and second requests.