Citrix Provisioning Server architecture includes a master client for the creation of an operating system image, a server for storing images, the capability of streaming to clients, and management functions.

Figure A3 - Provisioning Server Architecture
Server Components
The Stream Process/Stream Service handles client login and disk I/O processing to provide clients with virtual hard drive functionality. The Stream Process manages multiplexing multiple clients to one or more virtual disk files for disk I/O, validating clients against the database, load balancing clients across multiple servers, high availability services, and all other aspects of the client-to-server protocol. The Stream Process/Stream Service uses the UDP protocol to communicate with clients.
The Management API (MAPI) is an abstraction layer that provides database and inter-server control services to all other server components. The MAPI layer allows the Stream Process, the administrator program, and other server-side components to access the database, hiding data store location and format from the overlying modules. It also provides control services and status services for creating virtual disks, booting clients, shutting down clients, and so on.
The database is the primary data store for client and server configuration. In the 2.X, 3.X, and 4.X versions, it is an access database with a data access object (DAO) interface used by the MAPI layer. In Version 5.X, it is a SQL database used by the MAPI layer.
Client Components
The following client components create the virtualized operating system from a master operating system installation, and also manage the streaming of the operating system on the client side:
BNImage is a utility that runs on the client. It allows the user to make a copy of a local hard drive to a virtual disk image. BNImage is the primary mechanism for creating a bootable virtual disk image. This utility manages copying hard disk files to the virtual disk, cleaning up the registry and boot.ini files, as well as the other components required to convert a hard disk image into a virtual disk image.
BNIStack is the protocol driver for the client. It receives disk requests from BNSMDF, and translates them into Provisioning Server protocol messages. These messages are sent to the server via user datagram protocol (UDP) by using the network stack exposed by BNNS. BNIStack also handles write cache management in the RAM and local hard disk cache modes, computer name management, and the numerous other functions that are required to boot the client remotely.
BNNS is the network stack for the client. It provides a simple socket interface that is available at Boot 0 for use by BNIStack. It is a Network Driver Interface Specification (NDIS) intermediate driver, and it binds to virtually any third-party network interface card (NIC) driver to provide simple network services.
BNNF is a standard filter driver used to handle power management for the third-party NIC driver. BNNF is used at shut down to ensure that the NIC is not powered off until all disk requests have completed. This driver also prevents the NIC from being disabled or restarted while the client is booted from the virtual disk.
BNSM is a SCSI Miniport driver. It handles exposing a virtual drive for both the client and server. On the client, the exposed virtual drive is used to start and run the client. On the server, the drive is used to mount virtual disk files for maintenance purposes.
BNSMDF is a disk filter driver that filters all disk read/write requests to the virtual disk on both the client and server. Read/write requests are redirected to BNIStack on the client and BNITDI on the server.
BNClient is a multi-purpose service that runs on the client. It handles various user mode functions that are required to boot the client remotely. This includes Active Directory management, license checking, shut down processing, boot complete notifications, and so on.
BXPTray is a status tray applet that provides the user with information regarding the functioning and health of the virtual hard drive on the client.