WS2008: Terminal Server Session Broker Overview

Today with an overview of Terminal Server Session Broker.  Terminal Server Session Broker (TS Session Broker) is a role service in Windows Server 2008 that allows a user to reconnect to an existing session in a load-balanced Terminal Server farm.  As with the Session Directory service on Windows Server 2003, TS Session Broker stores session […]

Today with an overview of Terminal Server Session Broker.  Terminal Server Session Broker (TS Session Broker) is a role service in Windows Server 2008 that allows a user to reconnect to an existing session in a load-balanced Terminal Server farm.  As with the Session Directory service on Windows Server 2003, TS Session Broker stores session state information that includes Session ID's and their associated user names, as well as the name of the server where each session resides.  Installation of the TS Session Broker role service installs and starts the TS Session Broker service (tssdis.exe).

Windows Server 2008 introduces a new session management feature - TS Session Broker Load Balancing (SBLB).  This feature enables you to distribute the session load between servers using DNS round robin.  This solution is easier to deploy than Windows Network Load Balancing (NLB).  To participate in TS Session Broker load balancing, the TS Session Broker Server and the Terminal Servers in the farm must be running Windows Server 2008 Standard, Enterprise or Datacenter Editions.  Windows Server 2008 servers can join a Windows Server 2003 Session Directory farm.  Issues around providing a consistent user experience between different server versions are apparent.  However, from a brokering technology perspective, this is seamless to the end user.  Windows 2003 Terminal Servers can also join a Windows Server 2008 Session Broker farm - however, in order to use the Session Broker Load Balancing feature, all of the servers in the farm must be running Windows Server 2008.

Let's briefly go over some of the architecture pieces of Terminal Server Session Broker - specifically the Jet Database on the Session Broker Server and the re-vectoring logic used by Terminal Servers participating in the Session Broker farm that ensures that a client is redirected to the proper node.  The Session Broker stores session state information in a Jet database.  This database (tsesdir.edb) is located on the machine running the TS Session Broker Service in the %systemroot%\system32\tssesdir.  Note that the database location itself is not configurable.  If you have concerns regarding disk space usage, you can use the Resource Kit utility LINKD.EXE to move the folder to another partition or disk.  The TSSesdir folder contains the following files:

  • edb.chk
  • edb.log
  • edbtmp.log
  • res1.log
  • res2.log
  • sddbtime.chk
  • tmp.edb
  • tssesdir.edb

Within the tssesdir.edb, the following fields exist: