Team 3: Project Requirements

$Revision: 1.3 $
$Date: 2004/02/14 03:51:59 $

Project Requirements

  1. Baseline Application Features:

    1. SnB clients are invoked by standard Mail Transfer Agents (MTA), such as the Unix sendmail utility
    2. SnB will only process a single email message at a time from an MTA
    3. SnB clients send email messages to SnB servers for analysis
    4. SnB servers use SpamAssassin to analyze messages for spam likelihood
    5. SnB modifies messages to include the spam likelihood
    6. SnB returns modified messages to MTAs for delivery
    7. SnB servers must service requests from multiple SnB clients
    8. Message bodies may never be modified - only message headers
    9. SnB servers only accept messages from clients with valid/active customer accounts
    10. Customer accounts may be added/removed

  2. Reliability Requirements:

    1. Must offer uninterrupted service
    2. Failure of any SnB client will not interfere with service to other SnB clients
    3. SnB clients may re-send messages if communication with the SnB server is lost
    4. Customers are not charged for messages re-sent due communication failures

  3. Real-time Requirements:

    1. SnB will add no more than 5 seconds per msg to SpamAssassin processing
    2. Must work without significantly degrading the operation of the MTA
    3. If time cap of 5 seconds is exceeded, the original message is returned to MTA without further processing

  4. Performance Requirements:

    1. A single SnB server must service 100 messages per second
    2. SnB client requests are balanced across multiple SnB servers
    3. Must be scalable through the addition of more SnB servers