Main Page/Cloud Browser TF/UseCases/session
Session
UC-Session-1: Cloud Browser Client creates a session with the Cloud Browser environment
Extends
Description
- For each session there will be one UI stream and one or more control channels. Also the Cloud Browser environment can store resources associated to the session.
- The Cloud Browser Client ...
- Connects to the Cloud Browser environment
- Authenticates itself
- If authentication was successful the Cloud environment responds with a session id
- Possible implementations would be
- HTTP GET or better HTTPS GET
- A kind of RPC (eg. JSON-RPC)
- A possible representation for session ids would be UUID http://www.ietf.org/rfc/rfc4122.txt
Actors
- Cloud Browser Client
- Cloud Browser environment
Dependencies
Gaps
- The authentication method is not specified.
Notes
- See UC-Control-1 for how to create a control channel for the session and UC-Session-3 for how to create the UI channel.
- It is recommended to use a secure communication protocol (eg. HTTPS, TLS, ..).
- Open questions
- Should the Cloud environment start a Cloud Browser upon creating a session?
- Enough security?
Requirements
- The session id MUST be unique.
Author
History
- 8-17-2016 Alexandra Mikityuk (talk) created
UC-Session-2: Cloud Browser Client logs out from session
Extends
Description
- The Cloud Browser Client wants to close the session.
- The Cloud Browser Client ...
- Connects to the Cloud Browser environment
- Requests the Cloud Browser environment to close the session with the specified session id
- Possible implementations would be
- HTTP GET or better HTTPS GET
- A kind of RPC (eg. JSON-RPC)
- Both must send the session id.
Actors
- Cloud Browser Client
- Cloud Browser environment
Dependencies
- We need a session id, see UC-Session-1 and UC-session-4.
Gaps
Notes
- It is recommended to use a secure communication protocol (eg. HTTPS, TLS, ..).
- Open questions
- Should the Cloud Browser environment
- free up associated resources (eg. memory) when the session is closed?
- close a session after some time of interactivity? (days or months?)
Requirements
Author
History
- 8-17-2016 Alexandra Mikityuk (talk) created
UC-Session-3: Cloud Browser Client starts streaming the UI
Extends
Description
- The Cloud Browser Client begins the streaming of the UI associated with a session id.
- The Cloud Browser Client ...
- Connects to the Cloud Browser environment
- Requests the UI stream associated with the specified session id
- Possible implementations would be
- HTTP GET or better HTTPS GET long polling
- UDP stream
- WebSocket
Actors
- Cloud Browser Client
- Cloud Browser environment
Dependencies
- We need a session id, see UC-Session-1 and UC-session-4.
Gaps
- The UI encoding is not specified.
Notes
- Open question
- What about secure communication? This would increase latency, still required?
- Should we specify UI encoding?
Requirements
- The UI stream MUST be as low latency as possible.
Author
History
- 8-17-2016 Alexandra Mikityuk (talk) created
UC-Session-4: Trusted 3rd-party creates a session with the Cloud Browser environment
Extends
- UC-Session-1
Description
- A trusted 3rd-party (eg. custom user management site) wants to manage user and sessions.
- Therefore it acts as a proxy between the Cloud Browser environment and Cloud Browser client.
- Workflow
- The Cloud Browser Client would connect itself to the trusted 3rd-party
- The trusted 3rd-party can now process the connection of the client in any way it wants
- At some point the trusted 3rd-party will establish a connection to the cloud browser environment
- Now it can request a session id for the Cloud Browser Client
- Afterwards it forwards the received session id to the Cloud Browser Client
- The client is now able to request a control channel and the UI stream.
- Possible implementations would be
- HTTP GET or better HTTPS GET long polling
- A kind of RPC (eg. JSON-RPC)
Actors
- Cloud Browser Client
- Cloud Browser environment
Dependencies
Gaps
Notes
- It is recommended to use a secure communication protocol (eg. HTTPS, TLS, ..).
Requirements
Author
History
- 8-17-2016 Alexandra Mikityuk (talk) created