Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

Embedded devices operate in a wide variety of scenarios, ranging from stationary devices that are continuously connected, to devices that are usually disconnected even on startup.

Frequently the sending device and the receiving device run at different times. The one requirement shared by virtually all devices is the need for efficiency and a small memory footprint.

The embedded implementation of MSMQ provides the essential functionality of the desktop version of MSMQ, optimized to minimize space requirements. It is also designed to support a small number of simultaneous connections with short code paths.

The following optimizations are also included in the embedded implementation:

  • Peer-to-peer, application-to-application messaging that does not require a separate server or domain controller.

  • Computer names, rather than Internet Protocol (IP) addresses, are used internally to support roaming.

  • NIC tracking allows the service to restart immediately after reconnection.

  • Transparent, salvageable and configurable storage enhances efficiency and reliability.

  • Routing for queues is simple to configure and use but provides powerful functionality.

  • A small footprint (90–190K)

The embedded message queuing service does not support the following functionality:

  • Remote Queue Read

  • Encryption

  • Security based on an access-control list (ACL)

  • MQMail

  • Dependent client functionality

Transaction support is also limited to a single message transaction.

Queuing Scenarios

Here are some of the ways you can use message queuing on embedded devices:

  • An intermittently connected device A sends a message to another intermittently connected device B by means of a Windows NT routing server C. Messages are sent from A to B through an outgoing queue that points to C. When A connects to C, messages are moved to C and are held until B connects to C, after which they are delivered to B.

  • A device runs on a subnet that is protected by a firewall from a destination computer. A routing server bridges the firewall and delivers messages to a remote computer.

See Also