For those of us familiar with Group Chat in Microsoft Lync Server 2010, things have changed in Lync Server 2013 -- and I mean a lot. For starters, Microsoft has changed the name from Group Chat to Persistent Chat, a more appropriate title. When an end user leaves messages in a chat room, the IMs stay in the specific chat room's session for others to see and respond to. The fact than an IM session isn't removed when an end user ends the session is why it's known as persistent.

So for starters, I'm ecstatic about the new name; explaining to customers in Lync Server 2010 that IMs are persistent contradicted the name. Another subtle improvement with Persistent Chat in Lync Server 2013 is that this workload has come more to the forefront along with the key components such as IM\presence, conferencing, Enterprise Voice, and application sharing.

What Is Persistent Chat?

Persistent Chat lets end users participate in a working session of instant messages that's persistent over a specified amount of time in a chat room that can be moderated and tightly controlled. Consider having an IM session with a group of colleagues in different parts of your organization, regardless of geographic region, where you are all working on the same project. Over the course of the project, different people are posting questions and concerns and others are able to respond in a manner that's visible to all users who have subscribed or been admitted to the chat room.

Persistent Chat Server can help your organization do the following:

  • facilitate communication across teams and groups of users in a controlled manner and location
  • encourage dispersed regions of the organization to communicate with others despite language and time zones
  • keep information in a controlled environment and out of users' private Lync history or external message systems
  • improve information sharing within teams collaborating on projects

Lync Server 2013 Persistent Chat will definitely help organizations improve communications across multiple teams and in geographically separated locations by using persistent messages that can be shared with different teams and groups. Once users are connected to a chat room through the Lync 2013 client, they're instantly connected to previous conversations and topics.

Persistent Chat Features

With Microsoft revamping the application, several new items stand out that will excite Lync Server enthusiasts to take a peek at the new version. Some of the changes include:

  • Administration in Lync Server Control Panel -- Managing Group Chat in Lync Server 2010 requires the administrator to open the Group Chat Console, which involves leveraging a separate add-in.
  • Topology Builder integration -- Persistent Chat is a specific server role, so it's added into the Lync 2013 environment through Topology Builder just like any other server role.
  • Simplified migration and upgrade -- The ability to migrate from Lync Server 2010 Group Chat to Lync Server 2013 Persistent Chat is well-documented and fairly stress-free.
  • Single client -- You now have a single client for end users. This change is more than likely going to be very popular -- no more having two clients for end users to manage and work with.
  • High availability -- The ability to have an additional set of Persistent Chat servers ready to take over a Persistent Chat pool has simplified redundancy.

Persistent Chat Topologies

Lync Server 2013 Persistent Chat supports multiple topologies. If you're using Lync Server 2013 Standard Edition, you have the following options:

  • Lync Server 2013 with SQL Server Express
  • Lync Server 2013 with a Persistent Chat Server on a separate server where a Standard Edition server is the next hop server.

Note that Lync Server 2013 Standard Edition is an all-in-one solution, where all workloads coexist on a single node.

If you're using the Lync Server 2013 Enterprise Edition, you have the following topology options:

  • Lync Server 2013 with a single-server Persistent Chat Server Front End Server
  • Lync Server 2013 with a multiple-server Persistent Chat Server Front End Server

The single-server topology for Persistent Chat is considered the simplest deployment and configuration for Persistent Chat, with a single-server Persistent Chat Front End topology and a server that hosts the SQL Server database. This option fits either the Standard or Enterprise Edition deployment of Lync Server 2013. Optionally, you can deploy the SQL Server database on the same server that hosts the back-end database for Lync Server 2013 Enterprise Edition. This deployment option is applicable for organizations that want to host Persistent Chat without the need for high availability.

You can't add additional servers to a Persistent Chat Server pool after it's created as a single-server deployment. Therefore, Microsoft recommends using the multiple-server pool topology even if you're using a single server so that you can add more servers if needed in the future.

The multiple-server topology is considered a bit more complex deployment scenario and is intended for when customers have a business or technical requirement for high availability. The multiple-server topology can consist of up to four active servers in a pool and four passive servers in a separate pool. This topology scenario would provide a redundant pool ready to acquire the services of the active Persitent Chat pool in case of an outage. Each server can support up to 20,000 users, which makes the Persistent Chat pool capable of supporting up to 80,000 users.

Figure 1 represents a high-level architecture for a Persistent Chat Server pool with a Lync Server 2013 Enterprise Edition topology.

 Lync Server 2013 Enterprise Edition high-level architecture for Persistent Chat
Figure 1: Lync Server 2013 Enterprise Edition high-level architecture for Persistent Chat

How Persistent Chat Works

One of the key architectural points to keep in mind with Lync Server 2013 Persistent Chat is how requests are routed to the Persistent Chat servers. Persistent Chat services run on a dedicated pool. The Persistent Chat pool depends on the Lync Server pool to route messages to the Lync clients participating in a discussion. Lync clients communicate with the Persistent Chat services by using Extensible Chat Communication Over SIP (XCCOS).

The following steps outline at a high level the client sign-in process to Persistent Chat:

  1. The Lync 2013 client retrieves basic permissions from Lync Server 2013 via in-band provisioning.
  2. Lync Server 2013 responds to the Lync client if the user has the ability to sign in to the Persistent Chat pool.
  3. The Lync 2013 client contacts the Persistent Chat server.
  4. The Persistent Chat server responds with the rooms the user has been granted rights to participate in.
  5. The Lync 2013 client retrieves the list of accessible rooms.
  6. The Lync 2013 client sends message invites to any new room the user wishes to participate in.

Final Thoughts

Persistent Chat is a feature that's been a long time coming, so many businesses will immediately want to dive in to Lync Server 2013. I find myself actually excited about deploying and explaining to customers all the different and unique facets of how Lync Server 2013 Persistent Chat can be leveraged in day-to-day operations out of the box, especially now with the single client. Keep in mind that with the addition of service packs and cumulative updates, Microsoft has the opportunity to sneak in missing features and nuances to the product as well.