Team 3: Project Requirements
$Revision: 1.3 $
$Date: 2004/02/14 03:51:59 $
Project Requirements
Baseline Application Features:
SnB clients are invoked by standard Mail Transfer Agents (MTA), such as the Unix sendmail utility
SnB will only process a single email message at a time from an MTA
SnB clients send email messages to SnB servers for analysis
SnB servers use SpamAssassin to analyze messages for spam likelihood
SnB modifies messages to include the spam likelihood
SnB returns modified messages to MTAs for delivery
SnB servers must service requests from multiple SnB clients
Message bodies may never be modified - only message headers
SnB servers only accept messages from clients with valid/active customer accounts
Customer accounts may be added/removed
Reliability Requirements:
Must offer uninterrupted service
Failure of any SnB client will not interfere with service to other SnB clients
SnB clients may re-send messages if communication with the SnB server is lost
Customers are not charged for messages re-sent due communication failures
Real-time Requirements:
SnB will add no more than 5 seconds per msg to SpamAssassin processing
Must work without significantly degrading the operation of the MTA
If time cap of 5 seconds is exceeded, the original message is returned to MTA without further processing
Performance Requirements:
A single SnB server must service 100 messages per second
SnB client requests are balanced across multiple SnB servers
Must be scalable through the addition of more SnB servers