|
Have
you ever had a business associate call to say that they never received
the message you promised? If so, you probably searched through your archives
to verify that you actually sent the message and did not receive a return
error message. Once you verified that you did everything right, did you
begin to wonder where the message was, and whether it would ever make
it through the myriad of connections necessary to move the message from
your computer to your associate’s?
Using another means of communication, like a telephone call or a fax,
to verify receipt of electronic messages wastes time and energy. You can
encrypt your message for security, and affix a digital signature for identity-assurance,
but you can’t really ensure that it gets from your computer to the intended
recipient’s. There simply is no electronic mechanism available today that
will accurately verify receipt. In some cases, a delivery status notification
will tell you that your message arrived at its destination, but if you
don’t receive the notification, the status of the message remains ambiguous.
If you knew the path that the message took, message administrators could
verify its appearance on each of the messaging systems used along the
path. Even with the path information, however, tracking a message isn’t
easy. As a result, today’s businesses are demanding an easy-to-use tracking
system that retains both security and privacy.
E-mail and other forms
of electronic communication have become the backbone of today’s business-to-business
com-munications. A message transmission error has the potential to cause
disaster—a missed deadline, a miscommunication, lost business, or worse.
In Messaging in the Millennium: Support for Secure Electronic Com-merce
(published in the March/April 1999 issue of this magazine), Hammond and
Fisher noted that, to prevent these disas-ters, businesses are demanding
secure and reliable transfer of information from sender to recipient,
with the capability to verify that the transfer actually occurred.
To address these business needs, the Internet Engineering Task Force (IETF)
has been working on a document to define message tracking 1 . Their definition
of message tracking goes beyond tracing and proof of delivery. To increase
security, the definition requires an audit trail of origination, including
monitoring the performance of each transit messaging system, as well as
the quality of end-to-end service, including delivery time, message loop
detection, and performance characteristics. The definition also requires
a link between the distributed messaging systems and the dissimilar messaging
communities.
A Historical
Perspective
Message tracking wasn’t always this difficult. A little more than a decade
ago, most messaging systems were single servers running a single, proprietary
messaging application. Off-net messaging was rare and controllable, with
defined protocols used to ensure acknowledgement of deliveries between
messaging systems through a defined business and operating agreement.
While not easy, it was possible for the systems administrator to prove
delivery by reviewing message logs. As networks grew, messaging systems
multiplied. Businesses no longer needed a commercial mail system, because
they could run their own messaging systems. With the number of messaging
systems increasing, however, a single message no longer carried the tracks
of its entire jour-ney. The path a message took became difficult to find,
and nearly impossible to trace.
Current
Work on Message Tracking
Message tracking is the means for deter-mining the path that a message
object has taken, the current location of the message within its “life”
path, and any characteristics that have been assigned to the message over
the course of its path. The major hurdle in the development of an efficient
tracking mechanism is the distributed nature of both the servers and the
client. The server-side of the tracking mechanism must retain sufficient
information to obtain and report on the status of the message. The client-side
of the tracking mechanism must enable the user to efficiently access the
information.
The IETF Message Tracking Working Group (WG) is proposing to use a number
of standards (some existing and some to be written) to define how to best
accomplish message tracking. The WG will attempt to define a message-tracking
model, as well as a protocol design, to address this problem. Additional
working drafts that wrestle with many of the server and client issues
are forthcoming from this and other groups.
Message tracking is a particularly interesting problem for those involved
with directories. Directories in general, and metadirectories in particular,
have features that can solve many of the problems associated with message
tracking. In fact, metadirectories may be the ideal e-com-merce agent
to query the stored message information. Message Tracking By Steve Primost,
Fischer International Systems Corporation E-mail and other forms of electronic
communication have become the backbone of today’s business-to-business
communications. A message transmission error has the potential to cause
disaster—a missed deadline, a miscommunication, lost business, or worse.
24 Messaging Magazine November/December

A Quick
Review of “Metadirectory”2
A metadirectory extends the directory model of LDAP and X.500 to the “real
world” of globally distributed information, not only among organizations
but also among disparate database structures. It serves as a central clearinghouse
for access to corporate information, while providing security, integrity,
authentication, and authorization.
According to the Gartner Group, the directory model can be extended to
the “meta” model using the replication-based, information broker, or virtual
directory methods. While each of these methods may be relevant to message
tracking, the model proposed in this article specifically requires pointers
to information in other repositories, as in the information broker method,
in order to make the most efficient use of the directory.
Using
Metadirectories for Message Tracking
To explore the use of metadirectories for message tracking, we must first
model how the various message tracking functions are distributed between
the server-side and the client-side. Figure 1 graphically depicts how
messages and message tracking data would move between two computers in
this model.
Requirements
for Server-Side Handling of Message-Tracking Information
As illustrated in Figure 1, there are four general requirements for the
server-side of the model:
- As the
collection point for all of the information within its domain, the message
transfer agents (MTAs) must have the capability to store a substantial
amount of information (specifically, transactional states). The database
requirements are heavily “write-oriented,” with substantial scalability
issues. A distributed model best fits this requirement.
- While
most messaging traffic is point-to-point, the traffic of interest in
this discussion has a multiple-hop profile (i.e., interceding-relay
MTAs). The delivery status information must therefore contain link information,
including both forward and backward MTA addresses.
- The nature
of the data (which by definition assumes e-commerce importance) requires
guarantees regarding the security of the message, as well as the MTAs.
The server-side of the model must also provide confirmation regarding
the existence of the message, and even the existence of the MTA. As
a result, the server-side of the message tracking model must either
perform authentication before yielding information, or must allow trusted
agents to access the information.
- It is
difficult to impose further “quality of service” requirements within
a distributed messaging system for reporting status information. Each
MTA supplies information for which the service provider can, theoretically,
charge a premium. It is easiest, however, for the client’s service provider
to charge this fee directly to the client, even though the majority
of the work was done by servers outside its influence. How much information
is provided for what fee becomes a business decision for each service
provider.
Requirements
for Client-Side Handling of Message-Tracking Information In general,
we would all prefer not to have another piece of client software on the
desktop. If we have no choice, however, the soft-ware must be simple to
use and support, yet sufficiently distinct to be saleable as a “premium
service.” As illustrated in Figure 1, the client-side of the message-tracking
model has the following requirements:
- The client-side
of the message tracking model assumes that most user-friendly software
has an add-on for message tracking, similar to the add-on that Microsoft’s
Outlook 98 client uses for LDAP directory access.
- It seems
logical to reuse an existing protocol, or to agree to extensions of
an existing protocol that is downward compatible. At the very least,
the new protocol should be compatible with anything currently available
in the field.
- The protocol
selected for the client software used to access the information must
be independent of the protocol selected for use by the servers in building
the information.
- To keep
millions of copies of client software from becoming obsolete, it seems
logical to rely on some form of middleware to bridge existing software
to the message tracking software. In that capacity, the middleware would
serve as the “arbitrator” of what is expected of the client software
and what is required to access the desired information.
- To ensure
the security of information critical part of message tracking as previously
discussed), the client-side of the model should allow for authentication,
authoriza-tion, and delegation (trust). Ideally, this task should use
existing operational models.

An Example
of How A Metadirectory Can Be Of Use
To provide the necessary functions for message tracking, metadirectories
must have both a transaction service and an inquiry service in place.
The transaction acquisition service accumulates the necessary message-tracking
status information as transactions occur. The inquiry service provides
the status-response capability for message tracking status information.
Transaction
Acquisition Service
The metadirectory model assumes that each messaging domain maintains its
own data repository. Although we can use any access protocol, this model
also assumes that an agent using SMTP with extensions handles the transactions
between the MTA and its data repository. Figure 2 illustrates the components
used in this model.
The client and associated messaging software (shown as a laptop computer
in Figure 2), the originator of the message, submits a message object
to its registered MTA using SMTP protocol with extensions. A unique message
identifier (UMI), the address of the MTA, and security information is
returned to the client upon successful acceptance by the MTA. One basic
assumption of the model is that the address of the associated MTA contains
the address/port of the agent software that provides access to the message-tracking
information repository (MTIR). The client software can then enter the
information into the directory using LDAP according to the security rules
established by its rela-tionship with the directory.
The MTA (or its related MTAs within the client’s messaging domain) continues
to write transaction-related information to the MTIR as it passes through
its domain. One of the most important attributes of the transaction-related
information is the address of the “next MTA” or transit point (assuming
that the system allows message relay). An MTIR transaction record is written
at each MTA, and the security informa-tion is attached to each transaction-log
entry (most likely as an SMTP extension). As part of each transaction
record, the MTA adds the backward (previous hop) and forward (next hop)
MTAs to the message- tracking information. At the final destination, the
MTA also writes transaction-related information, as well as final-disposition
information once the message object is ultimately delivered (i.e., the
recipient retrieves the message).
Inquiry
Service
The client and associated messaging software (shown as a laptop in Figure
3) are allowed to track the progress or final disposition of a message
(administered by the service provider and class-of-service para-meter).
By visiting the directory, the client can choose a UMI. Most likely, the
UMI will consist of some human-intelligent identification such as the
subject line and intended recipient of the message.
Selecting the message causes the system to query the directory (using
an LDAP search) for attributes associated with the entry represented by
the UMI. The directory then retrieves this information on behalf of the
user through its facilities as an information broker.

- The initial
retrieval step yields a pointer to the first MTIR. The directory initiates
a query to the MTA on behalf of the client, using the security information
provided in the entry. The query returns the transaction-status information
at the initial state, as well as a pointer to the next MTA and the associated
MTIR.
- Retrieval
steps at each of the subsequent MTAs yield a pointer to the subsequent
MTIR as well as transaction-status information. Each retrieval is accompanied
by the related security information, which is provided by the directory
and verified by the MTA.
- The intended
recipient’s MTA and the final disposition information are found at the
end of the chain, and receipt of the disposition information ends the
string of queries.
It is up to the client software to either display the progress of the
queries as each messaging domain reports the status, or save the information
for display once the process is complete. The directory server should
accept and allow either behavior. The major error condition in this
model would arise if the message transited a mes-saging domain that
could not handle message tracking. The status-reply message would then
have to report the conditions of this failure, along with the conditions
of any other instance in which the directory failed to contact an information
repository. This would constitute “normal” error behavior by the information
broker.
Conclusions
This article outlines in broad strokes how the metadirectory could provide
a possible solution to the client-side of message tracking (i.e., inquiry
of the message status). The directory can easily provide the structure
and the common protocol to the client. The “meta” methodology provides
a means to manage both the process automation and the politics of information
ownership in a distributed environment.
The example presented shows only the use of SMTP with extensions as the
protocol to access the data repository. In the real world, the distributed
knowledge base across multiple enterprise platforms will be more complex,
and will need to handle other technologies as required by the diverse
configuration of other information repositories.
One of the most important demands of message tracking is the requirement
that the metadirectory must adequately protect information as it flows
through the chain of information repositories. One possible means to ensure
this protection is to use the security details contained within the tracking-status
information. In this scenario, each message includes a password or key
that could be used by a query to authenti-cate tracking. Only queries
carrying the appropriate key would be supplied information by the MTAs
in the transmission chain. In addition to providing this security, the
metadirectory backbone can provide the authentication service required
to protect the privacy of the information.
|