The CLR (Common Language Runtime) creates around every .NET application logical and physical boundary named application domain. Multiple .NET application could run in a single process when CLR is loading them into separate domains. In the same time CLR isolates each application domain from the others and prevents stability, configuration and security of running .NET applications from affecting other applications. Technology named remoting is used to move objects between application domains.