There is so much information available on Unified Service Desk, yet it does not cover many aspects of the product. We constantly get valuable feedback from the Unified Service Desk community, Unified Service Desk customers, and internal teams. One thing that has been consistent is about the need for best practices one should consider while developing Unified Service Desk solutions.
As part of our quest to make our customers get the most out of our products, we are starting this blog series with the intention of helping you understand and apply the best practices that our team, and the Unified Service Desk experts, have acquired by implementing several solutions.
Hope you find these valuable. Please leave your feedback and suggestions for future blogs in the comments section. Below is our first blog post in this series.
The new browser hosting type “IE Process” was introduced in Unified Service Desk 2.0 to improve the performance of Unified Service Desk client application and better memory management. The previous only available hosting type “Internal WPF” works in process, mode which results in huge memory footprints of Unified Service Desk as and when more browser based applications are hosted in Unified Service Desk. The new hosting type “IE Process” helps in getting the browser instance out of process from Unified Service Desk process resulting in better experience. For the key benefits of the IE Process mode, see MSDN: IE Process.
How IE Process Management works?
‘Internal WPF’ hosting type leverages the .NET browser control, which runs in-proc within Unified Service Desk process. Where as, the new ‘IE Process’ hosting type creates Internet Explorer instances using the Shdocvw COM interface. With this new approach, when Unified Service Desk is spinning up new Internet Explorer instances, one can observe the Internet Explorer processes getting created in the task manager dynamically. The memory of the Unified Service Desk client remains same and in turn the memory of the Internet Explorer instances would be increasing based on the number of web applications configured in Unified Service Desk. This is, in contrast to ‘Internal WPF’ hosting type, an out-proc mode.
The number of Internet Explorer processes required would be completely managed by the Internet Explorer COM interface, and Unified Service Desk never decides if a new process needs to be created or an existing process will be sufficient. The Internet Explorer instance management is delegated completely to the COM interface, thereby isolating any process management responsibilities out of Unified Service Desk.
Internet Explorer processes depends on multiple factors that fall under available resources such as Available Memory, Virtualized environment, and Internet Explorer specific global settings such as UAC Mode, Protection Mode, TabProcGrowth settings etc. The Internet Explorer COM interface determines based on various resourcing factors and limits the number of Internet Explorer instances to be created for a given client environment.
When agents continue to use Unified Service Desk, there may be instances when one could observe the error messages in Unified Service Desk indicating creating of COM interface failed. This happens when Internet Explorer had exhausted all the available the resources, and could not create any new instances. This could mean the maximum number of possible instances of Internet Explorer possible for the client environment were already created for a client computer, and the client computer has no resource left to continue creating more Internet Explorer instances, but user is still trying to create more Internet Explorer windows from Unified Service Desk.
This resource constraint varies from computer to computer and their configurations, so the actual timing of this issue is not a straight answer, but varies from machine to machine, configuration to configuration, and IE version to version.
Although, Unified Service Desk does not restrict the user from using the application, there are few things that can be considered during configuration, few that needs to be usage and behavior adjustments.
- Determine the optimal number of windows/sessions needed to be opened simultaneously in Unified Service Desk and restrict the agent from creating them. Sometimes, having more restrictions in the application is better for agent productivity than giving more flexibility.
- Close unnecessary windows and sessions in Unified Service Desk. This not only helps Internet Explorer perform better, but helps with overall machine performance.
- Train the agents to minimize the usage of Internet Explorer outside Unified Service Desk. Remember, at the end of the day, Internet Explorer has to manage all these windows, tabs and content. So, the less stress you give to Internet Explorer, the less stress Internet Explorer gives to you.
- Advise users to avoid forceful termination of Unified Service Desk from task manager or other process managing software. Killing or forcefully terminating Unified Service Desk during a freeze or a crash due to the overloaded Internet Explorer usage, all the Internet Explorer processes created by Unified Service Desk will be orphaned and will hang around in the computer (yet count towards the total Internet Explorer processes that can be created). So, should such an action be taken make sure that these Internet Explorer processes are cleaned.
- If Unified Service Desk continue to freeze or crash even after forceful termination, it indicates that the fault is recurring due to this threshold being hit by the COM interface, so a system restart is advised to flush out all the orphaned processes.
Please leave your feedback and suggestions for future blogs in the comments section.
Sid Gundavarapu & ArulPrasad Rajarathinam contributed to this blog post