Skip to content

Personal Desktop (Single Session) Session Management

Defining session management for personal desktops in HyWorks involves multiple conditions and modules. This section details all these conditions.

Applicable Session Timeouts

The first rule to understand is that all session timeouts for remote desktop sessions or virtual applications are retrieved from the profile assigned to the user. To understand this better, consider the following case:

  • Connection Profile-1 is assigned to a user.

  • The user has a virtual application-1 assigned with connection profile-2 and a personal desktop with connection profile-3.

  • Upon user logon, connection profile-1 is assigned to the user, and the user's session timeouts are determined by this profile. At the same time, regardless of the desktop or applications the user accesses, the timeouts defined in connection profile-1 (assigned to the user) will be communicated to the respective HyWorks agents on the server.

  • These agents monitor the remote session status on the server and act accordingly based on the received timeouts.

Personal Desktop Session Management Pointers

The following design facts affect the personal desktop management:

  1. The desktop agent on a personal desktop does not send session connection or disconnection notifications directly to the controller. Therefore, a user clicking on the desktop is considered a desktop connection.

  2. Desktop clients communicate session dismissal information to the Controller, which then uses this information to determine whether to remove the desktop session.

  3. HyLite does not communicate session dismissals to the Controller; therefore, the Controller remains unaware of desktop session disconnections with HyLite.

  4. The Controller does not maintain disconnected session information; therefore, it keeps personal desktop session information as connected until it receives dismissal information, at which point it removes it directly.

  5. Assignment life cycle and assignment type play some role in desktop session management; the following facts will be used in a later section of the document:

    1. For a personal desktop, the assignment will be retained.

    2. For floating on-login assignments, the assignment is removed only when the user logs out.

    3. For floating on-connect, an assignment can be removed after a configured disconnected-session time or on user logout.

Enhanced Session Management with Latest HyWorks Releases (HyWorks v4.1-HF2.1)

Supporting Versions: Release: HyWorks v4.1-HF2.1

  • Controller v4.1-HF2.1 or later.

  • VM Scale Booster v4.1.0.185 or later.

  • DVM Tools v4.1.0.1511 or later to report Disconnected status correctly.

With Scale Booster deployed and configured, you can better manage single-session desktop sessions, as Scale Booster can send session disconnection notifications. Personal desktop sessions are listed on page Monitor > Live Sessions > Desktops. Session management with Scale Booster will be explained in this section:

Action Status on Management Console Remarks
User logs in Not visible No connection has been initiated yet.
The user tries to connect Idle Controller waits for desktop connection notification.
Keeps it as idle, same as shared hosted desktop session status.
Desktop is connected Connected Desktop agent notifies via VM Scale Booster.
Disconnected (User initiated or timed out)
[Desktop agent updates to controller via VM Scale Booster]
Disconnected Requires all latest modules.
Agent sends the disconnect event, e.g., [VMSB_EVENT] [SOURCE: DVM Agent] SessionChange | DVM: PSMPnCP-0012 (172.26.14.54) | User: hws.m23 | Action: DISCONNECT | Power State: PoweredOn | Desktop Agent Service: Running | Code: 1503 | Message: Session disconnected due to idle session timeout.
Important: The disconnection code information attached to the event clarifies the session dismissal.
Disconnected session gets logged out Not visible (removed) Requires all latest modules.
Agent sends the disconnect event, e.g., [VMSB_EVENT] [SOURCE: DVM Agent] SessionChange | DVM: PSMPnCP-0012 (192.168.1.54) | User: user23 | Action: DISCONNECT | Power State: PoweredOn | Desktop Agent Service: Running | Code: 1503 | Message: Session disconnected due to idle session timeout.
User is still logged in User session management will be triggered -

Important

The above behavior will be consistent across all endpoint types (Desktop clients/HyLite) and desktops (Windows/Linux).

Behavior in Releases Prior to v4.1-HF2.1

With Scale Booster deployed and configured, you can better manage single-session desktop sessions, as Scale Booster can send session disconnection notifications. Personal desktop sessions are listed on page Monitor > Live Sessions > Desktops. Session management with Scale Booster will be explained in this section:

Action Status on Management Console Remarks
User logs in Not visible No connection has been initiated yet.
The user tries to connect Connected The controller marks the connection request as connected, as older releases did not implement a connect status.
Disconnected (User initiated or timed out)
[Desktop agent updates to controller via VM Scale Booster]
Not visible (removed) The session is removed directly and is not visible on the management console.
User is still logged in User session management will be triggered -

Important

The above behavior will be consistent across all endpoint types (Desktop clients/HyLite) and desktops (Windows/Linux).

Session Management without VM Scale Booster

Several behavioral factors play a vital role in determining session management in HyWorks. Let us try to understand from different perspectives:

Endpoint-type: Desktop Clients

Considering the endpoints that send the session dismissal updates to the HyWorks Controller, session management will be done as follows:

Action Status on Management Console
User logs in Not visible
The user tries to connect Connected
Disconnected (User initiated or timed out)
[Endpoint updates the session dismissal to the controller.]
Not visible (removed)
User is still logged in User session management will be triggered

Endpoint-type: HyLite/Android Clients

Considering endpoints that do not send session dismissal updates to the HyWorks Controller, the session visibility on the HyWorks Controller Management Console

Action Status on Management Console
User logs in Not visible
The user tries to connect Connected
Disconnected (User initiated or timed out)
[HyLite: No updates to controller.]
Connected
User session logout. Not visible (removed)

Note

Without a scale booster, HyLite-initiated desktop sessions will remain in the HyWorks Management Console forever, until the user logs out of the user session.

Advance Session Monitoring

Some cases may cause sessions to remain active erroneously, as mentioned in the section, or due to other reasons like network disruptions, unexpected VM shutdowns, VDI deletions, or failed controller communications.

To resolve these error conditions, the HyWorks Controller offers advanced configurations, which are discussed in this section.

Supported Versions

HyWorks Controller v3.4-SP2 or later.

Advance Settings

  1. HyDesk user session idle monitoring: Configure it as “2” to enable User session idle monitoring when no active RDP session is running. This is the default configuration in the latest controller, and it can also be verified.

  2. Desktop Session Monitoring on RDP Status:

    1. Description: Activates dedicated desktop session monitoring based on RDP connection status.

    2. Options: "0" = Disabled. (Default), "1" = Enabled for both Linux and Windows DVMs, "3" = Enabled for Windows DVMs only.

  3. Monitoring Interval:

    1. Description: Specifies the interval at which the RDP status monitoring thread runs.

    2. Default: 60 minutes.

  4. Active Session Timeout:

    1. Description: Sets the duration (in minutes) that a session must remain active before it is closed due to a lack of an RDP connection.

    2. Default: 60 minutes.

Workflow

The monitoring thread periodically reviews the database to mark sessions as disconnected under these conditions:

  • Session type is a Personal desktop.

  • The desktop connection status on the management console indicates that it is active or connected.

  • The session has been active for at least the configured time (set by the Active Session Timeout setting).

  • The HyDesk user session idle monitoring is set to 2.

  • One of the following conditions is met:

    • DVM is powered off.

    • DVM does not exist.

    • DVM is responding, but the Controller detects no RDP session.

      • The controller periodically checks the database for desktop session status for the given DVM. If it finds no desktop session for the DVM, it marks the desktop session status as disconnected.

      • Now, since no desktop sessions are associated with the user, the connection profile timeouts should handle the user session.

      • How does the controller get the desktop session status from the database:

        • With VM Scale Booster, updates are made using heartbeats.

        • Without VM Scale Booster, the Controller already performs periodic polls to retrieve agent status and other information.

Limitations

  1. Console vs. RDP Session Differentiation: In a manual poll, the DVM agent cannot distinguish between console sessions and RDP sessions. This is only addressed in VM Scale Booster heartbeat calls. Even when a console session remains running, the controller does not mark the user session as disconnected.

  2. Linux DVM Tool Limitations: The Linux DVM does not send RDP status to the controller during manual polls, which can impact session disconnect timing if the VM Scale Booster is not enabled. If monitoring is enabled, desktop sessions may be marked as disconnected erroneously because manual API polls return the default "not connected" RDP status.

[SOURCE: DVM Agent]:

[SOURCE: DVM Agent]: