Method and system for managing and using sessions as RESTful web services
First Claim
1. A method comprising:
- in response to a first user agent request to create a session for communication of data between user agents, allocating data storage of an origin server to a representation of the session, the data storage being allocated for storing session state information of the session, and the representation of the session having an associated uniform resource identifier, wherein the session is configured to preserve session state information via the data storage, wherein the session state information comprises a session timer for the session, and wherein the session is configured to expire in response to expiration of the session timer;
in response to a second user agent request to update the session state information of the session, updating the session state information based on a first determination that the second user agent request to update the session state information comprises the associated uniform resource identifier;
in response to a third user agent request to retrieve the session state information, retrieving the session state information from the data storage based on a second determination that the third user agent request to retrieve the session state information comprises the associated uniform resource identifier; and
terminating the session by de-allocating the data storage; and
wherein the session comprises a web-based collaboration in which a first human user of the first user agent communicates, in real-time, with a second human user of the second user agent.
18 Assignments
0 Petitions
Accused Products
Abstract
Disclosed herein are systems, methods, and non-transitory computer-readable storage media for managing and using sessions as RESTful web services. A session is exposed as a resource having an associated Uniform Resource Identifier (URI), and the session is composed with other services. For example, a client sends an HTTP POST request to a web server to create a session, an HTTP GET request to retrieve a representation of the session, an HTTP PUT request to update the representation of the session, and an HTTP DELETE request to delete the session so that resources within the session are reclaimed. Since the sessions are resources, the resources can be shared among clients, and the web servers knows the client states while still being stateless, making them robust and scalable. Composing web services with the common RESTful session service reduces complexity and enhances interoperability.
-
Citations
20 Claims
-
1. A method comprising:
-
in response to a first user agent request to create a session for communication of data between user agents, allocating data storage of an origin server to a representation of the session, the data storage being allocated for storing session state information of the session, and the representation of the session having an associated uniform resource identifier, wherein the session is configured to preserve session state information via the data storage, wherein the session state information comprises a session timer for the session, and wherein the session is configured to expire in response to expiration of the session timer; in response to a second user agent request to update the session state information of the session, updating the session state information based on a first determination that the second user agent request to update the session state information comprises the associated uniform resource identifier; in response to a third user agent request to retrieve the session state information, retrieving the session state information from the data storage based on a second determination that the third user agent request to retrieve the session state information comprises the associated uniform resource identifier; and terminating the session by de-allocating the data storage; and wherein the session comprises a web-based collaboration in which a first human user of the first user agent communicates, in real-time, with a second human user of the second user agent. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a processor; and a computer-readable storage medium having stored therein instructions which, when executed by the processor, cause the processor to perform operations comprising; responding to a first user agent request to create a session for exchanging data between user agents in real-time by allocating data storage associated with an origin server to a representation of the session for storing session state information of the session, the representation of the session having an associated uniform resource identifier, wherein the session preserves session state information via the data storage, wherein the session state information comprises a session timer for the session, and wherein the session expires in response to expiration of the session timer; in response to a second user agent request to update session state information, updating the session state information in the data storage allocated to the representation of the session upon finding that the user agent request to update the session includes the associated uniform resource identifier; in response to a third user agent request to retrieve the session state information, retrieving the session state information from the data storage based on a second determination that the third user agent request to retrieve the session state information includes the associated uniform resource identifier; and terminating the session by de-allocating the data storage; and wherein the session comprises a web conference in which a first human user of the first user agent communicates at least one of voice and video with a second human user of the second user agent. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium having stored therein instructions which, when executed by a processor, cause the processor to perform operations comprising:
-
in response to a first user agent request to create a session for exchanging data between user agents in real-time, allocating data storage of an origin server to a representation of the session, the data storage being allocated for storing session state information of the session, and the representation of the session having an associated uniform resource identifier, wherein the session is configured to preserve session state information via the data storage, wherein the session state information comprises a session timer for the session, and wherein the session is configured to expire in response to expiration of the session timer; in response to a second user agent request to update the session state information of the session, updating the session state information based on a first determination that the second user agent request to update the session state information includes the associated uniform resource identifier; in response to a third user agent request to retrieve the session state information, retrieving the session state information from the data storage based on a second determination that the third user agent request to retrieve the session state information includes the associated uniform resource identifier; and terminating the session by de-allocating the data storage; and wherein the session comprises a web conference in which a first human user of the first user agent communicates at least one of voice and video with a second human user of the second user agent. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification