Friday 4 July 2014

Inbox folders in SCCM 2012

INBOX FOLDERS IN CONFIGURATION MANAGER 2012


Configuration Manager’s thread components use folders known as inboxes to receive files from other components within the site. Inboxes may consist of a single folder or a folder subtree. Components maintain open file system change notification handles on their inboxes. A component can notify another component that is has work to do by dropping a file in its inbox. The operating system then returns a file change notification event to the component owning the inbox.
The inbox folders temporarily store files before they are processed to the site database or transferred to another site or site component. A backlog of files can indicate that a component is not running or is experiencing a problem. For example, when the Microsoft SQL Server database runs out of space, a backlog of files occurs until the files are processed to the site database.Some components also maintain outbox folders in which they place files to be processed by other components.

In Configuration Manager 2012, many components no longer write directly to other components’ inbox folders. Instead, these components apply changes directly to the database. The Database Notification Monitor component detects the change and creates a zero byte file in the appropriate inbox to serve as a wakeup call. Some components also use in-memory queues for faster communications with other components on the local machine. Some components also maintain outbox folders in which they place files to be processed by other components. Many components additionally operate a watchdog cycle, in which they wake up at regular intervals to perform specific work. Unlike early SMS versions in which watchdog cycles introduced latency into various operations, time-sensitive processing does not depend on watchdog cycles.


Components and Communications

Configuration Manager code design is based on a componentized architecture, where sets of related tasks are carried out by logically distinct units of executable code, which works together to implement higher-level functionality. Most Configuration Manager code resides in dynamic link libraries (DLLs) in the bin\<processor architecture> folder under the Configuration Manager installation folder. Although most components run as threads of the SMS Executive service, some run as separate services. You can install all the components on the site server, or you can alternatively distribute many components to other servers.
Table  displays many of the Configuration Manager components with a description of their principal functions, the folders they use to communicate with other components, and the log files they maintain. To view the actual components installed on each server expand the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Components registry key. The actual inboxes installed and their folder locations are found under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Inbox Source\Inbox Instances. Most components log details of their activities. The Component Type column indicates whether the component runs as its own process or as a thread of the Executive service, and if it is monitored by the Site Component Manager. The components installed on a Configuration Manager site system will vary depending on the site roles assigned to the server and the code revision you are running.





 Component Names and Descriptions

Component Name
Display Name
Description
Directory Used
Log File
SMS_SITE_COMPONENT_MANAGER
Site Component Manager (Component not installed by Site Component Manager)
Installs and manages components on site systems
INBOX: sitecomp.box
sitecomp.log
Monitored Service Components
SMS_EXECUTIVE
Executive Service
Host process for thread components
Smsexec.log
SMS_SITE_SQL_BACKUP
SMS Site SQL Backup Service
Backup process for site database
smssqlbkup.log
SMS_SITE_VSS_WRITER
SMS Writer Service
Manages volume snapshots for backups
smswriter.log
Monitored Thread Components
SMS_AI_KB_MANAGER
Asset Intelligence Knowledge Base Manager
Maintains Asset Intelligence data in the site database
INBOX: aikbmgr.box
aikbmgr.log
SMS_ALERT_NOTIFICATION
Alert Notification Manager
Processes instruction files for alerts, sends e-mail, maintains database triggers
INBOX: notictrl.box
NotiCtrl.log
SMS_AMT_PROXY_COMPONENT
Advanced Management Technology (AMT) Proxy
Handles provisioning, maintenance, and requests for Intel AMT clients
INBOX: amtproxymgr.box
amtproxymgr.log
SMS_AWEBSVC_CONTROL_MANAGER
Application Catalog Web Service
Maintains Application Catalog web service
awebsctl.log
SMS_CERTIFICATE_MANAGER
Certificate Manager
Maintains certificates
INBOX: certmgr.box
CertMgr.log
SMS_CLIENT_CONFIG_MANAGER
Client Configuration Manager
Carries out client push installation and maintains the Client Push Installation account
INBOX: ccr.box
ccm.log
SMS_CLIENT_HEALTH
Client Health
Processes client health (.POL) files
Chmgr.log
SMS_COLLECTION_EVALUATOR
Collection Evaluator
Updates collection membership
INBOX: colleval.box OUTBOX: coll_out.box (used for sending to child sites)
colleval.log
SMS_COMPONENT_MONITOR
Component Monitor
Maintains registry setting for discovery components
compmon.log
SMS_COMPONENT_STATUS_SUMMARIZER
Component Status Summarizer
Processes component status summarization rules
INBOX: Compsumm.box
compsumm.log
SMS_DATABASE_NOTIFICATION_MONITOR
Database Notification Monitor
Watches the database for changes to certain tables and creates files in the inboxes of components responsible for processing those changes
This component writes to many inbox folders
smsdbmon.log
SMS_DESPOOLER
Despooler
Processes incoming files from parent or child sites
INBOX: despoolr.box
despool.log
SMS_DISCOVERY_DATA_MANAGER
Discovery Data Manager
Processes discovery data and enters it into the site database
INBOXES: ddm.box; Auth\ddm.box
ddm.log
SMS_DISTRIBUTION_MANAGER
Distribution Manager
Copies packages to distribution points
INBOX: distmgr.box
distmgr.log
SMS_ENDPOINT_PROTECTION_MANAGER
Endpoint Protection Manager
Manages endpoint protection configuration
INBOX: epmgr.box
EPMgr.log
SMS_HIERARCHY_MANAGER
Site Hierarchy Manager
Processes and replicates changes to the site hierarchy
INBOX: hman.box
Hman.log
SMS_INBOX_MANAGER
Inbox Manager
Maintains inbox files
inboxmgr.log
SMS_INBOX_MONITOR
Inbox Monitor
Monitors the file count in various inboxes
inboxmon.log
SMS_INVENTORY_DATA_LOADER
Inventory Data Loader
Loads hardware inventory data from clients into the site database
INBOXES: dataldr.box; Auth\dataldr.box
dataldr.log
SMS_INVENTORY_PROCESSOR
Inventory Processor
Converts hardware inventory to a binary format used by the data loader
INBOX: Inventry.box
invproc.log
SMS_LAN_SENDER
Standard Sender
Initiates intersite communications across TCP/IP networks
INBOX: schedule.box\outboxes\LAN
sender.log
SMS_MIGRATION_MANAGER
Migration Manager
Schedules migration tasks
INBOX: mmctrl.box
Migmctrl.log
SMS_MP_CONTROL_MANAGER
Management Point Control Manager
Manages certificate usage for the management point and monitors management point availability
mpcontrol.log
SMS_MP_FILE_DISPATCH_MANAGER
Management Point File Dispatcher
Transfers files from management point outboxes to site server inboxes
INBOX: MP\OUTBOXES OUTBOXES: See note
mpfdm.log
SMS_OBJECT_REPLICATION_MANAGER
Object Replication Manager
Creates CIXML representations for the Configuration Manager object for replication to primary child sites
INBOX: objmgr.box
objreplmgr.log
SMS_OFFER_MANAGER
Offer Manager
Manages advertisements
INBOX: offermgr.box
offermgr.log
SMS_OFFER_STATUS_SUMMARIZER
Offer Status Summarizer
Populates advertisement status summary information in the site database
INBOX: OfferSum.box
offersum.log
SMS_OUTBOX_MONITOR
SMS_PACKAGE_TRANSFER_MANAGER
Package Transfer Manager
Transfers packages to distribution points
INBOX: PkgTransferMgr.box; OUTBOXES: PkgTransferMgr.box\outboxes
PkgXferMgr.log
SMS_POLICY_PROVIDER
Policy Provider
Generates policies for Configuration Manager components
INBOX: policypv.box
policypv.log
SMS_PORTALWEB_CONTROL_MANAGER
Application Catalog Web Portal Manager
Configures web portal service
Portlctl.log
SMS_REPLICATION_CONFIGURATION_MONITOR
Replication Configuration Monitor
INBOX: rcm.box
Rcmctrl.log
SMS_REPLICATION_MANAGER
Replication Manager
Processes inbound and outbound files for intersite communications
INBOX: Replmgr.box
replmgr.log
SMS_RULE_ENGINE
Rule Engine
Processes automatic deployment rules for software updates
INBOX: RuleEngine.box
Ruleengine.log
SMS_SCHEDULER
Scheduler
Converts replication manager jobs to sender jobs
INBOX: Schedule.box
sched.log
SMS_SITE_CONTROL_MANAGER
Site Control Manager
Maintains site control data
INBOX: sitectrl.box
sitectrl.log
SMS_SITE_SYSTEM_STATUS_SUMMARIZER
Site System Status Summarizer
Processes status messages for the local site and applies summarization rules
INBOX: SiteStat.Box\repl
sitestat.log
SMS_SOFTWARE_INVENTORY_PROCESSOR
Software Inventory Processor
Loads software inventory data from clients into the site database
INBOXES: sinv.box; Auth\sinv.box
sinvproc.log
SMS_SOFTWARE_METERING_PROCESSOR
Software Metering Processor
Processes software metering information from clients and updates metering data in the site database
INBOX: swmproc.box
swmproc.log
SMS_SRS_REPORTING_POINT
Reporting Services Point
Configures SQL Server Reporting Services
srsrp.log
SMS_STATE_MIGRATION_POINT
State Migration Point
Maintains user state data
smpmgr.log
SMS_STATE_SYSTEM
State System
Processes and summarizes state messages
INBOX: Auth\statesys.box
statesys.log
SMS_STATUS_MANAGER
Status Manager
Processes status messages and writes status information to the site database
INBOX: Statmgr.box; SMS_EXECUTIVE to SMS_STATUS_MANAGER in-memory status message queue
statmgr.log
SMS_WSUS_CONFIGURATION_MANAGER
WSUS Configuration Manager
Maintains WSUS settings and checks connectivity to upstream server
INBOX: WSUSMgr.box
WCM.log
SMS_WSUS_CONTROL_MANAGER
WSUS Control Manager
Verifies WSUS component health, configuration, and database connectivity
WSUSCtrl.log
SMS_WSUS_SYNC_MANAGER
WSUS Synchronization Manager
Synchronizes updates with upstream server
INBOX: wsyncmgr.box
wsyncmgr.log
Unmonitored Service Component
SMS_SITE_BACKUP
Site Backup Agent
Performs the site backup task
Smsbkup.log (in site backup folder)
Unmonitored Thread Components
SMS_OFFLINE_SERVICING_MANAGER
Offline Servicing for Operating System Images
Manages Software Updates for offline OS images
OfflineServicingMgr. log
SMS_NETWORK_DISCOVERY
Network Discovery Agent
Performs network discovery
Drops DDRs in DDR.box
netdisc.log
SMS_WINNT_SERVER_DISCOVERY_AGENT
Server Discovery Agent
Performs discovery on Configuration Manager site systems
Drops DDRs in DDR.box
ntsvrdis.log


Here is additional information regarding some of the components described in Table

The Site Component Manager monitors the Site Control inbox (sitectrl.box) for changes to site properties that require adding, removing, or altering a component on a site system. This is in addition to monitoring its own inbox.

               The Discovery Data Manager, Inventory Data Loader, Software Inventory Processor, and State    System components maintain trusted inboxes under the inboxes\auth folder for signed files.
               The Management Point File Dispatcher transfers files from its inboxes (MP outbox folders) to the inboxes of other components. To accomplish this, it uses the inboxes of the following components as its outboxes: Client Configuration Manager, Discovery Data Manager, Distribution Manager, Inventory Processor, Software Metering Processor, State System, and Status Manager.
               The core components that maintain a Configuration Manager site are the Executive Service, Site Component Manager, Site Control Manager, and Site Hierarchy Manager:
               The Executive Service is the host process in which most other components run. The Executive Service exists on every Configuration Manager site system other than the site database server.
               The Site Component Manager is a separate service that configures and manages other components.
               The Site Hierarchy Manager and Site Control Manager work together to maintain the site settings.

Each Configuration Manager site maintains site control information in the Configuration Manager database for that site.
Site control information includes the parent site, sender addresses, client and server components, and various other site properties. Site control data is stored in the site database and replicated as global data to all sites in the hierarchy.
Here is an example where an administrator makes a change to a site property using the Configuration Manager console, showing how Configuration Manager components interact:

1.             The console application reads the current site control file and calculates a delta based on the settings applied by the administrator. The console code then invokes the CommitSCF method of the SMS_SiteControlFile WMI object to apply the changes in the database.
2.             The SMS Provider executes the method against the database. The CommitSCF method inserts the changes into the SiteControl table. Inserting data into the SiteControl table fires the SMSDBMON_SiteControl_SiteControl_AddUpd_HMAN_ins trigger. This creates a new entry in the TableChangeNotifications table.
3.             The Database Monitor reads the TableChangeNotifications and processes the change notification.
4.             The Database Monitor drops an empty site control file in the Hierarchy Manager inbox to notify Hierarchy Manager of the site changes.
5.             Hierarchy Manager updates related tables in the site database.

Figure illustrates these steps.


Illustrating changes made to a site property.



After the site control information in the database is updated, Configuration Manager uses SQL replication to replicate this data as global data.
Most of the remaining components work together, implementing specific feature sets. An important example of this is file-based replication between sites. Here is what will occur when a Configuration Manager component has file data to replicate to another site:
1.             The component with data to replicate to another site copies the file(s) to one of the subfolders of the Outbound folder in the Replication Manager’s inbox. The subfolders are named high, normal, or low to indicate the priority of the replication job. The file names begin with the destination site code for routing purposes.
2.             The Replication Manager compresses the file(s) to its process folder and moves them to its ready folder. Replication Manager then creates a job file under the Scheduler inbox.
3.             The Scheduler processes the instruction file and creates instruction and package files in the tosend folder (inboxes\schedule.box\tosend). It then transfers the files to the appropriate sender.
4.             The Sender copies the files to the SMS_SITE share on the destination site server. This share is the despooler\receive inbox.
5.             At the destination site, the Despooler validates the signature from of the source site server, decompresses the files, and moves them to the Replication Manager inbox.
6.             The Replication Manager moves the file to the appropriate inbox of the component for which the file is intended. The Replication Manager also initiates any replication to additional sites that may be required.

8 comments:

  1. How to troubleshoot the backlogs in the inbox

    ReplyDelete
  2. please have look on my post
    http://anupamsccmtips.blogspot.in/2014/07/check-inbox-backlog-in-sccm-2012.html

    I hope this will help you

    ReplyDelete
  3. Sir..
    This is Awesome !!
    You are God ...
    Please take a Bow ....

    ReplyDelete
  4. ConfigMgr does not use SQL replication, as mentioned here, it uses the SQL Server Service Broker. The only exception is when you use MP replicas.

    ReplyDelete
  5. Copied/pasted from System Center Configuration Manager (SCCM) 2007 Unleashed

    ReplyDelete
    Replies
    1. Ditto for SCCM 2012 Unleashed. Plagiarism at it's finest!

      Oh, and there's always this, "Copyright © 2013 by Pearson Education, Inc. All rights reserved. No part of this book shall be reproduced...by any means, electronic...or otherwise, without written permission from the publisher."

      But who's counting, right??!!

      Delete
  6. http://anupamsccmtips.blogspot.in/2014/07/check-inbox-backlog-in-sccm-2012.html site (troubleshootig in backlog in box) is not opening, could you please check once. Thanks.

    ReplyDelete