4. Package Distribution Process Flow
The process behind the creation and distribution of a package, illustrated in Figure 36,
is fairly straightforward. We begin, as always, with the SMS
administrator defining the package, distribution points, and programs.
The SMS Provider writes this information to the SMS database. This
action triggers SQL
Monitor to write a package notification wake-up file to Distribution
Manager’s inbox (\SMS\Inboxes\Distmgr.box). The wake-up file takes the
form of a site code and package ID as the filename with a .PKN
extension. For example, a package notification file for site A01 might
be named A0100003.pkn.
The Distribution Manager component wakes up and
processes the package based on the package details you provided.
Distribution Manager performs the following general tasks:
Compresses the source files, if necessary
Copies the package source directory to the specified distribution points
Creates various instruction files for clients that are copied to the CAPs and management points by Inbox Manager
Creates replication files for sending the package to child sites
If
you specified that a compressed version of the files should be used,
Distribution Manager will compress the files and store them either in
the location specified when the Software Distribution component was
configured (this process is discussed in the next section) or by default
in the SMSPKG folder created on the drive on which SMS was installed on
the site server, with the same filename and the extension .PKG.
Distribution Manager then copies the source file
directory to the SMSPKGx$ folder created on each specified distribution
point within the site. If the package files were compressed,
Distribution Manager uncompresses them first.
Distribution Manager generates three files and
writes them to the \SMS\Inboxes\Pkginfo.box folder on the site server.
These files (with filenames as described earlier) are the following:
.PKG Package program detail information
.NAL Location of distribution points
.ICO Icon file information
The Inbox Manager component, as it’s wont to do,
copies these files to the Pkginfo.box folder on each CAP. These files
serve as instruction files for the client after it receives an
advertisement. At this point, the process stops unless the package needs
to be sent to a child site.
If the package does need to be sent to a child
site, Distribution Manager writes a package replication file (.RPT) to
Replication Manager’s inbox (\SMS\Inboxes\Replmgr.box\Outbound). If a
compressed copy of the package source directory doesn’t already exist,
Distribution Manager also compresses the source directory into a
temporary directory on the site server and then moves the file to the
SMSPKG folder (on the SMS installation drive on the site server or the
drive you specified when configuring the Software Distribution
component).
Now Replication Manager takes over and begins the sending process. Replication Manager creates a
minijob for the Scheduler and places it in the Scheduler’s inbox
(\SMS\Inboxes\Schedule.box). The Scheduler creates the package and
instruction files needed for sending the data in question, as well as a
send request file for the sender. The package and instruction files are
placed in the \SMS\Inboxes\Schedule.box\Tosend directory. The send
request file is written to the preferred sender’s outbox
(\SMS\Inboxes\Schedule.box\Outboxes\sender, where sender
is the sender folder, such as LAN, RASAsynch, or RASISDN). Recall that
both the sending priority and the preferred sender are identified in the
Package Properties dialog box.
When
the send request file is written, the sender reads the file. It also
examines whether the address properties have placed any restrictions on
when requests of this priority can be sent and whether there are any
bandwidth limits. It then changes the extension of the send request file
to .SRS and writes status information to it.
The sender connects to the target
site’s SMS_SITE share—the \SMS\Inboxes\Despoolr.box\Receive
directory—where the Despooler component on the target site will complete
processing of the information at the target site. When the data has
been completely transferred, the send request file is updated to a
status of “completed” and the file is then deleted. Distribution Manager
on the target site will carry out any necessary tasks. For example, if
you identified distribution points at the target site, the Despooler
will decompress the package and pass it to Distribution Manager, which
will process the package for those distribution points.