Patent Publication Number: US-5841982-A

Title: Method and system for testing the operation of an electronic mail switch

Description:
TECHNICAL FIELD 
     This invention relates to electronic mail switching applications and, more particularly, to methods and systems for testing the operation of an electronic mail switch. 
     BACKGROUND ART 
     Electronic mail (e-mail) involves sending a message from one computer account to another. It enables people to quickly communicate across vast distances. There are many different e-mail standards, developed for different types of networks, or large self-contained user communities such as commercial online services. There are a number of companies that have developed e-mail gateways, or switches, that will handle mail from many different e-mail packages, such as CCMail, MSMail, MHSMail and X.400 Mail, through many different post offices, i.e., a collection of depositories for users of the e-mail system. However, problems may arise in transferring an e-mail message having a first format to a recipient who utilizes a second format, or even the first format. That is, information in the e-mail message may be lost or restructured when it is transferred to the recipient through the e-mail switch. 
     Thus, there exists a need for testing the reformatting of the e-mail messages as they pass through the e-mail switch to multiple post offices either of the same type or of a different type. 
     DISCLOSURE OF THE INVENTION 
     It is a general object of the present invention to provide a method and system for testing the operation of an electronic mail switch. 
     The method disclosed herein includes the steps of generating a test message and forwarding the test message to an electronic mail switch to generate a received message. The method also includes the step of comparing the test message with the received message based on a plurality of comparison tests. Still further, the method includes the step of determining if there is an error in the operation of the electronic mail switch based on the comparison. 
     In carrying out the above-described method, a system is provided which includes means for generating a test message and forwarding the test message to the electronic mail switch to generate a received message. The system also includes means for comparing the test message with the received message based on a plurality of comparison tests. Still further, the system includes means for determining if there is an error in the operation of the electronic mail switch based on the comparison. 
     The above objects and other objects, features and advantages of the present invention are readily apparent from the following detailed description of the best mode for carrying out the invention when taken in connection with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the system of the present invention; and 
     FIG. 2 is a flow diagram illustrating the general sequence of steps associated with the operation of the present invention. 
    
    
     BEST MODES FOR CARRYING OUT THE INVENTION 
     Turning now to FIG. 1, there is shown a block diagram of the system of the present invention, denoted generally by reference numeral 10. The system 10 includes an electronic mail (e-mail) switch 12 for receiving e-mail messages from a first location and forwarding the e-mail messages to a second location, or destination. 
     The e-mail switch 12 is connected to a plurality of post offices 14a,14b,14c,14d which provide address information to the e-mail switch 12 for the various e-mail messages. Each of the post offices 14a,14b,14c,14d shown in FIG. 1 utilizes a different e-mail packages, such as cc:Mail, MS Mail, MHS Mail and X.400 Mail, respectively. The system 10 of the present invention is not limited to different e-mail packages or more than one e-mail package. The various different e-mail packages are shown for illustrative purposes only. 
     The system 10 further includes a testing driver 16, such as a processor, connected to each of the post offices 14 for transmitting and receiving an e-mail message and verifying the e-mail message is correct in form and content. The testing driver 16 reads data from a data file describing the e-mail message including priority, subject, author, recipient, carbon copy recipient, blind carbon copy recipient, main body, attachments and return receipt indication. After the e-mail message has been successfully sent, the testing driver 16 attempts to read the received message. If the message is received, the testing driver 16 verifies that all parts exist and are correct, i.e., all parts are the same as the sent message. The testing driver 16 then forwards or replies to the e-mail message based on corresponding flags in the data file. Return receipts are validated in a like manner. 
     Turning now to FIG. 2, there is shown a flow diagram illustrating the sequence of steps associated with the operation of the present invention. The testing driver 16 first generates a test message, as shown at block 20. A typical e-mail message may have several parts to it, such as priority, subject, author, recipient, carbon copy recipient, blind carbon copy recipient, main body, attachments and return receipt. The test message may include any combination of these parts. The test message may also be configured for receipt by the same mail package or by different mail packages. 
     The test message is then forwarded to the e-mail switch 12 via the post office 14 corresponding to the configuration of the test message, as shown at block 22. The e-mail switch 12 then forwards the test message to the appropriate post office 14, as shown at block 24. The test message sent to the post office 14 via the e-mail switch 12 corresponds to a received message which is transmitted to the testing driver 16, as shown at block 26. 
     The testing driver 16 then compares the test message with the received message according to a plurality of comparison tests, as shown at block 28. The plurality of comparison tests include a two-pass checksum performed on the main body of the test message and the received message. The first checksum pass is a strict checksum that determines a check number based on every single character in the main body of the messages. The second checksum pass is a loose checksum that ignores any special characters such as color, text style, formatting, spaces and new lines. 
     Consider the example in which the test message read as follows: 
     Hello, it is so good to hear from you. 
     and the received message read: 
     Hello, it is so good to hear from you. 
     The first checksum pass would identify the characters responsible for the bold face type on the word &#34;so&#34; and the new line character after the word &#34;hear&#34;. The first checksum pass would determine a different check number for the test message than the check number determined for the received message, which doesn&#39;t have those characters. Thus, an error would be flagged since it appears that the e-mail switch 12 garbled the message and lost part of the main body. However, the second checksum pass ignores the special characters and generates the same check numbers for both the test message and the received message. 
     The plurality of comparison tests also include a comparison of the address of the test message with the address of the received message. An address typically comprises the following: 
     
         ______________________________________                                    
        DOMAIN     DOMAIN                                                 
        GROUP      ELEMENT   NATIVE                                       
DOMAIN  NAME       NAME      ADDRESS                                      
______________________________________                                    
MSMAIL  ANYTHING   AGinther  IACTMSM2/IACTMSM2/                           
                             AGINTHER                                     
MHS     ATMHS      CMOLBY    CMOLBY@USWMHS                                
MHS     ATMHS      JGRAHAM   JGRAHAM@USWMHS                               
MHS     ATMS       JSMITH    JSMITH@USWMHS                                
MHS     ATMS       RADHA     RADHA@USWMHS                                 
CCMAIL  BOULDER    tremote   test remote at iactccm1                      
______________________________________                                    
 
    
     where the first column &#34;Domain&#34; indicates which application the user has an account with in terms of e-mail type only. The actual post office is determined with the &#34;Domain Group Name&#34; column. The &#34;Domain Group Name&#34; and the &#34;Domain Element Name&#34; describes the e-mail address as used by the e-mail switch 12. The final column &#34;Native Address&#34; is the address for the mailbox of the e-mail application. The &#34;Native Address&#34; is used to send and receive mail from testing driver 16. Thus, the testing driver 16 uses vendor-supplied utilities for transmitting and receiving messages. In comparing the address of the test message with the address of the received message, the testing driver 16 first converts the &#34;Native Address&#34; of each of the messages into a corresponding common format. The common format is represented as the domain group name and the domain element name separated by a period, i.e., &#34;Domain Group Name. Domain Element Name.&#34; The comparison is then made based on the common format of the messages. 
     Another comparison performed includes a comparison of the priorities of the test message and received message. The priority system is different on each e-mail application. For example, one e-mail application may use a system of 1 to 5 to indicate priority, while another e-mail application may use U (urgent) and N (normal) or any other similar classifications. A priority error exception file is utilized to cross-reference acceptable priority classifications between the different e-mail applications. For example, &#34;Priority, CCMAIL, 1, MSMAIL, U&#34; indicates that the CCMAIL priority of &#34;1&#34; corresponds to the MSMAIL priority of &#34;U&#34;. 
     Still further, a comparison of the subject matter of the test message and the received message is performed. The subject matter of an e-mail message is typically inserted into a subject line. The subject lines of the test message and the received message are compared letter for letter. No loose comparison for the subject line is allowed. 
     Another comparison between the test message and the received message includes the comparison of the list of addressees, or recipients. There may be some e-mail applications that do not support blind carbon copy (bcc) recipients, and the e-mail switch 12 may simply change the bcc recipients to carbon copy (cc) recipients. In this case, the testing driver 16 will indicate an error in the transmission of the test message. If this type of error is not desirable, an addressee, or recipient error exception file may be created, such as the following: 
     Recipient, CCMAIL, BCC, MHS, CC, 
     indicating that an error is not to be flagged if a bcc recipient in CCMAIL is received as a cc recipient in MHS. 
     Finally, after completion of all the comparison tests, the testing driver 16 determines if an error has occurred in transferring the test message through the e-mail switch 12, as shown at block 30. The testing driver 16, thus, serves to test the operation of the e-mail switch 12. 
     Test messages are typically developed which involve rather complex messaging. For instance, a typical test message may include sending a message through the system 10, receiving the message, sending a reply, sending a return receipt, forwarding the message, receiving the reply, receiving the return receipt and receiving the forwarded message. Every time the message is received, it is checked for accuracy and acceptability. Therefore, the only time the operation of the e-mail switch 12 is checked is when the e-mail message is received. Lack of receiving a message is also checked and reported. 
     While the best modes for carrying out the invention have been described in detail, those familiar with the art to which this invention relates will recognize various alternative designs and embodiments for practicing the invention as defined by the following claims.