User Profile Synchronization Architecture

While delivering our SharePoint 2013 User Profiles internal trainings, I realized how many components take part in synchronization, and how difficult it is for non-graphical learners to assimilate the architecture.

I sketched the diagrams below to help me remember the various components and their role. I hope this will help others understand the mechanisms of user profile synchronization.

The “System Job to Manage User Profile Synchronization” can also refered to as “ILMProfileSynchronizationJob”.

Name

{name of the UPA_} ProfileSynchronizationJob

DisplayName {name of the UPA} - System Job to Manage User Profile Synchronization
Description

This timer job manages provisioning, run steps and additional tasks related to User Profile Synchronization. DO NOT CHANGE the information or frequency of this job. If you need to change how often incremental synchronization is done, access the user interface through the User Profile Service admin page, and click on the "Schedule Incremental User Profile Synchronization" link under the "Synchronization" category.

 

Provisioning of the ForeFront Identity Management synchronization

The first diagram is about the provisioning of the FIM.

UserProfileProvisioning

The "System Job to Manage User Profile Synchronization" timer job starts the one-time ProfileSynchronizationSetupJob timer job.

Name ProfileSynchronizationSetupJob
DisplayName Provision User Profile Synchronization Service

Synchronizing

The second diagram is about the synchronization itself.

UserProfileSynchronization

 

The " System Job to Manage User Profile Synchronization" timer job starts the “User Profile Incremental Synchronization” timer job.

Name

{name of the UPA_} ProfileImportJob

DisplayName {name of the UPA} - User Profile Incremental Synchronization
Description

This timer job will run at the specified interval to synchronize user, group and group membership changes between the User Profile Application and specified directory source (such as Active Directory or LDAP). Synchronization will look for changes since the last time this job was run and only perform these

Note the User Profile Incremental Synchronization timer job uses WMI to communicate with MIIServer.exe. SharePoint’s Management Agent (MA) logic is in Microsoft.office.server.UserProfiles.ManagementAgent.dll.

The terminology could also be confusing for SharePoint engineers, as it is based on “FIM” point of view:

  • Import: getting data from connected directory to connector space
  • Export: getting data from the connector space to the connected directory.

 

Keep in mind it is not supported to modify the content of the databases. Doing so may corrupt your data!