Applications reside above the redirector and server services in user mode. Like all other layers in the Windows NT networking architecture, there is a single unified interface to access network resources, independent of the redirector(s) installed on the system. This is done through two components: Multiple Universal Naming Convention Provider (MUP) and the Multi-Provider Router (MPR).
When applications make I/O calls containing UNC names, these requests are passed to MUP. MUP selects the appropriate UNC provider (redirector) to handle the I/O request.
The Universal Naming Convention is a naming convention for describing network servers and share points on those servers. UNC names start with two backslashes followed by the server name. All other fields in the name are separated by a single backslash. A typical UNC name would appear as:
\\server\share\subdirectory\filename
Not all of the components of the UNC name need to be present with each command; only the share component is required. For example, dir \\server\share can be used to obtain a directory listing of the root of the specified share.
One of the major design goals for networking in the Windows NT environment was to provide a platform upon which other vendors could build networking services. MUP is a vital part of allowing multiple redirectors to coexist in the computer at the same time. MUP frees applications from maintaining UNC provider listings themselves.
Unlike the TDI interface, MUP is actually a driver. TDI simply defines the way for a component on one layer to communicate with a component on another layer. MUP also has defined paths to UNC providers (redirectors).
I/O requests from applications that contain UNC names are received by the I/O Manager, which in turn passes the requests to MUP. If MUP has not seen the UNC name in the past 15 minutes, MUP will send the name to each of the UNC providers registered with it. (This is why MUP is a prerequisite of the Workstation service. One of the first tasks the Workstation service does during initialization is to register with MUP.)
When a request containing a UNC name is received by the MUP, it negotiates with each redirector to find out which one can process the request. MUP looks for the redirector with the highest registered priority response that claims it can establish a connection to the UNC. This connection remains as long as there is activity. If there has been no request for 15 minutes on the UNC name, then MUP once again negotiates to find an appropriate redirector.