DCOM Explained
by Rosemary Rock-Evans
Digital Press
ISBN: 1555582168   Pub Date: 09/01/98

Previous Table of Contents Next


Sites and connected networks

MSMQ uses the concepts of a “site” and a “connected network” in order to configure the queues and MSMQ modules. A site is a physical site with computers linked by communications lines. A connected network is a collection of computers where all the computers in the group can communicate directly using the same protocol. A computer can belong to more than one connected network and a connected network can span sites, for example:


Figure 14.5  Sites and connected networks

If two or more separate networks (subnets) exist on the same LAN, two or more Connected Networks will be needed.

Main modules

MSMQ currently does not use the Registry to store information about queues, etc., but rather its own Information Store. We will be seeing how this store works later, but the store is relevant in the next discussion about MSMQ modules. There are six types of MSMQ software modules that the administrator can deploy:

  Primary Enterprise Controller (PEC)
  Primary Site Controller (PSC)
  Routing Server (RS)
  Backup Site Controller (BSC)
  MSMQ Client Software (CS)
  Site Gates

Primary Enterprise Controller (PEC)-There is one PEC per enterprise network. The PEC holds information about the entire enterprise configuration. It can also function as the PSC for the site, or as a routing server

Primary Site Controller (PSC)-There is one PSC per site in an enterprise, but there is no need for a PSC on a machine which has the PEC because on this machine the PEC fulfils the role of PSC. The PSC holds information about the computers and queues at that site. It also functions as a routing server.

Routing Servers-A Routing server is the prime component in MSMQ supporting asynchronous messaging, store and forward, context bridging between protocols, session concentration, and dynamic routing. It is installed on all machines needing these services.

In-Routing servers act as a gateway for all incoming messages and provide session concentration. Out-Routing servers do the reverse and act as gateways for all outgoing messages to clients. Routing servers can act in the capacity of both in- and out-routing servers. The administrator can allocate more than one Routing server as an in or out server to a group of clients in order to protect against failure.

When deciding the allocation of Routing servers to Connected Networks, at least one Routing server must belong to each Connected Network in order that the two sites can communicate. Where only one machine on a site has been designated a Routing server, messages sent from clients will be channelled through this machine. Where a number of machines have been designated as Routing servers, client messages can be routed through any of these machines to the remote site.

Backup Site Controller (BSC)-The BSC is installed at each site where protection against failure in case of PSC failure is needed. One or more BSCs can be installed per site. The BSC holds a read only replica of the PSC database and also functions as a routing server.

Client Software-MSMQ Client software runs on machines where the applications act only in the capacity of a client. The client software connects to a PSC and also to the BSCs. A special version of the Client Software used in development comes with the MSMQ Software Development Kit.

Site Gate-Intersite session concentration is achieved using Site Gates. If a site is configured to use a Site Gate, every message sent between computers in different sites is routed through the Site Gate. By doing this, the computers within the site do not need to know about routing or the topology of the network beyond the site.

MSMQ Information Store

The MSMQ Information Store holds information about computers, queues, the logical enterprise topology (sites, CNs, inRSs, outRSs, assignments), and logical enterprise settings (enterprise name, PEC name, default replication intervals, etc.).

MSMQ does not use the Registry to hold this information. Instead, it currently uses its own database. This database is maintained by the PECs, PSCs, and BSCs and uses MS SQL Server version 6.5 as the underlying DBMS. In the future, it is likely that this store will be replaced by the Active Directory.

The database is replicated between sites and machines based on the scope of the data held:

  PEC data-The database maintained by the PEC contains the master copy of enterprise, site, site link, and CN settings. This database is replicated between sites, with the PEC having write access to this information and the PSCs having read access.
  PSC data-The PSC’s database contains a master copy of its site’s computers and queues. Queues can have either site or enterprise scope. If the queue has site scope, details of it are replicated within the site. If the queue has enterprise scope, details are replicated between sites. Thus, each PSC database also contains a copy of the information from other sites, if it has enterprise scope. Each PSC has write access to the information it owns and read access to the replicated data.
  BSC data-BSCs contain a replicated database from the PSC in their site to which they have read access.

Routing servers thus use the PSC data for their site (or BSC data in the event of failure) and PEC data (master or replicated) to obtain information about the enterprise. Routing servers must thus be aware where in the site (on which machine) the PEC data, PSC data, and BSC data reside.

Data is replicated from the owner directly to other sites, that is, from the PEC to the PSCs and from PSCs to other PSCs. But the PSCs replicate to BSCs at their site, not to other sites. By default, intrasite replication occurs every two seconds and intersite replication every 10 seconds; however, replication intervals can be changed, and immediate replication takes place if the topology is changed. MSMQ actually uses its own queues and routing mechanisms to support the replication.


Previous Table of Contents Next