Systems and methods for in-session refresh of entitlements associated with web applications
First Claim
1. A method of providing a user of a client device with content from a web application, a server portion of the web application being executed on at least one server device and a client portion of the web application being executed on the client device, wherein at least part of the content provided to the user is obtained from one or more external servers, the method being performed by one or more processes executing on the at least one server device and comprising:
- storing, in a first memory, an entitlement associated with the user, wherein the entitlement represents a status of an authorization for the user to access the content;
based upon a determination that the entitlement has a first status, storing, in a second memory that is different from the first memory, information regarding a current status of the entitlement as corresponding to the first status;
creating a session by which the user communicates with the server portion of the web application via the client device, wherein said creating includes (1) adding a session record to a session table in the first memory on the at least one server device, and associating with the session record an entitlement object representing the entitlement, (2) adding an external server session record associated with the session record to a session table in the second memory on at least one of the external servers, and associating, with the external server session record, the information regarding the current status of the entitlement, and (3) modifying a memory to indicate the session being active; and
while the session is indicated as being active;
receiving information regarding a change of the entitlement stored in the first memory from the first status to a second status,in response to the receiving, updating said information stored in the second memory according to the change from the first status to the second status,in response to a plurality of requests received from the client device, (a) receiving portions of the content from said at least one of the external servers when another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the first status, and (b) being notified of a failure without receiving portions of the content when said another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the second status.
1 Assignment
0 Petitions
Accused Products
Abstract
The described technology provides a capability to perform in-session updates to entitlements associated with a user'"'"'s access to content served by a web application. The content may be from one or more external servers. The technology provides for automatically detecting changes to entitlements, and without requiring a user of an active session to initiate a new session, updating entitlement data in a memory such that subsequent requests for data made by the client in the same active session are serviced using the updated entitlements.
18 Citations
16 Claims
-
1. A method of providing a user of a client device with content from a web application, a server portion of the web application being executed on at least one server device and a client portion of the web application being executed on the client device, wherein at least part of the content provided to the user is obtained from one or more external servers, the method being performed by one or more processes executing on the at least one server device and comprising:
-
storing, in a first memory, an entitlement associated with the user, wherein the entitlement represents a status of an authorization for the user to access the content; based upon a determination that the entitlement has a first status, storing, in a second memory that is different from the first memory, information regarding a current status of the entitlement as corresponding to the first status; creating a session by which the user communicates with the server portion of the web application via the client device, wherein said creating includes (1) adding a session record to a session table in the first memory on the at least one server device, and associating with the session record an entitlement object representing the entitlement, (2) adding an external server session record associated with the session record to a session table in the second memory on at least one of the external servers, and associating, with the external server session record, the information regarding the current status of the entitlement, and (3) modifying a memory to indicate the session being active; and while the session is indicated as being active; receiving information regarding a change of the entitlement stored in the first memory from the first status to a second status, in response to the receiving, updating said information stored in the second memory according to the change from the first status to the second status, in response to a plurality of requests received from the client device, (a) receiving portions of the content from said at least one of the external servers when another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the first status, and (b) being notified of a failure without receiving portions of the content when said another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the second status. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A server comprising:
-
at least a first memory; a network interface; and at least one processor communicatively coupled to the first memory and the network interface, and configured to; execute a server-portion of a web application of which a client portion is executed on a client device; store, in the first memory, an entitlement associated with a user of a client device, wherein the entitlement represents a status of an authorization for the user to access content from the web application, wherein at least part of the content provided to the user is obtained through the network interface from one or more external servers; based upon a determination that the entitlement has a first status, storing, in a second memory that is different from the first memory, information regarding a current status of the entitlement as corresponding to the first status; create a session by which the user communicates with the server portion of the web application, wherein said creating includes (1) adding a session record to a session table in the first memory, and associating with the session record an entitlement object representing the entitlement, (2) adding an external server session record associated with the session record to a session table in the second memory on at least one of the external servers, and associating with the external server session record said information regarding the current status of the entitlement, and (3) modifying a memory to indicate the session being active; and while the session is indicated as being active; receive information regarding a change of the entitlement stored in the first memory from the first status to a second status, in response to the receiving, update said information stored in the second memory according to the change from the first status to the second status, and in response to a plurality of requests received from the client device over the network interface, (a) receive portions of the content from the at least one external server when another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the first status, and (b) being notified of a failure without receiving portions of the content when said another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the second status.
-
-
14. A non-transitory computer readable storage medium storing instructions which, upon execution by at least one processor of a server, causes the server to perform operations comprising:
-
executing a server-portion of a web application of which a client portion is executed on a client device; storing, in a first memory of the server, an entitlement associated with a user of a client device, wherein the entitlement represents a status of an authorization for the user to access content from the web application, wherein at least part of the content provided to the user is obtained from one or more external servers; based upon a determination that the entitlement has a first status, storing, in a second memory that is different from the first memory, information regarding a current status of the entitlement as corresponding to the first status; creating a session by which the user communicates with the server portion of the web application, wherein said creating includes (1) adding a session record to a session table in the first memory, and associating with the session record an entitlement object representing the entitlement, (2) adding an external server session record associated with the session record to a session table in the second memory on at least one of the external servers, and associating with the external server session record said information regarding the current status of the entitlement, and (3) modifying a memory to indicate the session being active; and while the session is indicated as being active; receiving information regarding a change of the entitlement stored in the first memory from the first status to a second status, in response to the receiving, updating said information stored in the second memory according to the change from the first status to the second status, and in response to a plurality of requests received from the client device, (a) receiving portions of the content from said at least one external server when another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the first status, and (b) being notified of a failure without receiving portions of the content when said another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the second status.
-
-
15. A system comprising a first server device and a second server device communicatively connected over a network,
the first server device comprising: -
at least a first memory; a first network interface; and at least one first processor communicatively coupled to the first memory and the network interface, and configured to; execute a server-portion of a web application of which a client portion is executed on a client device; store, in the first memory, an entitlement associated with a user of a client device, wherein the entitlement represents a status of an authorization for the user to access content from the web application, wherein at least part of the content provided to the user is obtained from the second server device; based upon a determination that the entitlement has a first status, storing, in a second memory that is different from the first memory, information regarding a current status of the entitlement as corresponding to the first status; create a session by which the user communicates with the server portion of the web application, wherein said creating includes (1) adding a session record to a session table in the first memory, and associating with the session record an entitlement object representing the entitlement, (2) adding an external server session record associated with the session record to a session table in the second memory on the second server device, and associating with the external server session record said information regarding the current status of the entitlement, and (3) modifying a memory to indicate the session being active; and while the session is indicated as being active; receive information regarding a change of the entitlement stored in the first memory from the first status to a second status, in response to the receiving, updating said information stored in the second memory according to the change from the first status to the second status, and in response to a plurality of requests received from the client device over the first network interface, (a) receive portions of the content from the second server device when another process, by accessing the information stored in the second memory, determines the current status of the entitlement as corresponding to the first status, and (b) being notified of a failure without receiving portions of the content when said another process, by accessing the information stored in the second memory, determines the current status of the entitlement in as corresponding to the second status, and the second server device comprising; the second memory; a second network interface; and at least one second processor communicatively coupled to the second memory and the second network interface, and configured to; store one or more entitlement associated with the user in the second memory; during the session; in response to information received from the first server device, change at least one said entitlement from the first status to the second status; after the changing, in response to a plurality of requests received from the first server device over the second network interface, (a) transmit portions of the content from a storage device when it is determined that a current status of the entitlement in the second memory as corresponding to the first status, and (b) transmit a failure notification without transmitting portions of the content when it is determined that the current status of the entitlement in the second memory as corresponding to the second status.
-
-
16. A client device for communicating over a network with a server-portion of a web-application executing on server device, the client device comprising:
-
a memory; and at least one processor configured to; initiate a sign-on of a user to the web-application and establish a session for communicating with the server-portion of the web application, wherein establishing the session includes causing the server device to perform, in order to associate with the user an entitlement for accessing content from an external server device, operations including (1) adding a session record to a session table in a first memory on the server device and associating with the session record an entitlement object representing the entitlement, and (2) adding an external server session record associated with the session record to a session table in a second memory on the external server device, and associating with the external server session record information regarding a current status of the entitlement, wherein the entitlement represents a status of an authorization for the user to access the content; during the session; transmitting a first content request to the web application; receiving a first content in response to the first content request, wherein the server device and/or the external server device determines in relation to the first content request that a status of the entitlement associated with the user is valid; transmitting a second content request to the web application; and receiving a failure indication in response to the second content request, wherein prior to the receiving, in response to a changing of the status of the entitlement to not valid in a memory at the server, a status of the entitlement in a memory of the external server device is changed from valid to not valid, and wherein the server device and/or the external server device determines in relation to the second content request that a status of the entitlement associated with the user is not valid.
-
Specification